summaryrefslogtreecommitdiffstats
path: root/include/osmocom/gsm
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2017-05-11 15:38:10 +0200
committerHarald Welte <laforge@gnumonks.org>2017-05-14 08:51:26 +0000
commit91dd219b99336f519ac9e9f5bb13df4627550e47 (patch)
tree1dc0c2d6de8f795802bf42913986b745f9ba74ec /include/osmocom/gsm
parent6959e3c1101f59968825d144ade1d53116f538ba (diff)
Make EARFCN size calculation more robust
* add osmo_earfcn_bit_size_ext() function which allows to specify how many EARFCNs we should skip when estimating required bit size for SI2quater * make old osmo_earfcn_bit_size() into wrapper over newly added function and mark it as deprecated This is necessary to properly estimate necessary space for EARFCNs when they are spread over several SI2q messages with different index. Change-Id: I92e12e91605bdab9916a3f665705287572434f74 Related: RT#8792
Diffstat (limited to 'include/osmocom/gsm')
-rw-r--r--include/osmocom/gsm/sysinfo.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/osmocom/gsm/sysinfo.h b/include/osmocom/gsm/sysinfo.h
index c7972f48..f3e0f22f 100644
--- a/include/osmocom/gsm/sysinfo.h
+++ b/include/osmocom/gsm/sysinfo.h
@@ -1,6 +1,8 @@
#pragma once
#include <stdbool.h>
+
+#include <osmocom/core/defs.h>
#include <osmocom/core/utils.h>
#include <osmocom/gsm/protocol/gsm_04_08.h>
@@ -66,7 +68,8 @@ typedef uint8_t sysinfo_buf_t[GSM_MACBLOCK_LEN];
extern const struct value_string osmo_sitype_strs[_MAX_SYSINFO_TYPE];
int osmo_earfcn_add(struct osmo_earfcn_si2q *e, uint16_t arfcn, uint8_t meas_bw);
int osmo_earfcn_del(struct osmo_earfcn_si2q *e, uint16_t arfcn);
-size_t osmo_earfcn_bit_size(const struct osmo_earfcn_si2q *e);
+size_t osmo_earfcn_bit_size(const struct osmo_earfcn_si2q *e) OSMO_DEPRECATED("Use osmo_earfcn_bit_size_ext()instead.");
+size_t osmo_earfcn_bit_size_ext(const struct osmo_earfcn_si2q *e, size_t offset);
void osmo_earfcn_init(struct osmo_earfcn_si2q *e);
uint8_t osmo_sitype2rsl(enum osmo_sysinfo_type si_type);
enum osmo_sysinfo_type osmo_rsl2sitype(uint8_t rsl_si);