aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libbsc/abis_om2000.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/src/libbsc/abis_om2000.c')
-rw-r--r--openbsc/src/libbsc/abis_om2000.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/openbsc/src/libbsc/abis_om2000.c b/openbsc/src/libbsc/abis_om2000.c
index aeac87614..33374127a 100644
--- a/openbsc/src/libbsc/abis_om2000.c
+++ b/openbsc/src/libbsc/abis_om2000.c
@@ -190,6 +190,13 @@ enum abis_om2k_msgtype {
OM2K_MSGT_TX_CONF_RES_NACK = 0x00b5,
OM2K_MSGT_TX_CONF_RES = 0x00b6,
+ OM2K_MSGT_CAPA_REQ = 0x00e8,
+ OM2K_MSGT_CAPA_REQ_ACK = 0x00ea,
+ OM2K_MSGT_CAPA_REQ_REJ = 0x00eb,
+ OM2K_MSGT_CAPA_RES = 0x00ee,
+ OM2K_MSGT_CAPA_RES_ACK = 0x00ec,
+ OM2K_MSGT_CAPA_RES_NACK = 0x00ed,
+
OM2K_MSGT_NEGOT_REQ_ACK = 0x0104,
OM2K_MSGT_NEGOT_REQ_NACK = 0x0105,
OM2K_MSGT_NEGOT_REQ = 0x0106,
@@ -1067,6 +1074,11 @@ int abis_om2k_tx_op_info(struct gsm_bts *bts, const struct abis_om2k_mo *mo,
return abis_om2k_sendmsg(bts, msg);
}
+int abis_om2k_tx_cap_req(struct gsm_bts *bts, const struct abis_om2k_mo *mo)
+{
+ return abis_om2k_tx_simple(bts, mo, OM2K_MSGT_CAPA_REQ);
+}
+
static void om2k_fill_is_conn_grp(struct om2k_is_conn_grp *grp, uint16_t icp1,
uint16_t icp2, uint8_t cont_idx)
{
@@ -2439,6 +2451,9 @@ int abis_om2k_rcvmsg(struct msgb *msg)
case OM2K_MSGT_TEST_RES:
rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_TEST_RES_ACK);
break;
+ case OM2K_MSGT_CAPA_RES:
+ rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_CAPA_RES_ACK);
+ break;
/* ERrors */
case OM2K_MSGT_START_REQ_REJ:
case OM2K_MSGT_CONNECT_REJ: