E2AP and E2SM-RC version upgrade to E2aP v.2.0 and E2SM-RC to v1.0.1
Signed-off-by: rajalakshmisv <rajalakshmisv@gmail.com>
Change-Id: I241726da02e3aea69f3cc3e127a47455b778c1e6
diff --git a/e2sm/lib/AMF-UE-NGAP-ID.c b/e2sm/lib/AMF-UE-NGAP-ID.c
new file mode 100644
index 0000000..403bacf
--- /dev/null
+++ b/e2sm/lib/AMF-UE-NGAP-ID.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "AMF-UE-NGAP-ID.h"
+
+int
+AMF_UE_NGAP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const INTEGER_t *st = (const INTEGER_t *)sptr;
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if(asn_INTEGER2long(st, &value)) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value too large (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if((value >= 0 && value <= 1099511627775)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using INTEGER,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_AMF_UE_NGAP_ID_constr_1 CC_NOTUSED = {
+ { 8, 1 } /* (0..1099511627775) */,
+ -1};
+asn_per_constraints_t asn_PER_type_AMF_UE_NGAP_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED, 40, -1, 0, 1099511627775 } /* (0..1099511627775) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_AMF_UE_NGAP_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AMF_UE_NGAP_ID = {
+ "AMF-UE-NGAP-ID",
+ "AMF-UE-NGAP-ID",
+ &asn_OP_INTEGER,
+ asn_DEF_AMF_UE_NGAP_ID_tags_1,
+ sizeof(asn_DEF_AMF_UE_NGAP_ID_tags_1)
+ /sizeof(asn_DEF_AMF_UE_NGAP_ID_tags_1[0]), /* 1 */
+ asn_DEF_AMF_UE_NGAP_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_AMF_UE_NGAP_ID_tags_1)
+ /sizeof(asn_DEF_AMF_UE_NGAP_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_AMF_UE_NGAP_ID_constr_1, &asn_PER_type_AMF_UE_NGAP_ID_constr_1, AMF_UE_NGAP_ID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/AMFPointer.c b/e2sm/lib/AMFPointer.c
new file mode 100644
index 0000000..70592cd
--- /dev/null
+++ b/e2sm/lib/AMFPointer.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "AMFPointer.h"
+
+int
+AMFPointer_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if(st->size > 0) {
+ /* Size in bits */
+ size = 8 * st->size - (st->bits_unused & 0x07);
+ } else {
+ size = 0;
+ }
+
+ if((size == 6)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using BIT_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_AMFPointer_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 6 /* (SIZE(6..6)) */};
+asn_per_constraints_t asn_PER_type_AMFPointer_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 6, 6 } /* (SIZE(6..6)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_AMFPointer_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AMFPointer = {
+ "AMFPointer",
+ "AMFPointer",
+ &asn_OP_BIT_STRING,
+ asn_DEF_AMFPointer_tags_1,
+ sizeof(asn_DEF_AMFPointer_tags_1)
+ /sizeof(asn_DEF_AMFPointer_tags_1[0]), /* 1 */
+ asn_DEF_AMFPointer_tags_1, /* Same as above */
+ sizeof(asn_DEF_AMFPointer_tags_1)
+ /sizeof(asn_DEF_AMFPointer_tags_1[0]), /* 1 */
+ { &asn_OER_type_AMFPointer_constr_1, &asn_PER_type_AMFPointer_constr_1, AMFPointer_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_BIT_STRING_specs /* Additional specs */
+};
+
diff --git a/e2sm/lib/AMFRegionID.c b/e2sm/lib/AMFRegionID.c
new file mode 100644
index 0000000..f686a27
--- /dev/null
+++ b/e2sm/lib/AMFRegionID.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "AMFRegionID.h"
+
+int
+AMFRegionID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if(st->size > 0) {
+ /* Size in bits */
+ size = 8 * st->size - (st->bits_unused & 0x07);
+ } else {
+ size = 0;
+ }
+
+ if((size == 8)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using BIT_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_AMFRegionID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 8 /* (SIZE(8..8)) */};
+asn_per_constraints_t asn_PER_type_AMFRegionID_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_AMFRegionID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AMFRegionID = {
+ "AMFRegionID",
+ "AMFRegionID",
+ &asn_OP_BIT_STRING,
+ asn_DEF_AMFRegionID_tags_1,
+ sizeof(asn_DEF_AMFRegionID_tags_1)
+ /sizeof(asn_DEF_AMFRegionID_tags_1[0]), /* 1 */
+ asn_DEF_AMFRegionID_tags_1, /* Same as above */
+ sizeof(asn_DEF_AMFRegionID_tags_1)
+ /sizeof(asn_DEF_AMFRegionID_tags_1[0]), /* 1 */
+ { &asn_OER_type_AMFRegionID_constr_1, &asn_PER_type_AMFRegionID_constr_1, AMFRegionID_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_BIT_STRING_specs /* Additional specs */
+};
+
diff --git a/e2sm/lib/AMFSetID.c b/e2sm/lib/AMFSetID.c
new file mode 100644
index 0000000..797bdba
--- /dev/null
+++ b/e2sm/lib/AMFSetID.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "AMFSetID.h"
+
+int
+AMFSetID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if(st->size > 0) {
+ /* Size in bits */
+ size = 8 * st->size - (st->bits_unused & 0x07);
+ } else {
+ size = 0;
+ }
+
+ if((size == 10)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using BIT_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_AMFSetID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 10 /* (SIZE(10..10)) */};
+asn_per_constraints_t asn_PER_type_AMFSetID_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 10, 10 } /* (SIZE(10..10)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_AMFSetID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AMFSetID = {
+ "AMFSetID",
+ "AMFSetID",
+ &asn_OP_BIT_STRING,
+ asn_DEF_AMFSetID_tags_1,
+ sizeof(asn_DEF_AMFSetID_tags_1)
+ /sizeof(asn_DEF_AMFSetID_tags_1[0]), /* 1 */
+ asn_DEF_AMFSetID_tags_1, /* Same as above */
+ sizeof(asn_DEF_AMFSetID_tags_1)
+ /sizeof(asn_DEF_AMFSetID_tags_1[0]), /* 1 */
+ { &asn_OER_type_AMFSetID_constr_1, &asn_PER_type_AMFSetID_constr_1, AMFSetID_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_BIT_STRING_specs /* Additional specs */
+};
+
diff --git a/e2sm/lib/CGI.c b/e2sm/lib/CGI.c
new file mode 100644
index 0000000..a0f0d66
--- /dev/null
+++ b/e2sm/lib/CGI.c
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CGI.h"
+
+#include "NR-CGI.h"
+#include "EUTRA-CGI.h"
+static asn_oer_constraints_t asn_OER_type_CGI_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_CGI_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_CGI_1[] = {
+ { ATF_POINTER, 0, offsetof(struct CGI, choice.nR_CGI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NR_CGI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nR-CGI"
+ },
+ { ATF_POINTER, 0, offsetof(struct CGI, choice.eUTRA_CGI),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EUTRA_CGI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eUTRA-CGI"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_CGI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nR-CGI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eUTRA-CGI */
+};
+asn_CHOICE_specifics_t asn_SPC_CGI_specs_1 = {
+ sizeof(struct CGI),
+ offsetof(struct CGI, _asn_ctx),
+ offsetof(struct CGI, present),
+ sizeof(((struct CGI *)0)->present),
+ asn_MAP_CGI_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_CGI = {
+ "CGI",
+ "CGI",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_CGI_constr_1, &asn_PER_type_CGI_constr_1, CHOICE_constraint },
+ asn_MBR_CGI_1,
+ 2, /* Elements count */
+ &asn_SPC_CGI_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/CSI-RS-Index.c b/e2sm/lib/CSI-RS-Index.c
deleted file mode 100644
index 327aeb9..0000000
--- a/e2sm/lib/CSI-RS-Index.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "CSI-RS-Index.h"
-
-int
-CSI_RS_Index_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 95)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_CSI_RS_Index_constr_1 CC_NOTUSED = {
- { 1, 1 } /* (0..95) */,
- -1};
-asn_per_constraints_t asn_PER_type_CSI_RS_Index_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 7, 7, 0, 95 } /* (0..95) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_CSI_RS_Index_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_CSI_RS_Index = {
- "CSI-RS-Index",
- "CSI-RS-Index",
- &asn_OP_NativeInteger,
- asn_DEF_CSI_RS_Index_tags_1,
- sizeof(asn_DEF_CSI_RS_Index_tags_1)
- /sizeof(asn_DEF_CSI_RS_Index_tags_1[0]), /* 1 */
- asn_DEF_CSI_RS_Index_tags_1, /* Same as above */
- sizeof(asn_DEF_CSI_RS_Index_tags_1)
- /sizeof(asn_DEF_CSI_RS_Index_tags_1[0]), /* 1 */
- { &asn_OER_type_CSI_RS_Index_constr_1, &asn_PER_type_CSI_RS_Index_constr_1, CSI_RS_Index_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/CUUPMeasurement-Container.c b/e2sm/lib/CUUPMeasurement-Container.c
deleted file mode 100644
index 0e768d8..0000000
--- a/e2sm/lib/CUUPMeasurement-Container.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "CUUPMeasurement-Container.h"
-
-#include "PlmnID-Item.h"
-static int
-memb_plmnList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 12)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_plmnList_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..12)) */};
-static asn_per_constraints_t asn_PER_type_plmnList_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 4, 4, 1, 12 } /* (SIZE(1..12)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_plmnList_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..12)) */};
-static asn_per_constraints_t asn_PER_memb_plmnList_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 4, 4, 1, 12 } /* (SIZE(1..12)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_plmnList_2[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_PlmnID_Item,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_plmnList_tags_2[] = {
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_plmnList_specs_2 = {
- sizeof(struct CUUPMeasurement_Container__plmnList),
- offsetof(struct CUUPMeasurement_Container__plmnList, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_plmnList_2 = {
- "plmnList",
- "plmnList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_plmnList_tags_2,
- sizeof(asn_DEF_plmnList_tags_2)
- /sizeof(asn_DEF_plmnList_tags_2[0]) - 1, /* 1 */
- asn_DEF_plmnList_tags_2, /* Same as above */
- sizeof(asn_DEF_plmnList_tags_2)
- /sizeof(asn_DEF_plmnList_tags_2[0]), /* 2 */
- { &asn_OER_type_plmnList_constr_2, &asn_PER_type_plmnList_constr_2, SEQUENCE_OF_constraint },
- asn_MBR_plmnList_2,
- 1, /* Single element */
- &asn_SPC_plmnList_specs_2 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_CUUPMeasurement_Container_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct CUUPMeasurement_Container, plmnList),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- 0,
- &asn_DEF_plmnList_2,
- 0,
- { &asn_OER_memb_plmnList_constr_2, &asn_PER_memb_plmnList_constr_2, memb_plmnList_constraint_1 },
- 0, 0, /* No default value */
- "plmnList"
- },
-};
-static const ber_tlv_tag_t asn_DEF_CUUPMeasurement_Container_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_CUUPMeasurement_Container_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* plmnList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_CUUPMeasurement_Container_specs_1 = {
- sizeof(struct CUUPMeasurement_Container),
- offsetof(struct CUUPMeasurement_Container, _asn_ctx),
- asn_MAP_CUUPMeasurement_Container_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_CUUPMeasurement_Container = {
- "CUUPMeasurement-Container",
- "CUUPMeasurement-Container",
- &asn_OP_SEQUENCE,
- asn_DEF_CUUPMeasurement_Container_tags_1,
- sizeof(asn_DEF_CUUPMeasurement_Container_tags_1)
- /sizeof(asn_DEF_CUUPMeasurement_Container_tags_1[0]), /* 1 */
- asn_DEF_CUUPMeasurement_Container_tags_1, /* Same as above */
- sizeof(asn_DEF_CUUPMeasurement_Container_tags_1)
- /sizeof(asn_DEF_CUUPMeasurement_Container_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_CUUPMeasurement_Container_1,
- 1, /* Elements count */
- &asn_SPC_CUUPMeasurement_Container_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/CallProcessBreakpoint-RANParameter-Item.c b/e2sm/lib/CallProcessBreakpoint-RANParameter-Item.c
new file mode 100644
index 0000000..4825bb7
--- /dev/null
+++ b/e2sm/lib/CallProcessBreakpoint-RANParameter-Item.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CallProcessBreakpoint-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_CallProcessBreakpoint_RANParameter_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct CallProcessBreakpoint_RANParameter_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CallProcessBreakpoint_RANParameter_Item, ranParameter_name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-name"
+ },
+ { ATF_POINTER, 1, offsetof(struct CallProcessBreakpoint_RANParameter_Item, ranParameter_Definition),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Definition"
+ },
+};
+static const int asn_MAP_CallProcessBreakpoint_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_CallProcessBreakpoint_RANParameter_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_CallProcessBreakpoint_RANParameter_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_CallProcessBreakpoint_RANParameter_Item_specs_1 = {
+ sizeof(struct CallProcessBreakpoint_RANParameter_Item),
+ offsetof(struct CallProcessBreakpoint_RANParameter_Item, _asn_ctx),
+ asn_MAP_CallProcessBreakpoint_RANParameter_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_CallProcessBreakpoint_RANParameter_Item_oms_1, /* Optional members */
+ 0, 1, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_CallProcessBreakpoint_RANParameter_Item = {
+ "CallProcessBreakpoint-RANParameter-Item",
+ "CallProcessBreakpoint-RANParameter-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_CallProcessBreakpoint_RANParameter_Item_tags_1,
+ sizeof(asn_DEF_CallProcessBreakpoint_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_CallProcessBreakpoint_RANParameter_Item_tags_1[0]), /* 1 */
+ asn_DEF_CallProcessBreakpoint_RANParameter_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_CallProcessBreakpoint_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_CallProcessBreakpoint_RANParameter_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_CallProcessBreakpoint_RANParameter_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_CallProcessBreakpoint_RANParameter_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/CellIdentification-RANParameter-Item.c b/e2sm/lib/CellIdentification-RANParameter-Item.c
new file mode 100644
index 0000000..8c6f787
--- /dev/null
+++ b/e2sm/lib/CellIdentification-RANParameter-Item.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CellIdentification-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_CellIdentification_RANParameter_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct CellIdentification_RANParameter_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CellIdentification_RANParameter_Item, ranParameter_name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-name"
+ },
+ { ATF_POINTER, 1, offsetof(struct CellIdentification_RANParameter_Item, ranParameter_Definition),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Definition"
+ },
+};
+static const int asn_MAP_CellIdentification_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_CellIdentification_RANParameter_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_CellIdentification_RANParameter_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_CellIdentification_RANParameter_Item_specs_1 = {
+ sizeof(struct CellIdentification_RANParameter_Item),
+ offsetof(struct CellIdentification_RANParameter_Item, _asn_ctx),
+ asn_MAP_CellIdentification_RANParameter_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_CellIdentification_RANParameter_Item_oms_1, /* Optional members */
+ 0, 1, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_CellIdentification_RANParameter_Item = {
+ "CellIdentification-RANParameter-Item",
+ "CellIdentification-RANParameter-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_CellIdentification_RANParameter_Item_tags_1,
+ sizeof(asn_DEF_CellIdentification_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_CellIdentification_RANParameter_Item_tags_1[0]), /* 1 */
+ asn_DEF_CellIdentification_RANParameter_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_CellIdentification_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_CellIdentification_RANParameter_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_CellIdentification_RANParameter_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_CellIdentification_RANParameter_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/CellObjectID.c b/e2sm/lib/CellObjectID.c
deleted file mode 100644
index b6da12b..0000000
--- a/e2sm/lib/CellObjectID.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "CellObjectID.h"
-
-static const int permitted_alphabet_table_1[256] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
- 1, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 5, 6, 7, 8, 9, /* . '() +,-./ */
-10,11,12,13,14,15,16,17,18,19,20, 0, 0,21, 0,22, /* 0123456789: = ? */
- 0,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37, /* ABCDEFGHIJKLMNO */
-38,39,40,41,42,43,44,45,46,47,48, 0, 0, 0, 0, 0, /* PQRSTUVWXYZ */
- 0,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, /* abcdefghijklmno */
-64,65,66,67,68,69,70,71,72,73,74, 0, 0, 0, 0, 0, /* pqrstuvwxyz */
-};
-static const int permitted_alphabet_code2value_1[74] = {
-32,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,
-55,56,57,58,61,63,65,66,67,68,69,70,71,72,73,74,
-75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
-97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,
-113,114,115,116,117,118,119,120,121,122,};
-
-
-static int check_permitted_alphabet_1(const void *sptr) {
- const int *table = permitted_alphabet_table_1;
- /* The underlying type is PrintableString */
- const PrintableString_t *st = (const PrintableString_t *)sptr;
- const uint8_t *ch = st->buf;
- const uint8_t *end = ch + st->size;
-
- for(; ch < end; ch++) {
- uint8_t cv = *ch;
- if(!table[cv]) return -1;
- }
- return 0;
-}
-
-int
-CellObjectID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const PrintableString_t *st = (const PrintableString_t *)sptr;
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- size = st->size;
-
- if((size <= 400)
- && !check_permitted_alphabet_1(st)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int asn_PER_MAP_CellObjectID_1_v2c(unsigned int value) {
- if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
- return -1;
- return permitted_alphabet_table_1[value] - 1;
-}
-static int asn_PER_MAP_CellObjectID_1_c2v(unsigned int code) {
- if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
- return -1;
- return permitted_alphabet_code2value_1[code];
-}
-/*
- * This type is implemented using PrintableString,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_CellObjectID_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(0..MAX)) */};
-asn_per_constraints_t asn_PER_type_CellObjectID_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 7, 7, 32, 122 } /* (32..122) */,
- { APC_CONSTRAINED | APC_EXTENSIBLE, 9, 9, 0, 400 } /* (SIZE(0..400,...)) */,
- asn_PER_MAP_CellObjectID_1_v2c, /* Value to PER code map */
- asn_PER_MAP_CellObjectID_1_c2v /* PER code to value map */
-};
-static const ber_tlv_tag_t asn_DEF_CellObjectID_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_CellObjectID = {
- "CellObjectID",
- "CellObjectID",
- &asn_OP_PrintableString,
- asn_DEF_CellObjectID_tags_1,
- sizeof(asn_DEF_CellObjectID_tags_1)
- /sizeof(asn_DEF_CellObjectID_tags_1[0]), /* 1 */
- asn_DEF_CellObjectID_tags_1, /* Same as above */
- sizeof(asn_DEF_CellObjectID_tags_1)
- /sizeof(asn_DEF_CellObjectID_tags_1[0]), /* 1 */
- { &asn_OER_type_CellObjectID_constr_1, &asn_PER_type_CellObjectID_constr_1, CellObjectID_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/CellResourceReportListItem.c b/e2sm/lib/CellResourceReportListItem.c
deleted file mode 100644
index a7ce4ae..0000000
--- a/e2sm/lib/CellResourceReportListItem.c
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "CellResourceReportListItem.h"
-
-#include "ServedPlmnPerCellListItem.h"
-static int
-memb_dl_TotalofAvailablePRBs_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 273)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int
-memb_ul_TotalofAvailablePRBs_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 273)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int
-memb_servedPlmnPerCellList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 12)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_servedPlmnPerCellList_constr_5 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..12)) */};
-static asn_per_constraints_t asn_PER_type_servedPlmnPerCellList_constr_5 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 4, 4, 1, 12 } /* (SIZE(1..12)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_dl_TotalofAvailablePRBs_constr_3 CC_NOTUSED = {
- { 2, 1 } /* (0..273) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_dl_TotalofAvailablePRBs_constr_3 CC_NOTUSED = {
- { APC_CONSTRAINED, 9, 9, 0, 273 } /* (0..273) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ul_TotalofAvailablePRBs_constr_4 CC_NOTUSED = {
- { 2, 1 } /* (0..273) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_ul_TotalofAvailablePRBs_constr_4 CC_NOTUSED = {
- { APC_CONSTRAINED, 9, 9, 0, 273 } /* (0..273) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_servedPlmnPerCellList_constr_5 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..12)) */};
-static asn_per_constraints_t asn_PER_memb_servedPlmnPerCellList_constr_5 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 4, 4, 1, 12 } /* (SIZE(1..12)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_servedPlmnPerCellList_5[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_ServedPlmnPerCellListItem,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_servedPlmnPerCellList_tags_5[] = {
- (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_servedPlmnPerCellList_specs_5 = {
- sizeof(struct CellResourceReportListItem__servedPlmnPerCellList),
- offsetof(struct CellResourceReportListItem__servedPlmnPerCellList, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_servedPlmnPerCellList_5 = {
- "servedPlmnPerCellList",
- "servedPlmnPerCellList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_servedPlmnPerCellList_tags_5,
- sizeof(asn_DEF_servedPlmnPerCellList_tags_5)
- /sizeof(asn_DEF_servedPlmnPerCellList_tags_5[0]) - 1, /* 1 */
- asn_DEF_servedPlmnPerCellList_tags_5, /* Same as above */
- sizeof(asn_DEF_servedPlmnPerCellList_tags_5)
- /sizeof(asn_DEF_servedPlmnPerCellList_tags_5[0]), /* 2 */
- { &asn_OER_type_servedPlmnPerCellList_constr_5, &asn_PER_type_servedPlmnPerCellList_constr_5, SEQUENCE_OF_constraint },
- asn_MBR_servedPlmnPerCellList_5,
- 1, /* Single element */
- &asn_SPC_servedPlmnPerCellList_specs_5 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_CellResourceReportListItem_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct CellResourceReportListItem, nRCGI),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_NRCGI,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "nRCGI"
- },
- { ATF_POINTER, 2, offsetof(struct CellResourceReportListItem, dl_TotalofAvailablePRBs),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_NativeInteger,
- 0,
- { &asn_OER_memb_dl_TotalofAvailablePRBs_constr_3, &asn_PER_memb_dl_TotalofAvailablePRBs_constr_3, memb_dl_TotalofAvailablePRBs_constraint_1 },
- 0, 0, /* No default value */
- "dl-TotalofAvailablePRBs"
- },
- { ATF_POINTER, 1, offsetof(struct CellResourceReportListItem, ul_TotalofAvailablePRBs),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_NativeInteger,
- 0,
- { &asn_OER_memb_ul_TotalofAvailablePRBs_constr_4, &asn_PER_memb_ul_TotalofAvailablePRBs_constr_4, memb_ul_TotalofAvailablePRBs_constraint_1 },
- 0, 0, /* No default value */
- "ul-TotalofAvailablePRBs"
- },
- { ATF_NOFLAGS, 0, offsetof(struct CellResourceReportListItem, servedPlmnPerCellList),
- (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
- 0,
- &asn_DEF_servedPlmnPerCellList_5,
- 0,
- { &asn_OER_memb_servedPlmnPerCellList_constr_5, &asn_PER_memb_servedPlmnPerCellList_constr_5, memb_servedPlmnPerCellList_constraint_1 },
- 0, 0, /* No default value */
- "servedPlmnPerCellList"
- },
-};
-static const int asn_MAP_CellResourceReportListItem_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_CellResourceReportListItem_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_CellResourceReportListItem_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nRCGI */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dl-TotalofAvailablePRBs */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ul-TotalofAvailablePRBs */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* servedPlmnPerCellList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_CellResourceReportListItem_specs_1 = {
- sizeof(struct CellResourceReportListItem),
- offsetof(struct CellResourceReportListItem, _asn_ctx),
- asn_MAP_CellResourceReportListItem_tag2el_1,
- 4, /* Count of tags in the map */
- asn_MAP_CellResourceReportListItem_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 4, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_CellResourceReportListItem = {
- "CellResourceReportListItem",
- "CellResourceReportListItem",
- &asn_OP_SEQUENCE,
- asn_DEF_CellResourceReportListItem_tags_1,
- sizeof(asn_DEF_CellResourceReportListItem_tags_1)
- /sizeof(asn_DEF_CellResourceReportListItem_tags_1[0]), /* 1 */
- asn_DEF_CellResourceReportListItem_tags_1, /* Same as above */
- sizeof(asn_DEF_CellResourceReportListItem_tags_1)
- /sizeof(asn_DEF_CellResourceReportListItem_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_CellResourceReportListItem_1,
- 4, /* Elements count */
- &asn_SPC_CellResourceReportListItem_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/ControlAction-RANParameter-Item.c b/e2sm/lib/ControlAction-RANParameter-Item.c
new file mode 100644
index 0000000..c9cca4f
--- /dev/null
+++ b/e2sm/lib/ControlAction-RANParameter-Item.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "ControlAction-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_ControlAction_RANParameter_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct ControlAction_RANParameter_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct ControlAction_RANParameter_Item, ranParameter_name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-name"
+ },
+ { ATF_POINTER, 1, offsetof(struct ControlAction_RANParameter_Item, ranParameter_Definition),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Definition"
+ },
+};
+static const int asn_MAP_ControlAction_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_ControlAction_RANParameter_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_ControlAction_RANParameter_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_ControlAction_RANParameter_Item_specs_1 = {
+ sizeof(struct ControlAction_RANParameter_Item),
+ offsetof(struct ControlAction_RANParameter_Item, _asn_ctx),
+ asn_MAP_ControlAction_RANParameter_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_ControlAction_RANParameter_Item_oms_1, /* Optional members */
+ 0, 1, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_ControlAction_RANParameter_Item = {
+ "ControlAction-RANParameter-Item",
+ "ControlAction-RANParameter-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ControlAction_RANParameter_Item_tags_1,
+ sizeof(asn_DEF_ControlAction_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_ControlAction_RANParameter_Item_tags_1[0]), /* 1 */
+ asn_DEF_ControlAction_RANParameter_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_ControlAction_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_ControlAction_RANParameter_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_ControlAction_RANParameter_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_ControlAction_RANParameter_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/ControlOutcome-RANParameter-Item.c b/e2sm/lib/ControlOutcome-RANParameter-Item.c
new file mode 100644
index 0000000..30a3ff8
--- /dev/null
+++ b/e2sm/lib/ControlOutcome-RANParameter-Item.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "ControlOutcome-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_ControlOutcome_RANParameter_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct ControlOutcome_RANParameter_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct ControlOutcome_RANParameter_Item, ranParameter_name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-name"
+ },
+ { ATF_POINTER, 1, offsetof(struct ControlOutcome_RANParameter_Item, ranParameter_Definition),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Definition"
+ },
+};
+static const int asn_MAP_ControlOutcome_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_ControlOutcome_RANParameter_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_ControlOutcome_RANParameter_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_ControlOutcome_RANParameter_Item_specs_1 = {
+ sizeof(struct ControlOutcome_RANParameter_Item),
+ offsetof(struct ControlOutcome_RANParameter_Item, _asn_ctx),
+ asn_MAP_ControlOutcome_RANParameter_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_ControlOutcome_RANParameter_Item_oms_1, /* Optional members */
+ 0, 1, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_ControlOutcome_RANParameter_Item = {
+ "ControlOutcome-RANParameter-Item",
+ "ControlOutcome-RANParameter-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ControlOutcome_RANParameter_Item_tags_1,
+ sizeof(asn_DEF_ControlOutcome_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_ControlOutcome_RANParameter_Item_tags_1[0]), /* 1 */
+ asn_DEF_ControlOutcome_RANParameter_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_ControlOutcome_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_ControlOutcome_RANParameter_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_ControlOutcome_RANParameter_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_ControlOutcome_RANParameter_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/CoreCPID.c b/e2sm/lib/CoreCPID.c
new file mode 100644
index 0000000..1a5c8d4
--- /dev/null
+++ b/e2sm/lib/CoreCPID.c
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CoreCPID.h"
+
+#include "GUAMI.h"
+#include "GUMMEI.h"
+static asn_oer_constraints_t asn_OER_type_CoreCPID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_CoreCPID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_CoreCPID_1[] = {
+ { ATF_POINTER, 0, offsetof(struct CoreCPID, choice.fiveGC),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GUAMI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "fiveGC"
+ },
+ { ATF_POINTER, 0, offsetof(struct CoreCPID, choice.ePC),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GUMMEI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ePC"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_CoreCPID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fiveGC */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ePC */
+};
+static asn_CHOICE_specifics_t asn_SPC_CoreCPID_specs_1 = {
+ sizeof(struct CoreCPID),
+ offsetof(struct CoreCPID, _asn_ctx),
+ offsetof(struct CoreCPID, present),
+ sizeof(((struct CoreCPID *)0)->present),
+ asn_MAP_CoreCPID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_CoreCPID = {
+ "CoreCPID",
+ "CoreCPID",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_CoreCPID_constr_1, &asn_PER_type_CoreCPID_constr_1, CHOICE_constraint },
+ asn_MBR_CoreCPID_1,
+ 2, /* Elements count */
+ &asn_SPC_CoreCPID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/Criticality.c b/e2sm/lib/Criticality.c
deleted file mode 100644
index 7f57c68..0000000
--- a/e2sm/lib/Criticality.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "Criticality.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_Criticality_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_type_Criticality_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_Criticality_value2enum_1[] = {
- { 0, 6, "reject" },
- { 1, 6, "ignore" },
- { 2, 6, "notify" }
-};
-static const unsigned int asn_MAP_Criticality_enum2value_1[] = {
- 1, /* ignore(1) */
- 2, /* notify(2) */
- 0 /* reject(0) */
-};
-static const asn_INTEGER_specifics_t asn_SPC_Criticality_specs_1 = {
- asn_MAP_Criticality_value2enum_1, /* "tag" => N; sorted by tag */
- asn_MAP_Criticality_enum2value_1, /* N => "tag"; sorted by N */
- 3, /* Number of elements in the maps */
- 0, /* Enumeration is not extensible */
- 1, /* Strict enumeration */
- 0, /* Native long size */
- 0
-};
-static const ber_tlv_tag_t asn_DEF_Criticality_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_Criticality = {
- "Criticality",
- "Criticality",
- &asn_OP_NativeEnumerated,
- asn_DEF_Criticality_tags_1,
- sizeof(asn_DEF_Criticality_tags_1)
- /sizeof(asn_DEF_Criticality_tags_1[0]), /* 1 */
- asn_DEF_Criticality_tags_1, /* Same as above */
- sizeof(asn_DEF_Criticality_tags_1)
- /sizeof(asn_DEF_Criticality_tags_1[0]), /* 1 */
- { &asn_OER_type_Criticality_constr_1, &asn_PER_type_Criticality_constr_1, NativeEnumerated_constraint },
- 0, 0, /* Defined elsewhere */
- &asn_SPC_Criticality_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/E-UTRA-ARFCN.c b/e2sm/lib/E-UTRA-ARFCN.c
new file mode 100644
index 0000000..6fa8a7e
--- /dev/null
+++ b/e2sm/lib/E-UTRA-ARFCN.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E-UTRA-ARFCN.h"
+
+int
+E_UTRA_ARFCN_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 65535)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_E_UTRA_ARFCN_constr_1 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+asn_per_constraints_t asn_PER_type_E_UTRA_ARFCN_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_E_UTRA_ARFCN_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_E_UTRA_ARFCN = {
+ "E-UTRA-ARFCN",
+ "E-UTRA-ARFCN",
+ &asn_OP_NativeInteger,
+ asn_DEF_E_UTRA_ARFCN_tags_1,
+ sizeof(asn_DEF_E_UTRA_ARFCN_tags_1)
+ /sizeof(asn_DEF_E_UTRA_ARFCN_tags_1[0]), /* 1 */
+ asn_DEF_E_UTRA_ARFCN_tags_1, /* Same as above */
+ sizeof(asn_DEF_E_UTRA_ARFCN_tags_1)
+ /sizeof(asn_DEF_E_UTRA_ARFCN_tags_1[0]), /* 1 */
+ { &asn_OER_type_E_UTRA_ARFCN_constr_1, &asn_PER_type_E_UTRA_ARFCN_constr_1, E_UTRA_ARFCN_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/E-UTRA-PCI.c b/e2sm/lib/E-UTRA-PCI.c
new file mode 100644
index 0000000..4d9f07d
--- /dev/null
+++ b/e2sm/lib/E-UTRA-PCI.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E-UTRA-PCI.h"
+
+int
+E_UTRA_PCI_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 503)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_E_UTRA_PCI_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_E_UTRA_PCI_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 9, 9, 0, 503 } /* (0..503,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_E_UTRA_PCI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_E_UTRA_PCI = {
+ "E-UTRA-PCI",
+ "E-UTRA-PCI",
+ &asn_OP_NativeInteger,
+ asn_DEF_E_UTRA_PCI_tags_1,
+ sizeof(asn_DEF_E_UTRA_PCI_tags_1)
+ /sizeof(asn_DEF_E_UTRA_PCI_tags_1[0]), /* 1 */
+ asn_DEF_E_UTRA_PCI_tags_1, /* Same as above */
+ sizeof(asn_DEF_E_UTRA_PCI_tags_1)
+ /sizeof(asn_DEF_E_UTRA_PCI_tags_1[0]), /* 1 */
+ { &asn_OER_type_E_UTRA_PCI_constr_1, &asn_PER_type_E_UTRA_PCI_constr_1, E_UTRA_PCI_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/E-UTRA-TAC.c b/e2sm/lib/E-UTRA-TAC.c
new file mode 100644
index 0000000..55ad809
--- /dev/null
+++ b/e2sm/lib/E-UTRA-TAC.c
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E-UTRA-TAC.h"
+
+int
+E_UTRA_TAC_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size == 2)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_E_UTRA_TAC_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 2 /* (SIZE(2..2)) */};
+asn_per_constraints_t asn_PER_type_E_UTRA_TAC_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_E_UTRA_TAC_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_E_UTRA_TAC = {
+ "E-UTRA-TAC",
+ "E-UTRA-TAC",
+ &asn_OP_OCTET_STRING,
+ asn_DEF_E_UTRA_TAC_tags_1,
+ sizeof(asn_DEF_E_UTRA_TAC_tags_1)
+ /sizeof(asn_DEF_E_UTRA_TAC_tags_1[0]), /* 1 */
+ asn_DEF_E_UTRA_TAC_tags_1, /* Same as above */
+ sizeof(asn_DEF_E_UTRA_TAC_tags_1)
+ /sizeof(asn_DEF_E_UTRA_TAC_tags_1[0]), /* 1 */
+ { &asn_OER_type_E_UTRA_TAC_constr_1, &asn_PER_type_E_UTRA_TAC_constr_1, E_UTRA_TAC_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_OCTET_STRING_specs /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-KPM-ActionDefinition-Format1.c b/e2sm/lib/E2SM-KPM-ActionDefinition-Format1.c
deleted file mode 100644
index 5d94a4d..0000000
--- a/e2sm/lib/E2SM-KPM-ActionDefinition-Format1.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-ActionDefinition-Format1.h"
-
-asn_TYPE_member_t asn_MBR_E2SM_KPM_ActionDefinition_Format1_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition_Format1, cellObjID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_CellObjectID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "cellObjID"
- },
- { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition_Format1, measInfoList),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_MeasurementInfoList,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "measInfoList"
- },
-};
-static const ber_tlv_tag_t asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_ActionDefinition_Format1_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellObjID */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measInfoList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_ActionDefinition_Format1_specs_1 = {
- sizeof(struct E2SM_KPM_ActionDefinition_Format1),
- offsetof(struct E2SM_KPM_ActionDefinition_Format1, _asn_ctx),
- asn_MAP_E2SM_KPM_ActionDefinition_Format1_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_ActionDefinition_Format1 = {
- "E2SM-KPM-ActionDefinition-Format1",
- "E2SM-KPM-ActionDefinition-Format1",
- &asn_OP_SEQUENCE,
- asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1,
- sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1)
- /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1[0]), /* 1 */
- asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1, /* Same as above */
- sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1)
- /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_E2SM_KPM_ActionDefinition_Format1_1,
- 2, /* Elements count */
- &asn_SPC_E2SM_KPM_ActionDefinition_Format1_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-ActionDefinition.c b/e2sm/lib/E2SM-KPM-ActionDefinition.c
deleted file mode 100644
index 1566aa5..0000000
--- a/e2sm/lib/E2SM-KPM-ActionDefinition.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-ActionDefinition.h"
-
-#include "E2SM-KPM-ActionDefinition-Format1.h"
-static asn_oer_constraints_t asn_OER_type_actionDefinition_formats_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_type_actionDefinition_formats_constr_3 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_actionDefinition_formats_3[] = {
- { ATF_POINTER, 0, offsetof(struct E2SM_KPM_ActionDefinition__actionDefinition_formats, choice.actionDefinition_Format1),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_E2SM_KPM_ActionDefinition_Format1,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "actionDefinition-Format1"
- },
-};
-static const asn_TYPE_tag2member_t asn_MAP_actionDefinition_formats_tag2el_3[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* actionDefinition-Format1 */
-};
-static asn_CHOICE_specifics_t asn_SPC_actionDefinition_formats_specs_3 = {
- sizeof(struct E2SM_KPM_ActionDefinition__actionDefinition_formats),
- offsetof(struct E2SM_KPM_ActionDefinition__actionDefinition_formats, _asn_ctx),
- offsetof(struct E2SM_KPM_ActionDefinition__actionDefinition_formats, present),
- sizeof(((struct E2SM_KPM_ActionDefinition__actionDefinition_formats *)0)->present),
- asn_MAP_actionDefinition_formats_tag2el_3,
- 1, /* Count of tags in the map */
- 0, 0,
- 1 /* Extensions start */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_actionDefinition_formats_3 = {
- "actionDefinition-formats",
- "actionDefinition-formats",
- &asn_OP_CHOICE,
- 0, /* No effective tags (pointer) */
- 0, /* No effective tags (count) */
- 0, /* No tags (pointer) */
- 0, /* No tags (count) */
- { &asn_OER_type_actionDefinition_formats_constr_3, &asn_PER_type_actionDefinition_formats_constr_3, CHOICE_constraint },
- asn_MBR_actionDefinition_formats_3,
- 1, /* Elements count */
- &asn_SPC_actionDefinition_formats_specs_3 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_E2SM_KPM_ActionDefinition_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition, ric_ReportStyle_Type),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RIC_Style_Type,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ric-ReportStyle-Type"
- },
- { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition, actionDefinition_formats),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- +1, /* EXPLICIT tag at current level */
- &asn_DEF_actionDefinition_formats_3,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "actionDefinition-formats"
- },
-};
-static const ber_tlv_tag_t asn_DEF_E2SM_KPM_ActionDefinition_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_ActionDefinition_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ReportStyle-Type */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* actionDefinition-formats */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_ActionDefinition_specs_1 = {
- sizeof(struct E2SM_KPM_ActionDefinition),
- offsetof(struct E2SM_KPM_ActionDefinition, _asn_ctx),
- asn_MAP_E2SM_KPM_ActionDefinition_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_ActionDefinition = {
- "E2SM-KPM-ActionDefinition",
- "E2SM-KPM-ActionDefinition",
- &asn_OP_SEQUENCE,
- asn_DEF_E2SM_KPM_ActionDefinition_tags_1,
- sizeof(asn_DEF_E2SM_KPM_ActionDefinition_tags_1)
- /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_tags_1[0]), /* 1 */
- asn_DEF_E2SM_KPM_ActionDefinition_tags_1, /* Same as above */
- sizeof(asn_DEF_E2SM_KPM_ActionDefinition_tags_1)
- /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_E2SM_KPM_ActionDefinition_1,
- 2, /* Elements count */
- &asn_SPC_E2SM_KPM_ActionDefinition_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-EventTriggerDefinition-Format1.c b/e2sm/lib/E2SM-KPM-EventTriggerDefinition-Format1.c
deleted file mode 100644
index 314e7f6..0000000
--- a/e2sm/lib/E2SM-KPM-EventTriggerDefinition-Format1.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-EventTriggerDefinition-Format1.h"
-
-#include "Trigger-ConditionIE-Item.h"
-static int
-memb_policyTest_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 15)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_policyTest_List_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..15)) */};
-static asn_per_constraints_t asn_PER_type_policyTest_List_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 4, 4, 1, 15 } /* (SIZE(1..15)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_policyTest_List_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..15)) */};
-static asn_per_constraints_t asn_PER_memb_policyTest_List_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 4, 4, 1, 15 } /* (SIZE(1..15)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_policyTest_List_2[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_Trigger_ConditionIE_Item,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_policyTest_List_tags_2[] = {
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_policyTest_List_specs_2 = {
- sizeof(struct E2SM_KPM_EventTriggerDefinition_Format1__policyTest_List),
- offsetof(struct E2SM_KPM_EventTriggerDefinition_Format1__policyTest_List, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_policyTest_List_2 = {
- "policyTest-List",
- "policyTest-List",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_policyTest_List_tags_2,
- sizeof(asn_DEF_policyTest_List_tags_2)
- /sizeof(asn_DEF_policyTest_List_tags_2[0]) - 1, /* 1 */
- asn_DEF_policyTest_List_tags_2, /* Same as above */
- sizeof(asn_DEF_policyTest_List_tags_2)
- /sizeof(asn_DEF_policyTest_List_tags_2[0]), /* 2 */
- { &asn_OER_type_policyTest_List_constr_2, &asn_PER_type_policyTest_List_constr_2, SEQUENCE_OF_constraint },
- asn_MBR_policyTest_List_2,
- 1, /* Single element */
- &asn_SPC_policyTest_List_specs_2 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_E2SM_KPM_EventTriggerDefinition_Format1_1[] = {
- { ATF_POINTER, 1, offsetof(struct E2SM_KPM_EventTriggerDefinition_Format1, policyTest_List),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- 0,
- &asn_DEF_policyTest_List_2,
- 0,
- { &asn_OER_memb_policyTest_List_constr_2, &asn_PER_memb_policyTest_List_constr_2, memb_policyTest_List_constraint_1 },
- 0, 0, /* No default value */
- "policyTest-List"
- },
-};
-static const int asn_MAP_E2SM_KPM_EventTriggerDefinition_Format1_oms_1[] = { 0 };
-static const ber_tlv_tag_t asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_EventTriggerDefinition_Format1_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* policyTest-List */
-};
-asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_EventTriggerDefinition_Format1_specs_1 = {
- sizeof(struct E2SM_KPM_EventTriggerDefinition_Format1),
- offsetof(struct E2SM_KPM_EventTriggerDefinition_Format1, _asn_ctx),
- asn_MAP_E2SM_KPM_EventTriggerDefinition_Format1_tag2el_1,
- 1, /* Count of tags in the map */
- asn_MAP_E2SM_KPM_EventTriggerDefinition_Format1_oms_1, /* Optional members */
- 1, 0, /* Root/Additions */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1 = {
- "E2SM-KPM-EventTriggerDefinition-Format1",
- "E2SM-KPM-EventTriggerDefinition-Format1",
- &asn_OP_SEQUENCE,
- asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1,
- sizeof(asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1)
- /sizeof(asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1[0]), /* 1 */
- asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1, /* Same as above */
- sizeof(asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1)
- /sizeof(asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_E2SM_KPM_EventTriggerDefinition_Format1_1,
- 1, /* Elements count */
- &asn_SPC_E2SM_KPM_EventTriggerDefinition_Format1_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-EventTriggerDefinition.c b/e2sm/lib/E2SM-KPM-EventTriggerDefinition.c
deleted file mode 100644
index 144313d..0000000
--- a/e2sm/lib/E2SM-KPM-EventTriggerDefinition.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-EventTriggerDefinition.h"
-
-#include "E2SM-KPM-EventTriggerDefinition-Format1.h"
-static asn_oer_constraints_t asn_OER_type_E2SM_KPM_EventTriggerDefinition_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_type_E2SM_KPM_EventTriggerDefinition_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_E2SM_KPM_EventTriggerDefinition_1[] = {
- { ATF_POINTER, 0, offsetof(struct E2SM_KPM_EventTriggerDefinition, choice.eventDefinition_Format1),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "eventDefinition-Format1"
- },
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_EventTriggerDefinition_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* eventDefinition-Format1 */
-};
-static asn_CHOICE_specifics_t asn_SPC_E2SM_KPM_EventTriggerDefinition_specs_1 = {
- sizeof(struct E2SM_KPM_EventTriggerDefinition),
- offsetof(struct E2SM_KPM_EventTriggerDefinition, _asn_ctx),
- offsetof(struct E2SM_KPM_EventTriggerDefinition, present),
- sizeof(((struct E2SM_KPM_EventTriggerDefinition *)0)->present),
- asn_MAP_E2SM_KPM_EventTriggerDefinition_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0,
- 1 /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_EventTriggerDefinition = {
- "E2SM-KPM-EventTriggerDefinition",
- "E2SM-KPM-EventTriggerDefinition",
- &asn_OP_CHOICE,
- 0, /* No effective tags (pointer) */
- 0, /* No effective tags (count) */
- 0, /* No tags (pointer) */
- 0, /* No tags (count) */
- { &asn_OER_type_E2SM_KPM_EventTriggerDefinition_constr_1, &asn_PER_type_E2SM_KPM_EventTriggerDefinition_constr_1, CHOICE_constraint },
- asn_MBR_E2SM_KPM_EventTriggerDefinition_1,
- 1, /* Elements count */
- &asn_SPC_E2SM_KPM_EventTriggerDefinition_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-IndicationHeader-Format1.c b/e2sm/lib/E2SM-KPM-IndicationHeader-Format1.c
deleted file mode 100644
index be23bda..0000000
--- a/e2sm/lib/E2SM-KPM-IndicationHeader-Format1.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-IndicationHeader-Format1.h"
-
-asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationHeader_Format1_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationHeader_Format1, collectionStartTime),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_TimeStamp,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "collectionStartTime"
- },
- { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationHeader_Format1, id_GlobalE2node_ID),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- +1, /* EXPLICIT tag at current level */
- &asn_DEF_GlobalE2node_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "id-GlobalE2node-ID"
- },
-};
-static const ber_tlv_tag_t asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationHeader_Format1_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* collectionStartTime */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* id-GlobalE2node-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_IndicationHeader_Format1_specs_1 = {
- sizeof(struct E2SM_KPM_IndicationHeader_Format1),
- offsetof(struct E2SM_KPM_IndicationHeader_Format1, _asn_ctx),
- asn_MAP_E2SM_KPM_IndicationHeader_Format1_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationHeader_Format1 = {
- "E2SM-KPM-IndicationHeader-Format1",
- "E2SM-KPM-IndicationHeader-Format1",
- &asn_OP_SEQUENCE,
- asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1,
- sizeof(asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1)
- /sizeof(asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1[0]), /* 1 */
- asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1, /* Same as above */
- sizeof(asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1)
- /sizeof(asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_E2SM_KPM_IndicationHeader_Format1_1,
- 2, /* Elements count */
- &asn_SPC_E2SM_KPM_IndicationHeader_Format1_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-IndicationHeader.c b/e2sm/lib/E2SM-KPM-IndicationHeader.c
deleted file mode 100644
index 40f09a3..0000000
--- a/e2sm/lib/E2SM-KPM-IndicationHeader.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-IndicationHeader.h"
-
-#include "E2SM-KPM-IndicationHeader-Format1.h"
-static asn_oer_constraints_t asn_OER_type_E2SM_KPM_IndicationHeader_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_type_E2SM_KPM_IndicationHeader_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationHeader_1[] = {
- { ATF_POINTER, 0, offsetof(struct E2SM_KPM_IndicationHeader, choice.indicationHeader_Format1),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_E2SM_KPM_IndicationHeader_Format1,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "indicationHeader-Format1"
- },
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationHeader_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* indicationHeader-Format1 */
-};
-static asn_CHOICE_specifics_t asn_SPC_E2SM_KPM_IndicationHeader_specs_1 = {
- sizeof(struct E2SM_KPM_IndicationHeader),
- offsetof(struct E2SM_KPM_IndicationHeader, _asn_ctx),
- offsetof(struct E2SM_KPM_IndicationHeader, present),
- sizeof(((struct E2SM_KPM_IndicationHeader *)0)->present),
- asn_MAP_E2SM_KPM_IndicationHeader_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0,
- 1 /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationHeader = {
- "E2SM-KPM-IndicationHeader",
- "E2SM-KPM-IndicationHeader",
- &asn_OP_CHOICE,
- 0, /* No effective tags (pointer) */
- 0, /* No effective tags (count) */
- 0, /* No tags (pointer) */
- 0, /* No tags (count) */
- { &asn_OER_type_E2SM_KPM_IndicationHeader_constr_1, &asn_PER_type_E2SM_KPM_IndicationHeader_constr_1, CHOICE_constraint },
- asn_MBR_E2SM_KPM_IndicationHeader_1,
- 1, /* Elements count */
- &asn_SPC_E2SM_KPM_IndicationHeader_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-IndicationMessage-Format1.c b/e2sm/lib/E2SM-KPM-IndicationMessage-Format1.c
deleted file mode 100644
index ea21e14..0000000
--- a/e2sm/lib/E2SM-KPM-IndicationMessage-Format1.c
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-IndicationMessage-Format1.h"
-
-#include "PM-Containers-Item.h"
-#include "PM-Info-Item.h"
-#include "PerUE-PM-Item.h"
-static int
-memb_pm_Containers_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 8)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int
-memb_list_of_PM_Information_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 2147483647)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int
-memb_list_of_matched_UEs_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 65535)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_pm_Containers_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..8)) */};
-static asn_per_constraints_t asn_PER_type_pm_Containers_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_type_list_of_PM_Information_constr_5 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..2147483647)) */};
-static asn_per_constraints_t asn_PER_type_list_of_PM_Information_constr_5 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 31, -1, 1, 2147483647 } /* (SIZE(1..2147483647)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_type_list_of_matched_UEs_constr_7 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..65535)) */};
-static asn_per_constraints_t asn_PER_type_list_of_matched_UEs_constr_7 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_pm_Containers_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..8)) */};
-static asn_per_constraints_t asn_PER_memb_pm_Containers_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_list_of_PM_Information_constr_5 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..2147483647)) */};
-static asn_per_constraints_t asn_PER_memb_list_of_PM_Information_constr_5 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 31, -1, 1, 2147483647 } /* (SIZE(1..2147483647)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_list_of_matched_UEs_constr_7 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..65535)) */};
-static asn_per_constraints_t asn_PER_memb_list_of_matched_UEs_constr_7 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_pm_Containers_2[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_PM_Containers_Item,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_pm_Containers_tags_2[] = {
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_pm_Containers_specs_2 = {
- sizeof(struct E2SM_KPM_IndicationMessage_Format1__pm_Containers),
- offsetof(struct E2SM_KPM_IndicationMessage_Format1__pm_Containers, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_pm_Containers_2 = {
- "pm-Containers",
- "pm-Containers",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_pm_Containers_tags_2,
- sizeof(asn_DEF_pm_Containers_tags_2)
- /sizeof(asn_DEF_pm_Containers_tags_2[0]) - 1, /* 1 */
- asn_DEF_pm_Containers_tags_2, /* Same as above */
- sizeof(asn_DEF_pm_Containers_tags_2)
- /sizeof(asn_DEF_pm_Containers_tags_2[0]), /* 2 */
- { &asn_OER_type_pm_Containers_constr_2, &asn_PER_type_pm_Containers_constr_2, SEQUENCE_OF_constraint },
- asn_MBR_pm_Containers_2,
- 1, /* Single element */
- &asn_SPC_pm_Containers_specs_2 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_list_of_PM_Information_5[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_PM_Info_Item,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_list_of_PM_Information_tags_5[] = {
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_list_of_PM_Information_specs_5 = {
- sizeof(struct E2SM_KPM_IndicationMessage_Format1__list_of_PM_Information),
- offsetof(struct E2SM_KPM_IndicationMessage_Format1__list_of_PM_Information, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_list_of_PM_Information_5 = {
- "list-of-PM-Information",
- "list-of-PM-Information",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_list_of_PM_Information_tags_5,
- sizeof(asn_DEF_list_of_PM_Information_tags_5)
- /sizeof(asn_DEF_list_of_PM_Information_tags_5[0]) - 1, /* 1 */
- asn_DEF_list_of_PM_Information_tags_5, /* Same as above */
- sizeof(asn_DEF_list_of_PM_Information_tags_5)
- /sizeof(asn_DEF_list_of_PM_Information_tags_5[0]), /* 2 */
- { &asn_OER_type_list_of_PM_Information_constr_5, &asn_PER_type_list_of_PM_Information_constr_5, SEQUENCE_OF_constraint },
- asn_MBR_list_of_PM_Information_5,
- 1, /* Single element */
- &asn_SPC_list_of_PM_Information_specs_5 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_list_of_matched_UEs_7[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_PerUE_PM_Item,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_list_of_matched_UEs_tags_7[] = {
- (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_list_of_matched_UEs_specs_7 = {
- sizeof(struct E2SM_KPM_IndicationMessage_Format1__list_of_matched_UEs),
- offsetof(struct E2SM_KPM_IndicationMessage_Format1__list_of_matched_UEs, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_list_of_matched_UEs_7 = {
- "list-of-matched-UEs",
- "list-of-matched-UEs",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_list_of_matched_UEs_tags_7,
- sizeof(asn_DEF_list_of_matched_UEs_tags_7)
- /sizeof(asn_DEF_list_of_matched_UEs_tags_7[0]) - 1, /* 1 */
- asn_DEF_list_of_matched_UEs_tags_7, /* Same as above */
- sizeof(asn_DEF_list_of_matched_UEs_tags_7)
- /sizeof(asn_DEF_list_of_matched_UEs_tags_7[0]), /* 2 */
- { &asn_OER_type_list_of_matched_UEs_constr_7, &asn_PER_type_list_of_matched_UEs_constr_7, SEQUENCE_OF_constraint },
- asn_MBR_list_of_matched_UEs_7,
- 1, /* Single element */
- &asn_SPC_list_of_matched_UEs_specs_7 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationMessage_Format1_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationMessage_Format1, pm_Containers),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- 0,
- &asn_DEF_pm_Containers_2,
- 0,
- { &asn_OER_memb_pm_Containers_constr_2, &asn_PER_memb_pm_Containers_constr_2, memb_pm_Containers_constraint_1 },
- 0, 0, /* No default value */
- "pm-Containers"
- },
- { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationMessage_Format1, cellObjectID),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_CellObjectID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "cellObjectID"
- },
- { ATF_POINTER, 2, offsetof(struct E2SM_KPM_IndicationMessage_Format1, list_of_PM_Information),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- 0,
- &asn_DEF_list_of_PM_Information_5,
- 0,
- { &asn_OER_memb_list_of_PM_Information_constr_5, &asn_PER_memb_list_of_PM_Information_constr_5, memb_list_of_PM_Information_constraint_1 },
- 0, 0, /* No default value */
- "list-of-PM-Information"
- },
- { ATF_POINTER, 1, offsetof(struct E2SM_KPM_IndicationMessage_Format1, list_of_matched_UEs),
- (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
- 0,
- &asn_DEF_list_of_matched_UEs_7,
- 0,
- { &asn_OER_memb_list_of_matched_UEs_constr_7, &asn_PER_memb_list_of_matched_UEs_constr_7, memb_list_of_matched_UEs_constraint_1 },
- 0, 0, /* No default value */
- "list-of-matched-UEs"
- },
-};
-static const int asn_MAP_E2SM_KPM_IndicationMessage_Format1_oms_1[] = { 2, 3 };
-static const ber_tlv_tag_t asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationMessage_Format1_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pm-Containers */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellObjectID */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* list-of-PM-Information */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* list-of-matched-UEs */
-};
-asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_IndicationMessage_Format1_specs_1 = {
- sizeof(struct E2SM_KPM_IndicationMessage_Format1),
- offsetof(struct E2SM_KPM_IndicationMessage_Format1, _asn_ctx),
- asn_MAP_E2SM_KPM_IndicationMessage_Format1_tag2el_1,
- 4, /* Count of tags in the map */
- asn_MAP_E2SM_KPM_IndicationMessage_Format1_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 4, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationMessage_Format1 = {
- "E2SM-KPM-IndicationMessage-Format1",
- "E2SM-KPM-IndicationMessage-Format1",
- &asn_OP_SEQUENCE,
- asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1,
- sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1)
- /sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[0]), /* 1 */
- asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1, /* Same as above */
- sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1)
- /sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_E2SM_KPM_IndicationMessage_Format1_1,
- 4, /* Elements count */
- &asn_SPC_E2SM_KPM_IndicationMessage_Format1_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-IndicationMessage.c b/e2sm/lib/E2SM-KPM-IndicationMessage.c
deleted file mode 100644
index 0b1e701..0000000
--- a/e2sm/lib/E2SM-KPM-IndicationMessage.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-IndicationMessage.h"
-
-#include "E2SM-KPM-IndicationMessage-Format1.h"
-static asn_oer_constraints_t asn_OER_type_E2SM_KPM_IndicationMessage_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_type_E2SM_KPM_IndicationMessage_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationMessage_1[] = {
- { ATF_POINTER, 0, offsetof(struct E2SM_KPM_IndicationMessage, choice.indicationMessage_Format1),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_E2SM_KPM_IndicationMessage_Format1,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "indicationMessage-Format1"
- },
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationMessage_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* indicationMessage-Format1 */
-};
-static asn_CHOICE_specifics_t asn_SPC_E2SM_KPM_IndicationMessage_specs_1 = {
- sizeof(struct E2SM_KPM_IndicationMessage),
- offsetof(struct E2SM_KPM_IndicationMessage, _asn_ctx),
- offsetof(struct E2SM_KPM_IndicationMessage, present),
- sizeof(((struct E2SM_KPM_IndicationMessage *)0)->present),
- asn_MAP_E2SM_KPM_IndicationMessage_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0,
- 1 /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationMessage = {
- "E2SM-KPM-IndicationMessage",
- "E2SM-KPM-IndicationMessage",
- &asn_OP_CHOICE,
- 0, /* No effective tags (pointer) */
- 0, /* No effective tags (count) */
- 0, /* No tags (pointer) */
- 0, /* No tags (count) */
- { &asn_OER_type_E2SM_KPM_IndicationMessage_constr_1, &asn_PER_type_E2SM_KPM_IndicationMessage_constr_1, CHOICE_constraint },
- asn_MBR_E2SM_KPM_IndicationMessage_1,
- 1, /* Elements count */
- &asn_SPC_E2SM_KPM_IndicationMessage_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-RANFunctionDefinition.c b/e2sm/lib/E2SM-KPM-RANFunctionDefinition.c
deleted file mode 100644
index d87fe15..0000000
--- a/e2sm/lib/E2SM-KPM-RANFunctionDefinition.c
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-RANFunctionDefinition.h"
-
-#include "RIC-EventTriggerStyle-Item.h"
-#include "RIC-ReportStyle-Item.h"
-static int
-memb_ric_EventTriggerStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 63)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int
-memb_ric_ReportStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 63)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_type_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_type_ric_ReportStyle_List_constr_5 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_type_ric_ReportStyle_List_constr_5 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_memb_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ric_ReportStyle_List_constr_5 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_memb_ric_ReportStyle_List_constr_5 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_ric_EventTriggerStyle_List_3[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_RIC_EventTriggerStyle_Item,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_ric_EventTriggerStyle_List_tags_3[] = {
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_ric_EventTriggerStyle_List_specs_3 = {
- sizeof(struct E2SM_KPM_RANFunctionDefinition__ric_EventTriggerStyle_List),
- offsetof(struct E2SM_KPM_RANFunctionDefinition__ric_EventTriggerStyle_List, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_ric_EventTriggerStyle_List_3 = {
- "ric-EventTriggerStyle-List",
- "ric-EventTriggerStyle-List",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_ric_EventTriggerStyle_List_tags_3,
- sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3)
- /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3[0]) - 1, /* 1 */
- asn_DEF_ric_EventTriggerStyle_List_tags_3, /* Same as above */
- sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3)
- /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3[0]), /* 2 */
- { &asn_OER_type_ric_EventTriggerStyle_List_constr_3, &asn_PER_type_ric_EventTriggerStyle_List_constr_3, SEQUENCE_OF_constraint },
- asn_MBR_ric_EventTriggerStyle_List_3,
- 1, /* Single element */
- &asn_SPC_ric_EventTriggerStyle_List_specs_3 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_ric_ReportStyle_List_5[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_RIC_ReportStyle_Item,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_ric_ReportStyle_List_tags_5[] = {
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_ric_ReportStyle_List_specs_5 = {
- sizeof(struct E2SM_KPM_RANFunctionDefinition__ric_ReportStyle_List),
- offsetof(struct E2SM_KPM_RANFunctionDefinition__ric_ReportStyle_List, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_ric_ReportStyle_List_5 = {
- "ric-ReportStyle-List",
- "ric-ReportStyle-List",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_ric_ReportStyle_List_tags_5,
- sizeof(asn_DEF_ric_ReportStyle_List_tags_5)
- /sizeof(asn_DEF_ric_ReportStyle_List_tags_5[0]) - 1, /* 1 */
- asn_DEF_ric_ReportStyle_List_tags_5, /* Same as above */
- sizeof(asn_DEF_ric_ReportStyle_List_tags_5)
- /sizeof(asn_DEF_ric_ReportStyle_List_tags_5[0]), /* 2 */
- { &asn_OER_type_ric_ReportStyle_List_constr_5, &asn_PER_type_ric_ReportStyle_List_constr_5, SEQUENCE_OF_constraint },
- asn_MBR_ric_ReportStyle_List_5,
- 1, /* Single element */
- &asn_SPC_ric_ReportStyle_List_specs_5 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_E2SM_KPM_RANFunctionDefinition_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_RANFunctionDefinition, ranFunction_Name),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RANfunction_Name,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ranFunction-Name"
- },
- { ATF_POINTER, 2, offsetof(struct E2SM_KPM_RANFunctionDefinition, ric_EventTriggerStyle_List),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- 0,
- &asn_DEF_ric_EventTriggerStyle_List_3,
- 0,
- { &asn_OER_memb_ric_EventTriggerStyle_List_constr_3, &asn_PER_memb_ric_EventTriggerStyle_List_constr_3, memb_ric_EventTriggerStyle_List_constraint_1 },
- 0, 0, /* No default value */
- "ric-EventTriggerStyle-List"
- },
- { ATF_POINTER, 1, offsetof(struct E2SM_KPM_RANFunctionDefinition, ric_ReportStyle_List),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- 0,
- &asn_DEF_ric_ReportStyle_List_5,
- 0,
- { &asn_OER_memb_ric_ReportStyle_List_constr_5, &asn_PER_memb_ric_ReportStyle_List_constr_5, memb_ric_ReportStyle_List_constraint_1 },
- 0, 0, /* No default value */
- "ric-ReportStyle-List"
- },
-};
-static const int asn_MAP_E2SM_KPM_RANFunctionDefinition_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_RANFunctionDefinition_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranFunction-Name */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-EventTriggerStyle-List */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-ReportStyle-List */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_RANFunctionDefinition_specs_1 = {
- sizeof(struct E2SM_KPM_RANFunctionDefinition),
- offsetof(struct E2SM_KPM_RANFunctionDefinition, _asn_ctx),
- asn_MAP_E2SM_KPM_RANFunctionDefinition_tag2el_1,
- 3, /* Count of tags in the map */
- asn_MAP_E2SM_KPM_RANFunctionDefinition_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_RANFunctionDefinition = {
- "E2SM-KPM-RANFunctionDefinition",
- "E2SM-KPM-RANFunctionDefinition",
- &asn_OP_SEQUENCE,
- asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1,
- sizeof(asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1)
- /sizeof(asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1[0]), /* 1 */
- asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1, /* Same as above */
- sizeof(asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1)
- /sizeof(asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_E2SM_KPM_RANFunctionDefinition_1,
- 3, /* Elements count */
- &asn_SPC_E2SM_KPM_RANFunctionDefinition_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-RC-ActionDefinition-Format1-Item.c b/e2sm/lib/E2SM-RC-ActionDefinition-Format1-Item.c
new file mode 100644
index 0000000..ae6439a
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-ActionDefinition-Format1-Item.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ActionDefinition-Format1-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format1_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition_Format1_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ActionDefinition_Format1_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ActionDefinition_Format1_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format1_Item_specs_1 = {
+ sizeof(struct E2SM_RC_ActionDefinition_Format1_Item),
+ offsetof(struct E2SM_RC_ActionDefinition_Format1_Item, _asn_ctx),
+ asn_MAP_E2SM_RC_ActionDefinition_Format1_Item_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format1_Item = {
+ "E2SM-RC-ActionDefinition-Format1-Item",
+ "E2SM-RC-ActionDefinition-Format1-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ActionDefinition_Format1_Item_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ActionDefinition_Format1_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_ActionDefinition_Format1_Item_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_ActionDefinition_Format1_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ActionDefinition-Format1.c b/e2sm/lib/E2SM-RC-ActionDefinition-Format1.c
new file mode 100644
index 0000000..cfe2b5c
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-ActionDefinition-Format1.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ActionDefinition-Format1.h"
+
+#include "E2SM-RC-ActionDefinition-Format1-Item.h"
+static int
+memb_ranP_ToBeReported_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranP_ToBeReported_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranP_ToBeReported_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranP_ToBeReported_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranP_ToBeReported_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranP_ToBeReported_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2SM_RC_ActionDefinition_Format1_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ranP_ToBeReported_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranP_ToBeReported_List_specs_2 = {
+ sizeof(struct E2SM_RC_ActionDefinition_Format1__ranP_ToBeReported_List),
+ offsetof(struct E2SM_RC_ActionDefinition_Format1__ranP_ToBeReported_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_ToBeReported_List_2 = {
+ "ranP-ToBeReported-List",
+ "ranP-ToBeReported-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ranP_ToBeReported_List_tags_2,
+ sizeof(asn_DEF_ranP_ToBeReported_List_tags_2)
+ /sizeof(asn_DEF_ranP_ToBeReported_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ranP_ToBeReported_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ranP_ToBeReported_List_tags_2)
+ /sizeof(asn_DEF_ranP_ToBeReported_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ranP_ToBeReported_List_constr_2, &asn_PER_type_ranP_ToBeReported_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ranP_ToBeReported_List_2,
+ 1, /* Single element */
+ &asn_SPC_ranP_ToBeReported_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition_Format1, ranP_ToBeReported_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ranP_ToBeReported_List_2,
+ 0,
+ { &asn_OER_memb_ranP_ToBeReported_List_constr_2, &asn_PER_memb_ranP_ToBeReported_List_constr_2, memb_ranP_ToBeReported_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ranP-ToBeReported-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ActionDefinition_Format1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ActionDefinition_Format1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranP-ToBeReported-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format1_specs_1 = {
+ sizeof(struct E2SM_RC_ActionDefinition_Format1),
+ offsetof(struct E2SM_RC_ActionDefinition_Format1, _asn_ctx),
+ asn_MAP_E2SM_RC_ActionDefinition_Format1_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format1 = {
+ "E2SM-RC-ActionDefinition-Format1",
+ "E2SM-RC-ActionDefinition-Format1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ActionDefinition_Format1_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ActionDefinition_Format1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_ActionDefinition_Format1_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_ActionDefinition_Format1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ActionDefinition-Format2-Item.c b/e2sm/lib/E2SM-RC-ActionDefinition-Format2-Item.c
new file mode 100644
index 0000000..3b48569
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-ActionDefinition-Format2-Item.c
@@ -0,0 +1,63 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ActionDefinition-Format2-Item.h"
+
+#include "RANParameter-Testing.h"
+asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format2_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition_Format2_Item, ric_PolicyAction),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_PolicyAction,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-PolicyAction"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_ActionDefinition_Format2_Item, ric_PolicyConditionDefinition),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Testing,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-PolicyConditionDefinition"
+ },
+};
+static const int asn_MAP_E2SM_RC_ActionDefinition_Format2_Item_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ActionDefinition_Format2_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ActionDefinition_Format2_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-PolicyAction */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ric-PolicyConditionDefinition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format2_Item_specs_1 = {
+ sizeof(struct E2SM_RC_ActionDefinition_Format2_Item),
+ offsetof(struct E2SM_RC_ActionDefinition_Format2_Item, _asn_ctx),
+ asn_MAP_E2SM_RC_ActionDefinition_Format2_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_ActionDefinition_Format2_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format2_Item = {
+ "E2SM-RC-ActionDefinition-Format2-Item",
+ "E2SM-RC-ActionDefinition-Format2-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ActionDefinition_Format2_Item_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ActionDefinition_Format2_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_ActionDefinition_Format2_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_E2SM_RC_ActionDefinition_Format2_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ActionDefinition-Format2.c b/e2sm/lib/E2SM-RC-ActionDefinition-Format2.c
new file mode 100644
index 0000000..f15018d
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-ActionDefinition-Format2.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ActionDefinition-Format2.h"
+
+#include "E2SM-RC-ActionDefinition-Format2-Item.h"
+static int
+memb_ric_PolicyConditions_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_PolicyConditions_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ric_PolicyConditions_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_PolicyConditions_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ric_PolicyConditions_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_PolicyConditions_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2SM_RC_ActionDefinition_Format2_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_PolicyConditions_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_PolicyConditions_List_specs_2 = {
+ sizeof(struct E2SM_RC_ActionDefinition_Format2__ric_PolicyConditions_List),
+ offsetof(struct E2SM_RC_ActionDefinition_Format2__ric_PolicyConditions_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_PolicyConditions_List_2 = {
+ "ric-PolicyConditions-List",
+ "ric-PolicyConditions-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_PolicyConditions_List_tags_2,
+ sizeof(asn_DEF_ric_PolicyConditions_List_tags_2)
+ /sizeof(asn_DEF_ric_PolicyConditions_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ric_PolicyConditions_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ric_PolicyConditions_List_tags_2)
+ /sizeof(asn_DEF_ric_PolicyConditions_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ric_PolicyConditions_List_constr_2, &asn_PER_type_ric_PolicyConditions_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ric_PolicyConditions_List_2,
+ 1, /* Single element */
+ &asn_SPC_ric_PolicyConditions_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format2_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition_Format2, ric_PolicyConditions_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ric_PolicyConditions_List_2,
+ 0,
+ { &asn_OER_memb_ric_PolicyConditions_List_constr_2, &asn_PER_memb_ric_PolicyConditions_List_constr_2, memb_ric_PolicyConditions_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-PolicyConditions-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ActionDefinition_Format2_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ActionDefinition_Format2_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-PolicyConditions-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format2_specs_1 = {
+ sizeof(struct E2SM_RC_ActionDefinition_Format2),
+ offsetof(struct E2SM_RC_ActionDefinition_Format2, _asn_ctx),
+ asn_MAP_E2SM_RC_ActionDefinition_Format2_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format2 = {
+ "E2SM-RC-ActionDefinition-Format2",
+ "E2SM-RC-ActionDefinition-Format2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ActionDefinition_Format2_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ActionDefinition_Format2_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_ActionDefinition_Format2_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_ActionDefinition_Format2_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ActionDefinition-Format3-Item.c b/e2sm/lib/E2SM-RC-ActionDefinition-Format3-Item.c
new file mode 100644
index 0000000..1390c44
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-ActionDefinition-Format3-Item.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ActionDefinition-Format3-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format3_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition_Format3_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ActionDefinition_Format3_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ActionDefinition_Format3_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format3_Item_specs_1 = {
+ sizeof(struct E2SM_RC_ActionDefinition_Format3_Item),
+ offsetof(struct E2SM_RC_ActionDefinition_Format3_Item, _asn_ctx),
+ asn_MAP_E2SM_RC_ActionDefinition_Format3_Item_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format3_Item = {
+ "E2SM-RC-ActionDefinition-Format3-Item",
+ "E2SM-RC-ActionDefinition-Format3-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ActionDefinition_Format3_Item_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ActionDefinition_Format3_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_ActionDefinition_Format3_Item_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_ActionDefinition_Format3_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ActionDefinition-Format3.c b/e2sm/lib/E2SM-RC-ActionDefinition-Format3.c
new file mode 100644
index 0000000..1413d05
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-ActionDefinition-Format3.c
@@ -0,0 +1,153 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ActionDefinition-Format3.h"
+
+#include "UEID.h"
+#include "E2SM-RC-ActionDefinition-Format3-Item.h"
+static int
+memb_ranP_InsertIndication_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranP_InsertIndication_List_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranP_InsertIndication_List_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranP_InsertIndication_List_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranP_InsertIndication_List_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranP_InsertIndication_List_3[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2SM_RC_ActionDefinition_Format3_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ranP_InsertIndication_List_tags_3[] = {
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranP_InsertIndication_List_specs_3 = {
+ sizeof(struct E2SM_RC_ActionDefinition_Format3__ranP_InsertIndication_List),
+ offsetof(struct E2SM_RC_ActionDefinition_Format3__ranP_InsertIndication_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_InsertIndication_List_3 = {
+ "ranP-InsertIndication-List",
+ "ranP-InsertIndication-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ranP_InsertIndication_List_tags_3,
+ sizeof(asn_DEF_ranP_InsertIndication_List_tags_3)
+ /sizeof(asn_DEF_ranP_InsertIndication_List_tags_3[0]) - 1, /* 1 */
+ asn_DEF_ranP_InsertIndication_List_tags_3, /* Same as above */
+ sizeof(asn_DEF_ranP_InsertIndication_List_tags_3)
+ /sizeof(asn_DEF_ranP_InsertIndication_List_tags_3[0]), /* 2 */
+ { &asn_OER_type_ranP_InsertIndication_List_constr_3, &asn_PER_type_ranP_InsertIndication_List_constr_3, SEQUENCE_OF_constraint },
+ asn_MBR_ranP_InsertIndication_List_3,
+ 1, /* Single element */
+ &asn_SPC_ranP_InsertIndication_List_specs_3 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format3_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition_Format3, ric_InsertIndication_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_InsertIndication_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-InsertIndication-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition_Format3, ranP_InsertIndication_List),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ 0,
+ &asn_DEF_ranP_InsertIndication_List_3,
+ 0,
+ { &asn_OER_memb_ranP_InsertIndication_List_constr_3, &asn_PER_memb_ranP_InsertIndication_List_constr_3, memb_ranP_InsertIndication_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ranP-InsertIndication-List"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_ActionDefinition_Format3, ueID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_UEID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ueID"
+ },
+};
+static const int asn_MAP_E2SM_RC_ActionDefinition_Format3_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ActionDefinition_Format3_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ActionDefinition_Format3_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-InsertIndication-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranP-InsertIndication-List */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ueID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format3_specs_1 = {
+ sizeof(struct E2SM_RC_ActionDefinition_Format3),
+ offsetof(struct E2SM_RC_ActionDefinition_Format3, _asn_ctx),
+ asn_MAP_E2SM_RC_ActionDefinition_Format3_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_ActionDefinition_Format3_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format3 = {
+ "E2SM-RC-ActionDefinition-Format3",
+ "E2SM-RC-ActionDefinition-Format3",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ActionDefinition_Format3_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ActionDefinition_Format3_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_ActionDefinition_Format3_1,
+ 3, /* Elements count */
+ &asn_SPC_E2SM_RC_ActionDefinition_Format3_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ActionDefinition.c b/e2sm/lib/E2SM-RC-ActionDefinition.c
new file mode 100644
index 0000000..a8e2a57
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-ActionDefinition.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ActionDefinition.h"
+
+#include "E2SM-RC-ActionDefinition-Format1.h"
+#include "E2SM-RC-ActionDefinition-Format2.h"
+#include "E2SM-RC-ActionDefinition-Format3.h"
+static asn_oer_constraints_t asn_OER_type_ric_actionDefinition_formats_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_ric_actionDefinition_formats_constr_3 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_actionDefinition_formats_3[] = {
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats, choice.actionDefinition_Format1),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_ActionDefinition_Format1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "actionDefinition-Format1"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats, choice.actionDefinition_Format2),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_ActionDefinition_Format2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "actionDefinition-Format2"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats, choice.actionDefinition_Format3),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_ActionDefinition_Format3,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "actionDefinition-Format3"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ric_actionDefinition_formats_tag2el_3[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* actionDefinition-Format1 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* actionDefinition-Format2 */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* actionDefinition-Format3 */
+};
+static asn_CHOICE_specifics_t asn_SPC_ric_actionDefinition_formats_specs_3 = {
+ sizeof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats),
+ offsetof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats, _asn_ctx),
+ offsetof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats, present),
+ sizeof(((struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats *)0)->present),
+ asn_MAP_ric_actionDefinition_formats_tag2el_3,
+ 3, /* Count of tags in the map */
+ 0, 0,
+ 3 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_actionDefinition_formats_3 = {
+ "ric-actionDefinition-formats",
+ "ric-actionDefinition-formats",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_ric_actionDefinition_formats_constr_3, &asn_PER_type_ric_actionDefinition_formats_constr_3, CHOICE_constraint },
+ asn_MBR_ric_actionDefinition_formats_3,
+ 3, /* Elements count */
+ &asn_SPC_ric_actionDefinition_formats_specs_3 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition, ric_Style_Type),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-Style-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition, ric_actionDefinition_formats),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ric_actionDefinition_formats_3,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-actionDefinition-formats"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ActionDefinition_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ActionDefinition_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-Style-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ric-actionDefinition-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_specs_1 = {
+ sizeof(struct E2SM_RC_ActionDefinition),
+ offsetof(struct E2SM_RC_ActionDefinition, _asn_ctx),
+ asn_MAP_E2SM_RC_ActionDefinition_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition = {
+ "E2SM-RC-ActionDefinition",
+ "E2SM-RC-ActionDefinition",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ActionDefinition_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ActionDefinition_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ActionDefinition_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ActionDefinition_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ActionDefinition_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ActionDefinition_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_ActionDefinition_1,
+ 2, /* Elements count */
+ &asn_SPC_E2SM_RC_ActionDefinition_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-CallProcessID-Format1.c b/e2sm/lib/E2SM-RC-CallProcessID-Format1.c
new file mode 100644
index 0000000..d3a25c1
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-CallProcessID-Format1.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-CallProcessID-Format1.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_CallProcessID_Format1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_CallProcessID_Format1, ric_callProcess_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RAN_CallProcess_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-callProcess-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_CallProcessID_Format1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_CallProcessID_Format1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-callProcess-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_CallProcessID_Format1_specs_1 = {
+ sizeof(struct E2SM_RC_CallProcessID_Format1),
+ offsetof(struct E2SM_RC_CallProcessID_Format1, _asn_ctx),
+ asn_MAP_E2SM_RC_CallProcessID_Format1_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_CallProcessID_Format1 = {
+ "E2SM-RC-CallProcessID-Format1",
+ "E2SM-RC-CallProcessID-Format1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_CallProcessID_Format1_tags_1,
+ sizeof(asn_DEF_E2SM_RC_CallProcessID_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_CallProcessID_Format1_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_CallProcessID_Format1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_CallProcessID_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_CallProcessID_Format1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_CallProcessID_Format1_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_CallProcessID_Format1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-CallProcessID.c b/e2sm/lib/E2SM-RC-CallProcessID.c
new file mode 100644
index 0000000..f92d4aa
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-CallProcessID.c
@@ -0,0 +1,98 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-CallProcessID.h"
+
+#include "E2SM-RC-CallProcessID-Format1.h"
+static asn_oer_constraints_t asn_OER_type_ric_callProcessID_formats_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_ric_callProcessID_formats_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_callProcessID_formats_2[] = {
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_CallProcessID__ric_callProcessID_formats, choice.callProcessID_Format1),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_CallProcessID_Format1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "callProcessID-Format1"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ric_callProcessID_formats_tag2el_2[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* callProcessID-Format1 */
+};
+static asn_CHOICE_specifics_t asn_SPC_ric_callProcessID_formats_specs_2 = {
+ sizeof(struct E2SM_RC_CallProcessID__ric_callProcessID_formats),
+ offsetof(struct E2SM_RC_CallProcessID__ric_callProcessID_formats, _asn_ctx),
+ offsetof(struct E2SM_RC_CallProcessID__ric_callProcessID_formats, present),
+ sizeof(((struct E2SM_RC_CallProcessID__ric_callProcessID_formats *)0)->present),
+ asn_MAP_ric_callProcessID_formats_tag2el_2,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ 1 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_callProcessID_formats_2 = {
+ "ric-callProcessID-formats",
+ "ric-callProcessID-formats",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_ric_callProcessID_formats_constr_2, &asn_PER_type_ric_callProcessID_formats_constr_2, CHOICE_constraint },
+ asn_MBR_ric_callProcessID_formats_2,
+ 1, /* Elements count */
+ &asn_SPC_ric_callProcessID_formats_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_CallProcessID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_CallProcessID, ric_callProcessID_formats),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ric_callProcessID_formats_2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-callProcessID-formats"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_CallProcessID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_CallProcessID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-callProcessID-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_CallProcessID_specs_1 = {
+ sizeof(struct E2SM_RC_CallProcessID),
+ offsetof(struct E2SM_RC_CallProcessID, _asn_ctx),
+ asn_MAP_E2SM_RC_CallProcessID_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_CallProcessID = {
+ "E2SM-RC-CallProcessID",
+ "E2SM-RC-CallProcessID",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_CallProcessID_tags_1,
+ sizeof(asn_DEF_E2SM_RC_CallProcessID_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_CallProcessID_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_CallProcessID_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_CallProcessID_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_CallProcessID_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_CallProcessID_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_CallProcessID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ControlHeader-Format1.c b/e2sm/lib/E2SM-RC-ControlHeader-Format1.c
index e953ec7..7388ce6 100644
--- a/e2sm/lib/E2SM-RC-ControlHeader-Format1.c
+++ b/e2sm/lib/E2SM-RC-ControlHeader-Format1.c
@@ -1,30 +1,81 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
#include "E2SM-RC-ControlHeader-Format1.h"
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_ric_ControlDecision_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_ric_ControlDecision_constr_5 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_ric_ControlDecision_value2enum_5[] = {
+ { 0, 6, "accept" },
+ { 1, 6, "reject" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_ric_ControlDecision_enum2value_5[] = {
+ 0, /* accept(0) */
+ 1 /* reject(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_ric_ControlDecision_specs_5 = {
+ asn_MAP_ric_ControlDecision_value2enum_5, /* "tag" => N; sorted by tag */
+ asn_MAP_ric_ControlDecision_enum2value_5, /* N => "tag"; sorted by N */
+ 2, /* Number of elements in the maps */
+ 3, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_ric_ControlDecision_tags_5[] = {
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_ControlDecision_5 = {
+ "ric-ControlDecision",
+ "ric-ControlDecision",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_ric_ControlDecision_tags_5,
+ sizeof(asn_DEF_ric_ControlDecision_tags_5)
+ /sizeof(asn_DEF_ric_ControlDecision_tags_5[0]) - 1, /* 1 */
+ asn_DEF_ric_ControlDecision_tags_5, /* Same as above */
+ sizeof(asn_DEF_ric_ControlDecision_tags_5)
+ /sizeof(asn_DEF_ric_ControlDecision_tags_5[0]), /* 2 */
+ { &asn_OER_type_ric_ControlDecision_constr_5, &asn_PER_type_ric_ControlDecision_constr_5, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_ric_ControlDecision_specs_5 /* Additional specs */
+};
+
asn_TYPE_member_t asn_MBR_E2SM_RC_ControlHeader_Format1_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader_Format1, ueId),
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader_Format1, ueID),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_UE_Identity,
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_UEID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "ueId"
+ "ueID"
},
- { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader_Format1, ric_ControlStyle_Type),
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader_Format1, ric_Style_Type),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RIC_Style_Type,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "ric-ControlStyle-Type"
+ "ric-Style-Type"
},
{ ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader_Format1, ric_ControlAction_ID),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
@@ -35,22 +86,34 @@
0, 0, /* No default value */
"ric-ControlAction-ID"
},
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_ControlHeader_Format1, ric_ControlDecision),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ric_ControlDecision_5,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ControlDecision"
+ },
};
+static const int asn_MAP_E2SM_RC_ControlHeader_Format1_oms_1[] = { 3 };
static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlHeader_Format1_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlHeader_Format1_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueId */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ControlStyle-Type */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-ControlAction-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-Style-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-ControlAction-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ric-ControlDecision */
};
asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlHeader_Format1_specs_1 = {
sizeof(struct E2SM_RC_ControlHeader_Format1),
offsetof(struct E2SM_RC_ControlHeader_Format1, _asn_ctx),
asn_MAP_E2SM_RC_ControlHeader_Format1_tag2el_1,
- 3, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 3, /* First extension addition */
+ 4, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_ControlHeader_Format1_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 4, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlHeader_Format1 = {
"E2SM-RC-ControlHeader-Format1",
@@ -64,7 +127,7 @@
/sizeof(asn_DEF_E2SM_RC_ControlHeader_Format1_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_E2SM_RC_ControlHeader_Format1_1,
- 3, /* Elements count */
+ 4, /* Elements count */
&asn_SPC_E2SM_RC_ControlHeader_Format1_specs_1 /* Additional specs */
};
diff --git a/e2sm/lib/E2SM-RC-ControlHeader.c b/e2sm/lib/E2SM-RC-ControlHeader.c
index 8de1e6c..0a3ff61 100644
--- a/e2sm/lib/E2SM-RC-ControlHeader.c
+++ b/e2sm/lib/E2SM-RC-ControlHeader.c
@@ -1,23 +1,23 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
#include "E2SM-RC-ControlHeader.h"
#include "E2SM-RC-ControlHeader-Format1.h"
-static asn_oer_constraints_t asn_OER_type_E2SM_RC_ControlHeader_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ric_controlHeader_formats_constr_2 CC_NOTUSED = {
{ 0, 0 },
-1};
-static asn_per_constraints_t asn_PER_type_E2SM_RC_ControlHeader_constr_1 CC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_ric_controlHeader_formats_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
-static asn_TYPE_member_t asn_MBR_E2SM_RC_ControlHeader_1[] = {
- { ATF_POINTER, 0, offsetof(struct E2SM_RC_ControlHeader, choice.controlHeader_Format1),
+static asn_TYPE_member_t asn_MBR_ric_controlHeader_formats_2[] = {
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_ControlHeader__ric_controlHeader_formats, choice.controlHeader_Format1),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_E2SM_RC_ControlHeader_Format1,
@@ -27,28 +27,70 @@
"controlHeader-Format1"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlHeader_tag2el_1[] = {
+static const asn_TYPE_tag2member_t asn_MAP_ric_controlHeader_formats_tag2el_2[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* controlHeader-Format1 */
};
-static asn_CHOICE_specifics_t asn_SPC_E2SM_RC_ControlHeader_specs_1 = {
- sizeof(struct E2SM_RC_ControlHeader),
- offsetof(struct E2SM_RC_ControlHeader, _asn_ctx),
- offsetof(struct E2SM_RC_ControlHeader, present),
- sizeof(((struct E2SM_RC_ControlHeader *)0)->present),
- asn_MAP_E2SM_RC_ControlHeader_tag2el_1,
+static asn_CHOICE_specifics_t asn_SPC_ric_controlHeader_formats_specs_2 = {
+ sizeof(struct E2SM_RC_ControlHeader__ric_controlHeader_formats),
+ offsetof(struct E2SM_RC_ControlHeader__ric_controlHeader_formats, _asn_ctx),
+ offsetof(struct E2SM_RC_ControlHeader__ric_controlHeader_formats, present),
+ sizeof(((struct E2SM_RC_ControlHeader__ric_controlHeader_formats *)0)->present),
+ asn_MAP_ric_controlHeader_formats_tag2el_2,
1, /* Count of tags in the map */
0, 0,
1 /* Extensions start */
};
-asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlHeader = {
- "E2SM-RC-ControlHeader",
- "E2SM-RC-ControlHeader",
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_controlHeader_formats_2 = {
+ "ric-controlHeader-formats",
+ "ric-controlHeader-formats",
&asn_OP_CHOICE,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
- { &asn_OER_type_E2SM_RC_ControlHeader_constr_1, &asn_PER_type_E2SM_RC_ControlHeader_constr_1, CHOICE_constraint },
+ { &asn_OER_type_ric_controlHeader_formats_constr_2, &asn_PER_type_ric_controlHeader_formats_constr_2, CHOICE_constraint },
+ asn_MBR_ric_controlHeader_formats_2,
+ 1, /* Elements count */
+ &asn_SPC_ric_controlHeader_formats_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_ControlHeader_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader, ric_controlHeader_formats),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ric_controlHeader_formats_2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-controlHeader-formats"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlHeader_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlHeader_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-controlHeader-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlHeader_specs_1 = {
+ sizeof(struct E2SM_RC_ControlHeader),
+ offsetof(struct E2SM_RC_ControlHeader, _asn_ctx),
+ asn_MAP_E2SM_RC_ControlHeader_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlHeader = {
+ "E2SM-RC-ControlHeader",
+ "E2SM-RC-ControlHeader",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ControlHeader_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ControlHeader_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlHeader_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ControlHeader_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ControlHeader_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlHeader_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
asn_MBR_E2SM_RC_ControlHeader_1,
1, /* Elements count */
&asn_SPC_E2SM_RC_ControlHeader_specs_1 /* Additional specs */
diff --git a/e2sm/lib/E2SM-RC-ControlMessage-Format1-Item.c b/e2sm/lib/E2SM-RC-ControlMessage-Format1-Item.c
new file mode 100644
index 0000000..4d3194c
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-ControlMessage-Format1-Item.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ControlMessage-Format1-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ControlMessage_Format1_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlMessage_Format1_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlMessage_Format1_Item, ranParameter_valueType),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANParameter_ValueType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-valueType"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlMessage_Format1_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlMessage_Format1_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-valueType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlMessage_Format1_Item_specs_1 = {
+ sizeof(struct E2SM_RC_ControlMessage_Format1_Item),
+ offsetof(struct E2SM_RC_ControlMessage_Format1_Item, _asn_ctx),
+ asn_MAP_E2SM_RC_ControlMessage_Format1_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlMessage_Format1_Item = {
+ "E2SM-RC-ControlMessage-Format1-Item",
+ "E2SM-RC-ControlMessage-Format1-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ControlMessage_Format1_Item_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ControlMessage_Format1_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlMessage_Format1_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ControlMessage_Format1_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ControlMessage_Format1_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlMessage_Format1_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_ControlMessage_Format1_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_E2SM_RC_ControlMessage_Format1_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ControlMessage-Format1.c b/e2sm/lib/E2SM-RC-ControlMessage-Format1.c
index 7ba5bba..b7972a2 100644
--- a/e2sm/lib/E2SM-RC-ControlMessage-Format1.c
+++ b/e2sm/lib/E2SM-RC-ControlMessage-Format1.c
@@ -1,15 +1,15 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
#include "E2SM-RC-ControlMessage-Format1.h"
-#include "RANParameter-Item.h"
+#include "E2SM-RC-ControlMessage-Format1-Item.h"
static int
-memb_ranParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+memb_ranP_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
size_t size;
@@ -23,7 +23,7 @@
/* Determine the number of elements */
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
- if((size >= 1 && size <= 4294967295)) {
+ if((size <= 65535)) {
/* Perform validation of the inner elements */
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
@@ -34,84 +34,82 @@
}
}
-static asn_oer_constraints_t asn_OER_type_ranParameters_List_constr_2 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ranP_List_constr_2 CC_NOTUSED = {
{ 0, 0 },
- -1 /* (SIZE(1..4294967295)) */};
-static asn_per_constraints_t asn_PER_type_ranParameters_List_constr_2 CC_NOTUSED = {
+ -1 /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranP_List_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 32, -1, 1, 4294967295 } /* (SIZE(1..4294967295)) */,
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
-static asn_oer_constraints_t asn_OER_memb_ranParameters_List_constr_2 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_ranP_List_constr_2 CC_NOTUSED = {
{ 0, 0 },
- -1 /* (SIZE(1..4294967295)) */};
-static asn_per_constraints_t asn_PER_memb_ranParameters_List_constr_2 CC_NOTUSED = {
+ -1 /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranP_List_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 32, -1, 1, 4294967295 } /* (SIZE(1..4294967295)) */,
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
-static asn_TYPE_member_t asn_MBR_ranParameters_List_2[] = {
+static asn_TYPE_member_t asn_MBR_ranP_List_2[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RANParameter_Item,
+ &asn_DEF_E2SM_RC_ControlMessage_Format1_Item,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
""
},
};
-static const ber_tlv_tag_t asn_DEF_ranParameters_List_tags_2[] = {
+static const ber_tlv_tag_t asn_DEF_ranP_List_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_ranParameters_List_specs_2 = {
- sizeof(struct E2SM_RC_ControlMessage_Format1__ranParameters_List),
- offsetof(struct E2SM_RC_ControlMessage_Format1__ranParameters_List, _asn_ctx),
+static asn_SET_OF_specifics_t asn_SPC_ranP_List_specs_2 = {
+ sizeof(struct E2SM_RC_ControlMessage_Format1__ranP_List),
+ offsetof(struct E2SM_RC_ControlMessage_Format1__ranP_List, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_ranParameters_List_2 = {
- "ranParameters-List",
- "ranParameters-List",
+asn_TYPE_descriptor_t asn_DEF_ranP_List_2 = {
+ "ranP-List",
+ "ranP-List",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ranParameters_List_tags_2,
- sizeof(asn_DEF_ranParameters_List_tags_2)
- /sizeof(asn_DEF_ranParameters_List_tags_2[0]) - 1, /* 1 */
- asn_DEF_ranParameters_List_tags_2, /* Same as above */
- sizeof(asn_DEF_ranParameters_List_tags_2)
- /sizeof(asn_DEF_ranParameters_List_tags_2[0]), /* 2 */
- { &asn_OER_type_ranParameters_List_constr_2, &asn_PER_type_ranParameters_List_constr_2, SEQUENCE_OF_constraint },
- asn_MBR_ranParameters_List_2,
+ asn_DEF_ranP_List_tags_2,
+ sizeof(asn_DEF_ranP_List_tags_2)
+ /sizeof(asn_DEF_ranP_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ranP_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ranP_List_tags_2)
+ /sizeof(asn_DEF_ranP_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ranP_List_constr_2, &asn_PER_type_ranP_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ranP_List_2,
1, /* Single element */
- &asn_SPC_ranParameters_List_specs_2 /* Additional specs */
+ &asn_SPC_ranP_List_specs_2 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_E2SM_RC_ControlMessage_Format1_1[] = {
- { ATF_POINTER, 1, offsetof(struct E2SM_RC_ControlMessage_Format1, ranParameters_List),
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlMessage_Format1, ranP_List),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
0,
- &asn_DEF_ranParameters_List_2,
+ &asn_DEF_ranP_List_2,
0,
- { &asn_OER_memb_ranParameters_List_constr_2, &asn_PER_memb_ranParameters_List_constr_2, memb_ranParameters_List_constraint_1 },
+ { &asn_OER_memb_ranP_List_constr_2, &asn_PER_memb_ranP_List_constr_2, memb_ranP_List_constraint_1 },
0, 0, /* No default value */
- "ranParameters-List"
+ "ranP-List"
},
};
-static const int asn_MAP_E2SM_RC_ControlMessage_Format1_oms_1[] = { 0 };
static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlMessage_Format1_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlMessage_Format1_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameters-List */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranP-List */
};
asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlMessage_Format1_specs_1 = {
sizeof(struct E2SM_RC_ControlMessage_Format1),
offsetof(struct E2SM_RC_ControlMessage_Format1, _asn_ctx),
asn_MAP_E2SM_RC_ControlMessage_Format1_tag2el_1,
1, /* Count of tags in the map */
- asn_MAP_E2SM_RC_ControlMessage_Format1_oms_1, /* Optional members */
- 1, 0, /* Root/Additions */
+ 0, 0, 0, /* Optional elements (not needed) */
1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlMessage_Format1 = {
diff --git a/e2sm/lib/E2SM-RC-ControlMessage.c b/e2sm/lib/E2SM-RC-ControlMessage.c
index 15a6afe..295c133 100644
--- a/e2sm/lib/E2SM-RC-ControlMessage.c
+++ b/e2sm/lib/E2SM-RC-ControlMessage.c
@@ -1,23 +1,23 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
#include "E2SM-RC-ControlMessage.h"
#include "E2SM-RC-ControlMessage-Format1.h"
-static asn_oer_constraints_t asn_OER_type_E2SM_RC_ControlMessage_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ric_controlMessage_formats_constr_2 CC_NOTUSED = {
{ 0, 0 },
-1};
-static asn_per_constraints_t asn_PER_type_E2SM_RC_ControlMessage_constr_1 CC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_ric_controlMessage_formats_constr_2 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
-static asn_TYPE_member_t asn_MBR_E2SM_RC_ControlMessage_1[] = {
- { ATF_POINTER, 0, offsetof(struct E2SM_RC_ControlMessage, choice.controlMessage_Format1),
+static asn_TYPE_member_t asn_MBR_ric_controlMessage_formats_2[] = {
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_ControlMessage__ric_controlMessage_formats, choice.controlMessage_Format1),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_E2SM_RC_ControlMessage_Format1,
@@ -27,28 +27,70 @@
"controlMessage-Format1"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlMessage_tag2el_1[] = {
+static const asn_TYPE_tag2member_t asn_MAP_ric_controlMessage_formats_tag2el_2[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* controlMessage-Format1 */
};
-static asn_CHOICE_specifics_t asn_SPC_E2SM_RC_ControlMessage_specs_1 = {
- sizeof(struct E2SM_RC_ControlMessage),
- offsetof(struct E2SM_RC_ControlMessage, _asn_ctx),
- offsetof(struct E2SM_RC_ControlMessage, present),
- sizeof(((struct E2SM_RC_ControlMessage *)0)->present),
- asn_MAP_E2SM_RC_ControlMessage_tag2el_1,
+static asn_CHOICE_specifics_t asn_SPC_ric_controlMessage_formats_specs_2 = {
+ sizeof(struct E2SM_RC_ControlMessage__ric_controlMessage_formats),
+ offsetof(struct E2SM_RC_ControlMessage__ric_controlMessage_formats, _asn_ctx),
+ offsetof(struct E2SM_RC_ControlMessage__ric_controlMessage_formats, present),
+ sizeof(((struct E2SM_RC_ControlMessage__ric_controlMessage_formats *)0)->present),
+ asn_MAP_ric_controlMessage_formats_tag2el_2,
1, /* Count of tags in the map */
0, 0,
1 /* Extensions start */
};
-asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlMessage = {
- "E2SM-RC-ControlMessage",
- "E2SM-RC-ControlMessage",
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_controlMessage_formats_2 = {
+ "ric-controlMessage-formats",
+ "ric-controlMessage-formats",
&asn_OP_CHOICE,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
- { &asn_OER_type_E2SM_RC_ControlMessage_constr_1, &asn_PER_type_E2SM_RC_ControlMessage_constr_1, CHOICE_constraint },
+ { &asn_OER_type_ric_controlMessage_formats_constr_2, &asn_PER_type_ric_controlMessage_formats_constr_2, CHOICE_constraint },
+ asn_MBR_ric_controlMessage_formats_2,
+ 1, /* Elements count */
+ &asn_SPC_ric_controlMessage_formats_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_ControlMessage_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlMessage, ric_controlMessage_formats),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ric_controlMessage_formats_2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-controlMessage-formats"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlMessage_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlMessage_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-controlMessage-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlMessage_specs_1 = {
+ sizeof(struct E2SM_RC_ControlMessage),
+ offsetof(struct E2SM_RC_ControlMessage, _asn_ctx),
+ asn_MAP_E2SM_RC_ControlMessage_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlMessage = {
+ "E2SM-RC-ControlMessage",
+ "E2SM-RC-ControlMessage",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ControlMessage_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ControlMessage_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlMessage_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ControlMessage_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ControlMessage_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlMessage_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
asn_MBR_E2SM_RC_ControlMessage_1,
1, /* Elements count */
&asn_SPC_E2SM_RC_ControlMessage_specs_1 /* Additional specs */
diff --git a/e2sm/lib/E2SM-RC-ControlOutcome-Format1-Item.c b/e2sm/lib/E2SM-RC-ControlOutcome-Format1-Item.c
new file mode 100644
index 0000000..f9b0bfd
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-ControlOutcome-Format1-Item.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ControlOutcome-Format1-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ControlOutcome_Format1_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlOutcome_Format1_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlOutcome_Format1_Item, ranParameter_value),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANParameter_Value,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlOutcome_Format1_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlOutcome_Format1_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlOutcome_Format1_Item_specs_1 = {
+ sizeof(struct E2SM_RC_ControlOutcome_Format1_Item),
+ offsetof(struct E2SM_RC_ControlOutcome_Format1_Item, _asn_ctx),
+ asn_MAP_E2SM_RC_ControlOutcome_Format1_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlOutcome_Format1_Item = {
+ "E2SM-RC-ControlOutcome-Format1-Item",
+ "E2SM-RC-ControlOutcome-Format1-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ControlOutcome_Format1_Item_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ControlOutcome_Format1_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_ControlOutcome_Format1_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_E2SM_RC_ControlOutcome_Format1_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ControlOutcome-Format1.c b/e2sm/lib/E2SM-RC-ControlOutcome-Format1.c
new file mode 100644
index 0000000..8b78e0f
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-ControlOutcome-Format1.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ControlOutcome-Format1.h"
+
+#include "E2SM-RC-ControlOutcome-Format1-Item.h"
+static int
+memb_ranP_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size <= 255)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranP_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..255)) */};
+static asn_per_constraints_t asn_PER_type_ranP_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 8, 8, 0, 255 } /* (SIZE(0..255)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranP_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..255)) */};
+static asn_per_constraints_t asn_PER_memb_ranP_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 8, 8, 0, 255 } /* (SIZE(0..255)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranP_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2SM_RC_ControlOutcome_Format1_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ranP_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranP_List_specs_2 = {
+ sizeof(struct E2SM_RC_ControlOutcome_Format1__ranP_List),
+ offsetof(struct E2SM_RC_ControlOutcome_Format1__ranP_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_List_2 = {
+ "ranP-List",
+ "ranP-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ranP_List_tags_2,
+ sizeof(asn_DEF_ranP_List_tags_2)
+ /sizeof(asn_DEF_ranP_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ranP_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ranP_List_tags_2)
+ /sizeof(asn_DEF_ranP_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ranP_List_constr_2, &asn_PER_type_ranP_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ranP_List_2,
+ 1, /* Single element */
+ &asn_SPC_ranP_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ControlOutcome_Format1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlOutcome_Format1, ranP_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ranP_List_2,
+ 0,
+ { &asn_OER_memb_ranP_List_constr_2, &asn_PER_memb_ranP_List_constr_2, memb_ranP_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ranP-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlOutcome_Format1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlOutcome_Format1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranP-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlOutcome_Format1_specs_1 = {
+ sizeof(struct E2SM_RC_ControlOutcome_Format1),
+ offsetof(struct E2SM_RC_ControlOutcome_Format1, _asn_ctx),
+ asn_MAP_E2SM_RC_ControlOutcome_Format1_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlOutcome_Format1 = {
+ "E2SM-RC-ControlOutcome-Format1",
+ "E2SM-RC-ControlOutcome-Format1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ControlOutcome_Format1_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ControlOutcome_Format1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_ControlOutcome_Format1_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_ControlOutcome_Format1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ControlOutcome.c b/e2sm/lib/E2SM-RC-ControlOutcome.c
new file mode 100644
index 0000000..8e6ce7b
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-ControlOutcome.c
@@ -0,0 +1,98 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ControlOutcome.h"
+
+#include "E2SM-RC-ControlOutcome-Format1.h"
+static asn_oer_constraints_t asn_OER_type_ric_controlOutcome_formats_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_ric_controlOutcome_formats_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_controlOutcome_formats_2[] = {
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_ControlOutcome__ric_controlOutcome_formats, choice.controlOutcome_Format1),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_ControlOutcome_Format1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "controlOutcome-Format1"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ric_controlOutcome_formats_tag2el_2[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* controlOutcome-Format1 */
+};
+static asn_CHOICE_specifics_t asn_SPC_ric_controlOutcome_formats_specs_2 = {
+ sizeof(struct E2SM_RC_ControlOutcome__ric_controlOutcome_formats),
+ offsetof(struct E2SM_RC_ControlOutcome__ric_controlOutcome_formats, _asn_ctx),
+ offsetof(struct E2SM_RC_ControlOutcome__ric_controlOutcome_formats, present),
+ sizeof(((struct E2SM_RC_ControlOutcome__ric_controlOutcome_formats *)0)->present),
+ asn_MAP_ric_controlOutcome_formats_tag2el_2,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ 1 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_controlOutcome_formats_2 = {
+ "ric-controlOutcome-formats",
+ "ric-controlOutcome-formats",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_ric_controlOutcome_formats_constr_2, &asn_PER_type_ric_controlOutcome_formats_constr_2, CHOICE_constraint },
+ asn_MBR_ric_controlOutcome_formats_2,
+ 1, /* Elements count */
+ &asn_SPC_ric_controlOutcome_formats_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_ControlOutcome_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlOutcome, ric_controlOutcome_formats),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ric_controlOutcome_formats_2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-controlOutcome-formats"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlOutcome_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlOutcome_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-controlOutcome-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlOutcome_specs_1 = {
+ sizeof(struct E2SM_RC_ControlOutcome),
+ offsetof(struct E2SM_RC_ControlOutcome, _asn_ctx),
+ asn_MAP_E2SM_RC_ControlOutcome_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlOutcome = {
+ "E2SM-RC-ControlOutcome",
+ "E2SM-RC-ControlOutcome",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_ControlOutcome_tags_1,
+ sizeof(asn_DEF_E2SM_RC_ControlOutcome_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlOutcome_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_ControlOutcome_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_ControlOutcome_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_ControlOutcome_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_ControlOutcome_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_ControlOutcome_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format1-Item.c b/e2sm/lib/E2SM-RC-EventTrigger-Format1-Item.c
new file mode 100644
index 0000000..346cf2e
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-EventTrigger-Format1-Item.c
@@ -0,0 +1,155 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format1-Item.h"
+
+#include "EventTrigger-UE-Info.h"
+#include "EventTrigger-UEevent-Info.h"
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_messageDirection_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_messageDirection_constr_4 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_messageDirection_value2enum_4[] = {
+ { 0, 8, "incoming" },
+ { 1, 8, "outgoing" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_messageDirection_enum2value_4[] = {
+ 0, /* incoming(0) */
+ 1 /* outgoing(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_messageDirection_specs_4 = {
+ asn_MAP_messageDirection_value2enum_4, /* "tag" => N; sorted by tag */
+ asn_MAP_messageDirection_enum2value_4, /* N => "tag"; sorted by N */
+ 2, /* Number of elements in the maps */
+ 3, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_messageDirection_tags_4[] = {
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_messageDirection_4 = {
+ "messageDirection",
+ "messageDirection",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_messageDirection_tags_4,
+ sizeof(asn_DEF_messageDirection_tags_4)
+ /sizeof(asn_DEF_messageDirection_tags_4[0]) - 1, /* 1 */
+ asn_DEF_messageDirection_tags_4, /* Same as above */
+ sizeof(asn_DEF_messageDirection_tags_4)
+ /sizeof(asn_DEF_messageDirection_tags_4[0]), /* 2 */
+ { &asn_OER_type_messageDirection_constr_4, &asn_PER_type_messageDirection_constr_4, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_messageDirection_specs_4 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format1_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format1_Item, ric_eventTriggerCondition_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_EventTriggerCondition_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-eventTriggerCondition-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format1_Item, messageType),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_MessageType_Choice,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "messageType"
+ },
+ { ATF_POINTER, 4, offsetof(struct E2SM_RC_EventTrigger_Format1_Item, messageDirection),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_messageDirection_4,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "messageDirection"
+ },
+ { ATF_POINTER, 3, offsetof(struct E2SM_RC_EventTrigger_Format1_Item, associatedUEInfo),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EventTrigger_UE_Info,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "associatedUEInfo"
+ },
+ { ATF_POINTER, 2, offsetof(struct E2SM_RC_EventTrigger_Format1_Item, associatedUEEvent),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EventTrigger_UEevent_Info,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "associatedUEEvent"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_EventTrigger_Format1_Item, logicalOR),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_LogicalOR,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "logicalOR"
+ },
+};
+static const int asn_MAP_E2SM_RC_EventTrigger_Format1_Item_oms_1[] = { 2, 3, 4, 5 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format1_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format1_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-eventTriggerCondition-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* messageType */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* messageDirection */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* associatedUEInfo */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* associatedUEEvent */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format1_Item_specs_1 = {
+ sizeof(struct E2SM_RC_EventTrigger_Format1_Item),
+ offsetof(struct E2SM_RC_EventTrigger_Format1_Item, _asn_ctx),
+ asn_MAP_E2SM_RC_EventTrigger_Format1_Item_tag2el_1,
+ 6, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_EventTrigger_Format1_Item_oms_1, /* Optional members */
+ 4, 0, /* Root/Additions */
+ 6, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format1_Item = {
+ "E2SM-RC-EventTrigger-Format1-Item",
+ "E2SM-RC-EventTrigger-Format1-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_EventTrigger_Format1_Item_tags_1,
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_EventTrigger_Format1_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_EventTrigger_Format1_Item_1,
+ 6, /* Elements count */
+ &asn_SPC_E2SM_RC_EventTrigger_Format1_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format1.c b/e2sm/lib/E2SM-RC-EventTrigger-Format1.c
new file mode 100644
index 0000000..c8911e9
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-EventTrigger-Format1.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format1.h"
+
+#include "EventTrigger-UE-Info.h"
+#include "E2SM-RC-EventTrigger-Format1-Item.h"
+static int
+memb_message_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_message_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_message_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_message_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_message_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_message_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2SM_RC_EventTrigger_Format1_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_message_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_message_List_specs_2 = {
+ sizeof(struct E2SM_RC_EventTrigger_Format1__message_List),
+ offsetof(struct E2SM_RC_EventTrigger_Format1__message_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_message_List_2 = {
+ "message-List",
+ "message-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_message_List_tags_2,
+ sizeof(asn_DEF_message_List_tags_2)
+ /sizeof(asn_DEF_message_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_message_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_message_List_tags_2)
+ /sizeof(asn_DEF_message_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_message_List_constr_2, &asn_PER_type_message_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_message_List_2,
+ 1, /* Single element */
+ &asn_SPC_message_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format1, message_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_message_List_2,
+ 0,
+ { &asn_OER_memb_message_List_constr_2, &asn_PER_memb_message_List_constr_2, memb_message_List_constraint_1 },
+ 0, 0, /* No default value */
+ "message-List"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_EventTrigger_Format1, globalAssociatedUEInfo),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EventTrigger_UE_Info,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "globalAssociatedUEInfo"
+ },
+};
+static const int asn_MAP_E2SM_RC_EventTrigger_Format1_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* message-List */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* globalAssociatedUEInfo */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format1_specs_1 = {
+ sizeof(struct E2SM_RC_EventTrigger_Format1),
+ offsetof(struct E2SM_RC_EventTrigger_Format1, _asn_ctx),
+ asn_MAP_E2SM_RC_EventTrigger_Format1_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_EventTrigger_Format1_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format1 = {
+ "E2SM-RC-EventTrigger-Format1",
+ "E2SM-RC-EventTrigger-Format1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_EventTrigger_Format1_tags_1,
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_EventTrigger_Format1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_EventTrigger_Format1_1,
+ 2, /* Elements count */
+ &asn_SPC_E2SM_RC_EventTrigger_Format1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format2.c b/e2sm/lib/E2SM-RC-EventTrigger-Format2.c
new file mode 100644
index 0000000..54a8e9d
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-EventTrigger-Format2.c
@@ -0,0 +1,84 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format2.h"
+
+#include "RANParameter-Testing.h"
+#include "EventTrigger-UE-Info.h"
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format2_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format2, ric_callProcessType_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_CallProcessType_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-callProcessType-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format2, ric_callProcessBreakpoint_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_CallProcessBreakpoint_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-callProcessBreakpoint-ID"
+ },
+ { ATF_POINTER, 2, offsetof(struct E2SM_RC_EventTrigger_Format2, associatedE2NodeInfo),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Testing,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "associatedE2NodeInfo"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_EventTrigger_Format2, associatedUEInfo),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EventTrigger_UE_Info,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "associatedUEInfo"
+ },
+};
+static const int asn_MAP_E2SM_RC_EventTrigger_Format2_oms_1[] = { 2, 3 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format2_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format2_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-callProcessType-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-callProcessBreakpoint-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* associatedE2NodeInfo */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* associatedUEInfo */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format2_specs_1 = {
+ sizeof(struct E2SM_RC_EventTrigger_Format2),
+ offsetof(struct E2SM_RC_EventTrigger_Format2, _asn_ctx),
+ asn_MAP_E2SM_RC_EventTrigger_Format2_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_EventTrigger_Format2_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 4, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format2 = {
+ "E2SM-RC-EventTrigger-Format2",
+ "E2SM-RC-EventTrigger-Format2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_EventTrigger_Format2_tags_1,
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format2_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format2_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_EventTrigger_Format2_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format2_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format2_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_EventTrigger_Format2_1,
+ 4, /* Elements count */
+ &asn_SPC_E2SM_RC_EventTrigger_Format2_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format3-Item.c b/e2sm/lib/E2SM-RC-EventTrigger-Format3-Item.c
new file mode 100644
index 0000000..9781e8e
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-EventTrigger-Format3-Item.c
@@ -0,0 +1,116 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format3-Item.h"
+
+#include "EventTrigger-Cell-Info.h"
+static int
+memb_e2NodeInfoChange_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 512)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_memb_e2NodeInfoChange_ID_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_e2NodeInfoChange_ID_constr_3 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 9, 9, 1, 512 } /* (1..512,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format3_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format3_Item, ric_eventTriggerCondition_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_EventTriggerCondition_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-eventTriggerCondition-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format3_Item, e2NodeInfoChange_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_e2NodeInfoChange_ID_constr_3, &asn_PER_memb_e2NodeInfoChange_ID_constr_3, memb_e2NodeInfoChange_ID_constraint_1 },
+ 0, 0, /* No default value */
+ "e2NodeInfoChange-ID"
+ },
+ { ATF_POINTER, 2, offsetof(struct E2SM_RC_EventTrigger_Format3_Item, associatedCellInfo),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EventTrigger_Cell_Info,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "associatedCellInfo"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_EventTrigger_Format3_Item, logicalOR),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_LogicalOR,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "logicalOR"
+ },
+};
+static const int asn_MAP_E2SM_RC_EventTrigger_Format3_Item_oms_1[] = { 2, 3 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format3_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format3_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-eventTriggerCondition-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2NodeInfoChange-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* associatedCellInfo */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format3_Item_specs_1 = {
+ sizeof(struct E2SM_RC_EventTrigger_Format3_Item),
+ offsetof(struct E2SM_RC_EventTrigger_Format3_Item, _asn_ctx),
+ asn_MAP_E2SM_RC_EventTrigger_Format3_Item_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_EventTrigger_Format3_Item_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 4, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format3_Item = {
+ "E2SM-RC-EventTrigger-Format3-Item",
+ "E2SM-RC-EventTrigger-Format3-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_EventTrigger_Format3_Item_tags_1,
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_EventTrigger_Format3_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_EventTrigger_Format3_Item_1,
+ 4, /* Elements count */
+ &asn_SPC_E2SM_RC_EventTrigger_Format3_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format3.c b/e2sm/lib/E2SM-RC-EventTrigger-Format3.c
new file mode 100644
index 0000000..2f0efcd
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-EventTrigger-Format3.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format3.h"
+
+#include "E2SM-RC-EventTrigger-Format3-Item.h"
+static int
+memb_e2NodeInfoChange_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_e2NodeInfoChange_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_e2NodeInfoChange_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_e2NodeInfoChange_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_e2NodeInfoChange_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_e2NodeInfoChange_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2SM_RC_EventTrigger_Format3_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_e2NodeInfoChange_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_e2NodeInfoChange_List_specs_2 = {
+ sizeof(struct E2SM_RC_EventTrigger_Format3__e2NodeInfoChange_List),
+ offsetof(struct E2SM_RC_EventTrigger_Format3__e2NodeInfoChange_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_e2NodeInfoChange_List_2 = {
+ "e2NodeInfoChange-List",
+ "e2NodeInfoChange-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_e2NodeInfoChange_List_tags_2,
+ sizeof(asn_DEF_e2NodeInfoChange_List_tags_2)
+ /sizeof(asn_DEF_e2NodeInfoChange_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_e2NodeInfoChange_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_e2NodeInfoChange_List_tags_2)
+ /sizeof(asn_DEF_e2NodeInfoChange_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_e2NodeInfoChange_List_constr_2, &asn_PER_type_e2NodeInfoChange_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_e2NodeInfoChange_List_2,
+ 1, /* Single element */
+ &asn_SPC_e2NodeInfoChange_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format3_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format3, e2NodeInfoChange_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_e2NodeInfoChange_List_2,
+ 0,
+ { &asn_OER_memb_e2NodeInfoChange_List_constr_2, &asn_PER_memb_e2NodeInfoChange_List_constr_2, memb_e2NodeInfoChange_List_constraint_1 },
+ 0, 0, /* No default value */
+ "e2NodeInfoChange-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format3_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format3_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* e2NodeInfoChange-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format3_specs_1 = {
+ sizeof(struct E2SM_RC_EventTrigger_Format3),
+ offsetof(struct E2SM_RC_EventTrigger_Format3, _asn_ctx),
+ asn_MAP_E2SM_RC_EventTrigger_Format3_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format3 = {
+ "E2SM-RC-EventTrigger-Format3",
+ "E2SM-RC-EventTrigger-Format3",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_EventTrigger_Format3_tags_1,
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_EventTrigger_Format3_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_EventTrigger_Format3_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_EventTrigger_Format3_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format4-Item.c b/e2sm/lib/E2SM-RC-EventTrigger-Format4-Item.c
new file mode 100644
index 0000000..35d496a
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-EventTrigger-Format4-Item.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format4-Item.h"
+
+#include "EventTrigger-UE-Info.h"
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format4_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format4_Item, ric_eventTriggerCondition_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_EventTriggerCondition_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-eventTriggerCondition-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format4_Item, triggerType),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_TriggerType_Choice,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "triggerType"
+ },
+ { ATF_POINTER, 2, offsetof(struct E2SM_RC_EventTrigger_Format4_Item, associatedUEInfo),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EventTrigger_UE_Info,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "associatedUEInfo"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_EventTrigger_Format4_Item, logicalOR),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_LogicalOR,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "logicalOR"
+ },
+};
+static const int asn_MAP_E2SM_RC_EventTrigger_Format4_Item_oms_1[] = { 2, 3 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format4_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format4_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-eventTriggerCondition-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* triggerType */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* associatedUEInfo */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format4_Item_specs_1 = {
+ sizeof(struct E2SM_RC_EventTrigger_Format4_Item),
+ offsetof(struct E2SM_RC_EventTrigger_Format4_Item, _asn_ctx),
+ asn_MAP_E2SM_RC_EventTrigger_Format4_Item_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_EventTrigger_Format4_Item_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 4, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format4_Item = {
+ "E2SM-RC-EventTrigger-Format4-Item",
+ "E2SM-RC-EventTrigger-Format4-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_EventTrigger_Format4_Item_tags_1,
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_EventTrigger_Format4_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_EventTrigger_Format4_Item_1,
+ 4, /* Elements count */
+ &asn_SPC_E2SM_RC_EventTrigger_Format4_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format4.c b/e2sm/lib/E2SM-RC-EventTrigger-Format4.c
new file mode 100644
index 0000000..8fa15b7
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-EventTrigger-Format4.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format4.h"
+
+#include "E2SM-RC-EventTrigger-Format4-Item.h"
+static int
+memb_uEInfoChange_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_uEInfoChange_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_uEInfoChange_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_uEInfoChange_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_uEInfoChange_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_uEInfoChange_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2SM_RC_EventTrigger_Format4_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_uEInfoChange_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_uEInfoChange_List_specs_2 = {
+ sizeof(struct E2SM_RC_EventTrigger_Format4__uEInfoChange_List),
+ offsetof(struct E2SM_RC_EventTrigger_Format4__uEInfoChange_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_uEInfoChange_List_2 = {
+ "uEInfoChange-List",
+ "uEInfoChange-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_uEInfoChange_List_tags_2,
+ sizeof(asn_DEF_uEInfoChange_List_tags_2)
+ /sizeof(asn_DEF_uEInfoChange_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_uEInfoChange_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_uEInfoChange_List_tags_2)
+ /sizeof(asn_DEF_uEInfoChange_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_uEInfoChange_List_constr_2, &asn_PER_type_uEInfoChange_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_uEInfoChange_List_2,
+ 1, /* Single element */
+ &asn_SPC_uEInfoChange_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format4_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format4, uEInfoChange_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_uEInfoChange_List_2,
+ 0,
+ { &asn_OER_memb_uEInfoChange_List_constr_2, &asn_PER_memb_uEInfoChange_List_constr_2, memb_uEInfoChange_List_constraint_1 },
+ 0, 0, /* No default value */
+ "uEInfoChange-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format4_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format4_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* uEInfoChange-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format4_specs_1 = {
+ sizeof(struct E2SM_RC_EventTrigger_Format4),
+ offsetof(struct E2SM_RC_EventTrigger_Format4, _asn_ctx),
+ asn_MAP_E2SM_RC_EventTrigger_Format4_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format4 = {
+ "E2SM-RC-EventTrigger-Format4",
+ "E2SM-RC-EventTrigger-Format4",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_EventTrigger_Format4_tags_1,
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_EventTrigger_Format4_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_EventTrigger_Format4_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_EventTrigger_Format4_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format5.c b/e2sm/lib/E2SM-RC-EventTrigger-Format5.c
new file mode 100644
index 0000000..f7ebe17
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-EventTrigger-Format5.c
@@ -0,0 +1,123 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format5.h"
+
+#include "EventTrigger-UE-Info.h"
+#include "EventTrigger-Cell-Info.h"
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_onDemand_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_onDemand_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_onDemand_value2enum_2[] = {
+ { 0, 4, "true" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_onDemand_enum2value_2[] = {
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_onDemand_specs_2 = {
+ asn_MAP_onDemand_value2enum_2, /* "tag" => N; sorted by tag */
+ asn_MAP_onDemand_enum2value_2, /* N => "tag"; sorted by N */
+ 1, /* Number of elements in the maps */
+ 2, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_onDemand_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_onDemand_2 = {
+ "onDemand",
+ "onDemand",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_onDemand_tags_2,
+ sizeof(asn_DEF_onDemand_tags_2)
+ /sizeof(asn_DEF_onDemand_tags_2[0]) - 1, /* 1 */
+ asn_DEF_onDemand_tags_2, /* Same as above */
+ sizeof(asn_DEF_onDemand_tags_2)
+ /sizeof(asn_DEF_onDemand_tags_2[0]), /* 2 */
+ { &asn_OER_type_onDemand_constr_2, &asn_PER_type_onDemand_constr_2, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_onDemand_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format5_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format5, onDemand),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_onDemand_2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "onDemand"
+ },
+ { ATF_POINTER, 2, offsetof(struct E2SM_RC_EventTrigger_Format5, associatedUEInfo),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EventTrigger_UE_Info,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "associatedUEInfo"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_EventTrigger_Format5, associatedCellInfo),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EventTrigger_Cell_Info,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "associatedCellInfo"
+ },
+};
+static const int asn_MAP_E2SM_RC_EventTrigger_Format5_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format5_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format5_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* onDemand */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* associatedUEInfo */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* associatedCellInfo */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format5_specs_1 = {
+ sizeof(struct E2SM_RC_EventTrigger_Format5),
+ offsetof(struct E2SM_RC_EventTrigger_Format5, _asn_ctx),
+ asn_MAP_E2SM_RC_EventTrigger_Format5_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_EventTrigger_Format5_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format5 = {
+ "E2SM-RC-EventTrigger-Format5",
+ "E2SM-RC-EventTrigger-Format5",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_EventTrigger_Format5_tags_1,
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format5_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format5_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_EventTrigger_Format5_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_Format5_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format5_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_EventTrigger_Format5_1,
+ 3, /* Elements count */
+ &asn_SPC_E2SM_RC_EventTrigger_Format5_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger.c b/e2sm/lib/E2SM-RC-EventTrigger.c
new file mode 100644
index 0000000..6991f39
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-EventTrigger.c
@@ -0,0 +1,142 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger.h"
+
+#include "E2SM-RC-EventTrigger-Format1.h"
+#include "E2SM-RC-EventTrigger-Format2.h"
+#include "E2SM-RC-EventTrigger-Format3.h"
+#include "E2SM-RC-EventTrigger-Format4.h"
+#include "E2SM-RC-EventTrigger-Format5.h"
+static asn_oer_constraints_t asn_OER_type_ric_eventTrigger_formats_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_ric_eventTrigger_formats_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_eventTrigger_formats_2[] = {
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats, choice.eventTrigger_Format1),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_EventTrigger_Format1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eventTrigger-Format1"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats, choice.eventTrigger_Format2),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_EventTrigger_Format2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eventTrigger-Format2"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats, choice.eventTrigger_Format3),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_EventTrigger_Format3,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eventTrigger-Format3"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats, choice.eventTrigger_Format4),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_EventTrigger_Format4,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eventTrigger-Format4"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats, choice.eventTrigger_Format5),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_EventTrigger_Format5,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eventTrigger-Format5"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ric_eventTrigger_formats_tag2el_2[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventTrigger-Format1 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eventTrigger-Format2 */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* eventTrigger-Format3 */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* eventTrigger-Format4 */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* eventTrigger-Format5 */
+};
+static asn_CHOICE_specifics_t asn_SPC_ric_eventTrigger_formats_specs_2 = {
+ sizeof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats),
+ offsetof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats, _asn_ctx),
+ offsetof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats, present),
+ sizeof(((struct E2SM_RC_EventTrigger__ric_eventTrigger_formats *)0)->present),
+ asn_MAP_ric_eventTrigger_formats_tag2el_2,
+ 5, /* Count of tags in the map */
+ 0, 0,
+ 5 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_eventTrigger_formats_2 = {
+ "ric-eventTrigger-formats",
+ "ric-eventTrigger-formats",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_ric_eventTrigger_formats_constr_2, &asn_PER_type_ric_eventTrigger_formats_constr_2, CHOICE_constraint },
+ asn_MBR_ric_eventTrigger_formats_2,
+ 5, /* Elements count */
+ &asn_SPC_ric_eventTrigger_formats_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger, ric_eventTrigger_formats),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ric_eventTrigger_formats_2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-eventTrigger-formats"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-eventTrigger-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_specs_1 = {
+ sizeof(struct E2SM_RC_EventTrigger),
+ offsetof(struct E2SM_RC_EventTrigger, _asn_ctx),
+ asn_MAP_E2SM_RC_EventTrigger_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger = {
+ "E2SM-RC-EventTrigger",
+ "E2SM-RC-EventTrigger",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_EventTrigger_tags_1,
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_EventTrigger_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_EventTrigger_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_EventTrigger_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_EventTrigger_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_EventTrigger_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationHeader-Format1.c b/e2sm/lib/E2SM-RC-IndicationHeader-Format1.c
new file mode 100644
index 0000000..7a880ae
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationHeader-Format1.c
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationHeader-Format1.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationHeader_Format1_1[] = {
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_IndicationHeader_Format1, ric_eventTriggerCondition_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_EventTriggerCondition_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-eventTriggerCondition-ID"
+ },
+};
+static const int asn_MAP_E2SM_RC_IndicationHeader_Format1_oms_1[] = { 0 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationHeader_Format1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationHeader_Format1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-eventTriggerCondition-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationHeader_Format1_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationHeader_Format1),
+ offsetof(struct E2SM_RC_IndicationHeader_Format1, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationHeader_Format1_tag2el_1,
+ 1, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_IndicationHeader_Format1_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationHeader_Format1 = {
+ "E2SM-RC-IndicationHeader-Format1",
+ "E2SM-RC-IndicationHeader-Format1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationHeader_Format1_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format1_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationHeader_Format1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationHeader_Format1_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationHeader_Format1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationHeader-Format2.c b/e2sm/lib/E2SM-RC-IndicationHeader-Format2.c
new file mode 100644
index 0000000..4b7724c
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationHeader-Format2.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationHeader-Format2.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationHeader_Format2_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationHeader_Format2, ueID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_UEID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ueID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationHeader_Format2, ric_InsertStyle_Type),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-InsertStyle-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationHeader_Format2, ric_InsertIndication_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_InsertIndication_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-InsertIndication-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationHeader_Format2_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationHeader_Format2_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-InsertStyle-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-InsertIndication-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationHeader_Format2_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationHeader_Format2),
+ offsetof(struct E2SM_RC_IndicationHeader_Format2, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationHeader_Format2_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationHeader_Format2 = {
+ "E2SM-RC-IndicationHeader-Format2",
+ "E2SM-RC-IndicationHeader-Format2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationHeader_Format2_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format2_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format2_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationHeader_Format2_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format2_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format2_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationHeader_Format2_1,
+ 3, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationHeader_Format2_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationHeader.c b/e2sm/lib/E2SM-RC-IndicationHeader.c
new file mode 100644
index 0000000..c5764a4
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationHeader.c
@@ -0,0 +1,109 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationHeader.h"
+
+#include "E2SM-RC-IndicationHeader-Format1.h"
+#include "E2SM-RC-IndicationHeader-Format2.h"
+static asn_oer_constraints_t asn_OER_type_ric_indicationHeader_formats_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_ric_indicationHeader_formats_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_indicationHeader_formats_2[] = {
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_IndicationHeader__ric_indicationHeader_formats, choice.indicationHeader_Format1),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_IndicationHeader_Format1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "indicationHeader-Format1"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_IndicationHeader__ric_indicationHeader_formats, choice.indicationHeader_Format2),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_IndicationHeader_Format2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "indicationHeader-Format2"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ric_indicationHeader_formats_tag2el_2[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* indicationHeader-Format1 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* indicationHeader-Format2 */
+};
+static asn_CHOICE_specifics_t asn_SPC_ric_indicationHeader_formats_specs_2 = {
+ sizeof(struct E2SM_RC_IndicationHeader__ric_indicationHeader_formats),
+ offsetof(struct E2SM_RC_IndicationHeader__ric_indicationHeader_formats, _asn_ctx),
+ offsetof(struct E2SM_RC_IndicationHeader__ric_indicationHeader_formats, present),
+ sizeof(((struct E2SM_RC_IndicationHeader__ric_indicationHeader_formats *)0)->present),
+ asn_MAP_ric_indicationHeader_formats_tag2el_2,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_indicationHeader_formats_2 = {
+ "ric-indicationHeader-formats",
+ "ric-indicationHeader-formats",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_ric_indicationHeader_formats_constr_2, &asn_PER_type_ric_indicationHeader_formats_constr_2, CHOICE_constraint },
+ asn_MBR_ric_indicationHeader_formats_2,
+ 2, /* Elements count */
+ &asn_SPC_ric_indicationHeader_formats_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationHeader_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationHeader, ric_indicationHeader_formats),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ric_indicationHeader_formats_2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-indicationHeader-formats"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationHeader_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationHeader_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-indicationHeader-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationHeader_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationHeader),
+ offsetof(struct E2SM_RC_IndicationHeader, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationHeader_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationHeader = {
+ "E2SM-RC-IndicationHeader",
+ "E2SM-RC-IndicationHeader",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationHeader_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationHeader_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationHeader_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationHeader_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationHeader_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationHeader_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationHeader_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationHeader_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format1-Item.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format1-Item.c
new file mode 100644
index 0000000..b84dcc1
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationMessage-Format1-Item.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format1-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format1_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format1_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format1_Item, ranParameter_valueType),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANParameter_ValueType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-valueType"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format1_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format1_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-valueType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format1_Item_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format1_Item),
+ offsetof(struct E2SM_RC_IndicationMessage_Format1_Item, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationMessage_Format1_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format1_Item = {
+ "E2SM-RC-IndicationMessage-Format1-Item",
+ "E2SM-RC-IndicationMessage-Format1-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationMessage_Format1_Item_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationMessage_Format1_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationMessage_Format1_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationMessage_Format1_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format1.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format1.c
new file mode 100644
index 0000000..0395dbd
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationMessage-Format1.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format1.h"
+
+#include "E2SM-RC-IndicationMessage-Format1-Item.h"
+static int
+memb_ranP_Reported_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranP_Reported_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranP_Reported_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranP_Reported_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranP_Reported_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranP_Reported_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2SM_RC_IndicationMessage_Format1_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ranP_Reported_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranP_Reported_List_specs_2 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format1__ranP_Reported_List),
+ offsetof(struct E2SM_RC_IndicationMessage_Format1__ranP_Reported_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_Reported_List_2 = {
+ "ranP-Reported-List",
+ "ranP-Reported-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ranP_Reported_List_tags_2,
+ sizeof(asn_DEF_ranP_Reported_List_tags_2)
+ /sizeof(asn_DEF_ranP_Reported_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ranP_Reported_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ranP_Reported_List_tags_2)
+ /sizeof(asn_DEF_ranP_Reported_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ranP_Reported_List_constr_2, &asn_PER_type_ranP_Reported_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ranP_Reported_List_2,
+ 1, /* Single element */
+ &asn_SPC_ranP_Reported_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format1, ranP_Reported_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ranP_Reported_List_2,
+ 0,
+ { &asn_OER_memb_ranP_Reported_List_constr_2, &asn_PER_memb_ranP_Reported_List_constr_2, memb_ranP_Reported_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ranP-Reported-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranP-Reported-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format1_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format1),
+ offsetof(struct E2SM_RC_IndicationMessage_Format1, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationMessage_Format1_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format1 = {
+ "E2SM-RC-IndicationMessage-Format1",
+ "E2SM-RC-IndicationMessage-Format1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationMessage_Format1_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationMessage_Format1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationMessage_Format1_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationMessage_Format1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format2-Item.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format2-Item.c
new file mode 100644
index 0000000..5091cd5
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationMessage-Format2-Item.c
@@ -0,0 +1,140 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format2-Item.h"
+
+#include "E2SM-RC-IndicationMessage-Format2-RANParameter-Item.h"
+static int
+memb_ranP_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranP_List_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranP_List_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranP_List_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranP_List_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranP_List_3[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ranP_List_tags_3[] = {
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranP_List_specs_3 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format2_Item__ranP_List),
+ offsetof(struct E2SM_RC_IndicationMessage_Format2_Item__ranP_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_List_3 = {
+ "ranP-List",
+ "ranP-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ranP_List_tags_3,
+ sizeof(asn_DEF_ranP_List_tags_3)
+ /sizeof(asn_DEF_ranP_List_tags_3[0]) - 1, /* 1 */
+ asn_DEF_ranP_List_tags_3, /* Same as above */
+ sizeof(asn_DEF_ranP_List_tags_3)
+ /sizeof(asn_DEF_ranP_List_tags_3[0]), /* 2 */
+ { &asn_OER_type_ranP_List_constr_3, &asn_PER_type_ranP_List_constr_3, SEQUENCE_OF_constraint },
+ asn_MBR_ranP_List_3,
+ 1, /* Single element */
+ &asn_SPC_ranP_List_specs_3 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format2_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format2_Item, ueID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_UEID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ueID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format2_Item, ranP_List),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ 0,
+ &asn_DEF_ranP_List_3,
+ 0,
+ { &asn_OER_memb_ranP_List_constr_3, &asn_PER_memb_ranP_List_constr_3, memb_ranP_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ranP-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format2_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format2_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranP-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format2_Item_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format2_Item),
+ offsetof(struct E2SM_RC_IndicationMessage_Format2_Item, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationMessage_Format2_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format2_Item = {
+ "E2SM-RC-IndicationMessage-Format2-Item",
+ "E2SM-RC-IndicationMessage-Format2-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationMessage_Format2_Item_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationMessage_Format2_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationMessage_Format2_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationMessage_Format2_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format2-RANParameter-Item.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format2-RANParameter-Item.c
new file mode 100644
index 0000000..c750920
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationMessage-Format2-RANParameter-Item.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format2-RANParameter-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format2_RANParameter_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format2_RANParameter_Item, ranParameter_valueType),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANParameter_ValueType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-valueType"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-valueType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format2_RANParameter_Item),
+ offsetof(struct E2SM_RC_IndicationMessage_Format2_RANParameter_Item, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item = {
+ "E2SM-RC-IndicationMessage-Format2-RANParameter-Item",
+ "E2SM-RC-IndicationMessage-Format2-RANParameter-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format2.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format2.c
new file mode 100644
index 0000000..a4210cc
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationMessage-Format2.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format2.h"
+
+#include "E2SM-RC-IndicationMessage-Format2-Item.h"
+static int
+memb_ueParameter_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ueParameter_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ueParameter_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ueParameter_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ueParameter_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ueParameter_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2SM_RC_IndicationMessage_Format2_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ueParameter_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ueParameter_List_specs_2 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format2__ueParameter_List),
+ offsetof(struct E2SM_RC_IndicationMessage_Format2__ueParameter_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ueParameter_List_2 = {
+ "ueParameter-List",
+ "ueParameter-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ueParameter_List_tags_2,
+ sizeof(asn_DEF_ueParameter_List_tags_2)
+ /sizeof(asn_DEF_ueParameter_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ueParameter_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ueParameter_List_tags_2)
+ /sizeof(asn_DEF_ueParameter_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ueParameter_List_constr_2, &asn_PER_type_ueParameter_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ueParameter_List_2,
+ 1, /* Single element */
+ &asn_SPC_ueParameter_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format2_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format2, ueParameter_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ueParameter_List_2,
+ 0,
+ { &asn_OER_memb_ueParameter_List_constr_2, &asn_PER_memb_ueParameter_List_constr_2, memb_ueParameter_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ueParameter-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format2_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format2_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueParameter-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format2_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format2),
+ offsetof(struct E2SM_RC_IndicationMessage_Format2, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationMessage_Format2_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format2 = {
+ "E2SM-RC-IndicationMessage-Format2",
+ "E2SM-RC-IndicationMessage-Format2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationMessage_Format2_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationMessage_Format2_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationMessage_Format2_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationMessage_Format2_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format3-Item.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format3-Item.c
new file mode 100644
index 0000000..2dd2b21
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationMessage-Format3-Item.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format3-Item.h"
+
+#include "NeighborRelation-Info.h"
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format3_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format3_Item, cellGlobal_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_CGI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellGlobal-ID"
+ },
+ { ATF_POINTER, 3, offsetof(struct E2SM_RC_IndicationMessage_Format3_Item, cellContextInfo),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_OCTET_STRING,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellContextInfo"
+ },
+ { ATF_POINTER, 2, offsetof(struct E2SM_RC_IndicationMessage_Format3_Item, cellDeleted),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BOOLEAN,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellDeleted"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_IndicationMessage_Format3_Item, neighborRelation_Table),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NeighborRelation_Info,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "neighborRelation-Table"
+ },
+};
+static const int asn_MAP_E2SM_RC_IndicationMessage_Format3_Item_oms_1[] = { 1, 2, 3 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format3_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format3_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellGlobal-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellContextInfo */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* cellDeleted */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* neighborRelation-Table */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format3_Item_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format3_Item),
+ offsetof(struct E2SM_RC_IndicationMessage_Format3_Item, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationMessage_Format3_Item_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_IndicationMessage_Format3_Item_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 4, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format3_Item = {
+ "E2SM-RC-IndicationMessage-Format3-Item",
+ "E2SM-RC-IndicationMessage-Format3-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationMessage_Format3_Item_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationMessage_Format3_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationMessage_Format3_Item_1,
+ 4, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationMessage_Format3_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format3.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format3.c
new file mode 100644
index 0000000..2573d44
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationMessage-Format3.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format3.h"
+
+#include "E2SM-RC-IndicationMessage-Format3-Item.h"
+static int
+memb_cellInfo_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_cellInfo_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_cellInfo_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_cellInfo_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_cellInfo_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_cellInfo_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2SM_RC_IndicationMessage_Format3_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_cellInfo_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_cellInfo_List_specs_2 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format3__cellInfo_List),
+ offsetof(struct E2SM_RC_IndicationMessage_Format3__cellInfo_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_cellInfo_List_2 = {
+ "cellInfo-List",
+ "cellInfo-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_cellInfo_List_tags_2,
+ sizeof(asn_DEF_cellInfo_List_tags_2)
+ /sizeof(asn_DEF_cellInfo_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_cellInfo_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_cellInfo_List_tags_2)
+ /sizeof(asn_DEF_cellInfo_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_cellInfo_List_constr_2, &asn_PER_type_cellInfo_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_cellInfo_List_2,
+ 1, /* Single element */
+ &asn_SPC_cellInfo_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format3_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format3, cellInfo_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_cellInfo_List_2,
+ 0,
+ { &asn_OER_memb_cellInfo_List_constr_2, &asn_PER_memb_cellInfo_List_constr_2, memb_cellInfo_List_constraint_1 },
+ 0, 0, /* No default value */
+ "cellInfo-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format3_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format3_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cellInfo-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format3_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format3),
+ offsetof(struct E2SM_RC_IndicationMessage_Format3, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationMessage_Format3_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format3 = {
+ "E2SM-RC-IndicationMessage-Format3",
+ "E2SM-RC-IndicationMessage-Format3",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationMessage_Format3_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationMessage_Format3_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationMessage_Format3_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationMessage_Format3_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format4-ItemCell.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format4-ItemCell.c
new file mode 100644
index 0000000..113d318
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationMessage-Format4-ItemCell.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format4-ItemCell.h"
+
+#include "NeighborRelation-Info.h"
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format4_ItemCell_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemCell, cellGlobal_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_CGI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellGlobal-ID"
+ },
+ { ATF_POINTER, 2, offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemCell, cellContextInfo),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_OCTET_STRING,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellContextInfo"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemCell, neighborRelation_Table),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NeighborRelation_Info,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "neighborRelation-Table"
+ },
+};
+static const int asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemCell_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemCell_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellGlobal-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellContextInfo */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* neighborRelation-Table */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format4_ItemCell_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format4_ItemCell),
+ offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemCell, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemCell_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemCell_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell = {
+ "E2SM-RC-IndicationMessage-Format4-ItemCell",
+ "E2SM-RC-IndicationMessage-Format4-ItemCell",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationMessage_Format4_ItemCell_1,
+ 3, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationMessage_Format4_ItemCell_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format4-ItemUE.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format4-ItemUE.c
new file mode 100644
index 0000000..857e906
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationMessage-Format4-ItemUE.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format4-ItemUE.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format4_ItemUE_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemUE, ueID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_UEID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ueID"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemUE, ueContextInfo),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_OCTET_STRING,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ueContextInfo"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemUE, cellGlobal_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_CGI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellGlobal-ID"
+ },
+};
+static const int asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemUE_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemUE_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ueContextInfo */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* cellGlobal-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format4_ItemUE_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format4_ItemUE),
+ offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemUE, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemUE_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemUE_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE = {
+ "E2SM-RC-IndicationMessage-Format4-ItemUE",
+ "E2SM-RC-IndicationMessage-Format4-ItemUE",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationMessage_Format4_ItemUE_1,
+ 3, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationMessage_Format4_ItemUE_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format4.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format4.c
new file mode 100644
index 0000000..dfcc96a
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationMessage-Format4.c
@@ -0,0 +1,220 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format4.h"
+
+#include "E2SM-RC-IndicationMessage-Format4-ItemUE.h"
+#include "E2SM-RC-IndicationMessage-Format4-ItemCell.h"
+static int
+memb_ueInfo_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_cellInfo_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ueInfo_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_type_ueInfo_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_cellInfo_List_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_type_cellInfo_List_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ueInfo_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ueInfo_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_cellInfo_List_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_memb_cellInfo_List_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ueInfo_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ueInfo_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ueInfo_List_specs_2 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format4__ueInfo_List),
+ offsetof(struct E2SM_RC_IndicationMessage_Format4__ueInfo_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ueInfo_List_2 = {
+ "ueInfo-List",
+ "ueInfo-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ueInfo_List_tags_2,
+ sizeof(asn_DEF_ueInfo_List_tags_2)
+ /sizeof(asn_DEF_ueInfo_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ueInfo_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ueInfo_List_tags_2)
+ /sizeof(asn_DEF_ueInfo_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ueInfo_List_constr_2, &asn_PER_type_ueInfo_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ueInfo_List_2,
+ 1, /* Single element */
+ &asn_SPC_ueInfo_List_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_cellInfo_List_4[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_cellInfo_List_tags_4[] = {
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_cellInfo_List_specs_4 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format4__cellInfo_List),
+ offsetof(struct E2SM_RC_IndicationMessage_Format4__cellInfo_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_cellInfo_List_4 = {
+ "cellInfo-List",
+ "cellInfo-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_cellInfo_List_tags_4,
+ sizeof(asn_DEF_cellInfo_List_tags_4)
+ /sizeof(asn_DEF_cellInfo_List_tags_4[0]) - 1, /* 1 */
+ asn_DEF_cellInfo_List_tags_4, /* Same as above */
+ sizeof(asn_DEF_cellInfo_List_tags_4)
+ /sizeof(asn_DEF_cellInfo_List_tags_4[0]), /* 2 */
+ { &asn_OER_type_cellInfo_List_constr_4, &asn_PER_type_cellInfo_List_constr_4, SEQUENCE_OF_constraint },
+ asn_MBR_cellInfo_List_4,
+ 1, /* Single element */
+ &asn_SPC_cellInfo_List_specs_4 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format4_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format4, ueInfo_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ueInfo_List_2,
+ 0,
+ { &asn_OER_memb_ueInfo_List_constr_2, &asn_PER_memb_ueInfo_List_constr_2, memb_ueInfo_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ueInfo-List"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format4, cellInfo_List),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ 0,
+ &asn_DEF_cellInfo_List_4,
+ 0,
+ { &asn_OER_memb_cellInfo_List_constr_4, &asn_PER_memb_cellInfo_List_constr_4, memb_cellInfo_List_constraint_1 },
+ 0, 0, /* No default value */
+ "cellInfo-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format4_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format4_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueInfo-List */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cellInfo-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format4_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format4),
+ offsetof(struct E2SM_RC_IndicationMessage_Format4, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationMessage_Format4_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format4 = {
+ "E2SM-RC-IndicationMessage-Format4",
+ "E2SM-RC-IndicationMessage-Format4",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationMessage_Format4_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationMessage_Format4_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationMessage_Format4_1,
+ 2, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationMessage_Format4_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format5-Item.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format5-Item.c
new file mode 100644
index 0000000..3b9541d
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationMessage-Format5-Item.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format5-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format5_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format5_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format5_Item, ranParameter_valueType),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANParameter_ValueType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-valueType"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format5_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format5_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-valueType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format5_Item_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format5_Item),
+ offsetof(struct E2SM_RC_IndicationMessage_Format5_Item, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationMessage_Format5_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format5_Item = {
+ "E2SM-RC-IndicationMessage-Format5-Item",
+ "E2SM-RC-IndicationMessage-Format5-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationMessage_Format5_Item_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationMessage_Format5_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_Item_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationMessage_Format5_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationMessage_Format5_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format5.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format5.c
new file mode 100644
index 0000000..3a5f71b
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationMessage-Format5.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format5.h"
+
+#include "E2SM-RC-IndicationMessage-Format5-Item.h"
+static int
+memb_ranP_Requested_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranP_Requested_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranP_Requested_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranP_Requested_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranP_Requested_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranP_Requested_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2SM_RC_IndicationMessage_Format5_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ranP_Requested_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranP_Requested_List_specs_2 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format5__ranP_Requested_List),
+ offsetof(struct E2SM_RC_IndicationMessage_Format5__ranP_Requested_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_Requested_List_2 = {
+ "ranP-Requested-List",
+ "ranP-Requested-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ranP_Requested_List_tags_2,
+ sizeof(asn_DEF_ranP_Requested_List_tags_2)
+ /sizeof(asn_DEF_ranP_Requested_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ranP_Requested_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ranP_Requested_List_tags_2)
+ /sizeof(asn_DEF_ranP_Requested_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ranP_Requested_List_constr_2, &asn_PER_type_ranP_Requested_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ranP_Requested_List_2,
+ 1, /* Single element */
+ &asn_SPC_ranP_Requested_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format5_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format5, ranP_Requested_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ranP_Requested_List_2,
+ 0,
+ { &asn_OER_memb_ranP_Requested_List_constr_2, &asn_PER_memb_ranP_Requested_List_constr_2, memb_ranP_Requested_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ranP-Requested-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format5_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format5_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranP-Requested-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format5_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationMessage_Format5),
+ offsetof(struct E2SM_RC_IndicationMessage_Format5, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationMessage_Format5_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format5 = {
+ "E2SM-RC-IndicationMessage-Format5",
+ "E2SM-RC-IndicationMessage-Format5",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationMessage_Format5_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationMessage_Format5_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationMessage_Format5_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationMessage_Format5_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage.c b/e2sm/lib/E2SM-RC-IndicationMessage.c
new file mode 100644
index 0000000..3a4cd00
--- /dev/null
+++ b/e2sm/lib/E2SM-RC-IndicationMessage.c
@@ -0,0 +1,142 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage.h"
+
+#include "E2SM-RC-IndicationMessage-Format1.h"
+#include "E2SM-RC-IndicationMessage-Format2.h"
+#include "E2SM-RC-IndicationMessage-Format3.h"
+#include "E2SM-RC-IndicationMessage-Format4.h"
+#include "E2SM-RC-IndicationMessage-Format5.h"
+static asn_oer_constraints_t asn_OER_type_ric_indicationMessage_formats_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_ric_indicationMessage_formats_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_indicationMessage_formats_2[] = {
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats, choice.indicationMessage_Format1),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_IndicationMessage_Format1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "indicationMessage-Format1"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats, choice.indicationMessage_Format2),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_IndicationMessage_Format2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "indicationMessage-Format2"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats, choice.indicationMessage_Format3),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_IndicationMessage_Format3,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "indicationMessage-Format3"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats, choice.indicationMessage_Format4),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_IndicationMessage_Format4,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "indicationMessage-Format4"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats, choice.indicationMessage_Format5),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2SM_RC_IndicationMessage_Format5,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "indicationMessage-Format5"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ric_indicationMessage_formats_tag2el_2[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* indicationMessage-Format1 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* indicationMessage-Format2 */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* indicationMessage-Format3 */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* indicationMessage-Format4 */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* indicationMessage-Format5 */
+};
+static asn_CHOICE_specifics_t asn_SPC_ric_indicationMessage_formats_specs_2 = {
+ sizeof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats),
+ offsetof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats, _asn_ctx),
+ offsetof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats, present),
+ sizeof(((struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats *)0)->present),
+ asn_MAP_ric_indicationMessage_formats_tag2el_2,
+ 5, /* Count of tags in the map */
+ 0, 0,
+ 5 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_indicationMessage_formats_2 = {
+ "ric-indicationMessage-formats",
+ "ric-indicationMessage-formats",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_ric_indicationMessage_formats_constr_2, &asn_PER_type_ric_indicationMessage_formats_constr_2, CHOICE_constraint },
+ asn_MBR_ric_indicationMessage_formats_2,
+ 5, /* Elements count */
+ &asn_SPC_ric_indicationMessage_formats_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage, ric_indicationMessage_formats),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ric_indicationMessage_formats_2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-indicationMessage-formats"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-indicationMessage-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_specs_1 = {
+ sizeof(struct E2SM_RC_IndicationMessage),
+ offsetof(struct E2SM_RC_IndicationMessage, _asn_ctx),
+ asn_MAP_E2SM_RC_IndicationMessage_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage = {
+ "E2SM-RC-IndicationMessage",
+ "E2SM-RC-IndicationMessage",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2SM_RC_IndicationMessage_tags_1,
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_tags_1[0]), /* 1 */
+ asn_DEF_E2SM_RC_IndicationMessage_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2SM_RC_IndicationMessage_tags_1)
+ /sizeof(asn_DEF_E2SM_RC_IndicationMessage_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2SM_RC_IndicationMessage_1,
+ 1, /* Elements count */
+ &asn_SPC_E2SM_RC_IndicationMessage_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-RANFunctionDefinition.c b/e2sm/lib/E2SM-RC-RANFunctionDefinition.c
index e3ff8fe..dddb336 100644
--- a/e2sm/lib/E2SM-RC-RANFunctionDefinition.c
+++ b/e2sm/lib/E2SM-RC-RANFunctionDefinition.c
@@ -1,172 +1,17 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
#include "E2SM-RC-RANFunctionDefinition.h"
-#include "RIC-EventTriggerStyle-Item.h"
-#include "RIC-ControlStyle-Item.h"
-static int
-memb_ric_EventTriggerStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 63)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int
-memb_ric_ControlStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 63)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_type_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_type_ric_ControlStyle_List_constr_5 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_type_ric_ControlStyle_List_constr_5 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_memb_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ric_ControlStyle_List_constr_5 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_memb_ric_ControlStyle_List_constr_5 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_ric_EventTriggerStyle_List_3[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_RIC_EventTriggerStyle_Item,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_ric_EventTriggerStyle_List_tags_3[] = {
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_ric_EventTriggerStyle_List_specs_3 = {
- sizeof(struct E2SM_RC_RANFunctionDefinition__ric_EventTriggerStyle_List),
- offsetof(struct E2SM_RC_RANFunctionDefinition__ric_EventTriggerStyle_List, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_ric_EventTriggerStyle_List_3 = {
- "ric-EventTriggerStyle-List",
- "ric-EventTriggerStyle-List",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_ric_EventTriggerStyle_List_tags_3,
- sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3)
- /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3[0]) - 1, /* 1 */
- asn_DEF_ric_EventTriggerStyle_List_tags_3, /* Same as above */
- sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3)
- /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3[0]), /* 2 */
- { &asn_OER_type_ric_EventTriggerStyle_List_constr_3, &asn_PER_type_ric_EventTriggerStyle_List_constr_3, SEQUENCE_OF_constraint },
- asn_MBR_ric_EventTriggerStyle_List_3,
- 1, /* Single element */
- &asn_SPC_ric_EventTriggerStyle_List_specs_3 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_ric_ControlStyle_List_5[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_RIC_ControlStyle_Item,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_ric_ControlStyle_List_tags_5[] = {
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_ric_ControlStyle_List_specs_5 = {
- sizeof(struct E2SM_RC_RANFunctionDefinition__ric_ControlStyle_List),
- offsetof(struct E2SM_RC_RANFunctionDefinition__ric_ControlStyle_List, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_ric_ControlStyle_List_5 = {
- "ric-ControlStyle-List",
- "ric-ControlStyle-List",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_ric_ControlStyle_List_tags_5,
- sizeof(asn_DEF_ric_ControlStyle_List_tags_5)
- /sizeof(asn_DEF_ric_ControlStyle_List_tags_5[0]) - 1, /* 1 */
- asn_DEF_ric_ControlStyle_List_tags_5, /* Same as above */
- sizeof(asn_DEF_ric_ControlStyle_List_tags_5)
- /sizeof(asn_DEF_ric_ControlStyle_List_tags_5[0]), /* 2 */
- { &asn_OER_type_ric_ControlStyle_List_constr_5, &asn_PER_type_ric_ControlStyle_List_constr_5, SEQUENCE_OF_constraint },
- asn_MBR_ric_ControlStyle_List_5,
- 1, /* Single element */
- &asn_SPC_ric_ControlStyle_List_specs_5 /* Additional specs */
-};
-
+#include "RANFunctionDefinition-EventTrigger.h"
+#include "RANFunctionDefinition-Report.h"
+#include "RANFunctionDefinition-Insert.h"
+#include "RANFunctionDefinition-Control.h"
+#include "RANFunctionDefinition-Policy.h"
static asn_TYPE_member_t asn_MBR_E2SM_RC_RANFunctionDefinition_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_RANFunctionDefinition, ranFunction_Name),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
@@ -177,42 +22,72 @@
0, 0, /* No default value */
"ranFunction-Name"
},
- { ATF_POINTER, 2, offsetof(struct E2SM_RC_RANFunctionDefinition, ric_EventTriggerStyle_List),
+ { ATF_POINTER, 5, offsetof(struct E2SM_RC_RANFunctionDefinition, ranFunctionDefinition_EventTrigger),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANFunctionDefinition_EventTrigger,
0,
- &asn_DEF_ric_EventTriggerStyle_List_3,
- 0,
- { &asn_OER_memb_ric_EventTriggerStyle_List_constr_3, &asn_PER_memb_ric_EventTriggerStyle_List_constr_3, memb_ric_EventTriggerStyle_List_constraint_1 },
+ { 0, 0, 0 },
0, 0, /* No default value */
- "ric-EventTriggerStyle-List"
+ "ranFunctionDefinition-EventTrigger"
},
- { ATF_POINTER, 1, offsetof(struct E2SM_RC_RANFunctionDefinition, ric_ControlStyle_List),
+ { ATF_POINTER, 4, offsetof(struct E2SM_RC_RANFunctionDefinition, ranFunctionDefinition_Report),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANFunctionDefinition_Report,
0,
- &asn_DEF_ric_ControlStyle_List_5,
- 0,
- { &asn_OER_memb_ric_ControlStyle_List_constr_5, &asn_PER_memb_ric_ControlStyle_List_constr_5, memb_ric_ControlStyle_List_constraint_1 },
+ { 0, 0, 0 },
0, 0, /* No default value */
- "ric-ControlStyle-List"
+ "ranFunctionDefinition-Report"
+ },
+ { ATF_POINTER, 3, offsetof(struct E2SM_RC_RANFunctionDefinition, ranFunctionDefinition_Insert),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANFunctionDefinition_Insert,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranFunctionDefinition-Insert"
+ },
+ { ATF_POINTER, 2, offsetof(struct E2SM_RC_RANFunctionDefinition, ranFunctionDefinition_Control),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANFunctionDefinition_Control,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranFunctionDefinition-Control"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2SM_RC_RANFunctionDefinition, ranFunctionDefinition_Policy),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANFunctionDefinition_Policy,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranFunctionDefinition-Policy"
},
};
-static const int asn_MAP_E2SM_RC_RANFunctionDefinition_oms_1[] = { 1, 2 };
+static const int asn_MAP_E2SM_RC_RANFunctionDefinition_oms_1[] = { 1, 2, 3, 4, 5 };
static const ber_tlv_tag_t asn_DEF_E2SM_RC_RANFunctionDefinition_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_RANFunctionDefinition_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranFunction-Name */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-EventTriggerStyle-List */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-ControlStyle-List */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranFunctionDefinition-EventTrigger */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ranFunctionDefinition-Report */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ranFunctionDefinition-Insert */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ranFunctionDefinition-Control */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* ranFunctionDefinition-Policy */
};
static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_RANFunctionDefinition_specs_1 = {
sizeof(struct E2SM_RC_RANFunctionDefinition),
offsetof(struct E2SM_RC_RANFunctionDefinition, _asn_ctx),
asn_MAP_E2SM_RC_RANFunctionDefinition_tag2el_1,
- 3, /* Count of tags in the map */
+ 6, /* Count of tags in the map */
asn_MAP_E2SM_RC_RANFunctionDefinition_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 3, /* First extension addition */
+ 5, 0, /* Root/Additions */
+ 6, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_E2SM_RC_RANFunctionDefinition = {
"E2SM-RC-RANFunctionDefinition",
@@ -226,7 +101,7 @@
/sizeof(asn_DEF_E2SM_RC_RANFunctionDefinition_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_E2SM_RC_RANFunctionDefinition_1,
- 3, /* Elements count */
+ 6, /* Elements count */
&asn_SPC_E2SM_RC_RANFunctionDefinition_specs_1 /* Additional specs */
};
diff --git a/e2sm/lib/EN-GNB-ID.c b/e2sm/lib/EN-GNB-ID.c
new file mode 100644
index 0000000..98b8263
--- /dev/null
+++ b/e2sm/lib/EN-GNB-ID.c
@@ -0,0 +1,94 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EN-GNB-ID.h"
+
+static int
+memb_en_gNB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if(st->size > 0) {
+ /* Size in bits */
+ size = 8 * st->size - (st->bits_unused & 0x07);
+ } else {
+ size = 0;
+ }
+
+ if((size >= 22 && size <= 32)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_memb_en_gNB_ID_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(22..32)) */};
+static asn_per_constraints_t asn_PER_memb_en_gNB_ID_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 22, 32 } /* (SIZE(22..32)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_EN_GNB_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_EN_GNB_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_EN_GNB_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EN_GNB_ID, choice.en_gNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ 0,
+ { &asn_OER_memb_en_gNB_ID_constr_2, &asn_PER_memb_en_gNB_ID_constr_2, memb_en_gNB_ID_constraint_1 },
+ 0, 0, /* No default value */
+ "en-gNB-ID"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_EN_GNB_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* en-gNB-ID */
+};
+asn_CHOICE_specifics_t asn_SPC_EN_GNB_ID_specs_1 = {
+ sizeof(struct EN_GNB_ID),
+ offsetof(struct EN_GNB_ID, _asn_ctx),
+ offsetof(struct EN_GNB_ID, present),
+ sizeof(((struct EN_GNB_ID *)0)->present),
+ asn_MAP_EN_GNB_ID_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ 1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_EN_GNB_ID = {
+ "EN-GNB-ID",
+ "EN-GNB-ID",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_EN_GNB_ID_constr_1, &asn_PER_type_EN_GNB_ID_constr_1, CHOICE_constraint },
+ asn_MBR_EN_GNB_ID_1,
+ 1, /* Elements count */
+ &asn_SPC_EN_GNB_ID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/ENB-ID-Choice.c b/e2sm/lib/ENB-ID-Choice.c
deleted file mode 100644
index 8ce2abe..0000000
--- a/e2sm/lib/ENB-ID-Choice.c
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ENB-ID-Choice.h"
-
-static int
-memb_enb_ID_macro_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- if(st->size > 0) {
- /* Size in bits */
- size = 8 * st->size - (st->bits_unused & 0x07);
- } else {
- size = 0;
- }
-
- if((size == 20)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int
-memb_enb_ID_shortmacro_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- if(st->size > 0) {
- /* Size in bits */
- size = 8 * st->size - (st->bits_unused & 0x07);
- } else {
- size = 0;
- }
-
- if((size == 18)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int
-memb_enb_ID_longmacro_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- if(st->size > 0) {
- /* Size in bits */
- size = 8 * st->size - (st->bits_unused & 0x07);
- } else {
- size = 0;
- }
-
- if((size == 21)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_memb_enb_ID_macro_constr_2 CC_NOTUSED = {
- { 0, 0 },
- 20 /* (SIZE(20..20)) */};
-static asn_per_constraints_t asn_PER_memb_enb_ID_macro_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 0, 0, 20, 20 } /* (SIZE(20..20)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_enb_ID_shortmacro_constr_3 CC_NOTUSED = {
- { 0, 0 },
- 18 /* (SIZE(18..18)) */};
-static asn_per_constraints_t asn_PER_memb_enb_ID_shortmacro_constr_3 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 0, 0, 18, 18 } /* (SIZE(18..18)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_enb_ID_longmacro_constr_4 CC_NOTUSED = {
- { 0, 0 },
- 21 /* (SIZE(21..21)) */};
-static asn_per_constraints_t asn_PER_memb_enb_ID_longmacro_constr_4 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 0, 0, 21, 21 } /* (SIZE(21..21)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_type_ENB_ID_Choice_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-asn_per_constraints_t asn_PER_type_ENB_ID_Choice_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_ENB_ID_Choice_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct ENB_ID_Choice, choice.enb_ID_macro),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_BIT_STRING,
- 0,
- { &asn_OER_memb_enb_ID_macro_constr_2, &asn_PER_memb_enb_ID_macro_constr_2, memb_enb_ID_macro_constraint_1 },
- 0, 0, /* No default value */
- "enb-ID-macro"
- },
- { ATF_NOFLAGS, 0, offsetof(struct ENB_ID_Choice, choice.enb_ID_shortmacro),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_BIT_STRING,
- 0,
- { &asn_OER_memb_enb_ID_shortmacro_constr_3, &asn_PER_memb_enb_ID_shortmacro_constr_3, memb_enb_ID_shortmacro_constraint_1 },
- 0, 0, /* No default value */
- "enb-ID-shortmacro"
- },
- { ATF_NOFLAGS, 0, offsetof(struct ENB_ID_Choice, choice.enb_ID_longmacro),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_BIT_STRING,
- 0,
- { &asn_OER_memb_enb_ID_longmacro_constr_4, &asn_PER_memb_enb_ID_longmacro_constr_4, memb_enb_ID_longmacro_constraint_1 },
- 0, 0, /* No default value */
- "enb-ID-longmacro"
- },
-};
-static const asn_TYPE_tag2member_t asn_MAP_ENB_ID_Choice_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* enb-ID-macro */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* enb-ID-shortmacro */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* enb-ID-longmacro */
-};
-asn_CHOICE_specifics_t asn_SPC_ENB_ID_Choice_specs_1 = {
- sizeof(struct ENB_ID_Choice),
- offsetof(struct ENB_ID_Choice, _asn_ctx),
- offsetof(struct ENB_ID_Choice, present),
- sizeof(((struct ENB_ID_Choice *)0)->present),
- asn_MAP_ENB_ID_Choice_tag2el_1,
- 3, /* Count of tags in the map */
- 0, 0,
- 3 /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_ENB_ID_Choice = {
- "ENB-ID-Choice",
- "ENB-ID-Choice",
- &asn_OP_CHOICE,
- 0, /* No effective tags (pointer) */
- 0, /* No effective tags (count) */
- 0, /* No tags (pointer) */
- 0, /* No tags (count) */
- { &asn_OER_type_ENB_ID_Choice_constr_1, &asn_PER_type_ENB_ID_Choice_constr_1, CHOICE_constraint },
- asn_MBR_ENB_ID_Choice_1,
- 3, /* Elements count */
- &asn_SPC_ENB_ID_Choice_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/ENB-ID.c b/e2sm/lib/ENB-ID.c
index e2a5f89..faab5f7 100644
--- a/e2sm/lib/ENB-ID.c
+++ b/e2sm/lib/ENB-ID.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
diff --git a/e2sm/lib/ENB-UE-X2AP-ID-Extension.c b/e2sm/lib/ENB-UE-X2AP-ID-Extension.c
new file mode 100644
index 0000000..d9f8c31
--- /dev/null
+++ b/e2sm/lib/ENB-UE-X2AP-ID-Extension.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "ENB-UE-X2AP-ID-Extension.h"
+
+int
+ENB_UE_X2AP_ID_Extension_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 4095)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_ENB_UE_X2AP_ID_Extension_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_ENB_UE_X2AP_ID_Extension_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 12, 12, 0, 4095 } /* (0..4095,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_ENB_UE_X2AP_ID_Extension_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ENB_UE_X2AP_ID_Extension = {
+ "ENB-UE-X2AP-ID-Extension",
+ "ENB-UE-X2AP-ID-Extension",
+ &asn_OP_NativeInteger,
+ asn_DEF_ENB_UE_X2AP_ID_Extension_tags_1,
+ sizeof(asn_DEF_ENB_UE_X2AP_ID_Extension_tags_1)
+ /sizeof(asn_DEF_ENB_UE_X2AP_ID_Extension_tags_1[0]), /* 1 */
+ asn_DEF_ENB_UE_X2AP_ID_Extension_tags_1, /* Same as above */
+ sizeof(asn_DEF_ENB_UE_X2AP_ID_Extension_tags_1)
+ /sizeof(asn_DEF_ENB_UE_X2AP_ID_Extension_tags_1[0]), /* 1 */
+ { &asn_OER_type_ENB_UE_X2AP_ID_Extension_constr_1, &asn_PER_type_ENB_UE_X2AP_ID_Extension_constr_1, ENB_UE_X2AP_ID_Extension_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/ENB-UE-X2AP-ID.c b/e2sm/lib/ENB-UE-X2AP-ID.c
new file mode 100644
index 0000000..8af2e3f
--- /dev/null
+++ b/e2sm/lib/ENB-UE-X2AP-ID.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "ENB-UE-X2AP-ID.h"
+
+int
+ENB_UE_X2AP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 4095)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_ENB_UE_X2AP_ID_constr_1 CC_NOTUSED = {
+ { 2, 1 } /* (0..4095) */,
+ -1};
+asn_per_constraints_t asn_PER_type_ENB_UE_X2AP_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED, 12, 12, 0, 4095 } /* (0..4095) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_ENB_UE_X2AP_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ENB_UE_X2AP_ID = {
+ "ENB-UE-X2AP-ID",
+ "ENB-UE-X2AP-ID",
+ &asn_OP_NativeInteger,
+ asn_DEF_ENB_UE_X2AP_ID_tags_1,
+ sizeof(asn_DEF_ENB_UE_X2AP_ID_tags_1)
+ /sizeof(asn_DEF_ENB_UE_X2AP_ID_tags_1[0]), /* 1 */
+ asn_DEF_ENB_UE_X2AP_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_ENB_UE_X2AP_ID_tags_1)
+ /sizeof(asn_DEF_ENB_UE_X2AP_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_ENB_UE_X2AP_ID_constr_1, &asn_PER_type_ENB_UE_X2AP_ID_constr_1, ENB_UE_X2AP_ID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/EPC-CUUP-PM-Format.c b/e2sm/lib/EPC-CUUP-PM-Format.c
deleted file mode 100644
index 5fb414a..0000000
--- a/e2sm/lib/EPC-CUUP-PM-Format.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "EPC-CUUP-PM-Format.h"
-
-#include "PerQCIReportListItemFormat.h"
-static int
-memb_perQCIReportList_cuup_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 256)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_perQCIReportList_cuup_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..256)) */};
-static asn_per_constraints_t asn_PER_type_perQCIReportList_cuup_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_perQCIReportList_cuup_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..256)) */};
-static asn_per_constraints_t asn_PER_memb_perQCIReportList_cuup_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_perQCIReportList_cuup_2[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_PerQCIReportListItemFormat,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_perQCIReportList_cuup_tags_2[] = {
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_perQCIReportList_cuup_specs_2 = {
- sizeof(struct EPC_CUUP_PM_Format__perQCIReportList_cuup),
- offsetof(struct EPC_CUUP_PM_Format__perQCIReportList_cuup, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_perQCIReportList_cuup_2 = {
- "perQCIReportList-cuup",
- "perQCIReportList-cuup",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_perQCIReportList_cuup_tags_2,
- sizeof(asn_DEF_perQCIReportList_cuup_tags_2)
- /sizeof(asn_DEF_perQCIReportList_cuup_tags_2[0]) - 1, /* 1 */
- asn_DEF_perQCIReportList_cuup_tags_2, /* Same as above */
- sizeof(asn_DEF_perQCIReportList_cuup_tags_2)
- /sizeof(asn_DEF_perQCIReportList_cuup_tags_2[0]), /* 2 */
- { &asn_OER_type_perQCIReportList_cuup_constr_2, &asn_PER_type_perQCIReportList_cuup_constr_2, SEQUENCE_OF_constraint },
- asn_MBR_perQCIReportList_cuup_2,
- 1, /* Single element */
- &asn_SPC_perQCIReportList_cuup_specs_2 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_EPC_CUUP_PM_Format_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct EPC_CUUP_PM_Format, perQCIReportList_cuup),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- 0,
- &asn_DEF_perQCIReportList_cuup_2,
- 0,
- { &asn_OER_memb_perQCIReportList_cuup_constr_2, &asn_PER_memb_perQCIReportList_cuup_constr_2, memb_perQCIReportList_cuup_constraint_1 },
- 0, 0, /* No default value */
- "perQCIReportList-cuup"
- },
-};
-static const ber_tlv_tag_t asn_DEF_EPC_CUUP_PM_Format_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_EPC_CUUP_PM_Format_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* perQCIReportList-cuup */
-};
-asn_SEQUENCE_specifics_t asn_SPC_EPC_CUUP_PM_Format_specs_1 = {
- sizeof(struct EPC_CUUP_PM_Format),
- offsetof(struct EPC_CUUP_PM_Format, _asn_ctx),
- asn_MAP_EPC_CUUP_PM_Format_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_EPC_CUUP_PM_Format = {
- "EPC-CUUP-PM-Format",
- "EPC-CUUP-PM-Format",
- &asn_OP_SEQUENCE,
- asn_DEF_EPC_CUUP_PM_Format_tags_1,
- sizeof(asn_DEF_EPC_CUUP_PM_Format_tags_1)
- /sizeof(asn_DEF_EPC_CUUP_PM_Format_tags_1[0]), /* 1 */
- asn_DEF_EPC_CUUP_PM_Format_tags_1, /* Same as above */
- sizeof(asn_DEF_EPC_CUUP_PM_Format_tags_1)
- /sizeof(asn_DEF_EPC_CUUP_PM_Format_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_EPC_CUUP_PM_Format_1,
- 1, /* Elements count */
- &asn_SPC_EPC_CUUP_PM_Format_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/EPC-DU-PM-Container.c b/e2sm/lib/EPC-DU-PM-Container.c
deleted file mode 100644
index 801080e..0000000
--- a/e2sm/lib/EPC-DU-PM-Container.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "EPC-DU-PM-Container.h"
-
-#include "PerQCIReportListItem.h"
-static int
-memb_perQCIReportList_du_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 256)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_perQCIReportList_du_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..256)) */};
-static asn_per_constraints_t asn_PER_type_perQCIReportList_du_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_perQCIReportList_du_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..256)) */};
-static asn_per_constraints_t asn_PER_memb_perQCIReportList_du_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_perQCIReportList_du_2[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_PerQCIReportListItem,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_perQCIReportList_du_tags_2[] = {
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_perQCIReportList_du_specs_2 = {
- sizeof(struct EPC_DU_PM_Container__perQCIReportList_du),
- offsetof(struct EPC_DU_PM_Container__perQCIReportList_du, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_perQCIReportList_du_2 = {
- "perQCIReportList-du",
- "perQCIReportList-du",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_perQCIReportList_du_tags_2,
- sizeof(asn_DEF_perQCIReportList_du_tags_2)
- /sizeof(asn_DEF_perQCIReportList_du_tags_2[0]) - 1, /* 1 */
- asn_DEF_perQCIReportList_du_tags_2, /* Same as above */
- sizeof(asn_DEF_perQCIReportList_du_tags_2)
- /sizeof(asn_DEF_perQCIReportList_du_tags_2[0]), /* 2 */
- { &asn_OER_type_perQCIReportList_du_constr_2, &asn_PER_type_perQCIReportList_du_constr_2, SEQUENCE_OF_constraint },
- asn_MBR_perQCIReportList_du_2,
- 1, /* Single element */
- &asn_SPC_perQCIReportList_du_specs_2 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_EPC_DU_PM_Container_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct EPC_DU_PM_Container, perQCIReportList_du),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- 0,
- &asn_DEF_perQCIReportList_du_2,
- 0,
- { &asn_OER_memb_perQCIReportList_du_constr_2, &asn_PER_memb_perQCIReportList_du_constr_2, memb_perQCIReportList_du_constraint_1 },
- 0, 0, /* No default value */
- "perQCIReportList-du"
- },
-};
-static const ber_tlv_tag_t asn_DEF_EPC_DU_PM_Container_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_EPC_DU_PM_Container_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* perQCIReportList-du */
-};
-asn_SEQUENCE_specifics_t asn_SPC_EPC_DU_PM_Container_specs_1 = {
- sizeof(struct EPC_DU_PM_Container),
- offsetof(struct EPC_DU_PM_Container, _asn_ctx),
- asn_MAP_EPC_DU_PM_Container_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_EPC_DU_PM_Container = {
- "EPC-DU-PM-Container",
- "EPC-DU-PM-Container",
- &asn_OP_SEQUENCE,
- asn_DEF_EPC_DU_PM_Container_tags_1,
- sizeof(asn_DEF_EPC_DU_PM_Container_tags_1)
- /sizeof(asn_DEF_EPC_DU_PM_Container_tags_1[0]), /* 1 */
- asn_DEF_EPC_DU_PM_Container_tags_1, /* Same as above */
- sizeof(asn_DEF_EPC_DU_PM_Container_tags_1)
- /sizeof(asn_DEF_EPC_DU_PM_Container_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_EPC_DU_PM_Container_1,
- 1, /* Elements count */
- &asn_SPC_EPC_DU_PM_Container_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/EUTRA-CGI.c b/e2sm/lib/EUTRA-CGI.c
new file mode 100644
index 0000000..985c769
--- /dev/null
+++ b/e2sm/lib/EUTRA-CGI.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EUTRA-CGI.h"
+
+asn_TYPE_member_t asn_MBR_EUTRA_CGI_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EUTRA_CGI, pLMNIdentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PLMNIdentity,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "pLMNIdentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct EUTRA_CGI, eUTRACellIdentity),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EUTRACellIdentity,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eUTRACellIdentity"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_EUTRA_CGI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EUTRA_CGI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNIdentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eUTRACellIdentity */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EUTRA_CGI_specs_1 = {
+ sizeof(struct EUTRA_CGI),
+ offsetof(struct EUTRA_CGI, _asn_ctx),
+ asn_MAP_EUTRA_CGI_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EUTRA_CGI = {
+ "EUTRA-CGI",
+ "EUTRA-CGI",
+ &asn_OP_SEQUENCE,
+ asn_DEF_EUTRA_CGI_tags_1,
+ sizeof(asn_DEF_EUTRA_CGI_tags_1)
+ /sizeof(asn_DEF_EUTRA_CGI_tags_1[0]), /* 1 */
+ asn_DEF_EUTRA_CGI_tags_1, /* Same as above */
+ sizeof(asn_DEF_EUTRA_CGI_tags_1)
+ /sizeof(asn_DEF_EUTRA_CGI_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_EUTRA_CGI_1,
+ 2, /* Elements count */
+ &asn_SPC_EUTRA_CGI_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/EUTRACellIdentity.c b/e2sm/lib/EUTRACellIdentity.c
new file mode 100644
index 0000000..cefaeb9
--- /dev/null
+++ b/e2sm/lib/EUTRACellIdentity.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EUTRACellIdentity.h"
+
+int
+EUTRACellIdentity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if(st->size > 0) {
+ /* Size in bits */
+ size = 8 * st->size - (st->bits_unused & 0x07);
+ } else {
+ size = 0;
+ }
+
+ if((size == 28)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using BIT_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_EUTRACellIdentity_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 28 /* (SIZE(28..28)) */};
+asn_per_constraints_t asn_PER_type_EUTRACellIdentity_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 28, 28 } /* (SIZE(28..28)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_EUTRACellIdentity_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_EUTRACellIdentity = {
+ "EUTRACellIdentity",
+ "EUTRACellIdentity",
+ &asn_OP_BIT_STRING,
+ asn_DEF_EUTRACellIdentity_tags_1,
+ sizeof(asn_DEF_EUTRACellIdentity_tags_1)
+ /sizeof(asn_DEF_EUTRACellIdentity_tags_1[0]), /* 1 */
+ asn_DEF_EUTRACellIdentity_tags_1, /* Same as above */
+ sizeof(asn_DEF_EUTRACellIdentity_tags_1)
+ /sizeof(asn_DEF_EUTRACellIdentity_tags_1[0]), /* 1 */
+ { &asn_OER_type_EUTRACellIdentity_constr_1, &asn_PER_type_EUTRACellIdentity_constr_1, EUTRACellIdentity_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_BIT_STRING_specs /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-Cell-Info-Item-Choice-Group.c b/e2sm/lib/EventTrigger-Cell-Info-Item-Choice-Group.c
new file mode 100644
index 0000000..2f6269f
--- /dev/null
+++ b/e2sm/lib/EventTrigger-Cell-Info-Item-Choice-Group.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-Cell-Info-Item-Choice-Group.h"
+
+asn_TYPE_member_t asn_MBR_EventTrigger_Cell_Info_Item_Choice_Group_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_Cell_Info_Item_Choice_Group, ranParameterTesting),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Testing,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameterTesting"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_Cell_Info_Item_Choice_Group_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameterTesting */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_Cell_Info_Item_Choice_Group_specs_1 = {
+ sizeof(struct EventTrigger_Cell_Info_Item_Choice_Group),
+ offsetof(struct EventTrigger_Cell_Info_Item_Choice_Group, _asn_ctx),
+ asn_MAP_EventTrigger_Cell_Info_Item_Choice_Group_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group = {
+ "EventTrigger-Cell-Info-Item-Choice-Group",
+ "EventTrigger-Cell-Info-Item-Choice-Group",
+ &asn_OP_SEQUENCE,
+ asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group_tags_1,
+ sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group_tags_1)
+ /sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group_tags_1[0]), /* 1 */
+ asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group_tags_1, /* Same as above */
+ sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group_tags_1)
+ /sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_EventTrigger_Cell_Info_Item_Choice_Group_1,
+ 1, /* Elements count */
+ &asn_SPC_EventTrigger_Cell_Info_Item_Choice_Group_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-Cell-Info-Item-Choice-Individual.c b/e2sm/lib/EventTrigger-Cell-Info-Item-Choice-Individual.c
new file mode 100644
index 0000000..1cf5866
--- /dev/null
+++ b/e2sm/lib/EventTrigger-Cell-Info-Item-Choice-Individual.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-Cell-Info-Item-Choice-Individual.h"
+
+asn_TYPE_member_t asn_MBR_EventTrigger_Cell_Info_Item_Choice_Individual_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_Cell_Info_Item_Choice_Individual, cellGlobalID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_CGI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellGlobalID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_Cell_Info_Item_Choice_Individual_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cellGlobalID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_Cell_Info_Item_Choice_Individual_specs_1 = {
+ sizeof(struct EventTrigger_Cell_Info_Item_Choice_Individual),
+ offsetof(struct EventTrigger_Cell_Info_Item_Choice_Individual, _asn_ctx),
+ asn_MAP_EventTrigger_Cell_Info_Item_Choice_Individual_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual = {
+ "EventTrigger-Cell-Info-Item-Choice-Individual",
+ "EventTrigger-Cell-Info-Item-Choice-Individual",
+ &asn_OP_SEQUENCE,
+ asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual_tags_1,
+ sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual_tags_1)
+ /sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual_tags_1[0]), /* 1 */
+ asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual_tags_1, /* Same as above */
+ sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual_tags_1)
+ /sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_EventTrigger_Cell_Info_Item_Choice_Individual_1,
+ 1, /* Elements count */
+ &asn_SPC_EventTrigger_Cell_Info_Item_Choice_Individual_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-Cell-Info-Item.c b/e2sm/lib/EventTrigger-Cell-Info-Item.c
new file mode 100644
index 0000000..e96053a
--- /dev/null
+++ b/e2sm/lib/EventTrigger-Cell-Info-Item.c
@@ -0,0 +1,131 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-Cell-Info-Item.h"
+
+#include "EventTrigger-Cell-Info-Item-Choice-Individual.h"
+#include "EventTrigger-Cell-Info-Item-Choice-Group.h"
+static asn_oer_constraints_t asn_OER_type_cellType_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_cellType_constr_3 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_cellType_3[] = {
+ { ATF_POINTER, 0, offsetof(struct EventTrigger_Cell_Info_Item__cellType, choice.cellType_Choice_Individual),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellType-Choice-Individual"
+ },
+ { ATF_POINTER, 0, offsetof(struct EventTrigger_Cell_Info_Item__cellType, choice.cellType_Choice_Group),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellType-Choice-Group"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_cellType_tag2el_3[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellType-Choice-Individual */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cellType-Choice-Group */
+};
+static asn_CHOICE_specifics_t asn_SPC_cellType_specs_3 = {
+ sizeof(struct EventTrigger_Cell_Info_Item__cellType),
+ offsetof(struct EventTrigger_Cell_Info_Item__cellType, _asn_ctx),
+ offsetof(struct EventTrigger_Cell_Info_Item__cellType, present),
+ sizeof(((struct EventTrigger_Cell_Info_Item__cellType *)0)->present),
+ asn_MAP_cellType_tag2el_3,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_cellType_3 = {
+ "cellType",
+ "cellType",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_cellType_constr_3, &asn_PER_type_cellType_constr_3, CHOICE_constraint },
+ asn_MBR_cellType_3,
+ 2, /* Elements count */
+ &asn_SPC_cellType_specs_3 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_EventTrigger_Cell_Info_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_Cell_Info_Item, eventTriggerCellID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_EventTrigger_Cell_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eventTriggerCellID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_Cell_Info_Item, cellType),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_cellType_3,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cellType"
+ },
+ { ATF_POINTER, 1, offsetof(struct EventTrigger_Cell_Info_Item, logicalOR),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_LogicalOR,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "logicalOR"
+ },
+};
+static const int asn_MAP_EventTrigger_Cell_Info_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_EventTrigger_Cell_Info_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_Cell_Info_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventTriggerCellID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellType */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_Cell_Info_Item_specs_1 = {
+ sizeof(struct EventTrigger_Cell_Info_Item),
+ offsetof(struct EventTrigger_Cell_Info_Item, _asn_ctx),
+ asn_MAP_EventTrigger_Cell_Info_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_EventTrigger_Cell_Info_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_Cell_Info_Item = {
+ "EventTrigger-Cell-Info-Item",
+ "EventTrigger-Cell-Info-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_EventTrigger_Cell_Info_Item_tags_1,
+ sizeof(asn_DEF_EventTrigger_Cell_Info_Item_tags_1)
+ /sizeof(asn_DEF_EventTrigger_Cell_Info_Item_tags_1[0]), /* 1 */
+ asn_DEF_EventTrigger_Cell_Info_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_EventTrigger_Cell_Info_Item_tags_1)
+ /sizeof(asn_DEF_EventTrigger_Cell_Info_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_EventTrigger_Cell_Info_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_EventTrigger_Cell_Info_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-Cell-Info.c b/e2sm/lib/EventTrigger-Cell-Info.c
new file mode 100644
index 0000000..30273f7
--- /dev/null
+++ b/e2sm/lib/EventTrigger-Cell-Info.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-Cell-Info.h"
+
+#include "EventTrigger-Cell-Info-Item.h"
+static int
+memb_cellInfo_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_cellInfo_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_cellInfo_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_cellInfo_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_cellInfo_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_cellInfo_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_EventTrigger_Cell_Info_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_cellInfo_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_cellInfo_List_specs_2 = {
+ sizeof(struct EventTrigger_Cell_Info__cellInfo_List),
+ offsetof(struct EventTrigger_Cell_Info__cellInfo_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_cellInfo_List_2 = {
+ "cellInfo-List",
+ "cellInfo-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_cellInfo_List_tags_2,
+ sizeof(asn_DEF_cellInfo_List_tags_2)
+ /sizeof(asn_DEF_cellInfo_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_cellInfo_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_cellInfo_List_tags_2)
+ /sizeof(asn_DEF_cellInfo_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_cellInfo_List_constr_2, &asn_PER_type_cellInfo_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_cellInfo_List_2,
+ 1, /* Single element */
+ &asn_SPC_cellInfo_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_EventTrigger_Cell_Info_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_Cell_Info, cellInfo_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_cellInfo_List_2,
+ 0,
+ { &asn_OER_memb_cellInfo_List_constr_2, &asn_PER_memb_cellInfo_List_constr_2, memb_cellInfo_List_constraint_1 },
+ 0, 0, /* No default value */
+ "cellInfo-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_EventTrigger_Cell_Info_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_Cell_Info_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cellInfo-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_Cell_Info_specs_1 = {
+ sizeof(struct EventTrigger_Cell_Info),
+ offsetof(struct EventTrigger_Cell_Info, _asn_ctx),
+ asn_MAP_EventTrigger_Cell_Info_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_Cell_Info = {
+ "EventTrigger-Cell-Info",
+ "EventTrigger-Cell-Info",
+ &asn_OP_SEQUENCE,
+ asn_DEF_EventTrigger_Cell_Info_tags_1,
+ sizeof(asn_DEF_EventTrigger_Cell_Info_tags_1)
+ /sizeof(asn_DEF_EventTrigger_Cell_Info_tags_1[0]), /* 1 */
+ asn_DEF_EventTrigger_Cell_Info_tags_1, /* Same as above */
+ sizeof(asn_DEF_EventTrigger_Cell_Info_tags_1)
+ /sizeof(asn_DEF_EventTrigger_Cell_Info_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_EventTrigger_Cell_Info_1,
+ 1, /* Elements count */
+ &asn_SPC_EventTrigger_Cell_Info_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-UE-Info-Item-Choice-Group.c b/e2sm/lib/EventTrigger-UE-Info-Item-Choice-Group.c
new file mode 100644
index 0000000..d819bc1
--- /dev/null
+++ b/e2sm/lib/EventTrigger-UE-Info-Item-Choice-Group.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-UE-Info-Item-Choice-Group.h"
+
+asn_TYPE_member_t asn_MBR_EventTrigger_UE_Info_Item_Choice_Group_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UE_Info_Item_Choice_Group, ranParameterTesting),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Testing,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameterTesting"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_EventTrigger_UE_Info_Item_Choice_Group_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_UE_Info_Item_Choice_Group_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameterTesting */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UE_Info_Item_Choice_Group_specs_1 = {
+ sizeof(struct EventTrigger_UE_Info_Item_Choice_Group),
+ offsetof(struct EventTrigger_UE_Info_Item_Choice_Group, _asn_ctx),
+ asn_MAP_EventTrigger_UE_Info_Item_Choice_Group_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_UE_Info_Item_Choice_Group = {
+ "EventTrigger-UE-Info-Item-Choice-Group",
+ "EventTrigger-UE-Info-Item-Choice-Group",
+ &asn_OP_SEQUENCE,
+ asn_DEF_EventTrigger_UE_Info_Item_Choice_Group_tags_1,
+ sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Group_tags_1)
+ /sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Group_tags_1[0]), /* 1 */
+ asn_DEF_EventTrigger_UE_Info_Item_Choice_Group_tags_1, /* Same as above */
+ sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Group_tags_1)
+ /sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Group_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_EventTrigger_UE_Info_Item_Choice_Group_1,
+ 1, /* Elements count */
+ &asn_SPC_EventTrigger_UE_Info_Item_Choice_Group_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-UE-Info-Item-Choice-Individual.c b/e2sm/lib/EventTrigger-UE-Info-Item-Choice-Individual.c
new file mode 100644
index 0000000..d822187
--- /dev/null
+++ b/e2sm/lib/EventTrigger-UE-Info-Item-Choice-Individual.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-UE-Info-Item-Choice-Individual.h"
+
+asn_TYPE_member_t asn_MBR_EventTrigger_UE_Info_Item_Choice_Individual_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UE_Info_Item_Choice_Individual, ueID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_UEID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ueID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UE_Info_Item_Choice_Individual, ranParameterTesting),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Testing,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameterTesting"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_UE_Info_Item_Choice_Individual_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameterTesting */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UE_Info_Item_Choice_Individual_specs_1 = {
+ sizeof(struct EventTrigger_UE_Info_Item_Choice_Individual),
+ offsetof(struct EventTrigger_UE_Info_Item_Choice_Individual, _asn_ctx),
+ asn_MAP_EventTrigger_UE_Info_Item_Choice_Individual_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual = {
+ "EventTrigger-UE-Info-Item-Choice-Individual",
+ "EventTrigger-UE-Info-Item-Choice-Individual",
+ &asn_OP_SEQUENCE,
+ asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual_tags_1,
+ sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual_tags_1)
+ /sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual_tags_1[0]), /* 1 */
+ asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual_tags_1, /* Same as above */
+ sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual_tags_1)
+ /sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_EventTrigger_UE_Info_Item_Choice_Individual_1,
+ 2, /* Elements count */
+ &asn_SPC_EventTrigger_UE_Info_Item_Choice_Individual_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-UE-Info-Item.c b/e2sm/lib/EventTrigger-UE-Info-Item.c
new file mode 100644
index 0000000..dfb34d0
--- /dev/null
+++ b/e2sm/lib/EventTrigger-UE-Info-Item.c
@@ -0,0 +1,131 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-UE-Info-Item.h"
+
+#include "EventTrigger-UE-Info-Item-Choice-Individual.h"
+#include "EventTrigger-UE-Info-Item-Choice-Group.h"
+static asn_oer_constraints_t asn_OER_type_ueType_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_ueType_constr_3 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ueType_3[] = {
+ { ATF_POINTER, 0, offsetof(struct EventTrigger_UE_Info_Item__ueType, choice.ueType_Choice_Individual),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ueType-Choice-Individual"
+ },
+ { ATF_POINTER, 0, offsetof(struct EventTrigger_UE_Info_Item__ueType, choice.ueType_Choice_Group),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EventTrigger_UE_Info_Item_Choice_Group,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ueType-Choice-Group"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ueType_tag2el_3[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueType-Choice-Individual */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ueType-Choice-Group */
+};
+static asn_CHOICE_specifics_t asn_SPC_ueType_specs_3 = {
+ sizeof(struct EventTrigger_UE_Info_Item__ueType),
+ offsetof(struct EventTrigger_UE_Info_Item__ueType, _asn_ctx),
+ offsetof(struct EventTrigger_UE_Info_Item__ueType, present),
+ sizeof(((struct EventTrigger_UE_Info_Item__ueType *)0)->present),
+ asn_MAP_ueType_tag2el_3,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ueType_3 = {
+ "ueType",
+ "ueType",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_ueType_constr_3, &asn_PER_type_ueType_constr_3, CHOICE_constraint },
+ asn_MBR_ueType_3,
+ 2, /* Elements count */
+ &asn_SPC_ueType_specs_3 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_EventTrigger_UE_Info_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UE_Info_Item, eventTriggerUEID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_EventTrigger_UE_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eventTriggerUEID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UE_Info_Item, ueType),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ueType_3,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ueType"
+ },
+ { ATF_POINTER, 1, offsetof(struct EventTrigger_UE_Info_Item, logicalOR),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_LogicalOR,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "logicalOR"
+ },
+};
+static const int asn_MAP_EventTrigger_UE_Info_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_EventTrigger_UE_Info_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_UE_Info_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventTriggerUEID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ueType */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UE_Info_Item_specs_1 = {
+ sizeof(struct EventTrigger_UE_Info_Item),
+ offsetof(struct EventTrigger_UE_Info_Item, _asn_ctx),
+ asn_MAP_EventTrigger_UE_Info_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_EventTrigger_UE_Info_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_UE_Info_Item = {
+ "EventTrigger-UE-Info-Item",
+ "EventTrigger-UE-Info-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_EventTrigger_UE_Info_Item_tags_1,
+ sizeof(asn_DEF_EventTrigger_UE_Info_Item_tags_1)
+ /sizeof(asn_DEF_EventTrigger_UE_Info_Item_tags_1[0]), /* 1 */
+ asn_DEF_EventTrigger_UE_Info_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_EventTrigger_UE_Info_Item_tags_1)
+ /sizeof(asn_DEF_EventTrigger_UE_Info_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_EventTrigger_UE_Info_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_EventTrigger_UE_Info_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-UE-Info.c b/e2sm/lib/EventTrigger-UE-Info.c
new file mode 100644
index 0000000..85a6492
--- /dev/null
+++ b/e2sm/lib/EventTrigger-UE-Info.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-UE-Info.h"
+
+#include "EventTrigger-UE-Info-Item.h"
+static int
+memb_ueInfo_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ueInfo_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ueInfo_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ueInfo_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ueInfo_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ueInfo_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_EventTrigger_UE_Info_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ueInfo_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ueInfo_List_specs_2 = {
+ sizeof(struct EventTrigger_UE_Info__ueInfo_List),
+ offsetof(struct EventTrigger_UE_Info__ueInfo_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ueInfo_List_2 = {
+ "ueInfo-List",
+ "ueInfo-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ueInfo_List_tags_2,
+ sizeof(asn_DEF_ueInfo_List_tags_2)
+ /sizeof(asn_DEF_ueInfo_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ueInfo_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ueInfo_List_tags_2)
+ /sizeof(asn_DEF_ueInfo_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ueInfo_List_constr_2, &asn_PER_type_ueInfo_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ueInfo_List_2,
+ 1, /* Single element */
+ &asn_SPC_ueInfo_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_EventTrigger_UE_Info_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UE_Info, ueInfo_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ueInfo_List_2,
+ 0,
+ { &asn_OER_memb_ueInfo_List_constr_2, &asn_PER_memb_ueInfo_List_constr_2, memb_ueInfo_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ueInfo-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_EventTrigger_UE_Info_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_UE_Info_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueInfo-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UE_Info_specs_1 = {
+ sizeof(struct EventTrigger_UE_Info),
+ offsetof(struct EventTrigger_UE_Info, _asn_ctx),
+ asn_MAP_EventTrigger_UE_Info_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_UE_Info = {
+ "EventTrigger-UE-Info",
+ "EventTrigger-UE-Info",
+ &asn_OP_SEQUENCE,
+ asn_DEF_EventTrigger_UE_Info_tags_1,
+ sizeof(asn_DEF_EventTrigger_UE_Info_tags_1)
+ /sizeof(asn_DEF_EventTrigger_UE_Info_tags_1[0]), /* 1 */
+ asn_DEF_EventTrigger_UE_Info_tags_1, /* Same as above */
+ sizeof(asn_DEF_EventTrigger_UE_Info_tags_1)
+ /sizeof(asn_DEF_EventTrigger_UE_Info_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_EventTrigger_UE_Info_1,
+ 1, /* Elements count */
+ &asn_SPC_EventTrigger_UE_Info_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-UEevent-Info-Item.c b/e2sm/lib/EventTrigger-UEevent-Info-Item.c
new file mode 100644
index 0000000..868fa6b
--- /dev/null
+++ b/e2sm/lib/EventTrigger-UEevent-Info-Item.c
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-UEevent-Info-Item.h"
+
+asn_TYPE_member_t asn_MBR_EventTrigger_UEevent_Info_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UEevent_Info_Item, ueEventID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_EventTrigger_UEevent_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ueEventID"
+ },
+ { ATF_POINTER, 1, offsetof(struct EventTrigger_UEevent_Info_Item, logicalOR),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_LogicalOR,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "logicalOR"
+ },
+};
+static const int asn_MAP_EventTrigger_UEevent_Info_Item_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_EventTrigger_UEevent_Info_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_UEevent_Info_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueEventID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UEevent_Info_Item_specs_1 = {
+ sizeof(struct EventTrigger_UEevent_Info_Item),
+ offsetof(struct EventTrigger_UEevent_Info_Item, _asn_ctx),
+ asn_MAP_EventTrigger_UEevent_Info_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_EventTrigger_UEevent_Info_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_UEevent_Info_Item = {
+ "EventTrigger-UEevent-Info-Item",
+ "EventTrigger-UEevent-Info-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_EventTrigger_UEevent_Info_Item_tags_1,
+ sizeof(asn_DEF_EventTrigger_UEevent_Info_Item_tags_1)
+ /sizeof(asn_DEF_EventTrigger_UEevent_Info_Item_tags_1[0]), /* 1 */
+ asn_DEF_EventTrigger_UEevent_Info_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_EventTrigger_UEevent_Info_Item_tags_1)
+ /sizeof(asn_DEF_EventTrigger_UEevent_Info_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_EventTrigger_UEevent_Info_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_EventTrigger_UEevent_Info_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-UEevent-Info.c b/e2sm/lib/EventTrigger-UEevent-Info.c
new file mode 100644
index 0000000..77a5ed7
--- /dev/null
+++ b/e2sm/lib/EventTrigger-UEevent-Info.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-UEevent-Info.h"
+
+#include "EventTrigger-UEevent-Info-Item.h"
+static int
+memb_ueEvent_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ueEvent_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ueEvent_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ueEvent_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ueEvent_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ueEvent_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_EventTrigger_UEevent_Info_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ueEvent_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ueEvent_List_specs_2 = {
+ sizeof(struct EventTrigger_UEevent_Info__ueEvent_List),
+ offsetof(struct EventTrigger_UEevent_Info__ueEvent_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ueEvent_List_2 = {
+ "ueEvent-List",
+ "ueEvent-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ueEvent_List_tags_2,
+ sizeof(asn_DEF_ueEvent_List_tags_2)
+ /sizeof(asn_DEF_ueEvent_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ueEvent_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ueEvent_List_tags_2)
+ /sizeof(asn_DEF_ueEvent_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ueEvent_List_constr_2, &asn_PER_type_ueEvent_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ueEvent_List_2,
+ 1, /* Single element */
+ &asn_SPC_ueEvent_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_EventTrigger_UEevent_Info_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UEevent_Info, ueEvent_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ueEvent_List_2,
+ 0,
+ { &asn_OER_memb_ueEvent_List_constr_2, &asn_PER_memb_ueEvent_List_constr_2, memb_ueEvent_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ueEvent-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_EventTrigger_UEevent_Info_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_UEevent_Info_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueEvent-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UEevent_Info_specs_1 = {
+ sizeof(struct EventTrigger_UEevent_Info),
+ offsetof(struct EventTrigger_UEevent_Info, _asn_ctx),
+ asn_MAP_EventTrigger_UEevent_Info_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_UEevent_Info = {
+ "EventTrigger-UEevent-Info",
+ "EventTrigger-UEevent-Info",
+ &asn_OP_SEQUENCE,
+ asn_DEF_EventTrigger_UEevent_Info_tags_1,
+ sizeof(asn_DEF_EventTrigger_UEevent_Info_tags_1)
+ /sizeof(asn_DEF_EventTrigger_UEevent_Info_tags_1[0]), /* 1 */
+ asn_DEF_EventTrigger_UEevent_Info_tags_1, /* Same as above */
+ sizeof(asn_DEF_EventTrigger_UEevent_Info_tags_1)
+ /sizeof(asn_DEF_EventTrigger_UEevent_Info_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_EventTrigger_UEevent_Info_1,
+ 1, /* Elements count */
+ &asn_SPC_EventTrigger_UEevent_Info_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/FGC-CUUP-PM-Format.c b/e2sm/lib/FGC-CUUP-PM-Format.c
deleted file mode 100644
index 634e092..0000000
--- a/e2sm/lib/FGC-CUUP-PM-Format.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "FGC-CUUP-PM-Format.h"
-
-#include "SliceToReportListItem.h"
-static int
-memb_sliceToReportList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 1024)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_sliceToReportList_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..1024)) */};
-static asn_per_constraints_t asn_PER_type_sliceToReportList_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 10, 10, 1, 1024 } /* (SIZE(1..1024)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_sliceToReportList_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..1024)) */};
-static asn_per_constraints_t asn_PER_memb_sliceToReportList_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 10, 10, 1, 1024 } /* (SIZE(1..1024)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_sliceToReportList_2[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_SliceToReportListItem,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_sliceToReportList_tags_2[] = {
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_sliceToReportList_specs_2 = {
- sizeof(struct FGC_CUUP_PM_Format__sliceToReportList),
- offsetof(struct FGC_CUUP_PM_Format__sliceToReportList, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_sliceToReportList_2 = {
- "sliceToReportList",
- "sliceToReportList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_sliceToReportList_tags_2,
- sizeof(asn_DEF_sliceToReportList_tags_2)
- /sizeof(asn_DEF_sliceToReportList_tags_2[0]) - 1, /* 1 */
- asn_DEF_sliceToReportList_tags_2, /* Same as above */
- sizeof(asn_DEF_sliceToReportList_tags_2)
- /sizeof(asn_DEF_sliceToReportList_tags_2[0]), /* 2 */
- { &asn_OER_type_sliceToReportList_constr_2, &asn_PER_type_sliceToReportList_constr_2, SEQUENCE_OF_constraint },
- asn_MBR_sliceToReportList_2,
- 1, /* Single element */
- &asn_SPC_sliceToReportList_specs_2 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_FGC_CUUP_PM_Format_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct FGC_CUUP_PM_Format, sliceToReportList),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- 0,
- &asn_DEF_sliceToReportList_2,
- 0,
- { &asn_OER_memb_sliceToReportList_constr_2, &asn_PER_memb_sliceToReportList_constr_2, memb_sliceToReportList_constraint_1 },
- 0, 0, /* No default value */
- "sliceToReportList"
- },
-};
-static const ber_tlv_tag_t asn_DEF_FGC_CUUP_PM_Format_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_FGC_CUUP_PM_Format_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* sliceToReportList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_FGC_CUUP_PM_Format_specs_1 = {
- sizeof(struct FGC_CUUP_PM_Format),
- offsetof(struct FGC_CUUP_PM_Format, _asn_ctx),
- asn_MAP_FGC_CUUP_PM_Format_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_FGC_CUUP_PM_Format = {
- "FGC-CUUP-PM-Format",
- "FGC-CUUP-PM-Format",
- &asn_OP_SEQUENCE,
- asn_DEF_FGC_CUUP_PM_Format_tags_1,
- sizeof(asn_DEF_FGC_CUUP_PM_Format_tags_1)
- /sizeof(asn_DEF_FGC_CUUP_PM_Format_tags_1[0]), /* 1 */
- asn_DEF_FGC_CUUP_PM_Format_tags_1, /* Same as above */
- sizeof(asn_DEF_FGC_CUUP_PM_Format_tags_1)
- /sizeof(asn_DEF_FGC_CUUP_PM_Format_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_FGC_CUUP_PM_Format_1,
- 1, /* Elements count */
- &asn_SPC_FGC_CUUP_PM_Format_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/FGC-DU-PM-Container.c b/e2sm/lib/FGC-DU-PM-Container.c
deleted file mode 100644
index 859867f..0000000
--- a/e2sm/lib/FGC-DU-PM-Container.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "FGC-DU-PM-Container.h"
-
-#include "SlicePerPlmnPerCellListItem.h"
-static int
-memb_slicePerPlmnPerCellList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 1024)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..1024)) */};
-static asn_per_constraints_t asn_PER_type_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 10, 10, 1, 1024 } /* (SIZE(1..1024)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..1024)) */};
-static asn_per_constraints_t asn_PER_memb_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 10, 10, 1, 1024 } /* (SIZE(1..1024)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_slicePerPlmnPerCellList_2[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_SlicePerPlmnPerCellListItem,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_slicePerPlmnPerCellList_tags_2[] = {
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_slicePerPlmnPerCellList_specs_2 = {
- sizeof(struct FGC_DU_PM_Container__slicePerPlmnPerCellList),
- offsetof(struct FGC_DU_PM_Container__slicePerPlmnPerCellList, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_slicePerPlmnPerCellList_2 = {
- "slicePerPlmnPerCellList",
- "slicePerPlmnPerCellList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_slicePerPlmnPerCellList_tags_2,
- sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2)
- /sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2[0]) - 1, /* 1 */
- asn_DEF_slicePerPlmnPerCellList_tags_2, /* Same as above */
- sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2)
- /sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2[0]), /* 2 */
- { &asn_OER_type_slicePerPlmnPerCellList_constr_2, &asn_PER_type_slicePerPlmnPerCellList_constr_2, SEQUENCE_OF_constraint },
- asn_MBR_slicePerPlmnPerCellList_2,
- 1, /* Single element */
- &asn_SPC_slicePerPlmnPerCellList_specs_2 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_FGC_DU_PM_Container_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct FGC_DU_PM_Container, slicePerPlmnPerCellList),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- 0,
- &asn_DEF_slicePerPlmnPerCellList_2,
- 0,
- { &asn_OER_memb_slicePerPlmnPerCellList_constr_2, &asn_PER_memb_slicePerPlmnPerCellList_constr_2, memb_slicePerPlmnPerCellList_constraint_1 },
- 0, 0, /* No default value */
- "slicePerPlmnPerCellList"
- },
-};
-static const ber_tlv_tag_t asn_DEF_FGC_DU_PM_Container_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_FGC_DU_PM_Container_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* slicePerPlmnPerCellList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_FGC_DU_PM_Container_specs_1 = {
- sizeof(struct FGC_DU_PM_Container),
- offsetof(struct FGC_DU_PM_Container, _asn_ctx),
- asn_MAP_FGC_DU_PM_Container_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_FGC_DU_PM_Container = {
- "FGC-DU-PM-Container",
- "FGC-DU-PM-Container",
- &asn_OP_SEQUENCE,
- asn_DEF_FGC_DU_PM_Container_tags_1,
- sizeof(asn_DEF_FGC_DU_PM_Container_tags_1)
- /sizeof(asn_DEF_FGC_DU_PM_Container_tags_1[0]), /* 1 */
- asn_DEF_FGC_DU_PM_Container_tags_1, /* Same as above */
- sizeof(asn_DEF_FGC_DU_PM_Container_tags_1)
- /sizeof(asn_DEF_FGC_DU_PM_Container_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_FGC_DU_PM_Container_1,
- 1, /* Elements count */
- &asn_SPC_FGC_DU_PM_Container_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/FQIPERSlicesPerPlmnListItem.c b/e2sm/lib/FQIPERSlicesPerPlmnListItem.c
deleted file mode 100644
index e875ee2..0000000
--- a/e2sm/lib/FQIPERSlicesPerPlmnListItem.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "FQIPERSlicesPerPlmnListItem.h"
-
-static int
-memb_pDCPBytesDL_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const INTEGER_t *st = (const INTEGER_t *)sptr;
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- if(asn_INTEGER2long(st, &value)) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value too large (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- if((value >= 0 && value <= 10000000000)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int
-memb_pDCPBytesUL_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const INTEGER_t *st = (const INTEGER_t *)sptr;
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- if(asn_INTEGER2long(st, &value)) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value too large (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- if((value >= 0 && value <= 10000000000)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_memb_pDCPBytesDL_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_pDCPBytesDL_constr_3 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 34, -1, 0, 10000000000 } /* (0..10000000000,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_pDCPBytesUL_constr_4 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_pDCPBytesUL_constr_4 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 34, -1, 0, 10000000000 } /* (0..10000000000,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_FQIPERSlicesPerPlmnListItem_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct FQIPERSlicesPerPlmnListItem, fiveQI),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_FiveQI,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "fiveQI"
- },
- { ATF_POINTER, 2, offsetof(struct FQIPERSlicesPerPlmnListItem, pDCPBytesDL),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_INTEGER,
- 0,
- { &asn_OER_memb_pDCPBytesDL_constr_3, &asn_PER_memb_pDCPBytesDL_constr_3, memb_pDCPBytesDL_constraint_1 },
- 0, 0, /* No default value */
- "pDCPBytesDL"
- },
- { ATF_POINTER, 1, offsetof(struct FQIPERSlicesPerPlmnListItem, pDCPBytesUL),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_INTEGER,
- 0,
- { &asn_OER_memb_pDCPBytesUL_constr_4, &asn_PER_memb_pDCPBytesUL_constr_4, memb_pDCPBytesUL_constraint_1 },
- 0, 0, /* No default value */
- "pDCPBytesUL"
- },
-};
-static const int asn_MAP_FQIPERSlicesPerPlmnListItem_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_FQIPERSlicesPerPlmnListItem_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fiveQI */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pDCPBytesDL */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* pDCPBytesUL */
-};
-asn_SEQUENCE_specifics_t asn_SPC_FQIPERSlicesPerPlmnListItem_specs_1 = {
- sizeof(struct FQIPERSlicesPerPlmnListItem),
- offsetof(struct FQIPERSlicesPerPlmnListItem, _asn_ctx),
- asn_MAP_FQIPERSlicesPerPlmnListItem_tag2el_1,
- 3, /* Count of tags in the map */
- asn_MAP_FQIPERSlicesPerPlmnListItem_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_FQIPERSlicesPerPlmnListItem = {
- "FQIPERSlicesPerPlmnListItem",
- "FQIPERSlicesPerPlmnListItem",
- &asn_OP_SEQUENCE,
- asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1,
- sizeof(asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1)
- /sizeof(asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1[0]), /* 1 */
- asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1, /* Same as above */
- sizeof(asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1)
- /sizeof(asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_FQIPERSlicesPerPlmnListItem_1,
- 3, /* Elements count */
- &asn_SPC_FQIPERSlicesPerPlmnListItem_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/FQIPERSlicesPerPlmnPerCellListItem.c b/e2sm/lib/FQIPERSlicesPerPlmnPerCellListItem.c
deleted file mode 100644
index d69f8a1..0000000
--- a/e2sm/lib/FQIPERSlicesPerPlmnPerCellListItem.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "FQIPERSlicesPerPlmnPerCellListItem.h"
-
-static int
-memb_dl_PRBUsage_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 273)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int
-memb_ul_PRBUsage_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 273)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_memb_dl_PRBUsage_constr_3 CC_NOTUSED = {
- { 2, 1 } /* (0..273) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_dl_PRBUsage_constr_3 CC_NOTUSED = {
- { APC_CONSTRAINED, 9, 9, 0, 273 } /* (0..273) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ul_PRBUsage_constr_4 CC_NOTUSED = {
- { 2, 1 } /* (0..273) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_ul_PRBUsage_constr_4 CC_NOTUSED = {
- { APC_CONSTRAINED, 9, 9, 0, 273 } /* (0..273) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_FQIPERSlicesPerPlmnPerCellListItem_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct FQIPERSlicesPerPlmnPerCellListItem, fiveQI),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_FiveQI,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "fiveQI"
- },
- { ATF_POINTER, 2, offsetof(struct FQIPERSlicesPerPlmnPerCellListItem, dl_PRBUsage),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_NativeInteger,
- 0,
- { &asn_OER_memb_dl_PRBUsage_constr_3, &asn_PER_memb_dl_PRBUsage_constr_3, memb_dl_PRBUsage_constraint_1 },
- 0, 0, /* No default value */
- "dl-PRBUsage"
- },
- { ATF_POINTER, 1, offsetof(struct FQIPERSlicesPerPlmnPerCellListItem, ul_PRBUsage),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_NativeInteger,
- 0,
- { &asn_OER_memb_ul_PRBUsage_constr_4, &asn_PER_memb_ul_PRBUsage_constr_4, memb_ul_PRBUsage_constraint_1 },
- 0, 0, /* No default value */
- "ul-PRBUsage"
- },
-};
-static const int asn_MAP_FQIPERSlicesPerPlmnPerCellListItem_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_FQIPERSlicesPerPlmnPerCellListItem_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fiveQI */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dl-PRBUsage */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ul-PRBUsage */
-};
-asn_SEQUENCE_specifics_t asn_SPC_FQIPERSlicesPerPlmnPerCellListItem_specs_1 = {
- sizeof(struct FQIPERSlicesPerPlmnPerCellListItem),
- offsetof(struct FQIPERSlicesPerPlmnPerCellListItem, _asn_ctx),
- asn_MAP_FQIPERSlicesPerPlmnPerCellListItem_tag2el_1,
- 3, /* Count of tags in the map */
- asn_MAP_FQIPERSlicesPerPlmnPerCellListItem_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_FQIPERSlicesPerPlmnPerCellListItem = {
- "FQIPERSlicesPerPlmnPerCellListItem",
- "FQIPERSlicesPerPlmnPerCellListItem",
- &asn_OP_SEQUENCE,
- asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1,
- sizeof(asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1)
- /sizeof(asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1[0]), /* 1 */
- asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1, /* Same as above */
- sizeof(asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1)
- /sizeof(asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_FQIPERSlicesPerPlmnPerCellListItem_1,
- 3, /* Elements count */
- &asn_SPC_FQIPERSlicesPerPlmnPerCellListItem_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/FiveGS-TAC.c b/e2sm/lib/FiveGS-TAC.c
new file mode 100644
index 0000000..48ff439
--- /dev/null
+++ b/e2sm/lib/FiveGS-TAC.c
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "FiveGS-TAC.h"
+
+int
+FiveGS_TAC_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size == 3)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_FiveGS_TAC_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 3 /* (SIZE(3..3)) */};
+asn_per_constraints_t asn_PER_type_FiveGS_TAC_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 3, 3 } /* (SIZE(3..3)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_FiveGS_TAC_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_FiveGS_TAC = {
+ "FiveGS-TAC",
+ "FiveGS-TAC",
+ &asn_OP_OCTET_STRING,
+ asn_DEF_FiveGS_TAC_tags_1,
+ sizeof(asn_DEF_FiveGS_TAC_tags_1)
+ /sizeof(asn_DEF_FiveGS_TAC_tags_1[0]), /* 1 */
+ asn_DEF_FiveGS_TAC_tags_1, /* Same as above */
+ sizeof(asn_DEF_FiveGS_TAC_tags_1)
+ /sizeof(asn_DEF_FiveGS_TAC_tags_1[0]), /* 1 */
+ { &asn_OER_type_FiveGS_TAC_constr_1, &asn_PER_type_FiveGS_TAC_constr_1, FiveGS_TAC_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_OCTET_STRING_specs /* Additional specs */
+};
+
diff --git a/e2sm/lib/FiveQI.c b/e2sm/lib/FiveQI.c
index 15d32c9..c19218b 100644
--- a/e2sm/lib/FiveQI.c
+++ b/e2sm/lib/FiveQI.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
diff --git a/e2sm/lib/FreqBandNrItem.c b/e2sm/lib/FreqBandNrItem.c
new file mode 100644
index 0000000..d5cff17
--- /dev/null
+++ b/e2sm/lib/FreqBandNrItem.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "FreqBandNrItem.h"
+
+static int
+memb_freqBandIndicatorNr_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 1024)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_memb_freqBandIndicatorNr_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_freqBandIndicatorNr_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 1024 } /* (1..1024,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_FreqBandNrItem_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct FreqBandNrItem, freqBandIndicatorNr),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_freqBandIndicatorNr_constr_2, &asn_PER_memb_freqBandIndicatorNr_constr_2, memb_freqBandIndicatorNr_constraint_1 },
+ 0, 0, /* No default value */
+ "freqBandIndicatorNr"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_FreqBandNrItem_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_FreqBandNrItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* freqBandIndicatorNr */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_FreqBandNrItem_specs_1 = {
+ sizeof(struct FreqBandNrItem),
+ offsetof(struct FreqBandNrItem, _asn_ctx),
+ asn_MAP_FreqBandNrItem_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_FreqBandNrItem = {
+ "FreqBandNrItem",
+ "FreqBandNrItem",
+ &asn_OP_SEQUENCE,
+ asn_DEF_FreqBandNrItem_tags_1,
+ sizeof(asn_DEF_FreqBandNrItem_tags_1)
+ /sizeof(asn_DEF_FreqBandNrItem_tags_1[0]), /* 1 */
+ asn_DEF_FreqBandNrItem_tags_1, /* Same as above */
+ sizeof(asn_DEF_FreqBandNrItem_tags_1)
+ /sizeof(asn_DEF_FreqBandNrItem_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_FreqBandNrItem_1,
+ 1, /* Elements count */
+ &asn_SPC_FreqBandNrItem_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/GNB-CU-CP-UE-E1AP-ID.c b/e2sm/lib/GNB-CU-CP-UE-E1AP-ID.c
new file mode 100644
index 0000000..d18a479
--- /dev/null
+++ b/e2sm/lib/GNB-CU-CP-UE-E1AP-ID.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GNB-CU-CP-UE-E1AP-ID.h"
+
+int
+GNB_CU_CP_UE_E1AP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ /* Constraint check succeeded */
+ return 0;
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_GNB_CU_CP_UE_E1AP_ID_constr_1 CC_NOTUSED = {
+ { 4, 1 } /* (0..4294967295) */,
+ -1};
+asn_per_constraints_t asn_PER_type_GNB_CU_CP_UE_E1AP_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+const asn_INTEGER_specifics_t asn_SPC_GNB_CU_CP_UE_E1AP_ID_specs_1 = {
+ 0, 0, 0, 0, 0,
+ 0, /* Native long size */
+ 1 /* Unsigned representation */
+};
+static const ber_tlv_tag_t asn_DEF_GNB_CU_CP_UE_E1AP_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_GNB_CU_CP_UE_E1AP_ID = {
+ "GNB-CU-CP-UE-E1AP-ID",
+ "GNB-CU-CP-UE-E1AP-ID",
+ &asn_OP_NativeInteger,
+ asn_DEF_GNB_CU_CP_UE_E1AP_ID_tags_1,
+ sizeof(asn_DEF_GNB_CU_CP_UE_E1AP_ID_tags_1)
+ /sizeof(asn_DEF_GNB_CU_CP_UE_E1AP_ID_tags_1[0]), /* 1 */
+ asn_DEF_GNB_CU_CP_UE_E1AP_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_GNB_CU_CP_UE_E1AP_ID_tags_1)
+ /sizeof(asn_DEF_GNB_CU_CP_UE_E1AP_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_GNB_CU_CP_UE_E1AP_ID_constr_1, &asn_PER_type_GNB_CU_CP_UE_E1AP_ID_constr_1, GNB_CU_CP_UE_E1AP_ID_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_GNB_CU_CP_UE_E1AP_ID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/GNB-CU-UE-F1AP-ID.c b/e2sm/lib/GNB-CU-UE-F1AP-ID.c
new file mode 100644
index 0000000..5b6c575
--- /dev/null
+++ b/e2sm/lib/GNB-CU-UE-F1AP-ID.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GNB-CU-UE-F1AP-ID.h"
+
+int
+GNB_CU_UE_F1AP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ /* Constraint check succeeded */
+ return 0;
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_GNB_CU_UE_F1AP_ID_constr_1 CC_NOTUSED = {
+ { 4, 1 } /* (0..4294967295) */,
+ -1};
+asn_per_constraints_t asn_PER_type_GNB_CU_UE_F1AP_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+const asn_INTEGER_specifics_t asn_SPC_GNB_CU_UE_F1AP_ID_specs_1 = {
+ 0, 0, 0, 0, 0,
+ 0, /* Native long size */
+ 1 /* Unsigned representation */
+};
+static const ber_tlv_tag_t asn_DEF_GNB_CU_UE_F1AP_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_GNB_CU_UE_F1AP_ID = {
+ "GNB-CU-UE-F1AP-ID",
+ "GNB-CU-UE-F1AP-ID",
+ &asn_OP_NativeInteger,
+ asn_DEF_GNB_CU_UE_F1AP_ID_tags_1,
+ sizeof(asn_DEF_GNB_CU_UE_F1AP_ID_tags_1)
+ /sizeof(asn_DEF_GNB_CU_UE_F1AP_ID_tags_1[0]), /* 1 */
+ asn_DEF_GNB_CU_UE_F1AP_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_GNB_CU_UE_F1AP_ID_tags_1)
+ /sizeof(asn_DEF_GNB_CU_UE_F1AP_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_GNB_CU_UE_F1AP_ID_constr_1, &asn_PER_type_GNB_CU_UE_F1AP_ID_constr_1, GNB_CU_UE_F1AP_ID_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_GNB_CU_UE_F1AP_ID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/GNB-CU-UP-ID.c b/e2sm/lib/GNB-CU-UP-ID.c
index a6e0e86..f4c8012 100644
--- a/e2sm/lib/GNB-CU-UP-ID.c
+++ b/e2sm/lib/GNB-CU-UP-ID.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
diff --git a/e2sm/lib/GNB-DU-ID.c b/e2sm/lib/GNB-DU-ID.c
index bae29c8..3bbd52c 100644
--- a/e2sm/lib/GNB-DU-ID.c
+++ b/e2sm/lib/GNB-DU-ID.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
diff --git a/e2sm/lib/GNB-ID-Choice.c b/e2sm/lib/GNB-ID-Choice.c
deleted file mode 100644
index 34d5450..0000000
--- a/e2sm/lib/GNB-ID-Choice.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GNB-ID-Choice.h"
-
-static int
-memb_gnb_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- if(st->size > 0) {
- /* Size in bits */
- size = 8 * st->size - (st->bits_unused & 0x07);
- } else {
- size = 0;
- }
-
- if((size >= 22 && size <= 32)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_memb_gnb_ID_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(22..32)) */};
-static asn_per_constraints_t asn_PER_memb_gnb_ID_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 4, 4, 22, 32 } /* (SIZE(22..32)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_type_GNB_ID_Choice_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-asn_per_constraints_t asn_PER_type_GNB_ID_Choice_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_GNB_ID_Choice_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct GNB_ID_Choice, choice.gnb_ID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_BIT_STRING,
- 0,
- { &asn_OER_memb_gnb_ID_constr_2, &asn_PER_memb_gnb_ID_constr_2, memb_gnb_ID_constraint_1 },
- 0, 0, /* No default value */
- "gnb-ID"
- },
-};
-static const asn_TYPE_tag2member_t asn_MAP_GNB_ID_Choice_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gnb-ID */
-};
-asn_CHOICE_specifics_t asn_SPC_GNB_ID_Choice_specs_1 = {
- sizeof(struct GNB_ID_Choice),
- offsetof(struct GNB_ID_Choice, _asn_ctx),
- offsetof(struct GNB_ID_Choice, present),
- sizeof(((struct GNB_ID_Choice *)0)->present),
- asn_MAP_GNB_ID_Choice_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0,
- 1 /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_GNB_ID_Choice = {
- "GNB-ID-Choice",
- "GNB-ID-Choice",
- &asn_OP_CHOICE,
- 0, /* No effective tags (pointer) */
- 0, /* No effective tags (count) */
- 0, /* No tags (pointer) */
- 0, /* No tags (count) */
- { &asn_OER_type_GNB_ID_Choice_constr_1, &asn_PER_type_GNB_ID_Choice_constr_1, CHOICE_constraint },
- asn_MBR_GNB_ID_Choice_1,
- 1, /* Elements count */
- &asn_SPC_GNB_ID_Choice_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/ENGNB-ID.c b/e2sm/lib/GNB-ID.c
similarity index 69%
rename from e2sm/lib/ENGNB-ID.c
rename to e2sm/lib/GNB-ID.c
index 5577266..ccde106 100644
--- a/e2sm/lib/ENGNB-ID.c
+++ b/e2sm/lib/GNB-ID.c
@@ -1,11 +1,11 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
-#include "ENGNB-ID.h"
+#include "GNB-ID.h"
static int
memb_gNB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
@@ -46,16 +46,16 @@
{ APC_CONSTRAINED, 4, 4, 22, 32 } /* (SIZE(22..32)) */,
0, 0 /* No PER value map */
};
-static asn_oer_constraints_t asn_OER_type_ENGNB_ID_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_GNB_ID_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
-asn_per_constraints_t asn_PER_type_ENGNB_ID_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_GNB_ID_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
-asn_TYPE_member_t asn_MBR_ENGNB_ID_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct ENGNB_ID, choice.gNB_ID),
+asn_TYPE_member_t asn_MBR_GNB_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct GNB_ID, choice.gNB_ID),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_BIT_STRING,
@@ -65,30 +65,30 @@
"gNB-ID"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_ENGNB_ID_tag2el_1[] = {
+static const asn_TYPE_tag2member_t asn_MAP_GNB_ID_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gNB-ID */
};
-asn_CHOICE_specifics_t asn_SPC_ENGNB_ID_specs_1 = {
- sizeof(struct ENGNB_ID),
- offsetof(struct ENGNB_ID, _asn_ctx),
- offsetof(struct ENGNB_ID, present),
- sizeof(((struct ENGNB_ID *)0)->present),
- asn_MAP_ENGNB_ID_tag2el_1,
+asn_CHOICE_specifics_t asn_SPC_GNB_ID_specs_1 = {
+ sizeof(struct GNB_ID),
+ offsetof(struct GNB_ID, _asn_ctx),
+ offsetof(struct GNB_ID, present),
+ sizeof(((struct GNB_ID *)0)->present),
+ asn_MAP_GNB_ID_tag2el_1,
1, /* Count of tags in the map */
0, 0,
1 /* Extensions start */
};
-asn_TYPE_descriptor_t asn_DEF_ENGNB_ID = {
- "ENGNB-ID",
- "ENGNB-ID",
+asn_TYPE_descriptor_t asn_DEF_GNB_ID = {
+ "GNB-ID",
+ "GNB-ID",
&asn_OP_CHOICE,
0, /* No effective tags (pointer) */
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
- { &asn_OER_type_ENGNB_ID_constr_1, &asn_PER_type_ENGNB_ID_constr_1, CHOICE_constraint },
- asn_MBR_ENGNB_ID_1,
+ { &asn_OER_type_GNB_ID_constr_1, &asn_PER_type_GNB_ID_constr_1, CHOICE_constraint },
+ asn_MBR_GNB_ID_1,
1, /* Elements count */
- &asn_SPC_ENGNB_ID_specs_1 /* Additional specs */
+ &asn_SPC_GNB_ID_specs_1 /* Additional specs */
};
diff --git a/e2sm/lib/GUAMI.c b/e2sm/lib/GUAMI.c
new file mode 100644
index 0000000..05040f5
--- /dev/null
+++ b/e2sm/lib/GUAMI.c
@@ -0,0 +1,80 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GUAMI.h"
+
+asn_TYPE_member_t asn_MBR_GUAMI_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct GUAMI, pLMNIdentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PLMNIdentity,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "pLMNIdentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct GUAMI, aMFRegionID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AMFRegionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "aMFRegionID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct GUAMI, aMFSetID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AMFSetID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "aMFSetID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct GUAMI, aMFPointer),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AMFPointer,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "aMFPointer"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_GUAMI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_GUAMI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNIdentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* aMFRegionID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* aMFSetID */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* aMFPointer */
+};
+asn_SEQUENCE_specifics_t asn_SPC_GUAMI_specs_1 = {
+ sizeof(struct GUAMI),
+ offsetof(struct GUAMI, _asn_ctx),
+ asn_MAP_GUAMI_tag2el_1,
+ 4, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 4, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_GUAMI = {
+ "GUAMI",
+ "GUAMI",
+ &asn_OP_SEQUENCE,
+ asn_DEF_GUAMI_tags_1,
+ sizeof(asn_DEF_GUAMI_tags_1)
+ /sizeof(asn_DEF_GUAMI_tags_1[0]), /* 1 */
+ asn_DEF_GUAMI_tags_1, /* Same as above */
+ sizeof(asn_DEF_GUAMI_tags_1)
+ /sizeof(asn_DEF_GUAMI_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_GUAMI_1,
+ 4, /* Elements count */
+ &asn_SPC_GUAMI_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/GUMMEI.c b/e2sm/lib/GUMMEI.c
new file mode 100644
index 0000000..ac0bf5b
--- /dev/null
+++ b/e2sm/lib/GUMMEI.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GUMMEI.h"
+
+asn_TYPE_member_t asn_MBR_GUMMEI_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct GUMMEI, pLMN_Identity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PLMNIdentity,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "pLMN-Identity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct GUMMEI, mME_Group_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MME_Group_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "mME-Group-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct GUMMEI, mME_Code),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MME_Code,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "mME-Code"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_GUMMEI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_GUMMEI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* mME-Group-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* mME-Code */
+};
+asn_SEQUENCE_specifics_t asn_SPC_GUMMEI_specs_1 = {
+ sizeof(struct GUMMEI),
+ offsetof(struct GUMMEI, _asn_ctx),
+ asn_MAP_GUMMEI_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_GUMMEI = {
+ "GUMMEI",
+ "GUMMEI",
+ &asn_OP_SEQUENCE,
+ asn_DEF_GUMMEI_tags_1,
+ sizeof(asn_DEF_GUMMEI_tags_1)
+ /sizeof(asn_DEF_GUMMEI_tags_1[0]), /* 1 */
+ asn_DEF_GUMMEI_tags_1, /* Same as above */
+ sizeof(asn_DEF_GUMMEI_tags_1)
+ /sizeof(asn_DEF_GUMMEI_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_GUMMEI_1,
+ 3, /* Elements count */
+ &asn_SPC_GUMMEI_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/GlobalE2node-ID.c b/e2sm/lib/GlobalE2node-ID.c
deleted file mode 100644
index 07879f0..0000000
--- a/e2sm/lib/GlobalE2node-ID.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GlobalE2node-ID.h"
-
-#include "GlobalE2node-gNB-ID.h"
-#include "GlobalE2node-en-gNB-ID.h"
-#include "GlobalE2node-ng-eNB-ID.h"
-#include "GlobalE2node-eNB-ID.h"
-static asn_oer_constraints_t asn_OER_type_GlobalE2node_ID_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-asn_per_constraints_t asn_PER_type_GlobalE2node_ID_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_GlobalE2node_ID_1[] = {
- { ATF_POINTER, 0, offsetof(struct GlobalE2node_ID, choice.gNB),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalE2node_gNB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "gNB"
- },
- { ATF_POINTER, 0, offsetof(struct GlobalE2node_ID, choice.en_gNB),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalE2node_en_gNB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "en-gNB"
- },
- { ATF_POINTER, 0, offsetof(struct GlobalE2node_ID, choice.ng_eNB),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalE2node_ng_eNB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ng-eNB"
- },
- { ATF_POINTER, 0, offsetof(struct GlobalE2node_ID, choice.eNB),
- (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalE2node_eNB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "eNB"
- },
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalE2node_ID_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-gNB */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ng-eNB */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* eNB */
-};
-asn_CHOICE_specifics_t asn_SPC_GlobalE2node_ID_specs_1 = {
- sizeof(struct GlobalE2node_ID),
- offsetof(struct GlobalE2node_ID, _asn_ctx),
- offsetof(struct GlobalE2node_ID, present),
- sizeof(((struct GlobalE2node_ID *)0)->present),
- asn_MAP_GlobalE2node_ID_tag2el_1,
- 4, /* Count of tags in the map */
- 0, 0,
- 4 /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalE2node_ID = {
- "GlobalE2node-ID",
- "GlobalE2node-ID",
- &asn_OP_CHOICE,
- 0, /* No effective tags (pointer) */
- 0, /* No effective tags (count) */
- 0, /* No tags (pointer) */
- 0, /* No tags (count) */
- { &asn_OER_type_GlobalE2node_ID_constr_1, &asn_PER_type_GlobalE2node_ID_constr_1, CHOICE_constraint },
- asn_MBR_GlobalE2node_ID_1,
- 4, /* Elements count */
- &asn_SPC_GlobalE2node_ID_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalE2node-eNB-ID.c b/e2sm/lib/GlobalE2node-eNB-ID.c
deleted file mode 100644
index 5848da9..0000000
--- a/e2sm/lib/GlobalE2node-eNB-ID.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GlobalE2node-eNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalE2node_eNB_ID_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct GlobalE2node_eNB_ID, global_eNB_ID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalENB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "global-eNB-ID"
- },
-};
-static const ber_tlv_tag_t asn_DEF_GlobalE2node_eNB_ID_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalE2node_eNB_ID_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-eNB-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_eNB_ID_specs_1 = {
- sizeof(struct GlobalE2node_eNB_ID),
- offsetof(struct GlobalE2node_eNB_ID, _asn_ctx),
- asn_MAP_GlobalE2node_eNB_ID_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalE2node_eNB_ID = {
- "GlobalE2node-eNB-ID",
- "GlobalE2node-eNB-ID",
- &asn_OP_SEQUENCE,
- asn_DEF_GlobalE2node_eNB_ID_tags_1,
- sizeof(asn_DEF_GlobalE2node_eNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalE2node_eNB_ID_tags_1[0]), /* 1 */
- asn_DEF_GlobalE2node_eNB_ID_tags_1, /* Same as above */
- sizeof(asn_DEF_GlobalE2node_eNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalE2node_eNB_ID_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_GlobalE2node_eNB_ID_1,
- 1, /* Elements count */
- &asn_SPC_GlobalE2node_eNB_ID_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalE2node-en-gNB-ID.c b/e2sm/lib/GlobalE2node-en-gNB-ID.c
deleted file mode 100644
index 53c81ad..0000000
--- a/e2sm/lib/GlobalE2node-en-gNB-ID.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GlobalE2node-en-gNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalE2node_en_gNB_ID_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct GlobalE2node_en_gNB_ID, global_gNB_ID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalenGNB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "global-gNB-ID"
- },
-};
-static const ber_tlv_tag_t asn_DEF_GlobalE2node_en_gNB_ID_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalE2node_en_gNB_ID_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-gNB-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_en_gNB_ID_specs_1 = {
- sizeof(struct GlobalE2node_en_gNB_ID),
- offsetof(struct GlobalE2node_en_gNB_ID, _asn_ctx),
- asn_MAP_GlobalE2node_en_gNB_ID_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalE2node_en_gNB_ID = {
- "GlobalE2node-en-gNB-ID",
- "GlobalE2node-en-gNB-ID",
- &asn_OP_SEQUENCE,
- asn_DEF_GlobalE2node_en_gNB_ID_tags_1,
- sizeof(asn_DEF_GlobalE2node_en_gNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalE2node_en_gNB_ID_tags_1[0]), /* 1 */
- asn_DEF_GlobalE2node_en_gNB_ID_tags_1, /* Same as above */
- sizeof(asn_DEF_GlobalE2node_en_gNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalE2node_en_gNB_ID_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_GlobalE2node_en_gNB_ID_1,
- 1, /* Elements count */
- &asn_SPC_GlobalE2node_en_gNB_ID_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalE2node-gNB-ID.c b/e2sm/lib/GlobalE2node-gNB-ID.c
deleted file mode 100644
index 6be7447..0000000
--- a/e2sm/lib/GlobalE2node-gNB-ID.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GlobalE2node-gNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalE2node_gNB_ID_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct GlobalE2node_gNB_ID, global_gNB_ID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalgNB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "global-gNB-ID"
- },
- { ATF_POINTER, 2, offsetof(struct GlobalE2node_gNB_ID, gNB_CU_UP_ID),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GNB_CU_UP_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "gNB-CU-UP-ID"
- },
- { ATF_POINTER, 1, offsetof(struct GlobalE2node_gNB_ID, gNB_DU_ID),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GNB_DU_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "gNB-DU-ID"
- },
-};
-static const int asn_MAP_GlobalE2node_gNB_ID_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_GlobalE2node_gNB_ID_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalE2node_gNB_ID_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-gNB-ID */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* gNB-CU-UP-ID */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gNB-DU-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_gNB_ID_specs_1 = {
- sizeof(struct GlobalE2node_gNB_ID),
- offsetof(struct GlobalE2node_gNB_ID, _asn_ctx),
- asn_MAP_GlobalE2node_gNB_ID_tag2el_1,
- 3, /* Count of tags in the map */
- asn_MAP_GlobalE2node_gNB_ID_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalE2node_gNB_ID = {
- "GlobalE2node-gNB-ID",
- "GlobalE2node-gNB-ID",
- &asn_OP_SEQUENCE,
- asn_DEF_GlobalE2node_gNB_ID_tags_1,
- sizeof(asn_DEF_GlobalE2node_gNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalE2node_gNB_ID_tags_1[0]), /* 1 */
- asn_DEF_GlobalE2node_gNB_ID_tags_1, /* Same as above */
- sizeof(asn_DEF_GlobalE2node_gNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalE2node_gNB_ID_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_GlobalE2node_gNB_ID_1,
- 3, /* Elements count */
- &asn_SPC_GlobalE2node_gNB_ID_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalE2node-ng-eNB-ID.c b/e2sm/lib/GlobalE2node-ng-eNB-ID.c
deleted file mode 100644
index 8ae9e02..0000000
--- a/e2sm/lib/GlobalE2node-ng-eNB-ID.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GlobalE2node-ng-eNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalE2node_ng_eNB_ID_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct GlobalE2node_ng_eNB_ID, global_ng_eNB_ID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalngeNB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "global-ng-eNB-ID"
- },
-};
-static const ber_tlv_tag_t asn_DEF_GlobalE2node_ng_eNB_ID_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalE2node_ng_eNB_ID_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-ng-eNB-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_ng_eNB_ID_specs_1 = {
- sizeof(struct GlobalE2node_ng_eNB_ID),
- offsetof(struct GlobalE2node_ng_eNB_ID, _asn_ctx),
- asn_MAP_GlobalE2node_ng_eNB_ID_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalE2node_ng_eNB_ID = {
- "GlobalE2node-ng-eNB-ID",
- "GlobalE2node-ng-eNB-ID",
- &asn_OP_SEQUENCE,
- asn_DEF_GlobalE2node_ng_eNB_ID_tags_1,
- sizeof(asn_DEF_GlobalE2node_ng_eNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalE2node_ng_eNB_ID_tags_1[0]), /* 1 */
- asn_DEF_GlobalE2node_ng_eNB_ID_tags_1, /* Same as above */
- sizeof(asn_DEF_GlobalE2node_ng_eNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalE2node_ng_eNB_ID_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_GlobalE2node_ng_eNB_ID_1,
- 1, /* Elements count */
- &asn_SPC_GlobalE2node_ng_eNB_ID_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalENB-ID.c b/e2sm/lib/GlobalENB-ID.c
index fccb2e0..731c16e 100644
--- a/e2sm/lib/GlobalENB-ID.c
+++ b/e2sm/lib/GlobalENB-ID.c
@@ -1,21 +1,21 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
#include "GlobalENB-ID.h"
asn_TYPE_member_t asn_MBR_GlobalENB_ID_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct GlobalENB_ID, pLMN_Identity),
+ { ATF_NOFLAGS, 0, offsetof(struct GlobalENB_ID, pLMNIdentity),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_PLMN_Identity,
+ &asn_DEF_PLMNIdentity,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "pLMN-Identity"
+ "pLMNIdentity"
},
{ ATF_NOFLAGS, 0, offsetof(struct GlobalENB_ID, eNB_ID),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
@@ -31,7 +31,7 @@
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_GlobalENB_ID_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNIdentity */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eNB-ID */
};
asn_SEQUENCE_specifics_t asn_SPC_GlobalENB_ID_specs_1 = {
diff --git a/e2sm/lib/GlobalGNB-ID.c b/e2sm/lib/GlobalGNB-ID.c
new file mode 100644
index 0000000..47f17dd
--- /dev/null
+++ b/e2sm/lib/GlobalGNB-ID.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GlobalGNB-ID.h"
+
+asn_TYPE_member_t asn_MBR_GlobalGNB_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct GlobalGNB_ID, pLMNIdentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PLMNIdentity,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "pLMNIdentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct GlobalGNB_ID, gNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_GNB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_GlobalGNB_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_GlobalGNB_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNIdentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* gNB-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_GlobalGNB_ID_specs_1 = {
+ sizeof(struct GlobalGNB_ID),
+ offsetof(struct GlobalGNB_ID, _asn_ctx),
+ asn_MAP_GlobalGNB_ID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_GlobalGNB_ID = {
+ "GlobalGNB-ID",
+ "GlobalGNB-ID",
+ &asn_OP_SEQUENCE,
+ asn_DEF_GlobalGNB_ID_tags_1,
+ sizeof(asn_DEF_GlobalGNB_ID_tags_1)
+ /sizeof(asn_DEF_GlobalGNB_ID_tags_1[0]), /* 1 */
+ asn_DEF_GlobalGNB_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_GlobalGNB_ID_tags_1)
+ /sizeof(asn_DEF_GlobalGNB_ID_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_GlobalGNB_ID_1,
+ 2, /* Elements count */
+ &asn_SPC_GlobalGNB_ID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/GlobalKPMnode-ID.c b/e2sm/lib/GlobalKPMnode-ID.c
deleted file mode 100644
index db52419..0000000
--- a/e2sm/lib/GlobalKPMnode-ID.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- * found in "E2SM-KPM-Prespec.asn"
- * `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#include "GlobalKPMnode-ID.h"
-
-static asn_oer_constraints_t asn_OER_type_GlobalKPMnode_ID_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-asn_per_constraints_t asn_PER_type_GlobalKPMnode_ID_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_GlobalKPMnode_ID_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_ID, choice.gNB),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalKPMnode_gNB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "gNB"
- },
- { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_ID, choice.en_gNB),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalKPMnode_en_gNB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "en-gNB"
- },
-
- { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_ID, choice.ng_eNB),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalKPMnode_ng_eNB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ng-eNB"
- },
-
- { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_ID, choice.eNB),
- (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalKPMnode_eNB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "eNB"
- },
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_ID_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-gNB */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ng-eNB */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* eNB */
-};
-asn_CHOICE_specifics_t asn_SPC_GlobalKPMnode_ID_specs_1 = {
- sizeof(struct GlobalKPMnode_ID),
- offsetof(struct GlobalKPMnode_ID, _asn_ctx),
- offsetof(struct GlobalKPMnode_ID, present),
- sizeof(((struct GlobalKPMnode_ID *)0)->present),
- asn_MAP_GlobalKPMnode_ID_tag2el_1,
- 4, /* Count of tags in the map */
- 0, 0,
- 4 /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_ID = {
- "GlobalKPMnode-ID",
- "GlobalKPMnode-ID",
- &asn_OP_CHOICE,
- 0, /* No effective tags (pointer) */
- 0, /* No effective tags (count) */
- 0, /* No tags (pointer) */
- 0, /* No tags (count) */
- { &asn_OER_type_GlobalKPMnode_ID_constr_1, &asn_PER_type_GlobalKPMnode_ID_constr_1, CHOICE_constraint },
- asn_MBR_GlobalKPMnode_ID_1,
- 4, /* Elements count */
- &asn_SPC_GlobalKPMnode_ID_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalKPMnode-eNB-ID.c b/e2sm/lib/GlobalKPMnode-eNB-ID.c
deleted file mode 100644
index 5d6e935..0000000
--- a/e2sm/lib/GlobalKPMnode-eNB-ID.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- * found in "E2SM-KPM-Prespec.asn"
- * `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#include "GlobalKPMnode-eNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalKPMnode_eNB_ID_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_eNB_ID, global_eNB_ID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalENB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "global-eNB-ID"
- },
-};
-static const ber_tlv_tag_t asn_DEF_GlobalKPMnode_eNB_ID_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_eNB_ID_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-eNB-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_eNB_ID_specs_1 = {
- sizeof(struct GlobalKPMnode_eNB_ID),
- offsetof(struct GlobalKPMnode_eNB_ID, _asn_ctx),
- asn_MAP_GlobalKPMnode_eNB_ID_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_eNB_ID = {
- "GlobalKPMnode-eNB-ID",
- "GlobalKPMnode-eNB-ID",
- &asn_OP_SEQUENCE,
- asn_DEF_GlobalKPMnode_eNB_ID_tags_1,
- sizeof(asn_DEF_GlobalKPMnode_eNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalKPMnode_eNB_ID_tags_1[0]), /* 1 */
- asn_DEF_GlobalKPMnode_eNB_ID_tags_1, /* Same as above */
- sizeof(asn_DEF_GlobalKPMnode_eNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalKPMnode_eNB_ID_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_GlobalKPMnode_eNB_ID_1,
- 1, /* Elements count */
- &asn_SPC_GlobalKPMnode_eNB_ID_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalKPMnode-en-gNB-ID.c b/e2sm/lib/GlobalKPMnode-en-gNB-ID.c
deleted file mode 100644
index 4c4f222..0000000
--- a/e2sm/lib/GlobalKPMnode-en-gNB-ID.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- * found in "E2SM-KPM-Prespec.asn"
- * `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#include "GlobalKPMnode-en-gNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalKPMnode_en_gNB_ID_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_en_gNB_ID, global_gNB_ID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalenGNB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "global-gNB-ID"
- },
-};
-
-static const ber_tlv_tag_t asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_en_gNB_ID_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-gNB-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_en_gNB_ID_specs_1 = {
- sizeof(struct GlobalKPMnode_en_gNB_ID),
- offsetof(struct GlobalKPMnode_en_gNB_ID, _asn_ctx),
- asn_MAP_GlobalKPMnode_en_gNB_ID_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_en_gNB_ID = {
- "GlobalKPMnode-en-gNB-ID",
- "GlobalKPMnode-en-gNB-ID",
- &asn_OP_SEQUENCE,
- asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1,
- sizeof(asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1[0]), /* 1 */
- asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1, /* Same as above */
- sizeof(asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_GlobalKPMnode_en_gNB_ID_1,
- 1, /* Elements count */
- &asn_SPC_GlobalKPMnode_en_gNB_ID_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalKPMnode-gNB-ID.c b/e2sm/lib/GlobalKPMnode-gNB-ID.c
deleted file mode 100644
index 19f2769..0000000
--- a/e2sm/lib/GlobalKPMnode-gNB-ID.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- * found in "E2SM-KPM-Prespec.asn"
- * `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#include "GlobalKPMnode-gNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalKPMnode_gNB_ID_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_gNB_ID, global_gNB_ID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalgNB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "global-gNB-ID"
- },
- { ATF_POINTER, 2, offsetof(struct GlobalKPMnode_gNB_ID, gNB_CU_UP_ID),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GNB_CU_UP_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "gNB-CU-UP-ID"
- },
- { ATF_POINTER, 1, offsetof(struct GlobalKPMnode_gNB_ID, gNB_DU_ID),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GNB_DU_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "gNB-DU-ID"
- },
-};
-static const int asn_MAP_GlobalKPMnode_gNB_ID_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_GlobalKPMnode_gNB_ID_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_gNB_ID_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-gNB-ID */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* gNB-CU-UP-ID */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gNB-DU-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_gNB_ID_specs_1 = {
- sizeof(struct GlobalKPMnode_gNB_ID),
- offsetof(struct GlobalKPMnode_gNB_ID, _asn_ctx),
- asn_MAP_GlobalKPMnode_gNB_ID_tag2el_1,
- 3, /* Count of tags in the map */
- asn_MAP_GlobalKPMnode_gNB_ID_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_gNB_ID = {
- "GlobalKPMnode-gNB-ID",
- "GlobalKPMnode-gNB-ID",
- &asn_OP_SEQUENCE,
- asn_DEF_GlobalKPMnode_gNB_ID_tags_1,
- sizeof(asn_DEF_GlobalKPMnode_gNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalKPMnode_gNB_ID_tags_1[0]), /* 1 */
- asn_DEF_GlobalKPMnode_gNB_ID_tags_1, /* Same as above */
- sizeof(asn_DEF_GlobalKPMnode_gNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalKPMnode_gNB_ID_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_GlobalKPMnode_gNB_ID_1,
- 3, /* Elements count */
- &asn_SPC_GlobalKPMnode_gNB_ID_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalKPMnode-ng-eNB-ID.c b/e2sm/lib/GlobalKPMnode-ng-eNB-ID.c
deleted file mode 100644
index 6d04929..0000000
--- a/e2sm/lib/GlobalKPMnode-ng-eNB-ID.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- * found in "E2SM-KPM-Prespec.asn"
- * `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#include "GlobalKPMnode-ng-eNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalKPMnode_ng_eNB_ID_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_ng_eNB_ID, global_ng_eNB_ID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_GlobalngeNB_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "global-ng-eNB-ID"
- },
-};
-
-static const ber_tlv_tag_t asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_ng_eNB_ID_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-ng-eNB-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_ng_eNB_ID_specs_1 = {
- sizeof(struct GlobalKPMnode_ng_eNB_ID),
- offsetof(struct GlobalKPMnode_ng_eNB_ID, _asn_ctx),
- asn_MAP_GlobalKPMnode_ng_eNB_ID_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_ng_eNB_ID = {
- "GlobalKPMnode-ng-eNB-ID",
- "GlobalKPMnode-ng-eNB-ID",
- &asn_OP_SEQUENCE,
- asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1,
- sizeof(asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1[0]), /* 1 */
- asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1, /* Same as above */
- sizeof(asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_GlobalKPMnode_ng_eNB_ID_1,
- 1, /* Elements count */
- &asn_SPC_GlobalKPMnode_ng_eNB_ID_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalNGRANNodeID.c b/e2sm/lib/GlobalNGRANNodeID.c
new file mode 100644
index 0000000..58de505
--- /dev/null
+++ b/e2sm/lib/GlobalNGRANNodeID.c
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GlobalNGRANNodeID.h"
+
+#include "GlobalGNB-ID.h"
+#include "GlobalNgENB-ID.h"
+static asn_oer_constraints_t asn_OER_type_GlobalNGRANNodeID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_GlobalNGRANNodeID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_GlobalNGRANNodeID_1[] = {
+ { ATF_POINTER, 0, offsetof(struct GlobalNGRANNodeID, choice.gNB),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalGNB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB"
+ },
+ { ATF_POINTER, 0, offsetof(struct GlobalNGRANNodeID, choice.ng_eNB),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalNgENB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ng-eNB"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_GlobalNGRANNodeID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ng-eNB */
+};
+asn_CHOICE_specifics_t asn_SPC_GlobalNGRANNodeID_specs_1 = {
+ sizeof(struct GlobalNGRANNodeID),
+ offsetof(struct GlobalNGRANNodeID, _asn_ctx),
+ offsetof(struct GlobalNGRANNodeID, present),
+ sizeof(((struct GlobalNGRANNodeID *)0)->present),
+ asn_MAP_GlobalNGRANNodeID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_GlobalNGRANNodeID = {
+ "GlobalNGRANNodeID",
+ "GlobalNGRANNodeID",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_GlobalNGRANNodeID_constr_1, &asn_PER_type_GlobalNGRANNodeID_constr_1, CHOICE_constraint },
+ asn_MBR_GlobalNGRANNodeID_1,
+ 2, /* Elements count */
+ &asn_SPC_GlobalNGRANNodeID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/GlobalNgENB-ID.c b/e2sm/lib/GlobalNgENB-ID.c
new file mode 100644
index 0000000..549617a
--- /dev/null
+++ b/e2sm/lib/GlobalNgENB-ID.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GlobalNgENB-ID.h"
+
+asn_TYPE_member_t asn_MBR_GlobalNgENB_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct GlobalNgENB_ID, pLMNIdentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PLMNIdentity,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "pLMNIdentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct GlobalNgENB_ID, ngENB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_NgENB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ngENB-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_GlobalNgENB_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_GlobalNgENB_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNIdentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ngENB-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_GlobalNgENB_ID_specs_1 = {
+ sizeof(struct GlobalNgENB_ID),
+ offsetof(struct GlobalNgENB_ID, _asn_ctx),
+ asn_MAP_GlobalNgENB_ID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_GlobalNgENB_ID = {
+ "GlobalNgENB-ID",
+ "GlobalNgENB-ID",
+ &asn_OP_SEQUENCE,
+ asn_DEF_GlobalNgENB_ID_tags_1,
+ sizeof(asn_DEF_GlobalNgENB_ID_tags_1)
+ /sizeof(asn_DEF_GlobalNgENB_ID_tags_1[0]), /* 1 */
+ asn_DEF_GlobalNgENB_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_GlobalNgENB_ID_tags_1)
+ /sizeof(asn_DEF_GlobalNgENB_ID_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_GlobalNgENB_ID_1,
+ 2, /* Elements count */
+ &asn_SPC_GlobalNgENB_ID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/GlobalenGNB-ID.c b/e2sm/lib/GlobalenGNB-ID.c
index 1824a11..887b8a4 100644
--- a/e2sm/lib/GlobalenGNB-ID.c
+++ b/e2sm/lib/GlobalenGNB-ID.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
@@ -11,20 +11,20 @@
{ ATF_NOFLAGS, 0, offsetof(struct GlobalenGNB_ID, pLMN_Identity),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_PLMN_Identity,
+ &asn_DEF_PLMNIdentity,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"pLMN-Identity"
},
- { ATF_NOFLAGS, 0, offsetof(struct GlobalenGNB_ID, gNB_ID),
+ { ATF_NOFLAGS, 0, offsetof(struct GlobalenGNB_ID, en_gNB_ID),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_ENGNB_ID,
+ &asn_DEF_EN_GNB_ID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "gNB-ID"
+ "en-gNB-ID"
},
};
static const ber_tlv_tag_t asn_DEF_GlobalenGNB_ID_tags_1[] = {
@@ -32,7 +32,7 @@
};
static const asn_TYPE_tag2member_t asn_MAP_GlobalenGNB_ID_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* gNB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* en-gNB-ID */
};
asn_SEQUENCE_specifics_t asn_SPC_GlobalenGNB_ID_specs_1 = {
sizeof(struct GlobalenGNB_ID),
diff --git a/e2sm/lib/GlobalgNB-ID.c b/e2sm/lib/GlobalgNB-ID.c
deleted file mode 100644
index 40d7462..0000000
--- a/e2sm/lib/GlobalgNB-ID.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GlobalgNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalgNB_ID_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct GlobalgNB_ID, plmn_id),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_PLMN_Identity,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "plmn-id"
- },
- { ATF_NOFLAGS, 0, offsetof(struct GlobalgNB_ID, gnb_id),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- +1, /* EXPLICIT tag at current level */
- &asn_DEF_GNB_ID_Choice,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "gnb-id"
- },
-};
-static const ber_tlv_tag_t asn_DEF_GlobalgNB_ID_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalgNB_ID_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* plmn-id */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* gnb-id */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalgNB_ID_specs_1 = {
- sizeof(struct GlobalgNB_ID),
- offsetof(struct GlobalgNB_ID, _asn_ctx),
- asn_MAP_GlobalgNB_ID_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalgNB_ID = {
- "GlobalgNB-ID",
- "GlobalgNB-ID",
- &asn_OP_SEQUENCE,
- asn_DEF_GlobalgNB_ID_tags_1,
- sizeof(asn_DEF_GlobalgNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalgNB_ID_tags_1[0]), /* 1 */
- asn_DEF_GlobalgNB_ID_tags_1, /* Same as above */
- sizeof(asn_DEF_GlobalgNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalgNB_ID_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_GlobalgNB_ID_1,
- 2, /* Elements count */
- &asn_SPC_GlobalgNB_ID_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalngeNB-ID.c b/e2sm/lib/GlobalngeNB-ID.c
deleted file mode 100644
index 91873a1..0000000
--- a/e2sm/lib/GlobalngeNB-ID.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GlobalngeNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalngeNB_ID_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct GlobalngeNB_ID, plmn_id),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_PLMN_Identity,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "plmn-id"
- },
- { ATF_NOFLAGS, 0, offsetof(struct GlobalngeNB_ID, enb_id),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- +1, /* EXPLICIT tag at current level */
- &asn_DEF_ENB_ID_Choice,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "enb-id"
- },
-};
-static const ber_tlv_tag_t asn_DEF_GlobalngeNB_ID_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalngeNB_ID_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* plmn-id */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* enb-id */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalngeNB_ID_specs_1 = {
- sizeof(struct GlobalngeNB_ID),
- offsetof(struct GlobalngeNB_ID, _asn_ctx),
- asn_MAP_GlobalngeNB_ID_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalngeNB_ID = {
- "GlobalngeNB-ID",
- "GlobalngeNB-ID",
- &asn_OP_SEQUENCE,
- asn_DEF_GlobalngeNB_ID_tags_1,
- sizeof(asn_DEF_GlobalngeNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalngeNB_ID_tags_1[0]), /* 1 */
- asn_DEF_GlobalngeNB_ID_tags_1, /* Same as above */
- sizeof(asn_DEF_GlobalngeNB_ID_tags_1)
- /sizeof(asn_DEF_GlobalngeNB_ID_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_GlobalngeNB_ID_1,
- 2, /* Elements count */
- &asn_SPC_GlobalngeNB_ID_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/GroupID.c b/e2sm/lib/GroupID.c
new file mode 100644
index 0000000..4fe3f18
--- /dev/null
+++ b/e2sm/lib/GroupID.c
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GroupID.h"
+
+static asn_oer_constraints_t asn_OER_type_GroupID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_GroupID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_GroupID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct GroupID, choice.fiveGC),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_FiveQI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "fiveGC"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct GroupID, choice.ePC),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_QCI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ePC"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_GroupID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fiveGC */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ePC */
+};
+static asn_CHOICE_specifics_t asn_SPC_GroupID_specs_1 = {
+ sizeof(struct GroupID),
+ offsetof(struct GroupID, _asn_ctx),
+ offsetof(struct GroupID, present),
+ sizeof(((struct GroupID *)0)->present),
+ asn_MAP_GroupID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_GroupID = {
+ "GroupID",
+ "GroupID",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_GroupID_constr_1, &asn_PER_type_GroupID_constr_1, CHOICE_constraint },
+ asn_MBR_GroupID_1,
+ 2, /* Elements count */
+ &asn_SPC_GroupID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/IndexToRFSP.c b/e2sm/lib/IndexToRFSP.c
new file mode 100644
index 0000000..cd7b378
--- /dev/null
+++ b/e2sm/lib/IndexToRFSP.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "IndexToRFSP.h"
+
+int
+IndexToRFSP_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 256)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_IndexToRFSP_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_IndexToRFSP_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 256 } /* (1..256,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_IndexToRFSP_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_IndexToRFSP = {
+ "IndexToRFSP",
+ "IndexToRFSP",
+ &asn_OP_NativeInteger,
+ asn_DEF_IndexToRFSP_tags_1,
+ sizeof(asn_DEF_IndexToRFSP_tags_1)
+ /sizeof(asn_DEF_IndexToRFSP_tags_1[0]), /* 1 */
+ asn_DEF_IndexToRFSP_tags_1, /* Same as above */
+ sizeof(asn_DEF_IndexToRFSP_tags_1)
+ /sizeof(asn_DEF_IndexToRFSP_tags_1[0]), /* 1 */
+ { &asn_OER_type_IndexToRFSP_constr_1, &asn_PER_type_IndexToRFSP_constr_1, IndexToRFSP_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/InsertIndication-RANParameter-Item.c b/e2sm/lib/InsertIndication-RANParameter-Item.c
new file mode 100644
index 0000000..0577b21
--- /dev/null
+++ b/e2sm/lib/InsertIndication-RANParameter-Item.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InsertIndication-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_InsertIndication_RANParameter_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct InsertIndication_RANParameter_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct InsertIndication_RANParameter_Item, ranParameter_name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-name"
+ },
+ { ATF_POINTER, 1, offsetof(struct InsertIndication_RANParameter_Item, ranParameter_Definition),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Definition"
+ },
+};
+static const int asn_MAP_InsertIndication_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_InsertIndication_RANParameter_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InsertIndication_RANParameter_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InsertIndication_RANParameter_Item_specs_1 = {
+ sizeof(struct InsertIndication_RANParameter_Item),
+ offsetof(struct InsertIndication_RANParameter_Item, _asn_ctx),
+ asn_MAP_InsertIndication_RANParameter_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_InsertIndication_RANParameter_Item_oms_1, /* Optional members */
+ 0, 1, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InsertIndication_RANParameter_Item = {
+ "InsertIndication-RANParameter-Item",
+ "InsertIndication-RANParameter-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_InsertIndication_RANParameter_Item_tags_1,
+ sizeof(asn_DEF_InsertIndication_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_InsertIndication_RANParameter_Item_tags_1[0]), /* 1 */
+ asn_DEF_InsertIndication_RANParameter_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_InsertIndication_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_InsertIndication_RANParameter_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_InsertIndication_RANParameter_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_InsertIndication_RANParameter_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/Interface-MessageID.c b/e2sm/lib/Interface-MessageID.c
new file mode 100644
index 0000000..6f78561
--- /dev/null
+++ b/e2sm/lib/Interface-MessageID.c
@@ -0,0 +1,113 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "Interface-MessageID.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_messageType_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_messageType_constr_3 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_messageType_value2enum_3[] = {
+ { 0, 17, "initiatingMessage" },
+ { 1, 17, "successfulOutcome" },
+ { 2, 19, "unsuccessfulOutcome" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_messageType_enum2value_3[] = {
+ 0, /* initiatingMessage(0) */
+ 1, /* successfulOutcome(1) */
+ 2 /* unsuccessfulOutcome(2) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_messageType_specs_3 = {
+ asn_MAP_messageType_value2enum_3, /* "tag" => N; sorted by tag */
+ asn_MAP_messageType_enum2value_3, /* N => "tag"; sorted by N */
+ 3, /* Number of elements in the maps */
+ 4, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_messageType_tags_3[] = {
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_messageType_3 = {
+ "messageType",
+ "messageType",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_messageType_tags_3,
+ sizeof(asn_DEF_messageType_tags_3)
+ /sizeof(asn_DEF_messageType_tags_3[0]) - 1, /* 1 */
+ asn_DEF_messageType_tags_3, /* Same as above */
+ sizeof(asn_DEF_messageType_tags_3)
+ /sizeof(asn_DEF_messageType_tags_3[0]), /* 2 */
+ { &asn_OER_type_messageType_constr_3, &asn_PER_type_messageType_constr_3, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_messageType_specs_3 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_Interface_MessageID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct Interface_MessageID, interfaceProcedureID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "interfaceProcedureID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct Interface_MessageID, messageType),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_messageType_3,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "messageType"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_Interface_MessageID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_Interface_MessageID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* interfaceProcedureID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* messageType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_Interface_MessageID_specs_1 = {
+ sizeof(struct Interface_MessageID),
+ offsetof(struct Interface_MessageID, _asn_ctx),
+ asn_MAP_Interface_MessageID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_Interface_MessageID = {
+ "Interface-MessageID",
+ "Interface-MessageID",
+ &asn_OP_SEQUENCE,
+ asn_DEF_Interface_MessageID_tags_1,
+ sizeof(asn_DEF_Interface_MessageID_tags_1)
+ /sizeof(asn_DEF_Interface_MessageID_tags_1[0]), /* 1 */
+ asn_DEF_Interface_MessageID_tags_1, /* Same as above */
+ sizeof(asn_DEF_Interface_MessageID_tags_1)
+ /sizeof(asn_DEF_Interface_MessageID_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_Interface_MessageID_1,
+ 2, /* Elements count */
+ &asn_SPC_Interface_MessageID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceID-E1.c b/e2sm/lib/InterfaceID-E1.c
new file mode 100644
index 0000000..3c6109f
--- /dev/null
+++ b/e2sm/lib/InterfaceID-E1.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceID-E1.h"
+
+asn_TYPE_member_t asn_MBR_InterfaceID_E1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_E1, globalGNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalGNB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "globalGNB-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_E1, gNB_CU_UP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GNB_CU_UP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-CU-UP-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceID_E1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceID_E1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* globalGNB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* gNB-CU-UP-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_E1_specs_1 = {
+ sizeof(struct InterfaceID_E1),
+ offsetof(struct InterfaceID_E1, _asn_ctx),
+ asn_MAP_InterfaceID_E1_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceID_E1 = {
+ "InterfaceID-E1",
+ "InterfaceID-E1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_InterfaceID_E1_tags_1,
+ sizeof(asn_DEF_InterfaceID_E1_tags_1)
+ /sizeof(asn_DEF_InterfaceID_E1_tags_1[0]), /* 1 */
+ asn_DEF_InterfaceID_E1_tags_1, /* Same as above */
+ sizeof(asn_DEF_InterfaceID_E1_tags_1)
+ /sizeof(asn_DEF_InterfaceID_E1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_InterfaceID_E1_1,
+ 2, /* Elements count */
+ &asn_SPC_InterfaceID_E1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceID-F1.c b/e2sm/lib/InterfaceID-F1.c
new file mode 100644
index 0000000..cd36650
--- /dev/null
+++ b/e2sm/lib/InterfaceID-F1.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceID-F1.h"
+
+asn_TYPE_member_t asn_MBR_InterfaceID_F1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_F1, globalGNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalGNB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "globalGNB-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_F1, gNB_DU_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GNB_DU_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-DU-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceID_F1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceID_F1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* globalGNB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* gNB-DU-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_F1_specs_1 = {
+ sizeof(struct InterfaceID_F1),
+ offsetof(struct InterfaceID_F1, _asn_ctx),
+ asn_MAP_InterfaceID_F1_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceID_F1 = {
+ "InterfaceID-F1",
+ "InterfaceID-F1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_InterfaceID_F1_tags_1,
+ sizeof(asn_DEF_InterfaceID_F1_tags_1)
+ /sizeof(asn_DEF_InterfaceID_F1_tags_1[0]), /* 1 */
+ asn_DEF_InterfaceID_F1_tags_1, /* Same as above */
+ sizeof(asn_DEF_InterfaceID_F1_tags_1)
+ /sizeof(asn_DEF_InterfaceID_F1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_InterfaceID_F1_1,
+ 2, /* Elements count */
+ &asn_SPC_InterfaceID_F1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceID-NG.c b/e2sm/lib/InterfaceID-NG.c
new file mode 100644
index 0000000..a1cc25c
--- /dev/null
+++ b/e2sm/lib/InterfaceID-NG.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceID-NG.h"
+
+asn_TYPE_member_t asn_MBR_InterfaceID_NG_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_NG, guami),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GUAMI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "guami"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceID_NG_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceID_NG_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* guami */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_NG_specs_1 = {
+ sizeof(struct InterfaceID_NG),
+ offsetof(struct InterfaceID_NG, _asn_ctx),
+ asn_MAP_InterfaceID_NG_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceID_NG = {
+ "InterfaceID-NG",
+ "InterfaceID-NG",
+ &asn_OP_SEQUENCE,
+ asn_DEF_InterfaceID_NG_tags_1,
+ sizeof(asn_DEF_InterfaceID_NG_tags_1)
+ /sizeof(asn_DEF_InterfaceID_NG_tags_1[0]), /* 1 */
+ asn_DEF_InterfaceID_NG_tags_1, /* Same as above */
+ sizeof(asn_DEF_InterfaceID_NG_tags_1)
+ /sizeof(asn_DEF_InterfaceID_NG_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_InterfaceID_NG_1,
+ 1, /* Elements count */
+ &asn_SPC_InterfaceID_NG_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceID-S1.c b/e2sm/lib/InterfaceID-S1.c
new file mode 100644
index 0000000..2710359
--- /dev/null
+++ b/e2sm/lib/InterfaceID-S1.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceID-S1.h"
+
+asn_TYPE_member_t asn_MBR_InterfaceID_S1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_S1, gUMMEI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GUMMEI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gUMMEI"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceID_S1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceID_S1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gUMMEI */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_S1_specs_1 = {
+ sizeof(struct InterfaceID_S1),
+ offsetof(struct InterfaceID_S1, _asn_ctx),
+ asn_MAP_InterfaceID_S1_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceID_S1 = {
+ "InterfaceID-S1",
+ "InterfaceID-S1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_InterfaceID_S1_tags_1,
+ sizeof(asn_DEF_InterfaceID_S1_tags_1)
+ /sizeof(asn_DEF_InterfaceID_S1_tags_1[0]), /* 1 */
+ asn_DEF_InterfaceID_S1_tags_1, /* Same as above */
+ sizeof(asn_DEF_InterfaceID_S1_tags_1)
+ /sizeof(asn_DEF_InterfaceID_S1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_InterfaceID_S1_1,
+ 1, /* Elements count */
+ &asn_SPC_InterfaceID_S1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceID-W1.c b/e2sm/lib/InterfaceID-W1.c
new file mode 100644
index 0000000..4bbd6a6
--- /dev/null
+++ b/e2sm/lib/InterfaceID-W1.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceID-W1.h"
+
+asn_TYPE_member_t asn_MBR_InterfaceID_W1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_W1, global_ng_eNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalNgENB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "global-ng-eNB-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_W1, ng_eNB_DU_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NGENB_DU_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ng-eNB-DU-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceID_W1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceID_W1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-ng-eNB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ng-eNB-DU-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_W1_specs_1 = {
+ sizeof(struct InterfaceID_W1),
+ offsetof(struct InterfaceID_W1, _asn_ctx),
+ asn_MAP_InterfaceID_W1_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceID_W1 = {
+ "InterfaceID-W1",
+ "InterfaceID-W1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_InterfaceID_W1_tags_1,
+ sizeof(asn_DEF_InterfaceID_W1_tags_1)
+ /sizeof(asn_DEF_InterfaceID_W1_tags_1[0]), /* 1 */
+ asn_DEF_InterfaceID_W1_tags_1, /* Same as above */
+ sizeof(asn_DEF_InterfaceID_W1_tags_1)
+ /sizeof(asn_DEF_InterfaceID_W1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_InterfaceID_W1_1,
+ 2, /* Elements count */
+ &asn_SPC_InterfaceID_W1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceID-X2.c b/e2sm/lib/InterfaceID-X2.c
new file mode 100644
index 0000000..f410123
--- /dev/null
+++ b/e2sm/lib/InterfaceID-X2.c
@@ -0,0 +1,109 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceID-X2.h"
+
+#include "GlobalENB-ID.h"
+#include "GlobalenGNB-ID.h"
+static asn_oer_constraints_t asn_OER_type_nodeType_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_nodeType_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_nodeType_2[] = {
+ { ATF_POINTER, 0, offsetof(struct InterfaceID_X2__nodeType, choice.global_eNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalENB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "global-eNB-ID"
+ },
+ { ATF_POINTER, 0, offsetof(struct InterfaceID_X2__nodeType, choice.global_en_gNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalenGNB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "global-en-gNB-ID"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_nodeType_tag2el_2[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-eNB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* global-en-gNB-ID */
+};
+static asn_CHOICE_specifics_t asn_SPC_nodeType_specs_2 = {
+ sizeof(struct InterfaceID_X2__nodeType),
+ offsetof(struct InterfaceID_X2__nodeType, _asn_ctx),
+ offsetof(struct InterfaceID_X2__nodeType, present),
+ sizeof(((struct InterfaceID_X2__nodeType *)0)->present),
+ asn_MAP_nodeType_tag2el_2,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_nodeType_2 = {
+ "nodeType",
+ "nodeType",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_nodeType_constr_2, &asn_PER_type_nodeType_constr_2, CHOICE_constraint },
+ asn_MBR_nodeType_2,
+ 2, /* Elements count */
+ &asn_SPC_nodeType_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_InterfaceID_X2_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_X2, nodeType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_nodeType_2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nodeType"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceID_X2_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceID_X2_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* nodeType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_X2_specs_1 = {
+ sizeof(struct InterfaceID_X2),
+ offsetof(struct InterfaceID_X2, _asn_ctx),
+ asn_MAP_InterfaceID_X2_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceID_X2 = {
+ "InterfaceID-X2",
+ "InterfaceID-X2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_InterfaceID_X2_tags_1,
+ sizeof(asn_DEF_InterfaceID_X2_tags_1)
+ /sizeof(asn_DEF_InterfaceID_X2_tags_1[0]), /* 1 */
+ asn_DEF_InterfaceID_X2_tags_1, /* Same as above */
+ sizeof(asn_DEF_InterfaceID_X2_tags_1)
+ /sizeof(asn_DEF_InterfaceID_X2_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_InterfaceID_X2_1,
+ 1, /* Elements count */
+ &asn_SPC_InterfaceID_X2_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceID-Xn.c b/e2sm/lib/InterfaceID-Xn.c
new file mode 100644
index 0000000..de8e414
--- /dev/null
+++ b/e2sm/lib/InterfaceID-Xn.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceID-Xn.h"
+
+asn_TYPE_member_t asn_MBR_InterfaceID_Xn_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_Xn, global_NG_RAN_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_GlobalNGRANNodeID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "global-NG-RAN-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceID_Xn_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceID_Xn_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-NG-RAN-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_Xn_specs_1 = {
+ sizeof(struct InterfaceID_Xn),
+ offsetof(struct InterfaceID_Xn, _asn_ctx),
+ asn_MAP_InterfaceID_Xn_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceID_Xn = {
+ "InterfaceID-Xn",
+ "InterfaceID-Xn",
+ &asn_OP_SEQUENCE,
+ asn_DEF_InterfaceID_Xn_tags_1,
+ sizeof(asn_DEF_InterfaceID_Xn_tags_1)
+ /sizeof(asn_DEF_InterfaceID_Xn_tags_1[0]), /* 1 */
+ asn_DEF_InterfaceID_Xn_tags_1, /* Same as above */
+ sizeof(asn_DEF_InterfaceID_Xn_tags_1)
+ /sizeof(asn_DEF_InterfaceID_Xn_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_InterfaceID_Xn_1,
+ 1, /* Elements count */
+ &asn_SPC_InterfaceID_Xn_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceIdentifier.c b/e2sm/lib/InterfaceIdentifier.c
new file mode 100644
index 0000000..b04564e
--- /dev/null
+++ b/e2sm/lib/InterfaceIdentifier.c
@@ -0,0 +1,122 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceIdentifier.h"
+
+#include "InterfaceID-NG.h"
+#include "InterfaceID-Xn.h"
+#include "InterfaceID-F1.h"
+#include "InterfaceID-E1.h"
+#include "InterfaceID-S1.h"
+#include "InterfaceID-X2.h"
+#include "InterfaceID-W1.h"
+static asn_oer_constraints_t asn_OER_type_InterfaceIdentifier_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_InterfaceIdentifier_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_InterfaceIdentifier_1[] = {
+ { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.nG),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_InterfaceID_NG,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nG"
+ },
+ { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.xN),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_InterfaceID_Xn,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "xN"
+ },
+ { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.f1),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_InterfaceID_F1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "f1"
+ },
+ { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.e1),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_InterfaceID_E1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e1"
+ },
+ { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.s1),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_InterfaceID_S1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "s1"
+ },
+ { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.x2),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_InterfaceID_X2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "x2"
+ },
+ { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.w1),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_InterfaceID_W1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "w1"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceIdentifier_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nG */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* xN */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* f1 */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* e1 */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* s1 */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* x2 */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* w1 */
+};
+asn_CHOICE_specifics_t asn_SPC_InterfaceIdentifier_specs_1 = {
+ sizeof(struct InterfaceIdentifier),
+ offsetof(struct InterfaceIdentifier, _asn_ctx),
+ offsetof(struct InterfaceIdentifier, present),
+ sizeof(((struct InterfaceIdentifier *)0)->present),
+ asn_MAP_InterfaceIdentifier_tag2el_1,
+ 7, /* Count of tags in the map */
+ 0, 0,
+ 7 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceIdentifier = {
+ "InterfaceIdentifier",
+ "InterfaceIdentifier",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_InterfaceIdentifier_constr_1, &asn_PER_type_InterfaceIdentifier_constr_1, CHOICE_constraint },
+ asn_MBR_InterfaceIdentifier_1,
+ 7, /* Elements count */
+ &asn_SPC_InterfaceIdentifier_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceType.c b/e2sm/lib/InterfaceType.c
new file mode 100644
index 0000000..359cad7
--- /dev/null
+++ b/e2sm/lib/InterfaceType.c
@@ -0,0 +1,68 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceType.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_InterfaceType_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_InterfaceType_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_InterfaceType_value2enum_1[] = {
+ { 0, 2, "nG" },
+ { 1, 2, "xn" },
+ { 2, 2, "f1" },
+ { 3, 2, "e1" },
+ { 4, 2, "s1" },
+ { 5, 2, "x2" },
+ { 6, 2, "w1" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_InterfaceType_enum2value_1[] = {
+ 3, /* e1(3) */
+ 2, /* f1(2) */
+ 0, /* nG(0) */
+ 4, /* s1(4) */
+ 6, /* w1(6) */
+ 5, /* x2(5) */
+ 1 /* xn(1) */
+ /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_InterfaceType_specs_1 = {
+ asn_MAP_InterfaceType_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_InterfaceType_enum2value_1, /* N => "tag"; sorted by N */
+ 7, /* Number of elements in the maps */
+ 8, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceType = {
+ "InterfaceType",
+ "InterfaceType",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_InterfaceType_tags_1,
+ sizeof(asn_DEF_InterfaceType_tags_1)
+ /sizeof(asn_DEF_InterfaceType_tags_1[0]), /* 1 */
+ asn_DEF_InterfaceType_tags_1, /* Same as above */
+ sizeof(asn_DEF_InterfaceType_tags_1)
+ /sizeof(asn_DEF_InterfaceType_tags_1[0]), /* 1 */
+ { &asn_OER_type_InterfaceType_constr_1, &asn_PER_type_InterfaceType_constr_1, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_InterfaceType_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/L2Parameters-RANParameter-Item.c b/e2sm/lib/L2Parameters-RANParameter-Item.c
new file mode 100644
index 0000000..929135d
--- /dev/null
+++ b/e2sm/lib/L2Parameters-RANParameter-Item.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "L2Parameters-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_L2Parameters_RANParameter_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct L2Parameters_RANParameter_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct L2Parameters_RANParameter_Item, ranParameter_Name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Name"
+ },
+ { ATF_POINTER, 1, offsetof(struct L2Parameters_RANParameter_Item, ranParameter_Definition),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Definition"
+ },
+};
+static const int asn_MAP_L2Parameters_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_L2Parameters_RANParameter_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_L2Parameters_RANParameter_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-Name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_L2Parameters_RANParameter_Item_specs_1 = {
+ sizeof(struct L2Parameters_RANParameter_Item),
+ offsetof(struct L2Parameters_RANParameter_Item, _asn_ctx),
+ asn_MAP_L2Parameters_RANParameter_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_L2Parameters_RANParameter_Item_oms_1, /* Optional members */
+ 0, 1, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_L2Parameters_RANParameter_Item = {
+ "L2Parameters-RANParameter-Item",
+ "L2Parameters-RANParameter-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_L2Parameters_RANParameter_Item_tags_1,
+ sizeof(asn_DEF_L2Parameters_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_L2Parameters_RANParameter_Item_tags_1[0]), /* 1 */
+ asn_DEF_L2Parameters_RANParameter_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_L2Parameters_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_L2Parameters_RANParameter_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_L2Parameters_RANParameter_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_L2Parameters_RANParameter_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/L3-RRC-Measurements.c b/e2sm/lib/L3-RRC-Measurements.c
deleted file mode 100644
index df7009d..0000000
--- a/e2sm/lib/L3-RRC-Measurements.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "L3-RRC-Measurements.h"
-
-#include "ServingCellMeasurements.h"
-#include "MeasResultNeighCells.h"
-asn_TYPE_member_t asn_MBR_L3_RRC_Measurements_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct L3_RRC_Measurements, rrcEvent),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RRCEvent,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "rrcEvent"
- },
- { ATF_POINTER, 2, offsetof(struct L3_RRC_Measurements, servingCellMeasurements),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- +1, /* EXPLICIT tag at current level */
- &asn_DEF_ServingCellMeasurements,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "servingCellMeasurements"
- },
- { ATF_POINTER, 1, offsetof(struct L3_RRC_Measurements, measResultNeighCells),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- +1, /* EXPLICIT tag at current level */
- &asn_DEF_MeasResultNeighCells,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "measResultNeighCells"
- },
-};
-static const int asn_MAP_L3_RRC_Measurements_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_L3_RRC_Measurements_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_L3_RRC_Measurements_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rrcEvent */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* servingCellMeasurements */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* measResultNeighCells */
-};
-asn_SEQUENCE_specifics_t asn_SPC_L3_RRC_Measurements_specs_1 = {
- sizeof(struct L3_RRC_Measurements),
- offsetof(struct L3_RRC_Measurements, _asn_ctx),
- asn_MAP_L3_RRC_Measurements_tag2el_1,
- 3, /* Count of tags in the map */
- asn_MAP_L3_RRC_Measurements_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_L3_RRC_Measurements = {
- "L3-RRC-Measurements",
- "L3-RRC-Measurements",
- &asn_OP_SEQUENCE,
- asn_DEF_L3_RRC_Measurements_tags_1,
- sizeof(asn_DEF_L3_RRC_Measurements_tags_1)
- /sizeof(asn_DEF_L3_RRC_Measurements_tags_1[0]), /* 1 */
- asn_DEF_L3_RRC_Measurements_tags_1, /* Same as above */
- sizeof(asn_DEF_L3_RRC_Measurements_tags_1)
- /sizeof(asn_DEF_L3_RRC_Measurements_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_L3_RRC_Measurements_1,
- 3, /* Elements count */
- &asn_SPC_L3_RRC_Measurements_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/LogicalOR.c b/e2sm/lib/LogicalOR.c
new file mode 100644
index 0000000..4201a8e
--- /dev/null
+++ b/e2sm/lib/LogicalOR.c
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "LogicalOR.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_LogicalOR_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_LogicalOR_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_LogicalOR_value2enum_1[] = {
+ { 0, 4, "true" },
+ { 1, 5, "false" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_LogicalOR_enum2value_1[] = {
+ 1, /* false(1) */
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_LogicalOR_specs_1 = {
+ asn_MAP_LogicalOR_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_LogicalOR_enum2value_1, /* N => "tag"; sorted by N */
+ 2, /* Number of elements in the maps */
+ 3, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_LogicalOR_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_LogicalOR = {
+ "LogicalOR",
+ "LogicalOR",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_LogicalOR_tags_1,
+ sizeof(asn_DEF_LogicalOR_tags_1)
+ /sizeof(asn_DEF_LogicalOR_tags_1[0]), /* 1 */
+ asn_DEF_LogicalOR_tags_1, /* Same as above */
+ sizeof(asn_DEF_LogicalOR_tags_1)
+ /sizeof(asn_DEF_LogicalOR_tags_1[0]), /* 1 */
+ { &asn_OER_type_LogicalOR_constr_1, &asn_PER_type_LogicalOR_constr_1, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_LogicalOR_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/MME-Code.c b/e2sm/lib/MME-Code.c
new file mode 100644
index 0000000..193d640
--- /dev/null
+++ b/e2sm/lib/MME-Code.c
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MME-Code.h"
+
+int
+MME_Code_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size == 1)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_MME_Code_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 1 /* (SIZE(1..1)) */};
+asn_per_constraints_t asn_PER_type_MME_Code_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 1, 1 } /* (SIZE(1..1)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_MME_Code_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_MME_Code = {
+ "MME-Code",
+ "MME-Code",
+ &asn_OP_OCTET_STRING,
+ asn_DEF_MME_Code_tags_1,
+ sizeof(asn_DEF_MME_Code_tags_1)
+ /sizeof(asn_DEF_MME_Code_tags_1[0]), /* 1 */
+ asn_DEF_MME_Code_tags_1, /* Same as above */
+ sizeof(asn_DEF_MME_Code_tags_1)
+ /sizeof(asn_DEF_MME_Code_tags_1[0]), /* 1 */
+ { &asn_OER_type_MME_Code_constr_1, &asn_PER_type_MME_Code_constr_1, MME_Code_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_OCTET_STRING_specs /* Additional specs */
+};
+
diff --git a/e2sm/lib/MME-Group-ID.c b/e2sm/lib/MME-Group-ID.c
new file mode 100644
index 0000000..cc5af21
--- /dev/null
+++ b/e2sm/lib/MME-Group-ID.c
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MME-Group-ID.h"
+
+int
+MME_Group_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size == 2)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_MME_Group_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 2 /* (SIZE(2..2)) */};
+asn_per_constraints_t asn_PER_type_MME_Group_ID_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_MME_Group_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_MME_Group_ID = {
+ "MME-Group-ID",
+ "MME-Group-ID",
+ &asn_OP_OCTET_STRING,
+ asn_DEF_MME_Group_ID_tags_1,
+ sizeof(asn_DEF_MME_Group_ID_tags_1)
+ /sizeof(asn_DEF_MME_Group_ID_tags_1[0]), /* 1 */
+ asn_DEF_MME_Group_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_MME_Group_ID_tags_1)
+ /sizeof(asn_DEF_MME_Group_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_MME_Group_ID_constr_1, &asn_PER_type_MME_Group_ID_constr_1, MME_Group_ID_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_OCTET_STRING_specs /* Additional specs */
+};
+
diff --git a/e2sm/lib/MME-UE-S1AP-ID.c b/e2sm/lib/MME-UE-S1AP-ID.c
new file mode 100644
index 0000000..5e89d7f
--- /dev/null
+++ b/e2sm/lib/MME-UE-S1AP-ID.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MME-UE-S1AP-ID.h"
+
+int
+MME_UE_S1AP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ /* Constraint check succeeded */
+ return 0;
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_MME_UE_S1AP_ID_constr_1 CC_NOTUSED = {
+ { 4, 1 } /* (0..4294967295) */,
+ -1};
+asn_per_constraints_t asn_PER_type_MME_UE_S1AP_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+const asn_INTEGER_specifics_t asn_SPC_MME_UE_S1AP_ID_specs_1 = {
+ 0, 0, 0, 0, 0,
+ 0, /* Native long size */
+ 1 /* Unsigned representation */
+};
+static const ber_tlv_tag_t asn_DEF_MME_UE_S1AP_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_MME_UE_S1AP_ID = {
+ "MME-UE-S1AP-ID",
+ "MME-UE-S1AP-ID",
+ &asn_OP_NativeInteger,
+ asn_DEF_MME_UE_S1AP_ID_tags_1,
+ sizeof(asn_DEF_MME_UE_S1AP_ID_tags_1)
+ /sizeof(asn_DEF_MME_UE_S1AP_ID_tags_1[0]), /* 1 */
+ asn_DEF_MME_UE_S1AP_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_MME_UE_S1AP_ID_tags_1)
+ /sizeof(asn_DEF_MME_UE_S1AP_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_MME_UE_S1AP_ID_constr_1, &asn_PER_type_MME_UE_S1AP_ID_constr_1, MME_UE_S1AP_ID_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_MME_UE_S1AP_ID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/Makefile.am.libasncodec b/e2sm/lib/Makefile.am.libasncodec
new file mode 100644
index 0000000..dca4816
--- /dev/null
+++ b/e2sm/lib/Makefile.am.libasncodec
@@ -0,0 +1,544 @@
+ASN_MODULE_SRCS= \
+ ./CGI.c \
+ ./CoreCPID.c \
+ ./InterfaceIdentifier.c \
+ ./InterfaceID-NG.c \
+ ./InterfaceID-Xn.c \
+ ./InterfaceID-F1.c \
+ ./InterfaceID-E1.c \
+ ./InterfaceID-S1.c \
+ ./InterfaceID-X2.c \
+ ./InterfaceID-W1.c \
+ ./Interface-MessageID.c \
+ ./InterfaceType.c \
+ ./GroupID.c \
+ ./QoSID.c \
+ ./RANfunction-Name.c \
+ ./RIC-Format-Type.c \
+ ./RIC-Style-Type.c \
+ ./RIC-Style-Name.c \
+ ./RRC-MessageID.c \
+ ./RRCclass-LTE.c \
+ ./RRCclass-NR.c \
+ ./ServingCell-ARFCN.c \
+ ./ServingCell-PCI.c \
+ ./UEID.c \
+ ./UEID-GNB.c \
+ ./UEID-GNB-CU-CP-E1AP-ID-List.c \
+ ./UEID-GNB-CU-CP-E1AP-ID-Item.c \
+ ./UEID-GNB-CU-F1AP-ID-List.c \
+ ./UEID-GNB-CU-CP-F1AP-ID-Item.c \
+ ./UEID-GNB-DU.c \
+ ./UEID-GNB-CU-UP.c \
+ ./UEID-NG-ENB.c \
+ ./UEID-NG-ENB-DU.c \
+ ./UEID-EN-GNB.c \
+ ./UEID-ENB.c \
+ ./ENB-ID.c \
+ ./GlobalENB-ID.c \
+ ./GUMMEI.c \
+ ./MME-Group-ID.c \
+ ./MME-Code.c \
+ ./MME-UE-S1AP-ID.c \
+ ./QCI.c \
+ ./SubscriberProfileIDforRFP.c \
+ ./EN-GNB-ID.c \
+ ./ENB-UE-X2AP-ID.c \
+ ./ENB-UE-X2AP-ID-Extension.c \
+ ./E-UTRA-ARFCN.c \
+ ./E-UTRA-PCI.c \
+ ./E-UTRA-TAC.c \
+ ./GlobalenGNB-ID.c \
+ ./NGENB-CU-UE-W1AP-ID.c \
+ ./NGENB-DU-ID.c \
+ ./AMFPointer.c \
+ ./AMFRegionID.c \
+ ./AMFSetID.c \
+ ./AMF-UE-NGAP-ID.c \
+ ./EUTRACellIdentity.c \
+ ./EUTRA-CGI.c \
+ ./FiveQI.c \
+ ./GlobalGNB-ID.c \
+ ./GlobalNgENB-ID.c \
+ ./GNB-ID.c \
+ ./GUAMI.c \
+ ./IndexToRFSP.c \
+ ./NgENB-ID.c \
+ ./NRCellIdentity.c \
+ ./NR-CGI.c \
+ ./PLMNIdentity.c \
+ ./QosFlowIdentifier.c \
+ ./SD.c \
+ ./S-NSSAI.c \
+ ./SST.c \
+ ./NG-RANnodeUEXnAPID.c \
+ ./GlobalNGRANNodeID.c \
+ ./GNB-CU-CP-UE-E1AP-ID.c \
+ ./GNB-CU-UP-ID.c \
+ ./FiveGS-TAC.c \
+ ./FreqBandNrItem.c \
+ ./GNB-CU-UE-F1AP-ID.c \
+ ./GNB-DU-ID.c \
+ ./NR-PCI.c \
+ ./NR-ARFCN.c \
+ ./NRFrequencyBand-List.c \
+ ./NRFrequencyBandItem.c \
+ ./NRFrequencyInfo.c \
+ ./NRFrequencyShift7p5khz.c \
+ ./RANUEID.c \
+ ./SupportedSULBandList.c \
+ ./SupportedSULFreqBandItem.c \
+ ./LogicalOR.c \
+ ./NeighborCell-List.c \
+ ./NeighborCell-Item.c \
+ ./NeighborCell-Item-Choice-NR.c \
+ ./NeighborCell-Item-Choice-E-UTRA.c \
+ ./NeighborRelation-Info.c \
+ ./RRC-State.c \
+ ./EventTrigger-Cell-Info.c \
+ ./EventTrigger-Cell-Info-Item.c \
+ ./EventTrigger-Cell-Info-Item-Choice-Individual.c \
+ ./EventTrigger-Cell-Info-Item-Choice-Group.c \
+ ./EventTrigger-UE-Info.c \
+ ./EventTrigger-UE-Info-Item.c \
+ ./EventTrigger-UE-Info-Item-Choice-Individual.c \
+ ./EventTrigger-UE-Info-Item-Choice-Group.c \
+ ./EventTrigger-UEevent-Info.c \
+ ./EventTrigger-UEevent-Info-Item.c \
+ ./RANParameter-ID.c \
+ ./RANParameter-Name.c \
+ ./RANParameter-Definition.c \
+ ./RANParameter-Definition-Choice.c \
+ ./RANParameter-Definition-Choice-LIST.c \
+ ./RANParameter-Definition-Choice-LIST-Item.c \
+ ./RANParameter-Definition-Choice-STRUCTURE.c \
+ ./RANParameter-Definition-Choice-STRUCTURE-Item.c \
+ ./RANParameter-Value.c \
+ ./RANParameter-ValueType.c \
+ ./RANParameter-ValueType-Choice-ElementTrue.c \
+ ./RANParameter-ValueType-Choice-ElementFalse.c \
+ ./RANParameter-ValueType-Choice-Structure.c \
+ ./RANParameter-ValueType-Choice-List.c \
+ ./RANParameter-STRUCTURE.c \
+ ./RANParameter-STRUCTURE-Item.c \
+ ./RANParameter-LIST.c \
+ ./RANParameter-Testing.c \
+ ./RANParameter-TestingCondition.c \
+ ./RANParameter-Testing-Item.c \
+ ./RANParameter-Testing-Item-Choice-List.c \
+ ./RANParameter-Testing-Item-Choice-Structure.c \
+ ./RANParameter-Testing-Item-Choice-ElementTrue.c \
+ ./RANParameter-Testing-Item-Choice-ElementFalse.c \
+ ./RANParameter-Testing-LIST.c \
+ ./RANParameter-Testing-STRUCTURE.c \
+ ./RAN-CallProcess-ID.c \
+ ./RIC-CallProcessType-ID.c \
+ ./RIC-CallProcessType-Name.c \
+ ./RIC-CallProcessBreakpoint-ID.c \
+ ./RIC-CallProcessBreakpoint-Name.c \
+ ./RIC-ControlAction-ID.c \
+ ./RIC-ControlAction-Name.c \
+ ./RIC-EventTriggerCondition-ID.c \
+ ./RIC-EventTrigger-UE-ID.c \
+ ./RIC-EventTrigger-UEevent-ID.c \
+ ./RIC-EventTrigger-Cell-ID.c \
+ ./RIC-InsertIndication-ID.c \
+ ./RIC-InsertIndication-Name.c \
+ ./RIC-PolicyAction.c \
+ ./RIC-PolicyAction-RANParameter-Item.c \
+ ./E2SM-RC-EventTrigger.c \
+ ./E2SM-RC-EventTrigger-Format1.c \
+ ./E2SM-RC-EventTrigger-Format1-Item.c \
+ ./MessageType-Choice.c \
+ ./MessageType-Choice-NI.c \
+ ./MessageType-Choice-RRC.c \
+ ./E2SM-RC-EventTrigger-Format2.c \
+ ./E2SM-RC-EventTrigger-Format3.c \
+ ./E2SM-RC-EventTrigger-Format3-Item.c \
+ ./E2SM-RC-EventTrigger-Format4.c \
+ ./E2SM-RC-EventTrigger-Format4-Item.c \
+ ./TriggerType-Choice.c \
+ ./TriggerType-Choice-RRCstate.c \
+ ./TriggerType-Choice-RRCstate-Item.c \
+ ./TriggerType-Choice-UEID.c \
+ ./TriggerType-Choice-L2state.c \
+ ./E2SM-RC-EventTrigger-Format5.c \
+ ./E2SM-RC-ActionDefinition.c \
+ ./E2SM-RC-ActionDefinition-Format1.c \
+ ./E2SM-RC-ActionDefinition-Format1-Item.c \
+ ./E2SM-RC-ActionDefinition-Format2.c \
+ ./E2SM-RC-ActionDefinition-Format2-Item.c \
+ ./E2SM-RC-ActionDefinition-Format3.c \
+ ./E2SM-RC-ActionDefinition-Format3-Item.c \
+ ./E2SM-RC-IndicationHeader.c \
+ ./E2SM-RC-IndicationHeader-Format1.c \
+ ./E2SM-RC-IndicationHeader-Format2.c \
+ ./E2SM-RC-IndicationMessage.c \
+ ./E2SM-RC-IndicationMessage-Format1.c \
+ ./E2SM-RC-IndicationMessage-Format1-Item.c \
+ ./E2SM-RC-IndicationMessage-Format2.c \
+ ./E2SM-RC-IndicationMessage-Format2-Item.c \
+ ./E2SM-RC-IndicationMessage-Format2-RANParameter-Item.c \
+ ./E2SM-RC-IndicationMessage-Format3.c \
+ ./E2SM-RC-IndicationMessage-Format3-Item.c \
+ ./E2SM-RC-IndicationMessage-Format4.c \
+ ./E2SM-RC-IndicationMessage-Format4-ItemUE.c \
+ ./E2SM-RC-IndicationMessage-Format4-ItemCell.c \
+ ./E2SM-RC-IndicationMessage-Format5.c \
+ ./E2SM-RC-IndicationMessage-Format5-Item.c \
+ ./E2SM-RC-CallProcessID.c \
+ ./E2SM-RC-CallProcessID-Format1.c \
+ ./E2SM-RC-ControlHeader.c \
+ ./E2SM-RC-ControlHeader-Format1.c \
+ ./E2SM-RC-ControlMessage.c \
+ ./E2SM-RC-ControlMessage-Format1.c \
+ ./E2SM-RC-ControlMessage-Format1-Item.c \
+ ./E2SM-RC-ControlOutcome.c \
+ ./E2SM-RC-ControlOutcome-Format1.c \
+ ./E2SM-RC-ControlOutcome-Format1-Item.c \
+ ./E2SM-RC-RANFunctionDefinition.c \
+ ./RANFunctionDefinition-EventTrigger.c \
+ ./RANFunctionDefinition-EventTrigger-Style-Item.c \
+ ./L2Parameters-RANParameter-Item.c \
+ ./UEIdentification-RANParameter-Item.c \
+ ./CellIdentification-RANParameter-Item.c \
+ ./RANFunctionDefinition-EventTrigger-CallProcess-Item.c \
+ ./RANFunctionDefinition-EventTrigger-Breakpoint-Item.c \
+ ./CallProcessBreakpoint-RANParameter-Item.c \
+ ./RANFunctionDefinition-Report.c \
+ ./RANFunctionDefinition-Report-Item.c \
+ ./Report-RANParameter-Item.c \
+ ./RANFunctionDefinition-Insert.c \
+ ./RANFunctionDefinition-Insert-Item.c \
+ ./RANFunctionDefinition-Insert-Indication-Item.c \
+ ./InsertIndication-RANParameter-Item.c \
+ ./RANFunctionDefinition-Control.c \
+ ./RANFunctionDefinition-Control-Item.c \
+ ./ControlOutcome-RANParameter-Item.c \
+ ./RANFunctionDefinition-Control-Action-Item.c \
+ ./ControlAction-RANParameter-Item.c \
+ ./RANFunctionDefinition-Policy.c \
+ ./RANFunctionDefinition-Policy-Item.c \
+ ./RANFunctionDefinition-Policy-Action-Item.c \
+ ./PolicyAction-RANParameter-Item.c \
+ ./PolicyCondition-RANParameter-Item.c
+
+ASN_MODULE_HDRS= \
+ ./CGI.h \
+ ./CoreCPID.h \
+ ./InterfaceIdentifier.h \
+ ./InterfaceID-NG.h \
+ ./InterfaceID-Xn.h \
+ ./InterfaceID-F1.h \
+ ./InterfaceID-E1.h \
+ ./InterfaceID-S1.h \
+ ./InterfaceID-X2.h \
+ ./InterfaceID-W1.h \
+ ./Interface-MessageID.h \
+ ./InterfaceType.h \
+ ./GroupID.h \
+ ./QoSID.h \
+ ./RANfunction-Name.h \
+ ./RIC-Format-Type.h \
+ ./RIC-Style-Type.h \
+ ./RIC-Style-Name.h \
+ ./RRC-MessageID.h \
+ ./RRCclass-LTE.h \
+ ./RRCclass-NR.h \
+ ./ServingCell-ARFCN.h \
+ ./ServingCell-PCI.h \
+ ./UEID.h \
+ ./UEID-GNB.h \
+ ./UEID-GNB-CU-CP-E1AP-ID-List.h \
+ ./UEID-GNB-CU-CP-E1AP-ID-Item.h \
+ ./UEID-GNB-CU-F1AP-ID-List.h \
+ ./UEID-GNB-CU-CP-F1AP-ID-Item.h \
+ ./UEID-GNB-DU.h \
+ ./UEID-GNB-CU-UP.h \
+ ./UEID-NG-ENB.h \
+ ./UEID-NG-ENB-DU.h \
+ ./UEID-EN-GNB.h \
+ ./UEID-ENB.h \
+ ./ENB-ID.h \
+ ./GlobalENB-ID.h \
+ ./GUMMEI.h \
+ ./MME-Group-ID.h \
+ ./MME-Code.h \
+ ./MME-UE-S1AP-ID.h \
+ ./QCI.h \
+ ./SubscriberProfileIDforRFP.h \
+ ./EN-GNB-ID.h \
+ ./ENB-UE-X2AP-ID.h \
+ ./ENB-UE-X2AP-ID-Extension.h \
+ ./E-UTRA-ARFCN.h \
+ ./E-UTRA-PCI.h \
+ ./E-UTRA-TAC.h \
+ ./GlobalenGNB-ID.h \
+ ./NGENB-CU-UE-W1AP-ID.h \
+ ./NGENB-DU-ID.h \
+ ./AMFPointer.h \
+ ./AMFRegionID.h \
+ ./AMFSetID.h \
+ ./AMF-UE-NGAP-ID.h \
+ ./EUTRACellIdentity.h \
+ ./EUTRA-CGI.h \
+ ./FiveQI.h \
+ ./GlobalGNB-ID.h \
+ ./GlobalNgENB-ID.h \
+ ./GNB-ID.h \
+ ./GUAMI.h \
+ ./IndexToRFSP.h \
+ ./NgENB-ID.h \
+ ./NRCellIdentity.h \
+ ./NR-CGI.h \
+ ./PLMNIdentity.h \
+ ./QosFlowIdentifier.h \
+ ./SD.h \
+ ./S-NSSAI.h \
+ ./SST.h \
+ ./NG-RANnodeUEXnAPID.h \
+ ./GlobalNGRANNodeID.h \
+ ./GNB-CU-CP-UE-E1AP-ID.h \
+ ./GNB-CU-UP-ID.h \
+ ./FiveGS-TAC.h \
+ ./FreqBandNrItem.h \
+ ./GNB-CU-UE-F1AP-ID.h \
+ ./GNB-DU-ID.h \
+ ./NR-PCI.h \
+ ./NR-ARFCN.h \
+ ./NRFrequencyBand-List.h \
+ ./NRFrequencyBandItem.h \
+ ./NRFrequencyInfo.h \
+ ./NRFrequencyShift7p5khz.h \
+ ./RANUEID.h \
+ ./SupportedSULBandList.h \
+ ./SupportedSULFreqBandItem.h \
+ ./LogicalOR.h \
+ ./NeighborCell-List.h \
+ ./NeighborCell-Item.h \
+ ./NeighborCell-Item-Choice-NR.h \
+ ./NeighborCell-Item-Choice-E-UTRA.h \
+ ./NeighborRelation-Info.h \
+ ./RRC-State.h \
+ ./EventTrigger-Cell-Info.h \
+ ./EventTrigger-Cell-Info-Item.h \
+ ./EventTrigger-Cell-Info-Item-Choice-Individual.h \
+ ./EventTrigger-Cell-Info-Item-Choice-Group.h \
+ ./EventTrigger-UE-Info.h \
+ ./EventTrigger-UE-Info-Item.h \
+ ./EventTrigger-UE-Info-Item-Choice-Individual.h \
+ ./EventTrigger-UE-Info-Item-Choice-Group.h \
+ ./EventTrigger-UEevent-Info.h \
+ ./EventTrigger-UEevent-Info-Item.h \
+ ./RANParameter-ID.h \
+ ./RANParameter-Name.h \
+ ./RANParameter-Definition.h \
+ ./RANParameter-Definition-Choice.h \
+ ./RANParameter-Definition-Choice-LIST.h \
+ ./RANParameter-Definition-Choice-LIST-Item.h \
+ ./RANParameter-Definition-Choice-STRUCTURE.h \
+ ./RANParameter-Definition-Choice-STRUCTURE-Item.h \
+ ./RANParameter-Value.h \
+ ./RANParameter-ValueType.h \
+ ./RANParameter-ValueType-Choice-ElementTrue.h \
+ ./RANParameter-ValueType-Choice-ElementFalse.h \
+ ./RANParameter-ValueType-Choice-Structure.h \
+ ./RANParameter-ValueType-Choice-List.h \
+ ./RANParameter-STRUCTURE.h \
+ ./RANParameter-STRUCTURE-Item.h \
+ ./RANParameter-LIST.h \
+ ./RANParameter-Testing.h \
+ ./RANParameter-TestingCondition.h \
+ ./RANParameter-Testing-Item.h \
+ ./RANParameter-Testing-Item-Choice-List.h \
+ ./RANParameter-Testing-Item-Choice-Structure.h \
+ ./RANParameter-Testing-Item-Choice-ElementTrue.h \
+ ./RANParameter-Testing-Item-Choice-ElementFalse.h \
+ ./RANParameter-Testing-LIST.h \
+ ./RANParameter-Testing-STRUCTURE.h \
+ ./RAN-CallProcess-ID.h \
+ ./RIC-CallProcessType-ID.h \
+ ./RIC-CallProcessType-Name.h \
+ ./RIC-CallProcessBreakpoint-ID.h \
+ ./RIC-CallProcessBreakpoint-Name.h \
+ ./RIC-ControlAction-ID.h \
+ ./RIC-ControlAction-Name.h \
+ ./RIC-EventTriggerCondition-ID.h \
+ ./RIC-EventTrigger-UE-ID.h \
+ ./RIC-EventTrigger-UEevent-ID.h \
+ ./RIC-EventTrigger-Cell-ID.h \
+ ./RIC-InsertIndication-ID.h \
+ ./RIC-InsertIndication-Name.h \
+ ./RIC-PolicyAction.h \
+ ./RIC-PolicyAction-RANParameter-Item.h \
+ ./E2SM-RC-EventTrigger.h \
+ ./E2SM-RC-EventTrigger-Format1.h \
+ ./E2SM-RC-EventTrigger-Format1-Item.h \
+ ./MessageType-Choice.h \
+ ./MessageType-Choice-NI.h \
+ ./MessageType-Choice-RRC.h \
+ ./E2SM-RC-EventTrigger-Format2.h \
+ ./E2SM-RC-EventTrigger-Format3.h \
+ ./E2SM-RC-EventTrigger-Format3-Item.h \
+ ./E2SM-RC-EventTrigger-Format4.h \
+ ./E2SM-RC-EventTrigger-Format4-Item.h \
+ ./TriggerType-Choice.h \
+ ./TriggerType-Choice-RRCstate.h \
+ ./TriggerType-Choice-RRCstate-Item.h \
+ ./TriggerType-Choice-UEID.h \
+ ./TriggerType-Choice-L2state.h \
+ ./E2SM-RC-EventTrigger-Format5.h \
+ ./E2SM-RC-ActionDefinition.h \
+ ./E2SM-RC-ActionDefinition-Format1.h \
+ ./E2SM-RC-ActionDefinition-Format1-Item.h \
+ ./E2SM-RC-ActionDefinition-Format2.h \
+ ./E2SM-RC-ActionDefinition-Format2-Item.h \
+ ./E2SM-RC-ActionDefinition-Format3.h \
+ ./E2SM-RC-ActionDefinition-Format3-Item.h \
+ ./E2SM-RC-IndicationHeader.h \
+ ./E2SM-RC-IndicationHeader-Format1.h \
+ ./E2SM-RC-IndicationHeader-Format2.h \
+ ./E2SM-RC-IndicationMessage.h \
+ ./E2SM-RC-IndicationMessage-Format1.h \
+ ./E2SM-RC-IndicationMessage-Format1-Item.h \
+ ./E2SM-RC-IndicationMessage-Format2.h \
+ ./E2SM-RC-IndicationMessage-Format2-Item.h \
+ ./E2SM-RC-IndicationMessage-Format2-RANParameter-Item.h \
+ ./E2SM-RC-IndicationMessage-Format3.h \
+ ./E2SM-RC-IndicationMessage-Format3-Item.h \
+ ./E2SM-RC-IndicationMessage-Format4.h \
+ ./E2SM-RC-IndicationMessage-Format4-ItemUE.h \
+ ./E2SM-RC-IndicationMessage-Format4-ItemCell.h \
+ ./E2SM-RC-IndicationMessage-Format5.h \
+ ./E2SM-RC-IndicationMessage-Format5-Item.h \
+ ./E2SM-RC-CallProcessID.h \
+ ./E2SM-RC-CallProcessID-Format1.h \
+ ./E2SM-RC-ControlHeader.h \
+ ./E2SM-RC-ControlHeader-Format1.h \
+ ./E2SM-RC-ControlMessage.h \
+ ./E2SM-RC-ControlMessage-Format1.h \
+ ./E2SM-RC-ControlMessage-Format1-Item.h \
+ ./E2SM-RC-ControlOutcome.h \
+ ./E2SM-RC-ControlOutcome-Format1.h \
+ ./E2SM-RC-ControlOutcome-Format1-Item.h \
+ ./E2SM-RC-RANFunctionDefinition.h \
+ ./RANFunctionDefinition-EventTrigger.h \
+ ./RANFunctionDefinition-EventTrigger-Style-Item.h \
+ ./L2Parameters-RANParameter-Item.h \
+ ./UEIdentification-RANParameter-Item.h \
+ ./CellIdentification-RANParameter-Item.h \
+ ./RANFunctionDefinition-EventTrigger-CallProcess-Item.h \
+ ./RANFunctionDefinition-EventTrigger-Breakpoint-Item.h \
+ ./CallProcessBreakpoint-RANParameter-Item.h \
+ ./RANFunctionDefinition-Report.h \
+ ./RANFunctionDefinition-Report-Item.h \
+ ./Report-RANParameter-Item.h \
+ ./RANFunctionDefinition-Insert.h \
+ ./RANFunctionDefinition-Insert-Item.h \
+ ./RANFunctionDefinition-Insert-Indication-Item.h \
+ ./InsertIndication-RANParameter-Item.h \
+ ./RANFunctionDefinition-Control.h \
+ ./RANFunctionDefinition-Control-Item.h \
+ ./ControlOutcome-RANParameter-Item.h \
+ ./RANFunctionDefinition-Control-Action-Item.h \
+ ./ControlAction-RANParameter-Item.h \
+ ./RANFunctionDefinition-Policy.h \
+ ./RANFunctionDefinition-Policy-Item.h \
+ ./RANFunctionDefinition-Policy-Action-Item.h \
+ ./PolicyAction-RANParameter-Item.h \
+ ./PolicyCondition-RANParameter-Item.h
+
+ASN_MODULE_HDRS+=./OPEN_TYPE.h
+ASN_MODULE_SRCS+=./OPEN_TYPE.c
+ASN_MODULE_HDRS+=./constr_CHOICE.h
+ASN_MODULE_HDRS+=./BOOLEAN.h
+ASN_MODULE_SRCS+=./BOOLEAN.c
+ASN_MODULE_HDRS+=./INTEGER.h
+ASN_MODULE_SRCS+=./INTEGER.c
+ASN_MODULE_HDRS+=./NativeEnumerated.h
+ASN_MODULE_SRCS+=./NativeEnumerated.c
+ASN_MODULE_HDRS+=./NativeInteger.h
+ASN_MODULE_SRCS+=./NativeInteger.c
+ASN_MODULE_HDRS+=./NativeReal.h
+ASN_MODULE_SRCS+=./NativeReal.c
+ASN_MODULE_HDRS+=./REAL.h
+ASN_MODULE_HDRS+=./PrintableString.h
+ASN_MODULE_SRCS+=./PrintableString.c
+ASN_MODULE_HDRS+=./OCTET_STRING.h
+ASN_MODULE_SRCS+=./REAL.c
+ASN_MODULE_HDRS+=./asn_SEQUENCE_OF.h
+ASN_MODULE_SRCS+=./asn_SEQUENCE_OF.c
+ASN_MODULE_HDRS+=./asn_SET_OF.h
+ASN_MODULE_SRCS+=./asn_SET_OF.c
+ASN_MODULE_SRCS+=./constr_CHOICE.c
+ASN_MODULE_HDRS+=./constr_SEQUENCE.h
+ASN_MODULE_SRCS+=./constr_SEQUENCE.c
+ASN_MODULE_HDRS+=./constr_SEQUENCE_OF.h
+ASN_MODULE_SRCS+=./constr_SEQUENCE_OF.c
+ASN_MODULE_HDRS+=./constr_SET_OF.h
+ASN_MODULE_SRCS+=./constr_SET_OF.c
+ASN_MODULE_HDRS+=./asn_application.h
+ASN_MODULE_SRCS+=./asn_application.c
+ASN_MODULE_HDRS+=./asn_ioc.h
+ASN_MODULE_HDRS+=./asn_system.h
+ASN_MODULE_HDRS+=./asn_codecs.h
+ASN_MODULE_HDRS+=./asn_internal.h
+ASN_MODULE_SRCS+=./asn_internal.c
+ASN_MODULE_HDRS+=./asn_random_fill.h
+ASN_MODULE_SRCS+=./asn_random_fill.c
+ASN_MODULE_HDRS+=./asn_bit_data.h
+ASN_MODULE_SRCS+=./asn_bit_data.c
+ASN_MODULE_SRCS+=./OCTET_STRING.c
+ASN_MODULE_HDRS+=./BIT_STRING.h
+ASN_MODULE_SRCS+=./BIT_STRING.c
+ASN_MODULE_SRCS+=./asn_codecs_prim.c
+ASN_MODULE_HDRS+=./asn_codecs_prim.h
+ASN_MODULE_HDRS+=./ber_tlv_length.h
+ASN_MODULE_SRCS+=./ber_tlv_length.c
+ASN_MODULE_HDRS+=./ber_tlv_tag.h
+ASN_MODULE_SRCS+=./ber_tlv_tag.c
+ASN_MODULE_HDRS+=./ber_decoder.h
+ASN_MODULE_SRCS+=./ber_decoder.c
+ASN_MODULE_HDRS+=./der_encoder.h
+ASN_MODULE_SRCS+=./der_encoder.c
+ASN_MODULE_HDRS+=./constr_TYPE.h
+ASN_MODULE_SRCS+=./constr_TYPE.c
+ASN_MODULE_HDRS+=./constraints.h
+ASN_MODULE_SRCS+=./constraints.c
+ASN_MODULE_HDRS+=./xer_support.h
+ASN_MODULE_SRCS+=./xer_support.c
+ASN_MODULE_HDRS+=./xer_decoder.h
+ASN_MODULE_SRCS+=./xer_decoder.c
+ASN_MODULE_HDRS+=./xer_encoder.h
+ASN_MODULE_SRCS+=./xer_encoder.c
+ASN_MODULE_HDRS+=./per_support.h
+ASN_MODULE_SRCS+=./per_support.c
+ASN_MODULE_HDRS+=./per_decoder.h
+ASN_MODULE_SRCS+=./per_decoder.c
+ASN_MODULE_HDRS+=./per_encoder.h
+ASN_MODULE_SRCS+=./per_encoder.c
+ASN_MODULE_HDRS+=./per_opentype.h
+ASN_MODULE_SRCS+=./per_opentype.c
+ASN_MODULE_HDRS+=./oer_decoder.h
+ASN_MODULE_HDRS+=./oer_encoder.h
+ASN_MODULE_HDRS+=./oer_support.h
+ASN_MODULE_SRCS+=./oer_decoder.c
+ASN_MODULE_SRCS+=./oer_encoder.c
+ASN_MODULE_SRCS+=./oer_support.c
+ASN_MODULE_SRCS+=./OPEN_TYPE_oer.c
+ASN_MODULE_SRCS+=./INTEGER_oer.c
+ASN_MODULE_SRCS+=./BIT_STRING_oer.c
+ASN_MODULE_SRCS+=./OCTET_STRING_oer.c
+ASN_MODULE_SRCS+=./NativeInteger_oer.c
+ASN_MODULE_SRCS+=./NativeEnumerated_oer.c
+ASN_MODULE_SRCS+=./constr_CHOICE_oer.c
+ASN_MODULE_SRCS+=./constr_SEQUENCE_oer.c
+ASN_MODULE_SRCS+=./constr_SET_OF_oer.c
+
+ASN_MODULE_CFLAGS=
+
+lib_LTLIBRARIES+=libasncodec.la
+libasncodec_la_SOURCES=$(ASN_MODULE_SRCS) $(ASN_MODULE_HDRS)
+libasncodec_la_CPPFLAGS=-I$(top_srcdir)/./
+libasncodec_la_CFLAGS=$(ASN_MODULE_CFLAGS)
+libasncodec_la_LDFLAGS=-lm
diff --git a/e2sm/lib/MeasQuantityResults.c b/e2sm/lib/MeasQuantityResults.c
deleted file mode 100644
index 71a2de9..0000000
--- a/e2sm/lib/MeasQuantityResults.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasQuantityResults.h"
-
-asn_TYPE_member_t asn_MBR_MeasQuantityResults_1[] = {
- { ATF_POINTER, 3, offsetof(struct MeasQuantityResults, rsrp),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RSRP_Range,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "rsrp"
- },
- { ATF_POINTER, 2, offsetof(struct MeasQuantityResults, rsrq),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RSRQ_Range,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "rsrq"
- },
- { ATF_POINTER, 1, offsetof(struct MeasQuantityResults, sinr),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_SINR_Range,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "sinr"
- },
-};
-static const int asn_MAP_MeasQuantityResults_oms_1[] = { 0, 1, 2 };
-static const ber_tlv_tag_t asn_DEF_MeasQuantityResults_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasQuantityResults_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rsrp */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rsrq */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* sinr */
-};
-asn_SEQUENCE_specifics_t asn_SPC_MeasQuantityResults_specs_1 = {
- sizeof(struct MeasQuantityResults),
- offsetof(struct MeasQuantityResults, _asn_ctx),
- asn_MAP_MeasQuantityResults_tag2el_1,
- 3, /* Count of tags in the map */
- asn_MAP_MeasQuantityResults_oms_1, /* Optional members */
- 3, 0, /* Root/Additions */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasQuantityResults = {
- "MeasQuantityResults",
- "MeasQuantityResults",
- &asn_OP_SEQUENCE,
- asn_DEF_MeasQuantityResults_tags_1,
- sizeof(asn_DEF_MeasQuantityResults_tags_1)
- /sizeof(asn_DEF_MeasQuantityResults_tags_1[0]), /* 1 */
- asn_DEF_MeasQuantityResults_tags_1, /* Same as above */
- sizeof(asn_DEF_MeasQuantityResults_tags_1)
- /sizeof(asn_DEF_MeasQuantityResults_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_MeasQuantityResults_1,
- 3, /* Elements count */
- &asn_SPC_MeasQuantityResults_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasQuantityResultsEUTRA.c b/e2sm/lib/MeasQuantityResultsEUTRA.c
deleted file mode 100644
index 8dfe36d..0000000
--- a/e2sm/lib/MeasQuantityResultsEUTRA.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasQuantityResultsEUTRA.h"
-
-asn_TYPE_member_t asn_MBR_MeasQuantityResultsEUTRA_1[] = {
- { ATF_POINTER, 3, offsetof(struct MeasQuantityResultsEUTRA, rsrp),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RSRP_RangeEUTRA,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "rsrp"
- },
- { ATF_POINTER, 2, offsetof(struct MeasQuantityResultsEUTRA, rsrq),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RSRQ_RangeEUTRA,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "rsrq"
- },
- { ATF_POINTER, 1, offsetof(struct MeasQuantityResultsEUTRA, sinr),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_SINR_RangeEUTRA,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "sinr"
- },
-};
-static const int asn_MAP_MeasQuantityResultsEUTRA_oms_1[] = { 0, 1, 2 };
-static const ber_tlv_tag_t asn_DEF_MeasQuantityResultsEUTRA_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasQuantityResultsEUTRA_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rsrp */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rsrq */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* sinr */
-};
-asn_SEQUENCE_specifics_t asn_SPC_MeasQuantityResultsEUTRA_specs_1 = {
- sizeof(struct MeasQuantityResultsEUTRA),
- offsetof(struct MeasQuantityResultsEUTRA, _asn_ctx),
- asn_MAP_MeasQuantityResultsEUTRA_tag2el_1,
- 3, /* Count of tags in the map */
- asn_MAP_MeasQuantityResultsEUTRA_oms_1, /* Optional members */
- 3, 0, /* Root/Additions */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasQuantityResultsEUTRA = {
- "MeasQuantityResultsEUTRA",
- "MeasQuantityResultsEUTRA",
- &asn_OP_SEQUENCE,
- asn_DEF_MeasQuantityResultsEUTRA_tags_1,
- sizeof(asn_DEF_MeasQuantityResultsEUTRA_tags_1)
- /sizeof(asn_DEF_MeasQuantityResultsEUTRA_tags_1[0]), /* 1 */
- asn_DEF_MeasQuantityResultsEUTRA_tags_1, /* Same as above */
- sizeof(asn_DEF_MeasQuantityResultsEUTRA_tags_1)
- /sizeof(asn_DEF_MeasQuantityResultsEUTRA_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_MeasQuantityResultsEUTRA_1,
- 3, /* Elements count */
- &asn_SPC_MeasQuantityResultsEUTRA_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultEUTRA.c b/e2sm/lib/MeasResultEUTRA.c
deleted file mode 100644
index b3713d9..0000000
--- a/e2sm/lib/MeasResultEUTRA.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultEUTRA.h"
-
-asn_TYPE_member_t asn_MBR_MeasResultEUTRA_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct MeasResultEUTRA, eutra_PhysCellId),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_PhysCellId,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "eutra-PhysCellId"
- },
- { ATF_NOFLAGS, 0, offsetof(struct MeasResultEUTRA, measResult),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_MeasQuantityResultsEUTRA,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "measResult"
- },
-};
-static const ber_tlv_tag_t asn_DEF_MeasResultEUTRA_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasResultEUTRA_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eutra-PhysCellId */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measResult */
-};
-asn_SEQUENCE_specifics_t asn_SPC_MeasResultEUTRA_specs_1 = {
- sizeof(struct MeasResultEUTRA),
- offsetof(struct MeasResultEUTRA, _asn_ctx),
- asn_MAP_MeasResultEUTRA_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultEUTRA = {
- "MeasResultEUTRA",
- "MeasResultEUTRA",
- &asn_OP_SEQUENCE,
- asn_DEF_MeasResultEUTRA_tags_1,
- sizeof(asn_DEF_MeasResultEUTRA_tags_1)
- /sizeof(asn_DEF_MeasResultEUTRA_tags_1[0]), /* 1 */
- asn_DEF_MeasResultEUTRA_tags_1, /* Same as above */
- sizeof(asn_DEF_MeasResultEUTRA_tags_1)
- /sizeof(asn_DEF_MeasResultEUTRA_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_MeasResultEUTRA_1,
- 2, /* Elements count */
- &asn_SPC_MeasResultEUTRA_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultListEUTRA.c b/e2sm/lib/MeasResultListEUTRA.c
deleted file mode 100644
index b7a963e..0000000
--- a/e2sm/lib/MeasResultListEUTRA.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultListEUTRA.h"
-
-#include "MeasResultEUTRA.h"
-static asn_oer_constraints_t asn_OER_type_MeasResultListEUTRA_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..8)) */};
-asn_per_constraints_t asn_PER_type_MeasResultListEUTRA_constr_1 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */,
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_MeasResultListEUTRA_1[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_MeasResultEUTRA,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_MeasResultListEUTRA_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_MeasResultListEUTRA_specs_1 = {
- sizeof(struct MeasResultListEUTRA),
- offsetof(struct MeasResultListEUTRA, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultListEUTRA = {
- "MeasResultListEUTRA",
- "MeasResultListEUTRA",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_MeasResultListEUTRA_tags_1,
- sizeof(asn_DEF_MeasResultListEUTRA_tags_1)
- /sizeof(asn_DEF_MeasResultListEUTRA_tags_1[0]), /* 1 */
- asn_DEF_MeasResultListEUTRA_tags_1, /* Same as above */
- sizeof(asn_DEF_MeasResultListEUTRA_tags_1)
- /sizeof(asn_DEF_MeasResultListEUTRA_tags_1[0]), /* 1 */
- { &asn_OER_type_MeasResultListEUTRA_constr_1, &asn_PER_type_MeasResultListEUTRA_constr_1, SEQUENCE_OF_constraint },
- asn_MBR_MeasResultListEUTRA_1,
- 1, /* Single element */
- &asn_SPC_MeasResultListEUTRA_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultListNR.c b/e2sm/lib/MeasResultListNR.c
deleted file mode 100644
index d5edda9..0000000
--- a/e2sm/lib/MeasResultListNR.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultListNR.h"
-
-#include "MeasResultNR.h"
-static asn_oer_constraints_t asn_OER_type_MeasResultListNR_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..8)) */};
-asn_per_constraints_t asn_PER_type_MeasResultListNR_constr_1 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */,
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_MeasResultListNR_1[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_MeasResultNR,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_MeasResultListNR_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_MeasResultListNR_specs_1 = {
- sizeof(struct MeasResultListNR),
- offsetof(struct MeasResultListNR, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultListNR = {
- "MeasResultListNR",
- "MeasResultListNR",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_MeasResultListNR_tags_1,
- sizeof(asn_DEF_MeasResultListNR_tags_1)
- /sizeof(asn_DEF_MeasResultListNR_tags_1[0]), /* 1 */
- asn_DEF_MeasResultListNR_tags_1, /* Same as above */
- sizeof(asn_DEF_MeasResultListNR_tags_1)
- /sizeof(asn_DEF_MeasResultListNR_tags_1[0]), /* 1 */
- { &asn_OER_type_MeasResultListNR_constr_1, &asn_PER_type_MeasResultListNR_constr_1, SEQUENCE_OF_constraint },
- asn_MBR_MeasResultListNR_1,
- 1, /* Single element */
- &asn_SPC_MeasResultListNR_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultNR.c b/e2sm/lib/MeasResultNR.c
deleted file mode 100644
index fa4dae8..0000000
--- a/e2sm/lib/MeasResultNR.c
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultNR.h"
-
-#include "MeasQuantityResults.h"
-#include "ResultsPerSSB-IndexList.h"
-#include "ResultsPerCSI-RS-IndexList.h"
-static asn_TYPE_member_t asn_MBR_cellResults_4[] = {
- { ATF_POINTER, 2, offsetof(struct MeasResultNR__measResult__cellResults, resultsSSB_Cell),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_MeasQuantityResults,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "resultsSSB-Cell"
- },
- { ATF_POINTER, 1, offsetof(struct MeasResultNR__measResult__cellResults, resultsCSI_RS_Cell),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_MeasQuantityResults,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "resultsCSI-RS-Cell"
- },
-};
-static const int asn_MAP_cellResults_oms_4[] = { 0, 1 };
-static const ber_tlv_tag_t asn_DEF_cellResults_tags_4[] = {
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_cellResults_tag2el_4[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* resultsSSB-Cell */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* resultsCSI-RS-Cell */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_cellResults_specs_4 = {
- sizeof(struct MeasResultNR__measResult__cellResults),
- offsetof(struct MeasResultNR__measResult__cellResults, _asn_ctx),
- asn_MAP_cellResults_tag2el_4,
- 2, /* Count of tags in the map */
- asn_MAP_cellResults_oms_4, /* Optional members */
- 2, 0, /* Root/Additions */
- -1, /* First extension addition */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_cellResults_4 = {
- "cellResults",
- "cellResults",
- &asn_OP_SEQUENCE,
- asn_DEF_cellResults_tags_4,
- sizeof(asn_DEF_cellResults_tags_4)
- /sizeof(asn_DEF_cellResults_tags_4[0]) - 1, /* 1 */
- asn_DEF_cellResults_tags_4, /* Same as above */
- sizeof(asn_DEF_cellResults_tags_4)
- /sizeof(asn_DEF_cellResults_tags_4[0]), /* 2 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_cellResults_4,
- 2, /* Elements count */
- &asn_SPC_cellResults_specs_4 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_rsIndexResults_7[] = {
- { ATF_POINTER, 2, offsetof(struct MeasResultNR__measResult__rsIndexResults, resultsSSB_Indexes),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_ResultsPerSSB_IndexList,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "resultsSSB-Indexes"
- },
- { ATF_POINTER, 1, offsetof(struct MeasResultNR__measResult__rsIndexResults, resultsCSI_RS_Indexes),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_ResultsPerCSI_RS_IndexList,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "resultsCSI-RS-Indexes"
- },
-};
-static const int asn_MAP_rsIndexResults_oms_7[] = { 0, 1 };
-static const ber_tlv_tag_t asn_DEF_rsIndexResults_tags_7[] = {
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_rsIndexResults_tag2el_7[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* resultsSSB-Indexes */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* resultsCSI-RS-Indexes */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_rsIndexResults_specs_7 = {
- sizeof(struct MeasResultNR__measResult__rsIndexResults),
- offsetof(struct MeasResultNR__measResult__rsIndexResults, _asn_ctx),
- asn_MAP_rsIndexResults_tag2el_7,
- 2, /* Count of tags in the map */
- asn_MAP_rsIndexResults_oms_7, /* Optional members */
- 2, 0, /* Root/Additions */
- -1, /* First extension addition */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_rsIndexResults_7 = {
- "rsIndexResults",
- "rsIndexResults",
- &asn_OP_SEQUENCE,
- asn_DEF_rsIndexResults_tags_7,
- sizeof(asn_DEF_rsIndexResults_tags_7)
- /sizeof(asn_DEF_rsIndexResults_tags_7[0]) - 1, /* 1 */
- asn_DEF_rsIndexResults_tags_7, /* Same as above */
- sizeof(asn_DEF_rsIndexResults_tags_7)
- /sizeof(asn_DEF_rsIndexResults_tags_7[0]), /* 2 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_rsIndexResults_7,
- 2, /* Elements count */
- &asn_SPC_rsIndexResults_specs_7 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_measResult_3[] = {
- { ATF_NOFLAGS, 0, offsetof(struct MeasResultNR__measResult, cellResults),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- 0,
- &asn_DEF_cellResults_4,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "cellResults"
- },
- { ATF_POINTER, 1, offsetof(struct MeasResultNR__measResult, rsIndexResults),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- 0,
- &asn_DEF_rsIndexResults_7,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "rsIndexResults"
- },
-};
-static const int asn_MAP_measResult_oms_3[] = { 1 };
-static const ber_tlv_tag_t asn_DEF_measResult_tags_3[] = {
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_measResult_tag2el_3[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellResults */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rsIndexResults */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_measResult_specs_3 = {
- sizeof(struct MeasResultNR__measResult),
- offsetof(struct MeasResultNR__measResult, _asn_ctx),
- asn_MAP_measResult_tag2el_3,
- 2, /* Count of tags in the map */
- asn_MAP_measResult_oms_3, /* Optional members */
- 1, 0, /* Root/Additions */
- -1, /* First extension addition */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_measResult_3 = {
- "measResult",
- "measResult",
- &asn_OP_SEQUENCE,
- asn_DEF_measResult_tags_3,
- sizeof(asn_DEF_measResult_tags_3)
- /sizeof(asn_DEF_measResult_tags_3[0]) - 1, /* 1 */
- asn_DEF_measResult_tags_3, /* Same as above */
- sizeof(asn_DEF_measResult_tags_3)
- /sizeof(asn_DEF_measResult_tags_3[0]), /* 2 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_measResult_3,
- 2, /* Elements count */
- &asn_SPC_measResult_specs_3 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_MeasResultNR_1[] = {
- { ATF_POINTER, 1, offsetof(struct MeasResultNR, physCellId),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_PhysCellId,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "physCellId"
- },
- { ATF_NOFLAGS, 0, offsetof(struct MeasResultNR, measResult),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- 0,
- &asn_DEF_measResult_3,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "measResult"
- },
-};
-static const int asn_MAP_MeasResultNR_oms_1[] = { 0 };
-static const ber_tlv_tag_t asn_DEF_MeasResultNR_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasResultNR_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* physCellId */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measResult */
-};
-asn_SEQUENCE_specifics_t asn_SPC_MeasResultNR_specs_1 = {
- sizeof(struct MeasResultNR),
- offsetof(struct MeasResultNR, _asn_ctx),
- asn_MAP_MeasResultNR_tag2el_1,
- 2, /* Count of tags in the map */
- asn_MAP_MeasResultNR_oms_1, /* Optional members */
- 1, 0, /* Root/Additions */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultNR = {
- "MeasResultNR",
- "MeasResultNR",
- &asn_OP_SEQUENCE,
- asn_DEF_MeasResultNR_tags_1,
- sizeof(asn_DEF_MeasResultNR_tags_1)
- /sizeof(asn_DEF_MeasResultNR_tags_1[0]), /* 1 */
- asn_DEF_MeasResultNR_tags_1, /* Same as above */
- sizeof(asn_DEF_MeasResultNR_tags_1)
- /sizeof(asn_DEF_MeasResultNR_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_MeasResultNR_1,
- 2, /* Elements count */
- &asn_SPC_MeasResultNR_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultNeighCells.c b/e2sm/lib/MeasResultNeighCells.c
deleted file mode 100644
index 3f87d70..0000000
--- a/e2sm/lib/MeasResultNeighCells.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultNeighCells.h"
-
-#include "MeasResultListNR.h"
-#include "MeasResultListEUTRA.h"
-static asn_oer_constraints_t asn_OER_type_MeasResultNeighCells_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-asn_per_constraints_t asn_PER_type_MeasResultNeighCells_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_MeasResultNeighCells_1[] = {
- { ATF_POINTER, 0, offsetof(struct MeasResultNeighCells, choice.measResultListNR),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_MeasResultListNR,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "measResultListNR"
- },
- { ATF_POINTER, 0, offsetof(struct MeasResultNeighCells, choice.measResultListEUTRA),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_MeasResultListEUTRA,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "measResultListEUTRA"
- },
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasResultNeighCells_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measResultListNR */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measResultListEUTRA */
-};
-asn_CHOICE_specifics_t asn_SPC_MeasResultNeighCells_specs_1 = {
- sizeof(struct MeasResultNeighCells),
- offsetof(struct MeasResultNeighCells, _asn_ctx),
- offsetof(struct MeasResultNeighCells, present),
- sizeof(((struct MeasResultNeighCells *)0)->present),
- asn_MAP_MeasResultNeighCells_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0,
- 2 /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultNeighCells = {
- "MeasResultNeighCells",
- "MeasResultNeighCells",
- &asn_OP_CHOICE,
- 0, /* No effective tags (pointer) */
- 0, /* No effective tags (count) */
- 0, /* No tags (pointer) */
- 0, /* No tags (count) */
- { &asn_OER_type_MeasResultNeighCells_constr_1, &asn_PER_type_MeasResultNeighCells_constr_1, CHOICE_constraint },
- asn_MBR_MeasResultNeighCells_1,
- 2, /* Elements count */
- &asn_SPC_MeasResultNeighCells_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultPCell.c b/e2sm/lib/MeasResultPCell.c
deleted file mode 100644
index cbd74f8..0000000
--- a/e2sm/lib/MeasResultPCell.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultPCell.h"
-
-asn_TYPE_member_t asn_MBR_MeasResultPCell_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct MeasResultPCell, eutra_PhysCellId),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_PhysCellId,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "eutra-PhysCellId"
- },
- { ATF_NOFLAGS, 0, offsetof(struct MeasResultPCell, rsrpResult),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RSRP_Range,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "rsrpResult"
- },
- { ATF_NOFLAGS, 0, offsetof(struct MeasResultPCell, rsrqResult),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RSRQ_Range,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "rsrqResult"
- },
-};
-static const ber_tlv_tag_t asn_DEF_MeasResultPCell_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasResultPCell_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eutra-PhysCellId */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rsrpResult */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* rsrqResult */
-};
-asn_SEQUENCE_specifics_t asn_SPC_MeasResultPCell_specs_1 = {
- sizeof(struct MeasResultPCell),
- offsetof(struct MeasResultPCell, _asn_ctx),
- asn_MAP_MeasResultPCell_tag2el_1,
- 3, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultPCell = {
- "MeasResultPCell",
- "MeasResultPCell",
- &asn_OP_SEQUENCE,
- asn_DEF_MeasResultPCell_tags_1,
- sizeof(asn_DEF_MeasResultPCell_tags_1)
- /sizeof(asn_DEF_MeasResultPCell_tags_1[0]), /* 1 */
- asn_DEF_MeasResultPCell_tags_1, /* Same as above */
- sizeof(asn_DEF_MeasResultPCell_tags_1)
- /sizeof(asn_DEF_MeasResultPCell_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_MeasResultPCell_1,
- 3, /* Elements count */
- &asn_SPC_MeasResultPCell_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultServMO.c b/e2sm/lib/MeasResultServMO.c
deleted file mode 100644
index 346f5fe..0000000
--- a/e2sm/lib/MeasResultServMO.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultServMO.h"
-
-#include "MeasResultNR.h"
-asn_TYPE_member_t asn_MBR_MeasResultServMO_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct MeasResultServMO, servCellId),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_ServCellIndex,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "servCellId"
- },
- { ATF_NOFLAGS, 0, offsetof(struct MeasResultServMO, measResultServingCell),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_MeasResultNR,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "measResultServingCell"
- },
- { ATF_POINTER, 1, offsetof(struct MeasResultServMO, measResultBestNeighCell),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_MeasResultNR,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "measResultBestNeighCell"
- },
-};
-static const int asn_MAP_MeasResultServMO_oms_1[] = { 2 };
-static const ber_tlv_tag_t asn_DEF_MeasResultServMO_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasResultServMO_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* servCellId */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* measResultServingCell */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* measResultBestNeighCell */
-};
-asn_SEQUENCE_specifics_t asn_SPC_MeasResultServMO_specs_1 = {
- sizeof(struct MeasResultServMO),
- offsetof(struct MeasResultServMO, _asn_ctx),
- asn_MAP_MeasResultServMO_tag2el_1,
- 3, /* Count of tags in the map */
- asn_MAP_MeasResultServMO_oms_1, /* Optional members */
- 1, 0, /* Root/Additions */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultServMO = {
- "MeasResultServMO",
- "MeasResultServMO",
- &asn_OP_SEQUENCE,
- asn_DEF_MeasResultServMO_tags_1,
- sizeof(asn_DEF_MeasResultServMO_tags_1)
- /sizeof(asn_DEF_MeasResultServMO_tags_1[0]), /* 1 */
- asn_DEF_MeasResultServMO_tags_1, /* Same as above */
- sizeof(asn_DEF_MeasResultServMO_tags_1)
- /sizeof(asn_DEF_MeasResultServMO_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_MeasResultServMO_1,
- 3, /* Elements count */
- &asn_SPC_MeasResultServMO_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultServMOList.c b/e2sm/lib/MeasResultServMOList.c
deleted file mode 100644
index 2798a7e..0000000
--- a/e2sm/lib/MeasResultServMOList.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultServMOList.h"
-
-#include "MeasResultServMO.h"
-static asn_oer_constraints_t asn_OER_type_MeasResultServMOList_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..32)) */};
-asn_per_constraints_t asn_PER_type_MeasResultServMOList_constr_1 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_MeasResultServMOList_1[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_MeasResultServMO,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_MeasResultServMOList_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_MeasResultServMOList_specs_1 = {
- sizeof(struct MeasResultServMOList),
- offsetof(struct MeasResultServMOList, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultServMOList = {
- "MeasResultServMOList",
- "MeasResultServMOList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_MeasResultServMOList_tags_1,
- sizeof(asn_DEF_MeasResultServMOList_tags_1)
- /sizeof(asn_DEF_MeasResultServMOList_tags_1[0]), /* 1 */
- asn_DEF_MeasResultServMOList_tags_1, /* Same as above */
- sizeof(asn_DEF_MeasResultServMOList_tags_1)
- /sizeof(asn_DEF_MeasResultServMOList_tags_1[0]), /* 1 */
- { &asn_OER_type_MeasResultServMOList_constr_1, &asn_PER_type_MeasResultServMOList_constr_1, SEQUENCE_OF_constraint },
- asn_MBR_MeasResultServMOList_1,
- 1, /* Single element */
- &asn_SPC_MeasResultServMOList_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasurementInfoItem.c b/e2sm/lib/MeasurementInfoItem.c
deleted file mode 100644
index 5edae52..0000000
--- a/e2sm/lib/MeasurementInfoItem.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasurementInfoItem.h"
-
-asn_TYPE_member_t asn_MBR_MeasurementInfoItem_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct MeasurementInfoItem, measType),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- +1, /* EXPLICIT tag at current level */
- &asn_DEF_MeasurementType,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "measType"
- },
-};
-static const ber_tlv_tag_t asn_DEF_MeasurementInfoItem_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasurementInfoItem_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* measType */
-};
-asn_SEQUENCE_specifics_t asn_SPC_MeasurementInfoItem_specs_1 = {
- sizeof(struct MeasurementInfoItem),
- offsetof(struct MeasurementInfoItem, _asn_ctx),
- asn_MAP_MeasurementInfoItem_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasurementInfoItem = {
- "MeasurementInfoItem",
- "MeasurementInfoItem",
- &asn_OP_SEQUENCE,
- asn_DEF_MeasurementInfoItem_tags_1,
- sizeof(asn_DEF_MeasurementInfoItem_tags_1)
- /sizeof(asn_DEF_MeasurementInfoItem_tags_1[0]), /* 1 */
- asn_DEF_MeasurementInfoItem_tags_1, /* Same as above */
- sizeof(asn_DEF_MeasurementInfoItem_tags_1)
- /sizeof(asn_DEF_MeasurementInfoItem_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_MeasurementInfoItem_1,
- 1, /* Elements count */
- &asn_SPC_MeasurementInfoItem_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasurementInfoList.c b/e2sm/lib/MeasurementInfoList.c
deleted file mode 100644
index 9e7aed9..0000000
--- a/e2sm/lib/MeasurementInfoList.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasurementInfoList.h"
-
-#include "MeasurementInfoItem.h"
-static asn_oer_constraints_t asn_OER_type_MeasurementInfoList_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..65535)) */};
-asn_per_constraints_t asn_PER_type_MeasurementInfoList_constr_1 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_MeasurementInfoList_1[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_MeasurementInfoItem,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_MeasurementInfoList_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_MeasurementInfoList_specs_1 = {
- sizeof(struct MeasurementInfoList),
- offsetof(struct MeasurementInfoList, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasurementInfoList = {
- "MeasurementInfoList",
- "MeasurementInfoList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_MeasurementInfoList_tags_1,
- sizeof(asn_DEF_MeasurementInfoList_tags_1)
- /sizeof(asn_DEF_MeasurementInfoList_tags_1[0]), /* 1 */
- asn_DEF_MeasurementInfoList_tags_1, /* Same as above */
- sizeof(asn_DEF_MeasurementInfoList_tags_1)
- /sizeof(asn_DEF_MeasurementInfoList_tags_1[0]), /* 1 */
- { &asn_OER_type_MeasurementInfoList_constr_1, &asn_PER_type_MeasurementInfoList_constr_1, SEQUENCE_OF_constraint },
- asn_MBR_MeasurementInfoList_1,
- 1, /* Single element */
- &asn_SPC_MeasurementInfoList_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasurementType.c b/e2sm/lib/MeasurementType.c
deleted file mode 100644
index 2d3e1f7..0000000
--- a/e2sm/lib/MeasurementType.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasurementType.h"
-
-static asn_oer_constraints_t asn_OER_type_MeasurementType_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-asn_per_constraints_t asn_PER_type_MeasurementType_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_MeasurementType_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct MeasurementType, choice.measName),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_MeasurementTypeName,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "measName"
- },
- { ATF_NOFLAGS, 0, offsetof(struct MeasurementType, choice.measID),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_MeasurementTypeID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "measID"
- },
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasurementType_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measName */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measID */
-};
-asn_CHOICE_specifics_t asn_SPC_MeasurementType_specs_1 = {
- sizeof(struct MeasurementType),
- offsetof(struct MeasurementType, _asn_ctx),
- offsetof(struct MeasurementType, present),
- sizeof(((struct MeasurementType *)0)->present),
- asn_MAP_MeasurementType_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0,
- 2 /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasurementType = {
- "MeasurementType",
- "MeasurementType",
- &asn_OP_CHOICE,
- 0, /* No effective tags (pointer) */
- 0, /* No effective tags (count) */
- 0, /* No tags (pointer) */
- 0, /* No tags (count) */
- { &asn_OER_type_MeasurementType_constr_1, &asn_PER_type_MeasurementType_constr_1, CHOICE_constraint },
- asn_MBR_MeasurementType_1,
- 2, /* Elements count */
- &asn_SPC_MeasurementType_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasurementTypeID.c b/e2sm/lib/MeasurementTypeID.c
deleted file mode 100644
index 62a8a79..0000000
--- a/e2sm/lib/MeasurementTypeID.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasurementTypeID.h"
-
-int
-MeasurementTypeID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 1 && value <= 65535)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_MeasurementTypeID_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-asn_per_constraints_t asn_PER_type_MeasurementTypeID_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 16, 16, 1, 65535 } /* (1..65535,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_MeasurementTypeID_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_MeasurementTypeID = {
- "MeasurementTypeID",
- "MeasurementTypeID",
- &asn_OP_NativeInteger,
- asn_DEF_MeasurementTypeID_tags_1,
- sizeof(asn_DEF_MeasurementTypeID_tags_1)
- /sizeof(asn_DEF_MeasurementTypeID_tags_1[0]), /* 1 */
- asn_DEF_MeasurementTypeID_tags_1, /* Same as above */
- sizeof(asn_DEF_MeasurementTypeID_tags_1)
- /sizeof(asn_DEF_MeasurementTypeID_tags_1[0]), /* 1 */
- { &asn_OER_type_MeasurementTypeID_constr_1, &asn_PER_type_MeasurementTypeID_constr_1, MeasurementTypeID_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/MeasurementTypeName.c b/e2sm/lib/MeasurementTypeName.c
deleted file mode 100644
index 1b5fd5a..0000000
--- a/e2sm/lib/MeasurementTypeName.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasurementTypeName.h"
-
-static const int permitted_alphabet_table_1[256] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
- 1, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 5, 6, 7, 8, 9, /* . '() +,-./ */
-10,11,12,13,14,15,16,17,18,19,20, 0, 0,21, 0,22, /* 0123456789: = ? */
- 0,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37, /* ABCDEFGHIJKLMNO */
-38,39,40,41,42,43,44,45,46,47,48, 0, 0, 0, 0, 0, /* PQRSTUVWXYZ */
- 0,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, /* abcdefghijklmno */
-64,65,66,67,68,69,70,71,72,73,74, 0, 0, 0, 0, 0, /* pqrstuvwxyz */
-};
-static const int permitted_alphabet_code2value_1[74] = {
-32,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,
-55,56,57,58,61,63,65,66,67,68,69,70,71,72,73,74,
-75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
-97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,
-113,114,115,116,117,118,119,120,121,122,};
-
-
-static int check_permitted_alphabet_1(const void *sptr) {
- const int *table = permitted_alphabet_table_1;
- /* The underlying type is PrintableString */
- const PrintableString_t *st = (const PrintableString_t *)sptr;
- const uint8_t *ch = st->buf;
- const uint8_t *end = ch + st->size;
-
- for(; ch < end; ch++) {
- uint8_t cv = *ch;
- if(!table[cv]) return -1;
- }
- return 0;
-}
-
-int
-MeasurementTypeName_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const PrintableString_t *st = (const PrintableString_t *)sptr;
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- size = st->size;
-
- if((size >= 1 && size <= 150)
- && !check_permitted_alphabet_1(st)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int asn_PER_MAP_MeasurementTypeName_1_v2c(unsigned int value) {
- if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
- return -1;
- return permitted_alphabet_table_1[value] - 1;
-}
-static int asn_PER_MAP_MeasurementTypeName_1_c2v(unsigned int code) {
- if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
- return -1;
- return permitted_alphabet_code2value_1[code];
-}
-/*
- * This type is implemented using PrintableString,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_MeasurementTypeName_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(0..MAX)) */};
-asn_per_constraints_t asn_PER_type_MeasurementTypeName_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 7, 7, 32, 122 } /* (32..122) */,
- { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 150 } /* (SIZE(1..150,...)) */,
- asn_PER_MAP_MeasurementTypeName_1_v2c, /* Value to PER code map */
- asn_PER_MAP_MeasurementTypeName_1_c2v /* PER code to value map */
-};
-static const ber_tlv_tag_t asn_DEF_MeasurementTypeName_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_MeasurementTypeName = {
- "MeasurementTypeName",
- "MeasurementTypeName",
- &asn_OP_PrintableString,
- asn_DEF_MeasurementTypeName_tags_1,
- sizeof(asn_DEF_MeasurementTypeName_tags_1)
- /sizeof(asn_DEF_MeasurementTypeName_tags_1[0]), /* 1 */
- asn_DEF_MeasurementTypeName_tags_1, /* Same as above */
- sizeof(asn_DEF_MeasurementTypeName_tags_1)
- /sizeof(asn_DEF_MeasurementTypeName_tags_1[0]), /* 1 */
- { &asn_OER_type_MeasurementTypeName_constr_1, &asn_PER_type_MeasurementTypeName_constr_1, MeasurementTypeName_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/MeasurementValue.c b/e2sm/lib/MeasurementValue.c
deleted file mode 100644
index ed03a0b..0000000
--- a/e2sm/lib/MeasurementValue.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasurementValue.h"
-
-#include "L3-RRC-Measurements.h"
-static asn_oer_constraints_t asn_OER_type_MeasurementValue_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-asn_per_constraints_t asn_PER_type_MeasurementValue_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_MeasurementValue_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct MeasurementValue, choice.valueInt),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_NativeInteger,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "valueInt"
- },
- { ATF_NOFLAGS, 0, offsetof(struct MeasurementValue, choice.valueReal),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_NativeReal,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "valueReal"
- },
- { ATF_NOFLAGS, 0, offsetof(struct MeasurementValue, choice.noValue),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_NULL,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "noValue"
- },
- { ATF_POINTER, 0, offsetof(struct MeasurementValue, choice.valueRRC),
- (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_L3_RRC_Measurements,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "valueRRC"
- },
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasurementValue_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* valueInt */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* valueReal */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* noValue */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* valueRRC */
-};
-asn_CHOICE_specifics_t asn_SPC_MeasurementValue_specs_1 = {
- sizeof(struct MeasurementValue),
- offsetof(struct MeasurementValue, _asn_ctx),
- offsetof(struct MeasurementValue, present),
- sizeof(((struct MeasurementValue *)0)->present),
- asn_MAP_MeasurementValue_tag2el_1,
- 4, /* Count of tags in the map */
- 0, 0,
- 4 /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasurementValue = {
- "MeasurementValue",
- "MeasurementValue",
- &asn_OP_CHOICE,
- 0, /* No effective tags (pointer) */
- 0, /* No effective tags (count) */
- 0, /* No tags (pointer) */
- 0, /* No tags (count) */
- { &asn_OER_type_MeasurementValue_constr_1, &asn_PER_type_MeasurementValue_constr_1, CHOICE_constraint },
- asn_MBR_MeasurementValue_1,
- 4, /* Elements count */
- &asn_SPC_MeasurementValue_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/MessageType-Choice-NI.c b/e2sm/lib/MessageType-Choice-NI.c
new file mode 100644
index 0000000..7c6ded8
--- /dev/null
+++ b/e2sm/lib/MessageType-Choice-NI.c
@@ -0,0 +1,74 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MessageType-Choice-NI.h"
+
+#include "InterfaceIdentifier.h"
+#include "Interface-MessageID.h"
+asn_TYPE_member_t asn_MBR_MessageType_Choice_NI_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MessageType_Choice_NI, nI_Type),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_InterfaceType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nI-Type"
+ },
+ { ATF_POINTER, 2, offsetof(struct MessageType_Choice_NI, nI_Identifier),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_InterfaceIdentifier,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nI-Identifier"
+ },
+ { ATF_POINTER, 1, offsetof(struct MessageType_Choice_NI, nI_Message),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_Interface_MessageID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nI-Message"
+ },
+};
+static const int asn_MAP_MessageType_Choice_NI_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_MessageType_Choice_NI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MessageType_Choice_NI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nI-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nI-Identifier */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* nI-Message */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MessageType_Choice_NI_specs_1 = {
+ sizeof(struct MessageType_Choice_NI),
+ offsetof(struct MessageType_Choice_NI, _asn_ctx),
+ asn_MAP_MessageType_Choice_NI_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_MessageType_Choice_NI_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_MessageType_Choice_NI = {
+ "MessageType-Choice-NI",
+ "MessageType-Choice-NI",
+ &asn_OP_SEQUENCE,
+ asn_DEF_MessageType_Choice_NI_tags_1,
+ sizeof(asn_DEF_MessageType_Choice_NI_tags_1)
+ /sizeof(asn_DEF_MessageType_Choice_NI_tags_1[0]), /* 1 */
+ asn_DEF_MessageType_Choice_NI_tags_1, /* Same as above */
+ sizeof(asn_DEF_MessageType_Choice_NI_tags_1)
+ /sizeof(asn_DEF_MessageType_Choice_NI_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_MessageType_Choice_NI_1,
+ 3, /* Elements count */
+ &asn_SPC_MessageType_Choice_NI_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/MessageType-Choice-RRC.c b/e2sm/lib/MessageType-Choice-RRC.c
new file mode 100644
index 0000000..8de8dfc
--- /dev/null
+++ b/e2sm/lib/MessageType-Choice-RRC.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MessageType-Choice-RRC.h"
+
+asn_TYPE_member_t asn_MBR_MessageType_Choice_RRC_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MessageType_Choice_RRC, rRC_Message),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RRC_MessageID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "rRC-Message"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_MessageType_Choice_RRC_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MessageType_Choice_RRC_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rRC-Message */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MessageType_Choice_RRC_specs_1 = {
+ sizeof(struct MessageType_Choice_RRC),
+ offsetof(struct MessageType_Choice_RRC, _asn_ctx),
+ asn_MAP_MessageType_Choice_RRC_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_MessageType_Choice_RRC = {
+ "MessageType-Choice-RRC",
+ "MessageType-Choice-RRC",
+ &asn_OP_SEQUENCE,
+ asn_DEF_MessageType_Choice_RRC_tags_1,
+ sizeof(asn_DEF_MessageType_Choice_RRC_tags_1)
+ /sizeof(asn_DEF_MessageType_Choice_RRC_tags_1[0]), /* 1 */
+ asn_DEF_MessageType_Choice_RRC_tags_1, /* Same as above */
+ sizeof(asn_DEF_MessageType_Choice_RRC_tags_1)
+ /sizeof(asn_DEF_MessageType_Choice_RRC_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_MessageType_Choice_RRC_1,
+ 1, /* Elements count */
+ &asn_SPC_MessageType_Choice_RRC_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/MessageType-Choice.c b/e2sm/lib/MessageType-Choice.c
new file mode 100644
index 0000000..3be3635
--- /dev/null
+++ b/e2sm/lib/MessageType-Choice.c
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MessageType-Choice.h"
+
+#include "MessageType-Choice-NI.h"
+#include "MessageType-Choice-RRC.h"
+static asn_oer_constraints_t asn_OER_type_MessageType_Choice_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_MessageType_Choice_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_MessageType_Choice_1[] = {
+ { ATF_POINTER, 0, offsetof(struct MessageType_Choice, choice.messageType_Choice_NI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MessageType_Choice_NI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "messageType-Choice-NI"
+ },
+ { ATF_POINTER, 0, offsetof(struct MessageType_Choice, choice.messageType_Choice_RRC),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MessageType_Choice_RRC,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "messageType-Choice-RRC"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_MessageType_Choice_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* messageType-Choice-NI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* messageType-Choice-RRC */
+};
+asn_CHOICE_specifics_t asn_SPC_MessageType_Choice_specs_1 = {
+ sizeof(struct MessageType_Choice),
+ offsetof(struct MessageType_Choice, _asn_ctx),
+ offsetof(struct MessageType_Choice, present),
+ sizeof(((struct MessageType_Choice *)0)->present),
+ asn_MAP_MessageType_Choice_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_MessageType_Choice = {
+ "MessageType-Choice",
+ "MessageType-Choice",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_MessageType_Choice_constr_1, &asn_PER_type_MessageType_Choice_constr_1, CHOICE_constraint },
+ asn_MBR_MessageType_Choice_1,
+ 2, /* Elements count */
+ &asn_SPC_MessageType_Choice_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NG-RANnodeUEXnAPID.c b/e2sm/lib/NG-RANnodeUEXnAPID.c
new file mode 100644
index 0000000..6a7a9b6
--- /dev/null
+++ b/e2sm/lib/NG-RANnodeUEXnAPID.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NG-RANnodeUEXnAPID.h"
+
+int
+NG_RANnodeUEXnAPID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ /* Constraint check succeeded */
+ return 0;
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_NG_RANnodeUEXnAPID_constr_1 CC_NOTUSED = {
+ { 4, 1 } /* (0..4294967295) */,
+ -1};
+asn_per_constraints_t asn_PER_type_NG_RANnodeUEXnAPID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+const asn_INTEGER_specifics_t asn_SPC_NG_RANnodeUEXnAPID_specs_1 = {
+ 0, 0, 0, 0, 0,
+ 0, /* Native long size */
+ 1 /* Unsigned representation */
+};
+static const ber_tlv_tag_t asn_DEF_NG_RANnodeUEXnAPID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_NG_RANnodeUEXnAPID = {
+ "NG-RANnodeUEXnAPID",
+ "NG-RANnodeUEXnAPID",
+ &asn_OP_NativeInteger,
+ asn_DEF_NG_RANnodeUEXnAPID_tags_1,
+ sizeof(asn_DEF_NG_RANnodeUEXnAPID_tags_1)
+ /sizeof(asn_DEF_NG_RANnodeUEXnAPID_tags_1[0]), /* 1 */
+ asn_DEF_NG_RANnodeUEXnAPID_tags_1, /* Same as above */
+ sizeof(asn_DEF_NG_RANnodeUEXnAPID_tags_1)
+ /sizeof(asn_DEF_NG_RANnodeUEXnAPID_tags_1[0]), /* 1 */
+ { &asn_OER_type_NG_RANnodeUEXnAPID_constr_1, &asn_PER_type_NG_RANnodeUEXnAPID_constr_1, NG_RANnodeUEXnAPID_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_NG_RANnodeUEXnAPID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NGENB-CU-UE-W1AP-ID.c b/e2sm/lib/NGENB-CU-UE-W1AP-ID.c
new file mode 100644
index 0000000..fa15e70
--- /dev/null
+++ b/e2sm/lib/NGENB-CU-UE-W1AP-ID.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NGENB-CU-UE-W1AP-ID.h"
+
+int
+NGENB_CU_UE_W1AP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ /* Constraint check succeeded */
+ return 0;
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_NGENB_CU_UE_W1AP_ID_constr_1 CC_NOTUSED = {
+ { 4, 1 } /* (0..4294967295) */,
+ -1};
+asn_per_constraints_t asn_PER_type_NGENB_CU_UE_W1AP_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+const asn_INTEGER_specifics_t asn_SPC_NGENB_CU_UE_W1AP_ID_specs_1 = {
+ 0, 0, 0, 0, 0,
+ 0, /* Native long size */
+ 1 /* Unsigned representation */
+};
+static const ber_tlv_tag_t asn_DEF_NGENB_CU_UE_W1AP_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_NGENB_CU_UE_W1AP_ID = {
+ "NGENB-CU-UE-W1AP-ID",
+ "NGENB-CU-UE-W1AP-ID",
+ &asn_OP_NativeInteger,
+ asn_DEF_NGENB_CU_UE_W1AP_ID_tags_1,
+ sizeof(asn_DEF_NGENB_CU_UE_W1AP_ID_tags_1)
+ /sizeof(asn_DEF_NGENB_CU_UE_W1AP_ID_tags_1[0]), /* 1 */
+ asn_DEF_NGENB_CU_UE_W1AP_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_NGENB_CU_UE_W1AP_ID_tags_1)
+ /sizeof(asn_DEF_NGENB_CU_UE_W1AP_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_NGENB_CU_UE_W1AP_ID_constr_1, &asn_PER_type_NGENB_CU_UE_W1AP_ID_constr_1, NGENB_CU_UE_W1AP_ID_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_NGENB_CU_UE_W1AP_ID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NGENB-DU-ID.c b/e2sm/lib/NGENB-DU-ID.c
new file mode 100644
index 0000000..2effacf
--- /dev/null
+++ b/e2sm/lib/NGENB-DU-ID.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NGENB-DU-ID.h"
+
+int
+NGENB_DU_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const INTEGER_t *st = (const INTEGER_t *)sptr;
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if(asn_INTEGER2long(st, &value)) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value too large (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if((value >= 0 && value <= 68719476735)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using INTEGER,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_NGENB_DU_ID_constr_1 CC_NOTUSED = {
+ { 8, 1 } /* (0..68719476735) */,
+ -1};
+asn_per_constraints_t asn_PER_type_NGENB_DU_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED, 36, -1, 0, 68719476735 } /* (0..68719476735) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_NGENB_DU_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_NGENB_DU_ID = {
+ "NGENB-DU-ID",
+ "NGENB-DU-ID",
+ &asn_OP_INTEGER,
+ asn_DEF_NGENB_DU_ID_tags_1,
+ sizeof(asn_DEF_NGENB_DU_ID_tags_1)
+ /sizeof(asn_DEF_NGENB_DU_ID_tags_1[0]), /* 1 */
+ asn_DEF_NGENB_DU_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_NGENB_DU_ID_tags_1)
+ /sizeof(asn_DEF_NGENB_DU_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_NGENB_DU_ID_constr_1, &asn_PER_type_NGENB_DU_ID_constr_1, NGENB_DU_ID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/NI-Type.c b/e2sm/lib/NI-Type.c
deleted file mode 100644
index 06ba425..0000000
--- a/e2sm/lib/NI-Type.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "NI-Type.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_NI_Type_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-asn_per_constraints_t asn_PER_type_NI_Type_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_NI_Type_value2enum_1[] = {
- { 0, 4, "x2-u" },
- { 1, 4, "xn-u" },
- { 2, 4, "f1-u" }
- /* This list is extensible */
-};
-static const unsigned int asn_MAP_NI_Type_enum2value_1[] = {
- 2, /* f1-u(2) */
- 0, /* x2-u(0) */
- 1 /* xn-u(1) */
- /* This list is extensible */
-};
-const asn_INTEGER_specifics_t asn_SPC_NI_Type_specs_1 = {
- asn_MAP_NI_Type_value2enum_1, /* "tag" => N; sorted by tag */
- asn_MAP_NI_Type_enum2value_1, /* N => "tag"; sorted by N */
- 3, /* Number of elements in the maps */
- 4, /* Extensions before this member */
- 1, /* Strict enumeration */
- 0, /* Native long size */
- 0
-};
-static const ber_tlv_tag_t asn_DEF_NI_Type_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_NI_Type = {
- "NI-Type",
- "NI-Type",
- &asn_OP_NativeEnumerated,
- asn_DEF_NI_Type_tags_1,
- sizeof(asn_DEF_NI_Type_tags_1)
- /sizeof(asn_DEF_NI_Type_tags_1[0]), /* 1 */
- asn_DEF_NI_Type_tags_1, /* Same as above */
- sizeof(asn_DEF_NI_Type_tags_1)
- /sizeof(asn_DEF_NI_Type_tags_1[0]), /* 1 */
- { &asn_OER_type_NI_Type_constr_1, &asn_PER_type_NI_Type_constr_1, NativeEnumerated_constraint },
- 0, 0, /* Defined elsewhere */
- &asn_SPC_NI_Type_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/NR-ARFCN.c b/e2sm/lib/NR-ARFCN.c
new file mode 100644
index 0000000..eaaffa4
--- /dev/null
+++ b/e2sm/lib/NR-ARFCN.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NR-ARFCN.h"
+
+static int
+memb_nRARFCN_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 3279165)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_memb_nRARFCN_constr_2 CC_NOTUSED = {
+ { 4, 1 } /* (0..3279165) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_nRARFCN_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED, 22, -1, 0, 3279165 } /* (0..3279165) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_NR_ARFCN_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct NR_ARFCN, nRARFCN),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_nRARFCN_constr_2, &asn_PER_memb_nRARFCN_constr_2, memb_nRARFCN_constraint_1 },
+ 0, 0, /* No default value */
+ "nRARFCN"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_NR_ARFCN_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_NR_ARFCN_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* nRARFCN */
+};
+asn_SEQUENCE_specifics_t asn_SPC_NR_ARFCN_specs_1 = {
+ sizeof(struct NR_ARFCN),
+ offsetof(struct NR_ARFCN, _asn_ctx),
+ asn_MAP_NR_ARFCN_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_NR_ARFCN = {
+ "NR-ARFCN",
+ "NR-ARFCN",
+ &asn_OP_SEQUENCE,
+ asn_DEF_NR_ARFCN_tags_1,
+ sizeof(asn_DEF_NR_ARFCN_tags_1)
+ /sizeof(asn_DEF_NR_ARFCN_tags_1[0]), /* 1 */
+ asn_DEF_NR_ARFCN_tags_1, /* Same as above */
+ sizeof(asn_DEF_NR_ARFCN_tags_1)
+ /sizeof(asn_DEF_NR_ARFCN_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_NR_ARFCN_1,
+ 1, /* Elements count */
+ &asn_SPC_NR_ARFCN_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NR-CGI.c b/e2sm/lib/NR-CGI.c
new file mode 100644
index 0000000..e2a5d69
--- /dev/null
+++ b/e2sm/lib/NR-CGI.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NR-CGI.h"
+
+asn_TYPE_member_t asn_MBR_NR_CGI_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct NR_CGI, pLMNIdentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PLMNIdentity,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "pLMNIdentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NR_CGI, nRCellIdentity),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NRCellIdentity,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nRCellIdentity"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_NR_CGI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_NR_CGI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNIdentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* nRCellIdentity */
+};
+asn_SEQUENCE_specifics_t asn_SPC_NR_CGI_specs_1 = {
+ sizeof(struct NR_CGI),
+ offsetof(struct NR_CGI, _asn_ctx),
+ asn_MAP_NR_CGI_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_NR_CGI = {
+ "NR-CGI",
+ "NR-CGI",
+ &asn_OP_SEQUENCE,
+ asn_DEF_NR_CGI_tags_1,
+ sizeof(asn_DEF_NR_CGI_tags_1)
+ /sizeof(asn_DEF_NR_CGI_tags_1[0]), /* 1 */
+ asn_DEF_NR_CGI_tags_1, /* Same as above */
+ sizeof(asn_DEF_NR_CGI_tags_1)
+ /sizeof(asn_DEF_NR_CGI_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_NR_CGI_1,
+ 2, /* Elements count */
+ &asn_SPC_NR_CGI_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NR-PCI.c b/e2sm/lib/NR-PCI.c
new file mode 100644
index 0000000..ddd0e7c
--- /dev/null
+++ b/e2sm/lib/NR-PCI.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NR-PCI.h"
+
+int
+NR_PCI_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 1007)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_NR_PCI_constr_1 CC_NOTUSED = {
+ { 2, 1 } /* (0..1007) */,
+ -1};
+asn_per_constraints_t asn_PER_type_NR_PCI_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED, 10, 10, 0, 1007 } /* (0..1007) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_NR_PCI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_NR_PCI = {
+ "NR-PCI",
+ "NR-PCI",
+ &asn_OP_NativeInteger,
+ asn_DEF_NR_PCI_tags_1,
+ sizeof(asn_DEF_NR_PCI_tags_1)
+ /sizeof(asn_DEF_NR_PCI_tags_1[0]), /* 1 */
+ asn_DEF_NR_PCI_tags_1, /* Same as above */
+ sizeof(asn_DEF_NR_PCI_tags_1)
+ /sizeof(asn_DEF_NR_PCI_tags_1[0]), /* 1 */
+ { &asn_OER_type_NR_PCI_constr_1, &asn_PER_type_NR_PCI_constr_1, NR_PCI_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/NRCGI.c b/e2sm/lib/NRCGI.c
deleted file mode 100644
index 2eaae12..0000000
--- a/e2sm/lib/NRCGI.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "NRCGI.h"
-
-asn_TYPE_member_t asn_MBR_NRCGI_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct NRCGI, pLMN_Identity),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_PLMN_Identity,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "pLMN-Identity"
- },
- { ATF_NOFLAGS, 0, offsetof(struct NRCGI, nRCellIdentity),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_NRCellIdentity,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "nRCellIdentity"
- },
-};
-static const ber_tlv_tag_t asn_DEF_NRCGI_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_NRCGI_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* nRCellIdentity */
-};
-asn_SEQUENCE_specifics_t asn_SPC_NRCGI_specs_1 = {
- sizeof(struct NRCGI),
- offsetof(struct NRCGI, _asn_ctx),
- asn_MAP_NRCGI_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_NRCGI = {
- "NRCGI",
- "NRCGI",
- &asn_OP_SEQUENCE,
- asn_DEF_NRCGI_tags_1,
- sizeof(asn_DEF_NRCGI_tags_1)
- /sizeof(asn_DEF_NRCGI_tags_1[0]), /* 1 */
- asn_DEF_NRCGI_tags_1, /* Same as above */
- sizeof(asn_DEF_NRCGI_tags_1)
- /sizeof(asn_DEF_NRCGI_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_NRCGI_1,
- 2, /* Elements count */
- &asn_SPC_NRCGI_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/NRCellIdentity.c b/e2sm/lib/NRCellIdentity.c
index 511d128..1b99861 100644
--- a/e2sm/lib/NRCellIdentity.c
+++ b/e2sm/lib/NRCellIdentity.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
diff --git a/e2sm/lib/NRFrequencyBand-List.c b/e2sm/lib/NRFrequencyBand-List.c
new file mode 100644
index 0000000..3b385c0
--- /dev/null
+++ b/e2sm/lib/NRFrequencyBand-List.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NRFrequencyBand-List.h"
+
+#include "NRFrequencyBandItem.h"
+static asn_oer_constraints_t asn_OER_type_NRFrequencyBand_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..32)) */};
+asn_per_constraints_t asn_PER_type_NRFrequencyBand_List_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_NRFrequencyBand_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_NRFrequencyBandItem,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_NRFrequencyBand_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_NRFrequencyBand_List_specs_1 = {
+ sizeof(struct NRFrequencyBand_List),
+ offsetof(struct NRFrequencyBand_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_NRFrequencyBand_List = {
+ "NRFrequencyBand-List",
+ "NRFrequencyBand-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_NRFrequencyBand_List_tags_1,
+ sizeof(asn_DEF_NRFrequencyBand_List_tags_1)
+ /sizeof(asn_DEF_NRFrequencyBand_List_tags_1[0]), /* 1 */
+ asn_DEF_NRFrequencyBand_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_NRFrequencyBand_List_tags_1)
+ /sizeof(asn_DEF_NRFrequencyBand_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_NRFrequencyBand_List_constr_1, &asn_PER_type_NRFrequencyBand_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_NRFrequencyBand_List_1,
+ 1, /* Single element */
+ &asn_SPC_NRFrequencyBand_List_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NRFrequencyBandItem.c b/e2sm/lib/NRFrequencyBandItem.c
new file mode 100644
index 0000000..1179aa1
--- /dev/null
+++ b/e2sm/lib/NRFrequencyBandItem.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NRFrequencyBandItem.h"
+
+static int
+memb_freqBandIndicatorNr_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 1024)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_memb_freqBandIndicatorNr_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_freqBandIndicatorNr_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 1024 } /* (1..1024,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_NRFrequencyBandItem_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct NRFrequencyBandItem, freqBandIndicatorNr),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_freqBandIndicatorNr_constr_2, &asn_PER_memb_freqBandIndicatorNr_constr_2, memb_freqBandIndicatorNr_constraint_1 },
+ 0, 0, /* No default value */
+ "freqBandIndicatorNr"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NRFrequencyBandItem, supportedSULBandList),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SupportedSULBandList,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "supportedSULBandList"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_NRFrequencyBandItem_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_NRFrequencyBandItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* freqBandIndicatorNr */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* supportedSULBandList */
+};
+asn_SEQUENCE_specifics_t asn_SPC_NRFrequencyBandItem_specs_1 = {
+ sizeof(struct NRFrequencyBandItem),
+ offsetof(struct NRFrequencyBandItem, _asn_ctx),
+ asn_MAP_NRFrequencyBandItem_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_NRFrequencyBandItem = {
+ "NRFrequencyBandItem",
+ "NRFrequencyBandItem",
+ &asn_OP_SEQUENCE,
+ asn_DEF_NRFrequencyBandItem_tags_1,
+ sizeof(asn_DEF_NRFrequencyBandItem_tags_1)
+ /sizeof(asn_DEF_NRFrequencyBandItem_tags_1[0]), /* 1 */
+ asn_DEF_NRFrequencyBandItem_tags_1, /* Same as above */
+ sizeof(asn_DEF_NRFrequencyBandItem_tags_1)
+ /sizeof(asn_DEF_NRFrequencyBandItem_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_NRFrequencyBandItem_1,
+ 2, /* Elements count */
+ &asn_SPC_NRFrequencyBandItem_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NRFrequencyInfo.c b/e2sm/lib/NRFrequencyInfo.c
new file mode 100644
index 0000000..d74281a
--- /dev/null
+++ b/e2sm/lib/NRFrequencyInfo.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NRFrequencyInfo.h"
+
+static asn_TYPE_member_t asn_MBR_NRFrequencyInfo_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct NRFrequencyInfo, nrARFCN),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NR_ARFCN,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nrARFCN"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NRFrequencyInfo, frequencyBand_List),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NRFrequencyBand_List,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "frequencyBand-List"
+ },
+ { ATF_POINTER, 1, offsetof(struct NRFrequencyInfo, frequencyShift7p5khz),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NRFrequencyShift7p5khz,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "frequencyShift7p5khz"
+ },
+};
+static const int asn_MAP_NRFrequencyInfo_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_NRFrequencyInfo_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_NRFrequencyInfo_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nrARFCN */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* frequencyBand-List */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* frequencyShift7p5khz */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_NRFrequencyInfo_specs_1 = {
+ sizeof(struct NRFrequencyInfo),
+ offsetof(struct NRFrequencyInfo, _asn_ctx),
+ asn_MAP_NRFrequencyInfo_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_NRFrequencyInfo_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_NRFrequencyInfo = {
+ "NRFrequencyInfo",
+ "NRFrequencyInfo",
+ &asn_OP_SEQUENCE,
+ asn_DEF_NRFrequencyInfo_tags_1,
+ sizeof(asn_DEF_NRFrequencyInfo_tags_1)
+ /sizeof(asn_DEF_NRFrequencyInfo_tags_1[0]), /* 1 */
+ asn_DEF_NRFrequencyInfo_tags_1, /* Same as above */
+ sizeof(asn_DEF_NRFrequencyInfo_tags_1)
+ /sizeof(asn_DEF_NRFrequencyInfo_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_NRFrequencyInfo_1,
+ 3, /* Elements count */
+ &asn_SPC_NRFrequencyInfo_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NRFrequencyShift7p5khz.c b/e2sm/lib/NRFrequencyShift7p5khz.c
new file mode 100644
index 0000000..2d66419
--- /dev/null
+++ b/e2sm/lib/NRFrequencyShift7p5khz.c
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NRFrequencyShift7p5khz.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_NRFrequencyShift7p5khz_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_NRFrequencyShift7p5khz_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_NRFrequencyShift7p5khz_value2enum_1[] = {
+ { 0, 5, "false" },
+ { 1, 4, "true" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_NRFrequencyShift7p5khz_enum2value_1[] = {
+ 0, /* false(0) */
+ 1 /* true(1) */
+ /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_NRFrequencyShift7p5khz_specs_1 = {
+ asn_MAP_NRFrequencyShift7p5khz_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_NRFrequencyShift7p5khz_enum2value_1, /* N => "tag"; sorted by N */
+ 2, /* Number of elements in the maps */
+ 3, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_NRFrequencyShift7p5khz_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_NRFrequencyShift7p5khz = {
+ "NRFrequencyShift7p5khz",
+ "NRFrequencyShift7p5khz",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_NRFrequencyShift7p5khz_tags_1,
+ sizeof(asn_DEF_NRFrequencyShift7p5khz_tags_1)
+ /sizeof(asn_DEF_NRFrequencyShift7p5khz_tags_1[0]), /* 1 */
+ asn_DEF_NRFrequencyShift7p5khz_tags_1, /* Same as above */
+ sizeof(asn_DEF_NRFrequencyShift7p5khz_tags_1)
+ /sizeof(asn_DEF_NRFrequencyShift7p5khz_tags_1[0]), /* 1 */
+ { &asn_OER_type_NRFrequencyShift7p5khz_constr_1, &asn_PER_type_NRFrequencyShift7p5khz_constr_1, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_NRFrequencyShift7p5khz_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NULL.c b/e2sm/lib/NULL.c
deleted file mode 100644
index 4a2914f..0000000
--- a/e2sm/lib/NULL.c
+++ /dev/null
@@ -1,299 +0,0 @@
-/*-
- * Copyright (c) 2003, 2005 Lev Walkin <vlm@lionet.info>. All rights reserved.
- * Redistribution and modifications are permitted subject to BSD license.
- */
-#include <asn_internal.h>
-#include <asn_codecs_prim.h>
-#include <NULL.h>
-#include <BOOLEAN.h> /* Implemented in terms of BOOLEAN type */
-
-/*
- * NULL basic type description.
- */
-static const ber_tlv_tag_t asn_DEF_NULL_tags[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (5 << 2))
-};
-asn_TYPE_operation_t asn_OP_NULL = {
- BOOLEAN_free,
- NULL_print,
- NULL_compare,
- BOOLEAN_decode_ber, /* Implemented in terms of BOOLEAN */
- NULL_encode_der, /* Special handling of DER encoding */
- NULL_decode_xer,
- NULL_encode_xer,
-#ifdef ASN_DISABLE_OER_SUPPORT
- 0,
- 0,
-#else
- NULL_decode_oer,
- NULL_encode_oer,
-#endif /* ASN_DISABLE_OER_SUPPORT */
-#ifdef ASN_DISABLE_PER_SUPPORT
- 0,
- 0,
- 0,
- 0,
-#else
- NULL_decode_uper, /* Unaligned PER decoder */
- NULL_encode_uper, /* Unaligned PER encoder */
- NULL_decode_aper, /* Aligned PER decoder */
- NULL_encode_aper, /* Aligned PER encoder */
-#endif /* ASN_DISABLE_PER_SUPPORT */
- NULL_random_fill,
- 0 /* Use generic outmost tag fetcher */
-};
-asn_TYPE_descriptor_t asn_DEF_NULL = {
- "NULL",
- "NULL",
- &asn_OP_NULL,
- asn_DEF_NULL_tags,
- sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]),
- asn_DEF_NULL_tags, /* Same as above */
- sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]),
- { 0, 0, asn_generic_no_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
-asn_enc_rval_t
-NULL_encode_der(const asn_TYPE_descriptor_t *td, const void *ptr, int tag_mode,
- ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key) {
- asn_enc_rval_t erval = {0,0,0};
-
- erval.encoded = der_write_tags(td, 0, tag_mode, 0, tag, cb, app_key);
- if(erval.encoded == -1) {
- erval.failed_type = td;
- erval.structure_ptr = ptr;
- }
-
- ASN__ENCODED_OK(erval);
-}
-
-asn_enc_rval_t
-NULL_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
- enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb,
- void *app_key) {
- asn_enc_rval_t er = {0,0,0};
-
- (void)td;
- (void)sptr;
- (void)ilevel;
- (void)flags;
- (void)cb;
- (void)app_key;
-
- /* XMLNullValue is empty */
- er.encoded = 0;
- ASN__ENCODED_OK(er);
-}
-
-
-static enum xer_pbd_rval
-NULL__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr,
- const void *chunk_buf, size_t chunk_size) {
- (void)td;
- (void)sptr;
- (void)chunk_buf; /* Going to be empty according to the rules below. */
-
- /*
- * There must be no content in self-terminating <NULL/> tag.
- */
- if(chunk_size)
- return XPBD_BROKEN_ENCODING;
- else
- return XPBD_BODY_CONSUMED;
-}
-
-asn_dec_rval_t
-NULL_decode_xer(const asn_codec_ctx_t *opt_codec_ctx,
- const asn_TYPE_descriptor_t *td, void **sptr,
- const char *opt_mname, const void *buf_ptr, size_t size) {
- return xer_decode_primitive(opt_codec_ctx, td,
- sptr, sizeof(NULL_t), opt_mname, buf_ptr, size,
- NULL__xer_body_decode);
-}
-
-int
-NULL_compare(const asn_TYPE_descriptor_t *td, const void *a, const void *b) {
- (void)td;
- (void)a;
- (void)b;
- return 0;
-}
-
-int
-NULL_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
- asn_app_consume_bytes_f *cb, void *app_key) {
- (void)td; /* Unused argument */
- (void)ilevel; /* Unused argument */
-
- if(sptr) {
- return (cb("<present>", 9, app_key) < 0) ? -1 : 0;
- } else {
- return (cb("<absent>", 8, app_key) < 0) ? -1 : 0;
- }
-}
-
-#ifndef ASN_DISABLE_OER_SUPPORT
-
-asn_dec_rval_t
-NULL_decode_oer(const asn_codec_ctx_t *opt_codec_ctx,
- const asn_TYPE_descriptor_t *td,
- const asn_oer_constraints_t *constraints, void **sptr,
- const void *ptr, size_t size) {
- asn_dec_rval_t rv = {RC_OK, 0};
- (void)opt_codec_ctx;
- (void)td;
- (void)constraints;
- (void)ptr;
- (void)size;
-
- if(!*sptr) {
- *sptr = MALLOC(sizeof(NULL_t));
- if(*sptr) {
- *(NULL_t *)*sptr = 0;
- } else {
- ASN__DECODE_FAILED;
- }
- }
-
- return rv;
-}
-
-asn_enc_rval_t
-NULL_encode_oer(const asn_TYPE_descriptor_t *td,
- const asn_oer_constraints_t *constraints, const void *sptr,
- asn_app_consume_bytes_f *cb, void *app_key) {
- asn_enc_rval_t er = {0,0,0};
-
- (void)td;
- (void)sptr;
- (void)constraints;
- (void)cb;
- (void)app_key;
-
- er.encoded = 0; /* Encoding in 0 bytes. */
-
- ASN__ENCODED_OK(er);
-}
-
-#endif /* ASN_DISABLE_OER_SUPPORT */
-
-#ifndef ASN_DISABLE_PER_SUPPORT
-
-asn_dec_rval_t
-NULL_decode_uper(const asn_codec_ctx_t *opt_codec_ctx,
- const asn_TYPE_descriptor_t *td,
- const asn_per_constraints_t *constraints, void **sptr,
- asn_per_data_t *pd) {
- asn_dec_rval_t rv;
-
- (void)opt_codec_ctx;
- (void)td;
- (void)constraints;
- (void)pd;
-
- if(!*sptr) {
- *sptr = MALLOC(sizeof(NULL_t));
- if(*sptr) {
- *(NULL_t *)*sptr = 0;
- } else {
- ASN__DECODE_FAILED;
- }
- }
-
- /*
- * NULL type does not have content octets.
- */
-
- rv.code = RC_OK;
- rv.consumed = 0;
- return rv;
-}
-
-asn_enc_rval_t
-NULL_encode_uper(const asn_TYPE_descriptor_t *td,
- const asn_per_constraints_t *constraints, const void *sptr,
- asn_per_outp_t *po) {
- asn_enc_rval_t er = {0,0,0};
-
- (void)td;
- (void)constraints;
- (void)sptr;
- (void)po;
-
- er.encoded = 0;
- ASN__ENCODED_OK(er);
-}
-
-asn_dec_rval_t
-NULL_decode_aper(const asn_codec_ctx_t *opt_codec_ctx,
- const asn_TYPE_descriptor_t *td,
- const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
- asn_dec_rval_t rv = {RC_OK, 0};
-
- (void)opt_codec_ctx;
- (void)td;
- (void)constraints;
- (void)pd;
-
- if(!*sptr) {
- *sptr = MALLOC(sizeof(NULL_t));
- if(*sptr) {
- *(NULL_t *)*sptr = 0;
- } else {
- ASN__DECODE_FAILED;
- }
- }
-
- /*
- * NULL type does not have content octets.
- */
-
- rv.code = RC_OK;
- rv.consumed = 0;
- return rv;
-}
-
-
-asn_enc_rval_t
-NULL_encode_aper(const asn_TYPE_descriptor_t *td,
- const asn_per_constraints_t *constraints,
- const void *sptr, asn_per_outp_t *po) {
- asn_enc_rval_t er = {0,0,0};
-
- (void)td;
- (void)constraints;
- (void)sptr;
- (void)po;
-
- er.encoded = 0;
- ASN__ENCODED_OK(er);
-}
-
-#endif /* ASN_DISABLE_PER_SUPPORT */
-
-asn_random_fill_result_t
-NULL_random_fill(const asn_TYPE_descriptor_t *td, void **sptr,
- const asn_encoding_constraints_t *constr,
- size_t max_length) {
- asn_random_fill_result_t result_ok = {ARFILL_OK, 1};
- asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0};
- asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0};
- NULL_t *st = *sptr;
-
- (void)td;
- (void)constr;
-
- if(max_length == 0) return result_skipped;
-
- if(st == NULL) {
- st = (NULL_t *)(*sptr = CALLOC(1, sizeof(*st)));
- if(st == NULL) {
- return result_failed;
- }
- }
-
- return result_ok;
-}
-
diff --git a/e2sm/lib/NeighborCell-Item-Choice-E-UTRA.c b/e2sm/lib/NeighborCell-Item-Choice-E-UTRA.c
new file mode 100644
index 0000000..f0f2f1e
--- /dev/null
+++ b/e2sm/lib/NeighborCell-Item-Choice-E-UTRA.c
@@ -0,0 +1,245 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NeighborCell-Item-Choice-E-UTRA.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static int
+memb_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 65535)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_x2_Xn_established_constr_6 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_x2_Xn_established_constr_6 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_hO_validated_constr_10 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_hO_validated_constr_10 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_version_constr_14 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_version_constr_14 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, 16, 1, 65535 } /* (1..65535,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_x2_Xn_established_value2enum_6[] = {
+ { 0, 4, "true" },
+ { 1, 5, "false" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_x2_Xn_established_enum2value_6[] = {
+ 1, /* false(1) */
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_x2_Xn_established_specs_6 = {
+ asn_MAP_x2_Xn_established_value2enum_6, /* "tag" => N; sorted by tag */
+ asn_MAP_x2_Xn_established_enum2value_6, /* N => "tag"; sorted by N */
+ 2, /* Number of elements in the maps */
+ 3, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_x2_Xn_established_tags_6[] = {
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_x2_Xn_established_6 = {
+ "x2-Xn-established",
+ "x2-Xn-established",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_x2_Xn_established_tags_6,
+ sizeof(asn_DEF_x2_Xn_established_tags_6)
+ /sizeof(asn_DEF_x2_Xn_established_tags_6[0]) - 1, /* 1 */
+ asn_DEF_x2_Xn_established_tags_6, /* Same as above */
+ sizeof(asn_DEF_x2_Xn_established_tags_6)
+ /sizeof(asn_DEF_x2_Xn_established_tags_6[0]), /* 2 */
+ { &asn_OER_type_x2_Xn_established_constr_6, &asn_PER_type_x2_Xn_established_constr_6, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_x2_Xn_established_specs_6 /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_hO_validated_value2enum_10[] = {
+ { 0, 4, "true" },
+ { 1, 5, "false" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_hO_validated_enum2value_10[] = {
+ 1, /* false(1) */
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_hO_validated_specs_10 = {
+ asn_MAP_hO_validated_value2enum_10, /* "tag" => N; sorted by tag */
+ asn_MAP_hO_validated_enum2value_10, /* N => "tag"; sorted by N */
+ 2, /* Number of elements in the maps */
+ 3, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_hO_validated_tags_10[] = {
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_hO_validated_10 = {
+ "hO-validated",
+ "hO-validated",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_hO_validated_tags_10,
+ sizeof(asn_DEF_hO_validated_tags_10)
+ /sizeof(asn_DEF_hO_validated_tags_10[0]) - 1, /* 1 */
+ asn_DEF_hO_validated_tags_10, /* Same as above */
+ sizeof(asn_DEF_hO_validated_tags_10)
+ /sizeof(asn_DEF_hO_validated_tags_10[0]), /* 2 */
+ { &asn_OER_type_hO_validated_constr_10, &asn_PER_type_hO_validated_constr_10, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_hO_validated_specs_10 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_NeighborCell_Item_Choice_E_UTRA_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_E_UTRA, eUTRA_CGI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EUTRA_CGI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eUTRA-CGI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_E_UTRA, eUTRA_PCI),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E_UTRA_PCI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eUTRA-PCI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_E_UTRA, eUTRA_ARFCN),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E_UTRA_ARFCN,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eUTRA-ARFCN"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_E_UTRA, eUTRA_TAC),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E_UTRA_TAC,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eUTRA-TAC"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_E_UTRA, x2_Xn_established),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_x2_Xn_established_6,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "x2-Xn-established"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_E_UTRA, hO_validated),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_hO_validated_10,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "hO-validated"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_E_UTRA, version),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_version_constr_14, &asn_PER_memb_version_constr_14, memb_version_constraint_1 },
+ 0, 0, /* No default value */
+ "version"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_NeighborCell_Item_Choice_E_UTRA_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_NeighborCell_Item_Choice_E_UTRA_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eUTRA-CGI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eUTRA-PCI */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* eUTRA-ARFCN */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* eUTRA-TAC */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* x2-Xn-established */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* hO-validated */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* version */
+};
+asn_SEQUENCE_specifics_t asn_SPC_NeighborCell_Item_Choice_E_UTRA_specs_1 = {
+ sizeof(struct NeighborCell_Item_Choice_E_UTRA),
+ offsetof(struct NeighborCell_Item_Choice_E_UTRA, _asn_ctx),
+ asn_MAP_NeighborCell_Item_Choice_E_UTRA_tag2el_1,
+ 7, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 7, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_NeighborCell_Item_Choice_E_UTRA = {
+ "NeighborCell-Item-Choice-E-UTRA",
+ "NeighborCell-Item-Choice-E-UTRA",
+ &asn_OP_SEQUENCE,
+ asn_DEF_NeighborCell_Item_Choice_E_UTRA_tags_1,
+ sizeof(asn_DEF_NeighborCell_Item_Choice_E_UTRA_tags_1)
+ /sizeof(asn_DEF_NeighborCell_Item_Choice_E_UTRA_tags_1[0]), /* 1 */
+ asn_DEF_NeighborCell_Item_Choice_E_UTRA_tags_1, /* Same as above */
+ sizeof(asn_DEF_NeighborCell_Item_Choice_E_UTRA_tags_1)
+ /sizeof(asn_DEF_NeighborCell_Item_Choice_E_UTRA_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_NeighborCell_Item_Choice_E_UTRA_1,
+ 7, /* Elements count */
+ &asn_SPC_NeighborCell_Item_Choice_E_UTRA_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NeighborCell-Item-Choice-NR.c b/e2sm/lib/NeighborCell-Item-Choice-NR.c
new file mode 100644
index 0000000..3ed4da7
--- /dev/null
+++ b/e2sm/lib/NeighborCell-Item-Choice-NR.c
@@ -0,0 +1,306 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NeighborCell-Item-Choice-NR.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static int
+memb_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 65535)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_nR_mode_info_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_nR_mode_info_constr_5 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_x2_Xn_established_constr_10 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_x2_Xn_established_constr_10 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_hO_validated_constr_14 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_hO_validated_constr_14 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_version_constr_18 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_version_constr_18 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, 16, 1, 65535 } /* (1..65535,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_nR_mode_info_value2enum_5[] = {
+ { 0, 3, "fdd" },
+ { 1, 3, "tdd" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_nR_mode_info_enum2value_5[] = {
+ 0, /* fdd(0) */
+ 1 /* tdd(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_nR_mode_info_specs_5 = {
+ asn_MAP_nR_mode_info_value2enum_5, /* "tag" => N; sorted by tag */
+ asn_MAP_nR_mode_info_enum2value_5, /* N => "tag"; sorted by N */
+ 2, /* Number of elements in the maps */
+ 3, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_nR_mode_info_tags_5[] = {
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_nR_mode_info_5 = {
+ "nR-mode-info",
+ "nR-mode-info",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_nR_mode_info_tags_5,
+ sizeof(asn_DEF_nR_mode_info_tags_5)
+ /sizeof(asn_DEF_nR_mode_info_tags_5[0]) - 1, /* 1 */
+ asn_DEF_nR_mode_info_tags_5, /* Same as above */
+ sizeof(asn_DEF_nR_mode_info_tags_5)
+ /sizeof(asn_DEF_nR_mode_info_tags_5[0]), /* 2 */
+ { &asn_OER_type_nR_mode_info_constr_5, &asn_PER_type_nR_mode_info_constr_5, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_nR_mode_info_specs_5 /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_x2_Xn_established_value2enum_10[] = {
+ { 0, 4, "true" },
+ { 1, 5, "false" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_x2_Xn_established_enum2value_10[] = {
+ 1, /* false(1) */
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_x2_Xn_established_specs_10 = {
+ asn_MAP_x2_Xn_established_value2enum_10, /* "tag" => N; sorted by tag */
+ asn_MAP_x2_Xn_established_enum2value_10, /* N => "tag"; sorted by N */
+ 2, /* Number of elements in the maps */
+ 3, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_x2_Xn_established_tags_10[] = {
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_x2_Xn_established_10 = {
+ "x2-Xn-established",
+ "x2-Xn-established",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_x2_Xn_established_tags_10,
+ sizeof(asn_DEF_x2_Xn_established_tags_10)
+ /sizeof(asn_DEF_x2_Xn_established_tags_10[0]) - 1, /* 1 */
+ asn_DEF_x2_Xn_established_tags_10, /* Same as above */
+ sizeof(asn_DEF_x2_Xn_established_tags_10)
+ /sizeof(asn_DEF_x2_Xn_established_tags_10[0]), /* 2 */
+ { &asn_OER_type_x2_Xn_established_constr_10, &asn_PER_type_x2_Xn_established_constr_10, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_x2_Xn_established_specs_10 /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_hO_validated_value2enum_14[] = {
+ { 0, 4, "true" },
+ { 1, 5, "false" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_hO_validated_enum2value_14[] = {
+ 1, /* false(1) */
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_hO_validated_specs_14 = {
+ asn_MAP_hO_validated_value2enum_14, /* "tag" => N; sorted by tag */
+ asn_MAP_hO_validated_enum2value_14, /* N => "tag"; sorted by N */
+ 2, /* Number of elements in the maps */
+ 3, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_hO_validated_tags_14[] = {
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_hO_validated_14 = {
+ "hO-validated",
+ "hO-validated",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_hO_validated_tags_14,
+ sizeof(asn_DEF_hO_validated_tags_14)
+ /sizeof(asn_DEF_hO_validated_tags_14[0]) - 1, /* 1 */
+ asn_DEF_hO_validated_tags_14, /* Same as above */
+ sizeof(asn_DEF_hO_validated_tags_14)
+ /sizeof(asn_DEF_hO_validated_tags_14[0]), /* 2 */
+ { &asn_OER_type_hO_validated_constr_14, &asn_PER_type_hO_validated_constr_14, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_hO_validated_specs_14 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_NeighborCell_Item_Choice_NR_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, nR_CGI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NR_CGI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nR-CGI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, nR_PCI),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NR_PCI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nR-PCI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, fiveGS_TAC),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_FiveGS_TAC,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "fiveGS-TAC"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, nR_mode_info),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_nR_mode_info_5,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nR-mode-info"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, nR_ARFCN),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NR_ARFCN,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nR-ARFCN"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, x2_Xn_established),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_x2_Xn_established_10,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "x2-Xn-established"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, hO_validated),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_hO_validated_14,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "hO-validated"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, version),
+ (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_version_constr_18, &asn_PER_memb_version_constr_18, memb_version_constraint_1 },
+ 0, 0, /* No default value */
+ "version"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_NeighborCell_Item_Choice_NR_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_NeighborCell_Item_Choice_NR_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nR-CGI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nR-PCI */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* fiveGS-TAC */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* nR-mode-info */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* nR-ARFCN */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* x2-Xn-established */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* hO-validated */
+ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* version */
+};
+asn_SEQUENCE_specifics_t asn_SPC_NeighborCell_Item_Choice_NR_specs_1 = {
+ sizeof(struct NeighborCell_Item_Choice_NR),
+ offsetof(struct NeighborCell_Item_Choice_NR, _asn_ctx),
+ asn_MAP_NeighborCell_Item_Choice_NR_tag2el_1,
+ 8, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 8, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_NeighborCell_Item_Choice_NR = {
+ "NeighborCell-Item-Choice-NR",
+ "NeighborCell-Item-Choice-NR",
+ &asn_OP_SEQUENCE,
+ asn_DEF_NeighborCell_Item_Choice_NR_tags_1,
+ sizeof(asn_DEF_NeighborCell_Item_Choice_NR_tags_1)
+ /sizeof(asn_DEF_NeighborCell_Item_Choice_NR_tags_1[0]), /* 1 */
+ asn_DEF_NeighborCell_Item_Choice_NR_tags_1, /* Same as above */
+ sizeof(asn_DEF_NeighborCell_Item_Choice_NR_tags_1)
+ /sizeof(asn_DEF_NeighborCell_Item_Choice_NR_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_NeighborCell_Item_Choice_NR_1,
+ 8, /* Elements count */
+ &asn_SPC_NeighborCell_Item_Choice_NR_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NeighborCell-Item.c b/e2sm/lib/NeighborCell-Item.c
new file mode 100644
index 0000000..b68fcd5
--- /dev/null
+++ b/e2sm/lib/NeighborCell-Item.c
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NeighborCell-Item.h"
+
+#include "NeighborCell-Item-Choice-NR.h"
+#include "NeighborCell-Item-Choice-E-UTRA.h"
+static asn_oer_constraints_t asn_OER_type_NeighborCell_Item_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_NeighborCell_Item_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_NeighborCell_Item_1[] = {
+ { ATF_POINTER, 0, offsetof(struct NeighborCell_Item, choice.ranType_Choice_NR),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NeighborCell_Item_Choice_NR,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranType-Choice-NR"
+ },
+ { ATF_POINTER, 0, offsetof(struct NeighborCell_Item, choice.ranType_Choice_EUTRA),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NeighborCell_Item_Choice_E_UTRA,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranType-Choice-EUTRA"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_NeighborCell_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranType-Choice-NR */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranType-Choice-EUTRA */
+};
+asn_CHOICE_specifics_t asn_SPC_NeighborCell_Item_specs_1 = {
+ sizeof(struct NeighborCell_Item),
+ offsetof(struct NeighborCell_Item, _asn_ctx),
+ offsetof(struct NeighborCell_Item, present),
+ sizeof(((struct NeighborCell_Item *)0)->present),
+ asn_MAP_NeighborCell_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_NeighborCell_Item = {
+ "NeighborCell-Item",
+ "NeighborCell-Item",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_NeighborCell_Item_constr_1, &asn_PER_type_NeighborCell_Item_constr_1, CHOICE_constraint },
+ asn_MBR_NeighborCell_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_NeighborCell_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NeighborCell-List.c b/e2sm/lib/NeighborCell-List.c
new file mode 100644
index 0000000..5acf37c
--- /dev/null
+++ b/e2sm/lib/NeighborCell-List.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NeighborCell-List.h"
+
+#include "NeighborCell-Item.h"
+static asn_oer_constraints_t asn_OER_type_NeighborCell_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+asn_per_constraints_t asn_PER_type_NeighborCell_List_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_NeighborCell_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_NeighborCell_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_NeighborCell_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_NeighborCell_List_specs_1 = {
+ sizeof(struct NeighborCell_List),
+ offsetof(struct NeighborCell_List, _asn_ctx),
+ 2, /* XER encoding is XMLValueList */
+};
+asn_TYPE_descriptor_t asn_DEF_NeighborCell_List = {
+ "NeighborCell-List",
+ "NeighborCell-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_NeighborCell_List_tags_1,
+ sizeof(asn_DEF_NeighborCell_List_tags_1)
+ /sizeof(asn_DEF_NeighborCell_List_tags_1[0]), /* 1 */
+ asn_DEF_NeighborCell_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_NeighborCell_List_tags_1)
+ /sizeof(asn_DEF_NeighborCell_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_NeighborCell_List_constr_1, &asn_PER_type_NeighborCell_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_NeighborCell_List_1,
+ 1, /* Single element */
+ &asn_SPC_NeighborCell_List_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NeighborRelation-Info.c b/e2sm/lib/NeighborRelation-Info.c
new file mode 100644
index 0000000..4de6ca1
--- /dev/null
+++ b/e2sm/lib/NeighborRelation-Info.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NeighborRelation-Info.h"
+
+asn_TYPE_member_t asn_MBR_NeighborRelation_Info_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborRelation_Info, servingCellPCI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ServingCell_PCI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "servingCellPCI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborRelation_Info, servingCellARFCN),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ServingCell_ARFCN,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "servingCellARFCN"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NeighborRelation_Info, neighborCell_List),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NeighborCell_List,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "neighborCell-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_NeighborRelation_Info_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_NeighborRelation_Info_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* servingCellPCI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* servingCellARFCN */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* neighborCell-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_NeighborRelation_Info_specs_1 = {
+ sizeof(struct NeighborRelation_Info),
+ offsetof(struct NeighborRelation_Info, _asn_ctx),
+ asn_MAP_NeighborRelation_Info_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_NeighborRelation_Info = {
+ "NeighborRelation-Info",
+ "NeighborRelation-Info",
+ &asn_OP_SEQUENCE,
+ asn_DEF_NeighborRelation_Info_tags_1,
+ sizeof(asn_DEF_NeighborRelation_Info_tags_1)
+ /sizeof(asn_DEF_NeighborRelation_Info_tags_1[0]), /* 1 */
+ asn_DEF_NeighborRelation_Info_tags_1, /* Same as above */
+ sizeof(asn_DEF_NeighborRelation_Info_tags_1)
+ /sizeof(asn_DEF_NeighborRelation_Info_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_NeighborRelation_Info_1,
+ 3, /* Elements count */
+ &asn_SPC_NeighborRelation_Info_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NgENB-ID.c b/e2sm/lib/NgENB-ID.c
new file mode 100644
index 0000000..31ee4ac
--- /dev/null
+++ b/e2sm/lib/NgENB-ID.c
@@ -0,0 +1,192 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NgENB-ID.h"
+
+static int
+memb_macroNgENB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if(st->size > 0) {
+ /* Size in bits */
+ size = 8 * st->size - (st->bits_unused & 0x07);
+ } else {
+ size = 0;
+ }
+
+ if((size == 20)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_shortMacroNgENB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if(st->size > 0) {
+ /* Size in bits */
+ size = 8 * st->size - (st->bits_unused & 0x07);
+ } else {
+ size = 0;
+ }
+
+ if((size == 18)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_longMacroNgENB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if(st->size > 0) {
+ /* Size in bits */
+ size = 8 * st->size - (st->bits_unused & 0x07);
+ } else {
+ size = 0;
+ }
+
+ if((size == 21)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_memb_macroNgENB_ID_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ 20 /* (SIZE(20..20)) */};
+static asn_per_constraints_t asn_PER_memb_macroNgENB_ID_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 20, 20 } /* (SIZE(20..20)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_shortMacroNgENB_ID_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ 18 /* (SIZE(18..18)) */};
+static asn_per_constraints_t asn_PER_memb_shortMacroNgENB_ID_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 18, 18 } /* (SIZE(18..18)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_longMacroNgENB_ID_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ 21 /* (SIZE(21..21)) */};
+static asn_per_constraints_t asn_PER_memb_longMacroNgENB_ID_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 21, 21 } /* (SIZE(21..21)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_NgENB_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_NgENB_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_NgENB_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct NgENB_ID, choice.macroNgENB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ 0,
+ { &asn_OER_memb_macroNgENB_ID_constr_2, &asn_PER_memb_macroNgENB_ID_constr_2, memb_macroNgENB_ID_constraint_1 },
+ 0, 0, /* No default value */
+ "macroNgENB-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NgENB_ID, choice.shortMacroNgENB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ 0,
+ { &asn_OER_memb_shortMacroNgENB_ID_constr_3, &asn_PER_memb_shortMacroNgENB_ID_constr_3, memb_shortMacroNgENB_ID_constraint_1 },
+ 0, 0, /* No default value */
+ "shortMacroNgENB-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct NgENB_ID, choice.longMacroNgENB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ 0,
+ { &asn_OER_memb_longMacroNgENB_ID_constr_4, &asn_PER_memb_longMacroNgENB_ID_constr_4, memb_longMacroNgENB_ID_constraint_1 },
+ 0, 0, /* No default value */
+ "longMacroNgENB-ID"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_NgENB_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* macroNgENB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* shortMacroNgENB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* longMacroNgENB-ID */
+};
+asn_CHOICE_specifics_t asn_SPC_NgENB_ID_specs_1 = {
+ sizeof(struct NgENB_ID),
+ offsetof(struct NgENB_ID, _asn_ctx),
+ offsetof(struct NgENB_ID, present),
+ sizeof(((struct NgENB_ID *)0)->present),
+ asn_MAP_NgENB_ID_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0,
+ 3 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_NgENB_ID = {
+ "NgENB-ID",
+ "NgENB-ID",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_NgENB_ID_constr_1, &asn_PER_type_NgENB_ID_constr_1, CHOICE_constraint },
+ asn_MBR_NgENB_ID_1,
+ 3, /* Elements count */
+ &asn_SPC_NgENB_ID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/OCUCP-PF-Container.c b/e2sm/lib/OCUCP-PF-Container.c
deleted file mode 100644
index 8788478..0000000
--- a/e2sm/lib/OCUCP-PF-Container.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "OCUCP-PF-Container.h"
-
-static int
-memb_numberOfActive_UEs_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 1 && value <= 65535)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_memb_numberOfActive_UEs_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_numberOfActive_UEs_constr_3 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 16, 16, 1, 65535 } /* (1..65535,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_cu_CP_Resource_Status_2[] = {
- { ATF_POINTER, 1, offsetof(struct OCUCP_PF_Container__cu_CP_Resource_Status, numberOfActive_UEs),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_NativeInteger,
- 0,
- { &asn_OER_memb_numberOfActive_UEs_constr_3, &asn_PER_memb_numberOfActive_UEs_constr_3, memb_numberOfActive_UEs_constraint_2 },
- 0, 0, /* No default value */
- "numberOfActive-UEs"
- },
-};
-static const int asn_MAP_cu_CP_Resource_Status_oms_2[] = { 0 };
-static const ber_tlv_tag_t asn_DEF_cu_CP_Resource_Status_tags_2[] = {
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_cu_CP_Resource_Status_tag2el_2[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* numberOfActive-UEs */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_cu_CP_Resource_Status_specs_2 = {
- sizeof(struct OCUCP_PF_Container__cu_CP_Resource_Status),
- offsetof(struct OCUCP_PF_Container__cu_CP_Resource_Status, _asn_ctx),
- asn_MAP_cu_CP_Resource_Status_tag2el_2,
- 1, /* Count of tags in the map */
- asn_MAP_cu_CP_Resource_Status_oms_2, /* Optional members */
- 1, 0, /* Root/Additions */
- -1, /* First extension addition */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_cu_CP_Resource_Status_2 = {
- "cu-CP-Resource-Status",
- "cu-CP-Resource-Status",
- &asn_OP_SEQUENCE,
- asn_DEF_cu_CP_Resource_Status_tags_2,
- sizeof(asn_DEF_cu_CP_Resource_Status_tags_2)
- /sizeof(asn_DEF_cu_CP_Resource_Status_tags_2[0]) - 1, /* 1 */
- asn_DEF_cu_CP_Resource_Status_tags_2, /* Same as above */
- sizeof(asn_DEF_cu_CP_Resource_Status_tags_2)
- /sizeof(asn_DEF_cu_CP_Resource_Status_tags_2[0]), /* 2 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_cu_CP_Resource_Status_2,
- 1, /* Elements count */
- &asn_SPC_cu_CP_Resource_Status_specs_2 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_OCUCP_PF_Container_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct OCUCP_PF_Container, cu_CP_Resource_Status),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- 0,
- &asn_DEF_cu_CP_Resource_Status_2,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "cu-CP-Resource-Status"
- },
-};
-static const ber_tlv_tag_t asn_DEF_OCUCP_PF_Container_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_OCUCP_PF_Container_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cu-CP-Resource-Status */
-};
-asn_SEQUENCE_specifics_t asn_SPC_OCUCP_PF_Container_specs_1 = {
- sizeof(struct OCUCP_PF_Container),
- offsetof(struct OCUCP_PF_Container, _asn_ctx),
- asn_MAP_OCUCP_PF_Container_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- -1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_OCUCP_PF_Container = {
- "OCUCP-PF-Container",
- "OCUCP-PF-Container",
- &asn_OP_SEQUENCE,
- asn_DEF_OCUCP_PF_Container_tags_1,
- sizeof(asn_DEF_OCUCP_PF_Container_tags_1)
- /sizeof(asn_DEF_OCUCP_PF_Container_tags_1[0]), /* 1 */
- asn_DEF_OCUCP_PF_Container_tags_1, /* Same as above */
- sizeof(asn_DEF_OCUCP_PF_Container_tags_1)
- /sizeof(asn_DEF_OCUCP_PF_Container_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_OCUCP_PF_Container_1,
- 1, /* Elements count */
- &asn_SPC_OCUCP_PF_Container_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/OCUUP-PF-Container.c b/e2sm/lib/OCUUP-PF-Container.c
deleted file mode 100644
index 8ccc575..0000000
--- a/e2sm/lib/OCUUP-PF-Container.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "OCUUP-PF-Container.h"
-
-#include "PF-ContainerListItem.h"
-static int
-memb_pf_ContainerList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 3)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_pf_ContainerList_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..3)) */};
-static asn_per_constraints_t asn_PER_type_pf_ContainerList_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 2, 2, 1, 3 } /* (SIZE(1..3)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_pf_ContainerList_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..3)) */};
-static asn_per_constraints_t asn_PER_memb_pf_ContainerList_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 2, 2, 1, 3 } /* (SIZE(1..3)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_pf_ContainerList_2[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_PF_ContainerListItem,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_pf_ContainerList_tags_2[] = {
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_pf_ContainerList_specs_2 = {
- sizeof(struct OCUUP_PF_Container__pf_ContainerList),
- offsetof(struct OCUUP_PF_Container__pf_ContainerList, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_pf_ContainerList_2 = {
- "pf-ContainerList",
- "pf-ContainerList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_pf_ContainerList_tags_2,
- sizeof(asn_DEF_pf_ContainerList_tags_2)
- /sizeof(asn_DEF_pf_ContainerList_tags_2[0]) - 1, /* 1 */
- asn_DEF_pf_ContainerList_tags_2, /* Same as above */
- sizeof(asn_DEF_pf_ContainerList_tags_2)
- /sizeof(asn_DEF_pf_ContainerList_tags_2[0]), /* 2 */
- { &asn_OER_type_pf_ContainerList_constr_2, &asn_PER_type_pf_ContainerList_constr_2, SEQUENCE_OF_constraint },
- asn_MBR_pf_ContainerList_2,
- 1, /* Single element */
- &asn_SPC_pf_ContainerList_specs_2 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_OCUUP_PF_Container_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct OCUUP_PF_Container, pf_ContainerList),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- 0,
- &asn_DEF_pf_ContainerList_2,
- 0,
- { &asn_OER_memb_pf_ContainerList_constr_2, &asn_PER_memb_pf_ContainerList_constr_2, memb_pf_ContainerList_constraint_1 },
- 0, 0, /* No default value */
- "pf-ContainerList"
- },
-};
-static const ber_tlv_tag_t asn_DEF_OCUUP_PF_Container_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_OCUUP_PF_Container_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* pf-ContainerList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_OCUUP_PF_Container_specs_1 = {
- sizeof(struct OCUUP_PF_Container),
- offsetof(struct OCUUP_PF_Container, _asn_ctx),
- asn_MAP_OCUUP_PF_Container_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_OCUUP_PF_Container = {
- "OCUUP-PF-Container",
- "OCUUP-PF-Container",
- &asn_OP_SEQUENCE,
- asn_DEF_OCUUP_PF_Container_tags_1,
- sizeof(asn_DEF_OCUUP_PF_Container_tags_1)
- /sizeof(asn_DEF_OCUUP_PF_Container_tags_1[0]), /* 1 */
- asn_DEF_OCUUP_PF_Container_tags_1, /* Same as above */
- sizeof(asn_DEF_OCUUP_PF_Container_tags_1)
- /sizeof(asn_DEF_OCUUP_PF_Container_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_OCUUP_PF_Container_1,
- 1, /* Elements count */
- &asn_SPC_OCUUP_PF_Container_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/ODU-PF-Container.c b/e2sm/lib/ODU-PF-Container.c
deleted file mode 100644
index 4aeaa6c..0000000
--- a/e2sm/lib/ODU-PF-Container.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ODU-PF-Container.h"
-
-#include "CellResourceReportListItem.h"
-static int
-memb_cellResourceReportList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 512)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_cellResourceReportList_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..512)) */};
-static asn_per_constraints_t asn_PER_type_cellResourceReportList_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 9, 9, 1, 512 } /* (SIZE(1..512)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_cellResourceReportList_constr_2 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..512)) */};
-static asn_per_constraints_t asn_PER_memb_cellResourceReportList_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 9, 9, 1, 512 } /* (SIZE(1..512)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_cellResourceReportList_2[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_CellResourceReportListItem,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_cellResourceReportList_tags_2[] = {
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_cellResourceReportList_specs_2 = {
- sizeof(struct ODU_PF_Container__cellResourceReportList),
- offsetof(struct ODU_PF_Container__cellResourceReportList, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_cellResourceReportList_2 = {
- "cellResourceReportList",
- "cellResourceReportList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_cellResourceReportList_tags_2,
- sizeof(asn_DEF_cellResourceReportList_tags_2)
- /sizeof(asn_DEF_cellResourceReportList_tags_2[0]) - 1, /* 1 */
- asn_DEF_cellResourceReportList_tags_2, /* Same as above */
- sizeof(asn_DEF_cellResourceReportList_tags_2)
- /sizeof(asn_DEF_cellResourceReportList_tags_2[0]), /* 2 */
- { &asn_OER_type_cellResourceReportList_constr_2, &asn_PER_type_cellResourceReportList_constr_2, SEQUENCE_OF_constraint },
- asn_MBR_cellResourceReportList_2,
- 1, /* Single element */
- &asn_SPC_cellResourceReportList_specs_2 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ODU_PF_Container_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct ODU_PF_Container, cellResourceReportList),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- 0,
- &asn_DEF_cellResourceReportList_2,
- 0,
- { &asn_OER_memb_cellResourceReportList_constr_2, &asn_PER_memb_cellResourceReportList_constr_2, memb_cellResourceReportList_constraint_1 },
- 0, 0, /* No default value */
- "cellResourceReportList"
- },
-};
-static const ber_tlv_tag_t asn_DEF_ODU_PF_Container_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_ODU_PF_Container_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cellResourceReportList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_ODU_PF_Container_specs_1 = {
- sizeof(struct ODU_PF_Container),
- offsetof(struct ODU_PF_Container, _asn_ctx),
- asn_MAP_ODU_PF_Container_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_ODU_PF_Container = {
- "ODU-PF-Container",
- "ODU-PF-Container",
- &asn_OP_SEQUENCE,
- asn_DEF_ODU_PF_Container_tags_1,
- sizeof(asn_DEF_ODU_PF_Container_tags_1)
- /sizeof(asn_DEF_ODU_PF_Container_tags_1[0]), /* 1 */
- asn_DEF_ODU_PF_Container_tags_1, /* Same as above */
- sizeof(asn_DEF_ODU_PF_Container_tags_1)
- /sizeof(asn_DEF_ODU_PF_Container_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_ODU_PF_Container_1,
- 1, /* Elements count */
- &asn_SPC_ODU_PF_Container_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/PF-Container.c b/e2sm/lib/PF-Container.c
deleted file mode 100644
index c4034f8..0000000
--- a/e2sm/lib/PF-Container.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PF-Container.h"
-
-#include "ODU-PF-Container.h"
-#include "OCUCP-PF-Container.h"
-#include "OCUUP-PF-Container.h"
-static asn_oer_constraints_t asn_OER_type_PF_Container_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-asn_per_constraints_t asn_PER_type_PF_Container_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_PF_Container_1[] = {
- { ATF_POINTER, 0, offsetof(struct PF_Container, choice.oDU),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_ODU_PF_Container,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "oDU"
- },
- { ATF_POINTER, 0, offsetof(struct PF_Container, choice.oCU_CP),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_OCUCP_PF_Container,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "oCU-CP"
- },
- { ATF_POINTER, 0, offsetof(struct PF_Container, choice.oCU_UP),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_OCUUP_PF_Container,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "oCU-UP"
- },
-};
-static const asn_TYPE_tag2member_t asn_MAP_PF_Container_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* oDU */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* oCU-CP */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* oCU-UP */
-};
-asn_CHOICE_specifics_t asn_SPC_PF_Container_specs_1 = {
- sizeof(struct PF_Container),
- offsetof(struct PF_Container, _asn_ctx),
- offsetof(struct PF_Container, present),
- sizeof(((struct PF_Container *)0)->present),
- asn_MAP_PF_Container_tag2el_1,
- 3, /* Count of tags in the map */
- 0, 0,
- -1 /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_PF_Container = {
- "PF-Container",
- "PF-Container",
- &asn_OP_CHOICE,
- 0, /* No effective tags (pointer) */
- 0, /* No effective tags (count) */
- 0, /* No tags (pointer) */
- 0, /* No tags (count) */
- { &asn_OER_type_PF_Container_constr_1, &asn_PER_type_PF_Container_constr_1, CHOICE_constraint },
- asn_MBR_PF_Container_1,
- 3, /* Elements count */
- &asn_SPC_PF_Container_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/PF-ContainerListItem.c b/e2sm/lib/PF-ContainerListItem.c
deleted file mode 100644
index 112175c..0000000
--- a/e2sm/lib/PF-ContainerListItem.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PF-ContainerListItem.h"
-
-asn_TYPE_member_t asn_MBR_PF_ContainerListItem_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct PF_ContainerListItem, interface_type),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_NI_Type,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "interface-type"
- },
- { ATF_NOFLAGS, 0, offsetof(struct PF_ContainerListItem, o_CU_UP_PM_Container),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_CUUPMeasurement_Container,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "o-CU-UP-PM-Container"
- },
-};
-static const ber_tlv_tag_t asn_DEF_PF_ContainerListItem_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_PF_ContainerListItem_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* interface-type */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* o-CU-UP-PM-Container */
-};
-asn_SEQUENCE_specifics_t asn_SPC_PF_ContainerListItem_specs_1 = {
- sizeof(struct PF_ContainerListItem),
- offsetof(struct PF_ContainerListItem, _asn_ctx),
- asn_MAP_PF_ContainerListItem_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_PF_ContainerListItem = {
- "PF-ContainerListItem",
- "PF-ContainerListItem",
- &asn_OP_SEQUENCE,
- asn_DEF_PF_ContainerListItem_tags_1,
- sizeof(asn_DEF_PF_ContainerListItem_tags_1)
- /sizeof(asn_DEF_PF_ContainerListItem_tags_1[0]), /* 1 */
- asn_DEF_PF_ContainerListItem_tags_1, /* Same as above */
- sizeof(asn_DEF_PF_ContainerListItem_tags_1)
- /sizeof(asn_DEF_PF_ContainerListItem_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_PF_ContainerListItem_1,
- 2, /* Elements count */
- &asn_SPC_PF_ContainerListItem_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/PLMN-Identity.c b/e2sm/lib/PLMN-Identity.c
deleted file mode 100644
index 023b1f7..0000000
--- a/e2sm/lib/PLMN-Identity.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PLMN-Identity.h"
-
-int
-PLMN_Identity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- size = st->size;
-
- if((size == 3)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using OCTET_STRING,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_PLMN_Identity_constr_1 CC_NOTUSED = {
- { 0, 0 },
- 3 /* (SIZE(3..3)) */};
-asn_per_constraints_t asn_PER_type_PLMN_Identity_constr_1 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 0, 0, 3, 3 } /* (SIZE(3..3)) */,
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_PLMN_Identity_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_PLMN_Identity = {
- "PLMN-Identity",
- "PLMN-Identity",
- &asn_OP_OCTET_STRING,
- asn_DEF_PLMN_Identity_tags_1,
- sizeof(asn_DEF_PLMN_Identity_tags_1)
- /sizeof(asn_DEF_PLMN_Identity_tags_1[0]), /* 1 */
- asn_DEF_PLMN_Identity_tags_1, /* Same as above */
- sizeof(asn_DEF_PLMN_Identity_tags_1)
- /sizeof(asn_DEF_PLMN_Identity_tags_1[0]), /* 1 */
- { &asn_OER_type_PLMN_Identity_constr_1, &asn_PER_type_PLMN_Identity_constr_1, PLMN_Identity_constraint },
- 0, 0, /* No members */
- &asn_SPC_OCTET_STRING_specs /* Additional specs */
-};
-
diff --git a/e2sm/lib/PLMNIdentity.c b/e2sm/lib/PLMNIdentity.c
new file mode 100644
index 0000000..d713421
--- /dev/null
+++ b/e2sm/lib/PLMNIdentity.c
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "PLMNIdentity.h"
+
+int
+PLMNIdentity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size == 3)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_PLMNIdentity_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 3 /* (SIZE(3..3)) */};
+asn_per_constraints_t asn_PER_type_PLMNIdentity_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 3, 3 } /* (SIZE(3..3)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_PLMNIdentity_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_PLMNIdentity = {
+ "PLMNIdentity",
+ "PLMNIdentity",
+ &asn_OP_OCTET_STRING,
+ asn_DEF_PLMNIdentity_tags_1,
+ sizeof(asn_DEF_PLMNIdentity_tags_1)
+ /sizeof(asn_DEF_PLMNIdentity_tags_1[0]), /* 1 */
+ asn_DEF_PLMNIdentity_tags_1, /* Same as above */
+ sizeof(asn_DEF_PLMNIdentity_tags_1)
+ /sizeof(asn_DEF_PLMNIdentity_tags_1[0]), /* 1 */
+ { &asn_OER_type_PLMNIdentity_constr_1, &asn_PER_type_PLMNIdentity_constr_1, PLMNIdentity_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_OCTET_STRING_specs /* Additional specs */
+};
+
diff --git a/e2sm/lib/PM-Containers-Item.c b/e2sm/lib/PM-Containers-Item.c
deleted file mode 100644
index 2116f5a..0000000
--- a/e2sm/lib/PM-Containers-Item.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PM-Containers-Item.h"
-
-#include "PF-Container.h"
-asn_TYPE_member_t asn_MBR_PM_Containers_Item_1[] = {
- { ATF_POINTER, 2, offsetof(struct PM_Containers_Item, performanceContainer),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- +1, /* EXPLICIT tag at current level */
- &asn_DEF_PF_Container,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "performanceContainer"
- },
- { ATF_POINTER, 1, offsetof(struct PM_Containers_Item, theRANContainer),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RAN_Container,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "theRANContainer"
- },
-};
-static const int asn_MAP_PM_Containers_Item_oms_1[] = { 0, 1 };
-static const ber_tlv_tag_t asn_DEF_PM_Containers_Item_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_PM_Containers_Item_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* performanceContainer */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* theRANContainer */
-};
-asn_SEQUENCE_specifics_t asn_SPC_PM_Containers_Item_specs_1 = {
- sizeof(struct PM_Containers_Item),
- offsetof(struct PM_Containers_Item, _asn_ctx),
- asn_MAP_PM_Containers_Item_tag2el_1,
- 2, /* Count of tags in the map */
- asn_MAP_PM_Containers_Item_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_PM_Containers_Item = {
- "PM-Containers-Item",
- "PM-Containers-Item",
- &asn_OP_SEQUENCE,
- asn_DEF_PM_Containers_Item_tags_1,
- sizeof(asn_DEF_PM_Containers_Item_tags_1)
- /sizeof(asn_DEF_PM_Containers_Item_tags_1[0]), /* 1 */
- asn_DEF_PM_Containers_Item_tags_1, /* Same as above */
- sizeof(asn_DEF_PM_Containers_Item_tags_1)
- /sizeof(asn_DEF_PM_Containers_Item_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_PM_Containers_Item_1,
- 2, /* Elements count */
- &asn_SPC_PM_Containers_Item_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/PM-Info-Item.c b/e2sm/lib/PM-Info-Item.c
deleted file mode 100644
index e469eb6..0000000
--- a/e2sm/lib/PM-Info-Item.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PM-Info-Item.h"
-
-asn_TYPE_member_t asn_MBR_PM_Info_Item_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct PM_Info_Item, pmType),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- +1, /* EXPLICIT tag at current level */
- &asn_DEF_MeasurementType,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "pmType"
- },
- { ATF_NOFLAGS, 0, offsetof(struct PM_Info_Item, pmVal),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- +1, /* EXPLICIT tag at current level */
- &asn_DEF_MeasurementValue,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "pmVal"
- },
-};
-static const ber_tlv_tag_t asn_DEF_PM_Info_Item_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_PM_Info_Item_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pmType */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* pmVal */
-};
-asn_SEQUENCE_specifics_t asn_SPC_PM_Info_Item_specs_1 = {
- sizeof(struct PM_Info_Item),
- offsetof(struct PM_Info_Item, _asn_ctx),
- asn_MAP_PM_Info_Item_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_PM_Info_Item = {
- "PM-Info-Item",
- "PM-Info-Item",
- &asn_OP_SEQUENCE,
- asn_DEF_PM_Info_Item_tags_1,
- sizeof(asn_DEF_PM_Info_Item_tags_1)
- /sizeof(asn_DEF_PM_Info_Item_tags_1[0]), /* 1 */
- asn_DEF_PM_Info_Item_tags_1, /* Same as above */
- sizeof(asn_DEF_PM_Info_Item_tags_1)
- /sizeof(asn_DEF_PM_Info_Item_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_PM_Info_Item_1,
- 2, /* Elements count */
- &asn_SPC_PM_Info_Item_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/PerQCIReportListItem.c b/e2sm/lib/PerQCIReportListItem.c
deleted file mode 100644
index 45935bd..0000000
--- a/e2sm/lib/PerQCIReportListItem.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PerQCIReportListItem.h"
-
-static int
-memb_dl_PRBUsage_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 100)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int
-memb_ul_PRBUsage_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 100)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_memb_dl_PRBUsage_constr_3 CC_NOTUSED = {
- { 1, 1 } /* (0..100) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_dl_PRBUsage_constr_3 CC_NOTUSED = {
- { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ul_PRBUsage_constr_4 CC_NOTUSED = {
- { 1, 1 } /* (0..100) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_ul_PRBUsage_constr_4 CC_NOTUSED = {
- { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_PerQCIReportListItem_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct PerQCIReportListItem, qci),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_QCI,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "qci"
- },
- { ATF_POINTER, 2, offsetof(struct PerQCIReportListItem, dl_PRBUsage),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_NativeInteger,
- 0,
- { &asn_OER_memb_dl_PRBUsage_constr_3, &asn_PER_memb_dl_PRBUsage_constr_3, memb_dl_PRBUsage_constraint_1 },
- 0, 0, /* No default value */
- "dl-PRBUsage"
- },
- { ATF_POINTER, 1, offsetof(struct PerQCIReportListItem, ul_PRBUsage),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_NativeInteger,
- 0,
- { &asn_OER_memb_ul_PRBUsage_constr_4, &asn_PER_memb_ul_PRBUsage_constr_4, memb_ul_PRBUsage_constraint_1 },
- 0, 0, /* No default value */
- "ul-PRBUsage"
- },
-};
-static const int asn_MAP_PerQCIReportListItem_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_PerQCIReportListItem_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_PerQCIReportListItem_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* qci */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dl-PRBUsage */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ul-PRBUsage */
-};
-asn_SEQUENCE_specifics_t asn_SPC_PerQCIReportListItem_specs_1 = {
- sizeof(struct PerQCIReportListItem),
- offsetof(struct PerQCIReportListItem, _asn_ctx),
- asn_MAP_PerQCIReportListItem_tag2el_1,
- 3, /* Count of tags in the map */
- asn_MAP_PerQCIReportListItem_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_PerQCIReportListItem = {
- "PerQCIReportListItem",
- "PerQCIReportListItem",
- &asn_OP_SEQUENCE,
- asn_DEF_PerQCIReportListItem_tags_1,
- sizeof(asn_DEF_PerQCIReportListItem_tags_1)
- /sizeof(asn_DEF_PerQCIReportListItem_tags_1[0]), /* 1 */
- asn_DEF_PerQCIReportListItem_tags_1, /* Same as above */
- sizeof(asn_DEF_PerQCIReportListItem_tags_1)
- /sizeof(asn_DEF_PerQCIReportListItem_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_PerQCIReportListItem_1,
- 3, /* Elements count */
- &asn_SPC_PerQCIReportListItem_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/PerQCIReportListItemFormat.c b/e2sm/lib/PerQCIReportListItemFormat.c
deleted file mode 100644
index 86f8bb4..0000000
--- a/e2sm/lib/PerQCIReportListItemFormat.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PerQCIReportListItemFormat.h"
-
-static int
-memb_pDCPBytesDL_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const INTEGER_t *st = (const INTEGER_t *)sptr;
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- if(asn_INTEGER2long(st, &value)) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value too large (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- if((value >= 0 && value <= 10000000000)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int
-memb_pDCPBytesUL_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const INTEGER_t *st = (const INTEGER_t *)sptr;
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- if(asn_INTEGER2long(st, &value)) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value too large (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- if((value >= 0 && value <= 10000000000)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_memb_pDCPBytesDL_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_pDCPBytesDL_constr_3 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 34, -1, 0, 10000000000 } /* (0..10000000000,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_pDCPBytesUL_constr_4 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_pDCPBytesUL_constr_4 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 34, -1, 0, 10000000000 } /* (0..10000000000,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_PerQCIReportListItemFormat_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct PerQCIReportListItemFormat, drbqci),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_QCI,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "drbqci"
- },
- { ATF_POINTER, 2, offsetof(struct PerQCIReportListItemFormat, pDCPBytesDL),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_INTEGER,
- 0,
- { &asn_OER_memb_pDCPBytesDL_constr_3, &asn_PER_memb_pDCPBytesDL_constr_3, memb_pDCPBytesDL_constraint_1 },
- 0, 0, /* No default value */
- "pDCPBytesDL"
- },
- { ATF_POINTER, 1, offsetof(struct PerQCIReportListItemFormat, pDCPBytesUL),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_INTEGER,
- 0,
- { &asn_OER_memb_pDCPBytesUL_constr_4, &asn_PER_memb_pDCPBytesUL_constr_4, memb_pDCPBytesUL_constraint_1 },
- 0, 0, /* No default value */
- "pDCPBytesUL"
- },
-};
-static const int asn_MAP_PerQCIReportListItemFormat_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_PerQCIReportListItemFormat_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_PerQCIReportListItemFormat_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* drbqci */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pDCPBytesDL */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* pDCPBytesUL */
-};
-asn_SEQUENCE_specifics_t asn_SPC_PerQCIReportListItemFormat_specs_1 = {
- sizeof(struct PerQCIReportListItemFormat),
- offsetof(struct PerQCIReportListItemFormat, _asn_ctx),
- asn_MAP_PerQCIReportListItemFormat_tag2el_1,
- 3, /* Count of tags in the map */
- asn_MAP_PerQCIReportListItemFormat_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_PerQCIReportListItemFormat = {
- "PerQCIReportListItemFormat",
- "PerQCIReportListItemFormat",
- &asn_OP_SEQUENCE,
- asn_DEF_PerQCIReportListItemFormat_tags_1,
- sizeof(asn_DEF_PerQCIReportListItemFormat_tags_1)
- /sizeof(asn_DEF_PerQCIReportListItemFormat_tags_1[0]), /* 1 */
- asn_DEF_PerQCIReportListItemFormat_tags_1, /* Same as above */
- sizeof(asn_DEF_PerQCIReportListItemFormat_tags_1)
- /sizeof(asn_DEF_PerQCIReportListItemFormat_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_PerQCIReportListItemFormat_1,
- 3, /* Elements count */
- &asn_SPC_PerQCIReportListItemFormat_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/PerUE-PM-Item.c b/e2sm/lib/PerUE-PM-Item.c
deleted file mode 100644
index 9ecc2df..0000000
--- a/e2sm/lib/PerUE-PM-Item.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PerUE-PM-Item.h"
-
-#include "PM-Info-Item.h"
-static int
-memb_list_of_PM_Information_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 2147483647)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_list_of_PM_Information_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..2147483647)) */};
-static asn_per_constraints_t asn_PER_type_list_of_PM_Information_constr_3 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 31, -1, 1, 2147483647 } /* (SIZE(1..2147483647)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_list_of_PM_Information_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..2147483647)) */};
-static asn_per_constraints_t asn_PER_memb_list_of_PM_Information_constr_3 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 31, -1, 1, 2147483647 } /* (SIZE(1..2147483647)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_list_of_PM_Information_3[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_PM_Info_Item,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_list_of_PM_Information_tags_3[] = {
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_list_of_PM_Information_specs_3 = {
- sizeof(struct PerUE_PM_Item__list_of_PM_Information),
- offsetof(struct PerUE_PM_Item__list_of_PM_Information, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_list_of_PM_Information_3 = {
- "list-of-PM-Information",
- "list-of-PM-Information",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_list_of_PM_Information_tags_3,
- sizeof(asn_DEF_list_of_PM_Information_tags_3)
- /sizeof(asn_DEF_list_of_PM_Information_tags_3[0]) - 1, /* 1 */
- asn_DEF_list_of_PM_Information_tags_3, /* Same as above */
- sizeof(asn_DEF_list_of_PM_Information_tags_3)
- /sizeof(asn_DEF_list_of_PM_Information_tags_3[0]), /* 2 */
- { &asn_OER_type_list_of_PM_Information_constr_3, &asn_PER_type_list_of_PM_Information_constr_3, SEQUENCE_OF_constraint },
- asn_MBR_list_of_PM_Information_3,
- 1, /* Single element */
- &asn_SPC_list_of_PM_Information_specs_3 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_PerUE_PM_Item_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct PerUE_PM_Item, ueId),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_UE_Identity,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ueId"
- },
- { ATF_POINTER, 1, offsetof(struct PerUE_PM_Item, list_of_PM_Information),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- 0,
- &asn_DEF_list_of_PM_Information_3,
- 0,
- { &asn_OER_memb_list_of_PM_Information_constr_3, &asn_PER_memb_list_of_PM_Information_constr_3, memb_list_of_PM_Information_constraint_1 },
- 0, 0, /* No default value */
- "list-of-PM-Information"
- },
-};
-static const int asn_MAP_PerUE_PM_Item_oms_1[] = { 1 };
-static const ber_tlv_tag_t asn_DEF_PerUE_PM_Item_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_PerUE_PM_Item_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueId */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* list-of-PM-Information */
-};
-asn_SEQUENCE_specifics_t asn_SPC_PerUE_PM_Item_specs_1 = {
- sizeof(struct PerUE_PM_Item),
- offsetof(struct PerUE_PM_Item, _asn_ctx),
- asn_MAP_PerUE_PM_Item_tag2el_1,
- 2, /* Count of tags in the map */
- asn_MAP_PerUE_PM_Item_oms_1, /* Optional members */
- 1, 0, /* Root/Additions */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_PerUE_PM_Item = {
- "PerUE-PM-Item",
- "PerUE-PM-Item",
- &asn_OP_SEQUENCE,
- asn_DEF_PerUE_PM_Item_tags_1,
- sizeof(asn_DEF_PerUE_PM_Item_tags_1)
- /sizeof(asn_DEF_PerUE_PM_Item_tags_1[0]), /* 1 */
- asn_DEF_PerUE_PM_Item_tags_1, /* Same as above */
- sizeof(asn_DEF_PerUE_PM_Item_tags_1)
- /sizeof(asn_DEF_PerUE_PM_Item_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_PerUE_PM_Item_1,
- 2, /* Elements count */
- &asn_SPC_PerUE_PM_Item_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/PhysCellId.c b/e2sm/lib/PhysCellId.c
deleted file mode 100644
index bb61e1d..0000000
--- a/e2sm/lib/PhysCellId.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PhysCellId.h"
-
-int
-PhysCellId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 1007)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_PhysCellId_constr_1 CC_NOTUSED = {
- { 2, 1 } /* (0..1007) */,
- -1};
-asn_per_constraints_t asn_PER_type_PhysCellId_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 10, 10, 0, 1007 } /* (0..1007) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_PhysCellId_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_PhysCellId = {
- "PhysCellId",
- "PhysCellId",
- &asn_OP_NativeInteger,
- asn_DEF_PhysCellId_tags_1,
- sizeof(asn_DEF_PhysCellId_tags_1)
- /sizeof(asn_DEF_PhysCellId_tags_1[0]), /* 1 */
- asn_DEF_PhysCellId_tags_1, /* Same as above */
- sizeof(asn_DEF_PhysCellId_tags_1)
- /sizeof(asn_DEF_PhysCellId_tags_1[0]), /* 1 */
- { &asn_OER_type_PhysCellId_constr_1, &asn_PER_type_PhysCellId_constr_1, PhysCellId_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/PlmnID-Item.c b/e2sm/lib/PlmnID-Item.c
deleted file mode 100644
index 5aad6cb..0000000
--- a/e2sm/lib/PlmnID-Item.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PlmnID-Item.h"
-
-#include "FGC-CUUP-PM-Format.h"
-#include "EPC-CUUP-PM-Format.h"
-asn_TYPE_member_t asn_MBR_PlmnID_Item_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct PlmnID_Item, pLMN_Identity),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_PLMN_Identity,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "pLMN-Identity"
- },
- { ATF_POINTER, 2, offsetof(struct PlmnID_Item, cu_UP_PM_5GC),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_FGC_CUUP_PM_Format,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "cu-UP-PM-5GC"
- },
- { ATF_POINTER, 1, offsetof(struct PlmnID_Item, cu_UP_PM_EPC),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_EPC_CUUP_PM_Format,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "cu-UP-PM-EPC"
- },
-};
-static const int asn_MAP_PlmnID_Item_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_PlmnID_Item_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_PlmnID_Item_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cu-UP-PM-5GC */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* cu-UP-PM-EPC */
-};
-asn_SEQUENCE_specifics_t asn_SPC_PlmnID_Item_specs_1 = {
- sizeof(struct PlmnID_Item),
- offsetof(struct PlmnID_Item, _asn_ctx),
- asn_MAP_PlmnID_Item_tag2el_1,
- 3, /* Count of tags in the map */
- asn_MAP_PlmnID_Item_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_PlmnID_Item = {
- "PlmnID-Item",
- "PlmnID-Item",
- &asn_OP_SEQUENCE,
- asn_DEF_PlmnID_Item_tags_1,
- sizeof(asn_DEF_PlmnID_Item_tags_1)
- /sizeof(asn_DEF_PlmnID_Item_tags_1[0]), /* 1 */
- asn_DEF_PlmnID_Item_tags_1, /* Same as above */
- sizeof(asn_DEF_PlmnID_Item_tags_1)
- /sizeof(asn_DEF_PlmnID_Item_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_PlmnID_Item_1,
- 3, /* Elements count */
- &asn_SPC_PlmnID_Item_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/PolicyAction-RANParameter-Item.c b/e2sm/lib/PolicyAction-RANParameter-Item.c
new file mode 100644
index 0000000..85b1dfc
--- /dev/null
+++ b/e2sm/lib/PolicyAction-RANParameter-Item.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "PolicyAction-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_PolicyAction_RANParameter_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct PolicyAction_RANParameter_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct PolicyAction_RANParameter_Item, ranParameter_name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-name"
+ },
+ { ATF_POINTER, 1, offsetof(struct PolicyAction_RANParameter_Item, ranParameter_Definition),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Definition"
+ },
+};
+static const int asn_MAP_PolicyAction_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_PolicyAction_RANParameter_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_PolicyAction_RANParameter_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_PolicyAction_RANParameter_Item_specs_1 = {
+ sizeof(struct PolicyAction_RANParameter_Item),
+ offsetof(struct PolicyAction_RANParameter_Item, _asn_ctx),
+ asn_MAP_PolicyAction_RANParameter_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_PolicyAction_RANParameter_Item_oms_1, /* Optional members */
+ 0, 1, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_PolicyAction_RANParameter_Item = {
+ "PolicyAction-RANParameter-Item",
+ "PolicyAction-RANParameter-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_PolicyAction_RANParameter_Item_tags_1,
+ sizeof(asn_DEF_PolicyAction_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_PolicyAction_RANParameter_Item_tags_1[0]), /* 1 */
+ asn_DEF_PolicyAction_RANParameter_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_PolicyAction_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_PolicyAction_RANParameter_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_PolicyAction_RANParameter_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_PolicyAction_RANParameter_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/PolicyCondition-RANParameter-Item.c b/e2sm/lib/PolicyCondition-RANParameter-Item.c
new file mode 100644
index 0000000..33f64df
--- /dev/null
+++ b/e2sm/lib/PolicyCondition-RANParameter-Item.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "PolicyCondition-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_PolicyCondition_RANParameter_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct PolicyCondition_RANParameter_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct PolicyCondition_RANParameter_Item, ranParameter_name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-name"
+ },
+ { ATF_POINTER, 1, offsetof(struct PolicyCondition_RANParameter_Item, ranParameter_Definition),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Definition"
+ },
+};
+static const int asn_MAP_PolicyCondition_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_PolicyCondition_RANParameter_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_PolicyCondition_RANParameter_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_PolicyCondition_RANParameter_Item_specs_1 = {
+ sizeof(struct PolicyCondition_RANParameter_Item),
+ offsetof(struct PolicyCondition_RANParameter_Item, _asn_ctx),
+ asn_MAP_PolicyCondition_RANParameter_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_PolicyCondition_RANParameter_Item_oms_1, /* Optional members */
+ 0, 1, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_PolicyCondition_RANParameter_Item = {
+ "PolicyCondition-RANParameter-Item",
+ "PolicyCondition-RANParameter-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_PolicyCondition_RANParameter_Item_tags_1,
+ sizeof(asn_DEF_PolicyCondition_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_PolicyCondition_RANParameter_Item_tags_1[0]), /* 1 */
+ asn_DEF_PolicyCondition_RANParameter_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_PolicyCondition_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_PolicyCondition_RANParameter_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_PolicyCondition_RANParameter_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_PolicyCondition_RANParameter_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/Presence.c b/e2sm/lib/Presence.c
deleted file mode 100644
index b2e8cda..0000000
--- a/e2sm/lib/Presence.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "Presence.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_Presence_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_type_Presence_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_Presence_value2enum_1[] = {
- { 0, 8, "optional" },
- { 1, 11, "conditional" },
- { 2, 9, "mandatory" }
-};
-static const unsigned int asn_MAP_Presence_enum2value_1[] = {
- 1, /* conditional(1) */
- 2, /* mandatory(2) */
- 0 /* optional(0) */
-};
-static const asn_INTEGER_specifics_t asn_SPC_Presence_specs_1 = {
- asn_MAP_Presence_value2enum_1, /* "tag" => N; sorted by tag */
- asn_MAP_Presence_enum2value_1, /* N => "tag"; sorted by N */
- 3, /* Number of elements in the maps */
- 0, /* Enumeration is not extensible */
- 1, /* Strict enumeration */
- 0, /* Native long size */
- 0
-};
-static const ber_tlv_tag_t asn_DEF_Presence_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_Presence = {
- "Presence",
- "Presence",
- &asn_OP_NativeEnumerated,
- asn_DEF_Presence_tags_1,
- sizeof(asn_DEF_Presence_tags_1)
- /sizeof(asn_DEF_Presence_tags_1[0]), /* 1 */
- asn_DEF_Presence_tags_1, /* Same as above */
- sizeof(asn_DEF_Presence_tags_1)
- /sizeof(asn_DEF_Presence_tags_1[0]), /* 1 */
- { &asn_OER_type_Presence_constr_1, &asn_PER_type_Presence_constr_1, NativeEnumerated_constraint },
- 0, 0, /* Defined elsewhere */
- &asn_SPC_Presence_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/ProcedureCode.c b/e2sm/lib/ProcedureCode.c
deleted file mode 100644
index a3ef61a..0000000
--- a/e2sm/lib/ProcedureCode.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ProcedureCode.h"
-
-int
-ProcedureCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 255)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_ProcedureCode_constr_1 CC_NOTUSED = {
- { 1, 1 } /* (0..255) */,
- -1};
-static asn_per_constraints_t asn_PER_type_ProcedureCode_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_ProcedureCode_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_ProcedureCode = {
- "ProcedureCode",
- "ProcedureCode",
- &asn_OP_NativeInteger,
- asn_DEF_ProcedureCode_tags_1,
- sizeof(asn_DEF_ProcedureCode_tags_1)
- /sizeof(asn_DEF_ProcedureCode_tags_1[0]), /* 1 */
- asn_DEF_ProcedureCode_tags_1, /* Same as above */
- sizeof(asn_DEF_ProcedureCode_tags_1)
- /sizeof(asn_DEF_ProcedureCode_tags_1[0]), /* 1 */
- { &asn_OER_type_ProcedureCode_constr_1, &asn_PER_type_ProcedureCode_constr_1, ProcedureCode_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/ProtocolIE-ID.c b/e2sm/lib/ProtocolIE-ID.c
deleted file mode 100644
index fd10d9c..0000000
--- a/e2sm/lib/ProtocolIE-ID.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ProtocolIE-ID.h"
-
-int
-ProtocolIE_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 65535)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_ID_constr_1 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ID_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ID_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ID = {
- "ProtocolIE-ID",
- "ProtocolIE-ID",
- &asn_OP_NativeInteger,
- asn_DEF_ProtocolIE_ID_tags_1,
- sizeof(asn_DEF_ProtocolIE_ID_tags_1)
- /sizeof(asn_DEF_ProtocolIE_ID_tags_1[0]), /* 1 */
- asn_DEF_ProtocolIE_ID_tags_1, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ID_tags_1)
- /sizeof(asn_DEF_ProtocolIE_ID_tags_1[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ID_constr_1, &asn_PER_type_ProtocolIE_ID_constr_1, ProtocolIE_ID_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/QCI.c b/e2sm/lib/QCI.c
index 61627ee..0261082 100644
--- a/e2sm/lib/QCI.c
+++ b/e2sm/lib/QCI.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
@@ -37,10 +37,10 @@
* so here we adjust the DEF accordingly.
*/
static asn_oer_constraints_t asn_OER_type_QCI_constr_1 CC_NOTUSED = {
- { 0, 0 },
+ { 1, 1 } /* (0..255) */,
-1};
asn_per_constraints_t asn_PER_type_QCI_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 0, 255 } /* (0..255,...) */,
+ { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
diff --git a/e2sm/lib/QoSID.c b/e2sm/lib/QoSID.c
new file mode 100644
index 0000000..ea37ef5
--- /dev/null
+++ b/e2sm/lib/QoSID.c
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "QoSID.h"
+
+static asn_oer_constraints_t asn_OER_type_QoSID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_QoSID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_QoSID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct QoSID, choice.fiveGC),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_FiveQI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "fiveGC"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct QoSID, choice.ePC),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_QCI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ePC"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_QoSID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fiveGC */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ePC */
+};
+static asn_CHOICE_specifics_t asn_SPC_QoSID_specs_1 = {
+ sizeof(struct QoSID),
+ offsetof(struct QoSID, _asn_ctx),
+ offsetof(struct QoSID, present),
+ sizeof(((struct QoSID *)0)->present),
+ asn_MAP_QoSID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_QoSID = {
+ "QoSID",
+ "QoSID",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_QoSID_constr_1, &asn_PER_type_QoSID_constr_1, CHOICE_constraint },
+ asn_MBR_QoSID_1,
+ 2, /* Elements count */
+ &asn_SPC_QoSID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/QosFlowIdentifier.c b/e2sm/lib/QosFlowIdentifier.c
new file mode 100644
index 0000000..f2bf382
--- /dev/null
+++ b/e2sm/lib/QosFlowIdentifier.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "QosFlowIdentifier.h"
+
+int
+QosFlowIdentifier_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 63)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_QosFlowIdentifier_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_QosFlowIdentifier_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 6, 6, 0, 63 } /* (0..63,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_QosFlowIdentifier_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_QosFlowIdentifier = {
+ "QosFlowIdentifier",
+ "QosFlowIdentifier",
+ &asn_OP_NativeInteger,
+ asn_DEF_QosFlowIdentifier_tags_1,
+ sizeof(asn_DEF_QosFlowIdentifier_tags_1)
+ /sizeof(asn_DEF_QosFlowIdentifier_tags_1[0]), /* 1 */
+ asn_DEF_QosFlowIdentifier_tags_1, /* Same as above */
+ sizeof(asn_DEF_QosFlowIdentifier_tags_1)
+ /sizeof(asn_DEF_QosFlowIdentifier_tags_1[0]), /* 1 */
+ { &asn_OER_type_QosFlowIdentifier_constr_1, &asn_PER_type_QosFlowIdentifier_constr_1, QosFlowIdentifier_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/RAN-CallProcess-ID.c b/e2sm/lib/RAN-CallProcess-ID.c
new file mode 100644
index 0000000..20284f3
--- /dev/null
+++ b/e2sm/lib/RAN-CallProcess-ID.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RAN-CallProcess-ID.h"
+
+int
+RAN_CallProcess_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 232)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RAN_CallProcess_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_RAN_CallProcess_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 232 } /* (1..232,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RAN_CallProcess_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RAN_CallProcess_ID = {
+ "RAN-CallProcess-ID",
+ "RAN-CallProcess-ID",
+ &asn_OP_NativeInteger,
+ asn_DEF_RAN_CallProcess_ID_tags_1,
+ sizeof(asn_DEF_RAN_CallProcess_ID_tags_1)
+ /sizeof(asn_DEF_RAN_CallProcess_ID_tags_1[0]), /* 1 */
+ asn_DEF_RAN_CallProcess_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RAN_CallProcess_ID_tags_1)
+ /sizeof(asn_DEF_RAN_CallProcess_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_RAN_CallProcess_ID_constr_1, &asn_PER_type_RAN_CallProcess_ID_constr_1, RAN_CallProcess_ID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/RAN-Container.c b/e2sm/lib/RAN-Container.c
deleted file mode 100644
index 00ae3b9..0000000
--- a/e2sm/lib/RAN-Container.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RAN-Container.h"
-
-/*
- * This type is implemented using OCTET_STRING,
- * so here we adjust the DEF accordingly.
- */
-static const ber_tlv_tag_t asn_DEF_RAN_Container_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RAN_Container = {
- "RAN-Container",
- "RAN-Container",
- &asn_OP_OCTET_STRING,
- asn_DEF_RAN_Container_tags_1,
- sizeof(asn_DEF_RAN_Container_tags_1)
- /sizeof(asn_DEF_RAN_Container_tags_1[0]), /* 1 */
- asn_DEF_RAN_Container_tags_1, /* Same as above */
- sizeof(asn_DEF_RAN_Container_tags_1)
- /sizeof(asn_DEF_RAN_Container_tags_1[0]), /* 1 */
- { 0, 0, OCTET_STRING_constraint },
- 0, 0, /* No members */
- &asn_SPC_OCTET_STRING_specs /* Additional specs */
-};
-
diff --git a/e2sm/lib/RAN-ControlParameter-Item.c b/e2sm/lib/RAN-ControlParameter-Item.c
deleted file mode 100644
index 4ae973e..0000000
--- a/e2sm/lib/RAN-ControlParameter-Item.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RAN-ControlParameter-Item.h"
-
-asn_TYPE_member_t asn_MBR_RAN_ControlParameter_Item_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RAN_ControlParameter_Item, ranParameter_ID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RANParameter_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ranParameter-ID"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RAN_ControlParameter_Item, ranParameter_Name),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RANParameter_Name,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ranParameter-Name"
- },
-};
-static const ber_tlv_tag_t asn_DEF_RAN_ControlParameter_Item_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RAN_ControlParameter_Item_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-Name */
-};
-asn_SEQUENCE_specifics_t asn_SPC_RAN_ControlParameter_Item_specs_1 = {
- sizeof(struct RAN_ControlParameter_Item),
- offsetof(struct RAN_ControlParameter_Item, _asn_ctx),
- asn_MAP_RAN_ControlParameter_Item_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RAN_ControlParameter_Item = {
- "RAN-ControlParameter-Item",
- "RAN-ControlParameter-Item",
- &asn_OP_SEQUENCE,
- asn_DEF_RAN_ControlParameter_Item_tags_1,
- sizeof(asn_DEF_RAN_ControlParameter_Item_tags_1)
- /sizeof(asn_DEF_RAN_ControlParameter_Item_tags_1[0]), /* 1 */
- asn_DEF_RAN_ControlParameter_Item_tags_1, /* Same as above */
- sizeof(asn_DEF_RAN_ControlParameter_Item_tags_1)
- /sizeof(asn_DEF_RAN_ControlParameter_Item_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_RAN_ControlParameter_Item_1,
- 2, /* Elements count */
- &asn_SPC_RAN_ControlParameter_Item_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/RANFunctionDefinition-Control-Action-Item.c b/e2sm/lib/RANFunctionDefinition-Control-Action-Item.c
new file mode 100644
index 0000000..8cfa771
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-Control-Action-Item.c
@@ -0,0 +1,152 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Control-Action-Item.h"
+
+#include "ControlAction-RANParameter-Item.h"
+static int
+memb_ran_ControlActionParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ran_ControlActionParameters_List_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_ControlActionParameters_List_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_ControlActionParameters_List_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_ControlActionParameters_List_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ran_ControlActionParameters_List_4[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ControlAction_RANParameter_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ran_ControlActionParameters_List_tags_4[] = {
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_ControlActionParameters_List_specs_4 = {
+ sizeof(struct RANFunctionDefinition_Control_Action_Item__ran_ControlActionParameters_List),
+ offsetof(struct RANFunctionDefinition_Control_Action_Item__ran_ControlActionParameters_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_ControlActionParameters_List_4 = {
+ "ran-ControlActionParameters-List",
+ "ran-ControlActionParameters-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ran_ControlActionParameters_List_tags_4,
+ sizeof(asn_DEF_ran_ControlActionParameters_List_tags_4)
+ /sizeof(asn_DEF_ran_ControlActionParameters_List_tags_4[0]) - 1, /* 1 */
+ asn_DEF_ran_ControlActionParameters_List_tags_4, /* Same as above */
+ sizeof(asn_DEF_ran_ControlActionParameters_List_tags_4)
+ /sizeof(asn_DEF_ran_ControlActionParameters_List_tags_4[0]), /* 2 */
+ { &asn_OER_type_ran_ControlActionParameters_List_constr_4, &asn_PER_type_ran_ControlActionParameters_List_constr_4, SEQUENCE_OF_constraint },
+ asn_MBR_ran_ControlActionParameters_List_4,
+ 1, /* Single element */
+ &asn_SPC_ran_ControlActionParameters_List_specs_4 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Control_Action_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control_Action_Item, ric_ControlAction_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_ControlAction_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ControlAction-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control_Action_Item, ric_ControlAction_Name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_ControlAction_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ControlAction-Name"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Control_Action_Item, ran_ControlActionParameters_List),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ 0,
+ &asn_DEF_ran_ControlActionParameters_List_4,
+ 0,
+ { &asn_OER_memb_ran_ControlActionParameters_List_constr_4, &asn_PER_memb_ran_ControlActionParameters_List_constr_4, memb_ran_ControlActionParameters_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ran-ControlActionParameters-List"
+ },
+};
+static const int asn_MAP_RANFunctionDefinition_Control_Action_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Control_Action_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Control_Action_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ControlAction-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ControlAction-Name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ran-ControlActionParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Control_Action_Item_specs_1 = {
+ sizeof(struct RANFunctionDefinition_Control_Action_Item),
+ offsetof(struct RANFunctionDefinition_Control_Action_Item, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_Control_Action_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANFunctionDefinition_Control_Action_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Control_Action_Item = {
+ "RANFunctionDefinition-Control-Action-Item",
+ "RANFunctionDefinition-Control-Action-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_Control_Action_Item_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_Control_Action_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Control_Action_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_Control_Action_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_Control_Action_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Control_Action_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_Control_Action_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_Control_Action_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Control-Item.c b/e2sm/lib/RANFunctionDefinition-Control-Item.c
new file mode 100644
index 0000000..4497d29
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-Control-Item.c
@@ -0,0 +1,282 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Control-Item.h"
+
+#include "RANFunctionDefinition-Control-Action-Item.h"
+#include "ControlOutcome-RANParameter-Item.h"
+static int
+memb_ric_ControlAction_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_ran_ControlOutcomeParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 255)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_ControlAction_List_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ric_ControlAction_List_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ran_ControlOutcomeParameters_List_constr_10 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..255)) */};
+static asn_per_constraints_t asn_PER_type_ran_ControlOutcomeParameters_List_constr_10 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_ControlAction_List_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ric_ControlAction_List_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_ControlOutcomeParameters_List_constr_10 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..255)) */};
+static asn_per_constraints_t asn_PER_memb_ran_ControlOutcomeParameters_List_constr_10 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_ControlAction_List_4[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANFunctionDefinition_Control_Action_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_ControlAction_List_tags_4[] = {
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_ControlAction_List_specs_4 = {
+ sizeof(struct RANFunctionDefinition_Control_Item__ric_ControlAction_List),
+ offsetof(struct RANFunctionDefinition_Control_Item__ric_ControlAction_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_ControlAction_List_4 = {
+ "ric-ControlAction-List",
+ "ric-ControlAction-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_ControlAction_List_tags_4,
+ sizeof(asn_DEF_ric_ControlAction_List_tags_4)
+ /sizeof(asn_DEF_ric_ControlAction_List_tags_4[0]) - 1, /* 1 */
+ asn_DEF_ric_ControlAction_List_tags_4, /* Same as above */
+ sizeof(asn_DEF_ric_ControlAction_List_tags_4)
+ /sizeof(asn_DEF_ric_ControlAction_List_tags_4[0]), /* 2 */
+ { &asn_OER_type_ric_ControlAction_List_constr_4, &asn_PER_type_ric_ControlAction_List_constr_4, SEQUENCE_OF_constraint },
+ asn_MBR_ric_ControlAction_List_4,
+ 1, /* Single element */
+ &asn_SPC_ric_ControlAction_List_specs_4 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ran_ControlOutcomeParameters_List_10[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ControlOutcome_RANParameter_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ran_ControlOutcomeParameters_List_tags_10[] = {
+ (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_ControlOutcomeParameters_List_specs_10 = {
+ sizeof(struct RANFunctionDefinition_Control_Item__ran_ControlOutcomeParameters_List),
+ offsetof(struct RANFunctionDefinition_Control_Item__ran_ControlOutcomeParameters_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_ControlOutcomeParameters_List_10 = {
+ "ran-ControlOutcomeParameters-List",
+ "ran-ControlOutcomeParameters-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ran_ControlOutcomeParameters_List_tags_10,
+ sizeof(asn_DEF_ran_ControlOutcomeParameters_List_tags_10)
+ /sizeof(asn_DEF_ran_ControlOutcomeParameters_List_tags_10[0]) - 1, /* 1 */
+ asn_DEF_ran_ControlOutcomeParameters_List_tags_10, /* Same as above */
+ sizeof(asn_DEF_ran_ControlOutcomeParameters_List_tags_10)
+ /sizeof(asn_DEF_ran_ControlOutcomeParameters_List_tags_10[0]), /* 2 */
+ { &asn_OER_type_ran_ControlOutcomeParameters_List_constr_10, &asn_PER_type_ran_ControlOutcomeParameters_List_constr_10, SEQUENCE_OF_constraint },
+ asn_MBR_ran_ControlOutcomeParameters_List_10,
+ 1, /* Single element */
+ &asn_SPC_ran_ControlOutcomeParameters_List_specs_10 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Control_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control_Item, ric_ControlStyle_Type),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ControlStyle-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control_Item, ric_ControlStyle_Name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ControlStyle-Name"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Control_Item, ric_ControlAction_List),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ 0,
+ &asn_DEF_ric_ControlAction_List_4,
+ 0,
+ { &asn_OER_memb_ric_ControlAction_List_constr_4, &asn_PER_memb_ric_ControlAction_List_constr_4, memb_ric_ControlAction_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-ControlAction-List"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control_Item, ric_ControlHeaderFormat_Type),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Format_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ControlHeaderFormat-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control_Item, ric_ControlMessageFormat_Type),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Format_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ControlMessageFormat-Type"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Control_Item, ric_CallProcessIDFormat_Type),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Format_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-CallProcessIDFormat-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control_Item, ric_ControlOutcomeFormat_Type),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Format_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ControlOutcomeFormat-Type"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Control_Item, ran_ControlOutcomeParameters_List),
+ (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+ 0,
+ &asn_DEF_ran_ControlOutcomeParameters_List_10,
+ 0,
+ { &asn_OER_memb_ran_ControlOutcomeParameters_List_constr_10, &asn_PER_memb_ran_ControlOutcomeParameters_List_constr_10, memb_ran_ControlOutcomeParameters_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ran-ControlOutcomeParameters-List"
+ },
+};
+static const int asn_MAP_RANFunctionDefinition_Control_Item_oms_1[] = { 2, 5, 7 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Control_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Control_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ControlStyle-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ControlStyle-Name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-ControlAction-List */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ric-ControlHeaderFormat-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ric-ControlMessageFormat-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* ric-CallProcessIDFormat-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* ric-ControlOutcomeFormat-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* ran-ControlOutcomeParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Control_Item_specs_1 = {
+ sizeof(struct RANFunctionDefinition_Control_Item),
+ offsetof(struct RANFunctionDefinition_Control_Item, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_Control_Item_tag2el_1,
+ 8, /* Count of tags in the map */
+ asn_MAP_RANFunctionDefinition_Control_Item_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 8, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Control_Item = {
+ "RANFunctionDefinition-Control-Item",
+ "RANFunctionDefinition-Control-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_Control_Item_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_Control_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Control_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_Control_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_Control_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Control_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_Control_Item_1,
+ 8, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_Control_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Control.c b/e2sm/lib/RANFunctionDefinition-Control.c
new file mode 100644
index 0000000..ca30d07
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-Control.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Control.h"
+
+#include "RANFunctionDefinition-Control-Item.h"
+static int
+memb_ric_ControlStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 63)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_ControlStyle_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_ControlStyle_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_ControlStyle_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_ControlStyle_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_ControlStyle_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANFunctionDefinition_Control_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_ControlStyle_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_ControlStyle_List_specs_2 = {
+ sizeof(struct RANFunctionDefinition_Control__ric_ControlStyle_List),
+ offsetof(struct RANFunctionDefinition_Control__ric_ControlStyle_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_ControlStyle_List_2 = {
+ "ric-ControlStyle-List",
+ "ric-ControlStyle-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_ControlStyle_List_tags_2,
+ sizeof(asn_DEF_ric_ControlStyle_List_tags_2)
+ /sizeof(asn_DEF_ric_ControlStyle_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ric_ControlStyle_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ric_ControlStyle_List_tags_2)
+ /sizeof(asn_DEF_ric_ControlStyle_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ric_ControlStyle_List_constr_2, &asn_PER_type_ric_ControlStyle_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ric_ControlStyle_List_2,
+ 1, /* Single element */
+ &asn_SPC_ric_ControlStyle_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Control_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control, ric_ControlStyle_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ric_ControlStyle_List_2,
+ 0,
+ { &asn_OER_memb_ric_ControlStyle_List_constr_2, &asn_PER_memb_ric_ControlStyle_List_constr_2, memb_ric_ControlStyle_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-ControlStyle-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Control_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Control_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-ControlStyle-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Control_specs_1 = {
+ sizeof(struct RANFunctionDefinition_Control),
+ offsetof(struct RANFunctionDefinition_Control, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_Control_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Control = {
+ "RANFunctionDefinition-Control",
+ "RANFunctionDefinition-Control",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_Control_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_Control_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Control_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_Control_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_Control_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Control_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_Control_1,
+ 1, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_Control_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-EventTrigger-Breakpoint-Item.c b/e2sm/lib/RANFunctionDefinition-EventTrigger-Breakpoint-Item.c
new file mode 100644
index 0000000..e70a4f4
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-EventTrigger-Breakpoint-Item.c
@@ -0,0 +1,152 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-EventTrigger-Breakpoint-Item.h"
+
+#include "CallProcessBreakpoint-RANParameter-Item.h"
+static int
+memb_ran_CallProcessBreakpointParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ran_CallProcessBreakpointParameters_List_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_CallProcessBreakpointParameters_List_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_CallProcessBreakpointParameters_List_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_CallProcessBreakpointParameters_List_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ran_CallProcessBreakpointParameters_List_4[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_CallProcessBreakpoint_RANParameter_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ran_CallProcessBreakpointParameters_List_tags_4[] = {
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_CallProcessBreakpointParameters_List_specs_4 = {
+ sizeof(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item__ran_CallProcessBreakpointParameters_List),
+ offsetof(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item__ran_CallProcessBreakpointParameters_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_CallProcessBreakpointParameters_List_4 = {
+ "ran-CallProcessBreakpointParameters-List",
+ "ran-CallProcessBreakpointParameters-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ran_CallProcessBreakpointParameters_List_tags_4,
+ sizeof(asn_DEF_ran_CallProcessBreakpointParameters_List_tags_4)
+ /sizeof(asn_DEF_ran_CallProcessBreakpointParameters_List_tags_4[0]) - 1, /* 1 */
+ asn_DEF_ran_CallProcessBreakpointParameters_List_tags_4, /* Same as above */
+ sizeof(asn_DEF_ran_CallProcessBreakpointParameters_List_tags_4)
+ /sizeof(asn_DEF_ran_CallProcessBreakpointParameters_List_tags_4[0]), /* 2 */
+ { &asn_OER_type_ran_CallProcessBreakpointParameters_List_constr_4, &asn_PER_type_ran_CallProcessBreakpointParameters_List_constr_4, SEQUENCE_OF_constraint },
+ asn_MBR_ran_CallProcessBreakpointParameters_List_4,
+ 1, /* Single element */
+ &asn_SPC_ran_CallProcessBreakpointParameters_List_specs_4 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_EventTrigger_Breakpoint_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item, callProcessBreakpoint_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_CallProcessBreakpoint_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "callProcessBreakpoint-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item, callProcessBreakpoint_Name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_CallProcessBreakpoint_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "callProcessBreakpoint-Name"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item, ran_CallProcessBreakpointParameters_List),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ 0,
+ &asn_DEF_ran_CallProcessBreakpointParameters_List_4,
+ 0,
+ { &asn_OER_memb_ran_CallProcessBreakpointParameters_List_constr_4, &asn_PER_memb_ran_CallProcessBreakpointParameters_List_constr_4, memb_ran_CallProcessBreakpointParameters_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ran-CallProcessBreakpointParameters-List"
+ },
+};
+static const int asn_MAP_RANFunctionDefinition_EventTrigger_Breakpoint_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* callProcessBreakpoint-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* callProcessBreakpoint-Name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ran-CallProcessBreakpointParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_EventTrigger_Breakpoint_Item_specs_1 = {
+ sizeof(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item),
+ offsetof(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANFunctionDefinition_EventTrigger_Breakpoint_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item = {
+ "RANFunctionDefinition-EventTrigger-Breakpoint-Item",
+ "RANFunctionDefinition-EventTrigger-Breakpoint-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_EventTrigger_Breakpoint_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_EventTrigger_Breakpoint_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-EventTrigger-CallProcess-Item.c b/e2sm/lib/RANFunctionDefinition-EventTrigger-CallProcess-Item.c
new file mode 100644
index 0000000..58e1815
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-EventTrigger-CallProcess-Item.c
@@ -0,0 +1,150 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-EventTrigger-CallProcess-Item.h"
+
+#include "RANFunctionDefinition-EventTrigger-Breakpoint-Item.h"
+static int
+memb_callProcessBreakpoints_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_callProcessBreakpoints_List_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_callProcessBreakpoints_List_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_callProcessBreakpoints_List_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_callProcessBreakpoints_List_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_callProcessBreakpoints_List_4[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_callProcessBreakpoints_List_tags_4[] = {
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_callProcessBreakpoints_List_specs_4 = {
+ sizeof(struct RANFunctionDefinition_EventTrigger_CallProcess_Item__callProcessBreakpoints_List),
+ offsetof(struct RANFunctionDefinition_EventTrigger_CallProcess_Item__callProcessBreakpoints_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_callProcessBreakpoints_List_4 = {
+ "callProcessBreakpoints-List",
+ "callProcessBreakpoints-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_callProcessBreakpoints_List_tags_4,
+ sizeof(asn_DEF_callProcessBreakpoints_List_tags_4)
+ /sizeof(asn_DEF_callProcessBreakpoints_List_tags_4[0]) - 1, /* 1 */
+ asn_DEF_callProcessBreakpoints_List_tags_4, /* Same as above */
+ sizeof(asn_DEF_callProcessBreakpoints_List_tags_4)
+ /sizeof(asn_DEF_callProcessBreakpoints_List_tags_4[0]), /* 2 */
+ { &asn_OER_type_callProcessBreakpoints_List_constr_4, &asn_PER_type_callProcessBreakpoints_List_constr_4, SEQUENCE_OF_constraint },
+ asn_MBR_callProcessBreakpoints_List_4,
+ 1, /* Single element */
+ &asn_SPC_callProcessBreakpoints_List_specs_4 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_EventTrigger_CallProcess_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_CallProcess_Item, callProcessType_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_CallProcessType_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "callProcessType-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_CallProcess_Item, callProcessType_Name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_CallProcessType_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "callProcessType-Name"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_CallProcess_Item, callProcessBreakpoints_List),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ 0,
+ &asn_DEF_callProcessBreakpoints_List_4,
+ 0,
+ { &asn_OER_memb_callProcessBreakpoints_List_constr_4, &asn_PER_memb_callProcessBreakpoints_List_constr_4, memb_callProcessBreakpoints_List_constraint_1 },
+ 0, 0, /* No default value */
+ "callProcessBreakpoints-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_EventTrigger_CallProcess_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* callProcessType-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* callProcessType-Name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* callProcessBreakpoints-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_EventTrigger_CallProcess_Item_specs_1 = {
+ sizeof(struct RANFunctionDefinition_EventTrigger_CallProcess_Item),
+ offsetof(struct RANFunctionDefinition_EventTrigger_CallProcess_Item, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_EventTrigger_CallProcess_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item = {
+ "RANFunctionDefinition-EventTrigger-CallProcess-Item",
+ "RANFunctionDefinition-EventTrigger-CallProcess-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_EventTrigger_CallProcess_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_EventTrigger_CallProcess_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-EventTrigger-Style-Item.c b/e2sm/lib/RANFunctionDefinition-EventTrigger-Style-Item.c
new file mode 100644
index 0000000..2181f74
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-EventTrigger-Style-Item.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-EventTrigger-Style-Item.h"
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_EventTrigger_Style_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_Style_Item, ric_EventTriggerStyle_Type),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-EventTriggerStyle-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_Style_Item, ric_EventTriggerStyle_Name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-EventTriggerStyle-Name"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_Style_Item, ric_EventTriggerFormat_Type),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Format_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-EventTriggerFormat-Type"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_EventTrigger_Style_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-EventTriggerStyle-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-EventTriggerStyle-Name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-EventTriggerFormat-Type */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_EventTrigger_Style_Item_specs_1 = {
+ sizeof(struct RANFunctionDefinition_EventTrigger_Style_Item),
+ offsetof(struct RANFunctionDefinition_EventTrigger_Style_Item, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_EventTrigger_Style_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item = {
+ "RANFunctionDefinition-EventTrigger-Style-Item",
+ "RANFunctionDefinition-EventTrigger-Style-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_EventTrigger_Style_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_EventTrigger_Style_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-EventTrigger.c b/e2sm/lib/RANFunctionDefinition-EventTrigger.c
new file mode 100644
index 0000000..fab4046
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-EventTrigger.c
@@ -0,0 +1,492 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-EventTrigger.h"
+
+#include "RANFunctionDefinition-EventTrigger-Style-Item.h"
+#include "L2Parameters-RANParameter-Item.h"
+#include "RANFunctionDefinition-EventTrigger-CallProcess-Item.h"
+#include "UEIdentification-RANParameter-Item.h"
+#include "CellIdentification-RANParameter-Item.h"
+static int
+memb_ric_EventTriggerStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 63)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_ran_L2Parameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_ran_CallProcessTypes_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_ran_UEIdentificationParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_ran_CellIdentificationParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_EventTriggerStyle_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_EventTriggerStyle_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ran_L2Parameters_List_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_L2Parameters_List_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ran_CallProcessTypes_List_constr_6 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_CallProcessTypes_List_constr_6 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ran_UEIdentificationParameters_List_constr_8 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_UEIdentificationParameters_List_constr_8 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ran_CellIdentificationParameters_List_constr_10 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_CellIdentificationParameters_List_constr_10 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_EventTriggerStyle_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_EventTriggerStyle_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_L2Parameters_List_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_L2Parameters_List_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_CallProcessTypes_List_constr_6 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_CallProcessTypes_List_constr_6 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_UEIdentificationParameters_List_constr_8 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_UEIdentificationParameters_List_constr_8 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_CellIdentificationParameters_List_constr_10 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_CellIdentificationParameters_List_constr_10 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_EventTriggerStyle_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_EventTriggerStyle_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_EventTriggerStyle_List_specs_2 = {
+ sizeof(struct RANFunctionDefinition_EventTrigger__ric_EventTriggerStyle_List),
+ offsetof(struct RANFunctionDefinition_EventTrigger__ric_EventTriggerStyle_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_EventTriggerStyle_List_2 = {
+ "ric-EventTriggerStyle-List",
+ "ric-EventTriggerStyle-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_EventTriggerStyle_List_tags_2,
+ sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_2)
+ /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ric_EventTriggerStyle_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_2)
+ /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ric_EventTriggerStyle_List_constr_2, &asn_PER_type_ric_EventTriggerStyle_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ric_EventTriggerStyle_List_2,
+ 1, /* Single element */
+ &asn_SPC_ric_EventTriggerStyle_List_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ran_L2Parameters_List_4[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_L2Parameters_RANParameter_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ran_L2Parameters_List_tags_4[] = {
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_L2Parameters_List_specs_4 = {
+ sizeof(struct RANFunctionDefinition_EventTrigger__ran_L2Parameters_List),
+ offsetof(struct RANFunctionDefinition_EventTrigger__ran_L2Parameters_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_L2Parameters_List_4 = {
+ "ran-L2Parameters-List",
+ "ran-L2Parameters-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ran_L2Parameters_List_tags_4,
+ sizeof(asn_DEF_ran_L2Parameters_List_tags_4)
+ /sizeof(asn_DEF_ran_L2Parameters_List_tags_4[0]) - 1, /* 1 */
+ asn_DEF_ran_L2Parameters_List_tags_4, /* Same as above */
+ sizeof(asn_DEF_ran_L2Parameters_List_tags_4)
+ /sizeof(asn_DEF_ran_L2Parameters_List_tags_4[0]), /* 2 */
+ { &asn_OER_type_ran_L2Parameters_List_constr_4, &asn_PER_type_ran_L2Parameters_List_constr_4, SEQUENCE_OF_constraint },
+ asn_MBR_ran_L2Parameters_List_4,
+ 1, /* Single element */
+ &asn_SPC_ran_L2Parameters_List_specs_4 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ran_CallProcessTypes_List_6[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ran_CallProcessTypes_List_tags_6[] = {
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_CallProcessTypes_List_specs_6 = {
+ sizeof(struct RANFunctionDefinition_EventTrigger__ran_CallProcessTypes_List),
+ offsetof(struct RANFunctionDefinition_EventTrigger__ran_CallProcessTypes_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_CallProcessTypes_List_6 = {
+ "ran-CallProcessTypes-List",
+ "ran-CallProcessTypes-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ran_CallProcessTypes_List_tags_6,
+ sizeof(asn_DEF_ran_CallProcessTypes_List_tags_6)
+ /sizeof(asn_DEF_ran_CallProcessTypes_List_tags_6[0]) - 1, /* 1 */
+ asn_DEF_ran_CallProcessTypes_List_tags_6, /* Same as above */
+ sizeof(asn_DEF_ran_CallProcessTypes_List_tags_6)
+ /sizeof(asn_DEF_ran_CallProcessTypes_List_tags_6[0]), /* 2 */
+ { &asn_OER_type_ran_CallProcessTypes_List_constr_6, &asn_PER_type_ran_CallProcessTypes_List_constr_6, SEQUENCE_OF_constraint },
+ asn_MBR_ran_CallProcessTypes_List_6,
+ 1, /* Single element */
+ &asn_SPC_ran_CallProcessTypes_List_specs_6 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ran_UEIdentificationParameters_List_8[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_UEIdentification_RANParameter_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ran_UEIdentificationParameters_List_tags_8[] = {
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_UEIdentificationParameters_List_specs_8 = {
+ sizeof(struct RANFunctionDefinition_EventTrigger__ran_UEIdentificationParameters_List),
+ offsetof(struct RANFunctionDefinition_EventTrigger__ran_UEIdentificationParameters_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_UEIdentificationParameters_List_8 = {
+ "ran-UEIdentificationParameters-List",
+ "ran-UEIdentificationParameters-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ran_UEIdentificationParameters_List_tags_8,
+ sizeof(asn_DEF_ran_UEIdentificationParameters_List_tags_8)
+ /sizeof(asn_DEF_ran_UEIdentificationParameters_List_tags_8[0]) - 1, /* 1 */
+ asn_DEF_ran_UEIdentificationParameters_List_tags_8, /* Same as above */
+ sizeof(asn_DEF_ran_UEIdentificationParameters_List_tags_8)
+ /sizeof(asn_DEF_ran_UEIdentificationParameters_List_tags_8[0]), /* 2 */
+ { &asn_OER_type_ran_UEIdentificationParameters_List_constr_8, &asn_PER_type_ran_UEIdentificationParameters_List_constr_8, SEQUENCE_OF_constraint },
+ asn_MBR_ran_UEIdentificationParameters_List_8,
+ 1, /* Single element */
+ &asn_SPC_ran_UEIdentificationParameters_List_specs_8 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ran_CellIdentificationParameters_List_10[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_CellIdentification_RANParameter_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ran_CellIdentificationParameters_List_tags_10[] = {
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_CellIdentificationParameters_List_specs_10 = {
+ sizeof(struct RANFunctionDefinition_EventTrigger__ran_CellIdentificationParameters_List),
+ offsetof(struct RANFunctionDefinition_EventTrigger__ran_CellIdentificationParameters_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_CellIdentificationParameters_List_10 = {
+ "ran-CellIdentificationParameters-List",
+ "ran-CellIdentificationParameters-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ran_CellIdentificationParameters_List_tags_10,
+ sizeof(asn_DEF_ran_CellIdentificationParameters_List_tags_10)
+ /sizeof(asn_DEF_ran_CellIdentificationParameters_List_tags_10[0]) - 1, /* 1 */
+ asn_DEF_ran_CellIdentificationParameters_List_tags_10, /* Same as above */
+ sizeof(asn_DEF_ran_CellIdentificationParameters_List_tags_10)
+ /sizeof(asn_DEF_ran_CellIdentificationParameters_List_tags_10[0]), /* 2 */
+ { &asn_OER_type_ran_CellIdentificationParameters_List_constr_10, &asn_PER_type_ran_CellIdentificationParameters_List_constr_10, SEQUENCE_OF_constraint },
+ asn_MBR_ran_CellIdentificationParameters_List_10,
+ 1, /* Single element */
+ &asn_SPC_ran_CellIdentificationParameters_List_specs_10 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_EventTrigger_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger, ric_EventTriggerStyle_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ric_EventTriggerStyle_List_2,
+ 0,
+ { &asn_OER_memb_ric_EventTriggerStyle_List_constr_2, &asn_PER_memb_ric_EventTriggerStyle_List_constr_2, memb_ric_EventTriggerStyle_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-EventTriggerStyle-List"
+ },
+ { ATF_POINTER, 4, offsetof(struct RANFunctionDefinition_EventTrigger, ran_L2Parameters_List),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ 0,
+ &asn_DEF_ran_L2Parameters_List_4,
+ 0,
+ { &asn_OER_memb_ran_L2Parameters_List_constr_4, &asn_PER_memb_ran_L2Parameters_List_constr_4, memb_ran_L2Parameters_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ran-L2Parameters-List"
+ },
+ { ATF_POINTER, 3, offsetof(struct RANFunctionDefinition_EventTrigger, ran_CallProcessTypes_List),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ 0,
+ &asn_DEF_ran_CallProcessTypes_List_6,
+ 0,
+ { &asn_OER_memb_ran_CallProcessTypes_List_constr_6, &asn_PER_memb_ran_CallProcessTypes_List_constr_6, memb_ran_CallProcessTypes_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ran-CallProcessTypes-List"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANFunctionDefinition_EventTrigger, ran_UEIdentificationParameters_List),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ 0,
+ &asn_DEF_ran_UEIdentificationParameters_List_8,
+ 0,
+ { &asn_OER_memb_ran_UEIdentificationParameters_List_constr_8, &asn_PER_memb_ran_UEIdentificationParameters_List_constr_8, memb_ran_UEIdentificationParameters_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ran-UEIdentificationParameters-List"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_EventTrigger, ran_CellIdentificationParameters_List),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ 0,
+ &asn_DEF_ran_CellIdentificationParameters_List_10,
+ 0,
+ { &asn_OER_memb_ran_CellIdentificationParameters_List_constr_10, &asn_PER_memb_ran_CellIdentificationParameters_List_constr_10, memb_ran_CellIdentificationParameters_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ran-CellIdentificationParameters-List"
+ },
+};
+static const int asn_MAP_RANFunctionDefinition_EventTrigger_oms_1[] = { 1, 2, 3, 4 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_EventTrigger_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_EventTrigger_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-EventTriggerStyle-List */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ran-L2Parameters-List */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ran-CallProcessTypes-List */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ran-UEIdentificationParameters-List */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* ran-CellIdentificationParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_EventTrigger_specs_1 = {
+ sizeof(struct RANFunctionDefinition_EventTrigger),
+ offsetof(struct RANFunctionDefinition_EventTrigger, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_EventTrigger_tag2el_1,
+ 5, /* Count of tags in the map */
+ asn_MAP_RANFunctionDefinition_EventTrigger_oms_1, /* Optional members */
+ 4, 0, /* Root/Additions */
+ 5, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_EventTrigger = {
+ "RANFunctionDefinition-EventTrigger",
+ "RANFunctionDefinition-EventTrigger",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_EventTrigger_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_EventTrigger_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_EventTrigger_1,
+ 5, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_EventTrigger_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Insert-Indication-Item.c b/e2sm/lib/RANFunctionDefinition-Insert-Indication-Item.c
new file mode 100644
index 0000000..b26f955
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-Insert-Indication-Item.c
@@ -0,0 +1,152 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Insert-Indication-Item.h"
+
+#include "InsertIndication-RANParameter-Item.h"
+static int
+memb_ran_InsertIndicationParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ran_InsertIndicationParameters_List_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_InsertIndicationParameters_List_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_InsertIndicationParameters_List_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_InsertIndicationParameters_List_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ran_InsertIndicationParameters_List_4[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_InsertIndication_RANParameter_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ran_InsertIndicationParameters_List_tags_4[] = {
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_InsertIndicationParameters_List_specs_4 = {
+ sizeof(struct RANFunctionDefinition_Insert_Indication_Item__ran_InsertIndicationParameters_List),
+ offsetof(struct RANFunctionDefinition_Insert_Indication_Item__ran_InsertIndicationParameters_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_InsertIndicationParameters_List_4 = {
+ "ran-InsertIndicationParameters-List",
+ "ran-InsertIndicationParameters-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ran_InsertIndicationParameters_List_tags_4,
+ sizeof(asn_DEF_ran_InsertIndicationParameters_List_tags_4)
+ /sizeof(asn_DEF_ran_InsertIndicationParameters_List_tags_4[0]) - 1, /* 1 */
+ asn_DEF_ran_InsertIndicationParameters_List_tags_4, /* Same as above */
+ sizeof(asn_DEF_ran_InsertIndicationParameters_List_tags_4)
+ /sizeof(asn_DEF_ran_InsertIndicationParameters_List_tags_4[0]), /* 2 */
+ { &asn_OER_type_ran_InsertIndicationParameters_List_constr_4, &asn_PER_type_ran_InsertIndicationParameters_List_constr_4, SEQUENCE_OF_constraint },
+ asn_MBR_ran_InsertIndicationParameters_List_4,
+ 1, /* Single element */
+ &asn_SPC_ran_InsertIndicationParameters_List_specs_4 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Insert_Indication_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Indication_Item, ric_InsertIndication_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_InsertIndication_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-InsertIndication-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Indication_Item, ric_InsertIndication_Name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_InsertIndication_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-InsertIndication-Name"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Insert_Indication_Item, ran_InsertIndicationParameters_List),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ 0,
+ &asn_DEF_ran_InsertIndicationParameters_List_4,
+ 0,
+ { &asn_OER_memb_ran_InsertIndicationParameters_List_constr_4, &asn_PER_memb_ran_InsertIndicationParameters_List_constr_4, memb_ran_InsertIndicationParameters_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ran-InsertIndicationParameters-List"
+ },
+};
+static const int asn_MAP_RANFunctionDefinition_Insert_Indication_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Insert_Indication_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Insert_Indication_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-InsertIndication-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-InsertIndication-Name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ran-InsertIndicationParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Insert_Indication_Item_specs_1 = {
+ sizeof(struct RANFunctionDefinition_Insert_Indication_Item),
+ offsetof(struct RANFunctionDefinition_Insert_Indication_Item, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_Insert_Indication_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANFunctionDefinition_Insert_Indication_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Insert_Indication_Item = {
+ "RANFunctionDefinition-Insert-Indication-Item",
+ "RANFunctionDefinition-Insert-Indication-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_Insert_Indication_Item_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_Insert_Indication_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Insert_Indication_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_Insert_Indication_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_Insert_Indication_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Insert_Indication_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_Insert_Indication_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_Insert_Indication_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Insert-Item.c b/e2sm/lib/RANFunctionDefinition-Insert-Item.c
new file mode 100644
index 0000000..009195a
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-Insert-Item.c
@@ -0,0 +1,202 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Insert-Item.h"
+
+#include "RANFunctionDefinition-Insert-Indication-Item.h"
+static int
+memb_ric_InsertIndication_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_InsertIndication_List_constr_6 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ric_InsertIndication_List_constr_6 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_InsertIndication_List_constr_6 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ric_InsertIndication_List_constr_6 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_InsertIndication_List_6[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANFunctionDefinition_Insert_Indication_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_InsertIndication_List_tags_6[] = {
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_InsertIndication_List_specs_6 = {
+ sizeof(struct RANFunctionDefinition_Insert_Item__ric_InsertIndication_List),
+ offsetof(struct RANFunctionDefinition_Insert_Item__ric_InsertIndication_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_InsertIndication_List_6 = {
+ "ric-InsertIndication-List",
+ "ric-InsertIndication-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_InsertIndication_List_tags_6,
+ sizeof(asn_DEF_ric_InsertIndication_List_tags_6)
+ /sizeof(asn_DEF_ric_InsertIndication_List_tags_6[0]) - 1, /* 1 */
+ asn_DEF_ric_InsertIndication_List_tags_6, /* Same as above */
+ sizeof(asn_DEF_ric_InsertIndication_List_tags_6)
+ /sizeof(asn_DEF_ric_InsertIndication_List_tags_6[0]), /* 2 */
+ { &asn_OER_type_ric_InsertIndication_List_constr_6, &asn_PER_type_ric_InsertIndication_List_constr_6, SEQUENCE_OF_constraint },
+ asn_MBR_ric_InsertIndication_List_6,
+ 1, /* Single element */
+ &asn_SPC_ric_InsertIndication_List_specs_6 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Insert_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Item, ric_InsertStyle_Type),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-InsertStyle-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Item, ric_InsertStyle_Name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-InsertStyle-Name"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Item, ric_SupportedEventTriggerStyle_Type),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-SupportedEventTriggerStyle-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Item, ric_ActionDefinitionFormat_Type),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Format_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ActionDefinitionFormat-Type"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Insert_Item, ric_InsertIndication_List),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ 0,
+ &asn_DEF_ric_InsertIndication_List_6,
+ 0,
+ { &asn_OER_memb_ric_InsertIndication_List_constr_6, &asn_PER_memb_ric_InsertIndication_List_constr_6, memb_ric_InsertIndication_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-InsertIndication-List"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Item, ric_IndicationHeaderFormat_Type),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Format_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-IndicationHeaderFormat-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Item, ric_IndicationMessageFormat_Type),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Format_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-IndicationMessageFormat-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Item, ric_CallProcessIDFormat_Type),
+ (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Format_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-CallProcessIDFormat-Type"
+ },
+};
+static const int asn_MAP_RANFunctionDefinition_Insert_Item_oms_1[] = { 4 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Insert_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Insert_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-InsertStyle-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-InsertStyle-Name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-SupportedEventTriggerStyle-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ric-ActionDefinitionFormat-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ric-InsertIndication-List */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* ric-IndicationHeaderFormat-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* ric-IndicationMessageFormat-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* ric-CallProcessIDFormat-Type */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Insert_Item_specs_1 = {
+ sizeof(struct RANFunctionDefinition_Insert_Item),
+ offsetof(struct RANFunctionDefinition_Insert_Item, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_Insert_Item_tag2el_1,
+ 8, /* Count of tags in the map */
+ asn_MAP_RANFunctionDefinition_Insert_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 8, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Insert_Item = {
+ "RANFunctionDefinition-Insert-Item",
+ "RANFunctionDefinition-Insert-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_Insert_Item_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_Insert_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Insert_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_Insert_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_Insert_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Insert_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_Insert_Item_1,
+ 8, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_Insert_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Insert.c b/e2sm/lib/RANFunctionDefinition-Insert.c
new file mode 100644
index 0000000..462454f
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-Insert.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Insert.h"
+
+#include "RANFunctionDefinition-Insert-Item.h"
+static int
+memb_ric_InsertStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 63)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_InsertStyle_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_InsertStyle_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_InsertStyle_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_InsertStyle_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_InsertStyle_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANFunctionDefinition_Insert_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_InsertStyle_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_InsertStyle_List_specs_2 = {
+ sizeof(struct RANFunctionDefinition_Insert__ric_InsertStyle_List),
+ offsetof(struct RANFunctionDefinition_Insert__ric_InsertStyle_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_InsertStyle_List_2 = {
+ "ric-InsertStyle-List",
+ "ric-InsertStyle-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_InsertStyle_List_tags_2,
+ sizeof(asn_DEF_ric_InsertStyle_List_tags_2)
+ /sizeof(asn_DEF_ric_InsertStyle_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ric_InsertStyle_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ric_InsertStyle_List_tags_2)
+ /sizeof(asn_DEF_ric_InsertStyle_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ric_InsertStyle_List_constr_2, &asn_PER_type_ric_InsertStyle_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ric_InsertStyle_List_2,
+ 1, /* Single element */
+ &asn_SPC_ric_InsertStyle_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Insert_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert, ric_InsertStyle_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ric_InsertStyle_List_2,
+ 0,
+ { &asn_OER_memb_ric_InsertStyle_List_constr_2, &asn_PER_memb_ric_InsertStyle_List_constr_2, memb_ric_InsertStyle_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-InsertStyle-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Insert_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Insert_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-InsertStyle-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Insert_specs_1 = {
+ sizeof(struct RANFunctionDefinition_Insert),
+ offsetof(struct RANFunctionDefinition_Insert, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_Insert_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Insert = {
+ "RANFunctionDefinition-Insert",
+ "RANFunctionDefinition-Insert",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_Insert_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_Insert_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Insert_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_Insert_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_Insert_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Insert_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_Insert_1,
+ 1, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_Insert_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Policy-Action-Item.c b/e2sm/lib/RANFunctionDefinition-Policy-Action-Item.c
new file mode 100644
index 0000000..81fd3a8
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-Policy-Action-Item.c
@@ -0,0 +1,252 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Policy-Action-Item.h"
+
+#include "PolicyAction-RANParameter-Item.h"
+#include "PolicyCondition-RANParameter-Item.h"
+static int
+memb_ran_PolicyActionParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_ran_PolicyConditionParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ran_PolicyActionParameters_List_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_PolicyActionParameters_List_constr_5 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ran_PolicyConditionParameters_List_constr_7 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_PolicyConditionParameters_List_constr_7 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_PolicyActionParameters_List_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_PolicyActionParameters_List_constr_5 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_PolicyConditionParameters_List_constr_7 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_PolicyConditionParameters_List_constr_7 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ran_PolicyActionParameters_List_5[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_PolicyAction_RANParameter_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ran_PolicyActionParameters_List_tags_5[] = {
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_PolicyActionParameters_List_specs_5 = {
+ sizeof(struct RANFunctionDefinition_Policy_Action_Item__ran_PolicyActionParameters_List),
+ offsetof(struct RANFunctionDefinition_Policy_Action_Item__ran_PolicyActionParameters_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_PolicyActionParameters_List_5 = {
+ "ran-PolicyActionParameters-List",
+ "ran-PolicyActionParameters-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ran_PolicyActionParameters_List_tags_5,
+ sizeof(asn_DEF_ran_PolicyActionParameters_List_tags_5)
+ /sizeof(asn_DEF_ran_PolicyActionParameters_List_tags_5[0]) - 1, /* 1 */
+ asn_DEF_ran_PolicyActionParameters_List_tags_5, /* Same as above */
+ sizeof(asn_DEF_ran_PolicyActionParameters_List_tags_5)
+ /sizeof(asn_DEF_ran_PolicyActionParameters_List_tags_5[0]), /* 2 */
+ { &asn_OER_type_ran_PolicyActionParameters_List_constr_5, &asn_PER_type_ran_PolicyActionParameters_List_constr_5, SEQUENCE_OF_constraint },
+ asn_MBR_ran_PolicyActionParameters_List_5,
+ 1, /* Single element */
+ &asn_SPC_ran_PolicyActionParameters_List_specs_5 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ran_PolicyConditionParameters_List_7[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_PolicyCondition_RANParameter_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ran_PolicyConditionParameters_List_tags_7[] = {
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_PolicyConditionParameters_List_specs_7 = {
+ sizeof(struct RANFunctionDefinition_Policy_Action_Item__ran_PolicyConditionParameters_List),
+ offsetof(struct RANFunctionDefinition_Policy_Action_Item__ran_PolicyConditionParameters_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_PolicyConditionParameters_List_7 = {
+ "ran-PolicyConditionParameters-List",
+ "ran-PolicyConditionParameters-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ran_PolicyConditionParameters_List_tags_7,
+ sizeof(asn_DEF_ran_PolicyConditionParameters_List_tags_7)
+ /sizeof(asn_DEF_ran_PolicyConditionParameters_List_tags_7[0]) - 1, /* 1 */
+ asn_DEF_ran_PolicyConditionParameters_List_tags_7, /* Same as above */
+ sizeof(asn_DEF_ran_PolicyConditionParameters_List_tags_7)
+ /sizeof(asn_DEF_ran_PolicyConditionParameters_List_tags_7[0]), /* 2 */
+ { &asn_OER_type_ran_PolicyConditionParameters_List_constr_7, &asn_PER_type_ran_PolicyConditionParameters_List_constr_7, SEQUENCE_OF_constraint },
+ asn_MBR_ran_PolicyConditionParameters_List_7,
+ 1, /* Single element */
+ &asn_SPC_ran_PolicyConditionParameters_List_specs_7 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Policy_Action_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Policy_Action_Item, ric_PolicyAction_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_ControlAction_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-PolicyAction-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Policy_Action_Item, ric_PolicyAction_Name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_ControlAction_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-PolicyAction-Name"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Policy_Action_Item, ric_ActionDefinitionFormat_Type),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Format_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ActionDefinitionFormat-Type"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANFunctionDefinition_Policy_Action_Item, ran_PolicyActionParameters_List),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ 0,
+ &asn_DEF_ran_PolicyActionParameters_List_5,
+ 0,
+ { &asn_OER_memb_ran_PolicyActionParameters_List_constr_5, &asn_PER_memb_ran_PolicyActionParameters_List_constr_5, memb_ran_PolicyActionParameters_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ran-PolicyActionParameters-List"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Policy_Action_Item, ran_PolicyConditionParameters_List),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ 0,
+ &asn_DEF_ran_PolicyConditionParameters_List_7,
+ 0,
+ { &asn_OER_memb_ran_PolicyConditionParameters_List_constr_7, &asn_PER_memb_ran_PolicyConditionParameters_List_constr_7, memb_ran_PolicyConditionParameters_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ran-PolicyConditionParameters-List"
+ },
+};
+static const int asn_MAP_RANFunctionDefinition_Policy_Action_Item_oms_1[] = { 3, 4 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Policy_Action_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Policy_Action_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-PolicyAction-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-PolicyAction-Name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-ActionDefinitionFormat-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ran-PolicyActionParameters-List */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* ran-PolicyConditionParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Policy_Action_Item_specs_1 = {
+ sizeof(struct RANFunctionDefinition_Policy_Action_Item),
+ offsetof(struct RANFunctionDefinition_Policy_Action_Item, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_Policy_Action_Item_tag2el_1,
+ 5, /* Count of tags in the map */
+ asn_MAP_RANFunctionDefinition_Policy_Action_Item_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 5, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Policy_Action_Item = {
+ "RANFunctionDefinition-Policy-Action-Item",
+ "RANFunctionDefinition-Policy-Action-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_Policy_Action_Item_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_Policy_Action_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Policy_Action_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_Policy_Action_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_Policy_Action_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Policy_Action_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_Policy_Action_Item_1,
+ 5, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_Policy_Action_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Policy-Item.c b/e2sm/lib/RANFunctionDefinition-Policy-Item.c
new file mode 100644
index 0000000..77b82ec
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-Policy-Item.c
@@ -0,0 +1,162 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Policy-Item.h"
+
+#include "RANFunctionDefinition-Policy-Action-Item.h"
+static int
+memb_ric_PolicyAction_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_PolicyAction_List_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ric_PolicyAction_List_constr_5 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_PolicyAction_List_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ric_PolicyAction_List_constr_5 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_PolicyAction_List_5[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANFunctionDefinition_Policy_Action_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_PolicyAction_List_tags_5[] = {
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_PolicyAction_List_specs_5 = {
+ sizeof(struct RANFunctionDefinition_Policy_Item__ric_PolicyAction_List),
+ offsetof(struct RANFunctionDefinition_Policy_Item__ric_PolicyAction_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_PolicyAction_List_5 = {
+ "ric-PolicyAction-List",
+ "ric-PolicyAction-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_PolicyAction_List_tags_5,
+ sizeof(asn_DEF_ric_PolicyAction_List_tags_5)
+ /sizeof(asn_DEF_ric_PolicyAction_List_tags_5[0]) - 1, /* 1 */
+ asn_DEF_ric_PolicyAction_List_tags_5, /* Same as above */
+ sizeof(asn_DEF_ric_PolicyAction_List_tags_5)
+ /sizeof(asn_DEF_ric_PolicyAction_List_tags_5[0]), /* 2 */
+ { &asn_OER_type_ric_PolicyAction_List_constr_5, &asn_PER_type_ric_PolicyAction_List_constr_5, SEQUENCE_OF_constraint },
+ asn_MBR_ric_PolicyAction_List_5,
+ 1, /* Single element */
+ &asn_SPC_ric_PolicyAction_List_specs_5 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Policy_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Policy_Item, ric_PolicyStyle_Type),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-PolicyStyle-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Policy_Item, ric_PolicyStyle_Name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-PolicyStyle-Name"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Policy_Item, ric_SupportedEventTriggerStyle_Type),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-SupportedEventTriggerStyle-Type"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Policy_Item, ric_PolicyAction_List),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ 0,
+ &asn_DEF_ric_PolicyAction_List_5,
+ 0,
+ { &asn_OER_memb_ric_PolicyAction_List_constr_5, &asn_PER_memb_ric_PolicyAction_List_constr_5, memb_ric_PolicyAction_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-PolicyAction-List"
+ },
+};
+static const int asn_MAP_RANFunctionDefinition_Policy_Item_oms_1[] = { 3 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Policy_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Policy_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-PolicyStyle-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-PolicyStyle-Name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-SupportedEventTriggerStyle-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ric-PolicyAction-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Policy_Item_specs_1 = {
+ sizeof(struct RANFunctionDefinition_Policy_Item),
+ offsetof(struct RANFunctionDefinition_Policy_Item, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_Policy_Item_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANFunctionDefinition_Policy_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 4, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Policy_Item = {
+ "RANFunctionDefinition-Policy-Item",
+ "RANFunctionDefinition-Policy-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_Policy_Item_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_Policy_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Policy_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_Policy_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_Policy_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Policy_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_Policy_Item_1,
+ 4, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_Policy_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Policy.c b/e2sm/lib/RANFunctionDefinition-Policy.c
new file mode 100644
index 0000000..f809dec
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-Policy.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Policy.h"
+
+#include "RANFunctionDefinition-Policy-Item.h"
+static int
+memb_ric_PolicyStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 63)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_PolicyStyle_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_PolicyStyle_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_PolicyStyle_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_PolicyStyle_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_PolicyStyle_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANFunctionDefinition_Policy_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_PolicyStyle_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_PolicyStyle_List_specs_2 = {
+ sizeof(struct RANFunctionDefinition_Policy__ric_PolicyStyle_List),
+ offsetof(struct RANFunctionDefinition_Policy__ric_PolicyStyle_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_PolicyStyle_List_2 = {
+ "ric-PolicyStyle-List",
+ "ric-PolicyStyle-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_PolicyStyle_List_tags_2,
+ sizeof(asn_DEF_ric_PolicyStyle_List_tags_2)
+ /sizeof(asn_DEF_ric_PolicyStyle_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ric_PolicyStyle_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ric_PolicyStyle_List_tags_2)
+ /sizeof(asn_DEF_ric_PolicyStyle_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ric_PolicyStyle_List_constr_2, &asn_PER_type_ric_PolicyStyle_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ric_PolicyStyle_List_2,
+ 1, /* Single element */
+ &asn_SPC_ric_PolicyStyle_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Policy_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Policy, ric_PolicyStyle_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ric_PolicyStyle_List_2,
+ 0,
+ { &asn_OER_memb_ric_PolicyStyle_List_constr_2, &asn_PER_memb_ric_PolicyStyle_List_constr_2, memb_ric_PolicyStyle_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-PolicyStyle-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Policy_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Policy_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-PolicyStyle-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Policy_specs_1 = {
+ sizeof(struct RANFunctionDefinition_Policy),
+ offsetof(struct RANFunctionDefinition_Policy, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_Policy_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Policy = {
+ "RANFunctionDefinition-Policy",
+ "RANFunctionDefinition-Policy",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_Policy_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_Policy_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Policy_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_Policy_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_Policy_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Policy_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_Policy_1,
+ 1, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_Policy_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Report-Item.c b/e2sm/lib/RANFunctionDefinition-Report-Item.c
new file mode 100644
index 0000000..131b739
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-Report-Item.c
@@ -0,0 +1,192 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Report-Item.h"
+
+#include "Report-RANParameter-Item.h"
+static int
+memb_ran_ReportParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ran_ReportParameters_List_constr_8 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_ReportParameters_List_constr_8 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_ReportParameters_List_constr_8 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_ReportParameters_List_constr_8 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ran_ReportParameters_List_8[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_Report_RANParameter_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ran_ReportParameters_List_tags_8[] = {
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_ReportParameters_List_specs_8 = {
+ sizeof(struct RANFunctionDefinition_Report_Item__ran_ReportParameters_List),
+ offsetof(struct RANFunctionDefinition_Report_Item__ran_ReportParameters_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_ReportParameters_List_8 = {
+ "ran-ReportParameters-List",
+ "ran-ReportParameters-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ran_ReportParameters_List_tags_8,
+ sizeof(asn_DEF_ran_ReportParameters_List_tags_8)
+ /sizeof(asn_DEF_ran_ReportParameters_List_tags_8[0]) - 1, /* 1 */
+ asn_DEF_ran_ReportParameters_List_tags_8, /* Same as above */
+ sizeof(asn_DEF_ran_ReportParameters_List_tags_8)
+ /sizeof(asn_DEF_ran_ReportParameters_List_tags_8[0]), /* 2 */
+ { &asn_OER_type_ran_ReportParameters_List_constr_8, &asn_PER_type_ran_ReportParameters_List_constr_8, SEQUENCE_OF_constraint },
+ asn_MBR_ran_ReportParameters_List_8,
+ 1, /* Single element */
+ &asn_SPC_ran_ReportParameters_List_specs_8 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Report_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Report_Item, ric_ReportStyle_Type),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ReportStyle-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Report_Item, ric_ReportStyle_Name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ReportStyle-Name"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Report_Item, ric_SupportedEventTriggerStyle_Type),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Style_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-SupportedEventTriggerStyle-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Report_Item, ric_ReportActionFormat_Type),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Format_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-ReportActionFormat-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Report_Item, ric_IndicationHeaderFormat_Type),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Format_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-IndicationHeaderFormat-Type"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Report_Item, ric_IndicationMessageFormat_Type),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_Format_Type,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-IndicationMessageFormat-Type"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Report_Item, ran_ReportParameters_List),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ 0,
+ &asn_DEF_ran_ReportParameters_List_8,
+ 0,
+ { &asn_OER_memb_ran_ReportParameters_List_constr_8, &asn_PER_memb_ran_ReportParameters_List_constr_8, memb_ran_ReportParameters_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ran-ReportParameters-List"
+ },
+};
+static const int asn_MAP_RANFunctionDefinition_Report_Item_oms_1[] = { 6 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Report_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Report_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ReportStyle-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ReportStyle-Name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-SupportedEventTriggerStyle-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ric-ReportActionFormat-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ric-IndicationHeaderFormat-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* ric-IndicationMessageFormat-Type */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* ran-ReportParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Report_Item_specs_1 = {
+ sizeof(struct RANFunctionDefinition_Report_Item),
+ offsetof(struct RANFunctionDefinition_Report_Item, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_Report_Item_tag2el_1,
+ 7, /* Count of tags in the map */
+ asn_MAP_RANFunctionDefinition_Report_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 7, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Report_Item = {
+ "RANFunctionDefinition-Report-Item",
+ "RANFunctionDefinition-Report-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_Report_Item_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_Report_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Report_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_Report_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_Report_Item_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Report_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_Report_Item_1,
+ 7, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_Report_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Report.c b/e2sm/lib/RANFunctionDefinition-Report.c
new file mode 100644
index 0000000..15ec43d
--- /dev/null
+++ b/e2sm/lib/RANFunctionDefinition-Report.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Report.h"
+
+#include "RANFunctionDefinition-Report-Item.h"
+static int
+memb_ric_ReportStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 63)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_ReportStyle_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_ReportStyle_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_ReportStyle_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_ReportStyle_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_ReportStyle_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANFunctionDefinition_Report_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ric_ReportStyle_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_ReportStyle_List_specs_2 = {
+ sizeof(struct RANFunctionDefinition_Report__ric_ReportStyle_List),
+ offsetof(struct RANFunctionDefinition_Report__ric_ReportStyle_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_ReportStyle_List_2 = {
+ "ric-ReportStyle-List",
+ "ric-ReportStyle-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ric_ReportStyle_List_tags_2,
+ sizeof(asn_DEF_ric_ReportStyle_List_tags_2)
+ /sizeof(asn_DEF_ric_ReportStyle_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ric_ReportStyle_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ric_ReportStyle_List_tags_2)
+ /sizeof(asn_DEF_ric_ReportStyle_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ric_ReportStyle_List_constr_2, &asn_PER_type_ric_ReportStyle_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ric_ReportStyle_List_2,
+ 1, /* Single element */
+ &asn_SPC_ric_ReportStyle_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Report_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Report, ric_ReportStyle_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ric_ReportStyle_List_2,
+ 0,
+ { &asn_OER_memb_ric_ReportStyle_List_constr_2, &asn_PER_memb_ric_ReportStyle_List_constr_2, memb_ric_ReportStyle_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ric-ReportStyle-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Report_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Report_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-ReportStyle-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Report_specs_1 = {
+ sizeof(struct RANFunctionDefinition_Report),
+ offsetof(struct RANFunctionDefinition_Report, _asn_ctx),
+ asn_MAP_RANFunctionDefinition_Report_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Report = {
+ "RANFunctionDefinition-Report",
+ "RANFunctionDefinition-Report",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANFunctionDefinition_Report_tags_1,
+ sizeof(asn_DEF_RANFunctionDefinition_Report_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Report_tags_1[0]), /* 1 */
+ asn_DEF_RANFunctionDefinition_Report_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANFunctionDefinition_Report_tags_1)
+ /sizeof(asn_DEF_RANFunctionDefinition_Report_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANFunctionDefinition_Report_1,
+ 1, /* Elements count */
+ &asn_SPC_RANFunctionDefinition_Report_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Definition-Choice-LIST-Item.c b/e2sm/lib/RANParameter-Definition-Choice-LIST-Item.c
new file mode 100644
index 0000000..e009483
--- /dev/null
+++ b/e2sm/lib/RANParameter-Definition-Choice-LIST-Item.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Definition-Choice-LIST-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_LIST_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Definition_Choice_LIST_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Definition_Choice_LIST_Item, ranParameter_name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-name"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANParameter_Definition_Choice_LIST_Item, ranParameter_Definition),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Definition"
+ },
+};
+static const int asn_MAP_RANParameter_Definition_Choice_LIST_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANParameter_Definition_Choice_LIST_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Definition_Choice_LIST_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_Choice_LIST_Item_specs_1 = {
+ sizeof(struct RANParameter_Definition_Choice_LIST_Item),
+ offsetof(struct RANParameter_Definition_Choice_LIST_Item, _asn_ctx),
+ asn_MAP_RANParameter_Definition_Choice_LIST_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANParameter_Definition_Choice_LIST_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice_LIST_Item = {
+ "RANParameter-Definition-Choice-LIST-Item",
+ "RANParameter-Definition-Choice-LIST-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_Definition_Choice_LIST_Item_tags_1,
+ sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_Item_tags_1)
+ /sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_Definition_Choice_LIST_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_Item_tags_1)
+ /sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_Definition_Choice_LIST_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_RANParameter_Definition_Choice_LIST_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Definition-Choice-LIST.c b/e2sm/lib/RANParameter-Definition-Choice-LIST.c
new file mode 100644
index 0000000..7852c16
--- /dev/null
+++ b/e2sm/lib/RANParameter-Definition-Choice-LIST.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Definition-Choice-LIST.h"
+
+#include "RANParameter-Definition-Choice-LIST-Item.h"
+static int
+memb_ranParameter_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranParameter_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranParameter_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranParameter_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranParameter_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranParameter_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANParameter_Definition_Choice_LIST_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ranParameter_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranParameter_List_specs_2 = {
+ sizeof(struct RANParameter_Definition_Choice_LIST__ranParameter_List),
+ offsetof(struct RANParameter_Definition_Choice_LIST__ranParameter_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranParameter_List_2 = {
+ "ranParameter-List",
+ "ranParameter-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ranParameter_List_tags_2,
+ sizeof(asn_DEF_ranParameter_List_tags_2)
+ /sizeof(asn_DEF_ranParameter_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ranParameter_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_ranParameter_List_tags_2)
+ /sizeof(asn_DEF_ranParameter_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_ranParameter_List_constr_2, &asn_PER_type_ranParameter_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ranParameter_List_2,
+ 1, /* Single element */
+ &asn_SPC_ranParameter_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_LIST_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Definition_Choice_LIST, ranParameter_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ranParameter_List_2,
+ 0,
+ { &asn_OER_memb_ranParameter_List_constr_2, &asn_PER_memb_ranParameter_List_constr_2, memb_ranParameter_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ranParameter-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Definition_Choice_LIST_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Definition_Choice_LIST_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_Choice_LIST_specs_1 = {
+ sizeof(struct RANParameter_Definition_Choice_LIST),
+ offsetof(struct RANParameter_Definition_Choice_LIST, _asn_ctx),
+ asn_MAP_RANParameter_Definition_Choice_LIST_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice_LIST = {
+ "RANParameter-Definition-Choice-LIST",
+ "RANParameter-Definition-Choice-LIST",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_Definition_Choice_LIST_tags_1,
+ sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_tags_1)
+ /sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_Definition_Choice_LIST_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_tags_1)
+ /sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_Definition_Choice_LIST_1,
+ 1, /* Elements count */
+ &asn_SPC_RANParameter_Definition_Choice_LIST_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Definition-Choice-STRUCTURE-Item.c b/e2sm/lib/RANParameter-Definition-Choice-STRUCTURE-Item.c
new file mode 100644
index 0000000..5af88e5
--- /dev/null
+++ b/e2sm/lib/RANParameter-Definition-Choice-STRUCTURE-Item.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Definition-Choice-STRUCTURE-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_STRUCTURE_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Definition_Choice_STRUCTURE_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Definition_Choice_STRUCTURE_Item, ranParameter_name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-name"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANParameter_Definition_Choice_STRUCTURE_Item, ranParameter_Definition),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Definition"
+ },
+};
+static const int asn_MAP_RANParameter_Definition_Choice_STRUCTURE_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Definition_Choice_STRUCTURE_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_Choice_STRUCTURE_Item_specs_1 = {
+ sizeof(struct RANParameter_Definition_Choice_STRUCTURE_Item),
+ offsetof(struct RANParameter_Definition_Choice_STRUCTURE_Item, _asn_ctx),
+ asn_MAP_RANParameter_Definition_Choice_STRUCTURE_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANParameter_Definition_Choice_STRUCTURE_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item = {
+ "RANParameter-Definition-Choice-STRUCTURE-Item",
+ "RANParameter-Definition-Choice-STRUCTURE-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item_tags_1,
+ sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item_tags_1)
+ /sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item_tags_1)
+ /sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_Definition_Choice_STRUCTURE_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_RANParameter_Definition_Choice_STRUCTURE_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Definition-Choice-STRUCTURE.c b/e2sm/lib/RANParameter-Definition-Choice-STRUCTURE.c
new file mode 100644
index 0000000..c6c0679
--- /dev/null
+++ b/e2sm/lib/RANParameter-Definition-Choice-STRUCTURE.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Definition-Choice-STRUCTURE.h"
+
+#include "RANParameter-Definition-Choice-STRUCTURE-Item.h"
+static int
+memb_ranParameter_STRUCTURE_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranParameter_STRUCTURE_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranParameter_STRUCTURE_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranParameter_STRUCTURE_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranParameter_STRUCTURE_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranParameter_STRUCTURE_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ranParameter_STRUCTURE_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranParameter_STRUCTURE_specs_2 = {
+ sizeof(struct RANParameter_Definition_Choice_STRUCTURE__ranParameter_STRUCTURE),
+ offsetof(struct RANParameter_Definition_Choice_STRUCTURE__ranParameter_STRUCTURE, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranParameter_STRUCTURE_2 = {
+ "ranParameter-STRUCTURE",
+ "ranParameter-STRUCTURE",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ranParameter_STRUCTURE_tags_2,
+ sizeof(asn_DEF_ranParameter_STRUCTURE_tags_2)
+ /sizeof(asn_DEF_ranParameter_STRUCTURE_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ranParameter_STRUCTURE_tags_2, /* Same as above */
+ sizeof(asn_DEF_ranParameter_STRUCTURE_tags_2)
+ /sizeof(asn_DEF_ranParameter_STRUCTURE_tags_2[0]), /* 2 */
+ { &asn_OER_type_ranParameter_STRUCTURE_constr_2, &asn_PER_type_ranParameter_STRUCTURE_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_ranParameter_STRUCTURE_2,
+ 1, /* Single element */
+ &asn_SPC_ranParameter_STRUCTURE_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_STRUCTURE_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Definition_Choice_STRUCTURE, ranParameter_STRUCTURE),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ranParameter_STRUCTURE_2,
+ 0,
+ { &asn_OER_memb_ranParameter_STRUCTURE_constr_2, &asn_PER_memb_ranParameter_STRUCTURE_constr_2, memb_ranParameter_STRUCTURE_constraint_1 },
+ 0, 0, /* No default value */
+ "ranParameter-STRUCTURE"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Definition_Choice_STRUCTURE_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Definition_Choice_STRUCTURE_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-STRUCTURE */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_Choice_STRUCTURE_specs_1 = {
+ sizeof(struct RANParameter_Definition_Choice_STRUCTURE),
+ offsetof(struct RANParameter_Definition_Choice_STRUCTURE, _asn_ctx),
+ asn_MAP_RANParameter_Definition_Choice_STRUCTURE_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice_STRUCTURE = {
+ "RANParameter-Definition-Choice-STRUCTURE",
+ "RANParameter-Definition-Choice-STRUCTURE",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_Definition_Choice_STRUCTURE_tags_1,
+ sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_tags_1)
+ /sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_Definition_Choice_STRUCTURE_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_tags_1)
+ /sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_Definition_Choice_STRUCTURE_1,
+ 1, /* Elements count */
+ &asn_SPC_RANParameter_Definition_Choice_STRUCTURE_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Definition-Choice.c b/e2sm/lib/RANParameter-Definition-Choice.c
new file mode 100644
index 0000000..4dd0a8c
--- /dev/null
+++ b/e2sm/lib/RANParameter-Definition-Choice.c
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Definition-Choice.h"
+
+#include "RANParameter-Definition-Choice-LIST.h"
+#include "RANParameter-Definition-Choice-STRUCTURE.h"
+static asn_oer_constraints_t asn_OER_type_RANParameter_Definition_Choice_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_RANParameter_Definition_Choice_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_1[] = {
+ { ATF_POINTER, 0, offsetof(struct RANParameter_Definition_Choice, choice.choiceLIST),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition_Choice_LIST,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "choiceLIST"
+ },
+ { ATF_POINTER, 0, offsetof(struct RANParameter_Definition_Choice, choice.choiceSTRUCTURE),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition_Choice_STRUCTURE,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "choiceSTRUCTURE"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Definition_Choice_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* choiceLIST */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* choiceSTRUCTURE */
+};
+asn_CHOICE_specifics_t asn_SPC_RANParameter_Definition_Choice_specs_1 = {
+ sizeof(struct RANParameter_Definition_Choice),
+ offsetof(struct RANParameter_Definition_Choice, _asn_ctx),
+ offsetof(struct RANParameter_Definition_Choice, present),
+ sizeof(((struct RANParameter_Definition_Choice *)0)->present),
+ asn_MAP_RANParameter_Definition_Choice_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice = {
+ "RANParameter-Definition-Choice",
+ "RANParameter-Definition-Choice",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_RANParameter_Definition_Choice_constr_1, &asn_PER_type_RANParameter_Definition_Choice_constr_1, CHOICE_constraint },
+ asn_MBR_RANParameter_Definition_Choice_1,
+ 2, /* Elements count */
+ &asn_SPC_RANParameter_Definition_Choice_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Definition.c b/e2sm/lib/RANParameter-Definition.c
new file mode 100644
index 0000000..7298790
--- /dev/null
+++ b/e2sm/lib/RANParameter-Definition.c
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Definition.h"
+
+#include "RANParameter-Definition-Choice.h"
+asn_TYPE_member_t asn_MBR_RANParameter_Definition_1[] = {
+ { ATF_POINTER, 0, offsetof(struct RANParameter_Definition, ranParameter_Definition_Choice),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition_Choice,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Definition-Choice"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Definition_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Definition_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-Definition-Choice */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_specs_1 = {
+ sizeof(struct RANParameter_Definition),
+ offsetof(struct RANParameter_Definition, _asn_ctx),
+ asn_MAP_RANParameter_Definition_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition = {
+ "RANParameter-Definition",
+ "RANParameter-Definition",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_Definition_tags_1,
+ sizeof(asn_DEF_RANParameter_Definition_tags_1)
+ /sizeof(asn_DEF_RANParameter_Definition_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_Definition_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_Definition_tags_1)
+ /sizeof(asn_DEF_RANParameter_Definition_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_Definition_1,
+ 1, /* Elements count */
+ &asn_SPC_RANParameter_Definition_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-ELEMENT.c b/e2sm/lib/RANParameter-ELEMENT.c
deleted file mode 100644
index 63edc16..0000000
--- a/e2sm/lib/RANParameter-ELEMENT.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RANParameter-ELEMENT.h"
-
-asn_TYPE_member_t asn_MBR_RANParameter_ELEMENT_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RANParameter_ELEMENT, keyFlag),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_BOOLEAN,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "keyFlag"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RANParameter_ELEMENT, ranParameter_Value),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- +1, /* EXPLICIT tag at current level */
- &asn_DEF_RANParameter_Value,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ranParameter-Value"
- },
-};
-static const ber_tlv_tag_t asn_DEF_RANParameter_ELEMENT_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RANParameter_ELEMENT_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* keyFlag */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-Value */
-};
-asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ELEMENT_specs_1 = {
- sizeof(struct RANParameter_ELEMENT),
- offsetof(struct RANParameter_ELEMENT, _asn_ctx),
- asn_MAP_RANParameter_ELEMENT_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RANParameter_ELEMENT = {
- "RANParameter-ELEMENT",
- "RANParameter-ELEMENT",
- &asn_OP_SEQUENCE,
- asn_DEF_RANParameter_ELEMENT_tags_1,
- sizeof(asn_DEF_RANParameter_ELEMENT_tags_1)
- /sizeof(asn_DEF_RANParameter_ELEMENT_tags_1[0]), /* 1 */
- asn_DEF_RANParameter_ELEMENT_tags_1, /* Same as above */
- sizeof(asn_DEF_RANParameter_ELEMENT_tags_1)
- /sizeof(asn_DEF_RANParameter_ELEMENT_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_RANParameter_ELEMENT_1,
- 2, /* Elements count */
- &asn_SPC_RANParameter_ELEMENT_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/RANParameter-ID.c b/e2sm/lib/RANParameter-ID.c
index 4965d59..684cc0e 100644
--- a/e2sm/lib/RANParameter-ID.c
+++ b/e2sm/lib/RANParameter-ID.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
@@ -19,8 +19,11 @@
}
- /* Constraint check succeeded */
- return 0;
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
}
/*
@@ -28,18 +31,13 @@
* so here we adjust the DEF accordingly.
*/
static asn_oer_constraints_t asn_OER_type_RANParameter_ID_constr_1 CC_NOTUSED = {
- { 4, 1 } /* (0..4294967295) */,
+ { 0, 0 },
-1};
asn_per_constraints_t asn_PER_type_RANParameter_ID_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
-const asn_INTEGER_specifics_t asn_SPC_RANParameter_ID_specs_1 = {
- 0, 0, 0, 0, 0,
- 0, /* Native long size */
- 1 /* Unsigned representation */
-};
static const ber_tlv_tag_t asn_DEF_RANParameter_ID_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
@@ -55,6 +53,6 @@
/sizeof(asn_DEF_RANParameter_ID_tags_1[0]), /* 1 */
{ &asn_OER_type_RANParameter_ID_constr_1, &asn_PER_type_RANParameter_ID_constr_1, RANParameter_ID_constraint },
0, 0, /* No members */
- &asn_SPC_RANParameter_ID_specs_1 /* Additional specs */
+ 0 /* No specifics */
};
diff --git a/e2sm/lib/RANParameter-Item.c b/e2sm/lib/RANParameter-Item.c
deleted file mode 100644
index 0da6978..0000000
--- a/e2sm/lib/RANParameter-Item.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RANParameter-Item.h"
-
-#include "RANParameter-ValueType.h"
-asn_TYPE_member_t asn_MBR_RANParameter_Item_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Item, ranParameterItem_ID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RANParameter_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ranParameterItem-ID"
- },
- { ATF_POINTER, 0, offsetof(struct RANParameter_Item, ranParameterItem_valueType),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- +1, /* EXPLICIT tag at current level */
- &asn_DEF_RANParameter_ValueType,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ranParameterItem-valueType"
- },
-};
-static const ber_tlv_tag_t asn_DEF_RANParameter_Item_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Item_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameterItem-ID */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameterItem-valueType */
-};
-asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Item_specs_1 = {
- sizeof(struct RANParameter_Item),
- offsetof(struct RANParameter_Item, _asn_ctx),
- asn_MAP_RANParameter_Item_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RANParameter_Item = {
- "RANParameter-Item",
- "RANParameter-Item",
- &asn_OP_SEQUENCE,
- asn_DEF_RANParameter_Item_tags_1,
- sizeof(asn_DEF_RANParameter_Item_tags_1)
- /sizeof(asn_DEF_RANParameter_Item_tags_1[0]), /* 1 */
- asn_DEF_RANParameter_Item_tags_1, /* Same as above */
- sizeof(asn_DEF_RANParameter_Item_tags_1)
- /sizeof(asn_DEF_RANParameter_Item_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_RANParameter_Item_1,
- 2, /* Elements count */
- &asn_SPC_RANParameter_Item_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/RANParameter-LIST.c b/e2sm/lib/RANParameter-LIST.c
index 501db25..22fa28f 100644
--- a/e2sm/lib/RANParameter-LIST.c
+++ b/e2sm/lib/RANParameter-LIST.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
@@ -9,7 +9,7 @@
#include "RANParameter-STRUCTURE.h"
static int
-memb_list_of_ranParameter_Structures_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+memb_list_of_ranParameter_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
size_t size;
@@ -23,7 +23,7 @@
/* Determine the number of elements */
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
- if((size >= 1 && size <= 4294967295)) {
+ if((size >= 1 && size <= 65535)) {
/* Perform validation of the inner elements */
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
@@ -34,23 +34,23 @@
}
}
-static asn_oer_constraints_t asn_OER_type_list_of_ranParameter_Structures_constr_2 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_list_of_ranParameter_constr_2 CC_NOTUSED = {
{ 0, 0 },
- -1 /* (SIZE(1..4294967295)) */};
-static asn_per_constraints_t asn_PER_type_list_of_ranParameter_Structures_constr_2 CC_NOTUSED = {
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_list_of_ranParameter_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 32, -1, 1, 4294967295 } /* (SIZE(1..4294967295)) */,
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
0, 0 /* No PER value map */
};
-static asn_oer_constraints_t asn_OER_memb_list_of_ranParameter_Structures_constr_2 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_list_of_ranParameter_constr_2 CC_NOTUSED = {
{ 0, 0 },
- -1 /* (SIZE(1..4294967295)) */};
-static asn_per_constraints_t asn_PER_memb_list_of_ranParameter_Structures_constr_2 CC_NOTUSED = {
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_list_of_ranParameter_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 32, -1, 1, 4294967295 } /* (SIZE(1..4294967295)) */,
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
0, 0 /* No PER value map */
};
-static asn_TYPE_member_t asn_MBR_list_of_ranParameter_Structures_2[] = {
+static asn_TYPE_member_t asn_MBR_list_of_ranParameter_2[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
@@ -61,48 +61,48 @@
""
},
};
-static const ber_tlv_tag_t asn_DEF_list_of_ranParameter_Structures_tags_2[] = {
+static const ber_tlv_tag_t asn_DEF_list_of_ranParameter_tags_2[] = {
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static asn_SET_OF_specifics_t asn_SPC_list_of_ranParameter_Structures_specs_2 = {
- sizeof(struct RANParameter_LIST__list_of_ranParameter_Structures),
- offsetof(struct RANParameter_LIST__list_of_ranParameter_Structures, _asn_ctx),
+static asn_SET_OF_specifics_t asn_SPC_list_of_ranParameter_specs_2 = {
+ sizeof(struct RANParameter_LIST__list_of_ranParameter),
+ offsetof(struct RANParameter_LIST__list_of_ranParameter, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_list_of_ranParameter_Structures_2 = {
- "list-of-ranParameter-Structures",
- "list-of-ranParameter-Structures",
+asn_TYPE_descriptor_t asn_DEF_list_of_ranParameter_2 = {
+ "list-of-ranParameter",
+ "list-of-ranParameter",
&asn_OP_SEQUENCE_OF,
- asn_DEF_list_of_ranParameter_Structures_tags_2,
- sizeof(asn_DEF_list_of_ranParameter_Structures_tags_2)
- /sizeof(asn_DEF_list_of_ranParameter_Structures_tags_2[0]) - 1, /* 1 */
- asn_DEF_list_of_ranParameter_Structures_tags_2, /* Same as above */
- sizeof(asn_DEF_list_of_ranParameter_Structures_tags_2)
- /sizeof(asn_DEF_list_of_ranParameter_Structures_tags_2[0]), /* 2 */
- { &asn_OER_type_list_of_ranParameter_Structures_constr_2, &asn_PER_type_list_of_ranParameter_Structures_constr_2, SEQUENCE_OF_constraint },
- asn_MBR_list_of_ranParameter_Structures_2,
+ asn_DEF_list_of_ranParameter_tags_2,
+ sizeof(asn_DEF_list_of_ranParameter_tags_2)
+ /sizeof(asn_DEF_list_of_ranParameter_tags_2[0]) - 1, /* 1 */
+ asn_DEF_list_of_ranParameter_tags_2, /* Same as above */
+ sizeof(asn_DEF_list_of_ranParameter_tags_2)
+ /sizeof(asn_DEF_list_of_ranParameter_tags_2[0]), /* 2 */
+ { &asn_OER_type_list_of_ranParameter_constr_2, &asn_PER_type_list_of_ranParameter_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_list_of_ranParameter_2,
1, /* Single element */
- &asn_SPC_list_of_ranParameter_Structures_specs_2 /* Additional specs */
+ &asn_SPC_list_of_ranParameter_specs_2 /* Additional specs */
};
asn_TYPE_member_t asn_MBR_RANParameter_LIST_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RANParameter_LIST, list_of_ranParameter_Structures),
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_LIST, list_of_ranParameter),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
0,
- &asn_DEF_list_of_ranParameter_Structures_2,
+ &asn_DEF_list_of_ranParameter_2,
0,
- { &asn_OER_memb_list_of_ranParameter_Structures_constr_2, &asn_PER_memb_list_of_ranParameter_Structures_constr_2, memb_list_of_ranParameter_Structures_constraint_1 },
+ { &asn_OER_memb_list_of_ranParameter_constr_2, &asn_PER_memb_list_of_ranParameter_constr_2, memb_list_of_ranParameter_constraint_1 },
0, 0, /* No default value */
- "list-of-ranParameter-Structures"
+ "list-of-ranParameter"
},
};
static const ber_tlv_tag_t asn_DEF_RANParameter_LIST_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RANParameter_LIST_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* list-of-ranParameter-Structures */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* list-of-ranParameter */
};
asn_SEQUENCE_specifics_t asn_SPC_RANParameter_LIST_specs_1 = {
sizeof(struct RANParameter_LIST),
diff --git a/e2sm/lib/RANParameter-Name.c b/e2sm/lib/RANParameter-Name.c
index fdd2f4c..30b6e4f 100644
--- a/e2sm/lib/RANParameter-Name.c
+++ b/e2sm/lib/RANParameter-Name.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
diff --git a/e2sm/lib/RANParameter-STRUCTURE-Item.c b/e2sm/lib/RANParameter-STRUCTURE-Item.c
new file mode 100644
index 0000000..e630ad4
--- /dev/null
+++ b/e2sm/lib/RANParameter-STRUCTURE-Item.c
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-STRUCTURE-Item.h"
+
+#include "RANParameter-ValueType.h"
+asn_TYPE_member_t asn_MBR_RANParameter_STRUCTURE_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_STRUCTURE_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_POINTER, 0, offsetof(struct RANParameter_STRUCTURE_Item, ranParameter_valueType),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANParameter_ValueType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-valueType"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_STRUCTURE_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_STRUCTURE_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-valueType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_STRUCTURE_Item_specs_1 = {
+ sizeof(struct RANParameter_STRUCTURE_Item),
+ offsetof(struct RANParameter_STRUCTURE_Item, _asn_ctx),
+ asn_MAP_RANParameter_STRUCTURE_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_STRUCTURE_Item = {
+ "RANParameter-STRUCTURE-Item",
+ "RANParameter-STRUCTURE-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_STRUCTURE_Item_tags_1,
+ sizeof(asn_DEF_RANParameter_STRUCTURE_Item_tags_1)
+ /sizeof(asn_DEF_RANParameter_STRUCTURE_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_STRUCTURE_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_STRUCTURE_Item_tags_1)
+ /sizeof(asn_DEF_RANParameter_STRUCTURE_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_STRUCTURE_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_RANParameter_STRUCTURE_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-STRUCTURE.c b/e2sm/lib/RANParameter-STRUCTURE.c
index 89aa285..03a0695 100644
--- a/e2sm/lib/RANParameter-STRUCTURE.c
+++ b/e2sm/lib/RANParameter-STRUCTURE.c
@@ -1,13 +1,13 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
#include "RANParameter-STRUCTURE.h"
-#include "RANParameter-Item.h"
+#include "RANParameter-STRUCTURE-Item.h"
static int
memb_sequence_of_ranParameters_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
@@ -23,7 +23,7 @@
/* Determine the number of elements */
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
- if((size >= 1 && size <= 4294967295)) {
+ if((size >= 1 && size <= 65535)) {
/* Perform validation of the inner elements */
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
} else {
@@ -36,25 +36,25 @@
static asn_oer_constraints_t asn_OER_type_sequence_of_ranParameters_constr_2 CC_NOTUSED = {
{ 0, 0 },
- -1 /* (SIZE(1..4294967295)) */};
+ -1 /* (SIZE(1..65535)) */};
static asn_per_constraints_t asn_PER_type_sequence_of_ranParameters_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 32, -1, 1, 4294967295 } /* (SIZE(1..4294967295)) */,
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
0, 0 /* No PER value map */
};
static asn_oer_constraints_t asn_OER_memb_sequence_of_ranParameters_constr_2 CC_NOTUSED = {
{ 0, 0 },
- -1 /* (SIZE(1..4294967295)) */};
+ -1 /* (SIZE(1..65535)) */};
static asn_per_constraints_t asn_PER_memb_sequence_of_ranParameters_constr_2 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 32, -1, 1, 4294967295 } /* (SIZE(1..4294967295)) */,
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_sequence_of_ranParameters_2[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RANParameter_Item,
+ &asn_DEF_RANParameter_STRUCTURE_Item,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
@@ -88,7 +88,7 @@
};
asn_TYPE_member_t asn_MBR_RANParameter_STRUCTURE_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RANParameter_STRUCTURE, sequence_of_ranParameters),
+ { ATF_POINTER, 1, offsetof(struct RANParameter_STRUCTURE, sequence_of_ranParameters),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
0,
&asn_DEF_sequence_of_ranParameters_2,
@@ -98,6 +98,7 @@
"sequence-of-ranParameters"
},
};
+static const int asn_MAP_RANParameter_STRUCTURE_oms_1[] = { 0 };
static const ber_tlv_tag_t asn_DEF_RANParameter_STRUCTURE_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
@@ -109,7 +110,8 @@
offsetof(struct RANParameter_STRUCTURE, _asn_ctx),
asn_MAP_RANParameter_STRUCTURE_tag2el_1,
1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
+ asn_MAP_RANParameter_STRUCTURE_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
1, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_RANParameter_STRUCTURE = {
diff --git a/e2sm/lib/RANParameter-Testing-Item-Choice-ElementFalse.c b/e2sm/lib/RANParameter-Testing-Item-Choice-ElementFalse.c
new file mode 100644
index 0000000..e50e5db
--- /dev/null
+++ b/e2sm/lib/RANParameter-Testing-Item-Choice-ElementFalse.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing-Item-Choice-ElementFalse.h"
+
+#include "RANParameter-Value.h"
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_Choice_ElementFalse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Testing_Item_Choice_ElementFalse, ranParameter_TestCondition),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANParameter_TestingCondition,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-TestCondition"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANParameter_Testing_Item_Choice_ElementFalse, ranParameter_Value),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANParameter_Value,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Value"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANParameter_Testing_Item_Choice_ElementFalse, logicalOR),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_LogicalOR,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "logicalOR"
+ },
+};
+static const int asn_MAP_RANParameter_Testing_Item_Choice_ElementFalse_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Testing_Item_Choice_ElementFalse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-TestCondition */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-Value */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_Choice_ElementFalse_specs_1 = {
+ sizeof(struct RANParameter_Testing_Item_Choice_ElementFalse),
+ offsetof(struct RANParameter_Testing_Item_Choice_ElementFalse, _asn_ctx),
+ asn_MAP_RANParameter_Testing_Item_Choice_ElementFalse_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANParameter_Testing_Item_Choice_ElementFalse_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse = {
+ "RANParameter-Testing-Item-Choice-ElementFalse",
+ "RANParameter-Testing-Item-Choice-ElementFalse",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse_tags_1,
+ sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_Testing_Item_Choice_ElementFalse_1,
+ 3, /* Elements count */
+ &asn_SPC_RANParameter_Testing_Item_Choice_ElementFalse_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Testing-Item-Choice-ElementTrue.c b/e2sm/lib/RANParameter-Testing-Item-Choice-ElementTrue.c
new file mode 100644
index 0000000..03b10ff
--- /dev/null
+++ b/e2sm/lib/RANParameter-Testing-Item-Choice-ElementTrue.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing-Item-Choice-ElementTrue.h"
+
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_Choice_ElementTrue_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Testing_Item_Choice_ElementTrue, ranParameter_value),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANParameter_Value,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Testing_Item_Choice_ElementTrue_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_Choice_ElementTrue_specs_1 = {
+ sizeof(struct RANParameter_Testing_Item_Choice_ElementTrue),
+ offsetof(struct RANParameter_Testing_Item_Choice_ElementTrue, _asn_ctx),
+ asn_MAP_RANParameter_Testing_Item_Choice_ElementTrue_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue = {
+ "RANParameter-Testing-Item-Choice-ElementTrue",
+ "RANParameter-Testing-Item-Choice-ElementTrue",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue_tags_1,
+ sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_Testing_Item_Choice_ElementTrue_1,
+ 1, /* Elements count */
+ &asn_SPC_RANParameter_Testing_Item_Choice_ElementTrue_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Testing-Item-Choice-List.c b/e2sm/lib/RANParameter-Testing-Item-Choice-List.c
new file mode 100644
index 0000000..ea685da
--- /dev/null
+++ b/e2sm/lib/RANParameter-Testing-Item-Choice-List.c
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing-Item-Choice-List.h"
+
+#include "RANParameter-Testing-LIST.h"
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_Choice_List_1[] = {
+ { ATF_POINTER, 0, offsetof(struct RANParameter_Testing_Item_Choice_List, ranParameter_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Testing_LIST,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_Item_Choice_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Testing_Item_Choice_List_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_Choice_List_specs_1 = {
+ sizeof(struct RANParameter_Testing_Item_Choice_List),
+ offsetof(struct RANParameter_Testing_Item_Choice_List, _asn_ctx),
+ asn_MAP_RANParameter_Testing_Item_Choice_List_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item_Choice_List = {
+ "RANParameter-Testing-Item-Choice-List",
+ "RANParameter-Testing-Item-Choice-List",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_Testing_Item_Choice_List_tags_1,
+ sizeof(asn_DEF_RANParameter_Testing_Item_Choice_List_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_List_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_Testing_Item_Choice_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_Testing_Item_Choice_List_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_List_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_Testing_Item_Choice_List_1,
+ 1, /* Elements count */
+ &asn_SPC_RANParameter_Testing_Item_Choice_List_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Testing-Item-Choice-Structure.c b/e2sm/lib/RANParameter-Testing-Item-Choice-Structure.c
new file mode 100644
index 0000000..ae75fd4
--- /dev/null
+++ b/e2sm/lib/RANParameter-Testing-Item-Choice-Structure.c
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing-Item-Choice-Structure.h"
+
+#include "RANParameter-Testing-STRUCTURE.h"
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_Choice_Structure_1[] = {
+ { ATF_POINTER, 0, offsetof(struct RANParameter_Testing_Item_Choice_Structure, ranParameter_Structure),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Testing_STRUCTURE,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Structure"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_Item_Choice_Structure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Testing_Item_Choice_Structure_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-Structure */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_Choice_Structure_specs_1 = {
+ sizeof(struct RANParameter_Testing_Item_Choice_Structure),
+ offsetof(struct RANParameter_Testing_Item_Choice_Structure, _asn_ctx),
+ asn_MAP_RANParameter_Testing_Item_Choice_Structure_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item_Choice_Structure = {
+ "RANParameter-Testing-Item-Choice-Structure",
+ "RANParameter-Testing-Item-Choice-Structure",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_Testing_Item_Choice_Structure_tags_1,
+ sizeof(asn_DEF_RANParameter_Testing_Item_Choice_Structure_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_Structure_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_Testing_Item_Choice_Structure_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_Testing_Item_Choice_Structure_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_Structure_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_Testing_Item_Choice_Structure_1,
+ 1, /* Elements count */
+ &asn_SPC_RANParameter_Testing_Item_Choice_Structure_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Testing-Item.c b/e2sm/lib/RANParameter-Testing-Item.c
new file mode 100644
index 0000000..d81b410
--- /dev/null
+++ b/e2sm/lib/RANParameter-Testing-Item.c
@@ -0,0 +1,141 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing-Item.h"
+
+#include "RANParameter-Testing-Item-Choice-List.h"
+#include "RANParameter-Testing-Item-Choice-Structure.h"
+#include "RANParameter-Testing-Item-Choice-ElementTrue.h"
+#include "RANParameter-Testing-Item-Choice-ElementFalse.h"
+static asn_oer_constraints_t asn_OER_type_ranParameter_Type_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_ranParameter_Type_constr_3 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranParameter_Type_3[] = {
+ { ATF_POINTER, 0, offsetof(struct RANParameter_Testing_Item__ranParameter_Type, choice.ranP_Choice_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Testing_Item_Choice_List,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranP-Choice-List"
+ },
+ { ATF_POINTER, 0, offsetof(struct RANParameter_Testing_Item__ranParameter_Type, choice.ranP_Choice_Structure),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Testing_Item_Choice_Structure,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranP-Choice-Structure"
+ },
+ { ATF_POINTER, 0, offsetof(struct RANParameter_Testing_Item__ranParameter_Type, choice.ranP_Choice_ElementTrue),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranP-Choice-ElementTrue"
+ },
+ { ATF_POINTER, 0, offsetof(struct RANParameter_Testing_Item__ranParameter_Type, choice.ranP_Choice_ElementFalse),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranP-Choice-ElementFalse"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ranParameter_Type_tag2el_3[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranP-Choice-List */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranP-Choice-Structure */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ranP-Choice-ElementTrue */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ranP-Choice-ElementFalse */
+};
+static asn_CHOICE_specifics_t asn_SPC_ranParameter_Type_specs_3 = {
+ sizeof(struct RANParameter_Testing_Item__ranParameter_Type),
+ offsetof(struct RANParameter_Testing_Item__ranParameter_Type, _asn_ctx),
+ offsetof(struct RANParameter_Testing_Item__ranParameter_Type, present),
+ sizeof(((struct RANParameter_Testing_Item__ranParameter_Type *)0)->present),
+ asn_MAP_ranParameter_Type_tag2el_3,
+ 4, /* Count of tags in the map */
+ 0, 0,
+ 4 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranParameter_Type_3 = {
+ "ranParameter-Type",
+ "ranParameter-Type",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_ranParameter_Type_constr_3, &asn_PER_type_ranParameter_Type_constr_3, CHOICE_constraint },
+ asn_MBR_ranParameter_Type_3,
+ 4, /* Elements count */
+ &asn_SPC_ranParameter_Type_specs_3 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Testing_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Testing_Item, ranParameter_Type),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ranParameter_Type_3,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Type"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Testing_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-Type */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_specs_1 = {
+ sizeof(struct RANParameter_Testing_Item),
+ offsetof(struct RANParameter_Testing_Item, _asn_ctx),
+ asn_MAP_RANParameter_Testing_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item = {
+ "RANParameter-Testing-Item",
+ "RANParameter-Testing-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_Testing_Item_tags_1,
+ sizeof(asn_DEF_RANParameter_Testing_Item_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_Testing_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_Testing_Item_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_Testing_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_RANParameter_Testing_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Testing-LIST.c b/e2sm/lib/RANParameter-Testing-LIST.c
new file mode 100644
index 0000000..c4e4abc
--- /dev/null
+++ b/e2sm/lib/RANParameter-Testing-LIST.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing-LIST.h"
+
+#include "RANParameter-Testing-Item.h"
+static asn_oer_constraints_t asn_OER_type_RANParameter_Testing_LIST_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+asn_per_constraints_t asn_PER_type_RANParameter_Testing_LIST_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_LIST_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANParameter_Testing_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_LIST_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_RANParameter_Testing_LIST_specs_1 = {
+ sizeof(struct RANParameter_Testing_LIST),
+ offsetof(struct RANParameter_Testing_LIST, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_LIST = {
+ "RANParameter-Testing-LIST",
+ "RANParameter-Testing-LIST",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_RANParameter_Testing_LIST_tags_1,
+ sizeof(asn_DEF_RANParameter_Testing_LIST_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_LIST_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_Testing_LIST_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_Testing_LIST_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_LIST_tags_1[0]), /* 1 */
+ { &asn_OER_type_RANParameter_Testing_LIST_constr_1, &asn_PER_type_RANParameter_Testing_LIST_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_RANParameter_Testing_LIST_1,
+ 1, /* Single element */
+ &asn_SPC_RANParameter_Testing_LIST_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Testing-STRUCTURE.c b/e2sm/lib/RANParameter-Testing-STRUCTURE.c
new file mode 100644
index 0000000..2080910
--- /dev/null
+++ b/e2sm/lib/RANParameter-Testing-STRUCTURE.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing-STRUCTURE.h"
+
+#include "RANParameter-Testing-Item.h"
+static asn_oer_constraints_t asn_OER_type_RANParameter_Testing_STRUCTURE_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+asn_per_constraints_t asn_PER_type_RANParameter_Testing_STRUCTURE_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_STRUCTURE_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANParameter_Testing_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_STRUCTURE_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_RANParameter_Testing_STRUCTURE_specs_1 = {
+ sizeof(struct RANParameter_Testing_STRUCTURE),
+ offsetof(struct RANParameter_Testing_STRUCTURE, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_STRUCTURE = {
+ "RANParameter-Testing-STRUCTURE",
+ "RANParameter-Testing-STRUCTURE",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_RANParameter_Testing_STRUCTURE_tags_1,
+ sizeof(asn_DEF_RANParameter_Testing_STRUCTURE_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_STRUCTURE_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_Testing_STRUCTURE_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_Testing_STRUCTURE_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_STRUCTURE_tags_1[0]), /* 1 */
+ { &asn_OER_type_RANParameter_Testing_STRUCTURE_constr_1, &asn_PER_type_RANParameter_Testing_STRUCTURE_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_RANParameter_Testing_STRUCTURE_1,
+ 1, /* Single element */
+ &asn_SPC_RANParameter_Testing_STRUCTURE_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Testing.c b/e2sm/lib/RANParameter-Testing.c
new file mode 100644
index 0000000..6aa8873
--- /dev/null
+++ b/e2sm/lib/RANParameter-Testing.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing.h"
+
+#include "RANParameter-Testing-Item.h"
+static asn_oer_constraints_t asn_OER_type_RANParameter_Testing_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..255)) */};
+asn_per_constraints_t asn_PER_type_RANParameter_Testing_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANParameter_Testing_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_RANParameter_Testing_specs_1 = {
+ sizeof(struct RANParameter_Testing),
+ offsetof(struct RANParameter_Testing, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing = {
+ "RANParameter-Testing",
+ "RANParameter-Testing",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_RANParameter_Testing_tags_1,
+ sizeof(asn_DEF_RANParameter_Testing_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_Testing_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_Testing_tags_1)
+ /sizeof(asn_DEF_RANParameter_Testing_tags_1[0]), /* 1 */
+ { &asn_OER_type_RANParameter_Testing_constr_1, &asn_PER_type_RANParameter_Testing_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_RANParameter_Testing_1,
+ 1, /* Single element */
+ &asn_SPC_RANParameter_Testing_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-TestingCondition.c b/e2sm/lib/RANParameter-TestingCondition.c
new file mode 100644
index 0000000..35db21f
--- /dev/null
+++ b/e2sm/lib/RANParameter-TestingCondition.c
@@ -0,0 +1,179 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-TestingCondition.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_ranP_Choice_comparison_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_ranP_Choice_comparison_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ranP_Choice_presence_constr_10 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_ranP_Choice_presence_constr_10 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_RANParameter_TestingCondition_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_RANParameter_TestingCondition_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_ranP_Choice_comparison_value2enum_2[] = {
+ { 0, 5, "equal" },
+ { 1, 10, "difference" },
+ { 2, 11, "greaterthan" },
+ { 3, 8, "lessthan" },
+ { 4, 8, "contains" },
+ { 5, 11, "starts-with" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_ranP_Choice_comparison_enum2value_2[] = {
+ 4, /* contains(4) */
+ 1, /* difference(1) */
+ 0, /* equal(0) */
+ 2, /* greaterthan(2) */
+ 3, /* lessthan(3) */
+ 5 /* starts-with(5) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_ranP_Choice_comparison_specs_2 = {
+ asn_MAP_ranP_Choice_comparison_value2enum_2, /* "tag" => N; sorted by tag */
+ asn_MAP_ranP_Choice_comparison_enum2value_2, /* N => "tag"; sorted by N */
+ 6, /* Number of elements in the maps */
+ 7, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_ranP_Choice_comparison_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_Choice_comparison_2 = {
+ "ranP-Choice-comparison",
+ "ranP-Choice-comparison",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_ranP_Choice_comparison_tags_2,
+ sizeof(asn_DEF_ranP_Choice_comparison_tags_2)
+ /sizeof(asn_DEF_ranP_Choice_comparison_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ranP_Choice_comparison_tags_2, /* Same as above */
+ sizeof(asn_DEF_ranP_Choice_comparison_tags_2)
+ /sizeof(asn_DEF_ranP_Choice_comparison_tags_2[0]), /* 2 */
+ { &asn_OER_type_ranP_Choice_comparison_constr_2, &asn_PER_type_ranP_Choice_comparison_constr_2, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_ranP_Choice_comparison_specs_2 /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_ranP_Choice_presence_value2enum_10[] = {
+ { 0, 7, "present" },
+ { 1, 10, "configured" },
+ { 2, 8, "rollover" },
+ { 3, 8, "non-zero" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_ranP_Choice_presence_enum2value_10[] = {
+ 1, /* configured(1) */
+ 3, /* non-zero(3) */
+ 0, /* present(0) */
+ 2 /* rollover(2) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_ranP_Choice_presence_specs_10 = {
+ asn_MAP_ranP_Choice_presence_value2enum_10, /* "tag" => N; sorted by tag */
+ asn_MAP_ranP_Choice_presence_enum2value_10, /* N => "tag"; sorted by N */
+ 4, /* Number of elements in the maps */
+ 5, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_ranP_Choice_presence_tags_10[] = {
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_Choice_presence_10 = {
+ "ranP-Choice-presence",
+ "ranP-Choice-presence",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_ranP_Choice_presence_tags_10,
+ sizeof(asn_DEF_ranP_Choice_presence_tags_10)
+ /sizeof(asn_DEF_ranP_Choice_presence_tags_10[0]) - 1, /* 1 */
+ asn_DEF_ranP_Choice_presence_tags_10, /* Same as above */
+ sizeof(asn_DEF_ranP_Choice_presence_tags_10)
+ /sizeof(asn_DEF_ranP_Choice_presence_tags_10[0]), /* 2 */
+ { &asn_OER_type_ranP_Choice_presence_constr_10, &asn_PER_type_ranP_Choice_presence_constr_10, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_ranP_Choice_presence_specs_10 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANParameter_TestingCondition_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_TestingCondition, choice.ranP_Choice_comparison),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ranP_Choice_comparison_2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranP-Choice-comparison"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_TestingCondition, choice.ranP_Choice_presence),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ranP_Choice_presence_10,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranP-Choice-presence"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_TestingCondition_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranP-Choice-comparison */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranP-Choice-presence */
+};
+asn_CHOICE_specifics_t asn_SPC_RANParameter_TestingCondition_specs_1 = {
+ sizeof(struct RANParameter_TestingCondition),
+ offsetof(struct RANParameter_TestingCondition, _asn_ctx),
+ offsetof(struct RANParameter_TestingCondition, present),
+ sizeof(((struct RANParameter_TestingCondition *)0)->present),
+ asn_MAP_RANParameter_TestingCondition_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_TestingCondition = {
+ "RANParameter-TestingCondition",
+ "RANParameter-TestingCondition",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_RANParameter_TestingCondition_constr_1, &asn_PER_type_RANParameter_TestingCondition_constr_1, CHOICE_constraint },
+ asn_MBR_RANParameter_TestingCondition_1,
+ 2, /* Elements count */
+ &asn_SPC_RANParameter_TestingCondition_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Value.c b/e2sm/lib/RANParameter-Value.c
index 91f2bc9..f3cc00c 100644
--- a/e2sm/lib/RANParameter-Value.c
+++ b/e2sm/lib/RANParameter-Value.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
@@ -11,22 +11,49 @@
{ 0, 0 },
-1};
asn_per_constraints_t asn_PER_type_RANParameter_Value_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
asn_TYPE_member_t asn_MBR_RANParameter_Value_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Value, choice.valueInt),
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Value, choice.valueBoolean),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
+ &asn_DEF_BOOLEAN,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "valueBoolean"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Value, choice.valueInt),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
&asn_DEF_NativeInteger,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"valueInt"
},
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Value, choice.valueReal),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeReal,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "valueReal"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Value, choice.valueBitS),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "valueBitS"
+ },
{ ATF_NOFLAGS, 0, offsetof(struct RANParameter_Value, choice.valueOctS),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
@@ -34,10 +61,23 @@
0, 0, /* No default value */
"valueOctS"
},
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Value, choice.valuePrintableString),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PrintableString,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "valuePrintableString"
+ },
};
static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Value_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* valueInt */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* valueOctS */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* valueBoolean */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* valueInt */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* valueReal */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* valueBitS */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* valueOctS */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* valuePrintableString */
};
asn_CHOICE_specifics_t asn_SPC_RANParameter_Value_specs_1 = {
sizeof(struct RANParameter_Value),
@@ -45,9 +85,9 @@
offsetof(struct RANParameter_Value, present),
sizeof(((struct RANParameter_Value *)0)->present),
asn_MAP_RANParameter_Value_tag2el_1,
- 2, /* Count of tags in the map */
+ 6, /* Count of tags in the map */
0, 0,
- 2 /* Extensions start */
+ 6 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_RANParameter_Value = {
"RANParameter-Value",
@@ -59,7 +99,7 @@
0, /* No tags (count) */
{ &asn_OER_type_RANParameter_Value_constr_1, &asn_PER_type_RANParameter_Value_constr_1, CHOICE_constraint },
asn_MBR_RANParameter_Value_1,
- 2, /* Elements count */
+ 6, /* Elements count */
&asn_SPC_RANParameter_Value_specs_1 /* Additional specs */
};
diff --git a/e2sm/lib/RANParameter-ValueType-Choice-ElementFalse.c b/e2sm/lib/RANParameter-ValueType-Choice-ElementFalse.c
new file mode 100644
index 0000000..943ee92
--- /dev/null
+++ b/e2sm/lib/RANParameter-ValueType-Choice-ElementFalse.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-ValueType-Choice-ElementFalse.h"
+
+#include "RANParameter-Value.h"
+asn_TYPE_member_t asn_MBR_RANParameter_ValueType_Choice_ElementFalse_1[] = {
+ { ATF_POINTER, 1, offsetof(struct RANParameter_ValueType_Choice_ElementFalse, ranParameter_value),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANParameter_Value,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-value"
+ },
+};
+static const int asn_MAP_RANParameter_ValueType_Choice_ElementFalse_oms_1[] = { 0 };
+static const ber_tlv_tag_t asn_DEF_RANParameter_ValueType_Choice_ElementFalse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_ValueType_Choice_ElementFalse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ValueType_Choice_ElementFalse_specs_1 = {
+ sizeof(struct RANParameter_ValueType_Choice_ElementFalse),
+ offsetof(struct RANParameter_ValueType_Choice_ElementFalse, _asn_ctx),
+ asn_MAP_RANParameter_ValueType_Choice_ElementFalse_tag2el_1,
+ 1, /* Count of tags in the map */
+ asn_MAP_RANParameter_ValueType_Choice_ElementFalse_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType_Choice_ElementFalse = {
+ "RANParameter-ValueType-Choice-ElementFalse",
+ "RANParameter-ValueType-Choice-ElementFalse",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_ValueType_Choice_ElementFalse_tags_1,
+ sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementFalse_tags_1)
+ /sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementFalse_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_ValueType_Choice_ElementFalse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementFalse_tags_1)
+ /sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementFalse_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_ValueType_Choice_ElementFalse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANParameter_ValueType_Choice_ElementFalse_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-ValueType-Choice-ElementTrue.c b/e2sm/lib/RANParameter-ValueType-Choice-ElementTrue.c
new file mode 100644
index 0000000..2cb2bcd
--- /dev/null
+++ b/e2sm/lib/RANParameter-ValueType-Choice-ElementTrue.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-ValueType-Choice-ElementTrue.h"
+
+asn_TYPE_member_t asn_MBR_RANParameter_ValueType_Choice_ElementTrue_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANParameter_ValueType_Choice_ElementTrue, ranParameter_value),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANParameter_Value,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_ValueType_Choice_ElementTrue_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_ValueType_Choice_ElementTrue_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ValueType_Choice_ElementTrue_specs_1 = {
+ sizeof(struct RANParameter_ValueType_Choice_ElementTrue),
+ offsetof(struct RANParameter_ValueType_Choice_ElementTrue, _asn_ctx),
+ asn_MAP_RANParameter_ValueType_Choice_ElementTrue_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType_Choice_ElementTrue = {
+ "RANParameter-ValueType-Choice-ElementTrue",
+ "RANParameter-ValueType-Choice-ElementTrue",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_ValueType_Choice_ElementTrue_tags_1,
+ sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementTrue_tags_1)
+ /sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementTrue_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_ValueType_Choice_ElementTrue_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementTrue_tags_1)
+ /sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementTrue_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_ValueType_Choice_ElementTrue_1,
+ 1, /* Elements count */
+ &asn_SPC_RANParameter_ValueType_Choice_ElementTrue_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-ValueType-Choice-List.c b/e2sm/lib/RANParameter-ValueType-Choice-List.c
new file mode 100644
index 0000000..f4572e2
--- /dev/null
+++ b/e2sm/lib/RANParameter-ValueType-Choice-List.c
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-ValueType-Choice-List.h"
+
+#include "RANParameter-LIST.h"
+asn_TYPE_member_t asn_MBR_RANParameter_ValueType_Choice_List_1[] = {
+ { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType_Choice_List, ranParameter_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_LIST,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_ValueType_Choice_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_ValueType_Choice_List_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ValueType_Choice_List_specs_1 = {
+ sizeof(struct RANParameter_ValueType_Choice_List),
+ offsetof(struct RANParameter_ValueType_Choice_List, _asn_ctx),
+ asn_MAP_RANParameter_ValueType_Choice_List_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType_Choice_List = {
+ "RANParameter-ValueType-Choice-List",
+ "RANParameter-ValueType-Choice-List",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_ValueType_Choice_List_tags_1,
+ sizeof(asn_DEF_RANParameter_ValueType_Choice_List_tags_1)
+ /sizeof(asn_DEF_RANParameter_ValueType_Choice_List_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_ValueType_Choice_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_ValueType_Choice_List_tags_1)
+ /sizeof(asn_DEF_RANParameter_ValueType_Choice_List_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_ValueType_Choice_List_1,
+ 1, /* Elements count */
+ &asn_SPC_RANParameter_ValueType_Choice_List_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-ValueType-Choice-Structure.c b/e2sm/lib/RANParameter-ValueType-Choice-Structure.c
new file mode 100644
index 0000000..bea8294
--- /dev/null
+++ b/e2sm/lib/RANParameter-ValueType-Choice-Structure.c
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-ValueType-Choice-Structure.h"
+
+#include "RANParameter-STRUCTURE.h"
+asn_TYPE_member_t asn_MBR_RANParameter_ValueType_Choice_Structure_1[] = {
+ { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType_Choice_Structure, ranParameter_Structure),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_STRUCTURE,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Structure"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_ValueType_Choice_Structure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_ValueType_Choice_Structure_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-Structure */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ValueType_Choice_Structure_specs_1 = {
+ sizeof(struct RANParameter_ValueType_Choice_Structure),
+ offsetof(struct RANParameter_ValueType_Choice_Structure, _asn_ctx),
+ asn_MAP_RANParameter_ValueType_Choice_Structure_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType_Choice_Structure = {
+ "RANParameter-ValueType-Choice-Structure",
+ "RANParameter-ValueType-Choice-Structure",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANParameter_ValueType_Choice_Structure_tags_1,
+ sizeof(asn_DEF_RANParameter_ValueType_Choice_Structure_tags_1)
+ /sizeof(asn_DEF_RANParameter_ValueType_Choice_Structure_tags_1[0]), /* 1 */
+ asn_DEF_RANParameter_ValueType_Choice_Structure_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANParameter_ValueType_Choice_Structure_tags_1)
+ /sizeof(asn_DEF_RANParameter_ValueType_Choice_Structure_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANParameter_ValueType_Choice_Structure_1,
+ 1, /* Elements count */
+ &asn_SPC_RANParameter_ValueType_Choice_Structure_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-ValueType.c b/e2sm/lib/RANParameter-ValueType.c
index ebbf953..8852e86 100644
--- a/e2sm/lib/RANParameter-ValueType.c
+++ b/e2sm/lib/RANParameter-ValueType.c
@@ -1,56 +1,67 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
#include "RANParameter-ValueType.h"
-#include "RANParameter-ELEMENT.h"
-#include "RANParameter-STRUCTURE.h"
-#include "RANParameter-LIST.h"
+#include "RANParameter-ValueType-Choice-ElementTrue.h"
+#include "RANParameter-ValueType-Choice-ElementFalse.h"
+#include "RANParameter-ValueType-Choice-Structure.h"
+#include "RANParameter-ValueType-Choice-List.h"
static asn_oer_constraints_t asn_OER_type_RANParameter_ValueType_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
asn_per_constraints_t asn_PER_type_RANParameter_ValueType_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
asn_TYPE_member_t asn_MBR_RANParameter_ValueType_1[] = {
- { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType, choice.ranParameter_Element),
+ { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType, choice.ranP_Choice_ElementTrue),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_RANParameter_ELEMENT,
+ &asn_DEF_RANParameter_ValueType_Choice_ElementTrue,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "ranParameter-Element"
+ "ranP-Choice-ElementTrue"
},
- { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType, choice.ranParameter_Structure),
+ { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType, choice.ranP_Choice_ElementFalse),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_RANParameter_STRUCTURE,
+ &asn_DEF_RANParameter_ValueType_Choice_ElementFalse,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "ranParameter-Structure"
+ "ranP-Choice-ElementFalse"
},
- { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType, choice.ranParameter_List),
+ { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType, choice.ranP_Choice_Structure),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_RANParameter_LIST,
+ &asn_DEF_RANParameter_ValueType_Choice_Structure,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "ranParameter-List"
+ "ranP-Choice-Structure"
+ },
+ { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType, choice.ranP_Choice_List),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ValueType_Choice_List,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranP-Choice-List"
},
};
static const asn_TYPE_tag2member_t asn_MAP_RANParameter_ValueType_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-Element */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-Structure */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-List */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranP-Choice-ElementTrue */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranP-Choice-ElementFalse */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ranP-Choice-Structure */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ranP-Choice-List */
};
asn_CHOICE_specifics_t asn_SPC_RANParameter_ValueType_specs_1 = {
sizeof(struct RANParameter_ValueType),
@@ -58,9 +69,9 @@
offsetof(struct RANParameter_ValueType, present),
sizeof(((struct RANParameter_ValueType *)0)->present),
asn_MAP_RANParameter_ValueType_tag2el_1,
- 3, /* Count of tags in the map */
+ 4, /* Count of tags in the map */
0, 0,
- 3 /* Extensions start */
+ 4 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType = {
"RANParameter-ValueType",
@@ -72,7 +83,7 @@
0, /* No tags (count) */
{ &asn_OER_type_RANParameter_ValueType_constr_1, &asn_PER_type_RANParameter_ValueType_constr_1, CHOICE_constraint },
asn_MBR_RANParameter_ValueType_1,
- 3, /* Elements count */
+ 4, /* Elements count */
&asn_SPC_RANParameter_ValueType_specs_1 /* Additional specs */
};
diff --git a/e2sm/lib/RANUEID.c b/e2sm/lib/RANUEID.c
new file mode 100644
index 0000000..f1fe907
--- /dev/null
+++ b/e2sm/lib/RANUEID.c
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANUEID.h"
+
+int
+RANUEID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size == 8)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RANUEID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 8 /* (SIZE(8..8)) */};
+asn_per_constraints_t asn_PER_type_RANUEID_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANUEID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANUEID = {
+ "RANUEID",
+ "RANUEID",
+ &asn_OP_OCTET_STRING,
+ asn_DEF_RANUEID_tags_1,
+ sizeof(asn_DEF_RANUEID_tags_1)
+ /sizeof(asn_DEF_RANUEID_tags_1[0]), /* 1 */
+ asn_DEF_RANUEID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANUEID_tags_1)
+ /sizeof(asn_DEF_RANUEID_tags_1[0]), /* 1 */
+ { &asn_OER_type_RANUEID_constr_1, &asn_PER_type_RANUEID_constr_1, RANUEID_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_OCTET_STRING_specs /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANfunction-Name.c b/e2sm/lib/RANfunction-Name.c
index a56189d..d467e01 100644
--- a/e2sm/lib/RANfunction-Name.c
+++ b/e2sm/lib/RANfunction-Name.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
@@ -155,7 +155,7 @@
size = st->size;
- if((size >= 1 && size <= 150)
+ if((size >= 1 && size <= 1000)
&& !check_permitted_alphabet_3(st)) {
/* Constraint check succeeded */
return 0;
@@ -228,7 +228,7 @@
-1 /* (SIZE(0..MAX)) */};
static asn_per_constraints_t asn_PER_memb_ranFunction_E2SM_OID_constr_3 CC_NOTUSED = {
{ APC_CONSTRAINED, 7, 7, 32, 122 } /* (32..122) */,
- { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 150 } /* (SIZE(1..150,...)) */,
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 1000 } /* (SIZE(1..1000,...)) */,
asn_PER_MAP_ranFunction_E2SM_OID_3_v2c, /* Value to PER code map */
asn_PER_MAP_ranFunction_E2SM_OID_3_c2v /* PER code to value map */
};
diff --git a/e2sm/lib/RIC-CallProcessBreakpoint-ID.c b/e2sm/lib/RIC-CallProcessBreakpoint-ID.c
new file mode 100644
index 0000000..bd9f37b
--- /dev/null
+++ b/e2sm/lib/RIC-CallProcessBreakpoint-ID.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-CallProcessBreakpoint-ID.h"
+
+int
+RIC_CallProcessBreakpoint_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 65535)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_CallProcessBreakpoint_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_RIC_CallProcessBreakpoint_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, 16, 1, 65535 } /* (1..65535,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_CallProcessBreakpoint_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_CallProcessBreakpoint_ID = {
+ "RIC-CallProcessBreakpoint-ID",
+ "RIC-CallProcessBreakpoint-ID",
+ &asn_OP_NativeInteger,
+ asn_DEF_RIC_CallProcessBreakpoint_ID_tags_1,
+ sizeof(asn_DEF_RIC_CallProcessBreakpoint_ID_tags_1)
+ /sizeof(asn_DEF_RIC_CallProcessBreakpoint_ID_tags_1[0]), /* 1 */
+ asn_DEF_RIC_CallProcessBreakpoint_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RIC_CallProcessBreakpoint_ID_tags_1)
+ /sizeof(asn_DEF_RIC_CallProcessBreakpoint_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_RIC_CallProcessBreakpoint_ID_constr_1, &asn_PER_type_RIC_CallProcessBreakpoint_ID_constr_1, RIC_CallProcessBreakpoint_ID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/RANcallProcess-ID-string.c b/e2sm/lib/RIC-CallProcessBreakpoint-Name.c
similarity index 65%
copy from e2sm/lib/RANcallProcess-ID-string.c
copy to e2sm/lib/RIC-CallProcessBreakpoint-Name.c
index 69092be..85d59b2 100644
--- a/e2sm/lib/RANcallProcess-ID-string.c
+++ b/e2sm/lib/RIC-CallProcessBreakpoint-Name.c
@@ -1,11 +1,11 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
-#include "RANcallProcess-ID-string.h"
+#include "RIC-CallProcessBreakpoint-Name.h"
static const int permitted_alphabet_table_1[256] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
@@ -40,7 +40,7 @@
}
int
-RANcallProcess_ID_string_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+RIC_CallProcessBreakpoint_Name_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const PrintableString_t *st = (const PrintableString_t *)sptr;
size_t size;
@@ -66,12 +66,12 @@
}
}
-static int asn_PER_MAP_RANcallProcess_ID_string_1_v2c(unsigned int value) {
+static int asn_PER_MAP_RIC_CallProcessBreakpoint_Name_1_v2c(unsigned int value) {
if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
return -1;
return permitted_alphabet_table_1[value] - 1;
}
-static int asn_PER_MAP_RANcallProcess_ID_string_1_c2v(unsigned int code) {
+static int asn_PER_MAP_RIC_CallProcessBreakpoint_Name_1_c2v(unsigned int code) {
if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
return -1;
return permitted_alphabet_code2value_1[code];
@@ -80,29 +80,29 @@
* This type is implemented using PrintableString,
* so here we adjust the DEF accordingly.
*/
-static asn_oer_constraints_t asn_OER_type_RANcallProcess_ID_string_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_RIC_CallProcessBreakpoint_Name_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..MAX)) */};
-static asn_per_constraints_t asn_PER_type_RANcallProcess_ID_string_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_RIC_CallProcessBreakpoint_Name_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 7, 7, 32, 122 } /* (32..122) */,
{ APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 150 } /* (SIZE(1..150,...)) */,
- asn_PER_MAP_RANcallProcess_ID_string_1_v2c, /* Value to PER code map */
- asn_PER_MAP_RANcallProcess_ID_string_1_c2v /* PER code to value map */
+ asn_PER_MAP_RIC_CallProcessBreakpoint_Name_1_v2c, /* Value to PER code map */
+ asn_PER_MAP_RIC_CallProcessBreakpoint_Name_1_c2v /* PER code to value map */
};
-static const ber_tlv_tag_t asn_DEF_RANcallProcess_ID_string_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_RIC_CallProcessBreakpoint_Name_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
};
-asn_TYPE_descriptor_t asn_DEF_RANcallProcess_ID_string = {
- "RANcallProcess-ID-string",
- "RANcallProcess-ID-string",
+asn_TYPE_descriptor_t asn_DEF_RIC_CallProcessBreakpoint_Name = {
+ "RIC-CallProcessBreakpoint-Name",
+ "RIC-CallProcessBreakpoint-Name",
&asn_OP_PrintableString,
- asn_DEF_RANcallProcess_ID_string_tags_1,
- sizeof(asn_DEF_RANcallProcess_ID_string_tags_1)
- /sizeof(asn_DEF_RANcallProcess_ID_string_tags_1[0]), /* 1 */
- asn_DEF_RANcallProcess_ID_string_tags_1, /* Same as above */
- sizeof(asn_DEF_RANcallProcess_ID_string_tags_1)
- /sizeof(asn_DEF_RANcallProcess_ID_string_tags_1[0]), /* 1 */
- { &asn_OER_type_RANcallProcess_ID_string_constr_1, &asn_PER_type_RANcallProcess_ID_string_constr_1, RANcallProcess_ID_string_constraint },
+ asn_DEF_RIC_CallProcessBreakpoint_Name_tags_1,
+ sizeof(asn_DEF_RIC_CallProcessBreakpoint_Name_tags_1)
+ /sizeof(asn_DEF_RIC_CallProcessBreakpoint_Name_tags_1[0]), /* 1 */
+ asn_DEF_RIC_CallProcessBreakpoint_Name_tags_1, /* Same as above */
+ sizeof(asn_DEF_RIC_CallProcessBreakpoint_Name_tags_1)
+ /sizeof(asn_DEF_RIC_CallProcessBreakpoint_Name_tags_1[0]), /* 1 */
+ { &asn_OER_type_RIC_CallProcessBreakpoint_Name_constr_1, &asn_PER_type_RIC_CallProcessBreakpoint_Name_constr_1, RIC_CallProcessBreakpoint_Name_constraint },
0, 0, /* No members */
0 /* No specifics */
};
diff --git a/e2sm/lib/RIC-CallProcessType-ID.c b/e2sm/lib/RIC-CallProcessType-ID.c
new file mode 100644
index 0000000..8cdeed4
--- /dev/null
+++ b/e2sm/lib/RIC-CallProcessType-ID.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-CallProcessType-ID.h"
+
+int
+RIC_CallProcessType_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 65535)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_CallProcessType_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_RIC_CallProcessType_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, 16, 1, 65535 } /* (1..65535,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_CallProcessType_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_CallProcessType_ID = {
+ "RIC-CallProcessType-ID",
+ "RIC-CallProcessType-ID",
+ &asn_OP_NativeInteger,
+ asn_DEF_RIC_CallProcessType_ID_tags_1,
+ sizeof(asn_DEF_RIC_CallProcessType_ID_tags_1)
+ /sizeof(asn_DEF_RIC_CallProcessType_ID_tags_1[0]), /* 1 */
+ asn_DEF_RIC_CallProcessType_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RIC_CallProcessType_ID_tags_1)
+ /sizeof(asn_DEF_RIC_CallProcessType_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_RIC_CallProcessType_ID_constr_1, &asn_PER_type_RIC_CallProcessType_ID_constr_1, RIC_CallProcessType_ID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/RANcallProcess-ID-string.c b/e2sm/lib/RIC-CallProcessType-Name.c
similarity index 69%
rename from e2sm/lib/RANcallProcess-ID-string.c
rename to e2sm/lib/RIC-CallProcessType-Name.c
index 69092be..419f264 100644
--- a/e2sm/lib/RANcallProcess-ID-string.c
+++ b/e2sm/lib/RIC-CallProcessType-Name.c
@@ -1,11 +1,11 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
-#include "RANcallProcess-ID-string.h"
+#include "RIC-CallProcessType-Name.h"
static const int permitted_alphabet_table_1[256] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
@@ -40,7 +40,7 @@
}
int
-RANcallProcess_ID_string_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+RIC_CallProcessType_Name_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const PrintableString_t *st = (const PrintableString_t *)sptr;
size_t size;
@@ -66,12 +66,12 @@
}
}
-static int asn_PER_MAP_RANcallProcess_ID_string_1_v2c(unsigned int value) {
+static int asn_PER_MAP_RIC_CallProcessType_Name_1_v2c(unsigned int value) {
if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
return -1;
return permitted_alphabet_table_1[value] - 1;
}
-static int asn_PER_MAP_RANcallProcess_ID_string_1_c2v(unsigned int code) {
+static int asn_PER_MAP_RIC_CallProcessType_Name_1_c2v(unsigned int code) {
if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
return -1;
return permitted_alphabet_code2value_1[code];
@@ -80,29 +80,29 @@
* This type is implemented using PrintableString,
* so here we adjust the DEF accordingly.
*/
-static asn_oer_constraints_t asn_OER_type_RANcallProcess_ID_string_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_RIC_CallProcessType_Name_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..MAX)) */};
-static asn_per_constraints_t asn_PER_type_RANcallProcess_ID_string_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_RIC_CallProcessType_Name_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 7, 7, 32, 122 } /* (32..122) */,
{ APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 150 } /* (SIZE(1..150,...)) */,
- asn_PER_MAP_RANcallProcess_ID_string_1_v2c, /* Value to PER code map */
- asn_PER_MAP_RANcallProcess_ID_string_1_c2v /* PER code to value map */
+ asn_PER_MAP_RIC_CallProcessType_Name_1_v2c, /* Value to PER code map */
+ asn_PER_MAP_RIC_CallProcessType_Name_1_c2v /* PER code to value map */
};
-static const ber_tlv_tag_t asn_DEF_RANcallProcess_ID_string_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_RIC_CallProcessType_Name_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
};
-asn_TYPE_descriptor_t asn_DEF_RANcallProcess_ID_string = {
- "RANcallProcess-ID-string",
- "RANcallProcess-ID-string",
+asn_TYPE_descriptor_t asn_DEF_RIC_CallProcessType_Name = {
+ "RIC-CallProcessType-Name",
+ "RIC-CallProcessType-Name",
&asn_OP_PrintableString,
- asn_DEF_RANcallProcess_ID_string_tags_1,
- sizeof(asn_DEF_RANcallProcess_ID_string_tags_1)
- /sizeof(asn_DEF_RANcallProcess_ID_string_tags_1[0]), /* 1 */
- asn_DEF_RANcallProcess_ID_string_tags_1, /* Same as above */
- sizeof(asn_DEF_RANcallProcess_ID_string_tags_1)
- /sizeof(asn_DEF_RANcallProcess_ID_string_tags_1[0]), /* 1 */
- { &asn_OER_type_RANcallProcess_ID_string_constr_1, &asn_PER_type_RANcallProcess_ID_string_constr_1, RANcallProcess_ID_string_constraint },
+ asn_DEF_RIC_CallProcessType_Name_tags_1,
+ sizeof(asn_DEF_RIC_CallProcessType_Name_tags_1)
+ /sizeof(asn_DEF_RIC_CallProcessType_Name_tags_1[0]), /* 1 */
+ asn_DEF_RIC_CallProcessType_Name_tags_1, /* Same as above */
+ sizeof(asn_DEF_RIC_CallProcessType_Name_tags_1)
+ /sizeof(asn_DEF_RIC_CallProcessType_Name_tags_1[0]), /* 1 */
+ { &asn_OER_type_RIC_CallProcessType_Name_constr_1, &asn_PER_type_RIC_CallProcessType_Name_constr_1, RIC_CallProcessType_Name_constraint },
0, 0, /* No members */
0 /* No specifics */
};
diff --git a/e2sm/lib/RIC-ControlAction-ID.c b/e2sm/lib/RIC-ControlAction-ID.c
index b0a0178..839a7b2 100644
--- a/e2sm/lib/RIC-ControlAction-ID.c
+++ b/e2sm/lib/RIC-ControlAction-ID.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
@@ -21,7 +21,7 @@
value = *(const long *)sptr;
- if((value >= 0 && value <= 65535)) {
+ if((value >= 1 && value <= 65535)) {
/* Constraint check succeeded */
return 0;
} else {
@@ -37,10 +37,10 @@
* so here we adjust the DEF accordingly.
*/
static asn_oer_constraints_t asn_OER_type_RIC_ControlAction_ID_constr_1 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
+ { 0, 0 },
-1};
asn_per_constraints_t asn_PER_type_RIC_ControlAction_ID_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, 16, 1, 65535 } /* (1..65535,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
diff --git a/e2sm/lib/RIC-ControlAction-Item.c b/e2sm/lib/RIC-ControlAction-Item.c
deleted file mode 100644
index cc89d2d..0000000
--- a/e2sm/lib/RIC-ControlAction-Item.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RIC-ControlAction-Item.h"
-
-#include "RAN-ControlParameter-Item.h"
-static int
-memb_ran_ControlParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 4294967295)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_ran_ControlParameters_List_constr_4 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..4294967295)) */};
-static asn_per_constraints_t asn_PER_type_ran_ControlParameters_List_constr_4 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 32, -1, 1, 4294967295 } /* (SIZE(1..4294967295)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ran_ControlParameters_List_constr_4 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..4294967295)) */};
-static asn_per_constraints_t asn_PER_memb_ran_ControlParameters_List_constr_4 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 32, -1, 1, 4294967295 } /* (SIZE(1..4294967295)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_ran_ControlParameters_List_4[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_RAN_ControlParameter_Item,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_ran_ControlParameters_List_tags_4[] = {
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_ran_ControlParameters_List_specs_4 = {
- sizeof(struct RIC_ControlAction_Item__ran_ControlParameters_List),
- offsetof(struct RIC_ControlAction_Item__ran_ControlParameters_List, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_ran_ControlParameters_List_4 = {
- "ran-ControlParameters-List",
- "ran-ControlParameters-List",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_ran_ControlParameters_List_tags_4,
- sizeof(asn_DEF_ran_ControlParameters_List_tags_4)
- /sizeof(asn_DEF_ran_ControlParameters_List_tags_4[0]) - 1, /* 1 */
- asn_DEF_ran_ControlParameters_List_tags_4, /* Same as above */
- sizeof(asn_DEF_ran_ControlParameters_List_tags_4)
- /sizeof(asn_DEF_ran_ControlParameters_List_tags_4[0]), /* 2 */
- { &asn_OER_type_ran_ControlParameters_List_constr_4, &asn_PER_type_ran_ControlParameters_List_constr_4, SEQUENCE_OF_constraint },
- asn_MBR_ran_ControlParameters_List_4,
- 1, /* Single element */
- &asn_SPC_ran_ControlParameters_List_specs_4 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_RIC_ControlAction_Item_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RIC_ControlAction_Item, ric_ControlAction_ID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RIC_ControlAction_ID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ric-ControlAction-ID"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RIC_ControlAction_Item, ric_ControlAction_Name),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RIC_ControlAction_Name,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ric-ControlAction-Name"
- },
- { ATF_POINTER, 1, offsetof(struct RIC_ControlAction_Item, ran_ControlParameters_List),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- 0,
- &asn_DEF_ran_ControlParameters_List_4,
- 0,
- { &asn_OER_memb_ran_ControlParameters_List_constr_4, &asn_PER_memb_ran_ControlParameters_List_constr_4, memb_ran_ControlParameters_List_constraint_1 },
- 0, 0, /* No default value */
- "ran-ControlParameters-List"
- },
-};
-static const int asn_MAP_RIC_ControlAction_Item_oms_1[] = { 2 };
-static const ber_tlv_tag_t asn_DEF_RIC_ControlAction_Item_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RIC_ControlAction_Item_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ControlAction-ID */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ControlAction-Name */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ran-ControlParameters-List */
-};
-asn_SEQUENCE_specifics_t asn_SPC_RIC_ControlAction_Item_specs_1 = {
- sizeof(struct RIC_ControlAction_Item),
- offsetof(struct RIC_ControlAction_Item, _asn_ctx),
- asn_MAP_RIC_ControlAction_Item_tag2el_1,
- 3, /* Count of tags in the map */
- asn_MAP_RIC_ControlAction_Item_oms_1, /* Optional members */
- 1, 0, /* Root/Additions */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RIC_ControlAction_Item = {
- "RIC-ControlAction-Item",
- "RIC-ControlAction-Item",
- &asn_OP_SEQUENCE,
- asn_DEF_RIC_ControlAction_Item_tags_1,
- sizeof(asn_DEF_RIC_ControlAction_Item_tags_1)
- /sizeof(asn_DEF_RIC_ControlAction_Item_tags_1[0]), /* 1 */
- asn_DEF_RIC_ControlAction_Item_tags_1, /* Same as above */
- sizeof(asn_DEF_RIC_ControlAction_Item_tags_1)
- /sizeof(asn_DEF_RIC_ControlAction_Item_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_RIC_ControlAction_Item_1,
- 3, /* Elements count */
- &asn_SPC_RIC_ControlAction_Item_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/RIC-ControlAction-Name.c b/e2sm/lib/RIC-ControlAction-Name.c
index 346ea42..8a6bd62 100644
--- a/e2sm/lib/RIC-ControlAction-Name.c
+++ b/e2sm/lib/RIC-ControlAction-Name.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
diff --git a/e2sm/lib/RIC-ControlStyle-Item.c b/e2sm/lib/RIC-ControlStyle-Item.c
deleted file mode 100644
index 9aae0c9..0000000
--- a/e2sm/lib/RIC-ControlStyle-Item.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RIC-ControlStyle-Item.h"
-
-#include "RIC-ControlAction-Item.h"
-static int
-memb_ric_ControlAction_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 65535)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_ric_ControlAction_List_constr_4 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..65535)) */};
-static asn_per_constraints_t asn_PER_type_ric_ControlAction_List_constr_4 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ric_ControlAction_List_constr_4 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..65535)) */};
-static asn_per_constraints_t asn_PER_memb_ric_ControlAction_List_constr_4 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_ric_ControlAction_List_4[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_RIC_ControlAction_Item,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_ric_ControlAction_List_tags_4[] = {
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_ric_ControlAction_List_specs_4 = {
- sizeof(struct RIC_ControlStyle_Item__ric_ControlAction_List),
- offsetof(struct RIC_ControlStyle_Item__ric_ControlAction_List, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_ric_ControlAction_List_4 = {
- "ric-ControlAction-List",
- "ric-ControlAction-List",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_ric_ControlAction_List_tags_4,
- sizeof(asn_DEF_ric_ControlAction_List_tags_4)
- /sizeof(asn_DEF_ric_ControlAction_List_tags_4[0]) - 1, /* 1 */
- asn_DEF_ric_ControlAction_List_tags_4, /* Same as above */
- sizeof(asn_DEF_ric_ControlAction_List_tags_4)
- /sizeof(asn_DEF_ric_ControlAction_List_tags_4[0]), /* 2 */
- { &asn_OER_type_ric_ControlAction_List_constr_4, &asn_PER_type_ric_ControlAction_List_constr_4, SEQUENCE_OF_constraint },
- asn_MBR_ric_ControlAction_List_4,
- 1, /* Single element */
- &asn_SPC_ric_ControlAction_List_specs_4 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_RIC_ControlStyle_Item_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RIC_ControlStyle_Item, ric_ControlStyle_Type),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RIC_Style_Type,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ric-ControlStyle-Type"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RIC_ControlStyle_Item, ric_ControlStyle_Name),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RIC_Style_Name,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ric-ControlStyle-Name"
- },
- { ATF_POINTER, 1, offsetof(struct RIC_ControlStyle_Item, ric_ControlAction_List),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- 0,
- &asn_DEF_ric_ControlAction_List_4,
- 0,
- { &asn_OER_memb_ric_ControlAction_List_constr_4, &asn_PER_memb_ric_ControlAction_List_constr_4, memb_ric_ControlAction_List_constraint_1 },
- 0, 0, /* No default value */
- "ric-ControlAction-List"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RIC_ControlStyle_Item, ric_ControlHeaderFormat_Type),
- (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RIC_Format_Type,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ric-ControlHeaderFormat-Type"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RIC_ControlStyle_Item, ric_ControlMessageFormat_Type),
- (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RIC_Format_Type,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ric-ControlMessageFormat-Type"
- },
-};
-static const int asn_MAP_RIC_ControlStyle_Item_oms_1[] = { 2 };
-static const ber_tlv_tag_t asn_DEF_RIC_ControlStyle_Item_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RIC_ControlStyle_Item_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ControlStyle-Type */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ControlStyle-Name */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-ControlAction-List */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ric-ControlHeaderFormat-Type */
- { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* ric-ControlMessageFormat-Type */
-};
-asn_SEQUENCE_specifics_t asn_SPC_RIC_ControlStyle_Item_specs_1 = {
- sizeof(struct RIC_ControlStyle_Item),
- offsetof(struct RIC_ControlStyle_Item, _asn_ctx),
- asn_MAP_RIC_ControlStyle_Item_tag2el_1,
- 5, /* Count of tags in the map */
- asn_MAP_RIC_ControlStyle_Item_oms_1, /* Optional members */
- 1, 0, /* Root/Additions */
- 5, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RIC_ControlStyle_Item = {
- "RIC-ControlStyle-Item",
- "RIC-ControlStyle-Item",
- &asn_OP_SEQUENCE,
- asn_DEF_RIC_ControlStyle_Item_tags_1,
- sizeof(asn_DEF_RIC_ControlStyle_Item_tags_1)
- /sizeof(asn_DEF_RIC_ControlStyle_Item_tags_1[0]), /* 1 */
- asn_DEF_RIC_ControlStyle_Item_tags_1, /* Same as above */
- sizeof(asn_DEF_RIC_ControlStyle_Item_tags_1)
- /sizeof(asn_DEF_RIC_ControlStyle_Item_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_RIC_ControlStyle_Item_1,
- 5, /* Elements count */
- &asn_SPC_RIC_ControlStyle_Item_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/RIC-EventTrigger-Cell-ID.c b/e2sm/lib/RIC-EventTrigger-Cell-ID.c
new file mode 100644
index 0000000..1a3e811
--- /dev/null
+++ b/e2sm/lib/RIC-EventTrigger-Cell-ID.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-EventTrigger-Cell-ID.h"
+
+int
+RIC_EventTrigger_Cell_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 65535)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_EventTrigger_Cell_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_RIC_EventTrigger_Cell_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, 16, 1, 65535 } /* (1..65535,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_EventTrigger_Cell_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_EventTrigger_Cell_ID = {
+ "RIC-EventTrigger-Cell-ID",
+ "RIC-EventTrigger-Cell-ID",
+ &asn_OP_NativeInteger,
+ asn_DEF_RIC_EventTrigger_Cell_ID_tags_1,
+ sizeof(asn_DEF_RIC_EventTrigger_Cell_ID_tags_1)
+ /sizeof(asn_DEF_RIC_EventTrigger_Cell_ID_tags_1[0]), /* 1 */
+ asn_DEF_RIC_EventTrigger_Cell_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RIC_EventTrigger_Cell_ID_tags_1)
+ /sizeof(asn_DEF_RIC_EventTrigger_Cell_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_RIC_EventTrigger_Cell_ID_constr_1, &asn_PER_type_RIC_EventTrigger_Cell_ID_constr_1, RIC_EventTrigger_Cell_ID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/RIC-EventTrigger-UE-ID.c b/e2sm/lib/RIC-EventTrigger-UE-ID.c
new file mode 100644
index 0000000..ff95b0f
--- /dev/null
+++ b/e2sm/lib/RIC-EventTrigger-UE-ID.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-EventTrigger-UE-ID.h"
+
+int
+RIC_EventTrigger_UE_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 65535)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_EventTrigger_UE_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_RIC_EventTrigger_UE_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, 16, 1, 65535 } /* (1..65535,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_EventTrigger_UE_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_EventTrigger_UE_ID = {
+ "RIC-EventTrigger-UE-ID",
+ "RIC-EventTrigger-UE-ID",
+ &asn_OP_NativeInteger,
+ asn_DEF_RIC_EventTrigger_UE_ID_tags_1,
+ sizeof(asn_DEF_RIC_EventTrigger_UE_ID_tags_1)
+ /sizeof(asn_DEF_RIC_EventTrigger_UE_ID_tags_1[0]), /* 1 */
+ asn_DEF_RIC_EventTrigger_UE_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RIC_EventTrigger_UE_ID_tags_1)
+ /sizeof(asn_DEF_RIC_EventTrigger_UE_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_RIC_EventTrigger_UE_ID_constr_1, &asn_PER_type_RIC_EventTrigger_UE_ID_constr_1, RIC_EventTrigger_UE_ID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/RIC-EventTrigger-UEevent-ID.c b/e2sm/lib/RIC-EventTrigger-UEevent-ID.c
new file mode 100644
index 0000000..18a1dfc
--- /dev/null
+++ b/e2sm/lib/RIC-EventTrigger-UEevent-ID.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-EventTrigger-UEevent-ID.h"
+
+int
+RIC_EventTrigger_UEevent_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 65535)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_EventTrigger_UEevent_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_RIC_EventTrigger_UEevent_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, 16, 1, 65535 } /* (1..65535,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_EventTrigger_UEevent_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_EventTrigger_UEevent_ID = {
+ "RIC-EventTrigger-UEevent-ID",
+ "RIC-EventTrigger-UEevent-ID",
+ &asn_OP_NativeInteger,
+ asn_DEF_RIC_EventTrigger_UEevent_ID_tags_1,
+ sizeof(asn_DEF_RIC_EventTrigger_UEevent_ID_tags_1)
+ /sizeof(asn_DEF_RIC_EventTrigger_UEevent_ID_tags_1[0]), /* 1 */
+ asn_DEF_RIC_EventTrigger_UEevent_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RIC_EventTrigger_UEevent_ID_tags_1)
+ /sizeof(asn_DEF_RIC_EventTrigger_UEevent_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_RIC_EventTrigger_UEevent_ID_constr_1, &asn_PER_type_RIC_EventTrigger_UEevent_ID_constr_1, RIC_EventTrigger_UEevent_ID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/RIC-EventTriggerCondition-ID.c b/e2sm/lib/RIC-EventTriggerCondition-ID.c
new file mode 100644
index 0000000..de6d3e6
--- /dev/null
+++ b/e2sm/lib/RIC-EventTriggerCondition-ID.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-EventTriggerCondition-ID.h"
+
+int
+RIC_EventTriggerCondition_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 65535)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_EventTriggerCondition_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_RIC_EventTriggerCondition_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, 16, 1, 65535 } /* (1..65535,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_EventTriggerCondition_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_EventTriggerCondition_ID = {
+ "RIC-EventTriggerCondition-ID",
+ "RIC-EventTriggerCondition-ID",
+ &asn_OP_NativeInteger,
+ asn_DEF_RIC_EventTriggerCondition_ID_tags_1,
+ sizeof(asn_DEF_RIC_EventTriggerCondition_ID_tags_1)
+ /sizeof(asn_DEF_RIC_EventTriggerCondition_ID_tags_1[0]), /* 1 */
+ asn_DEF_RIC_EventTriggerCondition_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RIC_EventTriggerCondition_ID_tags_1)
+ /sizeof(asn_DEF_RIC_EventTriggerCondition_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_RIC_EventTriggerCondition_ID_constr_1, &asn_PER_type_RIC_EventTriggerCondition_ID_constr_1, RIC_EventTriggerCondition_ID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/RIC-EventTriggerStyle-Item.c b/e2sm/lib/RIC-EventTriggerStyle-Item.c
deleted file mode 100644
index 029f300..0000000
--- a/e2sm/lib/RIC-EventTriggerStyle-Item.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RIC-EventTriggerStyle-Item.h"
-
-asn_TYPE_member_t asn_MBR_RIC_EventTriggerStyle_Item_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RIC_EventTriggerStyle_Item, ric_EventTriggerStyle_Type),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RIC_Style_Type,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ric-EventTriggerStyle-Type"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RIC_EventTriggerStyle_Item, ric_EventTriggerStyle_Name),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RIC_Style_Name,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ric-EventTriggerStyle-Name"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RIC_EventTriggerStyle_Item, ric_EventTriggerFormat_Type),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RIC_Format_Type,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ric-EventTriggerFormat-Type"
- },
-};
-static const ber_tlv_tag_t asn_DEF_RIC_EventTriggerStyle_Item_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RIC_EventTriggerStyle_Item_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-EventTriggerStyle-Type */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-EventTriggerStyle-Name */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-EventTriggerFormat-Type */
-};
-asn_SEQUENCE_specifics_t asn_SPC_RIC_EventTriggerStyle_Item_specs_1 = {
- sizeof(struct RIC_EventTriggerStyle_Item),
- offsetof(struct RIC_EventTriggerStyle_Item, _asn_ctx),
- asn_MAP_RIC_EventTriggerStyle_Item_tag2el_1,
- 3, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RIC_EventTriggerStyle_Item = {
- "RIC-EventTriggerStyle-Item",
- "RIC-EventTriggerStyle-Item",
- &asn_OP_SEQUENCE,
- asn_DEF_RIC_EventTriggerStyle_Item_tags_1,
- sizeof(asn_DEF_RIC_EventTriggerStyle_Item_tags_1)
- /sizeof(asn_DEF_RIC_EventTriggerStyle_Item_tags_1[0]), /* 1 */
- asn_DEF_RIC_EventTriggerStyle_Item_tags_1, /* Same as above */
- sizeof(asn_DEF_RIC_EventTriggerStyle_Item_tags_1)
- /sizeof(asn_DEF_RIC_EventTriggerStyle_Item_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_RIC_EventTriggerStyle_Item_1,
- 3, /* Elements count */
- &asn_SPC_RIC_EventTriggerStyle_Item_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/RIC-Format-Type.c b/e2sm/lib/RIC-Format-Type.c
index 8242722..e2f2a7a 100644
--- a/e2sm/lib/RIC-Format-Type.c
+++ b/e2sm/lib/RIC-Format-Type.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
diff --git a/e2sm/lib/RIC-InsertIndication-ID.c b/e2sm/lib/RIC-InsertIndication-ID.c
new file mode 100644
index 0000000..6cf61e3
--- /dev/null
+++ b/e2sm/lib/RIC-InsertIndication-ID.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-InsertIndication-ID.h"
+
+int
+RIC_InsertIndication_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 65535)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_InsertIndication_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_RIC_InsertIndication_ID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 16, 16, 1, 65535 } /* (1..65535,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_InsertIndication_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_InsertIndication_ID = {
+ "RIC-InsertIndication-ID",
+ "RIC-InsertIndication-ID",
+ &asn_OP_NativeInteger,
+ asn_DEF_RIC_InsertIndication_ID_tags_1,
+ sizeof(asn_DEF_RIC_InsertIndication_ID_tags_1)
+ /sizeof(asn_DEF_RIC_InsertIndication_ID_tags_1[0]), /* 1 */
+ asn_DEF_RIC_InsertIndication_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RIC_InsertIndication_ID_tags_1)
+ /sizeof(asn_DEF_RIC_InsertIndication_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_RIC_InsertIndication_ID_constr_1, &asn_PER_type_RIC_InsertIndication_ID_constr_1, RIC_InsertIndication_ID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/RANcallProcess-ID-string.c b/e2sm/lib/RIC-InsertIndication-Name.c
similarity index 67%
copy from e2sm/lib/RANcallProcess-ID-string.c
copy to e2sm/lib/RIC-InsertIndication-Name.c
index 69092be..ddc9c47 100644
--- a/e2sm/lib/RANcallProcess-ID-string.c
+++ b/e2sm/lib/RIC-InsertIndication-Name.c
@@ -1,11 +1,11 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
-#include "RANcallProcess-ID-string.h"
+#include "RIC-InsertIndication-Name.h"
static const int permitted_alphabet_table_1[256] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
@@ -40,7 +40,7 @@
}
int
-RANcallProcess_ID_string_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+RIC_InsertIndication_Name_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
const PrintableString_t *st = (const PrintableString_t *)sptr;
size_t size;
@@ -66,12 +66,12 @@
}
}
-static int asn_PER_MAP_RANcallProcess_ID_string_1_v2c(unsigned int value) {
+static int asn_PER_MAP_RIC_InsertIndication_Name_1_v2c(unsigned int value) {
if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
return -1;
return permitted_alphabet_table_1[value] - 1;
}
-static int asn_PER_MAP_RANcallProcess_ID_string_1_c2v(unsigned int code) {
+static int asn_PER_MAP_RIC_InsertIndication_Name_1_c2v(unsigned int code) {
if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
return -1;
return permitted_alphabet_code2value_1[code];
@@ -80,29 +80,29 @@
* This type is implemented using PrintableString,
* so here we adjust the DEF accordingly.
*/
-static asn_oer_constraints_t asn_OER_type_RANcallProcess_ID_string_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_RIC_InsertIndication_Name_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..MAX)) */};
-static asn_per_constraints_t asn_PER_type_RANcallProcess_ID_string_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_RIC_InsertIndication_Name_constr_1 CC_NOTUSED = {
{ APC_CONSTRAINED, 7, 7, 32, 122 } /* (32..122) */,
{ APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 150 } /* (SIZE(1..150,...)) */,
- asn_PER_MAP_RANcallProcess_ID_string_1_v2c, /* Value to PER code map */
- asn_PER_MAP_RANcallProcess_ID_string_1_c2v /* PER code to value map */
+ asn_PER_MAP_RIC_InsertIndication_Name_1_v2c, /* Value to PER code map */
+ asn_PER_MAP_RIC_InsertIndication_Name_1_c2v /* PER code to value map */
};
-static const ber_tlv_tag_t asn_DEF_RANcallProcess_ID_string_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_RIC_InsertIndication_Name_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
};
-asn_TYPE_descriptor_t asn_DEF_RANcallProcess_ID_string = {
- "RANcallProcess-ID-string",
- "RANcallProcess-ID-string",
+asn_TYPE_descriptor_t asn_DEF_RIC_InsertIndication_Name = {
+ "RIC-InsertIndication-Name",
+ "RIC-InsertIndication-Name",
&asn_OP_PrintableString,
- asn_DEF_RANcallProcess_ID_string_tags_1,
- sizeof(asn_DEF_RANcallProcess_ID_string_tags_1)
- /sizeof(asn_DEF_RANcallProcess_ID_string_tags_1[0]), /* 1 */
- asn_DEF_RANcallProcess_ID_string_tags_1, /* Same as above */
- sizeof(asn_DEF_RANcallProcess_ID_string_tags_1)
- /sizeof(asn_DEF_RANcallProcess_ID_string_tags_1[0]), /* 1 */
- { &asn_OER_type_RANcallProcess_ID_string_constr_1, &asn_PER_type_RANcallProcess_ID_string_constr_1, RANcallProcess_ID_string_constraint },
+ asn_DEF_RIC_InsertIndication_Name_tags_1,
+ sizeof(asn_DEF_RIC_InsertIndication_Name_tags_1)
+ /sizeof(asn_DEF_RIC_InsertIndication_Name_tags_1[0]), /* 1 */
+ asn_DEF_RIC_InsertIndication_Name_tags_1, /* Same as above */
+ sizeof(asn_DEF_RIC_InsertIndication_Name_tags_1)
+ /sizeof(asn_DEF_RIC_InsertIndication_Name_tags_1[0]), /* 1 */
+ { &asn_OER_type_RIC_InsertIndication_Name_constr_1, &asn_PER_type_RIC_InsertIndication_Name_constr_1, RIC_InsertIndication_Name_constraint },
0, 0, /* No members */
0 /* No specifics */
};
diff --git a/e2sm/lib/RIC-PolicyAction-RANParameter-Item.c b/e2sm/lib/RIC-PolicyAction-RANParameter-Item.c
new file mode 100644
index 0000000..d146925
--- /dev/null
+++ b/e2sm/lib/RIC-PolicyAction-RANParameter-Item.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-PolicyAction-RANParameter-Item.h"
+
+asn_TYPE_member_t asn_MBR_RIC_PolicyAction_RANParameter_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RIC_PolicyAction_RANParameter_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RIC_PolicyAction_RANParameter_Item, ranParameter_valueType),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANParameter_ValueType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-valueType"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RIC_PolicyAction_RANParameter_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RIC_PolicyAction_RANParameter_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-valueType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RIC_PolicyAction_RANParameter_Item_specs_1 = {
+ sizeof(struct RIC_PolicyAction_RANParameter_Item),
+ offsetof(struct RIC_PolicyAction_RANParameter_Item, _asn_ctx),
+ asn_MAP_RIC_PolicyAction_RANParameter_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_PolicyAction_RANParameter_Item = {
+ "RIC-PolicyAction-RANParameter-Item",
+ "RIC-PolicyAction-RANParameter-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RIC_PolicyAction_RANParameter_Item_tags_1,
+ sizeof(asn_DEF_RIC_PolicyAction_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_RIC_PolicyAction_RANParameter_Item_tags_1[0]), /* 1 */
+ asn_DEF_RIC_PolicyAction_RANParameter_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RIC_PolicyAction_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_RIC_PolicyAction_RANParameter_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RIC_PolicyAction_RANParameter_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_RIC_PolicyAction_RANParameter_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RIC-PolicyAction.c b/e2sm/lib/RIC-PolicyAction.c
new file mode 100644
index 0000000..8b93916
--- /dev/null
+++ b/e2sm/lib/RIC-PolicyAction.c
@@ -0,0 +1,142 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-PolicyAction.h"
+
+#include "RIC-PolicyAction-RANParameter-Item.h"
+static int
+memb_ranParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 65535)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranParameters_List_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranParameters_List_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranParameters_List_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranParameters_List_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranParameters_List_3[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RIC_PolicyAction_RANParameter_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ranParameters_List_tags_3[] = {
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranParameters_List_specs_3 = {
+ sizeof(struct RIC_PolicyAction__ranParameters_List),
+ offsetof(struct RIC_PolicyAction__ranParameters_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranParameters_List_3 = {
+ "ranParameters-List",
+ "ranParameters-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ranParameters_List_tags_3,
+ sizeof(asn_DEF_ranParameters_List_tags_3)
+ /sizeof(asn_DEF_ranParameters_List_tags_3[0]) - 1, /* 1 */
+ asn_DEF_ranParameters_List_tags_3, /* Same as above */
+ sizeof(asn_DEF_ranParameters_List_tags_3)
+ /sizeof(asn_DEF_ranParameters_List_tags_3[0]), /* 2 */
+ { &asn_OER_type_ranParameters_List_constr_3, &asn_PER_type_ranParameters_List_constr_3, SEQUENCE_OF_constraint },
+ asn_MBR_ranParameters_List_3,
+ 1, /* Single element */
+ &asn_SPC_ranParameters_List_specs_3 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RIC_PolicyAction_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RIC_PolicyAction, ric_PolicyAction_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RIC_ControlAction_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ric-PolicyAction-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct RIC_PolicyAction, ranParameters_List),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ 0,
+ &asn_DEF_ranParameters_List_3,
+ 0,
+ { &asn_OER_memb_ranParameters_List_constr_3, &asn_PER_memb_ranParameters_List_constr_3, memb_ranParameters_List_constraint_1 },
+ 0, 0, /* No default value */
+ "ranParameters-List"
+ },
+};
+static const int asn_MAP_RIC_PolicyAction_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RIC_PolicyAction_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RIC_PolicyAction_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-PolicyAction-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RIC_PolicyAction_specs_1 = {
+ sizeof(struct RIC_PolicyAction),
+ offsetof(struct RIC_PolicyAction, _asn_ctx),
+ asn_MAP_RIC_PolicyAction_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RIC_PolicyAction_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_PolicyAction = {
+ "RIC-PolicyAction",
+ "RIC-PolicyAction",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RIC_PolicyAction_tags_1,
+ sizeof(asn_DEF_RIC_PolicyAction_tags_1)
+ /sizeof(asn_DEF_RIC_PolicyAction_tags_1[0]), /* 1 */
+ asn_DEF_RIC_PolicyAction_tags_1, /* Same as above */
+ sizeof(asn_DEF_RIC_PolicyAction_tags_1)
+ /sizeof(asn_DEF_RIC_PolicyAction_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RIC_PolicyAction_1,
+ 2, /* Elements count */
+ &asn_SPC_RIC_PolicyAction_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RIC-ReportStyle-Item.c b/e2sm/lib/RIC-ReportStyle-Item.c
deleted file mode 100644
index 9efe8c3..0000000
--- a/e2sm/lib/RIC-ReportStyle-Item.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RIC-ReportStyle-Item.h"
-
-asn_TYPE_member_t asn_MBR_RIC_ReportStyle_Item_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RIC_ReportStyle_Item, ric_ReportStyle_Type),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RIC_Style_Type,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ric-ReportStyle-Type"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RIC_ReportStyle_Item, ric_ReportStyle_Name),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RIC_Style_Name,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ric-ReportStyle-Name"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RIC_ReportStyle_Item, ric_ReportIndicationHeaderFormat_Type),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RIC_Format_Type,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ric-ReportIndicationHeaderFormat-Type"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RIC_ReportStyle_Item, ric_ReportIndicationMessageFormat_Type),
- (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RIC_Format_Type,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ric-ReportIndicationMessageFormat-Type"
- },
-};
-static const ber_tlv_tag_t asn_DEF_RIC_ReportStyle_Item_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RIC_ReportStyle_Item_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ReportStyle-Type */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ReportStyle-Name */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-ReportIndicationHeaderFormat-Type */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ric-ReportIndicationMessageFormat-Type */
-};
-asn_SEQUENCE_specifics_t asn_SPC_RIC_ReportStyle_Item_specs_1 = {
- sizeof(struct RIC_ReportStyle_Item),
- offsetof(struct RIC_ReportStyle_Item, _asn_ctx),
- asn_MAP_RIC_ReportStyle_Item_tag2el_1,
- 4, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 4, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RIC_ReportStyle_Item = {
- "RIC-ReportStyle-Item",
- "RIC-ReportStyle-Item",
- &asn_OP_SEQUENCE,
- asn_DEF_RIC_ReportStyle_Item_tags_1,
- sizeof(asn_DEF_RIC_ReportStyle_Item_tags_1)
- /sizeof(asn_DEF_RIC_ReportStyle_Item_tags_1[0]), /* 1 */
- asn_DEF_RIC_ReportStyle_Item_tags_1, /* Same as above */
- sizeof(asn_DEF_RIC_ReportStyle_Item_tags_1)
- /sizeof(asn_DEF_RIC_ReportStyle_Item_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_RIC_ReportStyle_Item_1,
- 4, /* Elements count */
- &asn_SPC_RIC_ReportStyle_Item_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/RIC-Style-Name.c b/e2sm/lib/RIC-Style-Name.c
index 7cc5fcc..f8c4660 100644
--- a/e2sm/lib/RIC-Style-Name.c
+++ b/e2sm/lib/RIC-Style-Name.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
diff --git a/e2sm/lib/RIC-Style-Type.c b/e2sm/lib/RIC-Style-Type.c
index 14475b8..467c568 100644
--- a/e2sm/lib/RIC-Style-Type.c
+++ b/e2sm/lib/RIC-Style-Type.c
@@ -1,7 +1,7 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
diff --git a/e2sm/lib/RRC-MessageID.c b/e2sm/lib/RRC-MessageID.c
new file mode 100644
index 0000000..075db39
--- /dev/null
+++ b/e2sm/lib/RRC-MessageID.c
@@ -0,0 +1,117 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RRC-MessageID.h"
+
+static asn_oer_constraints_t asn_OER_type_rrcType_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_rrcType_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_rrcType_2[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RRC_MessageID__rrcType, choice.lTE),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RRCclass_LTE,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "lTE"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RRC_MessageID__rrcType, choice.nR),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RRCclass_NR,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nR"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_rrcType_tag2el_2[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lTE */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* nR */
+};
+static asn_CHOICE_specifics_t asn_SPC_rrcType_specs_2 = {
+ sizeof(struct RRC_MessageID__rrcType),
+ offsetof(struct RRC_MessageID__rrcType, _asn_ctx),
+ offsetof(struct RRC_MessageID__rrcType, present),
+ sizeof(((struct RRC_MessageID__rrcType *)0)->present),
+ asn_MAP_rrcType_tag2el_2,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_rrcType_2 = {
+ "rrcType",
+ "rrcType",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_rrcType_constr_2, &asn_PER_type_rrcType_constr_2, CHOICE_constraint },
+ asn_MBR_rrcType_2,
+ 2, /* Elements count */
+ &asn_SPC_rrcType_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RRC_MessageID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RRC_MessageID, rrcType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_rrcType_2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "rrcType"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RRC_MessageID, messageID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "messageID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RRC_MessageID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RRC_MessageID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rrcType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* messageID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RRC_MessageID_specs_1 = {
+ sizeof(struct RRC_MessageID),
+ offsetof(struct RRC_MessageID, _asn_ctx),
+ asn_MAP_RRC_MessageID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RRC_MessageID = {
+ "RRC-MessageID",
+ "RRC-MessageID",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RRC_MessageID_tags_1,
+ sizeof(asn_DEF_RRC_MessageID_tags_1)
+ /sizeof(asn_DEF_RRC_MessageID_tags_1[0]), /* 1 */
+ asn_DEF_RRC_MessageID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RRC_MessageID_tags_1)
+ /sizeof(asn_DEF_RRC_MessageID_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RRC_MessageID_1,
+ 2, /* Elements count */
+ &asn_SPC_RRC_MessageID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RRC-State.c b/e2sm/lib/RRC-State.c
new file mode 100644
index 0000000..391c70d
--- /dev/null
+++ b/e2sm/lib/RRC-State.c
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RRC-State.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RRC_State_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_RRC_State_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RRC_State_value2enum_1[] = {
+ { 0, 13, "rrc-connected" },
+ { 1, 12, "rrc-inactive" },
+ { 2, 8, "rrc-idle" },
+ { 3, 3, "any" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RRC_State_enum2value_1[] = {
+ 3, /* any(3) */
+ 0, /* rrc-connected(0) */
+ 2, /* rrc-idle(2) */
+ 1 /* rrc-inactive(1) */
+ /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_RRC_State_specs_1 = {
+ asn_MAP_RRC_State_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RRC_State_enum2value_1, /* N => "tag"; sorted by N */
+ 4, /* Number of elements in the maps */
+ 5, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_RRC_State_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RRC_State = {
+ "RRC-State",
+ "RRC-State",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_RRC_State_tags_1,
+ sizeof(asn_DEF_RRC_State_tags_1)
+ /sizeof(asn_DEF_RRC_State_tags_1[0]), /* 1 */
+ asn_DEF_RRC_State_tags_1, /* Same as above */
+ sizeof(asn_DEF_RRC_State_tags_1)
+ /sizeof(asn_DEF_RRC_State_tags_1[0]), /* 1 */
+ { &asn_OER_type_RRC_State_constr_1, &asn_PER_type_RRC_State_constr_1, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RRC_State_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RRCEvent.c b/e2sm/lib/RRCEvent.c
deleted file mode 100644
index 8113c36..0000000
--- a/e2sm/lib/RRCEvent.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RRCEvent.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_RRCEvent_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-asn_per_constraints_t asn_PER_type_RRCEvent_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_RRCEvent_value2enum_1[] = {
- { 0, 2, "b1" },
- { 1, 2, "a3" },
- { 2, 2, "a5" },
- { 3, 8, "periodic" }
- /* This list is extensible */
-};
-static const unsigned int asn_MAP_RRCEvent_enum2value_1[] = {
- 1, /* a3(1) */
- 2, /* a5(2) */
- 0, /* b1(0) */
- 3 /* periodic(3) */
- /* This list is extensible */
-};
-const asn_INTEGER_specifics_t asn_SPC_RRCEvent_specs_1 = {
- asn_MAP_RRCEvent_value2enum_1, /* "tag" => N; sorted by tag */
- asn_MAP_RRCEvent_enum2value_1, /* N => "tag"; sorted by N */
- 4, /* Number of elements in the maps */
- 5, /* Extensions before this member */
- 1, /* Strict enumeration */
- 0, /* Native long size */
- 0
-};
-static const ber_tlv_tag_t asn_DEF_RRCEvent_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RRCEvent = {
- "RRCEvent",
- "RRCEvent",
- &asn_OP_NativeEnumerated,
- asn_DEF_RRCEvent_tags_1,
- sizeof(asn_DEF_RRCEvent_tags_1)
- /sizeof(asn_DEF_RRCEvent_tags_1[0]), /* 1 */
- asn_DEF_RRCEvent_tags_1, /* Same as above */
- sizeof(asn_DEF_RRCEvent_tags_1)
- /sizeof(asn_DEF_RRCEvent_tags_1[0]), /* 1 */
- { &asn_OER_type_RRCEvent_constr_1, &asn_PER_type_RRCEvent_constr_1, NativeEnumerated_constraint },
- 0, 0, /* Defined elsewhere */
- &asn_SPC_RRCEvent_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/RRCclass-LTE.c b/e2sm/lib/RRCclass-LTE.c
new file mode 100644
index 0000000..39c575f
--- /dev/null
+++ b/e2sm/lib/RRCclass-LTE.c
@@ -0,0 +1,78 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RRCclass-LTE.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RRCclass_LTE_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_RRCclass_LTE_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 11 } /* (0..11,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RRCclass_LTE_value2enum_1[] = {
+ { 0, 8, "bCCH-BCH" },
+ { 1, 13, "bCCH-BCH-MBMS" },
+ { 2, 11, "bCCH-DL-SCH" },
+ { 3, 14, "bCCH-DL-SCH-BR" },
+ { 4, 16, "bCCH-DL-SCH-MBMS" },
+ { 5, 4, "mCCH" },
+ { 6, 4, "pCCH" },
+ { 7, 7, "dL-CCCH" },
+ { 8, 7, "dL-DCCH" },
+ { 9, 7, "uL-CCCH" },
+ { 10, 7, "uL-DCCH" },
+ { 11, 7, "sC-MCCH" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RRCclass_LTE_enum2value_1[] = {
+ 0, /* bCCH-BCH(0) */
+ 1, /* bCCH-BCH-MBMS(1) */
+ 2, /* bCCH-DL-SCH(2) */
+ 3, /* bCCH-DL-SCH-BR(3) */
+ 4, /* bCCH-DL-SCH-MBMS(4) */
+ 7, /* dL-CCCH(7) */
+ 8, /* dL-DCCH(8) */
+ 5, /* mCCH(5) */
+ 6, /* pCCH(6) */
+ 11, /* sC-MCCH(11) */
+ 9, /* uL-CCCH(9) */
+ 10 /* uL-DCCH(10) */
+ /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_RRCclass_LTE_specs_1 = {
+ asn_MAP_RRCclass_LTE_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RRCclass_LTE_enum2value_1, /* N => "tag"; sorted by N */
+ 12, /* Number of elements in the maps */
+ 13, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_RRCclass_LTE_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RRCclass_LTE = {
+ "RRCclass-LTE",
+ "RRCclass-LTE",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_RRCclass_LTE_tags_1,
+ sizeof(asn_DEF_RRCclass_LTE_tags_1)
+ /sizeof(asn_DEF_RRCclass_LTE_tags_1[0]), /* 1 */
+ asn_DEF_RRCclass_LTE_tags_1, /* Same as above */
+ sizeof(asn_DEF_RRCclass_LTE_tags_1)
+ /sizeof(asn_DEF_RRCclass_LTE_tags_1[0]), /* 1 */
+ { &asn_OER_type_RRCclass_LTE_constr_1, &asn_PER_type_RRCclass_LTE_constr_1, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RRCclass_LTE_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RRCclass-NR.c b/e2sm/lib/RRCclass-NR.c
new file mode 100644
index 0000000..b4bf12c
--- /dev/null
+++ b/e2sm/lib/RRCclass-NR.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RRCclass-NR.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RRCclass_NR_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_RRCclass_NR_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RRCclass_NR_value2enum_1[] = {
+ { 0, 8, "bCCH-BCH" },
+ { 1, 11, "bCCH-DL-SCH" },
+ { 2, 7, "dL-CCCH" },
+ { 3, 7, "dL-DCCH" },
+ { 4, 4, "pCCH" },
+ { 5, 7, "uL-CCCH" },
+ { 6, 8, "uL-CCCH1" },
+ { 7, 7, "uL-DCCH" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RRCclass_NR_enum2value_1[] = {
+ 0, /* bCCH-BCH(0) */
+ 1, /* bCCH-DL-SCH(1) */
+ 2, /* dL-CCCH(2) */
+ 3, /* dL-DCCH(3) */
+ 4, /* pCCH(4) */
+ 5, /* uL-CCCH(5) */
+ 6, /* uL-CCCH1(6) */
+ 7 /* uL-DCCH(7) */
+ /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_RRCclass_NR_specs_1 = {
+ asn_MAP_RRCclass_NR_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RRCclass_NR_enum2value_1, /* N => "tag"; sorted by N */
+ 8, /* Number of elements in the maps */
+ 9, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_RRCclass_NR_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RRCclass_NR = {
+ "RRCclass-NR",
+ "RRCclass-NR",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_RRCclass_NR_tags_1,
+ sizeof(asn_DEF_RRCclass_NR_tags_1)
+ /sizeof(asn_DEF_RRCclass_NR_tags_1[0]), /* 1 */
+ asn_DEF_RRCclass_NR_tags_1, /* Same as above */
+ sizeof(asn_DEF_RRCclass_NR_tags_1)
+ /sizeof(asn_DEF_RRCclass_NR_tags_1[0]), /* 1 */
+ { &asn_OER_type_RRCclass_NR_constr_1, &asn_PER_type_RRCclass_NR_constr_1, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RRCclass_NR_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RSRP-Range.c b/e2sm/lib/RSRP-Range.c
deleted file mode 100644
index 31f13c4..0000000
--- a/e2sm/lib/RSRP-Range.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RSRP-Range.h"
-
-int
-RSRP_Range_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 127)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_RSRP_Range_constr_1 CC_NOTUSED = {
- { 1, 1 } /* (0..127) */,
- -1};
-asn_per_constraints_t asn_PER_type_RSRP_Range_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_RSRP_Range_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RSRP_Range = {
- "RSRP-Range",
- "RSRP-Range",
- &asn_OP_NativeInteger,
- asn_DEF_RSRP_Range_tags_1,
- sizeof(asn_DEF_RSRP_Range_tags_1)
- /sizeof(asn_DEF_RSRP_Range_tags_1[0]), /* 1 */
- asn_DEF_RSRP_Range_tags_1, /* Same as above */
- sizeof(asn_DEF_RSRP_Range_tags_1)
- /sizeof(asn_DEF_RSRP_Range_tags_1[0]), /* 1 */
- { &asn_OER_type_RSRP_Range_constr_1, &asn_PER_type_RSRP_Range_constr_1, RSRP_Range_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/RSRP-RangeEUTRA.c b/e2sm/lib/RSRP-RangeEUTRA.c
deleted file mode 100644
index 5c646f7..0000000
--- a/e2sm/lib/RSRP-RangeEUTRA.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RSRP-RangeEUTRA.h"
-
-int
-RSRP_RangeEUTRA_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 97)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_RSRP_RangeEUTRA_constr_1 CC_NOTUSED = {
- { 1, 1 } /* (0..97) */,
- -1};
-asn_per_constraints_t asn_PER_type_RSRP_RangeEUTRA_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 7, 7, 0, 97 } /* (0..97) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_RSRP_RangeEUTRA_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RSRP_RangeEUTRA = {
- "RSRP-RangeEUTRA",
- "RSRP-RangeEUTRA",
- &asn_OP_NativeInteger,
- asn_DEF_RSRP_RangeEUTRA_tags_1,
- sizeof(asn_DEF_RSRP_RangeEUTRA_tags_1)
- /sizeof(asn_DEF_RSRP_RangeEUTRA_tags_1[0]), /* 1 */
- asn_DEF_RSRP_RangeEUTRA_tags_1, /* Same as above */
- sizeof(asn_DEF_RSRP_RangeEUTRA_tags_1)
- /sizeof(asn_DEF_RSRP_RangeEUTRA_tags_1[0]), /* 1 */
- { &asn_OER_type_RSRP_RangeEUTRA_constr_1, &asn_PER_type_RSRP_RangeEUTRA_constr_1, RSRP_RangeEUTRA_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/RSRQ-Range.c b/e2sm/lib/RSRQ-Range.c
deleted file mode 100644
index 0782d80..0000000
--- a/e2sm/lib/RSRQ-Range.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RSRQ-Range.h"
-
-int
-RSRQ_Range_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 127)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_RSRQ_Range_constr_1 CC_NOTUSED = {
- { 1, 1 } /* (0..127) */,
- -1};
-asn_per_constraints_t asn_PER_type_RSRQ_Range_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_RSRQ_Range_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RSRQ_Range = {
- "RSRQ-Range",
- "RSRQ-Range",
- &asn_OP_NativeInteger,
- asn_DEF_RSRQ_Range_tags_1,
- sizeof(asn_DEF_RSRQ_Range_tags_1)
- /sizeof(asn_DEF_RSRQ_Range_tags_1[0]), /* 1 */
- asn_DEF_RSRQ_Range_tags_1, /* Same as above */
- sizeof(asn_DEF_RSRQ_Range_tags_1)
- /sizeof(asn_DEF_RSRQ_Range_tags_1[0]), /* 1 */
- { &asn_OER_type_RSRQ_Range_constr_1, &asn_PER_type_RSRQ_Range_constr_1, RSRQ_Range_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/RSRQ-RangeEUTRA.c b/e2sm/lib/RSRQ-RangeEUTRA.c
deleted file mode 100644
index 1de3c4e..0000000
--- a/e2sm/lib/RSRQ-RangeEUTRA.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RSRQ-RangeEUTRA.h"
-
-int
-RSRQ_RangeEUTRA_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 34)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_RSRQ_RangeEUTRA_constr_1 CC_NOTUSED = {
- { 1, 1 } /* (0..34) */,
- -1};
-asn_per_constraints_t asn_PER_type_RSRQ_RangeEUTRA_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 6, 6, 0, 34 } /* (0..34) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_RSRQ_RangeEUTRA_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RSRQ_RangeEUTRA = {
- "RSRQ-RangeEUTRA",
- "RSRQ-RangeEUTRA",
- &asn_OP_NativeInteger,
- asn_DEF_RSRQ_RangeEUTRA_tags_1,
- sizeof(asn_DEF_RSRQ_RangeEUTRA_tags_1)
- /sizeof(asn_DEF_RSRQ_RangeEUTRA_tags_1[0]), /* 1 */
- asn_DEF_RSRQ_RangeEUTRA_tags_1, /* Same as above */
- sizeof(asn_DEF_RSRQ_RangeEUTRA_tags_1)
- /sizeof(asn_DEF_RSRQ_RangeEUTRA_tags_1[0]), /* 1 */
- { &asn_OER_type_RSRQ_RangeEUTRA_constr_1, &asn_PER_type_RSRQ_RangeEUTRA_constr_1, RSRQ_RangeEUTRA_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/RT-Period-IE.c b/e2sm/lib/RT-Period-IE.c
deleted file mode 100644
index 7edf20d..0000000
--- a/e2sm/lib/RT-Period-IE.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RT-Period-IE.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_RT_Period_IE_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-asn_per_constraints_t asn_PER_type_RT_Period_IE_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 0, 19 } /* (0..19,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_RT_Period_IE_value2enum_1[] = {
- { 0, 4, "ms10" },
- { 1, 4, "ms20" },
- { 2, 4, "ms32" },
- { 3, 4, "ms40" },
- { 4, 4, "ms60" },
- { 5, 4, "ms64" },
- { 6, 4, "ms70" },
- { 7, 4, "ms80" },
- { 8, 5, "ms128" },
- { 9, 5, "ms160" },
- { 10, 5, "ms256" },
- { 11, 5, "ms320" },
- { 12, 5, "ms512" },
- { 13, 5, "ms640" },
- { 14, 6, "ms1024" },
- { 15, 6, "ms1280" },
- { 16, 6, "ms2048" },
- { 17, 6, "ms2560" },
- { 18, 6, "ms5120" },
- { 19, 7, "ms10240" }
- /* This list is extensible */
-};
-static const unsigned int asn_MAP_RT_Period_IE_enum2value_1[] = {
- 0, /* ms10(0) */
- 14, /* ms1024(14) */
- 19, /* ms10240(19) */
- 8, /* ms128(8) */
- 15, /* ms1280(15) */
- 9, /* ms160(9) */
- 1, /* ms20(1) */
- 16, /* ms2048(16) */
- 10, /* ms256(10) */
- 17, /* ms2560(17) */
- 2, /* ms32(2) */
- 11, /* ms320(11) */
- 3, /* ms40(3) */
- 12, /* ms512(12) */
- 18, /* ms5120(18) */
- 4, /* ms60(4) */
- 5, /* ms64(5) */
- 13, /* ms640(13) */
- 6, /* ms70(6) */
- 7 /* ms80(7) */
- /* This list is extensible */
-};
-const asn_INTEGER_specifics_t asn_SPC_RT_Period_IE_specs_1 = {
- asn_MAP_RT_Period_IE_value2enum_1, /* "tag" => N; sorted by tag */
- asn_MAP_RT_Period_IE_enum2value_1, /* N => "tag"; sorted by N */
- 20, /* Number of elements in the maps */
- 21, /* Extensions before this member */
- 1, /* Strict enumeration */
- 0, /* Native long size */
- 0
-};
-static const ber_tlv_tag_t asn_DEF_RT_Period_IE_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RT_Period_IE = {
- "RT-Period-IE",
- "RT-Period-IE",
- &asn_OP_NativeEnumerated,
- asn_DEF_RT_Period_IE_tags_1,
- sizeof(asn_DEF_RT_Period_IE_tags_1)
- /sizeof(asn_DEF_RT_Period_IE_tags_1[0]), /* 1 */
- asn_DEF_RT_Period_IE_tags_1, /* Same as above */
- sizeof(asn_DEF_RT_Period_IE_tags_1)
- /sizeof(asn_DEF_RT_Period_IE_tags_1[0]), /* 1 */
- { &asn_OER_type_RT_Period_IE_constr_1, &asn_PER_type_RT_Period_IE_constr_1, NativeEnumerated_constraint },
- 0, 0, /* Defined elsewhere */
- &asn_SPC_RT_Period_IE_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/Report-RANParameter-Item.c b/e2sm/lib/Report-RANParameter-Item.c
new file mode 100644
index 0000000..772e65e
--- /dev/null
+++ b/e2sm/lib/Report-RANParameter-Item.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "Report-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_Report_RANParameter_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct Report_RANParameter_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct Report_RANParameter_Item, ranParameter_name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-name"
+ },
+ { ATF_POINTER, 1, offsetof(struct Report_RANParameter_Item, ranParameter_Definition),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Definition"
+ },
+};
+static const int asn_MAP_Report_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_Report_RANParameter_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_Report_RANParameter_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_Report_RANParameter_Item_specs_1 = {
+ sizeof(struct Report_RANParameter_Item),
+ offsetof(struct Report_RANParameter_Item, _asn_ctx),
+ asn_MAP_Report_RANParameter_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_Report_RANParameter_Item_oms_1, /* Optional members */
+ 0, 1, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_Report_RANParameter_Item = {
+ "Report-RANParameter-Item",
+ "Report-RANParameter-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_Report_RANParameter_Item_tags_1,
+ sizeof(asn_DEF_Report_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_Report_RANParameter_Item_tags_1[0]), /* 1 */
+ asn_DEF_Report_RANParameter_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_Report_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_Report_RANParameter_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_Report_RANParameter_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_Report_RANParameter_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/ResultsPerCSI-RS-Index.c b/e2sm/lib/ResultsPerCSI-RS-Index.c
deleted file mode 100644
index 36abbd9..0000000
--- a/e2sm/lib/ResultsPerCSI-RS-Index.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ResultsPerCSI-RS-Index.h"
-
-#include "MeasQuantityResults.h"
-asn_TYPE_member_t asn_MBR_ResultsPerCSI_RS_Index_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct ResultsPerCSI_RS_Index, csi_RS_Index),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_CSI_RS_Index,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "csi-RS-Index"
- },
- { ATF_POINTER, 1, offsetof(struct ResultsPerCSI_RS_Index, csi_RS_Results),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_MeasQuantityResults,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "csi-RS-Results"
- },
-};
-static const int asn_MAP_ResultsPerCSI_RS_Index_oms_1[] = { 1 };
-static const ber_tlv_tag_t asn_DEF_ResultsPerCSI_RS_Index_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_ResultsPerCSI_RS_Index_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* csi-RS-Index */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* csi-RS-Results */
-};
-asn_SEQUENCE_specifics_t asn_SPC_ResultsPerCSI_RS_Index_specs_1 = {
- sizeof(struct ResultsPerCSI_RS_Index),
- offsetof(struct ResultsPerCSI_RS_Index, _asn_ctx),
- asn_MAP_ResultsPerCSI_RS_Index_tag2el_1,
- 2, /* Count of tags in the map */
- asn_MAP_ResultsPerCSI_RS_Index_oms_1, /* Optional members */
- 1, 0, /* Root/Additions */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_ResultsPerCSI_RS_Index = {
- "ResultsPerCSI-RS-Index",
- "ResultsPerCSI-RS-Index",
- &asn_OP_SEQUENCE,
- asn_DEF_ResultsPerCSI_RS_Index_tags_1,
- sizeof(asn_DEF_ResultsPerCSI_RS_Index_tags_1)
- /sizeof(asn_DEF_ResultsPerCSI_RS_Index_tags_1[0]), /* 1 */
- asn_DEF_ResultsPerCSI_RS_Index_tags_1, /* Same as above */
- sizeof(asn_DEF_ResultsPerCSI_RS_Index_tags_1)
- /sizeof(asn_DEF_ResultsPerCSI_RS_Index_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_ResultsPerCSI_RS_Index_1,
- 2, /* Elements count */
- &asn_SPC_ResultsPerCSI_RS_Index_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/ResultsPerCSI-RS-IndexList.c b/e2sm/lib/ResultsPerCSI-RS-IndexList.c
deleted file mode 100644
index d98d4d1..0000000
--- a/e2sm/lib/ResultsPerCSI-RS-IndexList.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ResultsPerCSI-RS-IndexList.h"
-
-#include "ResultsPerCSI-RS-Index.h"
-static asn_oer_constraints_t asn_OER_type_ResultsPerCSI_RS_IndexList_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..64)) */};
-asn_per_constraints_t asn_PER_type_ResultsPerCSI_RS_IndexList_constr_1 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_ResultsPerCSI_RS_IndexList_1[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_ResultsPerCSI_RS_Index,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_ResultsPerCSI_RS_IndexList_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ResultsPerCSI_RS_IndexList_specs_1 = {
- sizeof(struct ResultsPerCSI_RS_IndexList),
- offsetof(struct ResultsPerCSI_RS_IndexList, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ResultsPerCSI_RS_IndexList = {
- "ResultsPerCSI-RS-IndexList",
- "ResultsPerCSI-RS-IndexList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_ResultsPerCSI_RS_IndexList_tags_1,
- sizeof(asn_DEF_ResultsPerCSI_RS_IndexList_tags_1)
- /sizeof(asn_DEF_ResultsPerCSI_RS_IndexList_tags_1[0]), /* 1 */
- asn_DEF_ResultsPerCSI_RS_IndexList_tags_1, /* Same as above */
- sizeof(asn_DEF_ResultsPerCSI_RS_IndexList_tags_1)
- /sizeof(asn_DEF_ResultsPerCSI_RS_IndexList_tags_1[0]), /* 1 */
- { &asn_OER_type_ResultsPerCSI_RS_IndexList_constr_1, &asn_PER_type_ResultsPerCSI_RS_IndexList_constr_1, SEQUENCE_OF_constraint },
- asn_MBR_ResultsPerCSI_RS_IndexList_1,
- 1, /* Single element */
- &asn_SPC_ResultsPerCSI_RS_IndexList_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/ResultsPerSSB-Index.c b/e2sm/lib/ResultsPerSSB-Index.c
deleted file mode 100644
index 5aca175..0000000
--- a/e2sm/lib/ResultsPerSSB-Index.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ResultsPerSSB-Index.h"
-
-#include "MeasQuantityResults.h"
-asn_TYPE_member_t asn_MBR_ResultsPerSSB_Index_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct ResultsPerSSB_Index, ssb_Index),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_SSB_Index,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ssb-Index"
- },
- { ATF_POINTER, 1, offsetof(struct ResultsPerSSB_Index, ssb_Results),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_MeasQuantityResults,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ssb-Results"
- },
-};
-static const int asn_MAP_ResultsPerSSB_Index_oms_1[] = { 1 };
-static const ber_tlv_tag_t asn_DEF_ResultsPerSSB_Index_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_ResultsPerSSB_Index_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ssb-Index */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ssb-Results */
-};
-asn_SEQUENCE_specifics_t asn_SPC_ResultsPerSSB_Index_specs_1 = {
- sizeof(struct ResultsPerSSB_Index),
- offsetof(struct ResultsPerSSB_Index, _asn_ctx),
- asn_MAP_ResultsPerSSB_Index_tag2el_1,
- 2, /* Count of tags in the map */
- asn_MAP_ResultsPerSSB_Index_oms_1, /* Optional members */
- 1, 0, /* Root/Additions */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_ResultsPerSSB_Index = {
- "ResultsPerSSB-Index",
- "ResultsPerSSB-Index",
- &asn_OP_SEQUENCE,
- asn_DEF_ResultsPerSSB_Index_tags_1,
- sizeof(asn_DEF_ResultsPerSSB_Index_tags_1)
- /sizeof(asn_DEF_ResultsPerSSB_Index_tags_1[0]), /* 1 */
- asn_DEF_ResultsPerSSB_Index_tags_1, /* Same as above */
- sizeof(asn_DEF_ResultsPerSSB_Index_tags_1)
- /sizeof(asn_DEF_ResultsPerSSB_Index_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_ResultsPerSSB_Index_1,
- 2, /* Elements count */
- &asn_SPC_ResultsPerSSB_Index_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/ResultsPerSSB-IndexList.c b/e2sm/lib/ResultsPerSSB-IndexList.c
deleted file mode 100644
index 2d7e1ab..0000000
--- a/e2sm/lib/ResultsPerSSB-IndexList.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ResultsPerSSB-IndexList.h"
-
-#include "ResultsPerSSB-Index.h"
-static asn_oer_constraints_t asn_OER_type_ResultsPerSSB_IndexList_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..64)) */};
-asn_per_constraints_t asn_PER_type_ResultsPerSSB_IndexList_constr_1 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_ResultsPerSSB_IndexList_1[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_ResultsPerSSB_Index,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_ResultsPerSSB_IndexList_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ResultsPerSSB_IndexList_specs_1 = {
- sizeof(struct ResultsPerSSB_IndexList),
- offsetof(struct ResultsPerSSB_IndexList, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ResultsPerSSB_IndexList = {
- "ResultsPerSSB-IndexList",
- "ResultsPerSSB-IndexList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_ResultsPerSSB_IndexList_tags_1,
- sizeof(asn_DEF_ResultsPerSSB_IndexList_tags_1)
- /sizeof(asn_DEF_ResultsPerSSB_IndexList_tags_1[0]), /* 1 */
- asn_DEF_ResultsPerSSB_IndexList_tags_1, /* Same as above */
- sizeof(asn_DEF_ResultsPerSSB_IndexList_tags_1)
- /sizeof(asn_DEF_ResultsPerSSB_IndexList_tags_1[0]), /* 1 */
- { &asn_OER_type_ResultsPerSSB_IndexList_constr_1, &asn_PER_type_ResultsPerSSB_IndexList_constr_1, SEQUENCE_OF_constraint },
- asn_MBR_ResultsPerSSB_IndexList_1,
- 1, /* Single element */
- &asn_SPC_ResultsPerSSB_IndexList_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/S-NSSAI.c b/e2sm/lib/S-NSSAI.c
index 29b31b2..8f0588e 100644
--- a/e2sm/lib/S-NSSAI.c
+++ b/e2sm/lib/S-NSSAI.c
@@ -1,96 +1,28 @@
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
* `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
*/
#include "S-NSSAI.h"
-static int
-memb_sST_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- size = st->size;
-
- if((size == 1)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static int
-memb_sD_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- size = st->size;
-
- if((size == 3)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_memb_sST_constr_2 CC_NOTUSED = {
- { 0, 0 },
- 1 /* (SIZE(1..1)) */};
-static asn_per_constraints_t asn_PER_memb_sST_constr_2 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 0, 0, 1, 1 } /* (SIZE(1..1)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_sD_constr_3 CC_NOTUSED = {
- { 0, 0 },
- 3 /* (SIZE(3..3)) */};
-static asn_per_constraints_t asn_PER_memb_sD_constr_3 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 0, 0, 3, 3 } /* (SIZE(3..3)) */,
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_S_NSSAI_1[] = {
+static asn_TYPE_member_t asn_MBR_S_NSSAI_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct S_NSSAI, sST),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_OCTET_STRING,
+ &asn_DEF_SST,
0,
- { &asn_OER_memb_sST_constr_2, &asn_PER_memb_sST_constr_2, memb_sST_constraint_1 },
+ { 0, 0, 0 },
0, 0, /* No default value */
"sST"
},
{ ATF_POINTER, 1, offsetof(struct S_NSSAI, sD),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_OCTET_STRING,
+ &asn_DEF_SD,
0,
- { &asn_OER_memb_sD_constr_3, &asn_PER_memb_sD_constr_3, memb_sD_constraint_1 },
+ { 0, 0, 0 },
0, 0, /* No default value */
"sD"
},
@@ -103,14 +35,14 @@
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sST */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sD */
};
-asn_SEQUENCE_specifics_t asn_SPC_S_NSSAI_specs_1 = {
+static asn_SEQUENCE_specifics_t asn_SPC_S_NSSAI_specs_1 = {
sizeof(struct S_NSSAI),
offsetof(struct S_NSSAI, _asn_ctx),
asn_MAP_S_NSSAI_tag2el_1,
2, /* Count of tags in the map */
asn_MAP_S_NSSAI_oms_1, /* Optional members */
1, 0, /* Root/Additions */
- -1, /* First extension addition */
+ 2, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_S_NSSAI = {
"S-NSSAI",
diff --git a/e2sm/lib/SD.c b/e2sm/lib/SD.c
new file mode 100644
index 0000000..aa3655d
--- /dev/null
+++ b/e2sm/lib/SD.c
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "SD.h"
+
+int
+SD_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size == 3)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_SD_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 3 /* (SIZE(3..3)) */};
+asn_per_constraints_t asn_PER_type_SD_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 3, 3 } /* (SIZE(3..3)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_SD_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_SD = {
+ "SD",
+ "SD",
+ &asn_OP_OCTET_STRING,
+ asn_DEF_SD_tags_1,
+ sizeof(asn_DEF_SD_tags_1)
+ /sizeof(asn_DEF_SD_tags_1[0]), /* 1 */
+ asn_DEF_SD_tags_1, /* Same as above */
+ sizeof(asn_DEF_SD_tags_1)
+ /sizeof(asn_DEF_SD_tags_1[0]), /* 1 */
+ { &asn_OER_type_SD_constr_1, &asn_PER_type_SD_constr_1, SD_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_OCTET_STRING_specs /* Additional specs */
+};
+
diff --git a/e2sm/lib/SINR-Range.c b/e2sm/lib/SINR-Range.c
deleted file mode 100644
index 5c1f4ba..0000000
--- a/e2sm/lib/SINR-Range.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "SINR-Range.h"
-
-int
-SINR_Range_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 127)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_SINR_Range_constr_1 CC_NOTUSED = {
- { 1, 1 } /* (0..127) */,
- -1};
-asn_per_constraints_t asn_PER_type_SINR_Range_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_SINR_Range_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_SINR_Range = {
- "SINR-Range",
- "SINR-Range",
- &asn_OP_NativeInteger,
- asn_DEF_SINR_Range_tags_1,
- sizeof(asn_DEF_SINR_Range_tags_1)
- /sizeof(asn_DEF_SINR_Range_tags_1[0]), /* 1 */
- asn_DEF_SINR_Range_tags_1, /* Same as above */
- sizeof(asn_DEF_SINR_Range_tags_1)
- /sizeof(asn_DEF_SINR_Range_tags_1[0]), /* 1 */
- { &asn_OER_type_SINR_Range_constr_1, &asn_PER_type_SINR_Range_constr_1, SINR_Range_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/SINR-RangeEUTRA.c b/e2sm/lib/SINR-RangeEUTRA.c
deleted file mode 100644
index fdee3e7..0000000
--- a/e2sm/lib/SINR-RangeEUTRA.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "SINR-RangeEUTRA.h"
-
-int
-SINR_RangeEUTRA_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 127)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_SINR_RangeEUTRA_constr_1 CC_NOTUSED = {
- { 1, 1 } /* (0..127) */,
- -1};
-asn_per_constraints_t asn_PER_type_SINR_RangeEUTRA_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_SINR_RangeEUTRA_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_SINR_RangeEUTRA = {
- "SINR-RangeEUTRA",
- "SINR-RangeEUTRA",
- &asn_OP_NativeInteger,
- asn_DEF_SINR_RangeEUTRA_tags_1,
- sizeof(asn_DEF_SINR_RangeEUTRA_tags_1)
- /sizeof(asn_DEF_SINR_RangeEUTRA_tags_1[0]), /* 1 */
- asn_DEF_SINR_RangeEUTRA_tags_1, /* Same as above */
- sizeof(asn_DEF_SINR_RangeEUTRA_tags_1)
- /sizeof(asn_DEF_SINR_RangeEUTRA_tags_1[0]), /* 1 */
- { &asn_OER_type_SINR_RangeEUTRA_constr_1, &asn_PER_type_SINR_RangeEUTRA_constr_1, SINR_RangeEUTRA_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/SSB-Index.c b/e2sm/lib/SSB-Index.c
deleted file mode 100644
index 3f9975e..0000000
--- a/e2sm/lib/SSB-Index.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "SSB-Index.h"
-
-int
-SSB_Index_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 63)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_SSB_Index_constr_1 CC_NOTUSED = {
- { 1, 1 } /* (0..63) */,
- -1};
-asn_per_constraints_t asn_PER_type_SSB_Index_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_SSB_Index_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_SSB_Index = {
- "SSB-Index",
- "SSB-Index",
- &asn_OP_NativeInteger,
- asn_DEF_SSB_Index_tags_1,
- sizeof(asn_DEF_SSB_Index_tags_1)
- /sizeof(asn_DEF_SSB_Index_tags_1[0]), /* 1 */
- asn_DEF_SSB_Index_tags_1, /* Same as above */
- sizeof(asn_DEF_SSB_Index_tags_1)
- /sizeof(asn_DEF_SSB_Index_tags_1[0]), /* 1 */
- { &asn_OER_type_SSB_Index_constr_1, &asn_PER_type_SSB_Index_constr_1, SSB_Index_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/SST.c b/e2sm/lib/SST.c
new file mode 100644
index 0000000..2712cd1
--- /dev/null
+++ b/e2sm/lib/SST.c
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "SST.h"
+
+int
+SST_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size == 1)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_SST_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 1 /* (SIZE(1..1)) */};
+asn_per_constraints_t asn_PER_type_SST_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 1, 1 } /* (SIZE(1..1)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_SST_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_SST = {
+ "SST",
+ "SST",
+ &asn_OP_OCTET_STRING,
+ asn_DEF_SST_tags_1,
+ sizeof(asn_DEF_SST_tags_1)
+ /sizeof(asn_DEF_SST_tags_1[0]), /* 1 */
+ asn_DEF_SST_tags_1, /* Same as above */
+ sizeof(asn_DEF_SST_tags_1)
+ /sizeof(asn_DEF_SST_tags_1[0]), /* 1 */
+ { &asn_OER_type_SST_constr_1, &asn_PER_type_SST_constr_1, SST_constraint },
+ 0, 0, /* No members */
+ &asn_SPC_OCTET_STRING_specs /* Additional specs */
+};
+
diff --git a/e2sm/lib/ServCellIndex.c b/e2sm/lib/ServCellIndex.c
deleted file mode 100644
index a7dec96..0000000
--- a/e2sm/lib/ServCellIndex.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ServCellIndex.h"
-
-int
-ServCellIndex_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- long value;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- value = *(const long *)sptr;
-
- if((value >= 0 && value <= 31)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_ServCellIndex_constr_1 CC_NOTUSED = {
- { 1, 1 } /* (0..31) */,
- -1};
-asn_per_constraints_t asn_PER_type_ServCellIndex_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 5, 5, 0, 31 } /* (0..31) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_ServCellIndex_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_ServCellIndex = {
- "ServCellIndex",
- "ServCellIndex",
- &asn_OP_NativeInteger,
- asn_DEF_ServCellIndex_tags_1,
- sizeof(asn_DEF_ServCellIndex_tags_1)
- /sizeof(asn_DEF_ServCellIndex_tags_1[0]), /* 1 */
- asn_DEF_ServCellIndex_tags_1, /* Same as above */
- sizeof(asn_DEF_ServCellIndex_tags_1)
- /sizeof(asn_DEF_ServCellIndex_tags_1[0]), /* 1 */
- { &asn_OER_type_ServCellIndex_constr_1, &asn_PER_type_ServCellIndex_constr_1, ServCellIndex_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
diff --git a/e2sm/lib/ServedPlmnPerCellListItem.c b/e2sm/lib/ServedPlmnPerCellListItem.c
deleted file mode 100644
index 4f10db7..0000000
--- a/e2sm/lib/ServedPlmnPerCellListItem.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ServedPlmnPerCellListItem.h"
-
-#include "FGC-DU-PM-Container.h"
-#include "EPC-DU-PM-Container.h"
-asn_TYPE_member_t asn_MBR_ServedPlmnPerCellListItem_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct ServedPlmnPerCellListItem, pLMN_Identity),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_PLMN_Identity,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "pLMN-Identity"
- },
- { ATF_POINTER, 2, offsetof(struct ServedPlmnPerCellListItem, du_PM_5GC),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_FGC_DU_PM_Container,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "du-PM-5GC"
- },
- { ATF_POINTER, 1, offsetof(struct ServedPlmnPerCellListItem, du_PM_EPC),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_EPC_DU_PM_Container,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "du-PM-EPC"
- },
-};
-static const int asn_MAP_ServedPlmnPerCellListItem_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_ServedPlmnPerCellListItem_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_ServedPlmnPerCellListItem_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* du-PM-5GC */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* du-PM-EPC */
-};
-asn_SEQUENCE_specifics_t asn_SPC_ServedPlmnPerCellListItem_specs_1 = {
- sizeof(struct ServedPlmnPerCellListItem),
- offsetof(struct ServedPlmnPerCellListItem, _asn_ctx),
- asn_MAP_ServedPlmnPerCellListItem_tag2el_1,
- 3, /* Count of tags in the map */
- asn_MAP_ServedPlmnPerCellListItem_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 3, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_ServedPlmnPerCellListItem = {
- "ServedPlmnPerCellListItem",
- "ServedPlmnPerCellListItem",
- &asn_OP_SEQUENCE,
- asn_DEF_ServedPlmnPerCellListItem_tags_1,
- sizeof(asn_DEF_ServedPlmnPerCellListItem_tags_1)
- /sizeof(asn_DEF_ServedPlmnPerCellListItem_tags_1[0]), /* 1 */
- asn_DEF_ServedPlmnPerCellListItem_tags_1, /* Same as above */
- sizeof(asn_DEF_ServedPlmnPerCellListItem_tags_1)
- /sizeof(asn_DEF_ServedPlmnPerCellListItem_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_ServedPlmnPerCellListItem_1,
- 3, /* Elements count */
- &asn_SPC_ServedPlmnPerCellListItem_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/ServingCell-ARFCN.c b/e2sm/lib/ServingCell-ARFCN.c
new file mode 100644
index 0000000..1e6bf06
--- /dev/null
+++ b/e2sm/lib/ServingCell-ARFCN.c
@@ -0,0 +1,66 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "ServingCell-ARFCN.h"
+
+#include "NR-ARFCN.h"
+static asn_oer_constraints_t asn_OER_type_ServingCell_ARFCN_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_ServingCell_ARFCN_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_ServingCell_ARFCN_1[] = {
+ { ATF_POINTER, 0, offsetof(struct ServingCell_ARFCN, choice.nR),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NR_ARFCN,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nR"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct ServingCell_ARFCN, choice.eUTRA),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E_UTRA_ARFCN,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eUTRA"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ServingCell_ARFCN_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nR */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eUTRA */
+};
+asn_CHOICE_specifics_t asn_SPC_ServingCell_ARFCN_specs_1 = {
+ sizeof(struct ServingCell_ARFCN),
+ offsetof(struct ServingCell_ARFCN, _asn_ctx),
+ offsetof(struct ServingCell_ARFCN, present),
+ sizeof(((struct ServingCell_ARFCN *)0)->present),
+ asn_MAP_ServingCell_ARFCN_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_ServingCell_ARFCN = {
+ "ServingCell-ARFCN",
+ "ServingCell-ARFCN",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_ServingCell_ARFCN_constr_1, &asn_PER_type_ServingCell_ARFCN_constr_1, CHOICE_constraint },
+ asn_MBR_ServingCell_ARFCN_1,
+ 2, /* Elements count */
+ &asn_SPC_ServingCell_ARFCN_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/ServingCell-PCI.c b/e2sm/lib/ServingCell-PCI.c
new file mode 100644
index 0000000..191d27f
--- /dev/null
+++ b/e2sm/lib/ServingCell-PCI.c
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "ServingCell-PCI.h"
+
+static asn_oer_constraints_t asn_OER_type_ServingCell_PCI_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_ServingCell_PCI_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_ServingCell_PCI_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct ServingCell_PCI, choice.nR),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NR_PCI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "nR"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct ServingCell_PCI, choice.eUTRA),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E_UTRA_PCI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eUTRA"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ServingCell_PCI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nR */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eUTRA */
+};
+asn_CHOICE_specifics_t asn_SPC_ServingCell_PCI_specs_1 = {
+ sizeof(struct ServingCell_PCI),
+ offsetof(struct ServingCell_PCI, _asn_ctx),
+ offsetof(struct ServingCell_PCI, present),
+ sizeof(((struct ServingCell_PCI *)0)->present),
+ asn_MAP_ServingCell_PCI_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_ServingCell_PCI = {
+ "ServingCell-PCI",
+ "ServingCell-PCI",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_ServingCell_PCI_constr_1, &asn_PER_type_ServingCell_PCI_constr_1, CHOICE_constraint },
+ asn_MBR_ServingCell_PCI_1,
+ 2, /* Elements count */
+ &asn_SPC_ServingCell_PCI_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/ServingCellMeasurements.c b/e2sm/lib/ServingCellMeasurements.c
deleted file mode 100644
index 8ff6d3b..0000000
--- a/e2sm/lib/ServingCellMeasurements.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ServingCellMeasurements.h"
-
-#include "MeasResultServMOList.h"
-#include "MeasResultPCell.h"
-static asn_oer_constraints_t asn_OER_type_ServingCellMeasurements_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-asn_per_constraints_t asn_PER_type_ServingCellMeasurements_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_ServingCellMeasurements_1[] = {
- { ATF_POINTER, 0, offsetof(struct ServingCellMeasurements, choice.nr_measResultServingMOList),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_MeasResultServMOList,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "nr-measResultServingMOList"
- },
- { ATF_POINTER, 0, offsetof(struct ServingCellMeasurements, choice.eutra_measResultPCell),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_MeasResultPCell,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "eutra-measResultPCell"
- },
-};
-static const asn_TYPE_tag2member_t asn_MAP_ServingCellMeasurements_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nr-measResultServingMOList */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eutra-measResultPCell */
-};
-asn_CHOICE_specifics_t asn_SPC_ServingCellMeasurements_specs_1 = {
- sizeof(struct ServingCellMeasurements),
- offsetof(struct ServingCellMeasurements, _asn_ctx),
- offsetof(struct ServingCellMeasurements, present),
- sizeof(((struct ServingCellMeasurements *)0)->present),
- asn_MAP_ServingCellMeasurements_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0,
- 2 /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_ServingCellMeasurements = {
- "ServingCellMeasurements",
- "ServingCellMeasurements",
- &asn_OP_CHOICE,
- 0, /* No effective tags (pointer) */
- 0, /* No effective tags (count) */
- 0, /* No tags (pointer) */
- 0, /* No tags (count) */
- { &asn_OER_type_ServingCellMeasurements_constr_1, &asn_PER_type_ServingCellMeasurements_constr_1, CHOICE_constraint },
- asn_MBR_ServingCellMeasurements_1,
- 2, /* Elements count */
- &asn_SPC_ServingCellMeasurements_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/SlicePerPlmnPerCellListItem.c b/e2sm/lib/SlicePerPlmnPerCellListItem.c
deleted file mode 100644
index 021489f..0000000
--- a/e2sm/lib/SlicePerPlmnPerCellListItem.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "SlicePerPlmnPerCellListItem.h"
-
-#include "FQIPERSlicesPerPlmnPerCellListItem.h"
-static int
-memb_fQIPERSlicesPerPlmnPerCellList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 64)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_fQIPERSlicesPerPlmnPerCellList_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..64)) */};
-static asn_per_constraints_t asn_PER_type_fQIPERSlicesPerPlmnPerCellList_constr_3 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_fQIPERSlicesPerPlmnPerCellList_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..64)) */};
-static asn_per_constraints_t asn_PER_memb_fQIPERSlicesPerPlmnPerCellList_constr_3 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_fQIPERSlicesPerPlmnPerCellList_3[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_FQIPERSlicesPerPlmnPerCellListItem,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_fQIPERSlicesPerPlmnPerCellList_tags_3[] = {
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_fQIPERSlicesPerPlmnPerCellList_specs_3 = {
- sizeof(struct SlicePerPlmnPerCellListItem__fQIPERSlicesPerPlmnPerCellList),
- offsetof(struct SlicePerPlmnPerCellListItem__fQIPERSlicesPerPlmnPerCellList, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_fQIPERSlicesPerPlmnPerCellList_3 = {
- "fQIPERSlicesPerPlmnPerCellList",
- "fQIPERSlicesPerPlmnPerCellList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_fQIPERSlicesPerPlmnPerCellList_tags_3,
- sizeof(asn_DEF_fQIPERSlicesPerPlmnPerCellList_tags_3)
- /sizeof(asn_DEF_fQIPERSlicesPerPlmnPerCellList_tags_3[0]) - 1, /* 1 */
- asn_DEF_fQIPERSlicesPerPlmnPerCellList_tags_3, /* Same as above */
- sizeof(asn_DEF_fQIPERSlicesPerPlmnPerCellList_tags_3)
- /sizeof(asn_DEF_fQIPERSlicesPerPlmnPerCellList_tags_3[0]), /* 2 */
- { &asn_OER_type_fQIPERSlicesPerPlmnPerCellList_constr_3, &asn_PER_type_fQIPERSlicesPerPlmnPerCellList_constr_3, SEQUENCE_OF_constraint },
- asn_MBR_fQIPERSlicesPerPlmnPerCellList_3,
- 1, /* Single element */
- &asn_SPC_fQIPERSlicesPerPlmnPerCellList_specs_3 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_SlicePerPlmnPerCellListItem_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct SlicePerPlmnPerCellListItem, sliceID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_S_NSSAI,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "sliceID"
- },
- { ATF_NOFLAGS, 0, offsetof(struct SlicePerPlmnPerCellListItem, fQIPERSlicesPerPlmnPerCellList),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- 0,
- &asn_DEF_fQIPERSlicesPerPlmnPerCellList_3,
- 0,
- { &asn_OER_memb_fQIPERSlicesPerPlmnPerCellList_constr_3, &asn_PER_memb_fQIPERSlicesPerPlmnPerCellList_constr_3, memb_fQIPERSlicesPerPlmnPerCellList_constraint_1 },
- 0, 0, /* No default value */
- "fQIPERSlicesPerPlmnPerCellList"
- },
-};
-static const ber_tlv_tag_t asn_DEF_SlicePerPlmnPerCellListItem_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_SlicePerPlmnPerCellListItem_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sliceID */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* fQIPERSlicesPerPlmnPerCellList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_SlicePerPlmnPerCellListItem_specs_1 = {
- sizeof(struct SlicePerPlmnPerCellListItem),
- offsetof(struct SlicePerPlmnPerCellListItem, _asn_ctx),
- asn_MAP_SlicePerPlmnPerCellListItem_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_SlicePerPlmnPerCellListItem = {
- "SlicePerPlmnPerCellListItem",
- "SlicePerPlmnPerCellListItem",
- &asn_OP_SEQUENCE,
- asn_DEF_SlicePerPlmnPerCellListItem_tags_1,
- sizeof(asn_DEF_SlicePerPlmnPerCellListItem_tags_1)
- /sizeof(asn_DEF_SlicePerPlmnPerCellListItem_tags_1[0]), /* 1 */
- asn_DEF_SlicePerPlmnPerCellListItem_tags_1, /* Same as above */
- sizeof(asn_DEF_SlicePerPlmnPerCellListItem_tags_1)
- /sizeof(asn_DEF_SlicePerPlmnPerCellListItem_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_SlicePerPlmnPerCellListItem_1,
- 2, /* Elements count */
- &asn_SPC_SlicePerPlmnPerCellListItem_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/SliceToReportListItem.c b/e2sm/lib/SliceToReportListItem.c
deleted file mode 100644
index b466fc3..0000000
--- a/e2sm/lib/SliceToReportListItem.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "SliceToReportListItem.h"
-
-#include "FQIPERSlicesPerPlmnListItem.h"
-static int
-memb_fQIPERSlicesPerPlmnList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- /* Determine the number of elements */
- size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-
- if((size >= 1 && size <= 64)) {
- /* Perform validation of the inner elements */
- return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_type_fQIPERSlicesPerPlmnList_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..64)) */};
-static asn_per_constraints_t asn_PER_type_fQIPERSlicesPerPlmnList_constr_3 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_fQIPERSlicesPerPlmnList_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1 /* (SIZE(1..64)) */};
-static asn_per_constraints_t asn_PER_memb_fQIPERSlicesPerPlmnList_constr_3 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */,
- 0, 0 /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_fQIPERSlicesPerPlmnList_3[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_FQIPERSlicesPerPlmnListItem,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_fQIPERSlicesPerPlmnList_tags_3[] = {
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_fQIPERSlicesPerPlmnList_specs_3 = {
- sizeof(struct SliceToReportListItem__fQIPERSlicesPerPlmnList),
- offsetof(struct SliceToReportListItem__fQIPERSlicesPerPlmnList, _asn_ctx),
- 0, /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_fQIPERSlicesPerPlmnList_3 = {
- "fQIPERSlicesPerPlmnList",
- "fQIPERSlicesPerPlmnList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_fQIPERSlicesPerPlmnList_tags_3,
- sizeof(asn_DEF_fQIPERSlicesPerPlmnList_tags_3)
- /sizeof(asn_DEF_fQIPERSlicesPerPlmnList_tags_3[0]) - 1, /* 1 */
- asn_DEF_fQIPERSlicesPerPlmnList_tags_3, /* Same as above */
- sizeof(asn_DEF_fQIPERSlicesPerPlmnList_tags_3)
- /sizeof(asn_DEF_fQIPERSlicesPerPlmnList_tags_3[0]), /* 2 */
- { &asn_OER_type_fQIPERSlicesPerPlmnList_constr_3, &asn_PER_type_fQIPERSlicesPerPlmnList_constr_3, SEQUENCE_OF_constraint },
- asn_MBR_fQIPERSlicesPerPlmnList_3,
- 1, /* Single element */
- &asn_SPC_fQIPERSlicesPerPlmnList_specs_3 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_SliceToReportListItem_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct SliceToReportListItem, sliceID),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_S_NSSAI,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "sliceID"
- },
- { ATF_NOFLAGS, 0, offsetof(struct SliceToReportListItem, fQIPERSlicesPerPlmnList),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- 0,
- &asn_DEF_fQIPERSlicesPerPlmnList_3,
- 0,
- { &asn_OER_memb_fQIPERSlicesPerPlmnList_constr_3, &asn_PER_memb_fQIPERSlicesPerPlmnList_constr_3, memb_fQIPERSlicesPerPlmnList_constraint_1 },
- 0, 0, /* No default value */
- "fQIPERSlicesPerPlmnList"
- },
-};
-static const ber_tlv_tag_t asn_DEF_SliceToReportListItem_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_SliceToReportListItem_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sliceID */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* fQIPERSlicesPerPlmnList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_SliceToReportListItem_specs_1 = {
- sizeof(struct SliceToReportListItem),
- offsetof(struct SliceToReportListItem, _asn_ctx),
- asn_MAP_SliceToReportListItem_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_SliceToReportListItem = {
- "SliceToReportListItem",
- "SliceToReportListItem",
- &asn_OP_SEQUENCE,
- asn_DEF_SliceToReportListItem_tags_1,
- sizeof(asn_DEF_SliceToReportListItem_tags_1)
- /sizeof(asn_DEF_SliceToReportListItem_tags_1[0]), /* 1 */
- asn_DEF_SliceToReportListItem_tags_1, /* Same as above */
- sizeof(asn_DEF_SliceToReportListItem_tags_1)
- /sizeof(asn_DEF_SliceToReportListItem_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_SliceToReportListItem_1,
- 2, /* Elements count */
- &asn_SPC_SliceToReportListItem_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/SubscriberProfileIDforRFP.c b/e2sm/lib/SubscriberProfileIDforRFP.c
new file mode 100644
index 0000000..ab0182d
--- /dev/null
+++ b/e2sm/lib/SubscriberProfileIDforRFP.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "SubscriberProfileIDforRFP.h"
+
+int
+SubscriberProfileIDforRFP_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 256)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_SubscriberProfileIDforRFP_constr_1 CC_NOTUSED = {
+ { 2, 1 } /* (1..256) */,
+ -1};
+static asn_per_constraints_t asn_PER_type_SubscriberProfileIDforRFP_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 1, 256 } /* (1..256) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_SubscriberProfileIDforRFP_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_SubscriberProfileIDforRFP = {
+ "SubscriberProfileIDforRFP",
+ "SubscriberProfileIDforRFP",
+ &asn_OP_NativeInteger,
+ asn_DEF_SubscriberProfileIDforRFP_tags_1,
+ sizeof(asn_DEF_SubscriberProfileIDforRFP_tags_1)
+ /sizeof(asn_DEF_SubscriberProfileIDforRFP_tags_1[0]), /* 1 */
+ asn_DEF_SubscriberProfileIDforRFP_tags_1, /* Same as above */
+ sizeof(asn_DEF_SubscriberProfileIDforRFP_tags_1)
+ /sizeof(asn_DEF_SubscriberProfileIDforRFP_tags_1[0]), /* 1 */
+ { &asn_OER_type_SubscriberProfileIDforRFP_constr_1, &asn_PER_type_SubscriberProfileIDforRFP_constr_1, SubscriberProfileIDforRFP_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/e2sm/lib/SupportedSULBandList.c b/e2sm/lib/SupportedSULBandList.c
new file mode 100644
index 0000000..7e74326
--- /dev/null
+++ b/e2sm/lib/SupportedSULBandList.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "SupportedSULBandList.h"
+
+#include "SupportedSULFreqBandItem.h"
+static asn_oer_constraints_t asn_OER_type_SupportedSULBandList_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..32)) */};
+asn_per_constraints_t asn_PER_type_SupportedSULBandList_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 0, 32 } /* (SIZE(0..32)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_SupportedSULBandList_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_SupportedSULFreqBandItem,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_SupportedSULBandList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_SupportedSULBandList_specs_1 = {
+ sizeof(struct SupportedSULBandList),
+ offsetof(struct SupportedSULBandList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_SupportedSULBandList = {
+ "SupportedSULBandList",
+ "SupportedSULBandList",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_SupportedSULBandList_tags_1,
+ sizeof(asn_DEF_SupportedSULBandList_tags_1)
+ /sizeof(asn_DEF_SupportedSULBandList_tags_1[0]), /* 1 */
+ asn_DEF_SupportedSULBandList_tags_1, /* Same as above */
+ sizeof(asn_DEF_SupportedSULBandList_tags_1)
+ /sizeof(asn_DEF_SupportedSULBandList_tags_1[0]), /* 1 */
+ { &asn_OER_type_SupportedSULBandList_constr_1, &asn_PER_type_SupportedSULBandList_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_SupportedSULBandList_1,
+ 1, /* Single element */
+ &asn_SPC_SupportedSULBandList_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/SupportedSULFreqBandItem.c b/e2sm/lib/SupportedSULFreqBandItem.c
new file mode 100644
index 0000000..ea7192f
--- /dev/null
+++ b/e2sm/lib/SupportedSULFreqBandItem.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "SupportedSULFreqBandItem.h"
+
+static int
+memb_freqBandIndicatorNr_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 1024)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_memb_freqBandIndicatorNr_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_freqBandIndicatorNr_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 1024 } /* (1..1024,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_SupportedSULFreqBandItem_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct SupportedSULFreqBandItem, freqBandIndicatorNr),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_freqBandIndicatorNr_constr_2, &asn_PER_memb_freqBandIndicatorNr_constr_2, memb_freqBandIndicatorNr_constraint_1 },
+ 0, 0, /* No default value */
+ "freqBandIndicatorNr"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_SupportedSULFreqBandItem_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_SupportedSULFreqBandItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* freqBandIndicatorNr */
+};
+asn_SEQUENCE_specifics_t asn_SPC_SupportedSULFreqBandItem_specs_1 = {
+ sizeof(struct SupportedSULFreqBandItem),
+ offsetof(struct SupportedSULFreqBandItem, _asn_ctx),
+ asn_MAP_SupportedSULFreqBandItem_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_SupportedSULFreqBandItem = {
+ "SupportedSULFreqBandItem",
+ "SupportedSULFreqBandItem",
+ &asn_OP_SEQUENCE,
+ asn_DEF_SupportedSULFreqBandItem_tags_1,
+ sizeof(asn_DEF_SupportedSULFreqBandItem_tags_1)
+ /sizeof(asn_DEF_SupportedSULFreqBandItem_tags_1[0]), /* 1 */
+ asn_DEF_SupportedSULFreqBandItem_tags_1, /* Same as above */
+ sizeof(asn_DEF_SupportedSULFreqBandItem_tags_1)
+ /sizeof(asn_DEF_SupportedSULFreqBandItem_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_SupportedSULFreqBandItem_1,
+ 1, /* Elements count */
+ &asn_SPC_SupportedSULFreqBandItem_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/TimeStamp.c b/e2sm/lib/TimeStamp.c
deleted file mode 100644
index 6d6fd9c..0000000
--- a/e2sm/lib/TimeStamp.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "TimeStamp.h"
-
-int
-TimeStamp_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- size = st->size;
-
- if((size == 8)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-/*
- * This type is implemented using OCTET_STRING,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_TimeStamp_constr_1 CC_NOTUSED = {
- { 0, 0 },
- 8 /* (SIZE(8..8)) */};
-asn_per_constraints_t asn_PER_type_TimeStamp_constr_1 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */,
- 0, 0 /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_TimeStamp_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_TimeStamp = {
- "TimeStamp",
- "TimeStamp",
- &asn_OP_OCTET_STRING,
- asn_DEF_TimeStamp_tags_1,
- sizeof(asn_DEF_TimeStamp_tags_1)
- /sizeof(asn_DEF_TimeStamp_tags_1[0]), /* 1 */
- asn_DEF_TimeStamp_tags_1, /* Same as above */
- sizeof(asn_DEF_TimeStamp_tags_1)
- /sizeof(asn_DEF_TimeStamp_tags_1[0]), /* 1 */
- { &asn_OER_type_TimeStamp_constr_1, &asn_PER_type_TimeStamp_constr_1, TimeStamp_constraint },
- 0, 0, /* No members */
- &asn_SPC_OCTET_STRING_specs /* Additional specs */
-};
-
diff --git a/e2sm/lib/Trigger-ConditionIE-Item.c b/e2sm/lib/Trigger-ConditionIE-Item.c
deleted file mode 100644
index dd0e6f4..0000000
--- a/e2sm/lib/Trigger-ConditionIE-Item.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "Trigger-ConditionIE-Item.h"
-
-asn_TYPE_member_t asn_MBR_Trigger_ConditionIE_Item_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct Trigger_ConditionIE_Item, report_Period_IE),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_RT_Period_IE,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "report-Period-IE"
- },
-};
-static const ber_tlv_tag_t asn_DEF_Trigger_ConditionIE_Item_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_Trigger_ConditionIE_Item_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* report-Period-IE */
-};
-asn_SEQUENCE_specifics_t asn_SPC_Trigger_ConditionIE_Item_specs_1 = {
- sizeof(struct Trigger_ConditionIE_Item),
- offsetof(struct Trigger_ConditionIE_Item, _asn_ctx),
- asn_MAP_Trigger_ConditionIE_Item_tag2el_1,
- 1, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_Trigger_ConditionIE_Item = {
- "Trigger-ConditionIE-Item",
- "Trigger-ConditionIE-Item",
- &asn_OP_SEQUENCE,
- asn_DEF_Trigger_ConditionIE_Item_tags_1,
- sizeof(asn_DEF_Trigger_ConditionIE_Item_tags_1)
- /sizeof(asn_DEF_Trigger_ConditionIE_Item_tags_1[0]), /* 1 */
- asn_DEF_Trigger_ConditionIE_Item_tags_1, /* Same as above */
- sizeof(asn_DEF_Trigger_ConditionIE_Item_tags_1)
- /sizeof(asn_DEF_Trigger_ConditionIE_Item_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_Trigger_ConditionIE_Item_1,
- 1, /* Elements count */
- &asn_SPC_Trigger_ConditionIE_Item_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/TriggerType-Choice-L2state.c b/e2sm/lib/TriggerType-Choice-L2state.c
new file mode 100644
index 0000000..bfb7433
--- /dev/null
+++ b/e2sm/lib/TriggerType-Choice-L2state.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "TriggerType-Choice-L2state.h"
+
+asn_TYPE_member_t asn_MBR_TriggerType_Choice_L2state_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct TriggerType_Choice_L2state, associatedL2variables),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Testing,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "associatedL2variables"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_TriggerType_Choice_L2state_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_TriggerType_Choice_L2state_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* associatedL2variables */
+};
+asn_SEQUENCE_specifics_t asn_SPC_TriggerType_Choice_L2state_specs_1 = {
+ sizeof(struct TriggerType_Choice_L2state),
+ offsetof(struct TriggerType_Choice_L2state, _asn_ctx),
+ asn_MAP_TriggerType_Choice_L2state_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice_L2state = {
+ "TriggerType-Choice-L2state",
+ "TriggerType-Choice-L2state",
+ &asn_OP_SEQUENCE,
+ asn_DEF_TriggerType_Choice_L2state_tags_1,
+ sizeof(asn_DEF_TriggerType_Choice_L2state_tags_1)
+ /sizeof(asn_DEF_TriggerType_Choice_L2state_tags_1[0]), /* 1 */
+ asn_DEF_TriggerType_Choice_L2state_tags_1, /* Same as above */
+ sizeof(asn_DEF_TriggerType_Choice_L2state_tags_1)
+ /sizeof(asn_DEF_TriggerType_Choice_L2state_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_TriggerType_Choice_L2state_1,
+ 1, /* Elements count */
+ &asn_SPC_TriggerType_Choice_L2state_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/TriggerType-Choice-RRCstate-Item.c b/e2sm/lib/TriggerType-Choice-RRCstate-Item.c
new file mode 100644
index 0000000..5d95e41
--- /dev/null
+++ b/e2sm/lib/TriggerType-Choice-RRCstate-Item.c
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "TriggerType-Choice-RRCstate-Item.h"
+
+asn_TYPE_member_t asn_MBR_TriggerType_Choice_RRCstate_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct TriggerType_Choice_RRCstate_Item, stateChangedTo),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RRC_State,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "stateChangedTo"
+ },
+ { ATF_POINTER, 1, offsetof(struct TriggerType_Choice_RRCstate_Item, logicalOR),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_LogicalOR,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "logicalOR"
+ },
+};
+static const int asn_MAP_TriggerType_Choice_RRCstate_Item_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_TriggerType_Choice_RRCstate_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_TriggerType_Choice_RRCstate_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* stateChangedTo */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_TriggerType_Choice_RRCstate_Item_specs_1 = {
+ sizeof(struct TriggerType_Choice_RRCstate_Item),
+ offsetof(struct TriggerType_Choice_RRCstate_Item, _asn_ctx),
+ asn_MAP_TriggerType_Choice_RRCstate_Item_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_TriggerType_Choice_RRCstate_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice_RRCstate_Item = {
+ "TriggerType-Choice-RRCstate-Item",
+ "TriggerType-Choice-RRCstate-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_TriggerType_Choice_RRCstate_Item_tags_1,
+ sizeof(asn_DEF_TriggerType_Choice_RRCstate_Item_tags_1)
+ /sizeof(asn_DEF_TriggerType_Choice_RRCstate_Item_tags_1[0]), /* 1 */
+ asn_DEF_TriggerType_Choice_RRCstate_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_TriggerType_Choice_RRCstate_Item_tags_1)
+ /sizeof(asn_DEF_TriggerType_Choice_RRCstate_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_TriggerType_Choice_RRCstate_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_TriggerType_Choice_RRCstate_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/TriggerType-Choice-RRCstate.c b/e2sm/lib/TriggerType-Choice-RRCstate.c
new file mode 100644
index 0000000..b62aef3
--- /dev/null
+++ b/e2sm/lib/TriggerType-Choice-RRCstate.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "TriggerType-Choice-RRCstate.h"
+
+#include "TriggerType-Choice-RRCstate-Item.h"
+static int
+memb_rrcState_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1 && size <= 8)) {
+ /* Perform validation of the inner elements */
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_type_rrcState_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..8)) */};
+static asn_per_constraints_t asn_PER_type_rrcState_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_rrcState_List_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..8)) */};
+static asn_per_constraints_t asn_PER_memb_rrcState_List_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_rrcState_List_2[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_TriggerType_Choice_RRCstate_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_rrcState_List_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_rrcState_List_specs_2 = {
+ sizeof(struct TriggerType_Choice_RRCstate__rrcState_List),
+ offsetof(struct TriggerType_Choice_RRCstate__rrcState_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_rrcState_List_2 = {
+ "rrcState-List",
+ "rrcState-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_rrcState_List_tags_2,
+ sizeof(asn_DEF_rrcState_List_tags_2)
+ /sizeof(asn_DEF_rrcState_List_tags_2[0]) - 1, /* 1 */
+ asn_DEF_rrcState_List_tags_2, /* Same as above */
+ sizeof(asn_DEF_rrcState_List_tags_2)
+ /sizeof(asn_DEF_rrcState_List_tags_2[0]), /* 2 */
+ { &asn_OER_type_rrcState_List_constr_2, &asn_PER_type_rrcState_List_constr_2, SEQUENCE_OF_constraint },
+ asn_MBR_rrcState_List_2,
+ 1, /* Single element */
+ &asn_SPC_rrcState_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_TriggerType_Choice_RRCstate_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct TriggerType_Choice_RRCstate, rrcState_List),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_rrcState_List_2,
+ 0,
+ { &asn_OER_memb_rrcState_List_constr_2, &asn_PER_memb_rrcState_List_constr_2, memb_rrcState_List_constraint_1 },
+ 0, 0, /* No default value */
+ "rrcState-List"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_TriggerType_Choice_RRCstate_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_TriggerType_Choice_RRCstate_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rrcState-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_TriggerType_Choice_RRCstate_specs_1 = {
+ sizeof(struct TriggerType_Choice_RRCstate),
+ offsetof(struct TriggerType_Choice_RRCstate, _asn_ctx),
+ asn_MAP_TriggerType_Choice_RRCstate_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice_RRCstate = {
+ "TriggerType-Choice-RRCstate",
+ "TriggerType-Choice-RRCstate",
+ &asn_OP_SEQUENCE,
+ asn_DEF_TriggerType_Choice_RRCstate_tags_1,
+ sizeof(asn_DEF_TriggerType_Choice_RRCstate_tags_1)
+ /sizeof(asn_DEF_TriggerType_Choice_RRCstate_tags_1[0]), /* 1 */
+ asn_DEF_TriggerType_Choice_RRCstate_tags_1, /* Same as above */
+ sizeof(asn_DEF_TriggerType_Choice_RRCstate_tags_1)
+ /sizeof(asn_DEF_TriggerType_Choice_RRCstate_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_TriggerType_Choice_RRCstate_1,
+ 1, /* Elements count */
+ &asn_SPC_TriggerType_Choice_RRCstate_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/TriggerType-Choice-UEID.c b/e2sm/lib/TriggerType-Choice-UEID.c
new file mode 100644
index 0000000..26967e1
--- /dev/null
+++ b/e2sm/lib/TriggerType-Choice-UEID.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "TriggerType-Choice-UEID.h"
+
+static int
+memb_ueIDchange_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1 && value <= 512)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_memb_ueIDchange_ID_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_ueIDchange_ID_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 9, 9, 1, 512 } /* (1..512,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_TriggerType_Choice_UEID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct TriggerType_Choice_UEID, ueIDchange_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ 0,
+ { &asn_OER_memb_ueIDchange_ID_constr_2, &asn_PER_memb_ueIDchange_ID_constr_2, memb_ueIDchange_ID_constraint_1 },
+ 0, 0, /* No default value */
+ "ueIDchange-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_TriggerType_Choice_UEID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_TriggerType_Choice_UEID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueIDchange-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_TriggerType_Choice_UEID_specs_1 = {
+ sizeof(struct TriggerType_Choice_UEID),
+ offsetof(struct TriggerType_Choice_UEID, _asn_ctx),
+ asn_MAP_TriggerType_Choice_UEID_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice_UEID = {
+ "TriggerType-Choice-UEID",
+ "TriggerType-Choice-UEID",
+ &asn_OP_SEQUENCE,
+ asn_DEF_TriggerType_Choice_UEID_tags_1,
+ sizeof(asn_DEF_TriggerType_Choice_UEID_tags_1)
+ /sizeof(asn_DEF_TriggerType_Choice_UEID_tags_1[0]), /* 1 */
+ asn_DEF_TriggerType_Choice_UEID_tags_1, /* Same as above */
+ sizeof(asn_DEF_TriggerType_Choice_UEID_tags_1)
+ /sizeof(asn_DEF_TriggerType_Choice_UEID_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_TriggerType_Choice_UEID_1,
+ 1, /* Elements count */
+ &asn_SPC_TriggerType_Choice_UEID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/TriggerType-Choice.c b/e2sm/lib/TriggerType-Choice.c
new file mode 100644
index 0000000..230194b
--- /dev/null
+++ b/e2sm/lib/TriggerType-Choice.c
@@ -0,0 +1,78 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "TriggerType-Choice.h"
+
+#include "TriggerType-Choice-RRCstate.h"
+#include "TriggerType-Choice-UEID.h"
+#include "TriggerType-Choice-L2state.h"
+static asn_oer_constraints_t asn_OER_type_TriggerType_Choice_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_TriggerType_Choice_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_TriggerType_Choice_1[] = {
+ { ATF_POINTER, 0, offsetof(struct TriggerType_Choice, choice.triggerType_Choice_RRCstate),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_TriggerType_Choice_RRCstate,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "triggerType-Choice-RRCstate"
+ },
+ { ATF_POINTER, 0, offsetof(struct TriggerType_Choice, choice.triggerType_Choice_UEID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_TriggerType_Choice_UEID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "triggerType-Choice-UEID"
+ },
+ { ATF_POINTER, 0, offsetof(struct TriggerType_Choice, choice.triggerType_Choice_L2state),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_TriggerType_Choice_L2state,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "triggerType-Choice-L2state"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_TriggerType_Choice_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* triggerType-Choice-RRCstate */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* triggerType-Choice-UEID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* triggerType-Choice-L2state */
+};
+asn_CHOICE_specifics_t asn_SPC_TriggerType_Choice_specs_1 = {
+ sizeof(struct TriggerType_Choice),
+ offsetof(struct TriggerType_Choice, _asn_ctx),
+ offsetof(struct TriggerType_Choice, present),
+ sizeof(((struct TriggerType_Choice *)0)->present),
+ asn_MAP_TriggerType_Choice_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0,
+ 3 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice = {
+ "TriggerType-Choice",
+ "TriggerType-Choice",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_TriggerType_Choice_constr_1, &asn_PER_type_TriggerType_Choice_constr_1, CHOICE_constraint },
+ asn_MBR_TriggerType_Choice_1,
+ 3, /* Elements count */
+ &asn_SPC_TriggerType_Choice_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/TriggeringMessage.c b/e2sm/lib/TriggeringMessage.c
deleted file mode 100644
index 4af15f3..0000000
--- a/e2sm/lib/TriggeringMessage.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "TriggeringMessage.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_TriggeringMessage_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_type_TriggeringMessage_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_TriggeringMessage_value2enum_1[] = {
- { 0, 18, "initiating-message" },
- { 1, 18, "successful-outcome" },
- { 2, 21, "unsuccessfull-outcome" }
-};
-static const unsigned int asn_MAP_TriggeringMessage_enum2value_1[] = {
- 0, /* initiating-message(0) */
- 1, /* successful-outcome(1) */
- 2 /* unsuccessfull-outcome(2) */
-};
-static const asn_INTEGER_specifics_t asn_SPC_TriggeringMessage_specs_1 = {
- asn_MAP_TriggeringMessage_value2enum_1, /* "tag" => N; sorted by tag */
- asn_MAP_TriggeringMessage_enum2value_1, /* N => "tag"; sorted by N */
- 3, /* Number of elements in the maps */
- 0, /* Enumeration is not extensible */
- 1, /* Strict enumeration */
- 0, /* Native long size */
- 0
-};
-static const ber_tlv_tag_t asn_DEF_TriggeringMessage_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_TriggeringMessage = {
- "TriggeringMessage",
- "TriggeringMessage",
- &asn_OP_NativeEnumerated,
- asn_DEF_TriggeringMessage_tags_1,
- sizeof(asn_DEF_TriggeringMessage_tags_1)
- /sizeof(asn_DEF_TriggeringMessage_tags_1[0]), /* 1 */
- asn_DEF_TriggeringMessage_tags_1, /* Same as above */
- sizeof(asn_DEF_TriggeringMessage_tags_1)
- /sizeof(asn_DEF_TriggeringMessage_tags_1[0]), /* 1 */
- { &asn_OER_type_TriggeringMessage_constr_1, &asn_PER_type_TriggeringMessage_constr_1, NativeEnumerated_constraint },
- 0, 0, /* Defined elsewhere */
- &asn_SPC_TriggeringMessage_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/UE-Identity.c b/e2sm/lib/UE-Identity.c
deleted file mode 100644
index f0c1410..0000000
--- a/e2sm/lib/UE-Identity.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- * found in "e2sm-kpm-rc.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "UE-Identity.h"
-
-/*
- * This type is implemented using OCTET_STRING,
- * so here we adjust the DEF accordingly.
- */
-static const ber_tlv_tag_t asn_DEF_UE_Identity_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_UE_Identity = {
- "UE-Identity",
- "UE-Identity",
- &asn_OP_OCTET_STRING,
- asn_DEF_UE_Identity_tags_1,
- sizeof(asn_DEF_UE_Identity_tags_1)
- /sizeof(asn_DEF_UE_Identity_tags_1[0]), /* 1 */
- asn_DEF_UE_Identity_tags_1, /* Same as above */
- sizeof(asn_DEF_UE_Identity_tags_1)
- /sizeof(asn_DEF_UE_Identity_tags_1[0]), /* 1 */
- { 0, 0, OCTET_STRING_constraint },
- 0, 0, /* No members */
- &asn_SPC_OCTET_STRING_specs /* Additional specs */
-};
-
diff --git a/e2sm/lib/UEID-EN-GNB.c b/e2sm/lib/UEID-EN-GNB.c
new file mode 100644
index 0000000..e5da432
--- /dev/null
+++ b/e2sm/lib/UEID-EN-GNB.c
@@ -0,0 +1,103 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-EN-GNB.h"
+
+#include "UEID-GNB-CU-CP-E1AP-ID-List.h"
+asn_TYPE_member_t asn_MBR_UEID_EN_GNB_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct UEID_EN_GNB, m_eNB_UE_X2AP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ENB_UE_X2AP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "m-eNB-UE-X2AP-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct UEID_EN_GNB, m_eNB_UE_X2AP_ID_Extension),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ENB_UE_X2AP_ID_Extension,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "m-eNB-UE-X2AP-ID-Extension"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct UEID_EN_GNB, globalENB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalENB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "globalENB-ID"
+ },
+ { ATF_POINTER, 3, offsetof(struct UEID_EN_GNB, gNB_CU_UE_F1AP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GNB_CU_UE_F1AP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-CU-UE-F1AP-ID"
+ },
+ { ATF_POINTER, 2, offsetof(struct UEID_EN_GNB, gNB_CU_CP_UE_E1AP_ID_List),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-CU-CP-UE-E1AP-ID-List"
+ },
+ { ATF_POINTER, 1, offsetof(struct UEID_EN_GNB, ran_UEID),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANUEID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ran-UEID"
+ },
+};
+static const int asn_MAP_UEID_EN_GNB_oms_1[] = { 1, 3, 4, 5 };
+static const ber_tlv_tag_t asn_DEF_UEID_EN_GNB_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_EN_GNB_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m-eNB-UE-X2AP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* m-eNB-UE-X2AP-ID-Extension */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* globalENB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* gNB-CU-UE-F1AP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* gNB-CU-CP-UE-E1AP-ID-List */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* ran-UEID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_EN_GNB_specs_1 = {
+ sizeof(struct UEID_EN_GNB),
+ offsetof(struct UEID_EN_GNB, _asn_ctx),
+ asn_MAP_UEID_EN_GNB_tag2el_1,
+ 6, /* Count of tags in the map */
+ asn_MAP_UEID_EN_GNB_oms_1, /* Optional members */
+ 4, 0, /* Root/Additions */
+ 6, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_EN_GNB = {
+ "UEID-EN-GNB",
+ "UEID-EN-GNB",
+ &asn_OP_SEQUENCE,
+ asn_DEF_UEID_EN_GNB_tags_1,
+ sizeof(asn_DEF_UEID_EN_GNB_tags_1)
+ /sizeof(asn_DEF_UEID_EN_GNB_tags_1[0]), /* 1 */
+ asn_DEF_UEID_EN_GNB_tags_1, /* Same as above */
+ sizeof(asn_DEF_UEID_EN_GNB_tags_1)
+ /sizeof(asn_DEF_UEID_EN_GNB_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_UEID_EN_GNB_1,
+ 6, /* Elements count */
+ &asn_SPC_UEID_EN_GNB_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-ENB.c b/e2sm/lib/UEID-ENB.c
new file mode 100644
index 0000000..bdf2af8
--- /dev/null
+++ b/e2sm/lib/UEID-ENB.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-ENB.h"
+
+#include "GlobalENB-ID.h"
+asn_TYPE_member_t asn_MBR_UEID_ENB_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct UEID_ENB, mME_UE_S1AP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MME_UE_S1AP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "mME-UE-S1AP-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct UEID_ENB, gUMMEI),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GUMMEI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gUMMEI"
+ },
+ { ATF_POINTER, 3, offsetof(struct UEID_ENB, m_eNB_UE_X2AP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ENB_UE_X2AP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "m-eNB-UE-X2AP-ID"
+ },
+ { ATF_POINTER, 2, offsetof(struct UEID_ENB, m_eNB_UE_X2AP_ID_Extension),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ENB_UE_X2AP_ID_Extension,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "m-eNB-UE-X2AP-ID-Extension"
+ },
+ { ATF_POINTER, 1, offsetof(struct UEID_ENB, globalENB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalENB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "globalENB-ID"
+ },
+};
+static const int asn_MAP_UEID_ENB_oms_1[] = { 2, 3, 4 };
+static const ber_tlv_tag_t asn_DEF_UEID_ENB_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_ENB_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* mME-UE-S1AP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* gUMMEI */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* m-eNB-UE-X2AP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* m-eNB-UE-X2AP-ID-Extension */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* globalENB-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_ENB_specs_1 = {
+ sizeof(struct UEID_ENB),
+ offsetof(struct UEID_ENB, _asn_ctx),
+ asn_MAP_UEID_ENB_tag2el_1,
+ 5, /* Count of tags in the map */
+ asn_MAP_UEID_ENB_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 5, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_ENB = {
+ "UEID-ENB",
+ "UEID-ENB",
+ &asn_OP_SEQUENCE,
+ asn_DEF_UEID_ENB_tags_1,
+ sizeof(asn_DEF_UEID_ENB_tags_1)
+ /sizeof(asn_DEF_UEID_ENB_tags_1[0]), /* 1 */
+ asn_DEF_UEID_ENB_tags_1, /* Same as above */
+ sizeof(asn_DEF_UEID_ENB_tags_1)
+ /sizeof(asn_DEF_UEID_ENB_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_UEID_ENB_1,
+ 5, /* Elements count */
+ &asn_SPC_UEID_ENB_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-GNB-CU-CP-E1AP-ID-Item.c b/e2sm/lib/UEID-GNB-CU-CP-E1AP-ID-Item.c
new file mode 100644
index 0000000..893be77
--- /dev/null
+++ b/e2sm/lib/UEID-GNB-CU-CP-E1AP-ID-Item.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-GNB-CU-CP-E1AP-ID-Item.h"
+
+asn_TYPE_member_t asn_MBR_UEID_GNB_CU_CP_E1AP_ID_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct UEID_GNB_CU_CP_E1AP_ID_Item, gNB_CU_CP_UE_E1AP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GNB_CU_CP_UE_E1AP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-CU-CP-UE-E1AP-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_GNB_CU_CP_E1AP_ID_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gNB-CU-CP-UE-E1AP-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_CU_CP_E1AP_ID_Item_specs_1 = {
+ sizeof(struct UEID_GNB_CU_CP_E1AP_ID_Item),
+ offsetof(struct UEID_GNB_CU_CP_E1AP_ID_Item, _asn_ctx),
+ asn_MAP_UEID_GNB_CU_CP_E1AP_ID_Item_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item = {
+ "UEID-GNB-CU-CP-E1AP-ID-Item",
+ "UEID-GNB-CU-CP-E1AP-ID-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item_tags_1,
+ sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item_tags_1)
+ /sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item_tags_1[0]), /* 1 */
+ asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item_tags_1)
+ /sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_UEID_GNB_CU_CP_E1AP_ID_Item_1,
+ 1, /* Elements count */
+ &asn_SPC_UEID_GNB_CU_CP_E1AP_ID_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-GNB-CU-CP-E1AP-ID-List.c b/e2sm/lib/UEID-GNB-CU-CP-E1AP-ID-List.c
new file mode 100644
index 0000000..d6d6bc2
--- /dev/null
+++ b/e2sm/lib/UEID-GNB-CU-CP-E1AP-ID-List.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-GNB-CU-CP-E1AP-ID-List.h"
+
+#include "UEID-GNB-CU-CP-E1AP-ID-Item.h"
+static asn_oer_constraints_t asn_OER_type_UEID_GNB_CU_CP_E1AP_ID_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..65535)) */};
+asn_per_constraints_t asn_PER_type_UEID_GNB_CU_CP_E1AP_ID_List_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_UEID_GNB_CU_CP_E1AP_ID_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_UEID_GNB_CU_CP_E1AP_ID_List_specs_1 = {
+ sizeof(struct UEID_GNB_CU_CP_E1AP_ID_List),
+ offsetof(struct UEID_GNB_CU_CP_E1AP_ID_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List = {
+ "UEID-GNB-CU-CP-E1AP-ID-List",
+ "UEID-GNB-CU-CP-E1AP-ID-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List_tags_1,
+ sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List_tags_1)
+ /sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List_tags_1[0]), /* 1 */
+ asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List_tags_1)
+ /sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_UEID_GNB_CU_CP_E1AP_ID_List_constr_1, &asn_PER_type_UEID_GNB_CU_CP_E1AP_ID_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_UEID_GNB_CU_CP_E1AP_ID_List_1,
+ 1, /* Single element */
+ &asn_SPC_UEID_GNB_CU_CP_E1AP_ID_List_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-GNB-CU-CP-F1AP-ID-Item.c b/e2sm/lib/UEID-GNB-CU-CP-F1AP-ID-Item.c
new file mode 100644
index 0000000..0a893b4
--- /dev/null
+++ b/e2sm/lib/UEID-GNB-CU-CP-F1AP-ID-Item.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-GNB-CU-CP-F1AP-ID-Item.h"
+
+asn_TYPE_member_t asn_MBR_UEID_GNB_CU_CP_F1AP_ID_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct UEID_GNB_CU_CP_F1AP_ID_Item, gNB_CU_UE_F1AP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GNB_CU_UE_F1AP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-CU-UE-F1AP-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_GNB_CU_CP_F1AP_ID_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gNB-CU-UE-F1AP-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_CU_CP_F1AP_ID_Item_specs_1 = {
+ sizeof(struct UEID_GNB_CU_CP_F1AP_ID_Item),
+ offsetof(struct UEID_GNB_CU_CP_F1AP_ID_Item, _asn_ctx),
+ asn_MAP_UEID_GNB_CU_CP_F1AP_ID_Item_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item = {
+ "UEID-GNB-CU-CP-F1AP-ID-Item",
+ "UEID-GNB-CU-CP-F1AP-ID-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item_tags_1,
+ sizeof(asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item_tags_1)
+ /sizeof(asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item_tags_1[0]), /* 1 */
+ asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item_tags_1)
+ /sizeof(asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_UEID_GNB_CU_CP_F1AP_ID_Item_1,
+ 1, /* Elements count */
+ &asn_SPC_UEID_GNB_CU_CP_F1AP_ID_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-GNB-CU-F1AP-ID-List.c b/e2sm/lib/UEID-GNB-CU-F1AP-ID-List.c
new file mode 100644
index 0000000..98da296
--- /dev/null
+++ b/e2sm/lib/UEID-GNB-CU-F1AP-ID-List.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-GNB-CU-F1AP-ID-List.h"
+
+#include "UEID-GNB-CU-CP-F1AP-ID-Item.h"
+static asn_oer_constraints_t asn_OER_type_UEID_GNB_CU_F1AP_ID_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..4)) */};
+asn_per_constraints_t asn_PER_type_UEID_GNB_CU_F1AP_ID_List_constr_1 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_UEID_GNB_CU_F1AP_ID_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_UEID_GNB_CU_F1AP_ID_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_UEID_GNB_CU_F1AP_ID_List_specs_1 = {
+ sizeof(struct UEID_GNB_CU_F1AP_ID_List),
+ offsetof(struct UEID_GNB_CU_F1AP_ID_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_F1AP_ID_List = {
+ "UEID-GNB-CU-F1AP-ID-List",
+ "UEID-GNB-CU-F1AP-ID-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_UEID_GNB_CU_F1AP_ID_List_tags_1,
+ sizeof(asn_DEF_UEID_GNB_CU_F1AP_ID_List_tags_1)
+ /sizeof(asn_DEF_UEID_GNB_CU_F1AP_ID_List_tags_1[0]), /* 1 */
+ asn_DEF_UEID_GNB_CU_F1AP_ID_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_UEID_GNB_CU_F1AP_ID_List_tags_1)
+ /sizeof(asn_DEF_UEID_GNB_CU_F1AP_ID_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_UEID_GNB_CU_F1AP_ID_List_constr_1, &asn_PER_type_UEID_GNB_CU_F1AP_ID_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_UEID_GNB_CU_F1AP_ID_List_1,
+ 1, /* Single element */
+ &asn_SPC_UEID_GNB_CU_F1AP_ID_List_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-GNB-CU-UP.c b/e2sm/lib/UEID-GNB-CU-UP.c
new file mode 100644
index 0000000..169b1b5
--- /dev/null
+++ b/e2sm/lib/UEID-GNB-CU-UP.c
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-GNB-CU-UP.h"
+
+asn_TYPE_member_t asn_MBR_UEID_GNB_CU_UP_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct UEID_GNB_CU_UP, gNB_CU_CP_UE_E1AP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GNB_CU_CP_UE_E1AP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-CU-CP-UE-E1AP-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct UEID_GNB_CU_UP, ran_UEID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANUEID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ran-UEID"
+ },
+};
+static const int asn_MAP_UEID_GNB_CU_UP_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_UEID_GNB_CU_UP_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_GNB_CU_UP_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB-CU-CP-UE-E1AP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ran-UEID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_CU_UP_specs_1 = {
+ sizeof(struct UEID_GNB_CU_UP),
+ offsetof(struct UEID_GNB_CU_UP, _asn_ctx),
+ asn_MAP_UEID_GNB_CU_UP_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_UEID_GNB_CU_UP_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_UP = {
+ "UEID-GNB-CU-UP",
+ "UEID-GNB-CU-UP",
+ &asn_OP_SEQUENCE,
+ asn_DEF_UEID_GNB_CU_UP_tags_1,
+ sizeof(asn_DEF_UEID_GNB_CU_UP_tags_1)
+ /sizeof(asn_DEF_UEID_GNB_CU_UP_tags_1[0]), /* 1 */
+ asn_DEF_UEID_GNB_CU_UP_tags_1, /* Same as above */
+ sizeof(asn_DEF_UEID_GNB_CU_UP_tags_1)
+ /sizeof(asn_DEF_UEID_GNB_CU_UP_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_UEID_GNB_CU_UP_1,
+ 2, /* Elements count */
+ &asn_SPC_UEID_GNB_CU_UP_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-GNB-DU.c b/e2sm/lib/UEID-GNB-DU.c
new file mode 100644
index 0000000..4bc5c7f
--- /dev/null
+++ b/e2sm/lib/UEID-GNB-DU.c
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-GNB-DU.h"
+
+asn_TYPE_member_t asn_MBR_UEID_GNB_DU_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct UEID_GNB_DU, gNB_CU_UE_F1AP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GNB_CU_UE_F1AP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-CU-UE-F1AP-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct UEID_GNB_DU, ran_UEID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANUEID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ran-UEID"
+ },
+};
+static const int asn_MAP_UEID_GNB_DU_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_UEID_GNB_DU_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_GNB_DU_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB-CU-UE-F1AP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ran-UEID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_DU_specs_1 = {
+ sizeof(struct UEID_GNB_DU),
+ offsetof(struct UEID_GNB_DU, _asn_ctx),
+ asn_MAP_UEID_GNB_DU_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_UEID_GNB_DU_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_GNB_DU = {
+ "UEID-GNB-DU",
+ "UEID-GNB-DU",
+ &asn_OP_SEQUENCE,
+ asn_DEF_UEID_GNB_DU_tags_1,
+ sizeof(asn_DEF_UEID_GNB_DU_tags_1)
+ /sizeof(asn_DEF_UEID_GNB_DU_tags_1[0]), /* 1 */
+ asn_DEF_UEID_GNB_DU_tags_1, /* Same as above */
+ sizeof(asn_DEF_UEID_GNB_DU_tags_1)
+ /sizeof(asn_DEF_UEID_GNB_DU_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_UEID_GNB_DU_1,
+ 2, /* Elements count */
+ &asn_SPC_UEID_GNB_DU_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-GNB.c b/e2sm/lib/UEID-GNB.c
new file mode 100644
index 0000000..f529b8b
--- /dev/null
+++ b/e2sm/lib/UEID-GNB.c
@@ -0,0 +1,126 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-GNB.h"
+
+#include "UEID-GNB-CU-F1AP-ID-List.h"
+#include "UEID-GNB-CU-CP-E1AP-ID-List.h"
+#include "GlobalGNB-ID.h"
+#include "GlobalNGRANNodeID.h"
+asn_TYPE_member_t asn_MBR_UEID_GNB_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct UEID_GNB, amf_UE_NGAP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AMF_UE_NGAP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "amf-UE-NGAP-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct UEID_GNB, guami),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GUAMI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "guami"
+ },
+ { ATF_POINTER, 6, offsetof(struct UEID_GNB, gNB_CU_UE_F1AP_ID_List),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UEID_GNB_CU_F1AP_ID_List,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-CU-UE-F1AP-ID-List"
+ },
+ { ATF_POINTER, 5, offsetof(struct UEID_GNB, gNB_CU_CP_UE_E1AP_ID_List),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-CU-CP-UE-E1AP-ID-List"
+ },
+ { ATF_POINTER, 4, offsetof(struct UEID_GNB, ran_UEID),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANUEID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ran-UEID"
+ },
+ { ATF_POINTER, 3, offsetof(struct UEID_GNB, m_NG_RAN_UE_XnAP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NG_RANnodeUEXnAPID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "m-NG-RAN-UE-XnAP-ID"
+ },
+ { ATF_POINTER, 2, offsetof(struct UEID_GNB, globalGNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalGNB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "globalGNB-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct UEID_GNB, globalNG_RANNode_ID),
+ (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_GlobalNGRANNodeID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "globalNG-RANNode-ID"
+ },
+};
+static const int asn_MAP_UEID_GNB_oms_1[] = { 2, 3, 4, 5, 6, 7 };
+static const ber_tlv_tag_t asn_DEF_UEID_GNB_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_GNB_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* amf-UE-NGAP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* guami */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* gNB-CU-UE-F1AP-ID-List */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* gNB-CU-CP-UE-E1AP-ID-List */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ran-UEID */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* m-NG-RAN-UE-XnAP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* globalGNB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* globalNG-RANNode-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_specs_1 = {
+ sizeof(struct UEID_GNB),
+ offsetof(struct UEID_GNB, _asn_ctx),
+ asn_MAP_UEID_GNB_tag2el_1,
+ 8, /* Count of tags in the map */
+ asn_MAP_UEID_GNB_oms_1, /* Optional members */
+ 5, 1, /* Root/Additions */
+ 7, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_GNB = {
+ "UEID-GNB",
+ "UEID-GNB",
+ &asn_OP_SEQUENCE,
+ asn_DEF_UEID_GNB_tags_1,
+ sizeof(asn_DEF_UEID_GNB_tags_1)
+ /sizeof(asn_DEF_UEID_GNB_tags_1[0]), /* 1 */
+ asn_DEF_UEID_GNB_tags_1, /* Same as above */
+ sizeof(asn_DEF_UEID_GNB_tags_1)
+ /sizeof(asn_DEF_UEID_GNB_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_UEID_GNB_1,
+ 8, /* Elements count */
+ &asn_SPC_UEID_GNB_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-NG-ENB-DU.c b/e2sm/lib/UEID-NG-ENB-DU.c
new file mode 100644
index 0000000..bba9b70
--- /dev/null
+++ b/e2sm/lib/UEID-NG-ENB-DU.c
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-NG-ENB-DU.h"
+
+asn_TYPE_member_t asn_MBR_UEID_NG_ENB_DU_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct UEID_NG_ENB_DU, ng_eNB_CU_UE_W1AP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NGENB_CU_UE_W1AP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ng-eNB-CU-UE-W1AP-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_UEID_NG_ENB_DU_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_NG_ENB_DU_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ng-eNB-CU-UE-W1AP-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_NG_ENB_DU_specs_1 = {
+ sizeof(struct UEID_NG_ENB_DU),
+ offsetof(struct UEID_NG_ENB_DU, _asn_ctx),
+ asn_MAP_UEID_NG_ENB_DU_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_NG_ENB_DU = {
+ "UEID-NG-ENB-DU",
+ "UEID-NG-ENB-DU",
+ &asn_OP_SEQUENCE,
+ asn_DEF_UEID_NG_ENB_DU_tags_1,
+ sizeof(asn_DEF_UEID_NG_ENB_DU_tags_1)
+ /sizeof(asn_DEF_UEID_NG_ENB_DU_tags_1[0]), /* 1 */
+ asn_DEF_UEID_NG_ENB_DU_tags_1, /* Same as above */
+ sizeof(asn_DEF_UEID_NG_ENB_DU_tags_1)
+ /sizeof(asn_DEF_UEID_NG_ENB_DU_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_UEID_NG_ENB_DU_1,
+ 1, /* Elements count */
+ &asn_SPC_UEID_NG_ENB_DU_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-NG-ENB.c b/e2sm/lib/UEID-NG-ENB.c
new file mode 100644
index 0000000..5681365
--- /dev/null
+++ b/e2sm/lib/UEID-NG-ENB.c
@@ -0,0 +1,104 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-NG-ENB.h"
+
+#include "GlobalNgENB-ID.h"
+#include "GlobalNGRANNodeID.h"
+asn_TYPE_member_t asn_MBR_UEID_NG_ENB_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct UEID_NG_ENB, amf_UE_NGAP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AMF_UE_NGAP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "amf-UE-NGAP-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct UEID_NG_ENB, guami),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GUAMI,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "guami"
+ },
+ { ATF_POINTER, 4, offsetof(struct UEID_NG_ENB, ng_eNB_CU_UE_W1AP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NGENB_CU_UE_W1AP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ng-eNB-CU-UE-W1AP-ID"
+ },
+ { ATF_POINTER, 3, offsetof(struct UEID_NG_ENB, m_NG_RAN_UE_XnAP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NG_RANnodeUEXnAPID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "m-NG-RAN-UE-XnAP-ID"
+ },
+ { ATF_POINTER, 2, offsetof(struct UEID_NG_ENB, globalNgENB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GlobalNgENB_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "globalNgENB-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct UEID_NG_ENB, globalNG_RANNode_ID),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_GlobalNGRANNodeID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "globalNG-RANNode-ID"
+ },
+};
+static const int asn_MAP_UEID_NG_ENB_oms_1[] = { 2, 3, 4, 5 };
+static const ber_tlv_tag_t asn_DEF_UEID_NG_ENB_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_NG_ENB_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* amf-UE-NGAP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* guami */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ng-eNB-CU-UE-W1AP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* m-NG-RAN-UE-XnAP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* globalNgENB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* globalNG-RANNode-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_NG_ENB_specs_1 = {
+ sizeof(struct UEID_NG_ENB),
+ offsetof(struct UEID_NG_ENB, _asn_ctx),
+ asn_MAP_UEID_NG_ENB_tag2el_1,
+ 6, /* Count of tags in the map */
+ asn_MAP_UEID_NG_ENB_oms_1, /* Optional members */
+ 3, 1, /* Root/Additions */
+ 5, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_NG_ENB = {
+ "UEID-NG-ENB",
+ "UEID-NG-ENB",
+ &asn_OP_SEQUENCE,
+ asn_DEF_UEID_NG_ENB_tags_1,
+ sizeof(asn_DEF_UEID_NG_ENB_tags_1)
+ /sizeof(asn_DEF_UEID_NG_ENB_tags_1[0]), /* 1 */
+ asn_DEF_UEID_NG_ENB_tags_1, /* Same as above */
+ sizeof(asn_DEF_UEID_NG_ENB_tags_1)
+ /sizeof(asn_DEF_UEID_NG_ENB_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_UEID_NG_ENB_1,
+ 6, /* Elements count */
+ &asn_SPC_UEID_NG_ENB_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID.c b/e2sm/lib/UEID.c
new file mode 100644
index 0000000..42c27ab
--- /dev/null
+++ b/e2sm/lib/UEID.c
@@ -0,0 +1,122 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID.h"
+
+#include "UEID-GNB.h"
+#include "UEID-GNB-DU.h"
+#include "UEID-GNB-CU-UP.h"
+#include "UEID-NG-ENB.h"
+#include "UEID-NG-ENB-DU.h"
+#include "UEID-EN-GNB.h"
+#include "UEID-ENB.h"
+static asn_oer_constraints_t asn_OER_type_UEID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_UEID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_UEID_1[] = {
+ { ATF_POINTER, 0, offsetof(struct UEID, choice.gNB_UEID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UEID_GNB,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-UEID"
+ },
+ { ATF_POINTER, 0, offsetof(struct UEID, choice.gNB_DU_UEID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UEID_GNB_DU,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-DU-UEID"
+ },
+ { ATF_POINTER, 0, offsetof(struct UEID, choice.gNB_CU_UP_UEID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UEID_GNB_CU_UP,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-CU-UP-UEID"
+ },
+ { ATF_POINTER, 0, offsetof(struct UEID, choice.ng_eNB_UEID),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UEID_NG_ENB,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ng-eNB-UEID"
+ },
+ { ATF_POINTER, 0, offsetof(struct UEID, choice.ng_eNB_DU_UEID),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UEID_NG_ENB_DU,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ng-eNB-DU-UEID"
+ },
+ { ATF_POINTER, 0, offsetof(struct UEID, choice.en_gNB_UEID),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UEID_EN_GNB,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "en-gNB-UEID"
+ },
+ { ATF_POINTER, 0, offsetof(struct UEID, choice.eNB_UEID),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UEID_ENB,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "eNB-UEID"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB-UEID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* gNB-DU-UEID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* gNB-CU-UP-UEID */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ng-eNB-UEID */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ng-eNB-DU-UEID */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* en-gNB-UEID */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* eNB-UEID */
+};
+asn_CHOICE_specifics_t asn_SPC_UEID_specs_1 = {
+ sizeof(struct UEID),
+ offsetof(struct UEID, _asn_ctx),
+ offsetof(struct UEID, present),
+ sizeof(((struct UEID *)0)->present),
+ asn_MAP_UEID_tag2el_1,
+ 7, /* Count of tags in the map */
+ 0, 0,
+ 7 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID = {
+ "UEID",
+ "UEID",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_UEID_constr_1, &asn_PER_type_UEID_constr_1, CHOICE_constraint },
+ asn_MBR_UEID_1,
+ 7, /* Elements count */
+ &asn_SPC_UEID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEIdentification-RANParameter-Item.c b/e2sm/lib/UEIdentification-RANParameter-Item.c
new file mode 100644
index 0000000..7349bbd
--- /dev/null
+++ b/e2sm/lib/UEIdentification-RANParameter-Item.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * found in "e2sm-rc-nov2021.asn"
+ * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEIdentification-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_UEIdentification_RANParameter_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct UEIdentification_RANParameter_Item, ranParameter_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct UEIdentification_RANParameter_Item, ranParameter_name),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Name,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-name"
+ },
+ { ATF_POINTER, 1, offsetof(struct UEIdentification_RANParameter_Item, ranParameter_Definition),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANParameter_Definition,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranParameter-Definition"
+ },
+};
+static const int asn_MAP_UEIdentification_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_UEIdentification_RANParameter_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEIdentification_RANParameter_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEIdentification_RANParameter_Item_specs_1 = {
+ sizeof(struct UEIdentification_RANParameter_Item),
+ offsetof(struct UEIdentification_RANParameter_Item, _asn_ctx),
+ asn_MAP_UEIdentification_RANParameter_Item_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_UEIdentification_RANParameter_Item_oms_1, /* Optional members */
+ 0, 1, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEIdentification_RANParameter_Item = {
+ "UEIdentification-RANParameter-Item",
+ "UEIdentification-RANParameter-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_UEIdentification_RANParameter_Item_tags_1,
+ sizeof(asn_DEF_UEIdentification_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_UEIdentification_RANParameter_Item_tags_1[0]), /* 1 */
+ asn_DEF_UEIdentification_RANParameter_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_UEIdentification_RANParameter_Item_tags_1)
+ /sizeof(asn_DEF_UEIdentification_RANParameter_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_UEIdentification_RANParameter_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_UEIdentification_RANParameter_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/asn_random_fill.c b/e2sm/lib/asn_random_fill.c
index 2e3e892..819cf70 100644
--- a/e2sm/lib/asn_random_fill.c
+++ b/e2sm/lib/asn_random_fill.c
@@ -48,11 +48,7 @@
for(; got_entropy < range;) {
got_entropy = (got_entropy << 24) | 0xffffff;
-#ifdef WIN32
- value = (value << 24) | (rand() % 0xffffff); //MCHECK:for building on Windows
-#else
- value = (value << 24) | (random() % 0xffffff); //MCHECK:for building on Linux
-#endif
+ value = (value << 24) | (random() % 0xffffff);
}
return lb + (intmax_t)(value % (range + 1));
diff --git a/e2sm/lib/pdu_collection.c b/e2sm/lib/pdu_collection.c
deleted file mode 100644
index deea97d..0000000
--- a/e2sm/lib/pdu_collection.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- */
-
-struct asn_TYPE_descriptor_s; /* Forward declaration */
-
-extern struct asn_TYPE_descriptor_s asn_DEF_Criticality;
-extern struct asn_TYPE_descriptor_s asn_DEF_Presence;
-extern struct asn_TYPE_descriptor_s asn_DEF_ProcedureCode;
-extern struct asn_TYPE_descriptor_s asn_DEF_TriggeringMessage;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_KPM_RANFunctionDefinition;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_KPM_ActionDefinition;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_KPM_IndicationHeader;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_KPM_IndicationMessage;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_RC_RANFunctionDefinition;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_RC_ControlHeader;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_RC_ControlMessage;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_KPM_EventTriggerDefinition;
-extern struct asn_TYPE_descriptor_s asn_DEF_RANcallProcess_ID_string;
-
-
-struct asn_TYPE_descriptor_s *asn_pdu_collection[] = {
- /* From module E2SM-KPM-RC in e2sm-kpm-rc.asn */
- &asn_DEF_Criticality,
- &asn_DEF_Presence,
- &asn_DEF_ProcedureCode,
- &asn_DEF_TriggeringMessage,
- &asn_DEF_E2SM_KPM_RANFunctionDefinition,
- &asn_DEF_E2SM_KPM_ActionDefinition,
- &asn_DEF_E2SM_KPM_IndicationHeader,
- &asn_DEF_E2SM_KPM_IndicationMessage,
- &asn_DEF_E2SM_RC_RANFunctionDefinition,
- &asn_DEF_E2SM_RC_ControlHeader,
- &asn_DEF_E2SM_RC_ControlMessage,
- &asn_DEF_E2SM_KPM_EventTriggerDefinition,
- &asn_DEF_RANcallProcess_ID_string,
- 0
-};
-