diff options
Diffstat (limited to 'openbsc/include')
-rw-r--r-- | openbsc/include/openbsc/abis_nm.h | 4 | ||||
-rw-r--r-- | openbsc/include/openbsc/gsm_data.h | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/openbsc/include/openbsc/abis_nm.h b/openbsc/include/openbsc/abis_nm.h index d6469c466..81b4eda61 100644 --- a/openbsc/include/openbsc/abis_nm.h +++ b/openbsc/include/openbsc/abis_nm.h @@ -719,6 +719,8 @@ struct ipac_bcch_info { u_int8_t ca_list_si1[16]; }; +extern const struct tlv_definition nm_att_tlvdef; + /* PUBLIC */ struct msgb; @@ -733,7 +735,7 @@ struct abis_nm_cfg { extern int abis_nm_rcvmsg(struct msgb *msg); -int abis_nm_tlv_parse(struct tlv_parsed *tp, const u_int8_t *buf, int len); +int abis_nm_tlv_parse(struct tlv_parsed *tp, struct gsm_bts *bts, const u_int8_t *buf, int len); int abis_nm_rx(struct msgb *msg); int abis_nm_opstart(struct gsm_bts *bts, u_int8_t obj_class, u_int8_t i0, u_int8_t i1, u_int8_t i2); int abis_nm_chg_adm_state(struct gsm_bts *bts, u_int8_t obj_class, u_int8_t i0, diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h index 573ce5fb7..5567d89bd 100644 --- a/openbsc/include/openbsc/gsm_data.h +++ b/openbsc/include/openbsc/gsm_data.h @@ -335,6 +335,15 @@ enum gsm_bts_type { GSM_BTS_TYPE_NANOBTS, }; +struct gsm_bts_model { + struct llist_head list; + + enum gsm_bts_type type; + const char *name; + + struct tlv_definition nm_att_tlvdef; +}; + /** * A pending paging request */ @@ -402,6 +411,7 @@ struct gsm_bts { u_int8_t bsic; /* type of BTS */ enum gsm_bts_type type; + struct gsm_bts_model *model; enum gsm_band band; /* should the channel allocator allocate channels from high TRX to TRX0, * rather than starting from TRX0 and go upwards? */ @@ -619,7 +629,7 @@ struct gsm_network *gsm_network_init(u_int16_t country_code, u_int16_t network_c struct gsm_bts *gsm_bts_alloc(struct gsm_network *net, enum gsm_bts_type type, u_int8_t tsc, u_int8_t bsic); struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts); -void gsm_set_bts_type(struct gsm_bts *bts, enum gsm_bts_type type); +int gsm_set_bts_type(struct gsm_bts *bts, enum gsm_bts_type type); struct gsm_bts *gsm_bts_num(struct gsm_network *net, int num); |