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 */