aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2016-01-20 12:14:55 +0100
committerJacob Erlbeck <jerlbeck@sysmocom.de>2016-02-08 00:45:36 +0100
commit0df80be95e3604656ff36024f793ef3c36455051 (patch)
tree80708d4ceac12fd6eb356e82307b7c17b5730a7f
parentacf66fb45612888c1eac3f03707a2928103fb1f3 (diff)
rlc: Add decode_gsm_ra_cap to decode Radio Access Caps
This uses the CSN.1 decoder to fully parse the radio access capabilities as defined by TS 24.008, 10.5.5.12a. Sponsored-by: On-Waves ehf
-rw-r--r--src/gsm_rlcmac.cpp8
-rw-r--r--src/gsm_rlcmac.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp
index 44bc5e13..6b43aa6d 100644
--- a/src/gsm_rlcmac.cpp
+++ b/src/gsm_rlcmac.cpp
@@ -5509,3 +5509,11 @@ void encode_gsm_rlcmac_downlink_data(bitvec * vector, RlcMacDownlinkDataBlock_t
LOGPC(DRLCMACDATA, LOGL_NOTICE, "\n");
}
}
+
+void decode_gsm_ra_cap(bitvec * vector, MS_Radio_Access_capability_t *data)
+{
+ csnStream_t ar;
+ unsigned readIndex = 0;
+ csnStreamInit(&ar, 0, 8 * vector->data_len);
+ /*ret =*/ csnStreamDecoder(&ar, CSNDESCR(MS_Radio_Access_capability_t), vector, readIndex, data);
+}
diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h
index 49c596dc..8f4039c5 100644
--- a/src/gsm_rlcmac.h
+++ b/src/gsm_rlcmac.h
@@ -5136,4 +5136,5 @@ typedef struct
void encode_gsm_rlcmac_uplink(bitvec * vector, RlcMacUplink_t * data);
void decode_gsm_rlcmac_uplink_data(bitvec * vector, RlcMacUplinkDataBlock_t * data);
void encode_gsm_rlcmac_downlink_data(bitvec * vector, RlcMacDownlinkDataBlock_t * data);
+ void decode_gsm_ra_cap(bitvec * vector, MS_Radio_Access_capability_t * data);
#endif /* __PACKET_GSM_RLCMAC_H__ */