diff options
author | Max <msuraev@sysmocom.de> | 2017-05-12 17:00:30 +0200 |
---|---|---|
committer | Max <msuraev@sysmocom.de> | 2017-05-15 13:11:48 +0000 |
commit | f39d03ad21d8120af847603d9b2ead71b8c4ba43 (patch) | |
tree | c684ad88060f40d0df224cbe9aac7897fd936652 /openbsc/include/openbsc/system_information.h | |
parent | 1ebf23b7fe631dbafcc2dc4a1e8a8beced4ecc0d (diff) |
Restructure SI2quater generation
In preparation for extended SI2q messages:
* add SI2q-specific accessor macro
* add *_offset variables to gsm_bts struct
* internalize memory check while generating rest octets - introduce
budget concept (number of bits available in a given message)
* internalize *arfcn_size() functions as they are not needed outside of
si2q_num() anymore
* change rest octets generation to work with gsm_bts struct directly
* do not generate rest octets if no SI2q is necessary
* adjust unit tests accordingly (cosmetic changes only to avoid
regressions)
Requires: I92e12e91605bdab9916a3f665705287572434f74 in libosmocore
Change-Id: Ib554cf7ffc949a321571e1ae2ada1160e1b35fa6
Related: RT#8792
Diffstat (limited to 'openbsc/include/openbsc/system_information.h')
-rw-r--r-- | openbsc/include/openbsc/system_information.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/openbsc/include/openbsc/system_information.h b/openbsc/include/openbsc/system_information.h index b012107b5..21016b8c6 100644 --- a/openbsc/include/openbsc/system_information.h +++ b/openbsc/include/openbsc/system_information.h @@ -8,13 +8,12 @@ struct gsm_bts; int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type type); -unsigned uarfcn_size(const uint16_t *u, const uint16_t *sc, size_t u_len); -unsigned earfcn_size(const struct osmo_earfcn_si2q *e); +size_t si2q_earfcn_count(const struct osmo_earfcn_si2q *e); unsigned range1024_p(unsigned n); unsigned range512_q(unsigned m); int range_encode(enum gsm48_range r, int *arfcns, int arfcns_used, int *w, int f0, uint8_t *chan_list); -uint8_t si2q_num(const struct gsm_bts *bts); +uint8_t si2q_num(struct gsm_bts *bts); int bts_uarfcn_del(struct gsm_bts *bts, uint16_t arfcn, uint16_t scramble); int bts_uarfcn_add(struct gsm_bts *bts, uint16_t arfcn, uint16_t scramble, bool diversity); |