All RRC ASN changes
[o-du/l2.git] / src / codec_utils / RRC / RRCSetup-IEs.c
diff --git a/src/codec_utils/RRC/RRCSetup-IEs.c b/src/codec_utils/RRC/RRCSetup-IEs.c
new file mode 100644 (file)
index 0000000..8e562e1
--- /dev/null
@@ -0,0 +1,139 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "NR-RRC-Definitions"
+ *     found in "../../../rrc_15.5.1_asn.asn1"
+ *     `asn1c -D ./rrc_out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "RRCSetup-IEs.h"
+
+static int
+memb_masterCellGroup_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;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               (void)st; /* Unused variable */
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_oer_constraints_t asn_OER_memb_masterCellGroup_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..MAX)) */};
+static asn_per_constraints_t asn_PER_memb_masterCellGroup_constr_3 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_SEMI_CONSTRAINED, -1, -1,  0,  0 }        /* (SIZE(0..MAX)) */,
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_nonCriticalExtension_tags_5[] = {
+       (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SEQUENCE_specifics_t asn_SPC_nonCriticalExtension_specs_5 = {
+       sizeof(struct RRCSetup_IEs__nonCriticalExtension),
+       offsetof(struct RRCSetup_IEs__nonCriticalExtension, _asn_ctx),
+       0,      /* No top level tags */
+       0,      /* No tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_nonCriticalExtension_5 = {
+       "nonCriticalExtension",
+       "nonCriticalExtension",
+       &asn_OP_SEQUENCE,
+       asn_DEF_nonCriticalExtension_tags_5,
+       sizeof(asn_DEF_nonCriticalExtension_tags_5)
+               /sizeof(asn_DEF_nonCriticalExtension_tags_5[0]) - 1, /* 1 */
+       asn_DEF_nonCriticalExtension_tags_5,    /* Same as above */
+       sizeof(asn_DEF_nonCriticalExtension_tags_5)
+               /sizeof(asn_DEF_nonCriticalExtension_tags_5[0]), /* 2 */
+       { 0, 0, SEQUENCE_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_nonCriticalExtension_specs_5   /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RRCSetup_IEs_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RRCSetup_IEs, radioBearerConfig),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RadioBearerConfig,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "radioBearerConfig"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RRCSetup_IEs, masterCellGroup),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_OCTET_STRING,
+               0,
+               { &asn_OER_memb_masterCellGroup_constr_3, &asn_PER_memb_masterCellGroup_constr_3,  memb_masterCellGroup_constraint_1 },
+               0, 0, /* No default value */
+               "masterCellGroup"
+               },
+       { ATF_POINTER, 2, offsetof(struct RRCSetup_IEs, lateNonCriticalExtension),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_OCTET_STRING,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "lateNonCriticalExtension"
+               },
+       { ATF_POINTER, 1, offsetof(struct RRCSetup_IEs, nonCriticalExtension),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               0,
+               &asn_DEF_nonCriticalExtension_5,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nonCriticalExtension"
+               },
+};
+static const int asn_MAP_RRCSetup_IEs_oms_1[] = { 2, 3 };
+static const ber_tlv_tag_t asn_DEF_RRCSetup_IEs_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RRCSetup_IEs_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioBearerConfig */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* masterCellGroup */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* lateNonCriticalExtension */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* nonCriticalExtension */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RRCSetup_IEs_specs_1 = {
+       sizeof(struct RRCSetup_IEs),
+       offsetof(struct RRCSetup_IEs, _asn_ctx),
+       asn_MAP_RRCSetup_IEs_tag2el_1,
+       4,      /* Count of tags in the map */
+       asn_MAP_RRCSetup_IEs_oms_1,     /* Optional members */
+       2, 0,   /* Root/Additions */
+       -1,     /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RRCSetup_IEs = {
+       "RRCSetup-IEs",
+       "RRCSetup-IEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RRCSetup_IEs_tags_1,
+       sizeof(asn_DEF_RRCSetup_IEs_tags_1)
+               /sizeof(asn_DEF_RRCSetup_IEs_tags_1[0]), /* 1 */
+       asn_DEF_RRCSetup_IEs_tags_1,    /* Same as above */
+       sizeof(asn_DEF_RRCSetup_IEs_tags_1)
+               /sizeof(asn_DEF_RRCSetup_IEs_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RRCSetup_IEs_1,
+       4,      /* Elements count */
+       &asn_SPC_RRCSetup_IEs_specs_1   /* Additional specs */
+};
+