diff options
Diffstat (limited to 'include/openbsc/abis_om2000.h')
-rw-r--r-- | include/openbsc/abis_om2000.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/include/openbsc/abis_om2000.h b/include/openbsc/abis_om2000.h index e4f19cf9c..2ff72705b 100644 --- a/include/openbsc/abis_om2000.h +++ b/include/openbsc/abis_om2000.h @@ -34,6 +34,13 @@ enum abis_om2k_mo_cls { OM2K_MO_CLS_RX = 0x0c, }; +enum om2k_mo_state { + OM2K_MO_S_RESET = 0, + OM2K_MO_S_STARTED, + OM2K_MO_S_ENABLED, + OM2K_MO_S_DISABLED, +}; + struct abis_om2k_mo { uint8_t class; uint8_t bts; @@ -41,12 +48,26 @@ struct abis_om2k_mo { uint8_t inst; } __attribute__ ((packed)); +/* on-wire format for IS conn group */ struct om2k_is_conn_grp { uint16_t icp1; uint16_t icp2; uint8_t cont_idx; } __attribute__ ((packed)); +/* internal data formant for IS conn group */ +struct is_conn_group { + struct llist_head list; + uint16_t icp1; + uint16_t icp2; + uint8_t ci; +}; + +extern const struct abis_om2k_mo om2k_mo_cf; +extern const struct abis_om2k_mo om2k_mo_is; +extern const struct abis_om2k_mo om2k_mo_con; +extern const struct abis_om2k_mo om2k_mo_tf; + extern const struct value_string om2k_mo_class_short_vals[]; int abis_om2k_rcvmsg(struct msgb *msg); @@ -63,8 +84,7 @@ int abis_om2k_tx_disable_req(struct gsm_bts *bts, const struct abis_om2k_mo *mo) int abis_om2k_tx_test_req(struct gsm_bts *bts, const struct abis_om2k_mo *mo); int abis_om2k_tx_op_info(struct gsm_bts *bts, const struct abis_om2k_mo *mo, uint8_t operational); -int abis_om2k_tx_is_conf_req(struct gsm_bts *bts, struct om2k_is_conn_grp *cg, - unsigned int num_cg); +int abis_om2k_tx_is_conf_req(struct gsm_bts *bts); int abis_om2k_tx_tf_conf_req(struct gsm_bts *bts); int abis_om2k_tx_rx_conf_req(struct gsm_bts_trx *trx); int abis_om2k_tx_tx_conf_req(struct gsm_bts_trx *trx); |