ranap: Add custom ranap_decode_rab_setupormodifieditemies() function
diff --git a/include/osmocom/ranap/ranap_common.h b/include/osmocom/ranap/ranap_common.h
index b7682e5..459afe7 100644
--- a/include/osmocom/ranap/ranap_common.h
+++ b/include/osmocom/ranap/ranap_common.h
@@ -589,6 +589,8 @@
 
 #include <osmocom/core/logging.h>
 #include <osmocom/core/utils.h>
+#include <osmocom/ranap/ranap_ies_defs.h>
+
 
 #define RANAP_DEBUG(x, args ...) DEBUGP(_ranap_DRANAP, x, ## args)
 extern int _ranap_DRANAP;
@@ -635,3 +637,8 @@
 
 int ranap_parse_lai(struct gprs_ra_id *ra_id, const RANAP_LAI_t *lai);
 int ranap_ip_from_transp_layer_addr(const BIT_STRING_t *in, uint32_t *ip);
+
+/* The generated version does not work, this is a custom one */
+int ranap_decode_rab_setupormodifieditemies_fromlist(
+    RANAP_RAB_SetupOrModifiedItemIEs_t *raB_SetupOrModifiedItemIEs,
+    ANY_t *any_p);
diff --git a/src/ranap_common.c b/src/ranap_common.c
index f2fdf9d..7cbf1f9 100644
--- a/src/ranap_common.c
+++ b/src/ranap_common.c
@@ -540,3 +540,28 @@
 	return 0;
 
 }
+
+int ranap_decode_rab_setupormodifieditemies_fromlist(
+		RANAP_RAB_SetupOrModifiedItemIEs_t *raB_SetupOrModifiedItemIEs,
+		ANY_t *any_p) {
+
+	RANAP_RAB_SetupOrModifiedItem_t *ranaP_RABSetupOrModifiedItem_p = NULL;
+	int decoded = 0;
+	assert(any_p != NULL);
+	assert(raB_SetupOrModifiedItemIEs != NULL);
+
+	memset(raB_SetupOrModifiedItemIEs, 0, sizeof(RANAP_RAB_SetupOrModifiedItemIEs_t));
+	RANAP_DEBUG("Decoding message RANAP_RAB_SetupOrModifiedItemIEs (%s:%d)\n", __FILE__, __LINE__);
+	decoded = ANY_to_type_aper(any_p, &asn_DEF_RANAP_RAB_SetupOrModifiedItem, (void**)&ranaP_RABSetupOrModifiedItem_p);
+	if (decoded < 0) {
+		RANAP_DEBUG("Decoding of IE raB_SetupOrModifiedItem failed\n");
+		return -1;
+	}
+	if (asn1_xer_print)
+		xer_fprint(stdout, &asn_DEF_RANAP_RAB_SetupOrModifiedItem, ranaP_RABSetupOrModifiedItem_p);
+	memcpy(&raB_SetupOrModifiedItemIEs->raB_SetupOrModifiedItem, ranaP_RABSetupOrModifiedItem_p, sizeof(RANAP_RAB_SetupOrModifiedItem_t));
+	FREEMEM(ranaP_RABSetupOrModifiedItem_p);
+
+	return decoded;
+}
+