aboutsummaryrefslogtreecommitdiffstats
path: root/include/openbsc/abis_om2000.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/openbsc/abis_om2000.h')
-rw-r--r--include/openbsc/abis_om2000.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/include/openbsc/abis_om2000.h b/include/openbsc/abis_om2000.h
index e4f19cf9..2ff72705 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);