Move SI-related defines
* move SI2quater related defines to shared header * add define from OsmoBTS which checks for presence of a given SI message in gsm_bts struct. Rename it to avoid conflicts with OsmoBTS code and to match naming conventions of similar macros. Change-Id: I11432c93c772d1ead6d45a7bb0f1d13d492c82f1 Related: OS#1660
This commit is contained in:
parent
a60bb3dd28
commit
9b97b007df
|
@ -26,6 +26,12 @@
|
|||
|
||||
#include <openbsc/common_cs.h>
|
||||
|
||||
/* 16 is the max. number of SI2quater messages according to 3GPP TS 44.018: 4-bit index is used (2#1111 = 10#15) */
|
||||
#define SI2Q_MAX_NUM 16
|
||||
/* length in bits (for single SI2quater message) */
|
||||
#define SI2Q_MAX_LEN 160
|
||||
#define SI2Q_MIN_LEN 18
|
||||
|
||||
struct osmo_bsc_data;
|
||||
|
||||
struct osmo_bsc_sccp_con;
|
||||
|
@ -486,6 +492,7 @@ struct gsm_bts_trx {
|
|||
};
|
||||
|
||||
#define GSM_BTS_SI2Q(bts) (struct gsm48_system_information_type_2quater *)((bts)->si_buf[SYSINFO_TYPE_2quater])
|
||||
#define GSM_BTS_HAS_SI(bts, i) ((bts)->si_valid & (1 << i))
|
||||
#define GSM_BTS_SI(bts, i) (void *)((bts)->si_buf[i])
|
||||
#define GSM_LCHAN_SI(lchan, i) (void *)((lchan)->si.buf[i])
|
||||
|
||||
|
|
|
@ -5,12 +5,6 @@
|
|||
#include <openbsc/gsm_04_08.h>
|
||||
#include <osmocom/gsm/sysinfo.h>
|
||||
|
||||
/* 16 is the max. number of SI2quater messages according to 3GPP TS 44.018: 4-bit index is used */
|
||||
#define SI2Q_MAX_NUM 16
|
||||
/* length in bits (for single SI2quater message) */
|
||||
#define SI2Q_MAX_LEN 160
|
||||
#define SI2Q_MIN_LEN 18
|
||||
|
||||
/* generate SI1 rest octets */
|
||||
int rest_octets_si1(uint8_t *data, uint8_t *nch_pos, int is1800_net);
|
||||
int rest_octets_si2quater(uint8_t *data, struct gsm_bts *bts);
|
||||
|
|
|
@ -186,7 +186,7 @@ int gsm_bts_trx_set_system_infos(struct gsm_bts_trx *trx)
|
|||
|
||||
for (n = 0; n < n_si; n++) {
|
||||
i = gen_si[n];
|
||||
if (!(bts->si_valid & (1 << i)))
|
||||
if (!GSM_BTS_HAS_SI(bts, i))
|
||||
continue;
|
||||
rc = rsl_si(trx, i, si_len[i]);
|
||||
if (rc < 0)
|
||||
|
|
|
@ -774,13 +774,13 @@ static int generate_si3(enum osmo_sysinfo_type t, struct gsm_bts *bts)
|
|||
/* allow/disallow DTXu */
|
||||
gsm48_set_dtx(&si3->cell_options, bts->dtxu, bts->dtxu, true);
|
||||
|
||||
if ((bts->si_valid & (1 << SYSINFO_TYPE_2ter))) {
|
||||
if (GSM_BTS_HAS_SI(bts, SYSINFO_TYPE_2ter)) {
|
||||
LOGP(DRR, LOGL_INFO, "SI 2ter is included.\n");
|
||||
si_info.si2ter_indicator = 1;
|
||||
} else {
|
||||
si_info.si2ter_indicator = 0;
|
||||
}
|
||||
if ((bts->si_valid & (1 << SYSINFO_TYPE_2quater))) {
|
||||
if (GSM_BTS_HAS_SI(bts, SYSINFO_TYPE_2quater)) {
|
||||
LOGP(DRR, LOGL_INFO, "SI 2quater is included, based on %zu EARFCNs and %zu UARFCNs.\n",
|
||||
si2q_earfcn_count(&bts->si_common.si2quater_neigh_list), bts->si_common.uarfcn_length);
|
||||
si_info.si2quater_indicator = 1;
|
||||
|
|
|
@ -105,7 +105,7 @@ static inline void gen(struct gsm_bts *bts, const char *s)
|
|||
r = gsm_generate_si(bts, SYSINFO_TYPE_2quater);
|
||||
if (r > 0)
|
||||
printf("generated %s SI2quater [%02u/%02u]: [%d] %s\n",
|
||||
(bts->si_valid & (1 << SYSINFO_TYPE_2quater)) ? "valid" : "invalid",
|
||||
GSM_BTS_HAS_SI(bts, SYSINFO_TYPE_2quater) ? "valid" : "invalid",
|
||||
bts->si2q_index, bts->si2q_count, r,
|
||||
osmo_hexdump((void *)GSM_BTS_SI2Q(bts), GSM_MACBLOCK_LEN));
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue