aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2020-12-23 20:33:54 +0100
committerPhilipp Maier <pmaier@sysmocom.de>2021-01-06 18:33:42 +0100
commitcea0c30507bd5aae9418d65ed4a3e71623608b11 (patch)
tree9c4169fa6c1a9a6b9bd17a99380b57dbbf1965f4 /include/osmocom
parent9584cd718a033f31bf7d8ee1b58c57dfbd5fd28e (diff)
gsm_08_18: add struct to parse RIM PDU Indications
3GPP TS 48.018, section 11.3.65 describes an IE to transfer some control flags via a RIM container. The IE is essentially just a bitfield, so it can be parsed by overlaying it with a C-struct. Lets add an appropiate struct to protocol/gsm_08_18.h Change-Id: I781ab838bd02ac1b13d384ce3f4259e26cedb61e Related: SYS#5103
Diffstat (limited to 'include/osmocom')
-rw-r--r--include/osmocom/gprs/protocol/gsm_08_18.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/osmocom/gprs/protocol/gsm_08_18.h b/include/osmocom/gprs/protocol/gsm_08_18.h
index 466b0c51..c10c2442 100644
--- a/include/osmocom/gprs/protocol/gsm_08_18.h
+++ b/include/osmocom/gprs/protocol/gsm_08_18.h
@@ -349,3 +349,25 @@ enum bssgp_fc_granularity {
BSSGP_FC_GRAN_10000 = 2,
BSSGP_FC_GRAN_100000 = 3,
};
+
+/* RAN-INFORMATION-REQUEST PDU Type Extension
+ * 3GPP TS 48.018, table 11.3.65.1 */
+enum bssgp_rim_pdu_type {
+ RIM_PDU_TYPE_STOP = 0,
+ RIM_PDU_TYPE_SING_REP = 1,
+ RIM_PDU_TYPE_MULT_REP = 2,
+};
+
+/* RIM PDU Indications
+ * 3GPP TS 48.018, section 11.3.65.0 */
+struct bssgp_rim_pdu_ind {
+#if OSMO_IS_BIG_ENDIAN
+ uint8_t reserved:4,
+ pdu_type_ext:3,
+ ack_requested:1;
+#elif OSMO_IS_LITTLE_ENDIAN
+ uint8_t ack_requested:1,
+ pdu_type_ext:3,
+ reserved:4;
+#endif
+} __attribute__ ((packed));