RSL: Add enum + TLV definitions for ip.access style embedded IEs
diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h
index 3f01a92..530bbc8 100644
--- a/include/osmocom/gsm/protocol/gsm_08_58.h
+++ b/include/osmocom/gsm/protocol/gsm_08_58.h
@@ -577,4 +577,29 @@
RSL_REL_LOCAL_END = 1,
};
+/*! \brief ip.access specific embedded information elements */
+enum rsl_ipac_embedded_ie {
+ RSL_IPAC_EIE_RXLEV = 0x00,
+ RSL_IPAC_EIE_RXQUAL = 0x01,
+ RSL_IPAC_EIE_FREQ_ERR = 0x02,
+ RSL_IPAC_EIE_TIMING_ERR = 0x03,
+ RSL_IPAC_EIE_MEAS_AVG_CFG = 0x04,
+ RSL_IPAC_EIE_BS_PWR_CTL = 0x05,
+ RSL_IPAC_EIE_MS_PWR_CTL = 0x06,
+ RSL_IPAC_EIE_HANDO_THRESH = 0x07,
+ RSL_IPAC_EIE_NCELL_DEFAULTS = 0x08,
+ RSL_IPAC_EIE_NCELL_LIST = 0x09,
+ RSL_IPAC_EIE_PC_THRESH_COMP = 0x0a,
+ RSL_IPAC_EIE_HO_THRESH_COMP = 0x0b,
+ RSL_IPAC_EIE_HO_CAUSE = 0x0c,
+ RSL_IPAC_EIE_HO_CANDIDATES = 0x0d,
+ RSL_IPAC_EIE_NCELL_BA_CHG_LIST = 0x0e,
+ RSL_IPAC_EIE_NUM_OF_MS = 0x10,
+ RSL_IPAC_EIE_HO_CAND_EXT = 0x11,
+ RSL_IPAC_EIE_NCELL_DEF_EXT = 0x12,
+ RSL_IPAC_EIE_NCELL_LIST_EXT = 0x13,
+ RSL_IPAC_EIE_MASTER_KEY = 0x14,
+ RSL_IPAC_EIE_MASTER_SALT = 0x15,
+};
+
/*! @} */
diff --git a/include/osmocom/gsm/rsl.h b/include/osmocom/gsm/rsl.h
index 753dd19..418e3f0 100644
--- a/include/osmocom/gsm/rsl.h
+++ b/include/osmocom/gsm/rsl.h
@@ -21,6 +21,12 @@
#define rsl_tlv_parse(dec, buf, len) \
tlv_parse(dec, &rsl_att_tlvdef, buf, len, 0, 0)
+extern const struct tlv_definition rsl_ipac_eie_tlvdef;
+
+/*! \brief Parse RSL IPAC EIE TLV structure using \ref tlv_parse */
+#define rsl_ipac_eie_tlv_parse(dec, buf, len) \
+ tlv_parse(dec, &rsl_ipac_eie_tlvdef, buf, len, 0, 0)
+
/* encode channel number as per Section 9.3.1 */
uint8_t rsl_enc_chan_nr(uint8_t type, uint8_t subch, uint8_t timeslot);
/* decode channel number as per Section 9.3.1 */