--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "AMFName.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
+AMFName_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_AMFName_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_AMFName_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_AMFName_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..MAX)) */};
+asn_per_constraints_t asn_PER_type_AMFName_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_AMFName_1_v2c, /* Value to PER code map */
+ asn_PER_MAP_AMFName_1_c2v /* PER code to value map */
+};
+static const ber_tlv_tag_t asn_DEF_AMFName_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AMFName = {
+ "AMFName",
+ "AMFName",
+ &asn_OP_PrintableString,
+ asn_DEF_AMFName_tags_1,
+ sizeof(asn_DEF_AMFName_tags_1)
+ /sizeof(asn_DEF_AMFName_tags_1[0]), /* 1 */
+ asn_DEF_AMFName_tags_1, /* Same as above */
+ sizeof(asn_DEF_AMFName_tags_1)
+ /sizeof(asn_DEF_AMFName_tags_1[0]), /* 1 */
+ { &asn_OER_type_AMFName_constr_1, &asn_PER_type_AMFName_constr_1, AMFName_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _AMFName_H_
+#define _AMFName_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <PrintableString.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AMFName */
+typedef PrintableString_t AMFName_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_AMFName_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_AMFName;
+asn_struct_free_f AMFName_free;
+asn_struct_print_f AMFName_print;
+asn_constr_check_f AMFName_constraint;
+ber_type_decoder_f AMFName_decode_ber;
+der_type_encoder_f AMFName_encode_der;
+xer_type_decoder_f AMFName_decode_xer;
+xer_type_encoder_f AMFName_encode_xer;
+oer_type_decoder_f AMFName_decode_oer;
+oer_type_encoder_f AMFName_encode_oer;
+per_type_decoder_f AMFName_decode_uper;
+per_type_encoder_f AMFName_encode_uper;
+per_type_decoder_f AMFName_decode_aper;
+per_type_encoder_f AMFName_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AMFName_H_ */
+#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "CauseE2.h"
{ 0, 0 },
-1};
asn_per_constraints_t asn_PER_type_CauseE2_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */,
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
{ ATF_NOFLAGS, 0, offsetof(struct CauseE2, choice.ricRequest),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_CauseRIC,
+ &asn_DEF_CauseRICrequest,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
0, 0, /* No default value */
"ricService"
},
- { ATF_NOFLAGS, 0, offsetof(struct CauseE2, choice.transport),
+ { ATF_NOFLAGS, 0, offsetof(struct CauseE2, choice.e2Node),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
+ &asn_DEF_CauseE2node,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2Node"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CauseE2, choice.transport),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
&asn_DEF_CauseTransport,
0,
{ 0, 0, 0 },
"transport"
},
{ ATF_NOFLAGS, 0, offsetof(struct CauseE2, choice.protocol),
- (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CauseProtocol,
0,
"protocol"
},
{ ATF_NOFLAGS, 0, offsetof(struct CauseE2, choice.misc),
- (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CauseMisc,
0,
static const asn_TYPE_tag2member_t asn_MAP_CauseE2_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ricRequest */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ricService */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* transport */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* protocol */
- { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* misc */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* e2Node */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* transport */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* protocol */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* misc */
};
asn_CHOICE_specifics_t asn_SPC_CauseE2_specs_1 = {
sizeof(struct CauseE2),
offsetof(struct CauseE2, present),
sizeof(((struct CauseE2 *)0)->present),
asn_MAP_CauseE2_tag2el_1,
- 5, /* Count of tags in the map */
+ 6, /* Count of tags in the map */
0, 0,
- 5 /* Extensions start */
+ 6 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_CauseE2 = {
"CauseE2",
0, /* No tags (count) */
{ &asn_OER_type_CauseE2_constr_1, &asn_PER_type_CauseE2_constr_1, CHOICE_constraint },
asn_MBR_CauseE2_1,
- 5, /* Elements count */
+ 6, /* Elements count */
&asn_SPC_CauseE2_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _CauseE2_H_
#include <asn_application.h>
/* Including external dependencies */
-#include "CauseRIC.h"
+#include "CauseRICrequest.h"
#include "CauseRICservice.h"
+#include "CauseE2node.h"
#include "CauseTransport.h"
#include "CauseProtocol.h"
#include "CauseMisc.h"
CauseE2_PR_NOTHING, /* No components present */
CauseE2_PR_ricRequest,
CauseE2_PR_ricService,
+ CauseE2_PR_e2Node,
CauseE2_PR_transport,
CauseE2_PR_protocol,
CauseE2_PR_misc
typedef struct CauseE2 {
CauseE2_PR present;
union CauseE2_u {
- CauseRIC_t ricRequest;
+ CauseRICrequest_t ricRequest;
CauseRICservice_t ricService;
+ CauseE2node_t e2Node;
CauseTransport_t transport;
CauseProtocol_t protocol;
CauseMisc_t misc;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_CauseE2;
extern asn_CHOICE_specifics_t asn_SPC_CauseE2_specs_1;
-extern asn_TYPE_member_t asn_MBR_CauseE2_1[5];
+extern asn_TYPE_member_t asn_MBR_CauseE2_1[6];
extern asn_per_constraints_t asn_PER_type_CauseE2_constr_1;
#ifdef __cplusplus
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "CauseE2node.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_CauseE2node_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_CauseE2node_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 const asn_INTEGER_enum_map_t asn_MAP_CauseE2node_value2enum_1[] = {
+ { 0, 24, "e2node-component-unknown" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_CauseE2node_enum2value_1[] = {
+ 0 /* e2node-component-unknown(0) */
+ /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_CauseE2node_specs_1 = {
+ asn_MAP_CauseE2node_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_CauseE2node_enum2value_1, /* 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_CauseE2node_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_CauseE2node = {
+ "CauseE2node",
+ "CauseE2node",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_CauseE2node_tags_1,
+ sizeof(asn_DEF_CauseE2node_tags_1)
+ /sizeof(asn_DEF_CauseE2node_tags_1[0]), /* 1 */
+ asn_DEF_CauseE2node_tags_1, /* Same as above */
+ sizeof(asn_DEF_CauseE2node_tags_1)
+ /sizeof(asn_DEF_CauseE2node_tags_1[0]), /* 1 */
+ { &asn_OER_type_CauseE2node_constr_1, &asn_PER_type_CauseE2node_constr_1, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_CauseE2node_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _CauseE2node_H_
+#define _CauseE2node_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CauseE2node {
+ CauseE2node_e2node_component_unknown = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_CauseE2node;
+
+/* CauseE2node */
+typedef long CauseE2node_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CauseE2node_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CauseE2node;
+extern const asn_INTEGER_specifics_t asn_SPC_CauseE2node_specs_1;
+asn_struct_free_f CauseE2node_free;
+asn_struct_print_f CauseE2node_print;
+asn_constr_check_f CauseE2node_constraint;
+ber_type_decoder_f CauseE2node_decode_ber;
+der_type_encoder_f CauseE2node_encode_der;
+xer_type_decoder_f CauseE2node_decode_xer;
+xer_type_encoder_f CauseE2node_encode_xer;
+oer_type_decoder_f CauseE2node_decode_oer;
+oer_type_encoder_f CauseE2node_encode_oer;
+per_type_decoder_f CauseE2node_decode_uper;
+per_type_encoder_f CauseE2node_encode_uper;
+per_type_decoder_f CauseE2node_decode_aper;
+per_type_encoder_f CauseE2node_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CauseE2node_H_ */
+#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "CauseMisc.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _CauseMisc_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "CauseProtocol.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _CauseProtocol_H_
+++ /dev/null
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
- */
-
-#include "CauseRIC.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_CauseRIC_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-asn_per_constraints_t asn_PER_type_CauseRIC_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 10 } /* (0..10,...) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_CauseRIC_value2enum_1[] = {
- { 0, 23, "ran-function-id-Invalid" },
- { 1, 20, "action-not-supported" },
- { 2, 17, "excessive-actions" },
- { 3, 16, "duplicate-action" },
- { 4, 15, "duplicate-event" },
- { 5, 23, "function-resource-limit" },
- { 6, 18, "request-id-unknown" },
- { 7, 46, "inconsistent-action-subsequent-action-sequence" },
- { 8, 23, "control-message-invalid" },
- { 9, 23, "call-process-id-invalid" },
- { 10, 11, "unspecified" }
- /* This list is extensible */
-};
-static const unsigned int asn_MAP_CauseRIC_enum2value_1[] = {
- 1, /* action-not-supported(1) */
- 9, /* call-process-id-invalid(9) */
- 8, /* control-message-invalid(8) */
- 3, /* duplicate-action(3) */
- 4, /* duplicate-event(4) */
- 2, /* excessive-actions(2) */
- 5, /* function-resource-limit(5) */
- 7, /* inconsistent-action-subsequent-action-sequence(7) */
- 0, /* ran-function-id-Invalid(0) */
- 6, /* request-id-unknown(6) */
- 10 /* unspecified(10) */
- /* This list is extensible */
-};
-const asn_INTEGER_specifics_t asn_SPC_CauseRIC_specs_1 = {
- asn_MAP_CauseRIC_value2enum_1, /* "tag" => N; sorted by tag */
- asn_MAP_CauseRIC_enum2value_1, /* N => "tag"; sorted by N */
- 11, /* Number of elements in the maps */
- 12, /* Extensions before this member */
- 1, /* Strict enumeration */
- 0, /* Native long size */
- 0
-};
-static const ber_tlv_tag_t asn_DEF_CauseRIC_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_CauseRIC = {
- "CauseRIC",
- "CauseRIC",
- &asn_OP_NativeEnumerated,
- asn_DEF_CauseRIC_tags_1,
- sizeof(asn_DEF_CauseRIC_tags_1)
- /sizeof(asn_DEF_CauseRIC_tags_1[0]), /* 1 */
- asn_DEF_CauseRIC_tags_1, /* Same as above */
- sizeof(asn_DEF_CauseRIC_tags_1)
- /sizeof(asn_DEF_CauseRIC_tags_1[0]), /* 1 */
- { &asn_OER_type_CauseRIC_constr_1, &asn_PER_type_CauseRIC_constr_1, NativeEnumerated_constraint },
- 0, 0, /* Defined elsewhere */
- &asn_SPC_CauseRIC_specs_1 /* Additional specs */
-};
-
+++ /dev/null
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
- */
-
-#ifndef _CauseRIC_H_
-#define _CauseRIC_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeEnumerated.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum CauseRIC {
- CauseRIC_ran_function_id_Invalid = 0,
- CauseRIC_action_not_supported = 1,
- CauseRIC_excessive_actions = 2,
- CauseRIC_duplicate_action = 3,
- CauseRIC_duplicate_event = 4,
- CauseRIC_function_resource_limit = 5,
- CauseRIC_request_id_unknown = 6,
- CauseRIC_inconsistent_action_subsequent_action_sequence = 7,
- CauseRIC_control_message_invalid = 8,
- CauseRIC_call_process_id_invalid = 9,
- CauseRIC_unspecified = 10
- /*
- * Enumeration is extensible
- */
-} e_CauseRIC;
-
-/* CauseRIC */
-typedef long CauseRIC_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_CauseRIC_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_CauseRIC;
-extern const asn_INTEGER_specifics_t asn_SPC_CauseRIC_specs_1;
-asn_struct_free_f CauseRIC_free;
-asn_struct_print_f CauseRIC_print;
-asn_constr_check_f CauseRIC_constraint;
-ber_type_decoder_f CauseRIC_decode_ber;
-der_type_encoder_f CauseRIC_encode_der;
-xer_type_decoder_f CauseRIC_decode_xer;
-xer_type_encoder_f CauseRIC_encode_xer;
-oer_type_decoder_f CauseRIC_decode_oer;
-oer_type_encoder_f CauseRIC_encode_oer;
-per_type_decoder_f CauseRIC_decode_uper;
-per_type_encoder_f CauseRIC_encode_uper;
-per_type_decoder_f CauseRIC_decode_aper;
-per_type_encoder_f CauseRIC_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CauseRIC_H_ */
-#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "CauseRICrequest.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_CauseRICrequest_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_CauseRICrequest_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 13 } /* (0..13,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_CauseRICrequest_value2enum_1[] = {
+ { 0, 23, "ran-function-id-invalid" },
+ { 1, 20, "action-not-supported" },
+ { 2, 17, "excessive-actions" },
+ { 3, 16, "duplicate-action" },
+ { 4, 23, "duplicate-event-trigger" },
+ { 5, 23, "function-resource-limit" },
+ { 6, 18, "request-id-unknown" },
+ { 7, 46, "inconsistent-action-subsequent-action-sequence" },
+ { 8, 23, "control-message-invalid" },
+ { 9, 27, "ric-call-process-id-invalid" },
+ { 10, 21, "control-timer-expired" },
+ { 11, 25, "control-failed-to-execute" },
+ { 12, 16, "system-not-ready" },
+ { 13, 11, "unspecified" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_CauseRICrequest_enum2value_1[] = {
+ 1, /* action-not-supported(1) */
+ 11, /* control-failed-to-execute(11) */
+ 8, /* control-message-invalid(8) */
+ 10, /* control-timer-expired(10) */
+ 3, /* duplicate-action(3) */
+ 4, /* duplicate-event-trigger(4) */
+ 2, /* excessive-actions(2) */
+ 5, /* function-resource-limit(5) */
+ 7, /* inconsistent-action-subsequent-action-sequence(7) */
+ 0, /* ran-function-id-invalid(0) */
+ 6, /* request-id-unknown(6) */
+ 9, /* ric-call-process-id-invalid(9) */
+ 12, /* system-not-ready(12) */
+ 13 /* unspecified(13) */
+ /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_CauseRICrequest_specs_1 = {
+ asn_MAP_CauseRICrequest_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_CauseRICrequest_enum2value_1, /* N => "tag"; sorted by N */
+ 14, /* Number of elements in the maps */
+ 15, /* Extensions before this member */
+ 1, /* Strict enumeration */
+ 0, /* Native long size */
+ 0
+};
+static const ber_tlv_tag_t asn_DEF_CauseRICrequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_CauseRICrequest = {
+ "CauseRICrequest",
+ "CauseRICrequest",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_CauseRICrequest_tags_1,
+ sizeof(asn_DEF_CauseRICrequest_tags_1)
+ /sizeof(asn_DEF_CauseRICrequest_tags_1[0]), /* 1 */
+ asn_DEF_CauseRICrequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_CauseRICrequest_tags_1)
+ /sizeof(asn_DEF_CauseRICrequest_tags_1[0]), /* 1 */
+ { &asn_OER_type_CauseRICrequest_constr_1, &asn_PER_type_CauseRICrequest_constr_1, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_CauseRICrequest_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _CauseRICrequest_H_
+#define _CauseRICrequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CauseRICrequest {
+ CauseRICrequest_ran_function_id_invalid = 0,
+ CauseRICrequest_action_not_supported = 1,
+ CauseRICrequest_excessive_actions = 2,
+ CauseRICrequest_duplicate_action = 3,
+ CauseRICrequest_duplicate_event_trigger = 4,
+ CauseRICrequest_function_resource_limit = 5,
+ CauseRICrequest_request_id_unknown = 6,
+ CauseRICrequest_inconsistent_action_subsequent_action_sequence = 7,
+ CauseRICrequest_control_message_invalid = 8,
+ CauseRICrequest_ric_call_process_id_invalid = 9,
+ CauseRICrequest_control_timer_expired = 10,
+ CauseRICrequest_control_failed_to_execute = 11,
+ CauseRICrequest_system_not_ready = 12,
+ CauseRICrequest_unspecified = 13
+ /*
+ * Enumeration is extensible
+ */
+} e_CauseRICrequest;
+
+/* CauseRICrequest */
+typedef long CauseRICrequest_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CauseRICrequest_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CauseRICrequest;
+extern const asn_INTEGER_specifics_t asn_SPC_CauseRICrequest_specs_1;
+asn_struct_free_f CauseRICrequest_free;
+asn_struct_print_f CauseRICrequest_print;
+asn_constr_check_f CauseRICrequest_constraint;
+ber_type_decoder_f CauseRICrequest_decode_ber;
+der_type_encoder_f CauseRICrequest_encode_der;
+xer_type_decoder_f CauseRICrequest_decode_xer;
+xer_type_encoder_f CauseRICrequest_encode_xer;
+oer_type_decoder_f CauseRICrequest_decode_oer;
+oer_type_encoder_f CauseRICrequest_encode_oer;
+per_type_decoder_f CauseRICrequest_decode_uper;
+per_type_encoder_f CauseRICrequest_encode_uper;
+per_type_decoder_f CauseRICrequest_decode_aper;
+per_type_encoder_f CauseRICrequest_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CauseRICrequest_H_ */
+#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "CauseRICservice.h"
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_CauseRICservice_value2enum_1[] = {
- { 0, 21, "function-not-required" },
+ { 0, 26, "ran-function-not-supported" },
{ 1, 19, "excessive-functions" },
{ 2, 18, "ric-resource-limit" }
/* This list is extensible */
};
static const unsigned int asn_MAP_CauseRICservice_enum2value_1[] = {
1, /* excessive-functions(1) */
- 0, /* function-not-required(0) */
+ 0, /* ran-function-not-supported(0) */
2 /* ric-resource-limit(2) */
/* This list is extensible */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _CauseRICservice_H_
/* Dependencies */
typedef enum CauseRICservice {
- CauseRICservice_function_not_required = 0,
+ CauseRICservice_ran_function_not_supported = 0,
CauseRICservice_excessive_functions = 1,
CauseRICservice_ric_resource_limit = 2
/*
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "CauseTransport.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _CauseTransport_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "CriticalityDiagnostics-IE-ItemE2.h"
asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_IE_ItemE2_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct CriticalityDiagnostics_IE_ItemE2, iECriticalityE2),
+ { ATF_NOFLAGS, 0, offsetof(struct CriticalityDiagnostics_IE_ItemE2, iECriticality),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "iECriticalityE2"
+ "iECriticality"
},
{ ATF_NOFLAGS, 0, offsetof(struct CriticalityDiagnostics_IE_ItemE2, iE_ID),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_CriticalityDiagnostics_IE_ItemE2_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iECriticalityE2 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iECriticality */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* iE-ID */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* typeOfError */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _CriticalityDiagnostics_IE_ItemE2_H_
/* CriticalityDiagnostics-IE-ItemE2 */
typedef struct CriticalityDiagnostics_IE_ItemE2 {
- CriticalityE2_t iECriticalityE2;
+ CriticalityE2_t iECriticality;
ProtocolIE_IDE2_t iE_ID;
TypeOfErrorE2_t typeOfError;
/*
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "CriticalityDiagnostics-IE-ListE2.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _CriticalityDiagnostics_IE_ListE2_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "CriticalityDiagnosticsE2.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _CriticalityDiagnosticsE2_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-CommonDataTypes"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "CriticalityE2.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-CommonDataTypes"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _CriticalityE2_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Descriptions"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "E2AP-PDU.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Descriptions"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _E2AP_PDU_H_
#include <asn_application.h>
-#include <InitiatingMessageE2.h>
-#include <SuccessfulOutcomeE2.h>
-#include <UnsuccessfulOutcomeE2.h>
/* Including external dependencies */
#include <constr_CHOICE.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2connectionSetupFailed-Item.h"
+
+static asn_TYPE_member_t asn_MBR_E2connectionSetupFailed_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionSetupFailed_Item, tnlInformation),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_TNLinformation,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "tnlInformation"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionSetupFailed_Item, cause),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_CauseE2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cause"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionSetupFailed_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionSetupFailed_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tnlInformation */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cause */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2connectionSetupFailed_Item_specs_1 = {
+ sizeof(struct E2connectionSetupFailed_Item),
+ offsetof(struct E2connectionSetupFailed_Item, _asn_ctx),
+ asn_MAP_E2connectionSetupFailed_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_E2connectionSetupFailed_Item = {
+ "E2connectionSetupFailed-Item",
+ "E2connectionSetupFailed-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2connectionSetupFailed_Item_tags_1,
+ sizeof(asn_DEF_E2connectionSetupFailed_Item_tags_1)
+ /sizeof(asn_DEF_E2connectionSetupFailed_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2connectionSetupFailed_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2connectionSetupFailed_Item_tags_1)
+ /sizeof(asn_DEF_E2connectionSetupFailed_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2connectionSetupFailed_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_E2connectionSetupFailed_Item_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2connectionSetupFailed_Item_H_
+#define _E2connectionSetupFailed_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TNLinformation.h"
+#include "CauseE2.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2connectionSetupFailed-Item */
+typedef struct E2connectionSetupFailed_Item {
+ TNLinformation_t tnlInformation;
+ CauseE2_t cause;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionSetupFailed_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionSetupFailed_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionSetupFailed_Item_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2connectionSetupFailed-List.h"
+
+#include "ProtocolIE-SingleContainerE2.h"
+static asn_oer_constraints_t asn_OER_type_E2connectionSetupFailed_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..32)) */};
+static asn_per_constraints_t asn_PER_type_E2connectionSetupFailed_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 */
+};
+static asn_TYPE_member_t asn_MBR_E2connectionSetupFailed_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P6,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionSetupFailed_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_E2connectionSetupFailed_List_specs_1 = {
+ sizeof(struct E2connectionSetupFailed_List),
+ offsetof(struct E2connectionSetupFailed_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2connectionSetupFailed_List = {
+ "E2connectionSetupFailed-List",
+ "E2connectionSetupFailed-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_E2connectionSetupFailed_List_tags_1,
+ sizeof(asn_DEF_E2connectionSetupFailed_List_tags_1)
+ /sizeof(asn_DEF_E2connectionSetupFailed_List_tags_1[0]), /* 1 */
+ asn_DEF_E2connectionSetupFailed_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2connectionSetupFailed_List_tags_1)
+ /sizeof(asn_DEF_E2connectionSetupFailed_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_E2connectionSetupFailed_List_constr_1, &asn_PER_type_E2connectionSetupFailed_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_E2connectionSetupFailed_List_1,
+ 1, /* Single element */
+ &asn_SPC_E2connectionSetupFailed_List_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2connectionSetupFailed_List_H_
+#define _E2connectionSetupFailed_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainerE2;
+
+/* E2connectionSetupFailed-List */
+typedef struct E2connectionSetupFailed_List {
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionSetupFailed_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionSetupFailed_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionSetupFailed_List_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2connectionUpdate-Item.h"
+
+static asn_TYPE_member_t asn_MBR_E2connectionUpdate_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_Item, tnlInformation),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_TNLinformation,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "tnlInformation"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_Item, tnlUsage),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_TNLusage,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "tnlUsage"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdate_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdate_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tnlInformation */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tnlUsage */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdate_Item_specs_1 = {
+ sizeof(struct E2connectionUpdate_Item),
+ offsetof(struct E2connectionUpdate_Item, _asn_ctx),
+ asn_MAP_E2connectionUpdate_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_E2connectionUpdate_Item = {
+ "E2connectionUpdate-Item",
+ "E2connectionUpdate-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2connectionUpdate_Item_tags_1,
+ sizeof(asn_DEF_E2connectionUpdate_Item_tags_1)
+ /sizeof(asn_DEF_E2connectionUpdate_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2connectionUpdate_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2connectionUpdate_Item_tags_1)
+ /sizeof(asn_DEF_E2connectionUpdate_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2connectionUpdate_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_E2connectionUpdate_Item_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2connectionUpdate_Item_H_
+#define _E2connectionUpdate_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TNLinformation.h"
+#include "TNLusage.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2connectionUpdate-Item */
+typedef struct E2connectionUpdate_Item {
+ TNLinformation_t tnlInformation;
+ TNLusage_t tnlUsage;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdate_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdate_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionUpdate_Item_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2connectionUpdate-List.h"
+
+#include "ProtocolIE-SingleContainerE2.h"
+static asn_oer_constraints_t asn_OER_type_E2connectionUpdate_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..32)) */};
+static asn_per_constraints_t asn_PER_type_E2connectionUpdate_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 */
+};
+static asn_TYPE_member_t asn_MBR_E2connectionUpdate_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P4,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdate_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_E2connectionUpdate_List_specs_1 = {
+ sizeof(struct E2connectionUpdate_List),
+ offsetof(struct E2connectionUpdate_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2connectionUpdate_List = {
+ "E2connectionUpdate-List",
+ "E2connectionUpdate-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_E2connectionUpdate_List_tags_1,
+ sizeof(asn_DEF_E2connectionUpdate_List_tags_1)
+ /sizeof(asn_DEF_E2connectionUpdate_List_tags_1[0]), /* 1 */
+ asn_DEF_E2connectionUpdate_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2connectionUpdate_List_tags_1)
+ /sizeof(asn_DEF_E2connectionUpdate_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_E2connectionUpdate_List_constr_1, &asn_PER_type_E2connectionUpdate_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_E2connectionUpdate_List_1,
+ 1, /* Single element */
+ &asn_SPC_E2connectionUpdate_List_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2connectionUpdate_List_H_
+#define _E2connectionUpdate_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainerE2;
+
+/* E2connectionUpdate-List */
+typedef struct E2connectionUpdate_List {
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdate_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdate_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionUpdate_List_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2connectionUpdate.h"
+
+asn_TYPE_member_t asn_MBR_E2connectionUpdate_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate, protocolIEs),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_ContainerE2_1925P15,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "protocolIEs"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdate_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdate_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdate_specs_1 = {
+ sizeof(struct E2connectionUpdate),
+ offsetof(struct E2connectionUpdate, _asn_ctx),
+ asn_MAP_E2connectionUpdate_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_E2connectionUpdate = {
+ "E2connectionUpdate",
+ "E2connectionUpdate",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2connectionUpdate_tags_1,
+ sizeof(asn_DEF_E2connectionUpdate_tags_1)
+ /sizeof(asn_DEF_E2connectionUpdate_tags_1[0]), /* 1 */
+ asn_DEF_E2connectionUpdate_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2connectionUpdate_tags_1)
+ /sizeof(asn_DEF_E2connectionUpdate_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2connectionUpdate_1,
+ 1, /* Elements count */
+ &asn_SPC_E2connectionUpdate_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2connectionUpdate_H_
+#define _E2connectionUpdate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-ContainerE2.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2connectionUpdate */
+typedef struct E2connectionUpdate {
+ ProtocolIE_ContainerE2_1925P15_t protocolIEs;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdate;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdate_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdate_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionUpdate_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2connectionUpdateAcknowledge.h"
+
+asn_TYPE_member_t asn_MBR_E2connectionUpdateAcknowledge_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateAcknowledge, protocolIEs),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_ContainerE2_1925P16,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "protocolIEs"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdateAcknowledge_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdateAcknowledge_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateAcknowledge_specs_1 = {
+ sizeof(struct E2connectionUpdateAcknowledge),
+ offsetof(struct E2connectionUpdateAcknowledge, _asn_ctx),
+ asn_MAP_E2connectionUpdateAcknowledge_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_E2connectionUpdateAcknowledge = {
+ "E2connectionUpdateAcknowledge",
+ "E2connectionUpdateAcknowledge",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2connectionUpdateAcknowledge_tags_1,
+ sizeof(asn_DEF_E2connectionUpdateAcknowledge_tags_1)
+ /sizeof(asn_DEF_E2connectionUpdateAcknowledge_tags_1[0]), /* 1 */
+ asn_DEF_E2connectionUpdateAcknowledge_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2connectionUpdateAcknowledge_tags_1)
+ /sizeof(asn_DEF_E2connectionUpdateAcknowledge_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2connectionUpdateAcknowledge_1,
+ 1, /* Elements count */
+ &asn_SPC_E2connectionUpdateAcknowledge_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2connectionUpdateAcknowledge_H_
+#define _E2connectionUpdateAcknowledge_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-ContainerE2.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2connectionUpdateAcknowledge */
+typedef struct E2connectionUpdateAcknowledge {
+ ProtocolIE_ContainerE2_1925P16_t protocolIEs;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdateAcknowledge_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateAcknowledge;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateAcknowledge_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdateAcknowledge_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionUpdateAcknowledge_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2connectionUpdateFailure.h"
+
+asn_TYPE_member_t asn_MBR_E2connectionUpdateFailure_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateFailure, protocolIEs),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_ContainerE2_1925P17,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "protocolIEs"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdateFailure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdateFailure_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateFailure_specs_1 = {
+ sizeof(struct E2connectionUpdateFailure),
+ offsetof(struct E2connectionUpdateFailure, _asn_ctx),
+ asn_MAP_E2connectionUpdateFailure_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_E2connectionUpdateFailure = {
+ "E2connectionUpdateFailure",
+ "E2connectionUpdateFailure",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2connectionUpdateFailure_tags_1,
+ sizeof(asn_DEF_E2connectionUpdateFailure_tags_1)
+ /sizeof(asn_DEF_E2connectionUpdateFailure_tags_1[0]), /* 1 */
+ asn_DEF_E2connectionUpdateFailure_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2connectionUpdateFailure_tags_1)
+ /sizeof(asn_DEF_E2connectionUpdateFailure_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2connectionUpdateFailure_1,
+ 1, /* Elements count */
+ &asn_SPC_E2connectionUpdateFailure_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2connectionUpdateFailure_H_
+#define _E2connectionUpdateFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-ContainerE2.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2connectionUpdateFailure */
+typedef struct E2connectionUpdateFailure {
+ ProtocolIE_ContainerE2_1925P17_t protocolIEs;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdateFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateFailure;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateFailure_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdateFailure_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionUpdateFailure_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2connectionUpdateRemove-Item.h"
+
+static asn_TYPE_member_t asn_MBR_E2connectionUpdateRemove_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateRemove_Item, tnlInformation),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_TNLinformation,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "tnlInformation"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdateRemove_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdateRemove_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* tnlInformation */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateRemove_Item_specs_1 = {
+ sizeof(struct E2connectionUpdateRemove_Item),
+ offsetof(struct E2connectionUpdateRemove_Item, _asn_ctx),
+ asn_MAP_E2connectionUpdateRemove_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_E2connectionUpdateRemove_Item = {
+ "E2connectionUpdateRemove-Item",
+ "E2connectionUpdateRemove-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2connectionUpdateRemove_Item_tags_1,
+ sizeof(asn_DEF_E2connectionUpdateRemove_Item_tags_1)
+ /sizeof(asn_DEF_E2connectionUpdateRemove_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2connectionUpdateRemove_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2connectionUpdateRemove_Item_tags_1)
+ /sizeof(asn_DEF_E2connectionUpdateRemove_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2connectionUpdateRemove_Item_1,
+ 1, /* Elements count */
+ &asn_SPC_E2connectionUpdateRemove_Item_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2connectionUpdateRemove_Item_H_
+#define _E2connectionUpdateRemove_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TNLinformation.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2connectionUpdateRemove-Item */
+typedef struct E2connectionUpdateRemove_Item {
+ TNLinformation_t tnlInformation;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdateRemove_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateRemove_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionUpdateRemove_Item_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2connectionUpdateRemove-List.h"
+
+#include "ProtocolIE-SingleContainerE2.h"
+static asn_oer_constraints_t asn_OER_type_E2connectionUpdateRemove_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..32)) */};
+static asn_per_constraints_t asn_PER_type_E2connectionUpdateRemove_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 */
+};
+static asn_TYPE_member_t asn_MBR_E2connectionUpdateRemove_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P5,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdateRemove_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_E2connectionUpdateRemove_List_specs_1 = {
+ sizeof(struct E2connectionUpdateRemove_List),
+ offsetof(struct E2connectionUpdateRemove_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateRemove_List = {
+ "E2connectionUpdateRemove-List",
+ "E2connectionUpdateRemove-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_E2connectionUpdateRemove_List_tags_1,
+ sizeof(asn_DEF_E2connectionUpdateRemove_List_tags_1)
+ /sizeof(asn_DEF_E2connectionUpdateRemove_List_tags_1[0]), /* 1 */
+ asn_DEF_E2connectionUpdateRemove_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2connectionUpdateRemove_List_tags_1)
+ /sizeof(asn_DEF_E2connectionUpdateRemove_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_E2connectionUpdateRemove_List_constr_1, &asn_PER_type_E2connectionUpdateRemove_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_E2connectionUpdateRemove_List_1,
+ 1, /* Single element */
+ &asn_SPC_E2connectionUpdateRemove_List_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2connectionUpdateRemove_List_H_
+#define _E2connectionUpdateRemove_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainerE2;
+
+/* E2connectionUpdateRemove-List */
+typedef struct E2connectionUpdateRemove_List {
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdateRemove_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateRemove_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionUpdateRemove_List_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigAddition-Item.h"
+
+static asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAddition_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAddition_Item, e2nodeComponentInterfaceType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentInterfaceType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentInterfaceType"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAddition_Item, e2nodeComponentID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAddition_Item, e2nodeComponentConfiguration),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentConfiguration,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentConfiguration"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigAddition_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigAddition_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2nodeComponentID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* e2nodeComponentConfiguration */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAddition_Item_specs_1 = {
+ sizeof(struct E2nodeComponentConfigAddition_Item),
+ offsetof(struct E2nodeComponentConfigAddition_Item, _asn_ctx),
+ asn_MAP_E2nodeComponentConfigAddition_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_E2nodeComponentConfigAddition_Item = {
+ "E2nodeComponentConfigAddition-Item",
+ "E2nodeComponentConfigAddition-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentConfigAddition_Item_tags_1,
+ sizeof(asn_DEF_E2nodeComponentConfigAddition_Item_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigAddition_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigAddition_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigAddition_Item_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigAddition_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigAddition_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigAddition_Item_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentConfigAddition_Item_H_
+#define _E2nodeComponentConfigAddition_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E2nodeComponentInterfaceType.h"
+#include "E2nodeComponentID.h"
+#include "E2nodeComponentConfiguration.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentConfigAddition-Item */
+typedef struct E2nodeComponentConfigAddition_Item {
+ E2nodeComponentInterfaceType_t e2nodeComponentInterfaceType;
+ E2nodeComponentID_t e2nodeComponentID;
+ E2nodeComponentConfiguration_t e2nodeComponentConfiguration;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigAddition_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAddition_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigAddition_Item_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigAddition-List.h"
+
+#include "ProtocolIE-SingleContainerE2.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentConfigAddition_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..1024)) */};
+static asn_per_constraints_t asn_PER_type_E2nodeComponentConfigAddition_List_constr_1 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_E2nodeComponentConfigAddition_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P7,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigAddition_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigAddition_List_specs_1 = {
+ sizeof(struct E2nodeComponentConfigAddition_List),
+ offsetof(struct E2nodeComponentConfigAddition_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAddition_List = {
+ "E2nodeComponentConfigAddition-List",
+ "E2nodeComponentConfigAddition-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_E2nodeComponentConfigAddition_List_tags_1,
+ sizeof(asn_DEF_E2nodeComponentConfigAddition_List_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigAddition_List_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigAddition_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigAddition_List_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigAddition_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_E2nodeComponentConfigAddition_List_constr_1, &asn_PER_type_E2nodeComponentConfigAddition_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_E2nodeComponentConfigAddition_List_1,
+ 1, /* Single element */
+ &asn_SPC_E2nodeComponentConfigAddition_List_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentConfigAddition_List_H_
+#define _E2nodeComponentConfigAddition_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainerE2;
+
+/* E2nodeComponentConfigAddition-List */
+typedef struct E2nodeComponentConfigAddition_List {
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigAddition_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAddition_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigAddition_List_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigAdditionAck-Item.h"
+
+static asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAdditionAck_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAdditionAck_Item, e2nodeComponentInterfaceType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentInterfaceType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentInterfaceType"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAdditionAck_Item, e2nodeComponentID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAdditionAck_Item, e2nodeComponentConfigurationAck),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentConfigurationAck,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentConfigurationAck"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigAdditionAck_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigAdditionAck_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2nodeComponentID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* e2nodeComponentConfigurationAck */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAdditionAck_Item_specs_1 = {
+ sizeof(struct E2nodeComponentConfigAdditionAck_Item),
+ offsetof(struct E2nodeComponentConfigAdditionAck_Item, _asn_ctx),
+ asn_MAP_E2nodeComponentConfigAdditionAck_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_E2nodeComponentConfigAdditionAck_Item = {
+ "E2nodeComponentConfigAdditionAck-Item",
+ "E2nodeComponentConfigAdditionAck-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentConfigAdditionAck_Item_tags_1,
+ sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_Item_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigAdditionAck_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_Item_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigAdditionAck_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigAdditionAck_Item_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentConfigAdditionAck_Item_H_
+#define _E2nodeComponentConfigAdditionAck_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E2nodeComponentInterfaceType.h"
+#include "E2nodeComponentID.h"
+#include "E2nodeComponentConfigurationAck.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentConfigAdditionAck-Item */
+typedef struct E2nodeComponentConfigAdditionAck_Item {
+ E2nodeComponentInterfaceType_t e2nodeComponentInterfaceType;
+ E2nodeComponentID_t e2nodeComponentID;
+ E2nodeComponentConfigurationAck_t e2nodeComponentConfigurationAck;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigAdditionAck_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAdditionAck_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigAdditionAck_Item_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigAdditionAck-List.h"
+
+#include "ProtocolIE-SingleContainerE2.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentConfigAdditionAck_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..1024)) */};
+static asn_per_constraints_t asn_PER_type_E2nodeComponentConfigAdditionAck_List_constr_1 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_E2nodeComponentConfigAdditionAck_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P11,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigAdditionAck_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigAdditionAck_List_specs_1 = {
+ sizeof(struct E2nodeComponentConfigAdditionAck_List),
+ offsetof(struct E2nodeComponentConfigAdditionAck_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAdditionAck_List = {
+ "E2nodeComponentConfigAdditionAck-List",
+ "E2nodeComponentConfigAdditionAck-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_E2nodeComponentConfigAdditionAck_List_tags_1,
+ sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_List_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_List_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigAdditionAck_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_List_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_E2nodeComponentConfigAdditionAck_List_constr_1, &asn_PER_type_E2nodeComponentConfigAdditionAck_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_E2nodeComponentConfigAdditionAck_List_1,
+ 1, /* Single element */
+ &asn_SPC_E2nodeComponentConfigAdditionAck_List_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentConfigAdditionAck_List_H_
+#define _E2nodeComponentConfigAdditionAck_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainerE2;
+
+/* E2nodeComponentConfigAdditionAck-List */
+typedef struct E2nodeComponentConfigAdditionAck_List {
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigAdditionAck_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAdditionAck_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigAdditionAck_List_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigRemoval-Item.h"
+
+static asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemoval_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemoval_Item, e2nodeComponentInterfaceType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentInterfaceType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentInterfaceType"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemoval_Item, e2nodeComponentID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigRemoval_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigRemoval_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* e2nodeComponentID */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemoval_Item_specs_1 = {
+ sizeof(struct E2nodeComponentConfigRemoval_Item),
+ offsetof(struct E2nodeComponentConfigRemoval_Item, _asn_ctx),
+ asn_MAP_E2nodeComponentConfigRemoval_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_E2nodeComponentConfigRemoval_Item = {
+ "E2nodeComponentConfigRemoval-Item",
+ "E2nodeComponentConfigRemoval-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentConfigRemoval_Item_tags_1,
+ sizeof(asn_DEF_E2nodeComponentConfigRemoval_Item_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigRemoval_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigRemoval_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigRemoval_Item_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigRemoval_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigRemoval_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigRemoval_Item_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentConfigRemoval_Item_H_
+#define _E2nodeComponentConfigRemoval_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E2nodeComponentInterfaceType.h"
+#include "E2nodeComponentID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentConfigRemoval-Item */
+typedef struct E2nodeComponentConfigRemoval_Item {
+ E2nodeComponentInterfaceType_t e2nodeComponentInterfaceType;
+ E2nodeComponentID_t e2nodeComponentID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigRemoval_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemoval_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigRemoval_Item_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigRemoval-List.h"
+
+#include "ProtocolIE-SingleContainerE2.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentConfigRemoval_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..1024)) */};
+static asn_per_constraints_t asn_PER_type_E2nodeComponentConfigRemoval_List_constr_1 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_E2nodeComponentConfigRemoval_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P9,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigRemoval_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigRemoval_List_specs_1 = {
+ sizeof(struct E2nodeComponentConfigRemoval_List),
+ offsetof(struct E2nodeComponentConfigRemoval_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemoval_List = {
+ "E2nodeComponentConfigRemoval-List",
+ "E2nodeComponentConfigRemoval-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_E2nodeComponentConfigRemoval_List_tags_1,
+ sizeof(asn_DEF_E2nodeComponentConfigRemoval_List_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigRemoval_List_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigRemoval_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigRemoval_List_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigRemoval_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_E2nodeComponentConfigRemoval_List_constr_1, &asn_PER_type_E2nodeComponentConfigRemoval_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_E2nodeComponentConfigRemoval_List_1,
+ 1, /* Single element */
+ &asn_SPC_E2nodeComponentConfigRemoval_List_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentConfigRemoval_List_H_
+#define _E2nodeComponentConfigRemoval_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainerE2;
+
+/* E2nodeComponentConfigRemoval-List */
+typedef struct E2nodeComponentConfigRemoval_List {
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigRemoval_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemoval_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigRemoval_List_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigRemovalAck-Item.h"
+
+static asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemovalAck_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemovalAck_Item, e2nodeComponentInterfaceType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentInterfaceType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentInterfaceType"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemovalAck_Item, e2nodeComponentID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemovalAck_Item, e2nodeComponentConfigurationAck),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentConfigurationAck,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentConfigurationAck"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigRemovalAck_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigRemovalAck_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2nodeComponentID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* e2nodeComponentConfigurationAck */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemovalAck_Item_specs_1 = {
+ sizeof(struct E2nodeComponentConfigRemovalAck_Item),
+ offsetof(struct E2nodeComponentConfigRemovalAck_Item, _asn_ctx),
+ asn_MAP_E2nodeComponentConfigRemovalAck_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_E2nodeComponentConfigRemovalAck_Item = {
+ "E2nodeComponentConfigRemovalAck-Item",
+ "E2nodeComponentConfigRemovalAck-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentConfigRemovalAck_Item_tags_1,
+ sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_Item_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigRemovalAck_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_Item_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigRemovalAck_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigRemovalAck_Item_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentConfigRemovalAck_Item_H_
+#define _E2nodeComponentConfigRemovalAck_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E2nodeComponentInterfaceType.h"
+#include "E2nodeComponentID.h"
+#include "E2nodeComponentConfigurationAck.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentConfigRemovalAck-Item */
+typedef struct E2nodeComponentConfigRemovalAck_Item {
+ E2nodeComponentInterfaceType_t e2nodeComponentInterfaceType;
+ E2nodeComponentID_t e2nodeComponentID;
+ E2nodeComponentConfigurationAck_t e2nodeComponentConfigurationAck;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigRemovalAck_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemovalAck_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigRemovalAck_Item_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigRemovalAck-List.h"
+
+#include "ProtocolIE-SingleContainerE2.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentConfigRemovalAck_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..1024)) */};
+static asn_per_constraints_t asn_PER_type_E2nodeComponentConfigRemovalAck_List_constr_1 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_E2nodeComponentConfigRemovalAck_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P13,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigRemovalAck_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigRemovalAck_List_specs_1 = {
+ sizeof(struct E2nodeComponentConfigRemovalAck_List),
+ offsetof(struct E2nodeComponentConfigRemovalAck_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemovalAck_List = {
+ "E2nodeComponentConfigRemovalAck-List",
+ "E2nodeComponentConfigRemovalAck-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_E2nodeComponentConfigRemovalAck_List_tags_1,
+ sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_List_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_List_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigRemovalAck_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_List_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_E2nodeComponentConfigRemovalAck_List_constr_1, &asn_PER_type_E2nodeComponentConfigRemovalAck_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_E2nodeComponentConfigRemovalAck_List_1,
+ 1, /* Single element */
+ &asn_SPC_E2nodeComponentConfigRemovalAck_List_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentConfigRemovalAck_List_H_
+#define _E2nodeComponentConfigRemovalAck_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainerE2;
+
+/* E2nodeComponentConfigRemovalAck-List */
+typedef struct E2nodeComponentConfigRemovalAck_List {
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigRemovalAck_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemovalAck_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigRemovalAck_List_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigUpdate-Item.h"
+
+static asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdate_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdate_Item, e2nodeComponentInterfaceType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentInterfaceType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentInterfaceType"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdate_Item, e2nodeComponentID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdate_Item, e2nodeComponentConfiguration),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentConfiguration,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentConfiguration"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigUpdate_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigUpdate_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2nodeComponentID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* e2nodeComponentConfiguration */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdate_Item_specs_1 = {
+ sizeof(struct E2nodeComponentConfigUpdate_Item),
+ offsetof(struct E2nodeComponentConfigUpdate_Item, _asn_ctx),
+ asn_MAP_E2nodeComponentConfigUpdate_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_E2nodeComponentConfigUpdate_Item = {
+ "E2nodeComponentConfigUpdate-Item",
+ "E2nodeComponentConfigUpdate-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentConfigUpdate_Item_tags_1,
+ sizeof(asn_DEF_E2nodeComponentConfigUpdate_Item_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigUpdate_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigUpdate_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigUpdate_Item_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigUpdate_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigUpdate_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigUpdate_Item_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentConfigUpdate_Item_H_
+#define _E2nodeComponentConfigUpdate_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E2nodeComponentInterfaceType.h"
+#include "E2nodeComponentID.h"
+#include "E2nodeComponentConfiguration.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentConfigUpdate-Item */
+typedef struct E2nodeComponentConfigUpdate_Item {
+ E2nodeComponentInterfaceType_t e2nodeComponentInterfaceType;
+ E2nodeComponentID_t e2nodeComponentID;
+ E2nodeComponentConfiguration_t e2nodeComponentConfiguration;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigUpdate_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdate_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigUpdate_Item_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigUpdate-List.h"
+
+#include "ProtocolIE-SingleContainerE2.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentConfigUpdate_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..1024)) */};
+static asn_per_constraints_t asn_PER_type_E2nodeComponentConfigUpdate_List_constr_1 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_E2nodeComponentConfigUpdate_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P8,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigUpdate_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigUpdate_List_specs_1 = {
+ sizeof(struct E2nodeComponentConfigUpdate_List),
+ offsetof(struct E2nodeComponentConfigUpdate_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdate_List = {
+ "E2nodeComponentConfigUpdate-List",
+ "E2nodeComponentConfigUpdate-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_E2nodeComponentConfigUpdate_List_tags_1,
+ sizeof(asn_DEF_E2nodeComponentConfigUpdate_List_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigUpdate_List_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigUpdate_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigUpdate_List_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigUpdate_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_E2nodeComponentConfigUpdate_List_constr_1, &asn_PER_type_E2nodeComponentConfigUpdate_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_E2nodeComponentConfigUpdate_List_1,
+ 1, /* Single element */
+ &asn_SPC_E2nodeComponentConfigUpdate_List_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentConfigUpdate_List_H_
+#define _E2nodeComponentConfigUpdate_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainerE2;
+
+/* E2nodeComponentConfigUpdate-List */
+typedef struct E2nodeComponentConfigUpdate_List {
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigUpdate_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdate_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigUpdate_List_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigUpdateAck-Item.h"
+
+static asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdateAck_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdateAck_Item, e2nodeComponentInterfaceType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentInterfaceType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentInterfaceType"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdateAck_Item, e2nodeComponentID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdateAck_Item, e2nodeComponentConfigurationAck),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentConfigurationAck,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentConfigurationAck"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigUpdateAck_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigUpdateAck_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2nodeComponentID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* e2nodeComponentConfigurationAck */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdateAck_Item_specs_1 = {
+ sizeof(struct E2nodeComponentConfigUpdateAck_Item),
+ offsetof(struct E2nodeComponentConfigUpdateAck_Item, _asn_ctx),
+ asn_MAP_E2nodeComponentConfigUpdateAck_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_E2nodeComponentConfigUpdateAck_Item = {
+ "E2nodeComponentConfigUpdateAck-Item",
+ "E2nodeComponentConfigUpdateAck-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentConfigUpdateAck_Item_tags_1,
+ sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_Item_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigUpdateAck_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_Item_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigUpdateAck_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigUpdateAck_Item_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentConfigUpdateAck_Item_H_
+#define _E2nodeComponentConfigUpdateAck_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E2nodeComponentInterfaceType.h"
+#include "E2nodeComponentID.h"
+#include "E2nodeComponentConfigurationAck.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentConfigUpdateAck-Item */
+typedef struct E2nodeComponentConfigUpdateAck_Item {
+ E2nodeComponentInterfaceType_t e2nodeComponentInterfaceType;
+ E2nodeComponentID_t e2nodeComponentID;
+ E2nodeComponentConfigurationAck_t e2nodeComponentConfigurationAck;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigUpdateAck_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdateAck_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigUpdateAck_Item_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigUpdateAck-List.h"
+
+#include "ProtocolIE-SingleContainerE2.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentConfigUpdateAck_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..1024)) */};
+static asn_per_constraints_t asn_PER_type_E2nodeComponentConfigUpdateAck_List_constr_1 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_E2nodeComponentConfigUpdateAck_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P12,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigUpdateAck_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigUpdateAck_List_specs_1 = {
+ sizeof(struct E2nodeComponentConfigUpdateAck_List),
+ offsetof(struct E2nodeComponentConfigUpdateAck_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdateAck_List = {
+ "E2nodeComponentConfigUpdateAck-List",
+ "E2nodeComponentConfigUpdateAck-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_E2nodeComponentConfigUpdateAck_List_tags_1,
+ sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_List_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_List_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigUpdateAck_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_List_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_E2nodeComponentConfigUpdateAck_List_constr_1, &asn_PER_type_E2nodeComponentConfigUpdateAck_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_E2nodeComponentConfigUpdateAck_List_1,
+ 1, /* Single element */
+ &asn_SPC_E2nodeComponentConfigUpdateAck_List_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentConfigUpdateAck_List_H_
+#define _E2nodeComponentConfigUpdateAck_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainerE2;
+
+/* E2nodeComponentConfigUpdateAck-List */
+typedef struct E2nodeComponentConfigUpdateAck_List {
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigUpdateAck_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdateAck_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigUpdateAck_List_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfiguration.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfiguration_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfiguration, e2nodeComponentRequestPart),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_OCTET_STRING,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentRequestPart"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfiguration, e2nodeComponentResponsePart),
+ (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 */
+ "e2nodeComponentResponsePart"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfiguration_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfiguration_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentRequestPart */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* e2nodeComponentResponsePart */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfiguration_specs_1 = {
+ sizeof(struct E2nodeComponentConfiguration),
+ offsetof(struct E2nodeComponentConfiguration, _asn_ctx),
+ asn_MAP_E2nodeComponentConfiguration_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_E2nodeComponentConfiguration = {
+ "E2nodeComponentConfiguration",
+ "E2nodeComponentConfiguration",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentConfiguration_tags_1,
+ sizeof(asn_DEF_E2nodeComponentConfiguration_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfiguration_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfiguration_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfiguration_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfiguration_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfiguration_1,
+ 2, /* Elements count */
+ &asn_SPC_E2nodeComponentConfiguration_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentConfiguration_H_
+#define _E2nodeComponentConfiguration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentConfiguration */
+typedef struct E2nodeComponentConfiguration {
+ OCTET_STRING_t e2nodeComponentRequestPart;
+ OCTET_STRING_t e2nodeComponentResponsePart;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfiguration_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfiguration;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfiguration_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfiguration_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfiguration_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigurationAck.h"
+
+#include "CauseE2.h"
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_updateOutcome_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_updateOutcome_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 const asn_INTEGER_enum_map_t asn_MAP_updateOutcome_value2enum_2[] = {
+ { 0, 7, "success" },
+ { 1, 7, "failure" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_updateOutcome_enum2value_2[] = {
+ 1, /* failure(1) */
+ 0 /* success(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_updateOutcome_specs_2 = {
+ asn_MAP_updateOutcome_value2enum_2, /* "tag" => N; sorted by tag */
+ asn_MAP_updateOutcome_enum2value_2, /* 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_updateOutcome_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_updateOutcome_2 = {
+ "updateOutcome",
+ "updateOutcome",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_updateOutcome_tags_2,
+ sizeof(asn_DEF_updateOutcome_tags_2)
+ /sizeof(asn_DEF_updateOutcome_tags_2[0]) - 1, /* 1 */
+ asn_DEF_updateOutcome_tags_2, /* Same as above */
+ sizeof(asn_DEF_updateOutcome_tags_2)
+ /sizeof(asn_DEF_updateOutcome_tags_2[0]), /* 2 */
+ { &asn_OER_type_updateOutcome_constr_2, &asn_PER_type_updateOutcome_constr_2, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_updateOutcome_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigurationAck_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigurationAck, updateOutcome),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_updateOutcome_2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "updateOutcome"
+ },
+ { ATF_POINTER, 1, offsetof(struct E2nodeComponentConfigurationAck, failureCause),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_CauseE2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "failureCause"
+ },
+};
+static const int asn_MAP_E2nodeComponentConfigurationAck_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigurationAck_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigurationAck_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* updateOutcome */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* failureCause */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigurationAck_specs_1 = {
+ sizeof(struct E2nodeComponentConfigurationAck),
+ offsetof(struct E2nodeComponentConfigurationAck, _asn_ctx),
+ asn_MAP_E2nodeComponentConfigurationAck_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_E2nodeComponentConfigurationAck_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigurationAck = {
+ "E2nodeComponentConfigurationAck",
+ "E2nodeComponentConfigurationAck",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentConfigurationAck_tags_1,
+ sizeof(asn_DEF_E2nodeComponentConfigurationAck_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigurationAck_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigurationAck_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigurationAck_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentConfigurationAck_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigurationAck_1,
+ 2, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigurationAck_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentConfigurationAck_H_
+#define _E2nodeComponentConfigurationAck_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2nodeComponentConfigurationAck__updateOutcome {
+ E2nodeComponentConfigurationAck__updateOutcome_success = 0,
+ E2nodeComponentConfigurationAck__updateOutcome_failure = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_E2nodeComponentConfigurationAck__updateOutcome;
+
+/* Forward declarations */
+struct CauseE2;
+
+/* E2nodeComponentConfigurationAck */
+typedef struct E2nodeComponentConfigurationAck {
+ long updateOutcome;
+ struct CauseE2 *failureCause; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigurationAck_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_updateOutcome_2; // (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigurationAck;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigurationAck_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigurationAck_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigurationAck_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentID.h"
+
+#include "E2nodeComponentInterfaceNG.h"
+#include "E2nodeComponentInterfaceXn.h"
+#include "E2nodeComponentInterfaceE1.h"
+#include "E2nodeComponentInterfaceF1.h"
+#include "E2nodeComponentInterfaceW1.h"
+#include "E2nodeComponentInterfaceS1.h"
+#include "E2nodeComponentInterfaceX2.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_E2nodeComponentID_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_E2nodeComponentID_1[] = {
+ { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeNG),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentInterfaceNG,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentInterfaceTypeNG"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeXn),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentInterfaceXn,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentInterfaceTypeXn"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeE1),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentInterfaceE1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentInterfaceTypeE1"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeF1),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentInterfaceF1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentInterfaceTypeF1"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeW1),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentInterfaceW1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentInterfaceTypeW1"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeS1),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentInterfaceS1,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentInterfaceTypeS1"
+ },
+ { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeX2),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_E2nodeComponentInterfaceX2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "e2nodeComponentInterfaceTypeX2"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceTypeNG */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2nodeComponentInterfaceTypeXn */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* e2nodeComponentInterfaceTypeE1 */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* e2nodeComponentInterfaceTypeF1 */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* e2nodeComponentInterfaceTypeW1 */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* e2nodeComponentInterfaceTypeS1 */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* e2nodeComponentInterfaceTypeX2 */
+};
+asn_CHOICE_specifics_t asn_SPC_E2nodeComponentID_specs_1 = {
+ sizeof(struct E2nodeComponentID),
+ offsetof(struct E2nodeComponentID, _asn_ctx),
+ offsetof(struct E2nodeComponentID, present),
+ sizeof(((struct E2nodeComponentID *)0)->present),
+ asn_MAP_E2nodeComponentID_tag2el_1,
+ 7, /* Count of tags in the map */
+ 0, 0,
+ 7 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentID = {
+ "E2nodeComponentID",
+ "E2nodeComponentID",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { &asn_OER_type_E2nodeComponentID_constr_1, &asn_PER_type_E2nodeComponentID_constr_1, CHOICE_constraint },
+ asn_MBR_E2nodeComponentID_1,
+ 7, /* Elements count */
+ &asn_SPC_E2nodeComponentID_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentID_H_
+#define _E2nodeComponentID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2nodeComponentID_PR {
+ E2nodeComponentID_PR_NOTHING, /* No components present */
+ E2nodeComponentID_PR_e2nodeComponentInterfaceTypeNG,
+ E2nodeComponentID_PR_e2nodeComponentInterfaceTypeXn,
+ E2nodeComponentID_PR_e2nodeComponentInterfaceTypeE1,
+ E2nodeComponentID_PR_e2nodeComponentInterfaceTypeF1,
+ E2nodeComponentID_PR_e2nodeComponentInterfaceTypeW1,
+ E2nodeComponentID_PR_e2nodeComponentInterfaceTypeS1,
+ E2nodeComponentID_PR_e2nodeComponentInterfaceTypeX2
+ /* Extensions may appear below */
+
+} E2nodeComponentID_PR;
+
+/* Forward declarations */
+struct E2nodeComponentInterfaceNG;
+struct E2nodeComponentInterfaceXn;
+struct E2nodeComponentInterfaceE1;
+struct E2nodeComponentInterfaceF1;
+struct E2nodeComponentInterfaceW1;
+struct E2nodeComponentInterfaceS1;
+struct E2nodeComponentInterfaceX2;
+
+/* E2nodeComponentID */
+typedef struct E2nodeComponentID {
+ E2nodeComponentID_PR present;
+ union E2nodeComponentID_u {
+ struct E2nodeComponentInterfaceNG *e2nodeComponentInterfaceTypeNG;
+ struct E2nodeComponentInterfaceXn *e2nodeComponentInterfaceTypeXn;
+ struct E2nodeComponentInterfaceE1 *e2nodeComponentInterfaceTypeE1;
+ struct E2nodeComponentInterfaceF1 *e2nodeComponentInterfaceTypeF1;
+ struct E2nodeComponentInterfaceW1 *e2nodeComponentInterfaceTypeW1;
+ struct E2nodeComponentInterfaceS1 *e2nodeComponentInterfaceTypeS1;
+ struct E2nodeComponentInterfaceX2 *e2nodeComponentInterfaceTypeX2;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentID;
+extern asn_CHOICE_specifics_t asn_SPC_E2nodeComponentID_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentID_1[7];
+extern asn_per_constraints_t asn_PER_type_E2nodeComponentID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentID_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentInterfaceE1.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceE1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentInterfaceE1, gNB_CU_CP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_GNB_CU_UP_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "gNB-CU-CP-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentInterfaceE1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentInterfaceE1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gNB-CU-CP-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceE1_specs_1 = {
+ sizeof(struct E2nodeComponentInterfaceE1),
+ offsetof(struct E2nodeComponentInterfaceE1, _asn_ctx),
+ asn_MAP_E2nodeComponentInterfaceE1_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_E2nodeComponentInterfaceE1 = {
+ "E2nodeComponentInterfaceE1",
+ "E2nodeComponentInterfaceE1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentInterfaceE1_tags_1,
+ sizeof(asn_DEF_E2nodeComponentInterfaceE1_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceE1_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentInterfaceE1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentInterfaceE1_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceE1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentInterfaceE1_1,
+ 1, /* Elements count */
+ &asn_SPC_E2nodeComponentInterfaceE1_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentInterfaceE1_H_
+#define _E2nodeComponentInterfaceE1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GNB-CU-UP-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentInterfaceE1 */
+typedef struct E2nodeComponentInterfaceE1 {
+ GNB_CU_UP_ID_t gNB_CU_CP_ID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentInterfaceE1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceE1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceE1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceE1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceE1_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentInterfaceF1.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceF1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentInterfaceF1, gNB_DU_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 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_E2nodeComponentInterfaceF1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentInterfaceF1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gNB-DU-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceF1_specs_1 = {
+ sizeof(struct E2nodeComponentInterfaceF1),
+ offsetof(struct E2nodeComponentInterfaceF1, _asn_ctx),
+ asn_MAP_E2nodeComponentInterfaceF1_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_E2nodeComponentInterfaceF1 = {
+ "E2nodeComponentInterfaceF1",
+ "E2nodeComponentInterfaceF1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentInterfaceF1_tags_1,
+ sizeof(asn_DEF_E2nodeComponentInterfaceF1_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceF1_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentInterfaceF1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentInterfaceF1_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceF1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentInterfaceF1_1,
+ 1, /* Elements count */
+ &asn_SPC_E2nodeComponentInterfaceF1_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentInterfaceF1_H_
+#define _E2nodeComponentInterfaceF1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GNB-DU-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentInterfaceF1 */
+typedef struct E2nodeComponentInterfaceF1 {
+ GNB_DU_ID_t gNB_DU_ID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentInterfaceF1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceF1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceF1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceF1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceF1_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentInterfaceNG.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceNG_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentInterfaceNG, amf_name),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AMFName,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "amf-name"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentInterfaceNG_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentInterfaceNG_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* amf-name */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceNG_specs_1 = {
+ sizeof(struct E2nodeComponentInterfaceNG),
+ offsetof(struct E2nodeComponentInterfaceNG, _asn_ctx),
+ asn_MAP_E2nodeComponentInterfaceNG_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_E2nodeComponentInterfaceNG = {
+ "E2nodeComponentInterfaceNG",
+ "E2nodeComponentInterfaceNG",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentInterfaceNG_tags_1,
+ sizeof(asn_DEF_E2nodeComponentInterfaceNG_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceNG_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentInterfaceNG_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentInterfaceNG_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceNG_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentInterfaceNG_1,
+ 1, /* Elements count */
+ &asn_SPC_E2nodeComponentInterfaceNG_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentInterfaceNG_H_
+#define _E2nodeComponentInterfaceNG_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "AMFName.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentInterfaceNG */
+typedef struct E2nodeComponentInterfaceNG {
+ AMFName_t amf_name;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentInterfaceNG_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceNG;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceNG_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceNG_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceNG_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentInterfaceS1.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceS1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentInterfaceS1, mme_name),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MMEname,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "mme-name"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentInterfaceS1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentInterfaceS1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mme-name */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceS1_specs_1 = {
+ sizeof(struct E2nodeComponentInterfaceS1),
+ offsetof(struct E2nodeComponentInterfaceS1, _asn_ctx),
+ asn_MAP_E2nodeComponentInterfaceS1_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_E2nodeComponentInterfaceS1 = {
+ "E2nodeComponentInterfaceS1",
+ "E2nodeComponentInterfaceS1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentInterfaceS1_tags_1,
+ sizeof(asn_DEF_E2nodeComponentInterfaceS1_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceS1_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentInterfaceS1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentInterfaceS1_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceS1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentInterfaceS1_1,
+ 1, /* Elements count */
+ &asn_SPC_E2nodeComponentInterfaceS1_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentInterfaceS1_H_
+#define _E2nodeComponentInterfaceS1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "MMEname.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentInterfaceS1 */
+typedef struct E2nodeComponentInterfaceS1 {
+ MMEname_t mme_name;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentInterfaceS1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceS1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceS1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceS1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceS1_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentInterfaceType.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentInterfaceType_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_E2nodeComponentInterfaceType_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_E2nodeComponentInterfaceType_value2enum_1[] = {
+ { 0, 2, "ng" },
+ { 1, 2, "xn" },
+ { 2, 2, "e1" },
+ { 3, 2, "f1" },
+ { 4, 2, "w1" },
+ { 5, 2, "s1" },
+ { 6, 2, "x2" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_E2nodeComponentInterfaceType_enum2value_1[] = {
+ 2, /* e1(2) */
+ 3, /* f1(3) */
+ 0, /* ng(0) */
+ 5, /* s1(5) */
+ 4, /* w1(4) */
+ 6, /* x2(6) */
+ 1 /* xn(1) */
+ /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_E2nodeComponentInterfaceType_specs_1 = {
+ asn_MAP_E2nodeComponentInterfaceType_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_E2nodeComponentInterfaceType_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_E2nodeComponentInterfaceType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceType = {
+ "E2nodeComponentInterfaceType",
+ "E2nodeComponentInterfaceType",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_E2nodeComponentInterfaceType_tags_1,
+ sizeof(asn_DEF_E2nodeComponentInterfaceType_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceType_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentInterfaceType_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentInterfaceType_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceType_tags_1[0]), /* 1 */
+ { &asn_OER_type_E2nodeComponentInterfaceType_constr_1, &asn_PER_type_E2nodeComponentInterfaceType_constr_1, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_E2nodeComponentInterfaceType_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentInterfaceType_H_
+#define _E2nodeComponentInterfaceType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2nodeComponentInterfaceType {
+ E2nodeComponentInterfaceType_ng = 0,
+ E2nodeComponentInterfaceType_xn = 1,
+ E2nodeComponentInterfaceType_e1 = 2,
+ E2nodeComponentInterfaceType_f1 = 3,
+ E2nodeComponentInterfaceType_w1 = 4,
+ E2nodeComponentInterfaceType_s1 = 5,
+ E2nodeComponentInterfaceType_x2 = 6
+ /*
+ * Enumeration is extensible
+ */
+} e_E2nodeComponentInterfaceType;
+
+/* E2nodeComponentInterfaceType */
+typedef long E2nodeComponentInterfaceType_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E2nodeComponentInterfaceType_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceType;
+extern const asn_INTEGER_specifics_t asn_SPC_E2nodeComponentInterfaceType_specs_1;
+asn_struct_free_f E2nodeComponentInterfaceType_free;
+asn_struct_print_f E2nodeComponentInterfaceType_print;
+asn_constr_check_f E2nodeComponentInterfaceType_constraint;
+ber_type_decoder_f E2nodeComponentInterfaceType_decode_ber;
+der_type_encoder_f E2nodeComponentInterfaceType_encode_der;
+xer_type_decoder_f E2nodeComponentInterfaceType_decode_xer;
+xer_type_encoder_f E2nodeComponentInterfaceType_encode_xer;
+oer_type_decoder_f E2nodeComponentInterfaceType_decode_oer;
+oer_type_encoder_f E2nodeComponentInterfaceType_encode_oer;
+per_type_decoder_f E2nodeComponentInterfaceType_decode_uper;
+per_type_encoder_f E2nodeComponentInterfaceType_encode_uper;
+per_type_decoder_f E2nodeComponentInterfaceType_decode_aper;
+per_type_encoder_f E2nodeComponentInterfaceType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceType_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentInterfaceW1.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceW1_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentInterfaceW1, ng_eNB_DU_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 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_E2nodeComponentInterfaceW1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentInterfaceW1_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ng-eNB-DU-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceW1_specs_1 = {
+ sizeof(struct E2nodeComponentInterfaceW1),
+ offsetof(struct E2nodeComponentInterfaceW1, _asn_ctx),
+ asn_MAP_E2nodeComponentInterfaceW1_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_E2nodeComponentInterfaceW1 = {
+ "E2nodeComponentInterfaceW1",
+ "E2nodeComponentInterfaceW1",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentInterfaceW1_tags_1,
+ sizeof(asn_DEF_E2nodeComponentInterfaceW1_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceW1_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentInterfaceW1_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentInterfaceW1_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceW1_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentInterfaceW1_1,
+ 1, /* Elements count */
+ &asn_SPC_E2nodeComponentInterfaceW1_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentInterfaceW1_H_
+#define _E2nodeComponentInterfaceW1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "NGENB-DU-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentInterfaceW1 */
+typedef struct E2nodeComponentInterfaceW1 {
+ NGENB_DU_ID_t ng_eNB_DU_ID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentInterfaceW1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceW1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceW1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceW1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceW1_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentInterfaceX2.h"
+
+#include "GlobalENB-ID.h"
+#include "GlobalenGNB-ID.h"
+asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceX2_1[] = {
+ { ATF_POINTER, 2, offsetof(struct E2nodeComponentInterfaceX2, 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, 1, offsetof(struct E2nodeComponentInterfaceX2, 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 int asn_MAP_E2nodeComponentInterfaceX2_oms_1[] = { 0, 1 };
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentInterfaceX2_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentInterfaceX2_tag2el_1[] = {
+ { (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 */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceX2_specs_1 = {
+ sizeof(struct E2nodeComponentInterfaceX2),
+ offsetof(struct E2nodeComponentInterfaceX2, _asn_ctx),
+ asn_MAP_E2nodeComponentInterfaceX2_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_E2nodeComponentInterfaceX2_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceX2 = {
+ "E2nodeComponentInterfaceX2",
+ "E2nodeComponentInterfaceX2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentInterfaceX2_tags_1,
+ sizeof(asn_DEF_E2nodeComponentInterfaceX2_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceX2_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentInterfaceX2_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentInterfaceX2_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceX2_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentInterfaceX2_1,
+ 2, /* Elements count */
+ &asn_SPC_E2nodeComponentInterfaceX2_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentInterfaceX2_H_
+#define _E2nodeComponentInterfaceX2_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct GlobalENB_ID;
+struct GlobalenGNB_ID;
+
+/* E2nodeComponentInterfaceX2 */
+typedef struct E2nodeComponentInterfaceX2 {
+ struct GlobalENB_ID *global_eNB_ID; /* OPTIONAL */
+ struct GlobalenGNB_ID *global_en_gNB_ID; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentInterfaceX2_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceX2;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceX2_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceX2_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceX2_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeComponentInterfaceXn.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceXn_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentInterfaceXn, global_NG_RAN_Node_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_GlobalNG_RANNode_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "global-NG-RAN-Node-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentInterfaceXn_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentInterfaceXn_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-NG-RAN-Node-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceXn_specs_1 = {
+ sizeof(struct E2nodeComponentInterfaceXn),
+ offsetof(struct E2nodeComponentInterfaceXn, _asn_ctx),
+ asn_MAP_E2nodeComponentInterfaceXn_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_E2nodeComponentInterfaceXn = {
+ "E2nodeComponentInterfaceXn",
+ "E2nodeComponentInterfaceXn",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentInterfaceXn_tags_1,
+ sizeof(asn_DEF_E2nodeComponentInterfaceXn_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceXn_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeComponentInterfaceXn_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentInterfaceXn_tags_1)
+ /sizeof(asn_DEF_E2nodeComponentInterfaceXn_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentInterfaceXn_1,
+ 1, /* Elements count */
+ &asn_SPC_E2nodeComponentInterfaceXn_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeComponentInterfaceXn_H_
+#define _E2nodeComponentInterfaceXn_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GlobalNG-RANNode-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentInterfaceXn */
+typedef struct E2nodeComponentInterfaceXn {
+ GlobalNG_RANNode_ID_t global_NG_RAN_Node_ID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentInterfaceXn_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceXn;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceXn_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceXn_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceXn_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeConfigurationUpdate.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdate_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate, protocolIEs),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_ContainerE2_1925P18,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "protocolIEs"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeConfigurationUpdate_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdate_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdate_specs_1 = {
+ sizeof(struct E2nodeConfigurationUpdate),
+ offsetof(struct E2nodeConfigurationUpdate, _asn_ctx),
+ asn_MAP_E2nodeConfigurationUpdate_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_E2nodeConfigurationUpdate = {
+ "E2nodeConfigurationUpdate",
+ "E2nodeConfigurationUpdate",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeConfigurationUpdate_tags_1,
+ sizeof(asn_DEF_E2nodeConfigurationUpdate_tags_1)
+ /sizeof(asn_DEF_E2nodeConfigurationUpdate_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeConfigurationUpdate_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeConfigurationUpdate_tags_1)
+ /sizeof(asn_DEF_E2nodeConfigurationUpdate_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeConfigurationUpdate_1,
+ 1, /* Elements count */
+ &asn_SPC_E2nodeConfigurationUpdate_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeConfigurationUpdate_H_
+#define _E2nodeConfigurationUpdate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-ContainerE2.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeConfigurationUpdate */
+typedef struct E2nodeConfigurationUpdate {
+ ProtocolIE_ContainerE2_1925P18_t protocolIEs;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeConfigurationUpdate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdate;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdate_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdate_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeConfigurationUpdate_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeConfigurationUpdateAcknowledge.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateAcknowledge_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge, protocolIEs),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_ContainerE2_1925P19,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "protocolIEs"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeConfigurationUpdateAcknowledge_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdateAcknowledge_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateAcknowledge_specs_1 = {
+ sizeof(struct E2nodeConfigurationUpdateAcknowledge),
+ offsetof(struct E2nodeConfigurationUpdateAcknowledge, _asn_ctx),
+ asn_MAP_E2nodeConfigurationUpdateAcknowledge_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_E2nodeConfigurationUpdateAcknowledge = {
+ "E2nodeConfigurationUpdateAcknowledge",
+ "E2nodeConfigurationUpdateAcknowledge",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeConfigurationUpdateAcknowledge_tags_1,
+ sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_tags_1)
+ /sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeConfigurationUpdateAcknowledge_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_tags_1)
+ /sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeConfigurationUpdateAcknowledge_1,
+ 1, /* Elements count */
+ &asn_SPC_E2nodeConfigurationUpdateAcknowledge_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeConfigurationUpdateAcknowledge_H_
+#define _E2nodeConfigurationUpdateAcknowledge_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-ContainerE2.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeConfigurationUpdateAcknowledge */
+typedef struct E2nodeConfigurationUpdateAcknowledge {
+ ProtocolIE_ContainerE2_1925P19_t protocolIEs;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeConfigurationUpdateAcknowledge_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateAcknowledge;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateAcknowledge_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateAcknowledge_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeConfigurationUpdateAcknowledge_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeConfigurationUpdateFailure.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateFailure_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure, protocolIEs),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_ContainerE2_1925P20,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "protocolIEs"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeConfigurationUpdateFailure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdateFailure_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateFailure_specs_1 = {
+ sizeof(struct E2nodeConfigurationUpdateFailure),
+ offsetof(struct E2nodeConfigurationUpdateFailure, _asn_ctx),
+ asn_MAP_E2nodeConfigurationUpdateFailure_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_E2nodeConfigurationUpdateFailure = {
+ "E2nodeConfigurationUpdateFailure",
+ "E2nodeConfigurationUpdateFailure",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeConfigurationUpdateFailure_tags_1,
+ sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_tags_1)
+ /sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeConfigurationUpdateFailure_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_tags_1)
+ /sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeConfigurationUpdateFailure_1,
+ 1, /* Elements count */
+ &asn_SPC_E2nodeConfigurationUpdateFailure_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeConfigurationUpdateFailure_H_
+#define _E2nodeConfigurationUpdateFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-ContainerE2.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeConfigurationUpdateFailure */
+typedef struct E2nodeConfigurationUpdateFailure {
+ ProtocolIE_ContainerE2_1925P20_t protocolIEs;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeConfigurationUpdateFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateFailure;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateFailure_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateFailure_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeConfigurationUpdateFailure_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeTNLassociationRemoval-Item.h"
+
+static asn_TYPE_member_t asn_MBR_E2nodeTNLassociationRemoval_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeTNLassociationRemoval_Item, tnlInformation),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_TNLinformation,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "tnlInformation"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeTNLassociationRemoval_Item, tnlInformationRIC),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_TNLinformation,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "tnlInformationRIC"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeTNLassociationRemoval_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeTNLassociationRemoval_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tnlInformation */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tnlInformationRIC */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2nodeTNLassociationRemoval_Item_specs_1 = {
+ sizeof(struct E2nodeTNLassociationRemoval_Item),
+ offsetof(struct E2nodeTNLassociationRemoval_Item, _asn_ctx),
+ asn_MAP_E2nodeTNLassociationRemoval_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_E2nodeTNLassociationRemoval_Item = {
+ "E2nodeTNLassociationRemoval-Item",
+ "E2nodeTNLassociationRemoval-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeTNLassociationRemoval_Item_tags_1,
+ sizeof(asn_DEF_E2nodeTNLassociationRemoval_Item_tags_1)
+ /sizeof(asn_DEF_E2nodeTNLassociationRemoval_Item_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeTNLassociationRemoval_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeTNLassociationRemoval_Item_tags_1)
+ /sizeof(asn_DEF_E2nodeTNLassociationRemoval_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeTNLassociationRemoval_Item_1,
+ 2, /* Elements count */
+ &asn_SPC_E2nodeTNLassociationRemoval_Item_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeTNLassociationRemoval_Item_H_
+#define _E2nodeTNLassociationRemoval_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TNLinformation.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeTNLassociationRemoval-Item */
+typedef struct E2nodeTNLassociationRemoval_Item {
+ TNLinformation_t tnlInformation;
+ TNLinformation_t tnlInformationRIC;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeTNLassociationRemoval_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeTNLassociationRemoval_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeTNLassociationRemoval_Item_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "E2nodeTNLassociationRemoval-List.h"
+
+#include "ProtocolIE-SingleContainerE2.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeTNLassociationRemoval_List_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..32)) */};
+static asn_per_constraints_t asn_PER_type_E2nodeTNLassociationRemoval_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 */
+};
+static asn_TYPE_member_t asn_MBR_E2nodeTNLassociationRemoval_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P10,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeTNLassociationRemoval_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_E2nodeTNLassociationRemoval_List_specs_1 = {
+ sizeof(struct E2nodeTNLassociationRemoval_List),
+ offsetof(struct E2nodeTNLassociationRemoval_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeTNLassociationRemoval_List = {
+ "E2nodeTNLassociationRemoval-List",
+ "E2nodeTNLassociationRemoval-List",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_E2nodeTNLassociationRemoval_List_tags_1,
+ sizeof(asn_DEF_E2nodeTNLassociationRemoval_List_tags_1)
+ /sizeof(asn_DEF_E2nodeTNLassociationRemoval_List_tags_1[0]), /* 1 */
+ asn_DEF_E2nodeTNLassociationRemoval_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_E2nodeTNLassociationRemoval_List_tags_1)
+ /sizeof(asn_DEF_E2nodeTNLassociationRemoval_List_tags_1[0]), /* 1 */
+ { &asn_OER_type_E2nodeTNLassociationRemoval_List_constr_1, &asn_PER_type_E2nodeTNLassociationRemoval_List_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_E2nodeTNLassociationRemoval_List_1,
+ 1, /* Single element */
+ &asn_SPC_E2nodeTNLassociationRemoval_List_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _E2nodeTNLassociationRemoval_List_H_
+#define _E2nodeTNLassociationRemoval_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainerE2;
+
+/* E2nodeTNLassociationRemoval-List */
+typedef struct E2nodeTNLassociationRemoval_List {
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeTNLassociationRemoval_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeTNLassociationRemoval_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeTNLassociationRemoval_List_H_ */
+#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "E2setupFailure.h"
{ ATF_NOFLAGS, 0, offsetof(struct E2setupFailure, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P13,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P14,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _E2setupFailure_H_
/* E2setupFailure */
typedef struct E2setupFailure {
- ProtocolIE_ContainerE2_1407P13_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P14_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "E2setupRequest.h"
{ ATF_NOFLAGS, 0, offsetof(struct E2setupRequest, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P11,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P12,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _E2setupRequest_H_
/* E2setupRequest */
typedef struct E2setupRequest {
- ProtocolIE_ContainerE2_1407P11_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P12_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "E2setupResponse.h"
{ ATF_NOFLAGS, 0, offsetof(struct E2setupResponse, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P12,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P13,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _E2setupResponse_H_
/* E2setupResponse */
typedef struct E2setupResponse {
- ProtocolIE_ContainerE2_1407P12_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P13_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ENB-ID-Choice.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ENB_ID_Choice_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ENB-ID.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ENB_ID_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ENGNB-ID.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ENGNB_ID_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ErrorIndicationE2.h"
{ ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P10,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P11,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ErrorIndicationE2_H_
/* ErrorIndicationE2 */
typedef struct ErrorIndicationE2 {
- ProtocolIE_ContainerE2_1407P10_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P11_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "GNB-CU-UP-ID.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _GNB_CU_UP_ID_H_
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "GNB-DU-ID.h"
+
+int
+GNB_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_GNB_DU_ID_constr_1 CC_NOTUSED = {
+ { 8, 1 } /* (0..68719476735) */,
+ -1};
+asn_per_constraints_t asn_PER_type_GNB_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_GNB_DU_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_GNB_DU_ID = {
+ "GNB-DU-ID",
+ "GNB-DU-ID",
+ &asn_OP_INTEGER,
+ asn_DEF_GNB_DU_ID_tags_1,
+ sizeof(asn_DEF_GNB_DU_ID_tags_1)
+ /sizeof(asn_DEF_GNB_DU_ID_tags_1[0]), /* 1 */
+ asn_DEF_GNB_DU_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_GNB_DU_ID_tags_1)
+ /sizeof(asn_DEF_GNB_DU_ID_tags_1[0]), /* 1 */
+ { &asn_OER_type_GNB_DU_ID_constr_1, &asn_PER_type_GNB_DU_ID_constr_1, GNB_DU_ID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _GNB_DU_ID_H_
+#define _GNB_DU_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <INTEGER.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GNB-DU-ID */
+typedef INTEGER_t GNB_DU_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_GNB_DU_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_GNB_DU_ID;
+asn_struct_free_f GNB_DU_ID_free;
+asn_struct_print_f GNB_DU_ID_print;
+asn_constr_check_f GNB_DU_ID_constraint;
+ber_type_decoder_f GNB_DU_ID_decode_ber;
+der_type_encoder_f GNB_DU_ID_encode_der;
+xer_type_decoder_f GNB_DU_ID_decode_xer;
+xer_type_encoder_f GNB_DU_ID_encode_xer;
+oer_type_decoder_f GNB_DU_ID_decode_oer;
+oer_type_encoder_f GNB_DU_ID_encode_oer;
+per_type_decoder_f GNB_DU_ID_decode_uper;
+per_type_encoder_f GNB_DU_ID_encode_uper;
+per_type_decoder_f GNB_DU_ID_decode_aper;
+per_type_encoder_f GNB_DU_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GNB_DU_ID_H_ */
+#include <asn_internal.h>
+++ /dev/null
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
- */
-
-#ifndef _GNB_DU_IDE2_H_
-#define _GNB_DU_IDE2_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <INTEGER.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* GNB-DU-IDE2 */
-typedef INTEGER_t GNB_DU_IDE2_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_GNB_DU_IDE2_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_GNB_DU_IDE2;
-asn_struct_free_f GNB_DU_IDE2_free;
-asn_struct_print_f GNB_DU_IDE2_print;
-asn_constr_check_f GNB_DU_IDE2_constraint;
-ber_type_decoder_f GNB_DU_IDE2_decode_ber;
-der_type_encoder_f GNB_DU_IDE2_encode_der;
-xer_type_decoder_f GNB_DU_IDE2_decode_xer;
-xer_type_encoder_f GNB_DU_IDE2_encode_xer;
-oer_type_decoder_f GNB_DU_IDE2_decode_oer;
-oer_type_encoder_f GNB_DU_IDE2_encode_oer;
-per_type_decoder_f GNB_DU_IDE2_decode_uper;
-per_type_encoder_f GNB_DU_IDE2_encode_uper;
-per_type_decoder_f GNB_DU_IDE2_decode_aper;
-per_type_encoder_f GNB_DU_IDE2_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GNB_DU_IDE2_H_ */
-#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "GNB-ID-Choice.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _GNB_ID_Choice_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "GlobalE2node-ID.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _GlobalE2node_ID_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "GlobalE2node-eNB-ID.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _GlobalE2node_eNB_ID_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#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),
+ { ATF_NOFLAGS, 0, offsetof(struct GlobalE2node_en_gNB_ID, global_en_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"
+ "global-en-gNB-ID"
+ },
+ { ATF_POINTER, 2, offsetof(struct GlobalE2node_en_gNB_ID, en_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 */
+ "en-gNB-CU-UP-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct GlobalE2node_en_gNB_ID, en_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 */
+ "en-gNB-DU-ID"
},
};
+static const int asn_MAP_GlobalE2node_en_gNB_ID_oms_1[] = { 1, 2 };
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_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-en-gNB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-gNB-CU-UP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* en-gNB-DU-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 */
+ 3, /* Count of tags in the map */
+ asn_MAP_GlobalE2node_en_gNB_ID_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_GlobalE2node_en_gNB_ID = {
"GlobalE2node-en-gNB-ID",
/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 */
+ 3, /* Elements count */
&asn_SPC_GlobalE2node_en_gNB_ID_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _GlobalE2node_en_gNB_ID_H_
/* Including external dependencies */
#include "GlobalenGNB-ID.h"
+#include "GNB-CU-UP-ID.h"
+#include "GNB-DU-ID.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
/* GlobalE2node-en-gNB-ID */
typedef struct GlobalE2node_en_gNB_ID {
- GlobalenGNB_ID_t global_gNB_ID;
+ GlobalenGNB_ID_t global_en_gNB_ID;
+ GNB_CU_UP_ID_t *en_gNB_CU_UP_ID; /* OPTIONAL */
+ GNB_DU_ID_t *en_gNB_DU_ID; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_GlobalE2node_en_gNB_ID;
extern asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_en_gNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalE2node_en_gNB_ID_1[1];
+extern asn_TYPE_member_t asn_MBR_GlobalE2node_en_gNB_ID_1[3];
#ifdef __cplusplus
}
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "GlobalE2node-gNB-ID.h"
+#include "GlobalenGNB-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)),
0, 0, /* No default value */
"global-gNB-ID"
},
- { ATF_POINTER, 2, offsetof(struct GlobalE2node_gNB_ID, gNB_CU_UP_ID),
+ { ATF_POINTER, 3, offsetof(struct GlobalE2node_gNB_ID, 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"
+ },
+ { ATF_POINTER, 2, offsetof(struct GlobalE2node_gNB_ID, gNB_CU_UP_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
&asn_DEF_GNB_CU_UP_ID,
0,
{ 0, 0, 0 },
"gNB-CU-UP-ID"
},
{ ATF_POINTER, 1, offsetof(struct GlobalE2node_gNB_ID, gNB_DU_ID),
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_GNB_DU_IDE2,
+ &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 int asn_MAP_GlobalE2node_gNB_ID_oms_1[] = { 1, 2, 3 };
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_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* global-en-gNB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* gNB-CU-UP-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 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 */
+ 4, /* Count of tags in the map */
asn_MAP_GlobalE2node_gNB_ID_oms_1, /* Optional members */
- 2, 0, /* Root/Additions */
- 3, /* First extension addition */
+ 3, 0, /* Root/Additions */
+ 4, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_GlobalE2node_gNB_ID = {
"GlobalE2node-gNB-ID",
/sizeof(asn_DEF_GlobalE2node_gNB_ID_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_GlobalE2node_gNB_ID_1,
- 3, /* Elements count */
+ 4, /* Elements count */
&asn_SPC_GlobalE2node_gNB_ID_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _GlobalE2node_gNB_ID_H_
/* Including external dependencies */
#include "GlobalgNB-ID.h"
#include "GNB-CU-UP-ID.h"
-#include "GNB-DU-IDE2.h"
+#include "GNB-DU-ID.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
+/* Forward declarations */
+struct GlobalenGNB_ID;
+
/* GlobalE2node-gNB-ID */
typedef struct GlobalE2node_gNB_ID {
GlobalgNB_ID_t global_gNB_ID;
+ struct GlobalenGNB_ID *global_en_gNB_ID; /* OPTIONAL */
GNB_CU_UP_ID_t *gNB_CU_UP_ID; /* OPTIONAL */
- GNB_DU_IDE2_t *gNB_DU_ID; /* OPTIONAL */
+ GNB_DU_ID_t *gNB_DU_ID; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_GlobalE2node_gNB_ID;
extern asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_gNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalE2node_gNB_ID_1[3];
+extern asn_TYPE_member_t asn_MBR_GlobalE2node_gNB_ID_1[4];
#ifdef __cplusplus
}
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "GlobalE2node-ng-eNB-ID.h"
+#include "GlobalENB-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)),
0, 0, /* No default value */
"global-ng-eNB-ID"
},
+ { ATF_POINTER, 2, offsetof(struct GlobalE2node_ng_eNB_ID, global_eNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 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, 1, offsetof(struct GlobalE2node_ng_eNB_ID, ngENB_DU_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NGENB_DU_ID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ngENB-DU-ID"
+ },
};
+static const int asn_MAP_GlobalE2node_ng_eNB_ID_oms_1[] = { 1, 2 };
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_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-ng-eNB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* global-eNB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ngENB-DU-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 */
+ 3, /* Count of tags in the map */
+ asn_MAP_GlobalE2node_ng_eNB_ID_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_GlobalE2node_ng_eNB_ID = {
"GlobalE2node-ng-eNB-ID",
/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 */
+ 3, /* Elements count */
&asn_SPC_GlobalE2node_ng_eNB_ID_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _GlobalE2node_ng_eNB_ID_H_
/* Including external dependencies */
#include "GlobalngeNB-ID.h"
+#include "NGENB-DU-ID.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
extern "C" {
#endif
+/* Forward declarations */
+struct GlobalENB_ID;
+
/* GlobalE2node-ng-eNB-ID */
typedef struct GlobalE2node_ng_eNB_ID {
GlobalngeNB_ID_t global_ng_eNB_ID;
+ struct GlobalENB_ID *global_eNB_ID; /* OPTIONAL */
+ NGENB_DU_ID_t *ngENB_DU_ID; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_GlobalE2node_ng_eNB_ID;
extern asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_ng_eNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalE2node_ng_eNB_ID_1[1];
+extern asn_TYPE_member_t asn_MBR_GlobalE2node_ng_eNB_ID_1[3];
#ifdef __cplusplus
}
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "GlobalENB-ID.h"
{ ATF_NOFLAGS, 0, offsetof(struct GlobalENB_ID, pLMN_Identity),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_PLMN_IdentityE2,
+ &asn_DEF_PLMN_Identity,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _GlobalENB_ID_H_
#include <asn_application.h>
/* Including external dependencies */
-#include "PLMN-IdentityE2.h"
+#include "PLMN-Identity.h"
#include "ENB-ID.h"
#include <constr_SEQUENCE.h>
/* GlobalENB-ID */
typedef struct GlobalENB_ID {
- PLMN_IdentityE2_t pLMN_Identity;
+ PLMN_Identity_t pLMN_Identity;
ENB_ID_t eNB_ID;
/*
* This type is extensible,
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "GlobalNG-RANNode-ID.h"
+
+#include "GlobalgNB-ID.h"
+#include "GlobalngeNB-ID.h"
+static asn_oer_constraints_t asn_OER_type_GlobalNG_RANNode_ID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_GlobalNG_RANNode_ID_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_GlobalNG_RANNode_ID_1[] = {
+ { ATF_POINTER, 0, offsetof(struct GlobalNG_RANNode_ID, 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 GlobalNG_RANNode_ID, 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_GlobalNG_RANNode_ID_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_GlobalNG_RANNode_ID_specs_1 = {
+ sizeof(struct GlobalNG_RANNode_ID),
+ offsetof(struct GlobalNG_RANNode_ID, _asn_ctx),
+ offsetof(struct GlobalNG_RANNode_ID, present),
+ sizeof(((struct GlobalNG_RANNode_ID *)0)->present),
+ asn_MAP_GlobalNG_RANNode_ID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_GlobalNG_RANNode_ID = {
+ "GlobalNG-RANNode-ID",
+ "GlobalNG-RANNode-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_GlobalNG_RANNode_ID_constr_1, &asn_PER_type_GlobalNG_RANNode_ID_constr_1, CHOICE_constraint },
+ asn_MBR_GlobalNG_RANNode_ID_1,
+ 2, /* Elements count */
+ &asn_SPC_GlobalNG_RANNode_ID_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _GlobalNG_RANNode_ID_H_
+#define _GlobalNG_RANNode_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum GlobalNG_RANNode_ID_PR {
+ GlobalNG_RANNode_ID_PR_NOTHING, /* No components present */
+ GlobalNG_RANNode_ID_PR_gNB,
+ GlobalNG_RANNode_ID_PR_ng_eNB
+ /* Extensions may appear below */
+
+} GlobalNG_RANNode_ID_PR;
+
+/* Forward declarations */
+struct GlobalgNB_ID;
+struct GlobalngeNB_ID;
+
+/* GlobalNG-RANNode-ID */
+typedef struct GlobalNG_RANNode_ID {
+ GlobalNG_RANNode_ID_PR present;
+ union GlobalNG_RANNode_ID_u {
+ struct GlobalgNB_ID *gNB;
+ struct GlobalngeNB_ID *ng_eNB;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} GlobalNG_RANNode_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GlobalNG_RANNode_ID;
+extern asn_CHOICE_specifics_t asn_SPC_GlobalNG_RANNode_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_GlobalNG_RANNode_ID_1[2];
+extern asn_per_constraints_t asn_PER_type_GlobalNG_RANNode_ID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GlobalNG_RANNode_ID_H_ */
+#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "GlobalRIC-ID.h"
{ ATF_NOFLAGS, 0, offsetof(struct GlobalRIC_ID, pLMN_Identity),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_PLMN_IdentityE2,
+ &asn_DEF_PLMN_Identity,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _GlobalRIC_ID_H_
#include <asn_application.h>
/* Including external dependencies */
-#include "PLMN-IdentityE2.h"
+#include "PLMN-Identity.h"
#include <BIT_STRING.h>
#include <constr_SEQUENCE.h>
/* GlobalRIC-ID */
typedef struct GlobalRIC_ID {
- PLMN_IdentityE2_t pLMN_Identity;
+ PLMN_Identity_t pLMN_Identity;
BIT_STRING_t ric_ID;
/*
* This type is extensible,
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "GlobalenGNB-ID.h"
{ ATF_NOFLAGS, 0, offsetof(struct GlobalenGNB_ID, pLMN_Identity),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_PLMN_IdentityE2,
+ &asn_DEF_PLMN_Identity,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _GlobalenGNB_ID_H_
#include <asn_application.h>
/* Including external dependencies */
-#include "PLMN-IdentityE2.h"
+#include "PLMN-Identity.h"
#include "ENGNB-ID.h"
#include <constr_SEQUENCE.h>
/* GlobalenGNB-ID */
typedef struct GlobalenGNB_ID {
- PLMN_IdentityE2_t pLMN_Identity;
+ PLMN_Identity_t pLMN_Identity;
ENGNB_ID_t gNB_ID;
/*
* This type is extensible,
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "GlobalgNB-ID.h"
{ ATF_NOFLAGS, 0, offsetof(struct GlobalgNB_ID, plmn_id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_PLMN_IdentityE2,
+ &asn_DEF_PLMN_Identity,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _GlobalgNB_ID_H_
#include <asn_application.h>
/* Including external dependencies */
-#include "PLMN-IdentityE2.h"
+#include "PLMN-Identity.h"
#include "GNB-ID-Choice.h"
#include <constr_SEQUENCE.h>
/* GlobalgNB-ID */
typedef struct GlobalgNB_ID {
- PLMN_IdentityE2_t plmn_id;
+ PLMN_Identity_t plmn_id;
GNB_ID_Choice_t gnb_id;
/*
* This type is extensible,
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "GlobalngeNB-ID.h"
{ ATF_NOFLAGS, 0, offsetof(struct GlobalngeNB_ID, plmn_id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_PLMN_IdentityE2,
+ &asn_DEF_PLMN_Identity,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _GlobalngeNB_ID_H_
#include <asn_application.h>
/* Including external dependencies */
-#include "PLMN-IdentityE2.h"
+#include "PLMN-Identity.h"
#include "ENB-ID-Choice.h"
#include <constr_SEQUENCE.h>
/* GlobalngeNB-ID */
typedef struct GlobalngeNB_ID {
- PLMN_IdentityE2_t plmn_id;
+ PLMN_Identity_t plmn_id;
ENB_ID_Choice_t enb_id;
/*
* This type is extensible,
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Descriptions"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "InitiatingMessageE2.h"
static const long asn_VAL_4_reject = 0;
static const long asn_VAL_5_id_E2setup = 1;
static const long asn_VAL_5_reject = 0;
-static const long asn_VAL_6_id_Reset = 3;
+static const long asn_VAL_6_id_E2nodeConfigurationUpdate = 10;
static const long asn_VAL_6_reject = 0;
-static const long asn_VAL_7_id_RICindication = 5;
-static const long asn_VAL_7_ignore = 1;
-static const long asn_VAL_8_id_RICserviceQuery = 6;
-static const long asn_VAL_8_ignore = 1;
-static const long asn_VAL_9_id_ErrorIndicationE2 = 2;
+static const long asn_VAL_7_id_E2connectionUpdate = 11;
+static const long asn_VAL_7_reject = 0;
+static const long asn_VAL_8_id_Reset = 3;
+static const long asn_VAL_8_reject = 0;
+static const long asn_VAL_9_id_RICindication = 5;
static const long asn_VAL_9_ignore = 1;
+static const long asn_VAL_10_id_RICserviceQuery = 6;
+static const long asn_VAL_10_ignore = 1;
+static const long asn_VAL_11_id_ErrorIndicationE2 = 2;
+static const long asn_VAL_11_ignore = 1;
+static const long asn_VAL_12_id_RICsubscriptionDeleteRequired = 12;
+static const long asn_VAL_12_ignore = 1;
static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = {
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_RICsubscriptionRequest },
{ "&SuccessfulOutcomeE2", aioc__type, &asn_DEF_RICsubscriptionResponse },
{ "&UnsuccessfulOutcomeE2", aioc__type, &asn_DEF_E2setupFailure },
{ "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_5_id_E2setup },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_5_reject },
+ { "&InitiatingMessageE2", aioc__type, &asn_DEF_E2nodeConfigurationUpdate },
+ { "&SuccessfulOutcomeE2", aioc__type, &asn_DEF_E2nodeConfigurationUpdateAcknowledge },
+ { "&UnsuccessfulOutcomeE2", aioc__type, &asn_DEF_E2nodeConfigurationUpdateFailure },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_6_id_E2nodeConfigurationUpdate },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_6_reject },
+ { "&InitiatingMessageE2", aioc__type, &asn_DEF_E2connectionUpdate },
+ { "&SuccessfulOutcomeE2", aioc__type, &asn_DEF_E2connectionUpdateAcknowledge },
+ { "&UnsuccessfulOutcomeE2", aioc__type, &asn_DEF_E2connectionUpdateFailure },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_7_id_E2connectionUpdate },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_7_reject },
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_ResetRequest },
{ "&SuccessfulOutcomeE2", aioc__type, &asn_DEF_ResetResponse },
{ "&UnsuccessfulOutcomeE2", },
- { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_6_id_Reset },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_6_reject },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_8_id_Reset },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_8_reject },
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_RICindication },
{ "&SuccessfulOutcomeE2", },
{ "&UnsuccessfulOutcomeE2", },
- { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_7_id_RICindication },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_7_ignore },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_9_id_RICindication },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_9_ignore },
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_RICserviceQuery },
{ "&SuccessfulOutcomeE2", },
{ "&UnsuccessfulOutcomeE2", },
- { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_8_id_RICserviceQuery },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_8_ignore },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_10_id_RICserviceQuery },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_10_ignore },
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_ErrorIndicationE2 },
{ "&SuccessfulOutcomeE2", },
{ "&UnsuccessfulOutcomeE2", },
- { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_9_id_ErrorIndicationE2 },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_9_ignore }
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_11_id_ErrorIndicationE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_11_ignore },
+ { "&InitiatingMessageE2", aioc__type, &asn_DEF_RICsubscriptionDeleteRequired },
+ { "&SuccessfulOutcomeE2", },
+ { "&UnsuccessfulOutcomeE2", },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_12_id_RICsubscriptionDeleteRequired },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_12_ignore }
};
static const asn_ioc_set_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1[] = {
- { 9, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
+ { 12, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
};
static int
memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
0, 0, /* No default value */
"E2setupRequest"
},
+ { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessageE2__value, choice.E2nodeConfigurationUpdate),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeConfigurationUpdate,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2nodeConfigurationUpdate"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessageE2__value, choice.E2connectionUpdate),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2connectionUpdate,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2connectionUpdate"
+ },
{ ATF_NOFLAGS, 0, offsetof(struct InitiatingMessageE2__value, choice.ResetRequest),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
0, 0, /* No default value */
"ErrorIndicationE2"
},
+ { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessageE2__value, choice.RICsubscriptionDeleteRequired),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RICsubscriptionDeleteRequired,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICsubscriptionDeleteRequired"
+ },
};
static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 8 }, /* RICsubscriptionRequest */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 7 }, /* RICsubscriptionDeleteRequest */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 6 }, /* RICserviceUpdate */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 5 }, /* RICcontrolRequest */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 4 }, /* E2setupRequest */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 3 }, /* ResetRequest */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 2 }, /* RICindication */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 1 }, /* RICserviceQuery */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -8, 0 } /* ErrorIndicationE2 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 11 }, /* RICsubscriptionRequest */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 10 }, /* RICsubscriptionDeleteRequest */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 9 }, /* RICserviceUpdate */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 8 }, /* RICcontrolRequest */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 7 }, /* E2setupRequest */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 6 }, /* E2nodeConfigurationUpdate */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 5 }, /* E2connectionUpdate */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 4 }, /* ResetRequest */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -8, 3 }, /* RICindication */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -9, 2 }, /* RICserviceQuery */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 10, -10, 1 }, /* ErrorIndicationE2 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 11, -11, 0 } /* RICsubscriptionDeleteRequired */
};
static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
sizeof(struct InitiatingMessageE2__value),
offsetof(struct InitiatingMessageE2__value, present),
sizeof(((struct InitiatingMessageE2__value *)0)->present),
asn_MAP_value_tag2el_4,
- 9, /* Count of tags in the map */
+ 12, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
asn_MBR_value_4,
- 9, /* Elements count */
+ 12, /* Elements count */
&asn_SPC_value_specs_4 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Descriptions"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _InitiatingMessageE2_H_
#include "E2setupRequest.h"
#include "E2setupResponse.h"
#include "E2setupFailure.h"
+#include "E2nodeConfigurationUpdate.h"
+#include "E2nodeConfigurationUpdateAcknowledge.h"
+#include "E2nodeConfigurationUpdateFailure.h"
+#include "E2connectionUpdate.h"
+#include "E2connectionUpdateAcknowledge.h"
+#include "E2connectionUpdateFailure.h"
#include "ResetRequest.h"
#include "ResetResponse.h"
#include "RICindication.h"
#include "RICserviceQuery.h"
#include "ErrorIndicationE2.h"
+#include "RICsubscriptionDeleteRequired.h"
#include <OPEN_TYPE.h>
#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
InitiatingMessageE2__value_PR_RICserviceUpdate,
InitiatingMessageE2__value_PR_RICcontrolRequest,
InitiatingMessageE2__value_PR_E2setupRequest,
+ InitiatingMessageE2__value_PR_E2nodeConfigurationUpdate,
+ InitiatingMessageE2__value_PR_E2connectionUpdate,
InitiatingMessageE2__value_PR_ResetRequest,
InitiatingMessageE2__value_PR_RICindication,
InitiatingMessageE2__value_PR_RICserviceQuery,
- InitiatingMessageE2__value_PR_ErrorIndicationE2
+ InitiatingMessageE2__value_PR_ErrorIndicationE2,
+ InitiatingMessageE2__value_PR_RICsubscriptionDeleteRequired
} InitiatingMessageE2__value_PR;
/* InitiatingMessageE2 */
RICserviceUpdate_t RICserviceUpdate;
RICcontrolRequest_t RICcontrolRequest;
E2setupRequest_t E2setupRequest;
+ E2nodeConfigurationUpdate_t E2nodeConfigurationUpdate;
+ E2connectionUpdate_t E2connectionUpdate;
ResetRequest_t ResetRequest;
RICindication_t RICindication;
RICserviceQuery_t RICserviceQuery;
ErrorIndicationE2_t ErrorIndicationE2;
+ RICsubscriptionDeleteRequired_t RICsubscriptionDeleteRequired;
} choice;
/* Context for parsing across buffer boundaries */
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "MMEname.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
+MMEname_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_MMEname_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_MMEname_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_MMEname_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..MAX)) */};
+asn_per_constraints_t asn_PER_type_MMEname_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_MMEname_1_v2c, /* Value to PER code map */
+ asn_PER_MAP_MMEname_1_c2v /* PER code to value map */
+};
+static const ber_tlv_tag_t asn_DEF_MMEname_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_MMEname = {
+ "MMEname",
+ "MMEname",
+ &asn_OP_PrintableString,
+ asn_DEF_MMEname_tags_1,
+ sizeof(asn_DEF_MMEname_tags_1)
+ /sizeof(asn_DEF_MMEname_tags_1[0]), /* 1 */
+ asn_DEF_MMEname_tags_1, /* Same as above */
+ sizeof(asn_DEF_MMEname_tags_1)
+ /sizeof(asn_DEF_MMEname_tags_1[0]), /* 1 */
+ { &asn_OER_type_MMEname_constr_1, &asn_PER_type_MMEname_constr_1, MMEname_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _MMEname_H_
+#define _MMEname_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <PrintableString.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MMEname */
+typedef PrintableString_t MMEname_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MMEname_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MMEname;
+asn_struct_free_f MMEname_free;
+asn_struct_print_f MMEname_print;
+asn_constr_check_f MMEname_constraint;
+ber_type_decoder_f MMEname_decode_ber;
+der_type_encoder_f MMEname_encode_der;
+xer_type_decoder_f MMEname_decode_xer;
+xer_type_encoder_f MMEname_encode_xer;
+oer_type_decoder_f MMEname_decode_oer;
+oer_type_encoder_f MMEname_encode_oer;
+per_type_decoder_f MMEname_decode_uper;
+per_type_encoder_f MMEname_encode_uper;
+per_type_decoder_f MMEname_decode_aper;
+per_type_encoder_f MMEname_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MMEname_H_ */
+#include <asn_internal.h>
ASN_MODULE_SRCS= \
- ./out/E2AP-PDU.c \
- ./out/InitiatingMessageE2.c \
- ./out/SuccessfulOutcomeE2.c \
- ./out/UnsuccessfulOutcomeE2.c \
- ./out/RICsubscriptionRequest.c \
- ./out/RICsubscriptionDetails.c \
- ./out/RICactions-ToBeSetup-List.c \
- ./out/RICaction-ToBeSetup-Item.c \
- ./out/RICsubscriptionResponse.c \
- ./out/RICaction-Admitted-List.c \
- ./out/RICaction-Admitted-Item.c \
- ./out/RICaction-NotAdmitted-List.c \
- ./out/RICaction-NotAdmitted-Item.c \
- ./out/RICsubscriptionFailure.c \
- ./out/RICsubscriptionDeleteRequest.c \
- ./out/RICsubscriptionDeleteResponse.c \
- ./out/RICsubscriptionDeleteFailure.c \
- ./out/RICindication.c \
- ./out/RICcontrolRequest.c \
- ./out/RICcontrolAcknowledge.c \
- ./out/RICcontrolFailure.c \
- ./out/ErrorIndicationE2.c \
- ./out/E2setupRequest.c \
- ./out/E2setupResponse.c \
- ./out/E2setupFailure.c \
- ./out/ResetRequest.c \
- ./out/ResetResponse.c \
- ./out/RICserviceUpdate.c \
- ./out/RANfunctions-List.c \
- ./out/RANfunction-Item.c \
- ./out/RANfunctionsID-List.c \
- ./out/RANfunctionID-Item.c \
- ./out/RICserviceUpdateAcknowledge.c \
- ./out/RANfunctionsIDcause-List.c \
- ./out/RANfunctionIDcause-Item.c \
- ./out/RICserviceUpdateFailure.c \
- ./out/RICserviceQuery.c \
- ./out/CauseE2.c \
- ./out/CauseMisc.c \
- ./out/CauseProtocol.c \
- ./out/CauseRIC.c \
- ./out/CauseRICservice.c \
- ./out/CauseTransport.c \
- ./out/CriticalityDiagnosticsE2.c \
- ./out/CriticalityDiagnostics-IE-ListE2.c \
- ./out/CriticalityDiagnostics-IE-ItemE2.c \
- ./out/ENB-ID.c \
- ./out/ENB-ID-Choice.c \
- ./out/ENGNB-ID.c \
- ./out/GlobalE2node-ID.c \
- ./out/GlobalE2node-en-gNB-ID.c \
- ./out/GlobalE2node-eNB-ID.c \
- ./out/GlobalE2node-gNB-ID.c \
- ./out/GlobalE2node-ng-eNB-ID.c \
- ./out/GlobalENB-ID.c \
- ./out/GlobalenGNB-ID.c \
- ./out/GlobalgNB-ID.c \
- ./out/GlobalngeNB-ID.c \
- ./out/GlobalRIC-ID.c \
- ./out/GNB-CU-UP-ID.c \
- ./out/GNB-DU-IDE2.c \
- ./out/GNB-ID-Choice.c \
- ./out/PLMN-IdentityE2.c \
- ./out/RANfunctionDefinition.c \
- ./out/RANfunctionID.c \
- ./out/RANfunctionRevision.c \
- ./out/RICactionDefinition.c \
- ./out/RICactionID.c \
- ./out/RICactionType.c \
- ./out/RICcallProcessID.c \
- ./out/RICcontrolAckRequest.c \
- ./out/RICcontrolHeader.c \
- ./out/RICcontrolMessage.c \
- ./out/RICcontrolOutcome.c \
- ./out/RICcontrolStatus.c \
- ./out/RICeventTriggerDefinition.c \
- ./out/RICindicationHeader.c \
- ./out/RICindicationMessage.c \
- ./out/RICindicationSN.c \
- ./out/RICindicationType.c \
- ./out/RICrequestID.c \
- ./out/RICsubsequentAction.c \
- ./out/RICsubsequentActionType.c \
- ./out/RICtimeToWait.c \
- ./out/TimeToWaitE2.c \
- ./out/TypeOfErrorE2.c \
- ./out/CriticalityE2.c \
- ./out/PresenceE2.c \
- ./out/ProcedureCodeE2.c \
- ./out/ProtocolIE-IDE2.c \
- ./out/TriggeringMessageE2.c \
- ./out/ProtocolIE-ContainerE2.c \
- ./out/ProtocolIE-SingleContainerE2.c \
- ./out/ProtocolIE-FieldE2.c \
- ./out/ProtocolIE-ContainerPairE2.c \
- ./out/ProtocolIE-FieldPairE2.c \
- ./out/ProtocolIE-ContainerList.c \
- ./out/ProtocolIE-ContainerPairList.c
+ ./E2AP/E2AP-PDU.c \
+ ./E2AP/InitiatingMessageE2.c \
+ ./E2AP/SuccessfulOutcomeE2.c \
+ ./E2AP/UnsuccessfulOutcomeE2.c \
+ ./E2AP/RICsubscriptionRequest.c \
+ ./E2AP/RICsubscriptionDetails.c \
+ ./E2AP/RICactions-ToBeSetup-List.c \
+ ./E2AP/RICaction-ToBeSetup-Item.c \
+ ./E2AP/RICsubscriptionResponse.c \
+ ./E2AP/RICaction-Admitted-List.c \
+ ./E2AP/RICaction-Admitted-Item.c \
+ ./E2AP/RICaction-NotAdmitted-List.c \
+ ./E2AP/RICaction-NotAdmitted-Item.c \
+ ./E2AP/RICsubscriptionFailure.c \
+ ./E2AP/RICsubscriptionDeleteRequest.c \
+ ./E2AP/RICsubscriptionDeleteResponse.c \
+ ./E2AP/RICsubscriptionDeleteFailure.c \
+ ./E2AP/RICsubscriptionDeleteRequired.c \
+ ./E2AP/RICsubscription-List-withCause.c \
+ ./E2AP/RICsubscription-withCause-Item.c \
+ ./E2AP/RICindication.c \
+ ./E2AP/RICcontrolRequest.c \
+ ./E2AP/RICcontrolAcknowledge.c \
+ ./E2AP/RICcontrolFailure.c \
+ ./E2AP/ErrorIndicationE2.c \
+ ./E2AP/E2setupRequest.c \
+ ./E2AP/E2setupResponse.c \
+ ./E2AP/E2setupFailure.c \
+ ./E2AP/E2connectionUpdate.c \
+ ./E2AP/E2connectionUpdate-List.c \
+ ./E2AP/E2connectionUpdate-Item.c \
+ ./E2AP/E2connectionUpdateRemove-List.c \
+ ./E2AP/E2connectionUpdateRemove-Item.c \
+ ./E2AP/E2connectionUpdateAcknowledge.c \
+ ./E2AP/E2connectionSetupFailed-List.c \
+ ./E2AP/E2connectionSetupFailed-Item.c \
+ ./E2AP/E2connectionUpdateFailure.c \
+ ./E2AP/E2nodeConfigurationUpdate.c \
+ ./E2AP/E2nodeComponentConfigAddition-List.c \
+ ./E2AP/E2nodeComponentConfigAddition-Item.c \
+ ./E2AP/E2nodeComponentConfigUpdate-List.c \
+ ./E2AP/E2nodeComponentConfigUpdate-Item.c \
+ ./E2AP/E2nodeComponentConfigRemoval-List.c \
+ ./E2AP/E2nodeComponentConfigRemoval-Item.c \
+ ./E2AP/E2nodeTNLassociationRemoval-List.c \
+ ./E2AP/E2nodeTNLassociationRemoval-Item.c \
+ ./E2AP/E2nodeConfigurationUpdateAcknowledge.c \
+ ./E2AP/E2nodeComponentConfigAdditionAck-List.c \
+ ./E2AP/E2nodeComponentConfigAdditionAck-Item.c \
+ ./E2AP/E2nodeComponentConfigUpdateAck-List.c \
+ ./E2AP/E2nodeComponentConfigUpdateAck-Item.c \
+ ./E2AP/E2nodeComponentConfigRemovalAck-List.c \
+ ./E2AP/E2nodeComponentConfigRemovalAck-Item.c \
+ ./E2AP/E2nodeConfigurationUpdateFailure.c \
+ ./E2AP/ResetRequest.c \
+ ./E2AP/ResetResponse.c \
+ ./E2AP/RICserviceUpdate.c \
+ ./E2AP/RANfunctions-List.c \
+ ./E2AP/RANfunction-Item.c \
+ ./E2AP/RANfunctionsID-List.c \
+ ./E2AP/RANfunctionID-Item.c \
+ ./E2AP/RICserviceUpdateAcknowledge.c \
+ ./E2AP/RANfunctionsIDcause-List.c \
+ ./E2AP/RANfunctionIDcause-Item.c \
+ ./E2AP/RICserviceUpdateFailure.c \
+ ./E2AP/RICserviceQuery.c \
+ ./E2AP/AMFName.c \
+ ./E2AP/CauseE2.c \
+ ./E2AP/CauseE2node.c \
+ ./E2AP/CauseMisc.c \
+ ./E2AP/CauseProtocol.c \
+ ./E2AP/CauseRICrequest.c \
+ ./E2AP/CauseRICservice.c \
+ ./E2AP/CauseTransport.c \
+ ./E2AP/CriticalityDiagnosticsE2.c \
+ ./E2AP/CriticalityDiagnostics-IE-ListE2.c \
+ ./E2AP/CriticalityDiagnostics-IE-ItemE2.c \
+ ./E2AP/E2nodeComponentConfiguration.c \
+ ./E2AP/E2nodeComponentConfigurationAck.c \
+ ./E2AP/E2nodeComponentInterfaceType.c \
+ ./E2AP/E2nodeComponentID.c \
+ ./E2AP/E2nodeComponentInterfaceE1.c \
+ ./E2AP/E2nodeComponentInterfaceF1.c \
+ ./E2AP/E2nodeComponentInterfaceNG.c \
+ ./E2AP/E2nodeComponentInterfaceS1.c \
+ ./E2AP/E2nodeComponentInterfaceX2.c \
+ ./E2AP/E2nodeComponentInterfaceXn.c \
+ ./E2AP/E2nodeComponentInterfaceW1.c \
+ ./E2AP/ENB-ID.c \
+ ./E2AP/ENB-ID-Choice.c \
+ ./E2AP/ENGNB-ID.c \
+ ./E2AP/GlobalE2node-ID.c \
+ ./E2AP/GlobalE2node-en-gNB-ID.c \
+ ./E2AP/GlobalE2node-eNB-ID.c \
+ ./E2AP/GlobalE2node-gNB-ID.c \
+ ./E2AP/GlobalE2node-ng-eNB-ID.c \
+ ./E2AP/GlobalENB-ID.c \
+ ./E2AP/GlobalenGNB-ID.c \
+ ./E2AP/GlobalgNB-ID.c \
+ ./E2AP/GlobalngeNB-ID.c \
+ ./E2AP/GlobalNG-RANNode-ID.c \
+ ./E2AP/GlobalRIC-ID.c \
+ ./E2AP/GNB-CU-UP-ID.c \
+ ./E2AP/GNB-DU-ID.c \
+ ./E2AP/GNB-ID-Choice.c \
+ ./E2AP/MMEname.c \
+ ./E2AP/NGENB-DU-ID.c \
+ ./E2AP/PLMN-Identity.c \
+ ./E2AP/RANfunctionDefinition.c \
+ ./E2AP/RANfunctionID.c \
+ ./E2AP/RANfunctionOID.c \
+ ./E2AP/RANfunctionRevision.c \
+ ./E2AP/RICactionDefinition.c \
+ ./E2AP/RICactionID.c \
+ ./E2AP/RICactionType.c \
+ ./E2AP/RICcallProcessID.c \
+ ./E2AP/RICcontrolAckRequest.c \
+ ./E2AP/RICcontrolHeader.c \
+ ./E2AP/RICcontrolMessage.c \
+ ./E2AP/RICcontrolOutcome.c \
+ ./E2AP/RICeventTriggerDefinition.c \
+ ./E2AP/RICindicationHeader.c \
+ ./E2AP/RICindicationMessage.c \
+ ./E2AP/RICindicationSN.c \
+ ./E2AP/RICindicationType.c \
+ ./E2AP/RICrequestID.c \
+ ./E2AP/RICsubsequentAction.c \
+ ./E2AP/RICsubsequentActionType.c \
+ ./E2AP/RICtimeToWait.c \
+ ./E2AP/TimeToWaitE2.c \
+ ./E2AP/TNLinformation.c \
+ ./E2AP/TNLusage.c \
+ ./E2AP/TransactionID.c \
+ ./E2AP/TypeOfErrorE2.c \
+ ./E2AP/CriticalityE2.c \
+ ./E2AP/PresenceE2.c \
+ ./E2AP/ProcedureCodeE2.c \
+ ./E2AP/ProtocolIE-IDE2.c \
+ ./E2AP/TriggeringMessageE2.c \
+ ./E2AP/ProtocolIE-ContainerE2.c \
+ ./E2AP/ProtocolIE-SingleContainerE2.c \
+ ./E2AP/ProtocolIE-FieldE2.c \
+ ./E2AP/ProtocolIE-ContainerPairE2.c \
+ ./E2AP/ProtocolIE-FieldPairE2.c \
+ ./E2AP/ProtocolIE-ContainerList.c \
+ ./E2AP/ProtocolIE-ContainerPairList.c
ASN_MODULE_HDRS= \
- ./out/E2AP-PDU.h \
- ./out/InitiatingMessageE2.h \
- ./out/SuccessfulOutcomeE2.h \
- ./out/UnsuccessfulOutcomeE2.h \
- ./out/RICsubscriptionRequest.h \
- ./out/RICsubscriptionDetails.h \
- ./out/RICactions-ToBeSetup-List.h \
- ./out/RICaction-ToBeSetup-Item.h \
- ./out/RICsubscriptionResponse.h \
- ./out/RICaction-Admitted-List.h \
- ./out/RICaction-Admitted-Item.h \
- ./out/RICaction-NotAdmitted-List.h \
- ./out/RICaction-NotAdmitted-Item.h \
- ./out/RICsubscriptionFailure.h \
- ./out/RICsubscriptionDeleteRequest.h \
- ./out/RICsubscriptionDeleteResponse.h \
- ./out/RICsubscriptionDeleteFailure.h \
- ./out/RICindication.h \
- ./out/RICcontrolRequest.h \
- ./out/RICcontrolAcknowledge.h \
- ./out/RICcontrolFailure.h \
- ./out/ErrorIndicationE2.h \
- ./out/E2setupRequest.h \
- ./out/E2setupResponse.h \
- ./out/E2setupFailure.h \
- ./out/ResetRequest.h \
- ./out/ResetResponse.h \
- ./out/RICserviceUpdate.h \
- ./out/RANfunctions-List.h \
- ./out/RANfunction-Item.h \
- ./out/RANfunctionsID-List.h \
- ./out/RANfunctionID-Item.h \
- ./out/RICserviceUpdateAcknowledge.h \
- ./out/RANfunctionsIDcause-List.h \
- ./out/RANfunctionIDcause-Item.h \
- ./out/RICserviceUpdateFailure.h \
- ./out/RICserviceQuery.h \
- ./out/CauseE2.h \
- ./out/CauseMisc.h \
- ./out/CauseProtocol.h \
- ./out/CauseRIC.h \
- ./out/CauseRICservice.h \
- ./out/CauseTransport.h \
- ./out/CriticalityDiagnosticsE2.h \
- ./out/CriticalityDiagnostics-IE-ListE2.h \
- ./out/CriticalityDiagnostics-IE-ItemE2.h \
- ./out/ENB-ID.h \
- ./out/ENB-ID-Choice.h \
- ./out/ENGNB-ID.h \
- ./out/GlobalE2node-ID.h \
- ./out/GlobalE2node-en-gNB-ID.h \
- ./out/GlobalE2node-eNB-ID.h \
- ./out/GlobalE2node-gNB-ID.h \
- ./out/GlobalE2node-ng-eNB-ID.h \
- ./out/GlobalENB-ID.h \
- ./out/GlobalenGNB-ID.h \
- ./out/GlobalgNB-ID.h \
- ./out/GlobalngeNB-ID.h \
- ./out/GlobalRIC-ID.h \
- ./out/GNB-CU-UP-ID.h \
- ./out/GNB-DU-IDE2.h \
- ./out/GNB-ID-Choice.h \
- ./out/PLMN-IdentityE2.h \
- ./out/RANfunctionDefinition.h \
- ./out/RANfunctionID.h \
- ./out/RANfunctionRevision.h \
- ./out/RICactionDefinition.h \
- ./out/RICactionID.h \
- ./out/RICactionType.h \
- ./out/RICcallProcessID.h \
- ./out/RICcontrolAckRequest.h \
- ./out/RICcontrolHeader.h \
- ./out/RICcontrolMessage.h \
- ./out/RICcontrolOutcome.h \
- ./out/RICcontrolStatus.h \
- ./out/RICeventTriggerDefinition.h \
- ./out/RICindicationHeader.h \
- ./out/RICindicationMessage.h \
- ./out/RICindicationSN.h \
- ./out/RICindicationType.h \
- ./out/RICrequestID.h \
- ./out/RICsubsequentAction.h \
- ./out/RICsubsequentActionType.h \
- ./out/RICtimeToWait.h \
- ./out/TimeToWaitE2.h \
- ./out/TypeOfErrorE2.h \
- ./out/CriticalityE2.h \
- ./out/PresenceE2.h \
- ./out/ProcedureCodeE2.h \
- ./out/ProtocolIE-IDE2.h \
- ./out/TriggeringMessageE2.h \
- ./out/ProtocolIE-ContainerE2.h \
- ./out/ProtocolIE-SingleContainerE2.h \
- ./out/ProtocolIE-FieldE2.h \
- ./out/ProtocolIE-ContainerPairE2.h \
- ./out/ProtocolIE-FieldPairE2.h \
- ./out/ProtocolIE-ContainerList.h \
- ./out/ProtocolIE-ContainerPairList.h
+ ./E2AP/E2AP-PDU.h \
+ ./E2AP/InitiatingMessageE2.h \
+ ./E2AP/SuccessfulOutcomeE2.h \
+ ./E2AP/UnsuccessfulOutcomeE2.h \
+ ./E2AP/RICsubscriptionRequest.h \
+ ./E2AP/RICsubscriptionDetails.h \
+ ./E2AP/RICactions-ToBeSetup-List.h \
+ ./E2AP/RICaction-ToBeSetup-Item.h \
+ ./E2AP/RICsubscriptionResponse.h \
+ ./E2AP/RICaction-Admitted-List.h \
+ ./E2AP/RICaction-Admitted-Item.h \
+ ./E2AP/RICaction-NotAdmitted-List.h \
+ ./E2AP/RICaction-NotAdmitted-Item.h \
+ ./E2AP/RICsubscriptionFailure.h \
+ ./E2AP/RICsubscriptionDeleteRequest.h \
+ ./E2AP/RICsubscriptionDeleteResponse.h \
+ ./E2AP/RICsubscriptionDeleteFailure.h \
+ ./E2AP/RICsubscriptionDeleteRequired.h \
+ ./E2AP/RICsubscription-List-withCause.h \
+ ./E2AP/RICsubscription-withCause-Item.h \
+ ./E2AP/RICindication.h \
+ ./E2AP/RICcontrolRequest.h \
+ ./E2AP/RICcontrolAcknowledge.h \
+ ./E2AP/RICcontrolFailure.h \
+ ./E2AP/ErrorIndicationE2.h \
+ ./E2AP/E2setupRequest.h \
+ ./E2AP/E2setupResponse.h \
+ ./E2AP/E2setupFailure.h \
+ ./E2AP/E2connectionUpdate.h \
+ ./E2AP/E2connectionUpdate-List.h \
+ ./E2AP/E2connectionUpdate-Item.h \
+ ./E2AP/E2connectionUpdateRemove-List.h \
+ ./E2AP/E2connectionUpdateRemove-Item.h \
+ ./E2AP/E2connectionUpdateAcknowledge.h \
+ ./E2AP/E2connectionSetupFailed-List.h \
+ ./E2AP/E2connectionSetupFailed-Item.h \
+ ./E2AP/E2connectionUpdateFailure.h \
+ ./E2AP/E2nodeConfigurationUpdate.h \
+ ./E2AP/E2nodeComponentConfigAddition-List.h \
+ ./E2AP/E2nodeComponentConfigAddition-Item.h \
+ ./E2AP/E2nodeComponentConfigUpdate-List.h \
+ ./E2AP/E2nodeComponentConfigUpdate-Item.h \
+ ./E2AP/E2nodeComponentConfigRemoval-List.h \
+ ./E2AP/E2nodeComponentConfigRemoval-Item.h \
+ ./E2AP/E2nodeTNLassociationRemoval-List.h \
+ ./E2AP/E2nodeTNLassociationRemoval-Item.h \
+ ./E2AP/E2nodeConfigurationUpdateAcknowledge.h \
+ ./E2AP/E2nodeComponentConfigAdditionAck-List.h \
+ ./E2AP/E2nodeComponentConfigAdditionAck-Item.h \
+ ./E2AP/E2nodeComponentConfigUpdateAck-List.h \
+ ./E2AP/E2nodeComponentConfigUpdateAck-Item.h \
+ ./E2AP/E2nodeComponentConfigRemovalAck-List.h \
+ ./E2AP/E2nodeComponentConfigRemovalAck-Item.h \
+ ./E2AP/E2nodeConfigurationUpdateFailure.h \
+ ./E2AP/ResetRequest.h \
+ ./E2AP/ResetResponse.h \
+ ./E2AP/RICserviceUpdate.h \
+ ./E2AP/RANfunctions-List.h \
+ ./E2AP/RANfunction-Item.h \
+ ./E2AP/RANfunctionsID-List.h \
+ ./E2AP/RANfunctionID-Item.h \
+ ./E2AP/RICserviceUpdateAcknowledge.h \
+ ./E2AP/RANfunctionsIDcause-List.h \
+ ./E2AP/RANfunctionIDcause-Item.h \
+ ./E2AP/RICserviceUpdateFailure.h \
+ ./E2AP/RICserviceQuery.h \
+ ./E2AP/AMFName.h \
+ ./E2AP/CauseE2.h \
+ ./E2AP/CauseE2node.h \
+ ./E2AP/CauseMisc.h \
+ ./E2AP/CauseProtocol.h \
+ ./E2AP/CauseRICrequest.h \
+ ./E2AP/CauseRICservice.h \
+ ./E2AP/CauseTransport.h \
+ ./E2AP/CriticalityDiagnosticsE2.h \
+ ./E2AP/CriticalityDiagnostics-IE-ListE2.h \
+ ./E2AP/CriticalityDiagnostics-IE-ItemE2.h \
+ ./E2AP/E2nodeComponentConfiguration.h \
+ ./E2AP/E2nodeComponentConfigurationAck.h \
+ ./E2AP/E2nodeComponentInterfaceType.h \
+ ./E2AP/E2nodeComponentID.h \
+ ./E2AP/E2nodeComponentInterfaceE1.h \
+ ./E2AP/E2nodeComponentInterfaceF1.h \
+ ./E2AP/E2nodeComponentInterfaceNG.h \
+ ./E2AP/E2nodeComponentInterfaceS1.h \
+ ./E2AP/E2nodeComponentInterfaceX2.h \
+ ./E2AP/E2nodeComponentInterfaceXn.h \
+ ./E2AP/E2nodeComponentInterfaceW1.h \
+ ./E2AP/ENB-ID.h \
+ ./E2AP/ENB-ID-Choice.h \
+ ./E2AP/ENGNB-ID.h \
+ ./E2AP/GlobalE2node-ID.h \
+ ./E2AP/GlobalE2node-en-gNB-ID.h \
+ ./E2AP/GlobalE2node-eNB-ID.h \
+ ./E2AP/GlobalE2node-gNB-ID.h \
+ ./E2AP/GlobalE2node-ng-eNB-ID.h \
+ ./E2AP/GlobalENB-ID.h \
+ ./E2AP/GlobalenGNB-ID.h \
+ ./E2AP/GlobalgNB-ID.h \
+ ./E2AP/GlobalngeNB-ID.h \
+ ./E2AP/GlobalNG-RANNode-ID.h \
+ ./E2AP/GlobalRIC-ID.h \
+ ./E2AP/GNB-CU-UP-ID.h \
+ ./E2AP/GNB-DU-ID.h \
+ ./E2AP/GNB-ID-Choice.h \
+ ./E2AP/MMEname.h \
+ ./E2AP/NGENB-DU-ID.h \
+ ./E2AP/PLMN-Identity.h \
+ ./E2AP/RANfunctionDefinition.h \
+ ./E2AP/RANfunctionID.h \
+ ./E2AP/RANfunctionOID.h \
+ ./E2AP/RANfunctionRevision.h \
+ ./E2AP/RICactionDefinition.h \
+ ./E2AP/RICactionID.h \
+ ./E2AP/RICactionType.h \
+ ./E2AP/RICcallProcessID.h \
+ ./E2AP/RICcontrolAckRequest.h \
+ ./E2AP/RICcontrolHeader.h \
+ ./E2AP/RICcontrolMessage.h \
+ ./E2AP/RICcontrolOutcome.h \
+ ./E2AP/RICeventTriggerDefinition.h \
+ ./E2AP/RICindicationHeader.h \
+ ./E2AP/RICindicationMessage.h \
+ ./E2AP/RICindicationSN.h \
+ ./E2AP/RICindicationType.h \
+ ./E2AP/RICrequestID.h \
+ ./E2AP/RICsubsequentAction.h \
+ ./E2AP/RICsubsequentActionType.h \
+ ./E2AP/RICtimeToWait.h \
+ ./E2AP/TimeToWaitE2.h \
+ ./E2AP/TNLinformation.h \
+ ./E2AP/TNLusage.h \
+ ./E2AP/TransactionID.h \
+ ./E2AP/TypeOfErrorE2.h \
+ ./E2AP/CriticalityE2.h \
+ ./E2AP/PresenceE2.h \
+ ./E2AP/ProcedureCodeE2.h \
+ ./E2AP/ProtocolIE-IDE2.h \
+ ./E2AP/TriggeringMessageE2.h \
+ ./E2AP/ProtocolIE-ContainerE2.h \
+ ./E2AP/ProtocolIE-SingleContainerE2.h \
+ ./E2AP/ProtocolIE-FieldE2.h \
+ ./E2AP/ProtocolIE-ContainerPairE2.h \
+ ./E2AP/ProtocolIE-FieldPairE2.h \
+ ./E2AP/ProtocolIE-ContainerList.h \
+ ./E2AP/ProtocolIE-ContainerPairList.h
-ASN_MODULE_HDRS+=./out/ANY.h
-ASN_MODULE_SRCS+=./out/ANY.c
-ASN_MODULE_HDRS+=./out/OCTET_STRING.h
-ASN_MODULE_HDRS+=./out/OPEN_TYPE.h
-ASN_MODULE_SRCS+=./out/OPEN_TYPE.c
-ASN_MODULE_HDRS+=./out/constr_CHOICE.h
-ASN_MODULE_HDRS+=./out/INTEGER.h
-ASN_MODULE_SRCS+=./out/INTEGER.c
-ASN_MODULE_HDRS+=./out/NativeEnumerated.h
-ASN_MODULE_SRCS+=./out/NativeEnumerated.c
-ASN_MODULE_HDRS+=./out/NativeInteger.h
-ASN_MODULE_SRCS+=./out/NativeInteger.c
-ASN_MODULE_HDRS+=./out/asn_SEQUENCE_OF.h
-ASN_MODULE_SRCS+=./out/asn_SEQUENCE_OF.c
-ASN_MODULE_HDRS+=./out/asn_SET_OF.h
-ASN_MODULE_SRCS+=./out/asn_SET_OF.c
-ASN_MODULE_SRCS+=./out/constr_CHOICE.c
-ASN_MODULE_HDRS+=./out/constr_SEQUENCE.h
-ASN_MODULE_SRCS+=./out/constr_SEQUENCE.c
-ASN_MODULE_HDRS+=./out/constr_SEQUENCE_OF.h
-ASN_MODULE_SRCS+=./out/constr_SEQUENCE_OF.c
-ASN_MODULE_HDRS+=./out/constr_SET_OF.h
-ASN_MODULE_SRCS+=./out/constr_SET_OF.c
-ASN_MODULE_HDRS+=./out/asn_application.h
-ASN_MODULE_SRCS+=./out/asn_application.c
-ASN_MODULE_HDRS+=./out/asn_ioc.h
-ASN_MODULE_HDRS+=./out/asn_system.h
-ASN_MODULE_HDRS+=./out/asn_codecs.h
-ASN_MODULE_HDRS+=./out/asn_internal.h
-ASN_MODULE_SRCS+=./out/asn_internal.c
-ASN_MODULE_HDRS+=./out/asn_random_fill.h
-ASN_MODULE_SRCS+=./out/asn_random_fill.c
-ASN_MODULE_HDRS+=./out/asn_bit_data.h
-ASN_MODULE_SRCS+=./out/asn_bit_data.c
-ASN_MODULE_SRCS+=./out/OCTET_STRING.c
-ASN_MODULE_HDRS+=./out/BIT_STRING.h
-ASN_MODULE_SRCS+=./out/BIT_STRING.c
-ASN_MODULE_SRCS+=./out/asn_codecs_prim.c
-ASN_MODULE_HDRS+=./out/asn_codecs_prim.h
-ASN_MODULE_HDRS+=./out/ber_tlv_length.h
-ASN_MODULE_SRCS+=./out/ber_tlv_length.c
-ASN_MODULE_HDRS+=./out/ber_tlv_tag.h
-ASN_MODULE_SRCS+=./out/ber_tlv_tag.c
-ASN_MODULE_HDRS+=./out/ber_decoder.h
-ASN_MODULE_SRCS+=./out/ber_decoder.c
-ASN_MODULE_HDRS+=./out/der_encoder.h
-ASN_MODULE_SRCS+=./out/der_encoder.c
-ASN_MODULE_HDRS+=./out/constr_TYPE.h
-ASN_MODULE_SRCS+=./out/constr_TYPE.c
-ASN_MODULE_HDRS+=./out/constraints.h
-ASN_MODULE_SRCS+=./out/constraints.c
-ASN_MODULE_HDRS+=./out/xer_support.h
-ASN_MODULE_SRCS+=./out/xer_support.c
-ASN_MODULE_HDRS+=./out/xer_decoder.h
-ASN_MODULE_SRCS+=./out/xer_decoder.c
-ASN_MODULE_HDRS+=./out/xer_encoder.h
-ASN_MODULE_SRCS+=./out/xer_encoder.c
-ASN_MODULE_HDRS+=./out/per_support.h
-ASN_MODULE_SRCS+=./out/per_support.c
-ASN_MODULE_HDRS+=./out/per_decoder.h
-ASN_MODULE_SRCS+=./out/per_decoder.c
-ASN_MODULE_HDRS+=./out/per_encoder.h
-ASN_MODULE_SRCS+=./out/per_encoder.c
-ASN_MODULE_HDRS+=./out/per_opentype.h
-ASN_MODULE_SRCS+=./out/per_opentype.c
-ASN_MODULE_HDRS+=./out/oer_decoder.h
-ASN_MODULE_HDRS+=./out/oer_encoder.h
-ASN_MODULE_HDRS+=./out/oer_support.h
-ASN_MODULE_SRCS+=./out/oer_decoder.c
-ASN_MODULE_SRCS+=./out/oer_encoder.c
-ASN_MODULE_SRCS+=./out/oer_support.c
-ASN_MODULE_SRCS+=./out/OPEN_TYPE_oer.c
-ASN_MODULE_SRCS+=./out/INTEGER_oer.c
-ASN_MODULE_SRCS+=./out/BIT_STRING_oer.c
-ASN_MODULE_SRCS+=./out/OCTET_STRING_oer.c
-ASN_MODULE_SRCS+=./out/NativeInteger_oer.c
-ASN_MODULE_SRCS+=./out/NativeEnumerated_oer.c
-ASN_MODULE_SRCS+=./out/constr_CHOICE_oer.c
-ASN_MODULE_SRCS+=./out/constr_SEQUENCE_oer.c
-ASN_MODULE_SRCS+=./out/constr_SET_OF_oer.c
+ASN_MODULE_HDRS+=./E2AP/ANY.h
+ASN_MODULE_SRCS+=./E2AP/ANY.c
+ASN_MODULE_HDRS+=./E2AP/OCTET_STRING.h
+ASN_MODULE_HDRS+=./E2AP/OPEN_TYPE.h
+ASN_MODULE_SRCS+=./E2AP/OPEN_TYPE.c
+ASN_MODULE_HDRS+=./E2AP/constr_CHOICE.h
+ASN_MODULE_HDRS+=./E2AP/INTEGER.h
+ASN_MODULE_SRCS+=./E2AP/INTEGER.c
+ASN_MODULE_HDRS+=./E2AP/NativeEnumerated.h
+ASN_MODULE_SRCS+=./E2AP/NativeEnumerated.c
+ASN_MODULE_HDRS+=./E2AP/NativeInteger.h
+ASN_MODULE_SRCS+=./E2AP/NativeInteger.c
+ASN_MODULE_HDRS+=./E2AP/PrintableString.h
+ASN_MODULE_SRCS+=./E2AP/PrintableString.c
+ASN_MODULE_HDRS+=./E2AP/asn_SEQUENCE_OF.h
+ASN_MODULE_SRCS+=./E2AP/asn_SEQUENCE_OF.c
+ASN_MODULE_HDRS+=./E2AP/asn_SET_OF.h
+ASN_MODULE_SRCS+=./E2AP/asn_SET_OF.c
+ASN_MODULE_SRCS+=./E2AP/constr_CHOICE.c
+ASN_MODULE_HDRS+=./E2AP/constr_SEQUENCE.h
+ASN_MODULE_SRCS+=./E2AP/constr_SEQUENCE.c
+ASN_MODULE_HDRS+=./E2AP/constr_SEQUENCE_OF.h
+ASN_MODULE_SRCS+=./E2AP/constr_SEQUENCE_OF.c
+ASN_MODULE_HDRS+=./E2AP/constr_SET_OF.h
+ASN_MODULE_SRCS+=./E2AP/constr_SET_OF.c
+ASN_MODULE_HDRS+=./E2AP/asn_application.h
+ASN_MODULE_SRCS+=./E2AP/asn_application.c
+ASN_MODULE_HDRS+=./E2AP/asn_ioc.h
+ASN_MODULE_HDRS+=./E2AP/asn_system.h
+ASN_MODULE_HDRS+=./E2AP/asn_codecs.h
+ASN_MODULE_HDRS+=./E2AP/asn_internal.h
+ASN_MODULE_SRCS+=./E2AP/asn_internal.c
+ASN_MODULE_HDRS+=./E2AP/asn_random_fill.h
+ASN_MODULE_SRCS+=./E2AP/asn_random_fill.c
+ASN_MODULE_HDRS+=./E2AP/asn_bit_data.h
+ASN_MODULE_SRCS+=./E2AP/asn_bit_data.c
+ASN_MODULE_SRCS+=./E2AP/OCTET_STRING.c
+ASN_MODULE_HDRS+=./E2AP/BIT_STRING.h
+ASN_MODULE_SRCS+=./E2AP/BIT_STRING.c
+ASN_MODULE_SRCS+=./E2AP/asn_codecs_prim.c
+ASN_MODULE_HDRS+=./E2AP/asn_codecs_prim.h
+ASN_MODULE_HDRS+=./E2AP/ber_tlv_length.h
+ASN_MODULE_SRCS+=./E2AP/ber_tlv_length.c
+ASN_MODULE_HDRS+=./E2AP/ber_tlv_tag.h
+ASN_MODULE_SRCS+=./E2AP/ber_tlv_tag.c
+ASN_MODULE_HDRS+=./E2AP/ber_decoder.h
+ASN_MODULE_SRCS+=./E2AP/ber_decoder.c
+ASN_MODULE_HDRS+=./E2AP/der_encoder.h
+ASN_MODULE_SRCS+=./E2AP/der_encoder.c
+ASN_MODULE_HDRS+=./E2AP/constr_TYPE.h
+ASN_MODULE_SRCS+=./E2AP/constr_TYPE.c
+ASN_MODULE_HDRS+=./E2AP/constraints.h
+ASN_MODULE_SRCS+=./E2AP/constraints.c
+ASN_MODULE_HDRS+=./E2AP/xer_support.h
+ASN_MODULE_SRCS+=./E2AP/xer_support.c
+ASN_MODULE_HDRS+=./E2AP/xer_decoder.h
+ASN_MODULE_SRCS+=./E2AP/xer_decoder.c
+ASN_MODULE_HDRS+=./E2AP/xer_encoder.h
+ASN_MODULE_SRCS+=./E2AP/xer_encoder.c
+ASN_MODULE_HDRS+=./E2AP/per_support.h
+ASN_MODULE_SRCS+=./E2AP/per_support.c
+ASN_MODULE_HDRS+=./E2AP/per_decoder.h
+ASN_MODULE_SRCS+=./E2AP/per_decoder.c
+ASN_MODULE_HDRS+=./E2AP/per_encoder.h
+ASN_MODULE_SRCS+=./E2AP/per_encoder.c
+ASN_MODULE_HDRS+=./E2AP/per_opentype.h
+ASN_MODULE_SRCS+=./E2AP/per_opentype.c
+ASN_MODULE_HDRS+=./E2AP/oer_decoder.h
+ASN_MODULE_HDRS+=./E2AP/oer_encoder.h
+ASN_MODULE_HDRS+=./E2AP/oer_support.h
+ASN_MODULE_SRCS+=./E2AP/oer_decoder.c
+ASN_MODULE_SRCS+=./E2AP/oer_encoder.c
+ASN_MODULE_SRCS+=./E2AP/oer_support.c
+ASN_MODULE_SRCS+=./E2AP/OPEN_TYPE_oer.c
+ASN_MODULE_SRCS+=./E2AP/INTEGER_oer.c
+ASN_MODULE_SRCS+=./E2AP/BIT_STRING_oer.c
+ASN_MODULE_SRCS+=./E2AP/OCTET_STRING_oer.c
+ASN_MODULE_SRCS+=./E2AP/NativeInteger_oer.c
+ASN_MODULE_SRCS+=./E2AP/NativeEnumerated_oer.c
+ASN_MODULE_SRCS+=./E2AP/constr_CHOICE_oer.c
+ASN_MODULE_SRCS+=./E2AP/constr_SEQUENCE_oer.c
+ASN_MODULE_SRCS+=./E2AP/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)/./out/
+libasncodec_la_CPPFLAGS=-I$(top_srcdir)/./E2AP/
libasncodec_la_CFLAGS=$(ASN_MODULE_CFLAGS)
libasncodec_la_LDFLAGS=-lm
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
-#include "GNB-DU-IDE2.h"
+#include "NGENB-DU-ID.h"
int
-GNB_DU_IDE2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+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;
* This type is implemented using INTEGER,
* so here we adjust the DEF accordingly.
*/
-static asn_oer_constraints_t asn_OER_type_GNB_DU_IDE2_constr_1 CC_NOTUSED = {
+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_GNB_DU_IDE2_constr_1 CC_NOTUSED = {
+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_GNB_DU_IDE2_tags_1[] = {
+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_GNB_DU_IDE2 = {
- "GNB-DU-IDE2",
- "GNB-DU-IDE2",
+asn_TYPE_descriptor_t asn_DEF_NGENB_DU_ID = {
+ "NGENB-DU-ID",
+ "NGENB-DU-ID",
&asn_OP_INTEGER,
- asn_DEF_GNB_DU_IDE2_tags_1,
- sizeof(asn_DEF_GNB_DU_IDE2_tags_1)
- /sizeof(asn_DEF_GNB_DU_IDE2_tags_1[0]), /* 1 */
- asn_DEF_GNB_DU_IDE2_tags_1, /* Same as above */
- sizeof(asn_DEF_GNB_DU_IDE2_tags_1)
- /sizeof(asn_DEF_GNB_DU_IDE2_tags_1[0]), /* 1 */
- { &asn_OER_type_GNB_DU_IDE2_constr_1, &asn_PER_type_GNB_DU_IDE2_constr_1, GNB_DU_IDE2_constraint },
+ 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 */
};
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _NGENB_DU_ID_H_
+#define _NGENB_DU_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <INTEGER.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NGENB-DU-ID */
+typedef INTEGER_t NGENB_DU_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NGENB_DU_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NGENB_DU_ID;
+asn_struct_free_f NGENB_DU_ID_free;
+asn_struct_print_f NGENB_DU_ID_print;
+asn_constr_check_f NGENB_DU_ID_constraint;
+ber_type_decoder_f NGENB_DU_ID_decode_ber;
+der_type_encoder_f NGENB_DU_ID_encode_der;
+xer_type_decoder_f NGENB_DU_ID_decode_xer;
+xer_type_encoder_f NGENB_DU_ID_encode_xer;
+oer_type_decoder_f NGENB_DU_ID_decode_oer;
+oer_type_encoder_f NGENB_DU_ID_encode_oer;
+per_type_decoder_f NGENB_DU_ID_decode_uper;
+per_type_encoder_f NGENB_DU_ID_encode_uper;
+per_type_decoder_f NGENB_DU_ID_decode_aper;
+per_type_encoder_f NGENB_DU_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NGENB_DU_ID_H_ */
+#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
-#include "PLMN-IdentityE2.h"
+#include "PLMN-Identity.h"
int
-PLMN_IdentityE2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+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;
* This type is implemented using OCTET_STRING,
* so here we adjust the DEF accordingly.
*/
-static asn_oer_constraints_t asn_OER_type_PLMN_IdentityE2_constr_1 CC_NOTUSED = {
+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_IdentityE2_constr_1 CC_NOTUSED = {
+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_IdentityE2_tags_1[] = {
+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_IdentityE2 = {
- "PLMN-IdentityE2",
- "PLMN-IdentityE2",
+asn_TYPE_descriptor_t asn_DEF_PLMN_Identity = {
+ "PLMN-Identity",
+ "PLMN-Identity",
&asn_OP_OCTET_STRING,
- asn_DEF_PLMN_IdentityE2_tags_1,
- sizeof(asn_DEF_PLMN_IdentityE2_tags_1)
- /sizeof(asn_DEF_PLMN_IdentityE2_tags_1[0]), /* 1 */
- asn_DEF_PLMN_IdentityE2_tags_1, /* Same as above */
- sizeof(asn_DEF_PLMN_IdentityE2_tags_1)
- /sizeof(asn_DEF_PLMN_IdentityE2_tags_1[0]), /* 1 */
- { &asn_OER_type_PLMN_IdentityE2_constr_1, &asn_PER_type_PLMN_IdentityE2_constr_1, PLMN_IdentityE2_constraint },
+ 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 */
};
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _PLMN_Identity_H_
+#define _PLMN_Identity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PLMN-Identity */
+typedef OCTET_STRING_t PLMN_Identity_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PLMN_Identity_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PLMN_Identity;
+asn_struct_free_f PLMN_Identity_free;
+asn_struct_print_f PLMN_Identity_print;
+asn_constr_check_f PLMN_Identity_constraint;
+ber_type_decoder_f PLMN_Identity_decode_ber;
+der_type_encoder_f PLMN_Identity_encode_der;
+xer_type_decoder_f PLMN_Identity_decode_xer;
+xer_type_encoder_f PLMN_Identity_encode_xer;
+oer_type_decoder_f PLMN_Identity_decode_oer;
+oer_type_encoder_f PLMN_Identity_encode_oer;
+per_type_decoder_f PLMN_Identity_decode_uper;
+per_type_encoder_f PLMN_Identity_encode_uper;
+per_type_decoder_f PLMN_Identity_decode_aper;
+per_type_encoder_f PLMN_Identity_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _PLMN_Identity_H_ */
+#include <asn_internal.h>
+++ /dev/null
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
- */
-
-#ifndef _PLMN_IdentityE2_H_
-#define _PLMN_IdentityE2_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <OCTET_STRING.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* PLMN-IdentityE2 */
-typedef OCTET_STRING_t PLMN_IdentityE2_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_PLMN_IdentityE2_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_PLMN_IdentityE2;
-asn_struct_free_f PLMN_IdentityE2_free;
-asn_struct_print_f PLMN_IdentityE2_print;
-asn_constr_check_f PLMN_IdentityE2_constraint;
-ber_type_decoder_f PLMN_IdentityE2_decode_ber;
-der_type_encoder_f PLMN_IdentityE2_encode_der;
-xer_type_decoder_f PLMN_IdentityE2_decode_xer;
-xer_type_encoder_f PLMN_IdentityE2_encode_xer;
-oer_type_decoder_f PLMN_IdentityE2_decode_oer;
-oer_type_encoder_f PLMN_IdentityE2_encode_oer;
-per_type_decoder_f PLMN_IdentityE2_decode_uper;
-per_type_encoder_f PLMN_IdentityE2_encode_uper;
-per_type_decoder_f PLMN_IdentityE2_decode_aper;
-per_type_encoder_f PLMN_IdentityE2_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PLMN_IdentityE2_H_ */
-#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-CommonDataTypes"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "PresenceE2.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-CommonDataTypes"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _PresenceE2_H_
--- /dev/null
+/*-
+ * Copyright (c) 2003, 2004, 2006 Lev Walkin <vlm@lionet.info>.
+ * All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#include <asn_internal.h>
+#include <PrintableString.h>
+
+/*
+ * ASN.1:1984 (X.409)
+ */
+static const int _PrintableString_alphabet[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 _PrintableString_code2value[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};
+
+/*
+ * PrintableString basic type description.
+ */
+static const ber_tlv_tag_t asn_DEF_PrintableString_tags[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (19 << 2)), /* [UNIVERSAL 19] IMPLICIT ...*/
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */
+};
+static int asn_DEF_PrintableString_v2c(unsigned int value) {
+ return _PrintableString_alphabet[value > 255 ? 0 : value] - 1;
+}
+static int asn_DEF_PrintableString_c2v(unsigned int code) {
+ if(code < 74)
+ return _PrintableString_code2value[code];
+ return -1;
+}
+static asn_per_constraints_t asn_DEF_PrintableString_per_constraints = {
+ { APC_CONSTRAINED, 4, 4, 0x20, 0x39 }, /* Value */
+ { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */
+ asn_DEF_PrintableString_v2c,
+ asn_DEF_PrintableString_c2v
+};
+asn_TYPE_operation_t asn_OP_PrintableString = {
+ OCTET_STRING_free,
+ OCTET_STRING_print_utf8, /* ASCII subset */
+ OCTET_STRING_compare,
+ OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */
+ OCTET_STRING_encode_der,
+ OCTET_STRING_decode_xer_utf8,
+ OCTET_STRING_encode_xer_utf8,
+#ifdef ASN_DISABLE_OER_SUPPORT
+ 0,
+ 0,
+#else
+ OCTET_STRING_decode_oer,
+ OCTET_STRING_encode_oer,
+#endif /* ASN_DISABLE_OER_SUPPORT */
+#ifdef ASN_DISABLE_PER_SUPPORT
+ 0,
+ 0,
+ 0,
+ 0,
+#else
+ OCTET_STRING_decode_uper,
+ OCTET_STRING_encode_uper,
+ OCTET_STRING_decode_aper,
+ OCTET_STRING_encode_aper,
+#endif /* ASN_DISABLE_PER_SUPPORT */
+ OCTET_STRING_random_fill,
+ 0 /* Use generic outmost tag fetcher */
+};
+asn_TYPE_descriptor_t asn_DEF_PrintableString = {
+ "PrintableString",
+ "PrintableString",
+ &asn_OP_PrintableString,
+ asn_DEF_PrintableString_tags,
+ sizeof(asn_DEF_PrintableString_tags)
+ / sizeof(asn_DEF_PrintableString_tags[0]) - 1,
+ asn_DEF_PrintableString_tags,
+ sizeof(asn_DEF_PrintableString_tags)
+ / sizeof(asn_DEF_PrintableString_tags[0]),
+ { 0, &asn_DEF_PrintableString_per_constraints, PrintableString_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
+
+int
+PrintableString_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;
+
+ if(st && st->buf) {
+ uint8_t *buf = st->buf;
+ uint8_t *end = buf + st->size;
+
+ /*
+ * Check the alphabet of the PrintableString.
+ * ASN.1:1984 (X.409)
+ */
+ for(; buf < end; buf++) {
+ if(!_PrintableString_alphabet[*buf]) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value byte %ld (%d) "
+ "not in PrintableString alphabet "
+ "(%s:%d)",
+ td->name,
+ (long)((buf - st->buf) + 1),
+ *buf,
+ __FILE__, __LINE__);
+ return -1;
+ }
+ }
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ return 0;
+}
--- /dev/null
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef _PrintableString_H_
+#define _PrintableString_H_
+
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef OCTET_STRING_t PrintableString_t; /* Implemented via OCTET STRING */
+
+extern asn_TYPE_descriptor_t asn_DEF_PrintableString;
+extern asn_TYPE_operation_t asn_OP_PrintableString;
+
+asn_constr_check_f PrintableString_constraint;
+
+#define PrintableString_free OCTET_STRING_free
+#define PrintableString_print OCTET_STRING_print_utf8
+#define PrintableString_compare OCTET_STRING_compare
+#define PrintableString_decode_ber OCTET_STRING_decode_ber
+#define PrintableString_encode_der OCTET_STRING_encode_der
+#define PrintableString_decode_xer OCTET_STRING_decode_xer_utf8
+#define PrintableString_encode_xer OCTET_STRING_encode_xer_utf8
+#define PrintableString_decode_uper OCTET_STRING_decode_uper
+#define PrintableString_encode_uper OCTET_STRING_encode_uper
+#define PrintableString_decode_aper OCTET_STRING_decode_aper
+#define PrintableString_encode_aper OCTET_STRING_encode_aper
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _PrintableString_H_ */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-CommonDataTypes"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ProcedureCodeE2.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-CommonDataTypes"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ProcedureCodeE2_H_
#define ProcedureCodeE2_id_RICserviceUpdate ((ProcedureCodeE2_t)7)
#define ProcedureCodeE2_id_RICsubscription ((ProcedureCodeE2_t)8)
#define ProcedureCodeE2_id_RICsubscriptionDelete ((ProcedureCodeE2_t)9)
+#define ProcedureCodeE2_id_E2nodeConfigurationUpdate ((ProcedureCodeE2_t)10)
+#define ProcedureCodeE2_id_E2connectionUpdate ((ProcedureCodeE2_t)11)
+#define ProcedureCodeE2_id_RICsubscriptionDeleteRequired ((ProcedureCodeE2_t)12)
#ifdef __cplusplus
}
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-Containers"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ProtocolIE-ContainerE2.h"
#include "ProtocolIE-FieldE2.h"
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1407P0_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P0_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P0_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P0_constr_1 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_ProtocolIE_ContainerE2_1407P1_constr_3 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P1_constr_3 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P1_constr_3 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P1_constr_3 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_ProtocolIE_ContainerE2_1407P2_constr_5 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P2_constr_5 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P2_constr_5 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P2_constr_5 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_ProtocolIE_ContainerE2_1407P3_constr_7 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P3_constr_7 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P3_constr_7 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P3_constr_7 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_ProtocolIE_ContainerE2_1407P4_constr_9 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P4_constr_9 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P4_constr_9 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P4_constr_9 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_ProtocolIE_ContainerE2_1407P5_constr_11 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P5_constr_11 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P5_constr_11 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P5_constr_11 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_ProtocolIE_ContainerE2_1407P6_constr_13 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P6_constr_13 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P6_constr_13 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P6_constr_13 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_ProtocolIE_ContainerE2_1407P7_constr_15 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P7_constr_15 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P7_constr_15 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P7_constr_15 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_ProtocolIE_ContainerE2_1407P8_constr_17 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P8_constr_17 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P8_constr_17 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P8_constr_17 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_ProtocolIE_ContainerE2_1407P9_constr_19 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P9_constr_19 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P9_constr_19 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P9_constr_19 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_ProtocolIE_ContainerE2_1407P10_constr_21 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P10_constr_21 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P10_constr_21 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P10_constr_21 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_ProtocolIE_ContainerE2_1407P11_constr_23 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P11_constr_23 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P11_constr_23 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P11_constr_23 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_ProtocolIE_ContainerE2_1407P12_constr_25 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P12_constr_25 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P12_constr_25 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P12_constr_25 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_ProtocolIE_ContainerE2_1407P13_constr_27 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P13_constr_27 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P13_constr_27 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P13_constr_27 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_ProtocolIE_ContainerE2_1407P14_constr_29 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P14_constr_29 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P14_constr_29 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P14_constr_29 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_ProtocolIE_ContainerE2_1407P15_constr_31 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P15_constr_31 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P15_constr_31 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P15_constr_31 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_ProtocolIE_ContainerE2_1407P16_constr_33 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P16_constr_33 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P16_constr_33 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P16_constr_33 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_ProtocolIE_ContainerE2_1407P17_constr_35 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P17_constr_35 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P17_constr_35 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P17_constr_35 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_ProtocolIE_ContainerE2_1407P18_constr_37 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P18_constr_37 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P18_constr_37 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P18_constr_37 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_ProtocolIE_ContainerE2_1407P19_constr_39 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P19_constr_39 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P19_constr_39 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P19_constr_39 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
{ APC_CONSTRAINED, 16, 16, 0, 65535 } /* (SIZE(0..65535)) */,
0, 0 /* No PER value map */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P0_1[] = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_ContainerE2_1925P20_constr_41 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..65535)) */};
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P20_constr_41 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_ProtocolIE_ContainerE2_1925P21_constr_43 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..65535)) */};
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P21_constr_43 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_ProtocolIE_ContainerE2_1925P22_constr_45 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..65535)) */};
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P22_constr_45 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_ProtocolIE_ContainerE2_1925P23_constr_47 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..65535)) */};
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P23_constr_47 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_ProtocolIE_ContainerE2_1925P24_constr_49 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..65535)) */};
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P24_constr_49 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_ProtocolIE_ContainerE2_1925P25_constr_51 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..65535)) */};
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P25_constr_51 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_ProtocolIE_ContainerE2_1925P26_constr_53 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..65535)) */};
+asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P26_constr_53 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P0_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P0_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P0_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P0_specs_1 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P0),
- offsetof(struct ProtocolIE_ContainerE2_1407P0, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P0_specs_1 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P0),
+ offsetof(struct ProtocolIE_ContainerE2_1925P0, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P0 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P0 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P0_tags_1,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P0_tags_1)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P0_tags_1[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P0_tags_1, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P0_tags_1)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P0_tags_1[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P0_constr_1, &asn_PER_type_ProtocolIE_ContainerE2_1407P0_constr_1, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P0_1,
+ asn_DEF_ProtocolIE_ContainerE2_1925P0_tags_1,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P0_tags_1)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P0_tags_1[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P0_tags_1, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P0_tags_1)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P0_tags_1[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P0_constr_1, &asn_PER_type_ProtocolIE_ContainerE2_1925P0_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P0_1,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P0_specs_1 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P0_specs_1 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P1_3[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P1_3[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P1_tags_3[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P1_tags_3[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P1_specs_3 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P1),
- offsetof(struct ProtocolIE_ContainerE2_1407P1, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P1_specs_3 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P1),
+ offsetof(struct ProtocolIE_ContainerE2_1925P1, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P1 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P1 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P1_tags_3,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P1_tags_3)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P1_tags_3[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P1_tags_3, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P1_tags_3)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P1_tags_3[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P1_constr_3, &asn_PER_type_ProtocolIE_ContainerE2_1407P1_constr_3, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P1_3,
+ asn_DEF_ProtocolIE_ContainerE2_1925P1_tags_3,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P1_tags_3)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P1_tags_3[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P1_tags_3, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P1_tags_3)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P1_tags_3[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P1_constr_3, &asn_PER_type_ProtocolIE_ContainerE2_1925P1_constr_3, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P1_3,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P1_specs_3 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P1_specs_3 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P2_5[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P2_5[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P2_tags_5[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P2_tags_5[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P2_specs_5 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P2),
- offsetof(struct ProtocolIE_ContainerE2_1407P2, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P2_specs_5 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P2),
+ offsetof(struct ProtocolIE_ContainerE2_1925P2, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P2 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P2 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P2_tags_5,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P2_tags_5)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P2_tags_5[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P2_tags_5, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P2_tags_5)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P2_tags_5[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P2_constr_5, &asn_PER_type_ProtocolIE_ContainerE2_1407P2_constr_5, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P2_5,
+ asn_DEF_ProtocolIE_ContainerE2_1925P2_tags_5,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P2_tags_5)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P2_tags_5[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P2_tags_5, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P2_tags_5)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P2_tags_5[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P2_constr_5, &asn_PER_type_ProtocolIE_ContainerE2_1925P2_constr_5, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P2_5,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P2_specs_5 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P2_specs_5 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P3_7[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P3_7[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P3_tags_7[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P3_tags_7[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P3_specs_7 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P3),
- offsetof(struct ProtocolIE_ContainerE2_1407P3, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P3_specs_7 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P3),
+ offsetof(struct ProtocolIE_ContainerE2_1925P3, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P3 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P3 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P3_tags_7,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P3_tags_7)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P3_tags_7[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P3_tags_7, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P3_tags_7)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P3_tags_7[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P3_constr_7, &asn_PER_type_ProtocolIE_ContainerE2_1407P3_constr_7, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P3_7,
+ asn_DEF_ProtocolIE_ContainerE2_1925P3_tags_7,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P3_tags_7)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P3_tags_7[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P3_tags_7, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P3_tags_7)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P3_tags_7[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P3_constr_7, &asn_PER_type_ProtocolIE_ContainerE2_1925P3_constr_7, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P3_7,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P3_specs_7 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P3_specs_7 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P4_9[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P4_9[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P4_tags_9[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P4_tags_9[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P4_specs_9 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P4),
- offsetof(struct ProtocolIE_ContainerE2_1407P4, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P4_specs_9 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P4),
+ offsetof(struct ProtocolIE_ContainerE2_1925P4, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P4 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P4 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P4_tags_9,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P4_tags_9)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P4_tags_9[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P4_tags_9, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P4_tags_9)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P4_tags_9[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P4_constr_9, &asn_PER_type_ProtocolIE_ContainerE2_1407P4_constr_9, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P4_9,
+ asn_DEF_ProtocolIE_ContainerE2_1925P4_tags_9,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P4_tags_9)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P4_tags_9[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P4_tags_9, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P4_tags_9)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P4_tags_9[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P4_constr_9, &asn_PER_type_ProtocolIE_ContainerE2_1925P4_constr_9, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P4_9,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P4_specs_9 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P4_specs_9 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P5_11[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P5_11[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P5_tags_11[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P5_tags_11[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P5_specs_11 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P5),
+ offsetof(struct ProtocolIE_ContainerE2_1925P5, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P5 = {
+ "ProtocolIE-ContainerE2",
+ "ProtocolIE-ContainerE2",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ProtocolIE_ContainerE2_1925P5_tags_11,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P5_tags_11)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P5_tags_11[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P5_tags_11, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P5_tags_11)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P5_tags_11[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P5_constr_11, &asn_PER_type_ProtocolIE_ContainerE2_1925P5_constr_11, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P5_11,
+ 1, /* Single element */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P5_specs_11 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P6_13[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RICsubscriptionDeleteRequired_IEs,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P6_tags_13[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P5_specs_11 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P5),
- offsetof(struct ProtocolIE_ContainerE2_1407P5, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P6_specs_13 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P6),
+ offsetof(struct ProtocolIE_ContainerE2_1925P6, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P5 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P6 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P5_tags_11,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P5_tags_11)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P5_tags_11[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P5_tags_11, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P5_tags_11)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P5_tags_11[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P5_constr_11, &asn_PER_type_ProtocolIE_ContainerE2_1407P5_constr_11, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P5_11,
+ asn_DEF_ProtocolIE_ContainerE2_1925P6_tags_13,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P6_tags_13)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P6_tags_13[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P6_tags_13, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P6_tags_13)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P6_tags_13[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P6_constr_13, &asn_PER_type_ProtocolIE_ContainerE2_1925P6_constr_13, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P6_13,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P5_specs_11 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P6_specs_13 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P6_13[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P7_15[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P6_tags_13[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P7_tags_15[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P6_specs_13 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P6),
- offsetof(struct ProtocolIE_ContainerE2_1407P6, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P7_specs_15 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P7),
+ offsetof(struct ProtocolIE_ContainerE2_1925P7, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P6 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P7 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P6_tags_13,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P6_tags_13)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P6_tags_13[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P6_tags_13, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P6_tags_13)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P6_tags_13[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P6_constr_13, &asn_PER_type_ProtocolIE_ContainerE2_1407P6_constr_13, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P6_13,
+ asn_DEF_ProtocolIE_ContainerE2_1925P7_tags_15,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P7_tags_15)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P7_tags_15[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P7_tags_15, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P7_tags_15)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P7_tags_15[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P7_constr_15, &asn_PER_type_ProtocolIE_ContainerE2_1925P7_constr_15, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P7_15,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P6_specs_13 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P7_specs_15 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P7_15[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P8_17[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P7_tags_15[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P8_tags_17[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P7_specs_15 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P7),
- offsetof(struct ProtocolIE_ContainerE2_1407P7, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P8_specs_17 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P8),
+ offsetof(struct ProtocolIE_ContainerE2_1925P8, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P7 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P8 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P7_tags_15,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P7_tags_15)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P7_tags_15[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P7_tags_15, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P7_tags_15)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P7_tags_15[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P7_constr_15, &asn_PER_type_ProtocolIE_ContainerE2_1407P7_constr_15, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P7_15,
+ asn_DEF_ProtocolIE_ContainerE2_1925P8_tags_17,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P8_tags_17)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P8_tags_17[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P8_tags_17, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P8_tags_17)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P8_tags_17[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P8_constr_17, &asn_PER_type_ProtocolIE_ContainerE2_1925P8_constr_17, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P8_17,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P7_specs_15 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P8_specs_17 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P8_17[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P9_19[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P8_tags_17[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P9_tags_19[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P8_specs_17 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P8),
- offsetof(struct ProtocolIE_ContainerE2_1407P8, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P9_specs_19 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P9),
+ offsetof(struct ProtocolIE_ContainerE2_1925P9, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P8 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P9 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P8_tags_17,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P8_tags_17)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P8_tags_17[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P8_tags_17, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P8_tags_17)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P8_tags_17[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P8_constr_17, &asn_PER_type_ProtocolIE_ContainerE2_1407P8_constr_17, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P8_17,
+ asn_DEF_ProtocolIE_ContainerE2_1925P9_tags_19,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P9_tags_19)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P9_tags_19[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P9_tags_19, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P9_tags_19)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P9_tags_19[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P9_constr_19, &asn_PER_type_ProtocolIE_ContainerE2_1925P9_constr_19, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P9_19,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P8_specs_17 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P9_specs_19 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P9_19[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P10_21[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P9_tags_19[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P10_tags_21[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P9_specs_19 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P9),
- offsetof(struct ProtocolIE_ContainerE2_1407P9, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P10_specs_21 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P10),
+ offsetof(struct ProtocolIE_ContainerE2_1925P10, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P9 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P10 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P9_tags_19,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P9_tags_19)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P9_tags_19[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P9_tags_19, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P9_tags_19)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P9_tags_19[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P9_constr_19, &asn_PER_type_ProtocolIE_ContainerE2_1407P9_constr_19, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P9_19,
+ asn_DEF_ProtocolIE_ContainerE2_1925P10_tags_21,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P10_tags_21)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P10_tags_21[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P10_tags_21, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P10_tags_21)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P10_tags_21[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P10_constr_21, &asn_PER_type_ProtocolIE_ContainerE2_1925P10_constr_21, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P10_21,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P9_specs_19 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P10_specs_21 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P10_21[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P11_23[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P10_tags_21[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P11_tags_23[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P10_specs_21 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P10),
- offsetof(struct ProtocolIE_ContainerE2_1407P10, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P11_specs_23 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P11),
+ offsetof(struct ProtocolIE_ContainerE2_1925P11, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P10 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P11 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P10_tags_21,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P10_tags_21)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P10_tags_21[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P10_tags_21, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P10_tags_21)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P10_tags_21[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P10_constr_21, &asn_PER_type_ProtocolIE_ContainerE2_1407P10_constr_21, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P10_21,
+ asn_DEF_ProtocolIE_ContainerE2_1925P11_tags_23,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P11_tags_23)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P11_tags_23[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P11_tags_23, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P11_tags_23)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P11_tags_23[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P11_constr_23, &asn_PER_type_ProtocolIE_ContainerE2_1925P11_constr_23, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P11_23,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P10_specs_21 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P11_specs_23 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P11_23[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P12_25[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P11_tags_23[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P12_tags_25[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P11_specs_23 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P11),
- offsetof(struct ProtocolIE_ContainerE2_1407P11, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P12_specs_25 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P12),
+ offsetof(struct ProtocolIE_ContainerE2_1925P12, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P11 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P12 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P11_tags_23,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P11_tags_23)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P11_tags_23[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P11_tags_23, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P11_tags_23)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P11_tags_23[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P11_constr_23, &asn_PER_type_ProtocolIE_ContainerE2_1407P11_constr_23, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P11_23,
+ asn_DEF_ProtocolIE_ContainerE2_1925P12_tags_25,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P12_tags_25)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P12_tags_25[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P12_tags_25, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P12_tags_25)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P12_tags_25[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P12_constr_25, &asn_PER_type_ProtocolIE_ContainerE2_1925P12_constr_25, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P12_25,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P11_specs_23 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P12_specs_25 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P12_25[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P13_27[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P12_tags_25[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P13_tags_27[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P12_specs_25 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P12),
- offsetof(struct ProtocolIE_ContainerE2_1407P12, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P13_specs_27 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P13),
+ offsetof(struct ProtocolIE_ContainerE2_1925P13, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P12 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P13 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P12_tags_25,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P12_tags_25)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P12_tags_25[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P12_tags_25, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P12_tags_25)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P12_tags_25[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P12_constr_25, &asn_PER_type_ProtocolIE_ContainerE2_1407P12_constr_25, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P12_25,
+ asn_DEF_ProtocolIE_ContainerE2_1925P13_tags_27,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P13_tags_27)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P13_tags_27[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P13_tags_27, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P13_tags_27)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P13_tags_27[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P13_constr_27, &asn_PER_type_ProtocolIE_ContainerE2_1925P13_constr_27, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P13_27,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P12_specs_25 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P13_specs_27 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P13_27[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P14_29[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P13_tags_27[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P14_tags_29[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P14_specs_29 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P14),
+ offsetof(struct ProtocolIE_ContainerE2_1925P14, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P14 = {
+ "ProtocolIE-ContainerE2",
+ "ProtocolIE-ContainerE2",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ProtocolIE_ContainerE2_1925P14_tags_29,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P14_tags_29)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P14_tags_29[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P14_tags_29, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P14_tags_29)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P14_tags_29[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P14_constr_29, &asn_PER_type_ProtocolIE_ContainerE2_1925P14_constr_29, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P14_29,
+ 1, /* Single element */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P14_specs_29 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P15_31[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2connectionUpdate_IEs,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P15_tags_31[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P15_specs_31 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P15),
+ offsetof(struct ProtocolIE_ContainerE2_1925P15, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P15 = {
+ "ProtocolIE-ContainerE2",
+ "ProtocolIE-ContainerE2",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ProtocolIE_ContainerE2_1925P15_tags_31,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P15_tags_31)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P15_tags_31[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P15_tags_31, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P15_tags_31)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P15_tags_31[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P15_constr_31, &asn_PER_type_ProtocolIE_ContainerE2_1925P15_constr_31, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P15_31,
+ 1, /* Single element */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P15_specs_31 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P16_33[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2connectionUpdateAck_IEs,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P16_tags_33[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P16_specs_33 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P16),
+ offsetof(struct ProtocolIE_ContainerE2_1925P16, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P16 = {
+ "ProtocolIE-ContainerE2",
+ "ProtocolIE-ContainerE2",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ProtocolIE_ContainerE2_1925P16_tags_33,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P16_tags_33)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P16_tags_33[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P16_tags_33, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P16_tags_33)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P16_tags_33[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P16_constr_33, &asn_PER_type_ProtocolIE_ContainerE2_1925P16_constr_33, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P16_33,
+ 1, /* Single element */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P16_specs_33 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P17_35[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2connectionUpdateFailure_IEs,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P17_tags_35[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P17_specs_35 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P17),
+ offsetof(struct ProtocolIE_ContainerE2_1925P17, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P17 = {
+ "ProtocolIE-ContainerE2",
+ "ProtocolIE-ContainerE2",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ProtocolIE_ContainerE2_1925P17_tags_35,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P17_tags_35)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P17_tags_35[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P17_tags_35, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P17_tags_35)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P17_tags_35[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P17_constr_35, &asn_PER_type_ProtocolIE_ContainerE2_1925P17_constr_35, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P17_35,
+ 1, /* Single element */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P17_specs_35 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P18_37[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeConfigurationUpdate_IEs,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P18_tags_37[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P18_specs_37 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P18),
+ offsetof(struct ProtocolIE_ContainerE2_1925P18, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P18 = {
+ "ProtocolIE-ContainerE2",
+ "ProtocolIE-ContainerE2",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ProtocolIE_ContainerE2_1925P18_tags_37,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P18_tags_37)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P18_tags_37[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P18_tags_37, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P18_tags_37)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P18_tags_37[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P18_constr_37, &asn_PER_type_ProtocolIE_ContainerE2_1925P18_constr_37, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P18_37,
+ 1, /* Single element */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P18_specs_37 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P19_39[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P19_tags_39[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P19_specs_39 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P19),
+ offsetof(struct ProtocolIE_ContainerE2_1925P19, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P19 = {
+ "ProtocolIE-ContainerE2",
+ "ProtocolIE-ContainerE2",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_ProtocolIE_ContainerE2_1925P19_tags_39,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P19_tags_39)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P19_tags_39[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P19_tags_39, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P19_tags_39)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P19_tags_39[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P19_constr_39, &asn_PER_type_ProtocolIE_ContainerE2_1925P19_constr_39, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P19_39,
+ 1, /* Single element */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P19_specs_39 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P20_41[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeConfigurationUpdateFailure_IEs,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P20_tags_41[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P13_specs_27 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P13),
- offsetof(struct ProtocolIE_ContainerE2_1407P13, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P20_specs_41 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P20),
+ offsetof(struct ProtocolIE_ContainerE2_1925P20, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P13 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P20 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P13_tags_27,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P13_tags_27)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P13_tags_27[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P13_tags_27, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P13_tags_27)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P13_tags_27[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P13_constr_27, &asn_PER_type_ProtocolIE_ContainerE2_1407P13_constr_27, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P13_27,
+ asn_DEF_ProtocolIE_ContainerE2_1925P20_tags_41,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P20_tags_41)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P20_tags_41[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P20_tags_41, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P20_tags_41)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P20_tags_41[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P20_constr_41, &asn_PER_type_ProtocolIE_ContainerE2_1925P20_constr_41, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P20_41,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P13_specs_27 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P20_specs_41 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P14_29[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P21_43[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P14_tags_29[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P21_tags_43[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P14_specs_29 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P14),
- offsetof(struct ProtocolIE_ContainerE2_1407P14, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P21_specs_43 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P21),
+ offsetof(struct ProtocolIE_ContainerE2_1925P21, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P14 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P21 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P14_tags_29,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P14_tags_29)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P14_tags_29[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P14_tags_29, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P14_tags_29)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P14_tags_29[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P14_constr_29, &asn_PER_type_ProtocolIE_ContainerE2_1407P14_constr_29, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P14_29,
+ asn_DEF_ProtocolIE_ContainerE2_1925P21_tags_43,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P21_tags_43)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P21_tags_43[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P21_tags_43, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P21_tags_43)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P21_tags_43[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P21_constr_43, &asn_PER_type_ProtocolIE_ContainerE2_1925P21_constr_43, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P21_43,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P14_specs_29 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P21_specs_43 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P15_31[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P22_45[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P15_tags_31[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P22_tags_45[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P15_specs_31 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P15),
- offsetof(struct ProtocolIE_ContainerE2_1407P15, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P22_specs_45 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P22),
+ offsetof(struct ProtocolIE_ContainerE2_1925P22, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P15 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P22 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P15_tags_31,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P15_tags_31)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P15_tags_31[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P15_tags_31, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P15_tags_31)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P15_tags_31[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P15_constr_31, &asn_PER_type_ProtocolIE_ContainerE2_1407P15_constr_31, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P15_31,
+ asn_DEF_ProtocolIE_ContainerE2_1925P22_tags_45,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P22_tags_45)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P22_tags_45[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P22_tags_45, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P22_tags_45)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P22_tags_45[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P22_constr_45, &asn_PER_type_ProtocolIE_ContainerE2_1925P22_constr_45, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P22_45,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P15_specs_31 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P22_specs_45 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P16_33[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P23_47[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P16_tags_33[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P23_tags_47[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P16_specs_33 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P16),
- offsetof(struct ProtocolIE_ContainerE2_1407P16, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P23_specs_47 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P23),
+ offsetof(struct ProtocolIE_ContainerE2_1925P23, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P16 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P23 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P16_tags_33,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P16_tags_33)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P16_tags_33[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P16_tags_33, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P16_tags_33)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P16_tags_33[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P16_constr_33, &asn_PER_type_ProtocolIE_ContainerE2_1407P16_constr_33, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P16_33,
+ asn_DEF_ProtocolIE_ContainerE2_1925P23_tags_47,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P23_tags_47)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P23_tags_47[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P23_tags_47, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P23_tags_47)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P23_tags_47[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P23_constr_47, &asn_PER_type_ProtocolIE_ContainerE2_1925P23_constr_47, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P23_47,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P16_specs_33 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P23_specs_47 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P17_35[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P24_49[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P17_tags_35[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P24_tags_49[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P17_specs_35 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P17),
- offsetof(struct ProtocolIE_ContainerE2_1407P17, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P24_specs_49 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P24),
+ offsetof(struct ProtocolIE_ContainerE2_1925P24, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P17 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P24 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P17_tags_35,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P17_tags_35)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P17_tags_35[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P17_tags_35, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P17_tags_35)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P17_tags_35[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P17_constr_35, &asn_PER_type_ProtocolIE_ContainerE2_1407P17_constr_35, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P17_35,
+ asn_DEF_ProtocolIE_ContainerE2_1925P24_tags_49,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P24_tags_49)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P24_tags_49[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P24_tags_49, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P24_tags_49)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P24_tags_49[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P24_constr_49, &asn_PER_type_ProtocolIE_ContainerE2_1925P24_constr_49, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P24_49,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P17_specs_35 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P24_specs_49 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P18_37[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P25_51[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P18_tags_37[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P25_tags_51[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P18_specs_37 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P18),
- offsetof(struct ProtocolIE_ContainerE2_1407P18, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P25_specs_51 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P25),
+ offsetof(struct ProtocolIE_ContainerE2_1925P25, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P18 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P25 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P18_tags_37,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P18_tags_37)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P18_tags_37[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P18_tags_37, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P18_tags_37)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P18_tags_37[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P18_constr_37, &asn_PER_type_ProtocolIE_ContainerE2_1407P18_constr_37, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P18_37,
+ asn_DEF_ProtocolIE_ContainerE2_1925P25_tags_51,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P25_tags_51)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P25_tags_51[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P25_tags_51, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P25_tags_51)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P25_tags_51[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P25_constr_51, &asn_PER_type_ProtocolIE_ContainerE2_1925P25_constr_51, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P25_51,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P18_specs_37 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P25_specs_51 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P19_39[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P26_53[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
""
},
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1407P19_tags_39[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_ContainerE2_1925P26_tags_53[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P19_specs_39 = {
- sizeof(struct ProtocolIE_ContainerE2_1407P19),
- offsetof(struct ProtocolIE_ContainerE2_1407P19, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P26_specs_53 = {
+ sizeof(struct ProtocolIE_ContainerE2_1925P26),
+ offsetof(struct ProtocolIE_ContainerE2_1925P26, _asn_ctx),
0, /* XER encoding is XMLDelimitedItemList */
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P19 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P26 = {
"ProtocolIE-ContainerE2",
"ProtocolIE-ContainerE2",
&asn_OP_SEQUENCE_OF,
- asn_DEF_ProtocolIE_ContainerE2_1407P19_tags_39,
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P19_tags_39)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P19_tags_39[0]), /* 1 */
- asn_DEF_ProtocolIE_ContainerE2_1407P19_tags_39, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P19_tags_39)
- /sizeof(asn_DEF_ProtocolIE_ContainerE2_1407P19_tags_39[0]), /* 1 */
- { &asn_OER_type_ProtocolIE_ContainerE2_1407P19_constr_39, &asn_PER_type_ProtocolIE_ContainerE2_1407P19_constr_39, SEQUENCE_OF_constraint },
- asn_MBR_ProtocolIE_ContainerE2_1407P19_39,
+ asn_DEF_ProtocolIE_ContainerE2_1925P26_tags_53,
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P26_tags_53)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P26_tags_53[0]), /* 1 */
+ asn_DEF_ProtocolIE_ContainerE2_1925P26_tags_53, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P26_tags_53)
+ /sizeof(asn_DEF_ProtocolIE_ContainerE2_1925P26_tags_53[0]), /* 1 */
+ { &asn_OER_type_ProtocolIE_ContainerE2_1925P26_constr_53, &asn_PER_type_ProtocolIE_ContainerE2_1925P26_constr_53, SEQUENCE_OF_constraint },
+ asn_MBR_ProtocolIE_ContainerE2_1925P26_53,
1, /* Single element */
- &asn_SPC_ProtocolIE_ContainerE2_1407P19_specs_39 /* Additional specs */
+ &asn_SPC_ProtocolIE_ContainerE2_1925P26_specs_53 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-Containers"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ProtocolIE_ContainerE2_H_
struct RICsubscriptionDeleteRequest_IEs;
struct RICsubscriptionDeleteResponse_IEs;
struct RICsubscriptionDeleteFailure_IEs;
+struct RICsubscriptionDeleteRequired_IEs;
struct RICindication_IEs;
struct RICcontrolRequest_IEs;
struct RICcontrolAcknowledge_IEs;
struct E2setupRequestIEs;
struct E2setupResponseIEs;
struct E2setupFailureIEs;
+struct E2connectionUpdate_IEs;
+struct E2connectionUpdateAck_IEs;
+struct E2connectionUpdateFailure_IEs;
+struct E2nodeConfigurationUpdate_IEs;
+struct E2nodeConfigurationUpdateAcknowledge_IEs;
+struct E2nodeConfigurationUpdateFailure_IEs;
struct ResetRequestIEs;
struct ResetResponseIEs;
struct RICserviceUpdate_IEs;
struct RICserviceQuery_IEs;
/* ProtocolIE-ContainerE2 */
-typedef struct ProtocolIE_ContainerE2_1407P0 {
+typedef struct ProtocolIE_ContainerE2_1925P0 {
A_SEQUENCE_OF(struct RICsubscriptionRequest_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P0_t;
-typedef struct ProtocolIE_ContainerE2_1407P1 {
+} ProtocolIE_ContainerE2_1925P0_t;
+typedef struct ProtocolIE_ContainerE2_1925P1 {
A_SEQUENCE_OF(struct RICsubscriptionResponse_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P1_t;
-typedef struct ProtocolIE_ContainerE2_1407P2 {
+} ProtocolIE_ContainerE2_1925P1_t;
+typedef struct ProtocolIE_ContainerE2_1925P2 {
A_SEQUENCE_OF(struct RICsubscriptionFailure_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P2_t;
-typedef struct ProtocolIE_ContainerE2_1407P3 {
+} ProtocolIE_ContainerE2_1925P2_t;
+typedef struct ProtocolIE_ContainerE2_1925P3 {
A_SEQUENCE_OF(struct RICsubscriptionDeleteRequest_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P3_t;
-typedef struct ProtocolIE_ContainerE2_1407P4 {
+} ProtocolIE_ContainerE2_1925P3_t;
+typedef struct ProtocolIE_ContainerE2_1925P4 {
A_SEQUENCE_OF(struct RICsubscriptionDeleteResponse_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P4_t;
-typedef struct ProtocolIE_ContainerE2_1407P5 {
+} ProtocolIE_ContainerE2_1925P4_t;
+typedef struct ProtocolIE_ContainerE2_1925P5 {
A_SEQUENCE_OF(struct RICsubscriptionDeleteFailure_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P5_t;
-typedef struct ProtocolIE_ContainerE2_1407P6 {
+} ProtocolIE_ContainerE2_1925P5_t;
+typedef struct ProtocolIE_ContainerE2_1925P6 {
+ A_SEQUENCE_OF(struct RICsubscriptionDeleteRequired_IEs) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerE2_1925P6_t;
+typedef struct ProtocolIE_ContainerE2_1925P7 {
A_SEQUENCE_OF(struct RICindication_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P6_t;
-typedef struct ProtocolIE_ContainerE2_1407P7 {
+} ProtocolIE_ContainerE2_1925P7_t;
+typedef struct ProtocolIE_ContainerE2_1925P8 {
A_SEQUENCE_OF(struct RICcontrolRequest_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P7_t;
-typedef struct ProtocolIE_ContainerE2_1407P8 {
+} ProtocolIE_ContainerE2_1925P8_t;
+typedef struct ProtocolIE_ContainerE2_1925P9 {
A_SEQUENCE_OF(struct RICcontrolAcknowledge_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P8_t;
-typedef struct ProtocolIE_ContainerE2_1407P9 {
+} ProtocolIE_ContainerE2_1925P9_t;
+typedef struct ProtocolIE_ContainerE2_1925P10 {
A_SEQUENCE_OF(struct RICcontrolFailure_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P9_t;
-typedef struct ProtocolIE_ContainerE2_1407P10 {
+} ProtocolIE_ContainerE2_1925P10_t;
+typedef struct ProtocolIE_ContainerE2_1925P11 {
A_SEQUENCE_OF(struct ErrorIndicationE2_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P10_t;
-typedef struct ProtocolIE_ContainerE2_1407P11 {
+} ProtocolIE_ContainerE2_1925P11_t;
+typedef struct ProtocolIE_ContainerE2_1925P12 {
A_SEQUENCE_OF(struct E2setupRequestIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P11_t;
-typedef struct ProtocolIE_ContainerE2_1407P12 {
+} ProtocolIE_ContainerE2_1925P12_t;
+typedef struct ProtocolIE_ContainerE2_1925P13 {
A_SEQUENCE_OF(struct E2setupResponseIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P12_t;
-typedef struct ProtocolIE_ContainerE2_1407P13 {
+} ProtocolIE_ContainerE2_1925P13_t;
+typedef struct ProtocolIE_ContainerE2_1925P14 {
A_SEQUENCE_OF(struct E2setupFailureIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P13_t;
-typedef struct ProtocolIE_ContainerE2_1407P14 {
+} ProtocolIE_ContainerE2_1925P14_t;
+typedef struct ProtocolIE_ContainerE2_1925P15 {
+ A_SEQUENCE_OF(struct E2connectionUpdate_IEs) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerE2_1925P15_t;
+typedef struct ProtocolIE_ContainerE2_1925P16 {
+ A_SEQUENCE_OF(struct E2connectionUpdateAck_IEs) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerE2_1925P16_t;
+typedef struct ProtocolIE_ContainerE2_1925P17 {
+ A_SEQUENCE_OF(struct E2connectionUpdateFailure_IEs) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerE2_1925P17_t;
+typedef struct ProtocolIE_ContainerE2_1925P18 {
+ A_SEQUENCE_OF(struct E2nodeConfigurationUpdate_IEs) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerE2_1925P18_t;
+typedef struct ProtocolIE_ContainerE2_1925P19 {
+ A_SEQUENCE_OF(struct E2nodeConfigurationUpdateAcknowledge_IEs) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerE2_1925P19_t;
+typedef struct ProtocolIE_ContainerE2_1925P20 {
+ A_SEQUENCE_OF(struct E2nodeConfigurationUpdateFailure_IEs) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerE2_1925P20_t;
+typedef struct ProtocolIE_ContainerE2_1925P21 {
A_SEQUENCE_OF(struct ResetRequestIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P14_t;
-typedef struct ProtocolIE_ContainerE2_1407P15 {
+} ProtocolIE_ContainerE2_1925P21_t;
+typedef struct ProtocolIE_ContainerE2_1925P22 {
A_SEQUENCE_OF(struct ResetResponseIEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P15_t;
-typedef struct ProtocolIE_ContainerE2_1407P16 {
+} ProtocolIE_ContainerE2_1925P22_t;
+typedef struct ProtocolIE_ContainerE2_1925P23 {
A_SEQUENCE_OF(struct RICserviceUpdate_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P16_t;
-typedef struct ProtocolIE_ContainerE2_1407P17 {
+} ProtocolIE_ContainerE2_1925P23_t;
+typedef struct ProtocolIE_ContainerE2_1925P24 {
A_SEQUENCE_OF(struct RICserviceUpdateAcknowledge_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P17_t;
-typedef struct ProtocolIE_ContainerE2_1407P18 {
+} ProtocolIE_ContainerE2_1925P24_t;
+typedef struct ProtocolIE_ContainerE2_1925P25 {
A_SEQUENCE_OF(struct RICserviceUpdateFailure_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P18_t;
-typedef struct ProtocolIE_ContainerE2_1407P19 {
+} ProtocolIE_ContainerE2_1925P25_t;
+typedef struct ProtocolIE_ContainerE2_1925P26 {
A_SEQUENCE_OF(struct RICserviceQuery_IEs) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_ContainerE2_1407P19_t;
+} ProtocolIE_ContainerE2_1925P26_t;
/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P0;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P0_specs_1;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P0_1[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P0_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P1;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P1_specs_3;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P1_3[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P1_constr_3;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P2;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P2_specs_5;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P2_5[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P2_constr_5;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P3;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P3_specs_7;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P3_7[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P3_constr_7;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P4;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P4_specs_9;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P4_9[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P4_constr_9;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P5;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P5_specs_11;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P5_11[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P5_constr_11;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P6;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P6_specs_13;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P6_13[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P6_constr_13;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P7;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P7_specs_15;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P7_15[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P7_constr_15;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P8;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P8_specs_17;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P8_17[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P8_constr_17;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P9;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P9_specs_19;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P9_19[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P9_constr_19;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P10;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P10_specs_21;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P10_21[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P10_constr_21;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P11;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P11_specs_23;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P11_23[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P11_constr_23;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P12;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P12_specs_25;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P12_25[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P12_constr_25;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P13;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P13_specs_27;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P13_27[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P13_constr_27;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P14;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P14_specs_29;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P14_29[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P14_constr_29;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P15;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P15_specs_31;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P15_31[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P15_constr_31;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P16;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P16_specs_33;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P16_33[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P16_constr_33;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P17;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P17_specs_35;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P17_35[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P17_constr_35;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P18;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P18_specs_37;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P18_37[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P18_constr_37;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1407P19;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1407P19_specs_39;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1407P19_39[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1407P19_constr_39;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P0;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P0_specs_1;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P0_1[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P0_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P1;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P1_specs_3;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P1_3[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P1_constr_3;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P2;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P2_specs_5;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P2_5[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P2_constr_5;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P3;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P3_specs_7;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P3_7[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P3_constr_7;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P4;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P4_specs_9;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P4_9[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P4_constr_9;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P5;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P5_specs_11;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P5_11[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P5_constr_11;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P6;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P6_specs_13;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P6_13[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P6_constr_13;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P7;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P7_specs_15;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P7_15[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P7_constr_15;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P8;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P8_specs_17;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P8_17[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P8_constr_17;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P9;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P9_specs_19;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P9_19[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P9_constr_19;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P10;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P10_specs_21;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P10_21[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P10_constr_21;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P11;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P11_specs_23;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P11_23[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P11_constr_23;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P12;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P12_specs_25;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P12_25[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P12_constr_25;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P13;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P13_specs_27;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P13_27[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P13_constr_27;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P14;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P14_specs_29;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P14_29[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P14_constr_29;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P15;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P15_specs_31;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P15_31[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P15_constr_31;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P16;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P16_specs_33;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P16_33[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P16_constr_33;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P17;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P17_specs_35;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P17_35[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P17_constr_35;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P18;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P18_specs_37;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P18_37[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P18_constr_37;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P19;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P19_specs_39;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P19_39[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P19_constr_39;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P20;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P20_specs_41;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P20_41[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P20_constr_41;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P21;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P21_specs_43;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P21_43[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P21_constr_43;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P22;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P22_specs_45;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P22_45[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P22_constr_45;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P23;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P23_specs_47;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P23_47[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P23_constr_47;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P24;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P24_specs_49;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P24_49[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P24_constr_49;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P25;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P25_specs_51;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P25_51[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P25_constr_51;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerE2_1925P26;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerE2_1925P26_specs_53;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerE2_1925P26_53[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerE2_1925P26_constr_53;
#ifdef __cplusplus
}
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-Containers"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ProtocolIE-ContainerList.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-Containers"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ProtocolIE_ContainerList_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-Containers"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ProtocolIE-ContainerPairE2.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-Containers"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ProtocolIE_ContainerPairE2_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-Containers"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ProtocolIE-ContainerPairList.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-Containers"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ProtocolIE_ContainerPairList_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-Containers"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ProtocolIE-FieldE2.h"
static const asn_ioc_set_t asn_IOS_RICaction_NotAdmitted_ItemIEs_1[] = {
{ 1, 4, asn_IOS_RICaction_NotAdmitted_ItemIEs_1_rows }
};
-static const long asn_VAL_64_id_RANfunction_Item = 8;
-static const long asn_VAL_64_ignore = 1;
-static const long asn_VAL_64_mandatory = 2;
+static const long asn_VAL_24_id_RICsubscription_withCause_Item = 51;
+static const long asn_VAL_24_ignore = 1;
+static const long asn_VAL_24_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_RICsubscription_withCause_ItemIEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_24_id_RICsubscription_withCause_Item },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_24_ignore },
+ { "&Value", aioc__type, &asn_DEF_RICsubscription_withCause_Item },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_24_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_RICsubscription_withCause_ItemIEs_1[] = {
+ { 1, 4, asn_IOS_RICsubscription_withCause_ItemIEs_1_rows }
+};
+static const long asn_VAL_71_id_E2connectionUpdate_Item = 43;
+static const long asn_VAL_71_ignore = 1;
+static const long asn_VAL_71_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2connectionUpdate_ItemIEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_71_id_E2connectionUpdate_Item },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_71_ignore },
+ { "&Value", aioc__type, &asn_DEF_E2connectionUpdate_Item },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_71_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2connectionUpdate_ItemIEs_1[] = {
+ { 1, 4, asn_IOS_E2connectionUpdate_ItemIEs_1_rows }
+};
+static const long asn_VAL_72_id_E2connectionUpdateRemove_Item = 47;
+static const long asn_VAL_72_ignore = 1;
+static const long asn_VAL_72_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2connectionUpdateRemove_ItemIEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_72_id_E2connectionUpdateRemove_Item },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_72_ignore },
+ { "&Value", aioc__type, &asn_DEF_E2connectionUpdateRemove_Item },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_72_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2connectionUpdateRemove_ItemIEs_1[] = {
+ { 1, 4, asn_IOS_E2connectionUpdateRemove_ItemIEs_1_rows }
+};
+static const long asn_VAL_76_id_E2connectionSetupFailed_Item = 41;
+static const long asn_VAL_76_ignore = 1;
+static const long asn_VAL_76_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2connectionSetupFailed_ItemIEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_76_id_E2connectionSetupFailed_Item },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_76_ignore },
+ { "&Value", aioc__type, &asn_DEF_E2connectionSetupFailed_Item },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_76_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2connectionSetupFailed_ItemIEs_1[] = {
+ { 1, 4, asn_IOS_E2connectionSetupFailed_ItemIEs_1_rows }
+};
+static const long asn_VAL_87_id_E2nodeComponentConfigAddition_Item = 51;
+static const long asn_VAL_87_reject = 0;
+static const long asn_VAL_87_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigAddition_ItemIEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_87_id_E2nodeComponentConfigAddition_Item },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_87_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAddition_Item },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_87_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeComponentConfigAddition_ItemIEs_1[] = {
+ { 1, 4, asn_IOS_E2nodeComponentConfigAddition_ItemIEs_1_rows }
+};
+static const long asn_VAL_88_id_E2nodeComponentConfigUpdate_Item = 34;
+static const long asn_VAL_88_reject = 0;
+static const long asn_VAL_88_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigUpdate_ItemIEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_88_id_E2nodeComponentConfigUpdate_Item },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_88_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigUpdate_Item },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_88_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeComponentConfigUpdate_ItemIEs_1[] = {
+ { 1, 4, asn_IOS_E2nodeComponentConfigUpdate_ItemIEs_1_rows }
+};
+static const long asn_VAL_89_id_E2nodeComponentConfigRemoval_Item = 55;
+static const long asn_VAL_89_reject = 0;
+static const long asn_VAL_89_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigRemoval_ItemIEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_89_id_E2nodeComponentConfigRemoval_Item },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_89_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigRemoval_Item },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_89_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeComponentConfigRemoval_ItemIEs_1[] = {
+ { 1, 4, asn_IOS_E2nodeComponentConfigRemoval_ItemIEs_1_rows }
+};
+static const long asn_VAL_90_id_E2nodeTNLassociationRemoval_Item = 59;
+static const long asn_VAL_90_reject = 0;
+static const long asn_VAL_90_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeTNLassociationRemoval_ItemIEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_90_id_E2nodeTNLassociationRemoval_Item },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_90_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeTNLassociationRemoval_Item },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_90_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeTNLassociationRemoval_ItemIEs_1[] = {
+ { 1, 4, asn_IOS_E2nodeTNLassociationRemoval_ItemIEs_1_rows }
+};
+static const long asn_VAL_95_id_E2nodeComponentConfigAdditionAck_Item = 53;
+static const long asn_VAL_95_reject = 0;
+static const long asn_VAL_95_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigAdditionAck_ItemIEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_95_id_E2nodeComponentConfigAdditionAck_Item },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_95_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAdditionAck_Item },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_95_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeComponentConfigAdditionAck_ItemIEs_1[] = {
+ { 1, 4, asn_IOS_E2nodeComponentConfigAdditionAck_ItemIEs_1_rows }
+};
+static const long asn_VAL_96_id_E2nodeComponentConfigUpdateAck_Item = 36;
+static const long asn_VAL_96_reject = 0;
+static const long asn_VAL_96_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigUpdateAck_ItemIEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_96_id_E2nodeComponentConfigUpdateAck_Item },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_96_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigUpdateAck_Item },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_96_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeComponentConfigUpdateAck_ItemIEs_1[] = {
+ { 1, 4, asn_IOS_E2nodeComponentConfigUpdateAck_ItemIEs_1_rows }
+};
+static const long asn_VAL_97_id_E2nodeComponentConfigRemovalAck_Item = 57;
+static const long asn_VAL_97_reject = 0;
+static const long asn_VAL_97_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigRemovalAck_ItemIEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_97_id_E2nodeComponentConfigRemovalAck_Item },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_97_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigRemovalAck_Item },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_97_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeComponentConfigRemovalAck_ItemIEs_1[] = {
+ { 1, 4, asn_IOS_E2nodeComponentConfigRemovalAck_ItemIEs_1_rows }
+};
+static const long asn_VAL_110_id_RANfunction_Item = 8;
+static const long asn_VAL_110_ignore = 1;
+static const long asn_VAL_110_mandatory = 2;
static const asn_ioc_cell_t asn_IOS_RANfunction_ItemIEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_64_id_RANfunction_Item },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_64_ignore },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_110_id_RANfunction_Item },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_110_ignore },
{ "&Value", aioc__type, &asn_DEF_RANfunction_Item },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_64_mandatory }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_110_mandatory }
};
static const asn_ioc_set_t asn_IOS_RANfunction_ItemIEs_1[] = {
{ 1, 4, asn_IOS_RANfunction_ItemIEs_1_rows }
};
-static const long asn_VAL_65_id_RANfunctionID_Item = 6;
-static const long asn_VAL_65_ignore = 1;
-static const long asn_VAL_65_mandatory = 2;
+static const long asn_VAL_111_id_RANfunctionID_Item = 6;
+static const long asn_VAL_111_ignore = 1;
+static const long asn_VAL_111_mandatory = 2;
static const asn_ioc_cell_t asn_IOS_RANfunctionID_ItemIEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_65_id_RANfunctionID_Item },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_65_ignore },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_111_id_RANfunctionID_Item },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_111_ignore },
{ "&Value", aioc__type, &asn_DEF_RANfunctionID_Item },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_65_mandatory }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_111_mandatory }
};
static const asn_ioc_set_t asn_IOS_RANfunctionID_ItemIEs_1[] = {
{ 1, 4, asn_IOS_RANfunctionID_ItemIEs_1_rows }
};
-static const long asn_VAL_68_id_RANfunctionIEcause_Item = 7;
-static const long asn_VAL_68_ignore = 1;
-static const long asn_VAL_68_mandatory = 2;
+static const long asn_VAL_115_id_RANfunctionIEcause_Item = 7;
+static const long asn_VAL_115_ignore = 1;
+static const long asn_VAL_115_mandatory = 2;
static const asn_ioc_cell_t asn_IOS_RANfunctionIDcause_ItemIEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_68_id_RANfunctionIEcause_Item },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_68_ignore },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_115_id_RANfunctionIEcause_Item },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_115_ignore },
{ "&Value", aioc__type, &asn_DEF_RANfunctionIDcause_Item },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_68_mandatory }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_115_mandatory }
};
static const asn_ioc_set_t asn_IOS_RANfunctionIDcause_ItemIEs_1[] = {
{ 1, 4, asn_IOS_RANfunctionIDcause_ItemIEs_1_rows }
static const long asn_VAL_12_id_RANfunctionID = 5;
static const long asn_VAL_12_reject = 0;
static const long asn_VAL_12_mandatory = 2;
-static const long asn_VAL_13_id_RICactions_NotAdmitted = 18;
+static const long asn_VAL_13_id_CauseE2 = 1;
static const long asn_VAL_13_reject = 0;
static const long asn_VAL_13_mandatory = 2;
static const long asn_VAL_14_id_CriticalityDiagnosticsE2 = 2;
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_12_reject },
{ "&Value", aioc__type, &asn_DEF_RANfunctionID },
{ "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_12_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_13_id_RICactions_NotAdmitted },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_13_id_CauseE2 },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_13_reject },
- { "&Value", aioc__type, &asn_DEF_RICaction_NotAdmitted_List },
+ { "&Value", aioc__type, &asn_DEF_CauseE2 },
{ "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_13_mandatory },
{ "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_14_id_CriticalityDiagnosticsE2 },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_14_ignore },
static const asn_ioc_set_t asn_IOS_RICsubscriptionDeleteFailure_IEs_1[] = {
{ 4, 4, asn_IOS_RICsubscriptionDeleteFailure_IEs_1_rows }
};
-static const long asn_VAL_23_id_RICrequestID = 29;
-static const long asn_VAL_23_reject = 0;
+static const long asn_VAL_23_id_RICsubscriptionToBeRemoved = 50;
+static const long asn_VAL_23_ignore = 1;
static const long asn_VAL_23_mandatory = 2;
-static const long asn_VAL_24_id_RANfunctionID = 5;
-static const long asn_VAL_24_reject = 0;
-static const long asn_VAL_24_mandatory = 2;
-static const long asn_VAL_25_id_RICactionID = 15;
+static const asn_ioc_cell_t asn_IOS_RICsubscriptionDeleteRequired_IEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_23_id_RICsubscriptionToBeRemoved },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_23_ignore },
+ { "&Value", aioc__type, &asn_DEF_RICsubscription_List_withCause },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_23_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_RICsubscriptionDeleteRequired_IEs_1[] = {
+ { 1, 4, asn_IOS_RICsubscriptionDeleteRequired_IEs_1_rows }
+};
+static const long asn_VAL_25_id_RICrequestID = 29;
static const long asn_VAL_25_reject = 0;
static const long asn_VAL_25_mandatory = 2;
-static const long asn_VAL_26_id_RICindicationSN = 27;
+static const long asn_VAL_26_id_RANfunctionID = 5;
static const long asn_VAL_26_reject = 0;
-static const long asn_VAL_26_optional = 0;
-static const long asn_VAL_27_id_RICindicationType = 28;
+static const long asn_VAL_26_mandatory = 2;
+static const long asn_VAL_27_id_RICactionID = 15;
static const long asn_VAL_27_reject = 0;
static const long asn_VAL_27_mandatory = 2;
-static const long asn_VAL_28_id_RICindicationHeader = 25;
+static const long asn_VAL_28_id_RICindicationSN = 27;
static const long asn_VAL_28_reject = 0;
-static const long asn_VAL_28_mandatory = 2;
-static const long asn_VAL_29_id_RICindicationMessage = 26;
+static const long asn_VAL_28_optional = 0;
+static const long asn_VAL_29_id_RICindicationType = 28;
static const long asn_VAL_29_reject = 0;
static const long asn_VAL_29_mandatory = 2;
-static const long asn_VAL_30_id_RICcallProcessID = 20;
+static const long asn_VAL_30_id_RICindicationHeader = 25;
static const long asn_VAL_30_reject = 0;
-static const long asn_VAL_30_optional = 0;
+static const long asn_VAL_30_mandatory = 2;
+static const long asn_VAL_31_id_RICindicationMessage = 26;
+static const long asn_VAL_31_reject = 0;
+static const long asn_VAL_31_mandatory = 2;
+static const long asn_VAL_32_id_RICcallProcessID = 20;
+static const long asn_VAL_32_reject = 0;
+static const long asn_VAL_32_optional = 0;
static const asn_ioc_cell_t asn_IOS_RICindication_IEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_23_id_RICrequestID },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_23_reject },
- { "&Value", aioc__type, &asn_DEF_RICrequestID },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_23_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_24_id_RANfunctionID },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_24_reject },
- { "&Value", aioc__type, &asn_DEF_RANfunctionID },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_24_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_25_id_RICactionID },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_25_id_RICrequestID },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_25_reject },
- { "&Value", aioc__type, &asn_DEF_RICactionID },
+ { "&Value", aioc__type, &asn_DEF_RICrequestID },
{ "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_25_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_26_id_RICindicationSN },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_26_id_RANfunctionID },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_26_reject },
- { "&Value", aioc__type, &asn_DEF_RICindicationSN },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_26_optional },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_27_id_RICindicationType },
+ { "&Value", aioc__type, &asn_DEF_RANfunctionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_26_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_27_id_RICactionID },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_27_reject },
- { "&Value", aioc__type, &asn_DEF_RICindicationType },
+ { "&Value", aioc__type, &asn_DEF_RICactionID },
{ "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_27_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_28_id_RICindicationHeader },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_28_id_RICindicationSN },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_28_reject },
- { "&Value", aioc__type, &asn_DEF_RICindicationHeader },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_28_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_29_id_RICindicationMessage },
+ { "&Value", aioc__type, &asn_DEF_RICindicationSN },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_28_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_29_id_RICindicationType },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_29_reject },
- { "&Value", aioc__type, &asn_DEF_RICindicationMessage },
+ { "&Value", aioc__type, &asn_DEF_RICindicationType },
{ "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_29_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_30_id_RICcallProcessID },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_30_id_RICindicationHeader },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_30_reject },
+ { "&Value", aioc__type, &asn_DEF_RICindicationHeader },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_30_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_31_id_RICindicationMessage },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_31_reject },
+ { "&Value", aioc__type, &asn_DEF_RICindicationMessage },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_31_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_32_id_RICcallProcessID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_32_reject },
{ "&Value", aioc__type, &asn_DEF_RICcallProcessID },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_30_optional }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_32_optional }
};
static const asn_ioc_set_t asn_IOS_RICindication_IEs_1[] = {
{ 8, 4, asn_IOS_RICindication_IEs_1_rows }
};
-static const long asn_VAL_31_id_RICrequestID = 29;
-static const long asn_VAL_31_reject = 0;
-static const long asn_VAL_31_mandatory = 2;
-static const long asn_VAL_32_id_RANfunctionID = 5;
-static const long asn_VAL_32_reject = 0;
-static const long asn_VAL_32_mandatory = 2;
-static const long asn_VAL_33_id_RICcallProcessID = 20;
+static const long asn_VAL_33_id_RICrequestID = 29;
static const long asn_VAL_33_reject = 0;
-static const long asn_VAL_33_optional = 0;
-static const long asn_VAL_34_id_RICcontrolHeader = 22;
+static const long asn_VAL_33_mandatory = 2;
+static const long asn_VAL_34_id_RANfunctionID = 5;
static const long asn_VAL_34_reject = 0;
static const long asn_VAL_34_mandatory = 2;
-static const long asn_VAL_35_id_RICcontrolMessage = 23;
+static const long asn_VAL_35_id_RICcallProcessID = 20;
static const long asn_VAL_35_reject = 0;
-static const long asn_VAL_35_mandatory = 2;
-static const long asn_VAL_36_id_RICcontrolAckRequest = 21;
+static const long asn_VAL_35_optional = 0;
+static const long asn_VAL_36_id_RICcontrolHeader = 22;
static const long asn_VAL_36_reject = 0;
-static const long asn_VAL_36_optional = 0;
+static const long asn_VAL_36_mandatory = 2;
+static const long asn_VAL_37_id_RICcontrolMessage = 23;
+static const long asn_VAL_37_reject = 0;
+static const long asn_VAL_37_mandatory = 2;
+static const long asn_VAL_38_id_RICcontrolAckRequest = 21;
+static const long asn_VAL_38_reject = 0;
+static const long asn_VAL_38_optional = 0;
static const asn_ioc_cell_t asn_IOS_RICcontrolRequest_IEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_31_id_RICrequestID },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_31_reject },
- { "&Value", aioc__type, &asn_DEF_RICrequestID },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_31_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_32_id_RANfunctionID },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_32_reject },
- { "&Value", aioc__type, &asn_DEF_RANfunctionID },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_32_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_33_id_RICcallProcessID },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_33_id_RICrequestID },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_33_reject },
- { "&Value", aioc__type, &asn_DEF_RICcallProcessID },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_33_optional },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_34_id_RICcontrolHeader },
+ { "&Value", aioc__type, &asn_DEF_RICrequestID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_33_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_34_id_RANfunctionID },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_34_reject },
- { "&Value", aioc__type, &asn_DEF_RICcontrolHeader },
+ { "&Value", aioc__type, &asn_DEF_RANfunctionID },
{ "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_34_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_35_id_RICcontrolMessage },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_35_id_RICcallProcessID },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_35_reject },
- { "&Value", aioc__type, &asn_DEF_RICcontrolMessage },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_35_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_36_id_RICcontrolAckRequest },
+ { "&Value", aioc__type, &asn_DEF_RICcallProcessID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_35_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_36_id_RICcontrolHeader },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_36_reject },
+ { "&Value", aioc__type, &asn_DEF_RICcontrolHeader },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_36_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_37_id_RICcontrolMessage },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_37_reject },
+ { "&Value", aioc__type, &asn_DEF_RICcontrolMessage },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_37_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_38_id_RICcontrolAckRequest },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_38_reject },
{ "&Value", aioc__type, &asn_DEF_RICcontrolAckRequest },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_36_optional }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_38_optional }
};
static const asn_ioc_set_t asn_IOS_RICcontrolRequest_IEs_1[] = {
{ 6, 4, asn_IOS_RICcontrolRequest_IEs_1_rows }
};
-static const long asn_VAL_37_id_RICrequestID = 29;
-static const long asn_VAL_37_reject = 0;
-static const long asn_VAL_37_mandatory = 2;
-static const long asn_VAL_38_id_RANfunctionID = 5;
-static const long asn_VAL_38_reject = 0;
-static const long asn_VAL_38_mandatory = 2;
-static const long asn_VAL_39_id_RICcallProcessID = 20;
+static const long asn_VAL_39_id_RICrequestID = 29;
static const long asn_VAL_39_reject = 0;
-static const long asn_VAL_39_optional = 0;
-static const long asn_VAL_40_id_RICcontrolStatus = 24;
+static const long asn_VAL_39_mandatory = 2;
+static const long asn_VAL_40_id_RANfunctionID = 5;
static const long asn_VAL_40_reject = 0;
static const long asn_VAL_40_mandatory = 2;
-static const long asn_VAL_41_id_RICcontrolOutcome = 32;
+static const long asn_VAL_41_id_RICcallProcessID = 20;
static const long asn_VAL_41_reject = 0;
static const long asn_VAL_41_optional = 0;
+static const long asn_VAL_42_id_RICcontrolOutcome = 32;
+static const long asn_VAL_42_reject = 0;
+static const long asn_VAL_42_optional = 0;
static const asn_ioc_cell_t asn_IOS_RICcontrolAcknowledge_IEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_37_id_RICrequestID },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_37_reject },
- { "&Value", aioc__type, &asn_DEF_RICrequestID },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_37_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_38_id_RANfunctionID },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_38_reject },
- { "&Value", aioc__type, &asn_DEF_RANfunctionID },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_38_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_39_id_RICcallProcessID },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_39_id_RICrequestID },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_39_reject },
- { "&Value", aioc__type, &asn_DEF_RICcallProcessID },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_39_optional },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_40_id_RICcontrolStatus },
+ { "&Value", aioc__type, &asn_DEF_RICrequestID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_39_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_40_id_RANfunctionID },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_40_reject },
- { "&Value", aioc__type, &asn_DEF_RICcontrolStatus },
+ { "&Value", aioc__type, &asn_DEF_RANfunctionID },
{ "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_40_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_41_id_RICcontrolOutcome },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_41_id_RICcallProcessID },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_41_reject },
+ { "&Value", aioc__type, &asn_DEF_RICcallProcessID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_41_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_42_id_RICcontrolOutcome },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_42_reject },
{ "&Value", aioc__type, &asn_DEF_RICcontrolOutcome },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_41_optional }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_42_optional }
};
static const asn_ioc_set_t asn_IOS_RICcontrolAcknowledge_IEs_1[] = {
- { 5, 4, asn_IOS_RICcontrolAcknowledge_IEs_1_rows }
+ { 4, 4, asn_IOS_RICcontrolAcknowledge_IEs_1_rows }
};
-static const long asn_VAL_42_id_RICrequestID = 29;
-static const long asn_VAL_42_reject = 0;
-static const long asn_VAL_42_mandatory = 2;
-static const long asn_VAL_43_id_RANfunctionID = 5;
+static const long asn_VAL_43_id_RICrequestID = 29;
static const long asn_VAL_43_reject = 0;
static const long asn_VAL_43_mandatory = 2;
-static const long asn_VAL_44_id_RICcallProcessID = 20;
+static const long asn_VAL_44_id_RANfunctionID = 5;
static const long asn_VAL_44_reject = 0;
-static const long asn_VAL_44_optional = 0;
-static const long asn_VAL_45_id_CauseE2 = 1;
-static const long asn_VAL_45_ignore = 1;
-static const long asn_VAL_45_mandatory = 2;
-static const long asn_VAL_46_id_RICcontrolOutcome = 32;
-static const long asn_VAL_46_reject = 0;
-static const long asn_VAL_46_optional = 0;
+static const long asn_VAL_44_mandatory = 2;
+static const long asn_VAL_45_id_RICcallProcessID = 20;
+static const long asn_VAL_45_reject = 0;
+static const long asn_VAL_45_optional = 0;
+static const long asn_VAL_46_id_CauseE2 = 1;
+static const long asn_VAL_46_ignore = 1;
+static const long asn_VAL_46_mandatory = 2;
+static const long asn_VAL_47_id_RICcontrolOutcome = 32;
+static const long asn_VAL_47_reject = 0;
+static const long asn_VAL_47_optional = 0;
static const asn_ioc_cell_t asn_IOS_RICcontrolFailure_IEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_42_id_RICrequestID },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_42_reject },
- { "&Value", aioc__type, &asn_DEF_RICrequestID },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_42_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_43_id_RANfunctionID },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_43_id_RICrequestID },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_43_reject },
- { "&Value", aioc__type, &asn_DEF_RANfunctionID },
+ { "&Value", aioc__type, &asn_DEF_RICrequestID },
{ "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_43_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_44_id_RICcallProcessID },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_44_id_RANfunctionID },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_44_reject },
+ { "&Value", aioc__type, &asn_DEF_RANfunctionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_44_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_45_id_RICcallProcessID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_45_reject },
{ "&Value", aioc__type, &asn_DEF_RICcallProcessID },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_44_optional },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_45_id_CauseE2 },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_45_ignore },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_45_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_46_id_CauseE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_46_ignore },
{ "&Value", aioc__type, &asn_DEF_CauseE2 },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_45_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_46_id_RICcontrolOutcome },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_46_reject },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_46_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_47_id_RICcontrolOutcome },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_47_reject },
{ "&Value", aioc__type, &asn_DEF_RICcontrolOutcome },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_46_optional }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_47_optional }
};
static const asn_ioc_set_t asn_IOS_RICcontrolFailure_IEs_1[] = {
{ 5, 4, asn_IOS_RICcontrolFailure_IEs_1_rows }
};
-static const long asn_VAL_47_id_RICrequestID = 29;
-static const long asn_VAL_47_reject = 0;
-static const long asn_VAL_47_optional = 0;
-static const long asn_VAL_48_id_RANfunctionID = 5;
+static const long asn_VAL_48_id_TransactionID = 49;
static const long asn_VAL_48_reject = 0;
static const long asn_VAL_48_optional = 0;
-static const long asn_VAL_49_id_CauseE2 = 1;
-static const long asn_VAL_49_ignore = 1;
+static const long asn_VAL_49_id_RICrequestID = 29;
+static const long asn_VAL_49_reject = 0;
static const long asn_VAL_49_optional = 0;
-static const long asn_VAL_50_id_CriticalityDiagnosticsE2 = 2;
-static const long asn_VAL_50_ignore = 1;
+static const long asn_VAL_50_id_RANfunctionID = 5;
+static const long asn_VAL_50_reject = 0;
static const long asn_VAL_50_optional = 0;
+static const long asn_VAL_51_id_CauseE2 = 1;
+static const long asn_VAL_51_ignore = 1;
+static const long asn_VAL_51_optional = 0;
+static const long asn_VAL_52_id_CriticalityDiagnosticsE2 = 2;
+static const long asn_VAL_52_ignore = 1;
+static const long asn_VAL_52_optional = 0;
static const asn_ioc_cell_t asn_IOS_ErrorIndicationE2_IEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_47_id_RICrequestID },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_47_reject },
- { "&Value", aioc__type, &asn_DEF_RICrequestID },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_47_optional },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_48_id_RANfunctionID },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_48_id_TransactionID },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_48_reject },
- { "&Value", aioc__type, &asn_DEF_RANfunctionID },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
{ "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_48_optional },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_49_id_CauseE2 },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_49_ignore },
- { "&Value", aioc__type, &asn_DEF_CauseE2 },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_49_id_RICrequestID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_49_reject },
+ { "&Value", aioc__type, &asn_DEF_RICrequestID },
{ "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_49_optional },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_50_id_CriticalityDiagnosticsE2 },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_50_ignore },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_50_id_RANfunctionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_50_reject },
+ { "&Value", aioc__type, &asn_DEF_RANfunctionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_50_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_51_id_CauseE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_51_ignore },
+ { "&Value", aioc__type, &asn_DEF_CauseE2 },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_51_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_52_id_CriticalityDiagnosticsE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_52_ignore },
{ "&Value", aioc__type, &asn_DEF_CriticalityDiagnosticsE2 },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_50_optional }
-};
-static const asn_ioc_set_t asn_IOS_ErrorIndicationE2_IEs_1[] = {
- { 4, 4, asn_IOS_ErrorIndicationE2_IEs_1_rows }
-};
-static const long asn_VAL_51_id_GlobalE2node_ID = 3;
-static const long asn_VAL_51_reject = 0;
-static const long asn_VAL_51_mandatory = 2;
-static const long asn_VAL_52_id_RANfunctionsAdded = 10;
-static const long asn_VAL_52_reject = 0;
-static const long asn_VAL_52_optional = 0;
-static const asn_ioc_cell_t asn_IOS_E2setupRequestIEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_51_id_GlobalE2node_ID },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_51_reject },
- { "&Value", aioc__type, &asn_DEF_GlobalE2node_ID },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_51_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_52_id_RANfunctionsAdded },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_52_reject },
- { "&Value", aioc__type, &asn_DEF_RANfunctions_List },
{ "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_52_optional }
};
-static const asn_ioc_set_t asn_IOS_E2setupRequestIEs_1[] = {
- { 2, 4, asn_IOS_E2setupRequestIEs_1_rows }
+static const asn_ioc_set_t asn_IOS_ErrorIndicationE2_IEs_1[] = {
+ { 5, 4, asn_IOS_ErrorIndicationE2_IEs_1_rows }
};
-static const long asn_VAL_53_id_GlobalRIC_ID = 4;
+static const long asn_VAL_53_id_TransactionID = 49;
static const long asn_VAL_53_reject = 0;
static const long asn_VAL_53_mandatory = 2;
-static const long asn_VAL_54_id_RANfunctionsAccepted = 9;
+static const long asn_VAL_54_id_GlobalE2node_ID = 3;
static const long asn_VAL_54_reject = 0;
-static const long asn_VAL_54_optional = 0;
-static const long asn_VAL_55_id_RANfunctionsRejected = 13;
+static const long asn_VAL_54_mandatory = 2;
+static const long asn_VAL_55_id_RANfunctionsAdded = 10;
static const long asn_VAL_55_reject = 0;
-static const long asn_VAL_55_optional = 0;
-static const asn_ioc_cell_t asn_IOS_E2setupResponseIEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_53_id_GlobalRIC_ID },
+static const long asn_VAL_55_mandatory = 2;
+static const long asn_VAL_56_id_E2nodeComponentConfigAddition = 50;
+static const long asn_VAL_56_reject = 0;
+static const long asn_VAL_56_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2setupRequestIEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_53_id_TransactionID },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_53_reject },
- { "&Value", aioc__type, &asn_DEF_GlobalRIC_ID },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
{ "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_53_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_54_id_RANfunctionsAccepted },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_54_id_GlobalE2node_ID },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_54_reject },
- { "&Value", aioc__type, &asn_DEF_RANfunctionsID_List },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_54_optional },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_55_id_RANfunctionsRejected },
+ { "&Value", aioc__type, &asn_DEF_GlobalE2node_ID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_54_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_55_id_RANfunctionsAdded },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_55_reject },
+ { "&Value", aioc__type, &asn_DEF_RANfunctions_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_55_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_56_id_E2nodeComponentConfigAddition },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_56_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAddition_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_56_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2setupRequestIEs_1[] = {
+ { 4, 4, asn_IOS_E2setupRequestIEs_1_rows }
+};
+static const long asn_VAL_57_id_TransactionID = 49;
+static const long asn_VAL_57_reject = 0;
+static const long asn_VAL_57_mandatory = 2;
+static const long asn_VAL_58_id_GlobalRIC_ID = 4;
+static const long asn_VAL_58_reject = 0;
+static const long asn_VAL_58_mandatory = 2;
+static const long asn_VAL_59_id_RANfunctionsAccepted = 9;
+static const long asn_VAL_59_reject = 0;
+static const long asn_VAL_59_optional = 0;
+static const long asn_VAL_60_id_RANfunctionsRejected = 13;
+static const long asn_VAL_60_reject = 0;
+static const long asn_VAL_60_optional = 0;
+static const long asn_VAL_61_id_E2nodeComponentConfigAdditionAck = 52;
+static const long asn_VAL_61_reject = 0;
+static const long asn_VAL_61_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2setupResponseIEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_57_id_TransactionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_57_reject },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_57_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_58_id_GlobalRIC_ID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_58_reject },
+ { "&Value", aioc__type, &asn_DEF_GlobalRIC_ID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_58_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_59_id_RANfunctionsAccepted },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_59_reject },
+ { "&Value", aioc__type, &asn_DEF_RANfunctionsID_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_59_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_60_id_RANfunctionsRejected },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_60_reject },
{ "&Value", aioc__type, &asn_DEF_RANfunctionsIDcause_List },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_55_optional }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_60_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_61_id_E2nodeComponentConfigAdditionAck },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_61_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAdditionAck_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_61_mandatory }
};
static const asn_ioc_set_t asn_IOS_E2setupResponseIEs_1[] = {
- { 3, 4, asn_IOS_E2setupResponseIEs_1_rows }
+ { 5, 4, asn_IOS_E2setupResponseIEs_1_rows }
};
-static const long asn_VAL_56_id_CauseE2 = 1;
-static const long asn_VAL_56_ignore = 1;
-static const long asn_VAL_56_mandatory = 2;
-static const long asn_VAL_57_id_TimeToWaitE2 = 31;
-static const long asn_VAL_57_ignore = 1;
-static const long asn_VAL_57_optional = 0;
-static const long asn_VAL_58_id_CriticalityDiagnosticsE2 = 2;
-static const long asn_VAL_58_ignore = 1;
-static const long asn_VAL_58_optional = 0;
+static const long asn_VAL_62_id_TransactionID = 49;
+static const long asn_VAL_62_reject = 0;
+static const long asn_VAL_62_mandatory = 2;
+static const long asn_VAL_63_id_CauseE2 = 1;
+static const long asn_VAL_63_ignore = 1;
+static const long asn_VAL_63_mandatory = 2;
+static const long asn_VAL_64_id_TimeToWaitE2 = 31;
+static const long asn_VAL_64_ignore = 1;
+static const long asn_VAL_64_optional = 0;
+static const long asn_VAL_65_id_CriticalityDiagnosticsE2 = 2;
+static const long asn_VAL_65_ignore = 1;
+static const long asn_VAL_65_optional = 0;
+static const long asn_VAL_66_id_TNLinformation = 48;
+static const long asn_VAL_66_ignore = 1;
+static const long asn_VAL_66_optional = 0;
static const asn_ioc_cell_t asn_IOS_E2setupFailureIEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_56_id_CauseE2 },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_56_ignore },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_62_id_TransactionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_62_reject },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_62_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_63_id_CauseE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_63_ignore },
{ "&Value", aioc__type, &asn_DEF_CauseE2 },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_56_mandatory },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_57_id_TimeToWaitE2 },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_57_ignore },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_63_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_64_id_TimeToWaitE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_64_ignore },
{ "&Value", aioc__type, &asn_DEF_TimeToWaitE2 },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_57_optional },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_58_id_CriticalityDiagnosticsE2 },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_58_ignore },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_64_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_65_id_CriticalityDiagnosticsE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_65_ignore },
{ "&Value", aioc__type, &asn_DEF_CriticalityDiagnosticsE2 },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_58_optional }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_65_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_66_id_TNLinformation },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_66_ignore },
+ { "&Value", aioc__type, &asn_DEF_TNLinformation },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_66_optional }
};
static const asn_ioc_set_t asn_IOS_E2setupFailureIEs_1[] = {
- { 3, 4, asn_IOS_E2setupFailureIEs_1_rows }
+ { 5, 4, asn_IOS_E2setupFailureIEs_1_rows }
+};
+static const long asn_VAL_67_id_TransactionID = 49;
+static const long asn_VAL_67_reject = 0;
+static const long asn_VAL_67_mandatory = 2;
+static const long asn_VAL_68_id_E2connectionUpdateAdd = 44;
+static const long asn_VAL_68_reject = 0;
+static const long asn_VAL_68_optional = 0;
+static const long asn_VAL_69_id_E2connectionUpdateRemove = 46;
+static const long asn_VAL_69_reject = 0;
+static const long asn_VAL_69_optional = 0;
+static const long asn_VAL_70_id_E2connectionUpdateModify = 45;
+static const long asn_VAL_70_reject = 0;
+static const long asn_VAL_70_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2connectionUpdate_IEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_67_id_TransactionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_67_reject },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_67_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_68_id_E2connectionUpdateAdd },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_68_reject },
+ { "&Value", aioc__type, &asn_DEF_E2connectionUpdate_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_68_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_69_id_E2connectionUpdateRemove },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_69_reject },
+ { "&Value", aioc__type, &asn_DEF_E2connectionUpdateRemove_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_69_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_70_id_E2connectionUpdateModify },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_70_reject },
+ { "&Value", aioc__type, &asn_DEF_E2connectionUpdate_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_70_optional }
+};
+static const asn_ioc_set_t asn_IOS_E2connectionUpdate_IEs_1[] = {
+ { 4, 4, asn_IOS_E2connectionUpdate_IEs_1_rows }
+};
+static const long asn_VAL_73_id_TransactionID = 49;
+static const long asn_VAL_73_reject = 0;
+static const long asn_VAL_73_mandatory = 2;
+static const long asn_VAL_74_id_E2connectionSetup = 39;
+static const long asn_VAL_74_reject = 0;
+static const long asn_VAL_74_optional = 0;
+static const long asn_VAL_75_id_E2connectionSetupFailed = 40;
+static const long asn_VAL_75_reject = 0;
+static const long asn_VAL_75_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2connectionUpdateAck_IEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_73_id_TransactionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_73_reject },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_73_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_74_id_E2connectionSetup },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_74_reject },
+ { "&Value", aioc__type, &asn_DEF_E2connectionUpdate_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_74_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_75_id_E2connectionSetupFailed },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_75_reject },
+ { "&Value", aioc__type, &asn_DEF_E2connectionSetupFailed_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_75_optional }
+};
+static const asn_ioc_set_t asn_IOS_E2connectionUpdateAck_IEs_1[] = {
+ { 3, 4, asn_IOS_E2connectionUpdateAck_IEs_1_rows }
+};
+static const long asn_VAL_77_id_TransactionID = 49;
+static const long asn_VAL_77_reject = 0;
+static const long asn_VAL_77_mandatory = 2;
+static const long asn_VAL_78_id_CauseE2 = 1;
+static const long asn_VAL_78_reject = 0;
+static const long asn_VAL_78_optional = 0;
+static const long asn_VAL_79_id_TimeToWaitE2 = 31;
+static const long asn_VAL_79_ignore = 1;
+static const long asn_VAL_79_optional = 0;
+static const long asn_VAL_80_id_CriticalityDiagnosticsE2 = 2;
+static const long asn_VAL_80_ignore = 1;
+static const long asn_VAL_80_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2connectionUpdateFailure_IEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_77_id_TransactionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_77_reject },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_77_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_78_id_CauseE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_78_reject },
+ { "&Value", aioc__type, &asn_DEF_CauseE2 },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_78_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_79_id_TimeToWaitE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_79_ignore },
+ { "&Value", aioc__type, &asn_DEF_TimeToWaitE2 },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_79_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_80_id_CriticalityDiagnosticsE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_80_ignore },
+ { "&Value", aioc__type, &asn_DEF_CriticalityDiagnosticsE2 },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_80_optional }
+};
+static const asn_ioc_set_t asn_IOS_E2connectionUpdateFailure_IEs_1[] = {
+ { 4, 4, asn_IOS_E2connectionUpdateFailure_IEs_1_rows }
+};
+static const long asn_VAL_81_id_TransactionID = 49;
+static const long asn_VAL_81_reject = 0;
+static const long asn_VAL_81_mandatory = 2;
+static const long asn_VAL_82_id_GlobalE2node_ID = 3;
+static const long asn_VAL_82_reject = 0;
+static const long asn_VAL_82_optional = 0;
+static const long asn_VAL_83_id_E2nodeComponentConfigAddition = 50;
+static const long asn_VAL_83_reject = 0;
+static const long asn_VAL_83_optional = 0;
+static const long asn_VAL_84_id_E2nodeComponentConfigUpdate = 33;
+static const long asn_VAL_84_reject = 0;
+static const long asn_VAL_84_optional = 0;
+static const long asn_VAL_85_id_E2nodeComponentConfigRemoval = 54;
+static const long asn_VAL_85_reject = 0;
+static const long asn_VAL_85_optional = 0;
+static const long asn_VAL_86_id_E2nodeTNLassociationRemoval = 58;
+static const long asn_VAL_86_reject = 0;
+static const long asn_VAL_86_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2nodeConfigurationUpdate_IEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_81_id_TransactionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_81_reject },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_81_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_82_id_GlobalE2node_ID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_82_reject },
+ { "&Value", aioc__type, &asn_DEF_GlobalE2node_ID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_82_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_83_id_E2nodeComponentConfigAddition },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_83_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAddition_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_83_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_84_id_E2nodeComponentConfigUpdate },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_84_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigUpdate_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_84_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_85_id_E2nodeComponentConfigRemoval },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_85_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigRemoval_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_85_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_86_id_E2nodeTNLassociationRemoval },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_86_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeTNLassociationRemoval_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_86_optional }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeConfigurationUpdate_IEs_1[] = {
+ { 6, 4, asn_IOS_E2nodeConfigurationUpdate_IEs_1_rows }
+};
+static const long asn_VAL_91_id_TransactionID = 49;
+static const long asn_VAL_91_reject = 0;
+static const long asn_VAL_91_mandatory = 2;
+static const long asn_VAL_92_id_E2nodeComponentConfigAdditionAck = 52;
+static const long asn_VAL_92_reject = 0;
+static const long asn_VAL_92_optional = 0;
+static const long asn_VAL_93_id_E2nodeComponentConfigUpdateAck = 35;
+static const long asn_VAL_93_reject = 0;
+static const long asn_VAL_93_optional = 0;
+static const long asn_VAL_94_id_E2nodeComponentConfigRemovalAck = 56;
+static const long asn_VAL_94_reject = 0;
+static const long asn_VAL_94_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2nodeConfigurationUpdateAcknowledge_IEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_91_id_TransactionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_91_reject },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_91_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_92_id_E2nodeComponentConfigAdditionAck },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_92_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAdditionAck_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_92_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_93_id_E2nodeComponentConfigUpdateAck },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_93_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigUpdateAck_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_93_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_94_id_E2nodeComponentConfigRemovalAck },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_94_reject },
+ { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigRemovalAck_List },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_94_optional }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeConfigurationUpdateAcknowledge_IEs_1[] = {
+ { 4, 4, asn_IOS_E2nodeConfigurationUpdateAcknowledge_IEs_1_rows }
+};
+static const long asn_VAL_98_id_TransactionID = 49;
+static const long asn_VAL_98_reject = 0;
+static const long asn_VAL_98_mandatory = 2;
+static const long asn_VAL_99_id_CauseE2 = 1;
+static const long asn_VAL_99_ignore = 1;
+static const long asn_VAL_99_mandatory = 2;
+static const long asn_VAL_100_id_TimeToWaitE2 = 31;
+static const long asn_VAL_100_ignore = 1;
+static const long asn_VAL_100_optional = 0;
+static const long asn_VAL_101_id_CriticalityDiagnosticsE2 = 2;
+static const long asn_VAL_101_ignore = 1;
+static const long asn_VAL_101_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2nodeConfigurationUpdateFailure_IEs_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_98_id_TransactionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_98_reject },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_98_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_99_id_CauseE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_99_ignore },
+ { "&Value", aioc__type, &asn_DEF_CauseE2 },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_99_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_100_id_TimeToWaitE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_100_ignore },
+ { "&Value", aioc__type, &asn_DEF_TimeToWaitE2 },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_100_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_101_id_CriticalityDiagnosticsE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_101_ignore },
+ { "&Value", aioc__type, &asn_DEF_CriticalityDiagnosticsE2 },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_101_optional }
};
-static const long asn_VAL_59_id_CauseE2 = 1;
-static const long asn_VAL_59_ignore = 1;
-static const long asn_VAL_59_mandatory = 2;
+static const asn_ioc_set_t asn_IOS_E2nodeConfigurationUpdateFailure_IEs_1[] = {
+ { 4, 4, asn_IOS_E2nodeConfigurationUpdateFailure_IEs_1_rows }
+};
+static const long asn_VAL_102_id_TransactionID = 49;
+static const long asn_VAL_102_reject = 0;
+static const long asn_VAL_102_mandatory = 2;
+static const long asn_VAL_103_id_CauseE2 = 1;
+static const long asn_VAL_103_ignore = 1;
+static const long asn_VAL_103_mandatory = 2;
static const asn_ioc_cell_t asn_IOS_ResetRequestIEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_59_id_CauseE2 },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_59_ignore },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_102_id_TransactionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_102_reject },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_102_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_103_id_CauseE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_103_ignore },
{ "&Value", aioc__type, &asn_DEF_CauseE2 },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_59_mandatory }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_103_mandatory }
};
static const asn_ioc_set_t asn_IOS_ResetRequestIEs_1[] = {
- { 1, 4, asn_IOS_ResetRequestIEs_1_rows }
-};
-static const long asn_VAL_60_id_CriticalityDiagnosticsE2 = 2;
-static const long asn_VAL_60_ignore = 1;
-static const long asn_VAL_60_optional = 0;
+ { 2, 4, asn_IOS_ResetRequestIEs_1_rows }
+};
+static const long asn_VAL_104_id_TransactionID = 49;
+static const long asn_VAL_104_reject = 0;
+static const long asn_VAL_104_mandatory = 2;
+static const long asn_VAL_105_id_CriticalityDiagnosticsE2 = 2;
+static const long asn_VAL_105_ignore = 1;
+static const long asn_VAL_105_optional = 0;
static const asn_ioc_cell_t asn_IOS_ResetResponseIEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_60_id_CriticalityDiagnosticsE2 },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_60_ignore },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_104_id_TransactionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_104_reject },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_104_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_105_id_CriticalityDiagnosticsE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_105_ignore },
{ "&Value", aioc__type, &asn_DEF_CriticalityDiagnosticsE2 },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_60_optional }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_105_optional }
};
static const asn_ioc_set_t asn_IOS_ResetResponseIEs_1[] = {
- { 1, 4, asn_IOS_ResetResponseIEs_1_rows }
-};
-static const long asn_VAL_61_id_RANfunctionsAdded = 10;
-static const long asn_VAL_61_reject = 0;
-static const long asn_VAL_61_optional = 0;
-static const long asn_VAL_62_id_RANfunctionsModified = 12;
-static const long asn_VAL_62_reject = 0;
-static const long asn_VAL_62_optional = 0;
-static const long asn_VAL_63_id_RANfunctionsDeleted = 11;
-static const long asn_VAL_63_reject = 0;
-static const long asn_VAL_63_optional = 0;
+ { 2, 4, asn_IOS_ResetResponseIEs_1_rows }
+};
+static const long asn_VAL_106_id_TransactionID = 49;
+static const long asn_VAL_106_reject = 0;
+static const long asn_VAL_106_mandatory = 2;
+static const long asn_VAL_107_id_RANfunctionsAdded = 10;
+static const long asn_VAL_107_reject = 0;
+static const long asn_VAL_107_optional = 0;
+static const long asn_VAL_108_id_RANfunctionsModified = 12;
+static const long asn_VAL_108_reject = 0;
+static const long asn_VAL_108_optional = 0;
+static const long asn_VAL_109_id_RANfunctionsDeleted = 11;
+static const long asn_VAL_109_reject = 0;
+static const long asn_VAL_109_optional = 0;
static const asn_ioc_cell_t asn_IOS_RICserviceUpdate_IEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_61_id_RANfunctionsAdded },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_61_reject },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_106_id_TransactionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_106_reject },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_106_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_107_id_RANfunctionsAdded },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_107_reject },
{ "&Value", aioc__type, &asn_DEF_RANfunctions_List },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_61_optional },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_62_id_RANfunctionsModified },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_62_reject },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_107_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_108_id_RANfunctionsModified },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_108_reject },
{ "&Value", aioc__type, &asn_DEF_RANfunctions_List },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_62_optional },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_63_id_RANfunctionsDeleted },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_63_reject },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_108_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_109_id_RANfunctionsDeleted },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_109_reject },
{ "&Value", aioc__type, &asn_DEF_RANfunctionsID_List },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_63_optional }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_109_optional }
};
static const asn_ioc_set_t asn_IOS_RICserviceUpdate_IEs_1[] = {
- { 3, 4, asn_IOS_RICserviceUpdate_IEs_1_rows }
-};
-static const long asn_VAL_66_id_RANfunctionsAccepted = 9;
-static const long asn_VAL_66_reject = 0;
-static const long asn_VAL_66_optional = 0;
-static const long asn_VAL_67_id_RANfunctionsRejected = 13;
-static const long asn_VAL_67_reject = 0;
-static const long asn_VAL_67_optional = 0;
+ { 4, 4, asn_IOS_RICserviceUpdate_IEs_1_rows }
+};
+static const long asn_VAL_112_id_TransactionID = 49;
+static const long asn_VAL_112_reject = 0;
+static const long asn_VAL_112_mandatory = 2;
+static const long asn_VAL_113_id_RANfunctionsAccepted = 9;
+static const long asn_VAL_113_reject = 0;
+static const long asn_VAL_113_mandatory = 2;
+static const long asn_VAL_114_id_RANfunctionsRejected = 13;
+static const long asn_VAL_114_reject = 0;
+static const long asn_VAL_114_optional = 0;
static const asn_ioc_cell_t asn_IOS_RICserviceUpdateAcknowledge_IEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_66_id_RANfunctionsAccepted },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_66_reject },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_112_id_TransactionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_112_reject },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_112_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_113_id_RANfunctionsAccepted },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_113_reject },
{ "&Value", aioc__type, &asn_DEF_RANfunctionsID_List },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_66_optional },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_67_id_RANfunctionsRejected },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_67_reject },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_113_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_114_id_RANfunctionsRejected },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_114_reject },
{ "&Value", aioc__type, &asn_DEF_RANfunctionsIDcause_List },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_67_optional }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_114_optional }
};
static const asn_ioc_set_t asn_IOS_RICserviceUpdateAcknowledge_IEs_1[] = {
- { 2, 4, asn_IOS_RICserviceUpdateAcknowledge_IEs_1_rows }
-};
-static const long asn_VAL_69_id_RANfunctionsRejected = 13;
-static const long asn_VAL_69_ignore = 1;
-static const long asn_VAL_69_optional = 0;
-static const long asn_VAL_70_id_TimeToWaitE2 = 31;
-static const long asn_VAL_70_ignore = 1;
-static const long asn_VAL_70_optional = 0;
-static const long asn_VAL_71_id_CriticalityDiagnosticsE2 = 2;
-static const long asn_VAL_71_ignore = 1;
-static const long asn_VAL_71_optional = 0;
+ { 3, 4, asn_IOS_RICserviceUpdateAcknowledge_IEs_1_rows }
+};
+static const long asn_VAL_116_id_TransactionID = 49;
+static const long asn_VAL_116_reject = 0;
+static const long asn_VAL_116_mandatory = 2;
+static const long asn_VAL_117_id_CauseE2 = 1;
+static const long asn_VAL_117_reject = 0;
+static const long asn_VAL_117_mandatory = 2;
+static const long asn_VAL_118_id_TimeToWaitE2 = 31;
+static const long asn_VAL_118_ignore = 1;
+static const long asn_VAL_118_optional = 0;
+static const long asn_VAL_119_id_CriticalityDiagnosticsE2 = 2;
+static const long asn_VAL_119_ignore = 1;
+static const long asn_VAL_119_optional = 0;
static const asn_ioc_cell_t asn_IOS_RICserviceUpdateFailure_IEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_69_id_RANfunctionsRejected },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_69_ignore },
- { "&Value", aioc__type, &asn_DEF_RANfunctionsIDcause_List },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_69_optional },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_70_id_TimeToWaitE2 },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_70_ignore },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_116_id_TransactionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_116_reject },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_116_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_117_id_CauseE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_117_reject },
+ { "&Value", aioc__type, &asn_DEF_CauseE2 },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_117_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_118_id_TimeToWaitE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_118_ignore },
{ "&Value", aioc__type, &asn_DEF_TimeToWaitE2 },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_70_optional },
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_71_id_CriticalityDiagnosticsE2 },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_71_ignore },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_118_optional },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_119_id_CriticalityDiagnosticsE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_119_ignore },
{ "&Value", aioc__type, &asn_DEF_CriticalityDiagnosticsE2 },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_71_optional }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_119_optional }
};
static const asn_ioc_set_t asn_IOS_RICserviceUpdateFailure_IEs_1[] = {
- { 3, 4, asn_IOS_RICserviceUpdateFailure_IEs_1_rows }
-};
-static const long asn_VAL_72_id_RANfunctionsAccepted = 9;
-static const long asn_VAL_72_reject = 0;
-static const long asn_VAL_72_optional = 0;
+ { 4, 4, asn_IOS_RICserviceUpdateFailure_IEs_1_rows }
+};
+static const long asn_VAL_120_id_TransactionID = 49;
+static const long asn_VAL_120_reject = 0;
+static const long asn_VAL_120_mandatory = 2;
+static const long asn_VAL_121_id_RANfunctionsAccepted = 9;
+static const long asn_VAL_121_reject = 0;
+static const long asn_VAL_121_optional = 0;
static const asn_ioc_cell_t asn_IOS_RICserviceQuery_IEs_1_rows[] = {
- { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_72_id_RANfunctionsAccepted },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_72_reject },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_120_id_TransactionID },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_120_reject },
+ { "&Value", aioc__type, &asn_DEF_TransactionID },
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_120_mandatory },
+ { "&id", aioc__value, &asn_DEF_ProtocolIE_IDE2, &asn_VAL_121_id_RANfunctionsAccepted },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_121_reject },
{ "&Value", aioc__type, &asn_DEF_RANfunctionsID_List },
- { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_72_optional }
+ { "&presence", aioc__value, &asn_DEF_PresenceE2, &asn_VAL_121_optional }
};
static const asn_ioc_set_t asn_IOS_RICserviceQuery_IEs_1[] = {
- { 1, 4, asn_IOS_RICserviceQuery_IEs_1_rows }
+ { 2, 4, asn_IOS_RICserviceQuery_IEs_1_rows }
};
static int
memb_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
}
static asn_type_selector_result_t
-select_RANfunction_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscription_withCause_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RANfunction_ItemIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscription_withCause_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunction_ItemIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscription_withCause_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RANfunction_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscription_withCause_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RANfunction_ItemIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscription_withCause_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunction_ItemIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscription_withCause_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RANfunctionID_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2connectionUpdate_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RANfunctionID_ItemIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2connectionUpdate_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionID_ItemIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2connectionUpdate_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RANfunctionID_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2connectionUpdate_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RANfunctionID_ItemIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2connectionUpdate_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionID_ItemIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2connectionUpdate_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RANfunctionIDcause_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2connectionUpdateRemove_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RANfunctionIDcause_ItemIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2connectionUpdateRemove_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionIDcause_ItemIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2connectionUpdateRemove_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RANfunctionIDcause_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2connectionUpdateRemove_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RANfunctionIDcause_ItemIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2connectionUpdateRemove_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionIDcause_ItemIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2connectionUpdateRemove_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICsubscriptionRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2connectionSetupFailed_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionRequest_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2connectionSetupFailed_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionRequest_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2connectionSetupFailed_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICsubscriptionRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2connectionSetupFailed_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionRequest_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2connectionSetupFailed_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionRequest_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2connectionSetupFailed_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICsubscriptionResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigAddition_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionResponse_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigAddition_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionResponse_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigAddition_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICsubscriptionResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigAddition_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionResponse_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigAddition_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionResponse_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigAddition_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICsubscriptionFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigUpdate_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionFailure_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigUpdate_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionFailure_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigUpdate_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICsubscriptionFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigUpdate_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionFailure_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigUpdate_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionFailure_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigUpdate_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICsubscriptionDeleteRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigRemoval_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteRequest_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigRemoval_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteRequest_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigRemoval_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICsubscriptionDeleteRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigRemoval_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteRequest_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigRemoval_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteRequest_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigRemoval_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICsubscriptionDeleteResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeTNLassociationRemoval_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteResponse_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeTNLassociationRemoval_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteResponse_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeTNLassociationRemoval_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICsubscriptionDeleteResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeTNLassociationRemoval_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteResponse_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeTNLassociationRemoval_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteResponse_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeTNLassociationRemoval_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICsubscriptionDeleteFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigAdditionAck_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteFailure_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigAdditionAck_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteFailure_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICsubscriptionDeleteFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigAdditionAck_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteFailure_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigAdditionAck_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteFailure_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICindication_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigUpdateAck_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICindication_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigUpdateAck_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICindication_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICindication_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigUpdateAck_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICindication_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigUpdateAck_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICindication_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICcontrolRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigRemovalAck_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICcontrolRequest_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigRemovalAck_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolRequest_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICcontrolRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigRemovalAck_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICcontrolRequest_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigRemovalAck_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolRequest_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICcontrolAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RANfunction_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICcontrolAcknowledge_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RANfunction_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolAcknowledge_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunction_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICcontrolAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RANfunction_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICcontrolAcknowledge_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RANfunction_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolAcknowledge_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunction_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICcontrolFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RANfunctionID_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICcontrolFailure_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RANfunctionID_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolFailure_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionID_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICcontrolFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RANfunctionID_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICcontrolFailure_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RANfunctionID_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolFailure_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionID_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_ErrorIndicationE2_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RANfunctionIDcause_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_ErrorIndicationE2_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RANfunctionIDcause_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ErrorIndicationE2_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionIDcause_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_ErrorIndicationE2_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RANfunctionIDcause_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_ErrorIndicationE2_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RANfunctionIDcause_ItemIEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ErrorIndicationE2_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionIDcause_ItemIEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_E2setupRequestIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_E2setupRequestIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionRequest_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupRequestIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionRequest_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_E2setupRequestIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_E2setupRequestIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionRequest_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupRequestIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionRequest_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_E2setupResponseIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_E2setupResponseIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionResponse_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupResponseIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionResponse_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_E2setupResponseIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_E2setupResponseIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionResponse_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupResponseIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionResponse_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_E2setupFailureIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_E2setupFailureIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionFailure_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupFailureIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionFailure_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_E2setupFailureIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_E2setupFailureIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionFailure_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupFailureIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionFailure_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_ResetRequestIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_ResetRequestIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteRequest_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetRequestIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteRequest_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_ResetRequestIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_ResetRequestIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteRequest_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetRequestIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteRequest_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_ResetResponseIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_ResetResponseIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteResponse_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetResponseIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteResponse_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_ResetResponseIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_ResetResponseIEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteResponse_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetResponseIEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteResponse_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICserviceUpdate_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdate_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteFailure_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdate_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteFailure_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICserviceUpdate_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdate_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteFailure_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdate_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteFailure_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICserviceUpdateAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteRequired_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateAcknowledge_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteRequired_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateAcknowledge_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteRequired_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICserviceUpdateAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteRequired_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateAcknowledge_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteRequired_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateAcknowledge_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteRequired_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICserviceUpdateFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICindication_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateFailure_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICindication_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateFailure_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICindication_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICserviceUpdateFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICindication_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateFailure_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICindication_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateFailure_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICindication_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICserviceQuery_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICcontrolRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICserviceQuery_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICcontrolRequest_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &criticality */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceQuery_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolRequest_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
}
static asn_type_selector_result_t
-select_RICserviceQuery_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICcontrolRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
asn_type_selector_result_t result = {0, 0};
- const asn_ioc_set_t *itable = asn_IOS_RICserviceQuery_IEs_1;
+ const asn_ioc_set_t *itable = asn_IOS_RICcontrolRequest_IEs_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 2; /* &Value */
size_t row, presence_index = 0;
- const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceQuery_IEs, id));
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolRequest_IEs, id));
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
}
-static asn_oer_constraints_t asn_OER_memb_id_constr_2 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_2 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_3 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_value_constr_4 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_id_constr_6 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_6 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_7 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_7 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_value_constr_8 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_8 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_id_constr_10 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_10 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_11 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_11 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_value_constr_12 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_12 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_id_constr_14 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_14 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_15 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_15 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_value_constr_16 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_16 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_id_constr_18 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_18 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_19 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_19 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_value_constr_20 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_20 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_id_constr_22 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_22 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_23 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_23 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_value_constr_24 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_24 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_id_constr_26 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_26 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_27 CC_NOTUSED = {
+static int
+memb_id_constraint_105(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_RICcontrolAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_RICcontrolAcknowledge_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolAcknowledge_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_105(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_RICcontrolAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_RICcontrolAcknowledge_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolAcknowledge_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_105(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_109(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_RICcontrolFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_RICcontrolFailure_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolFailure_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_109(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_RICcontrolFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_RICcontrolFailure_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolFailure_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_109(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_113(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_ErrorIndicationE2_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_ErrorIndicationE2_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ErrorIndicationE2_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_113(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_ErrorIndicationE2_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_ErrorIndicationE2_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ErrorIndicationE2_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_113(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_117(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_E2setupRequestIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2setupRequestIEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupRequestIEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_117(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2setupRequestIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2setupRequestIEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupRequestIEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_117(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_121(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_E2setupResponseIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2setupResponseIEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupResponseIEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_121(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2setupResponseIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2setupResponseIEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupResponseIEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_121(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_125(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_E2setupFailureIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2setupFailureIEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupFailureIEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_125(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2setupFailureIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2setupFailureIEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupFailureIEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_125(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_129(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_E2connectionUpdate_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2connectionUpdate_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2connectionUpdate_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_129(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2connectionUpdate_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2connectionUpdate_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2connectionUpdate_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_129(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_133(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_E2connectionUpdateAck_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2connectionUpdateAck_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2connectionUpdateAck_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_133(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2connectionUpdateAck_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2connectionUpdateAck_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2connectionUpdateAck_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_133(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_137(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_E2connectionUpdateFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2connectionUpdateFailure_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2connectionUpdateFailure_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_137(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2connectionUpdateFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2connectionUpdateFailure_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2connectionUpdateFailure_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_137(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_141(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_E2nodeConfigurationUpdate_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeConfigurationUpdate_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeConfigurationUpdate_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_141(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2nodeConfigurationUpdate_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeConfigurationUpdate_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeConfigurationUpdate_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_141(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_145(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_E2nodeConfigurationUpdateAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeConfigurationUpdateAcknowledge_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_145(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2nodeConfigurationUpdateAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeConfigurationUpdateAcknowledge_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_145(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_149(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_E2nodeConfigurationUpdateFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeConfigurationUpdateFailure_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeConfigurationUpdateFailure_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_149(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2nodeConfigurationUpdateFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_E2nodeConfigurationUpdateFailure_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeConfigurationUpdateFailure_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_149(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_153(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_ResetRequestIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_ResetRequestIEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetRequestIEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_153(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_ResetRequestIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_ResetRequestIEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetRequestIEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_153(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_157(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_ResetResponseIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_ResetResponseIEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetResponseIEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_157(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_ResetResponseIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_ResetResponseIEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetResponseIEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_157(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_161(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_RICserviceUpdate_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdate_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdate_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_161(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_RICserviceUpdate_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdate_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdate_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_161(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_165(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_RICserviceUpdateAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateAcknowledge_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateAcknowledge_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_165(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_RICserviceUpdateAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateAcknowledge_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateAcknowledge_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_165(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_169(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_RICserviceUpdateFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateFailure_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateFailure_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_169(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_RICserviceUpdateFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateFailure_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateFailure_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_169(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_173(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;
+ }
+}
+
+static asn_type_selector_result_t
+select_RICserviceQuery_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_RICserviceQuery_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &criticality */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceQuery_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_criticality_constraint_173(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_RICserviceQuery_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_RICserviceQuery_IEs_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 2; /* &Value */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceQuery_IEs, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_value_constraint_173(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;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_oer_constraints_t asn_OER_memb_id_constr_2 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_2 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_6 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_6 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_7 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_7 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_8 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_8 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_10 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_10 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_11 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_11 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_12 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_12 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_14 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_14 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_15 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_15 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_16 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_16 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_18 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_18 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_19 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_19 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_20 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_20 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_22 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_22 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_23 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_23 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_24 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_24 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_26 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_26 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_27 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_27 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_28 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_28 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_30 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_30 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_31 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_31 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_32 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_32 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_34 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_34 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_35 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_35 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_36 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_36 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_38 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_38 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_39 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_39 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_40 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_40 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_42 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_42 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_43 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_43 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_44 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_44 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_46 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_46 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_47 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_47 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_48 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_48 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_50 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_50 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_51 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_51 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_52 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_52 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_54 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_54 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_55 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_55 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_56 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_56 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_58 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_58 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_59 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_59 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_60 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_60 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_62 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_62 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_63 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_63 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_64 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_64 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_66 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_66 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_67 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_67 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_68 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_68 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_70 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_70 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_71 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_71 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_72 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_72 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_74 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_74 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_75 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_75 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_76 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_76 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_78 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_78 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_79 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_79 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_80 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_80 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_82 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_82 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_83 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_83 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_84 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_84 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_86 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_86 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_87 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_87 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_88 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_88 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_90 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_90 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_91 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_91 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_92 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_92 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_94 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_94 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_95 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_95 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_96 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_96 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_98 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_98 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_99 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_99 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_100 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_100 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_102 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_102 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_103 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_103 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_104 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_104 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_106 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_106 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_107 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_107 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_108 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_108 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_110 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_110 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_111 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_111 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_112 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_112 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_114 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_114 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_115 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_115 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_116 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_116 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_118 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_118 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_119 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_119 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_120 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_120 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_122 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_122 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_123 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_123 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_124 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_124 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_126 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_126 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_127 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_127 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_128 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_128 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_130 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_130 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_131 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_131 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_132 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_132 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_134 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_134 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_135 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_135 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_136 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_136 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_138 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_138 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_139 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_139 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_140 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_140 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_142 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_142 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_143 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_143 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_144 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_144 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_146 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_146 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_147 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_147 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_148 CC_NOTUSED = {
{ 0, 0 },
-1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_27 CC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_value_constr_148 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_150 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_150 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_151 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_151 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_152 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_152 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_154 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_154 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_155 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_155 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_156 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_156 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_158 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_158 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_159 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_159 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_160 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_160 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_162 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_162 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_163 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_163 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_164 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_164 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_166 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_166 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_167 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_167 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_168 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_168 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_170 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_170 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_171 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_171 CC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_172 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_172 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_174 CC_NOTUSED = {
+ { 2, 1 } /* (0..65535) */,
+ -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_174 CC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_175 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_175 CC_NOTUSED = {
{ APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_28 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_28 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static asn_oer_constraints_t asn_OER_memb_value_constr_176 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_176 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_value_4[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs__value, choice.RICaction_ToBeSetup_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RICaction_ToBeSetup_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICaction-ToBeSetup-Item"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-ToBeSetup-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
+ sizeof(struct RICaction_ToBeSetup_ItemIEs__value),
+ offsetof(struct RICaction_ToBeSetup_ItemIEs__value, _asn_ctx),
+ offsetof(struct RICaction_ToBeSetup_ItemIEs__value, present),
+ sizeof(((struct RICaction_ToBeSetup_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_4,
+ 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_value_4 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_4,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_4 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RICaction_ToBeSetup_ItemIEs_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_2, &asn_PER_memb_id_constr_2, memb_id_constraint_1 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_RICaction_ToBeSetup_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_3, &asn_PER_memb_criticality_constr_3, memb_criticality_constraint_1 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_4,
+ select_RICaction_ToBeSetup_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_4, &asn_PER_memb_value_constr_4, memb_value_constraint_1 },
+ 0, 0, /* No default value */
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RICaction_ToBeSetup_ItemIEs_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1 = {
+ sizeof(struct RICaction_ToBeSetup_ItemIEs),
+ offsetof(struct RICaction_ToBeSetup_ItemIEs, _asn_ctx),
+ asn_MAP_RICaction_ToBeSetup_ItemIEs_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RICaction_ToBeSetup_ItemIEs = {
+ "RICaction-ToBeSetup-ItemIEs",
+ "RICaction-ToBeSetup-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1,
+ sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1)
+ /sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[0]), /* 1 */
+ asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1, /* Same as above */
+ sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1)
+ /sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RICaction_ToBeSetup_ItemIEs_1,
+ 3, /* Elements count */
+ &asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_8[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs__value, choice.RICaction_Admitted_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RICaction_Admitted_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICaction-Admitted-Item"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_8[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-Admitted-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_8 = {
+ sizeof(struct RICaction_Admitted_ItemIEs__value),
+ offsetof(struct RICaction_Admitted_ItemIEs__value, _asn_ctx),
+ offsetof(struct RICaction_Admitted_ItemIEs__value, present),
+ sizeof(((struct RICaction_Admitted_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_8,
+ 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_value_8 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_8,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_8 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RICaction_Admitted_ItemIEs_5[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_6, &asn_PER_memb_id_constr_6, memb_id_constraint_5 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_RICaction_Admitted_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_7, &asn_PER_memb_criticality_constr_7, memb_criticality_constraint_5 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_8,
+ select_RICaction_Admitted_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_8, &asn_PER_memb_value_constr_8, memb_value_constraint_5 },
+ 0, 0, /* No default value */
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RICaction_Admitted_ItemIEs_tags_5[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RICaction_Admitted_ItemIEs_tag2el_5[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RICaction_Admitted_ItemIEs_specs_5 = {
+ sizeof(struct RICaction_Admitted_ItemIEs),
+ offsetof(struct RICaction_Admitted_ItemIEs, _asn_ctx),
+ asn_MAP_RICaction_Admitted_ItemIEs_tag2el_5,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RICaction_Admitted_ItemIEs = {
+ "RICaction-Admitted-ItemIEs",
+ "RICaction-Admitted-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RICaction_Admitted_ItemIEs_tags_5,
+ sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5)
+ /sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5[0]), /* 1 */
+ asn_DEF_RICaction_Admitted_ItemIEs_tags_5, /* Same as above */
+ sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5)
+ /sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RICaction_Admitted_ItemIEs_5,
+ 3, /* Elements count */
+ &asn_SPC_RICaction_Admitted_ItemIEs_specs_5 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_12[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs__value, choice.RICaction_NotAdmitted_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RICaction_NotAdmitted_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICaction-NotAdmitted-Item"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_12[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-NotAdmitted-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_12 = {
+ sizeof(struct RICaction_NotAdmitted_ItemIEs__value),
+ offsetof(struct RICaction_NotAdmitted_ItemIEs__value, _asn_ctx),
+ offsetof(struct RICaction_NotAdmitted_ItemIEs__value, present),
+ sizeof(((struct RICaction_NotAdmitted_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_12,
+ 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_value_12 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_12,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_12 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RICaction_NotAdmitted_ItemIEs_9[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_10, &asn_PER_memb_id_constr_10, memb_id_constraint_9 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_RICaction_NotAdmitted_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_11, &asn_PER_memb_criticality_constr_11, memb_criticality_constraint_9 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_12,
+ select_RICaction_NotAdmitted_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_12, &asn_PER_memb_value_constr_12, memb_value_constraint_9 },
+ 0, 0, /* No default value */
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RICaction_NotAdmitted_ItemIEs_tag2el_9[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9 = {
+ sizeof(struct RICaction_NotAdmitted_ItemIEs),
+ offsetof(struct RICaction_NotAdmitted_ItemIEs, _asn_ctx),
+ asn_MAP_RICaction_NotAdmitted_ItemIEs_tag2el_9,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RICaction_NotAdmitted_ItemIEs = {
+ "RICaction-NotAdmitted-ItemIEs",
+ "RICaction-NotAdmitted-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9,
+ sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9)
+ /sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[0]), /* 1 */
+ asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9, /* Same as above */
+ sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9)
+ /sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RICaction_NotAdmitted_ItemIEs_9,
+ 3, /* Elements count */
+ &asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_16[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscription_withCause_ItemIEs__value, choice.RICsubscription_withCause_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RICsubscription_withCause_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICsubscription-withCause-Item"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_16[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICsubscription-withCause-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_16 = {
+ sizeof(struct RICsubscription_withCause_ItemIEs__value),
+ offsetof(struct RICsubscription_withCause_ItemIEs__value, _asn_ctx),
+ offsetof(struct RICsubscription_withCause_ItemIEs__value, present),
+ sizeof(((struct RICsubscription_withCause_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_16,
+ 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_value_16 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_16,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_16 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RICsubscription_withCause_ItemIEs_13[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscription_withCause_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_14, &asn_PER_memb_id_constr_14, memb_id_constraint_13 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscription_withCause_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_RICsubscription_withCause_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_15, &asn_PER_memb_criticality_constr_15, memb_criticality_constraint_13 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscription_withCause_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_16,
+ select_RICsubscription_withCause_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_16, &asn_PER_memb_value_constr_16, memb_value_constraint_13 },
+ 0, 0, /* No default value */
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RICsubscription_withCause_ItemIEs_tags_13[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscription_withCause_ItemIEs_tag2el_13[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscription_withCause_ItemIEs_specs_13 = {
+ sizeof(struct RICsubscription_withCause_ItemIEs),
+ offsetof(struct RICsubscription_withCause_ItemIEs, _asn_ctx),
+ asn_MAP_RICsubscription_withCause_ItemIEs_tag2el_13,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RICsubscription_withCause_ItemIEs = {
+ "RICsubscription-withCause-ItemIEs",
+ "RICsubscription-withCause-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RICsubscription_withCause_ItemIEs_tags_13,
+ sizeof(asn_DEF_RICsubscription_withCause_ItemIEs_tags_13)
+ /sizeof(asn_DEF_RICsubscription_withCause_ItemIEs_tags_13[0]), /* 1 */
+ asn_DEF_RICsubscription_withCause_ItemIEs_tags_13, /* Same as above */
+ sizeof(asn_DEF_RICsubscription_withCause_ItemIEs_tags_13)
+ /sizeof(asn_DEF_RICsubscription_withCause_ItemIEs_tags_13[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RICsubscription_withCause_ItemIEs_13,
+ 3, /* Elements count */
+ &asn_SPC_RICsubscription_withCause_ItemIEs_specs_13 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_20[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_ItemIEs__value, choice.E2connectionUpdate_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2connectionUpdate_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2connectionUpdate-Item"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_20[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2connectionUpdate-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_20 = {
+ sizeof(struct E2connectionUpdate_ItemIEs__value),
+ offsetof(struct E2connectionUpdate_ItemIEs__value, _asn_ctx),
+ offsetof(struct E2connectionUpdate_ItemIEs__value, present),
+ sizeof(((struct E2connectionUpdate_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_20,
+ 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_value_20 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_20,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_20 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2connectionUpdate_ItemIEs_17[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_18, &asn_PER_memb_id_constr_18, memb_id_constraint_17 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_E2connectionUpdate_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_19, &asn_PER_memb_criticality_constr_19, memb_criticality_constraint_17 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_20,
+ select_E2connectionUpdate_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_20, &asn_PER_memb_value_constr_20, memb_value_constraint_17 },
+ 0, 0, /* No default value */
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdate_ItemIEs_tags_17[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdate_ItemIEs_tag2el_17[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdate_ItemIEs_specs_17 = {
+ sizeof(struct E2connectionUpdate_ItemIEs),
+ offsetof(struct E2connectionUpdate_ItemIEs, _asn_ctx),
+ asn_MAP_E2connectionUpdate_ItemIEs_tag2el_17,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2connectionUpdate_ItemIEs = {
+ "E2connectionUpdate-ItemIEs",
+ "E2connectionUpdate-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2connectionUpdate_ItemIEs_tags_17,
+ sizeof(asn_DEF_E2connectionUpdate_ItemIEs_tags_17)
+ /sizeof(asn_DEF_E2connectionUpdate_ItemIEs_tags_17[0]), /* 1 */
+ asn_DEF_E2connectionUpdate_ItemIEs_tags_17, /* Same as above */
+ sizeof(asn_DEF_E2connectionUpdate_ItemIEs_tags_17)
+ /sizeof(asn_DEF_E2connectionUpdate_ItemIEs_tags_17[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2connectionUpdate_ItemIEs_17,
+ 3, /* Elements count */
+ &asn_SPC_E2connectionUpdate_ItemIEs_specs_17 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_24[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateRemove_ItemIEs__value, choice.E2connectionUpdateRemove_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2connectionUpdateRemove_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2connectionUpdateRemove-Item"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_24[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2connectionUpdateRemove-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_24 = {
+ sizeof(struct E2connectionUpdateRemove_ItemIEs__value),
+ offsetof(struct E2connectionUpdateRemove_ItemIEs__value, _asn_ctx),
+ offsetof(struct E2connectionUpdateRemove_ItemIEs__value, present),
+ sizeof(((struct E2connectionUpdateRemove_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_24,
+ 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_value_24 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_24,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_24 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2connectionUpdateRemove_ItemIEs_21[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateRemove_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_22, &asn_PER_memb_id_constr_22, memb_id_constraint_21 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateRemove_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_E2connectionUpdateRemove_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_23, &asn_PER_memb_criticality_constr_23, memb_criticality_constraint_21 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateRemove_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_24,
+ select_E2connectionUpdateRemove_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_24, &asn_PER_memb_value_constr_24, memb_value_constraint_21 },
+ 0, 0, /* No default value */
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdateRemove_ItemIEs_tags_21[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdateRemove_ItemIEs_tag2el_21[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateRemove_ItemIEs_specs_21 = {
+ sizeof(struct E2connectionUpdateRemove_ItemIEs),
+ offsetof(struct E2connectionUpdateRemove_ItemIEs, _asn_ctx),
+ asn_MAP_E2connectionUpdateRemove_ItemIEs_tag2el_21,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateRemove_ItemIEs = {
+ "E2connectionUpdateRemove-ItemIEs",
+ "E2connectionUpdateRemove-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2connectionUpdateRemove_ItemIEs_tags_21,
+ sizeof(asn_DEF_E2connectionUpdateRemove_ItemIEs_tags_21)
+ /sizeof(asn_DEF_E2connectionUpdateRemove_ItemIEs_tags_21[0]), /* 1 */
+ asn_DEF_E2connectionUpdateRemove_ItemIEs_tags_21, /* Same as above */
+ sizeof(asn_DEF_E2connectionUpdateRemove_ItemIEs_tags_21)
+ /sizeof(asn_DEF_E2connectionUpdateRemove_ItemIEs_tags_21[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2connectionUpdateRemove_ItemIEs_21,
+ 3, /* Elements count */
+ &asn_SPC_E2connectionUpdateRemove_ItemIEs_specs_21 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_28[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionSetupFailed_ItemIEs__value, choice.E2connectionSetupFailed_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2connectionSetupFailed_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2connectionSetupFailed-Item"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_28[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2connectionSetupFailed-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_28 = {
+ sizeof(struct E2connectionSetupFailed_ItemIEs__value),
+ offsetof(struct E2connectionSetupFailed_ItemIEs__value, _asn_ctx),
+ offsetof(struct E2connectionSetupFailed_ItemIEs__value, present),
+ sizeof(((struct E2connectionSetupFailed_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_28,
+ 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_value_28 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_28,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_28 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2connectionSetupFailed_ItemIEs_25[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionSetupFailed_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_26, &asn_PER_memb_id_constr_26, memb_id_constraint_25 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionSetupFailed_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_E2connectionSetupFailed_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_27, &asn_PER_memb_criticality_constr_27, memb_criticality_constraint_25 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2connectionSetupFailed_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_28,
+ select_E2connectionSetupFailed_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_28, &asn_PER_memb_value_constr_28, memb_value_constraint_25 },
+ 0, 0, /* No default value */
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionSetupFailed_ItemIEs_tags_25[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionSetupFailed_ItemIEs_tag2el_25[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionSetupFailed_ItemIEs_specs_25 = {
+ sizeof(struct E2connectionSetupFailed_ItemIEs),
+ offsetof(struct E2connectionSetupFailed_ItemIEs, _asn_ctx),
+ asn_MAP_E2connectionSetupFailed_ItemIEs_tag2el_25,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2connectionSetupFailed_ItemIEs = {
+ "E2connectionSetupFailed-ItemIEs",
+ "E2connectionSetupFailed-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2connectionSetupFailed_ItemIEs_tags_25,
+ sizeof(asn_DEF_E2connectionSetupFailed_ItemIEs_tags_25)
+ /sizeof(asn_DEF_E2connectionSetupFailed_ItemIEs_tags_25[0]), /* 1 */
+ asn_DEF_E2connectionSetupFailed_ItemIEs_tags_25, /* Same as above */
+ sizeof(asn_DEF_E2connectionSetupFailed_ItemIEs_tags_25)
+ /sizeof(asn_DEF_E2connectionSetupFailed_ItemIEs_tags_25[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2connectionSetupFailed_ItemIEs_25,
+ 3, /* Elements count */
+ &asn_SPC_E2connectionSetupFailed_ItemIEs_specs_25 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_32[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAddition_ItemIEs__value, choice.E2nodeComponentConfigAddition_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeComponentConfigAddition_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2nodeComponentConfigAddition-Item"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_32[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigAddition-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_32 = {
+ sizeof(struct E2nodeComponentConfigAddition_ItemIEs__value),
+ offsetof(struct E2nodeComponentConfigAddition_ItemIEs__value, _asn_ctx),
+ offsetof(struct E2nodeComponentConfigAddition_ItemIEs__value, present),
+ sizeof(((struct E2nodeComponentConfigAddition_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_32,
+ 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_value_32 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_32,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_32 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAddition_ItemIEs_29[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAddition_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_30, &asn_PER_memb_id_constr_30, memb_id_constraint_29 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAddition_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_E2nodeComponentConfigAddition_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_31, &asn_PER_memb_criticality_constr_31, memb_criticality_constraint_29 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAddition_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_32,
+ select_E2nodeComponentConfigAddition_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_32, &asn_PER_memb_value_constr_32, memb_value_constraint_29 },
+ 0, 0, /* No default value */
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_29[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigAddition_ItemIEs_tag2el_29[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAddition_ItemIEs_specs_29 = {
+ sizeof(struct E2nodeComponentConfigAddition_ItemIEs),
+ offsetof(struct E2nodeComponentConfigAddition_ItemIEs, _asn_ctx),
+ asn_MAP_E2nodeComponentConfigAddition_ItemIEs_tag2el_29,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAddition_ItemIEs = {
+ "E2nodeComponentConfigAddition-ItemIEs",
+ "E2nodeComponentConfigAddition-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_29,
+ sizeof(asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_29)
+ /sizeof(asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_29[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_29, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_29)
+ /sizeof(asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_29[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigAddition_ItemIEs_29,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigAddition_ItemIEs_specs_29 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_36[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdate_ItemIEs__value, choice.E2nodeComponentConfigUpdate_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeComponentConfigUpdate_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2nodeComponentConfigUpdate-Item"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_36[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigUpdate-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_36 = {
+ sizeof(struct E2nodeComponentConfigUpdate_ItemIEs__value),
+ offsetof(struct E2nodeComponentConfigUpdate_ItemIEs__value, _asn_ctx),
+ offsetof(struct E2nodeComponentConfigUpdate_ItemIEs__value, present),
+ sizeof(((struct E2nodeComponentConfigUpdate_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_36,
+ 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_value_36 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_36,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_36 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdate_ItemIEs_33[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdate_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_34, &asn_PER_memb_id_constr_34, memb_id_constraint_33 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdate_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_E2nodeComponentConfigUpdate_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_35, &asn_PER_memb_criticality_constr_35, memb_criticality_constraint_33 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdate_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_36,
+ select_E2nodeComponentConfigUpdate_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_36, &asn_PER_memb_value_constr_36, memb_value_constraint_33 },
+ 0, 0, /* No default value */
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_33[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigUpdate_ItemIEs_tag2el_33[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdate_ItemIEs_specs_33 = {
+ sizeof(struct E2nodeComponentConfigUpdate_ItemIEs),
+ offsetof(struct E2nodeComponentConfigUpdate_ItemIEs, _asn_ctx),
+ asn_MAP_E2nodeComponentConfigUpdate_ItemIEs_tag2el_33,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdate_ItemIEs = {
+ "E2nodeComponentConfigUpdate-ItemIEs",
+ "E2nodeComponentConfigUpdate-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_33,
+ sizeof(asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_33)
+ /sizeof(asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_33[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_33, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_33)
+ /sizeof(asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_33[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigUpdate_ItemIEs_33,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigUpdate_ItemIEs_specs_33 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_40[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemoval_ItemIEs__value, choice.E2nodeComponentConfigRemoval_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeComponentConfigRemoval_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2nodeComponentConfigRemoval-Item"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_40[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigRemoval-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_40 = {
+ sizeof(struct E2nodeComponentConfigRemoval_ItemIEs__value),
+ offsetof(struct E2nodeComponentConfigRemoval_ItemIEs__value, _asn_ctx),
+ offsetof(struct E2nodeComponentConfigRemoval_ItemIEs__value, present),
+ sizeof(((struct E2nodeComponentConfigRemoval_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_40,
+ 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_value_40 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_40,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_40 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemoval_ItemIEs_37[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemoval_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_38, &asn_PER_memb_id_constr_38, memb_id_constraint_37 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemoval_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_E2nodeComponentConfigRemoval_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_39, &asn_PER_memb_criticality_constr_39, memb_criticality_constraint_37 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemoval_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_40,
+ select_E2nodeComponentConfigRemoval_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_40, &asn_PER_memb_value_constr_40, memb_value_constraint_37 },
+ 0, 0, /* No default value */
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_37[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigRemoval_ItemIEs_tag2el_37[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemoval_ItemIEs_specs_37 = {
+ sizeof(struct E2nodeComponentConfigRemoval_ItemIEs),
+ offsetof(struct E2nodeComponentConfigRemoval_ItemIEs, _asn_ctx),
+ asn_MAP_E2nodeComponentConfigRemoval_ItemIEs_tag2el_37,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemoval_ItemIEs = {
+ "E2nodeComponentConfigRemoval-ItemIEs",
+ "E2nodeComponentConfigRemoval-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_37,
+ sizeof(asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_37)
+ /sizeof(asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_37[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_37, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_37)
+ /sizeof(asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_37[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigRemoval_ItemIEs_37,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigRemoval_ItemIEs_specs_37 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_44[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeTNLassociationRemoval_ItemIEs__value, choice.E2nodeTNLassociationRemoval_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeTNLassociationRemoval_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2nodeTNLassociationRemoval-Item"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_44[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeTNLassociationRemoval-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_44 = {
+ sizeof(struct E2nodeTNLassociationRemoval_ItemIEs__value),
+ offsetof(struct E2nodeTNLassociationRemoval_ItemIEs__value, _asn_ctx),
+ offsetof(struct E2nodeTNLassociationRemoval_ItemIEs__value, present),
+ sizeof(((struct E2nodeTNLassociationRemoval_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_44,
+ 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_value_44 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_44,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_44 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2nodeTNLassociationRemoval_ItemIEs_41[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeTNLassociationRemoval_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_42, &asn_PER_memb_id_constr_42, memb_id_constraint_41 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeTNLassociationRemoval_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_E2nodeTNLassociationRemoval_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_43, &asn_PER_memb_criticality_constr_43, memb_criticality_constraint_41 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeTNLassociationRemoval_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_44,
+ select_E2nodeTNLassociationRemoval_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_44, &asn_PER_memb_value_constr_44, memb_value_constraint_41 },
+ 0, 0, /* No default value */
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_41[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeTNLassociationRemoval_ItemIEs_tag2el_41[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeTNLassociationRemoval_ItemIEs_specs_41 = {
+ sizeof(struct E2nodeTNLassociationRemoval_ItemIEs),
+ offsetof(struct E2nodeTNLassociationRemoval_ItemIEs, _asn_ctx),
+ asn_MAP_E2nodeTNLassociationRemoval_ItemIEs_tag2el_41,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeTNLassociationRemoval_ItemIEs = {
+ "E2nodeTNLassociationRemoval-ItemIEs",
+ "E2nodeTNLassociationRemoval-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_41,
+ sizeof(asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_41)
+ /sizeof(asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_41[0]), /* 1 */
+ asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_41, /* Same as above */
+ sizeof(asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_41)
+ /sizeof(asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_41[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeTNLassociationRemoval_ItemIEs_41,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeTNLassociationRemoval_ItemIEs_specs_41 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_48[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs__value, choice.E2nodeComponentConfigAdditionAck_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeComponentConfigAdditionAck_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2nodeComponentConfigAdditionAck-Item"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_48[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigAdditionAck-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_48 = {
+ sizeof(struct E2nodeComponentConfigAdditionAck_ItemIEs__value),
+ offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs__value, _asn_ctx),
+ offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs__value, present),
+ sizeof(((struct E2nodeComponentConfigAdditionAck_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_48,
+ 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_value_48 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_48,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_48 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAdditionAck_ItemIEs_45[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_46, &asn_PER_memb_id_constr_46, memb_id_constraint_45 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_E2nodeComponentConfigAdditionAck_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_47, &asn_PER_memb_criticality_constr_47, memb_criticality_constraint_45 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_48,
+ select_E2nodeComponentConfigAdditionAck_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_48, &asn_PER_memb_value_constr_48, memb_value_constraint_45 },
+ 0, 0, /* No default value */
+ "value"
+ },
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_30 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_30 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_E2nodeComponentConfigAdditionAck_ItemIEs_tags_45[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_31 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_31 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_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigAdditionAck_ItemIEs_tag2el_45[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_32 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_32 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAdditionAck_ItemIEs_specs_45 = {
+ sizeof(struct E2nodeComponentConfigAdditionAck_ItemIEs),
+ offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs, _asn_ctx),
+ asn_MAP_E2nodeComponentConfigAdditionAck_ItemIEs_tag2el_45,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_34 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_34 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs = {
+ "E2nodeComponentConfigAdditionAck-ItemIEs",
+ "E2nodeComponentConfigAdditionAck-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_45,
+ sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_45)
+ /sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_45[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_45, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_45)
+ /sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_45[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigAdditionAck_ItemIEs_45,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigAdditionAck_ItemIEs_specs_45 /* Additional specs */
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_35 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_35 CC_NOTUSED = {
- { APC_CONSTRAINED, 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_value_52[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs__value, choice.E2nodeComponentConfigUpdateAck_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeComponentConfigUpdateAck_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2nodeComponentConfigUpdateAck-Item"
+ },
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_36 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_36 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_52[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigUpdateAck-Item */
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_38 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_38 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_52 = {
+ sizeof(struct E2nodeComponentConfigUpdateAck_ItemIEs__value),
+ offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs__value, _asn_ctx),
+ offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs__value, present),
+ sizeof(((struct E2nodeComponentConfigUpdateAck_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_52,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ -1 /* Extensions start */
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_39 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_39 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_52 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_52,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_52 /* Additional specs */
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_40 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_40 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdateAck_ItemIEs_49[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_50, &asn_PER_memb_id_constr_50, memb_id_constraint_49 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_E2nodeComponentConfigUpdateAck_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_51, &asn_PER_memb_criticality_constr_51, memb_criticality_constraint_49 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_52,
+ select_E2nodeComponentConfigUpdateAck_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_52, &asn_PER_memb_value_constr_52, memb_value_constraint_49 },
+ 0, 0, /* No default value */
+ "value"
+ },
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_42 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_42 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_E2nodeComponentConfigUpdateAck_ItemIEs_tags_49[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_43 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_43 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_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigUpdateAck_ItemIEs_tag2el_49[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_44 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_44 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdateAck_ItemIEs_specs_49 = {
+ sizeof(struct E2nodeComponentConfigUpdateAck_ItemIEs),
+ offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs, _asn_ctx),
+ asn_MAP_E2nodeComponentConfigUpdateAck_ItemIEs_tag2el_49,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_46 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_46 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs = {
+ "E2nodeComponentConfigUpdateAck-ItemIEs",
+ "E2nodeComponentConfigUpdateAck-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_49,
+ sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_49)
+ /sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_49[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_49, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_49)
+ /sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_49[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigUpdateAck_ItemIEs_49,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigUpdateAck_ItemIEs_specs_49 /* Additional specs */
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_47 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_47 CC_NOTUSED = {
- { APC_CONSTRAINED, 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_value_56[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs__value, choice.E2nodeComponentConfigRemovalAck_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeComponentConfigRemovalAck_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2nodeComponentConfigRemovalAck-Item"
+ },
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_48 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_48 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_56[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigRemovalAck-Item */
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_50 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_50 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_56 = {
+ sizeof(struct E2nodeComponentConfigRemovalAck_ItemIEs__value),
+ offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs__value, _asn_ctx),
+ offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs__value, present),
+ sizeof(((struct E2nodeComponentConfigRemovalAck_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_56,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ -1 /* Extensions start */
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_51 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_51 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_56 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_56,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_56 /* Additional specs */
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_52 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_52 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemovalAck_ItemIEs_53[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_54, &asn_PER_memb_id_constr_54, memb_id_constraint_53 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_E2nodeComponentConfigRemovalAck_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_55, &asn_PER_memb_criticality_constr_55, memb_criticality_constraint_53 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_56,
+ select_E2nodeComponentConfigRemovalAck_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_56, &asn_PER_memb_value_constr_56, memb_value_constraint_53 },
+ 0, 0, /* No default value */
+ "value"
+ },
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_54 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_54 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_E2nodeComponentConfigRemovalAck_ItemIEs_tags_53[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_55 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_55 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_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigRemovalAck_ItemIEs_tag2el_53[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_56 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_56 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemovalAck_ItemIEs_specs_53 = {
+ sizeof(struct E2nodeComponentConfigRemovalAck_ItemIEs),
+ offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs, _asn_ctx),
+ asn_MAP_E2nodeComponentConfigRemovalAck_ItemIEs_tag2el_53,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_58 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_58 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs = {
+ "E2nodeComponentConfigRemovalAck-ItemIEs",
+ "E2nodeComponentConfigRemovalAck-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_53,
+ sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_53)
+ /sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_53[0]), /* 1 */
+ asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_53, /* Same as above */
+ sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_53)
+ /sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_53[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigRemovalAck_ItemIEs_53,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigRemovalAck_ItemIEs_specs_53 /* Additional specs */
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_59 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_59 CC_NOTUSED = {
- { APC_CONSTRAINED, 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_value_60[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs__value, choice.RANfunction_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANfunction_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RANfunction-Item"
+ },
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_60 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_60 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_60[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunction-Item */
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_62 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_62 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_60 = {
+ sizeof(struct RANfunction_ItemIEs__value),
+ offsetof(struct RANfunction_ItemIEs__value, _asn_ctx),
+ offsetof(struct RANfunction_ItemIEs__value, present),
+ sizeof(((struct RANfunction_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_60,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ -1 /* Extensions start */
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_63 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_63 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_60 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_60,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_60 /* Additional specs */
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_64 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_64 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+
+asn_TYPE_member_t asn_MBR_RANfunction_ItemIEs_57[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_58, &asn_PER_memb_id_constr_58, memb_id_constraint_57 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_RANfunction_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_59, &asn_PER_memb_criticality_constr_59, memb_criticality_constraint_57 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_60,
+ select_RANfunction_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_60, &asn_PER_memb_value_constr_60, memb_value_constraint_57 },
+ 0, 0, /* No default value */
+ "value"
+ },
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_66 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_66 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_RANfunction_ItemIEs_tags_57[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_67 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_67 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_TYPE_tag2member_t asn_MAP_RANfunction_ItemIEs_tag2el_57[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_68 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_68 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+asn_SEQUENCE_specifics_t asn_SPC_RANfunction_ItemIEs_specs_57 = {
+ sizeof(struct RANfunction_ItemIEs),
+ offsetof(struct RANfunction_ItemIEs, _asn_ctx),
+ asn_MAP_RANfunction_ItemIEs_tag2el_57,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_70 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_70 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+asn_TYPE_descriptor_t asn_DEF_RANfunction_ItemIEs = {
+ "RANfunction-ItemIEs",
+ "RANfunction-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANfunction_ItemIEs_tags_57,
+ sizeof(asn_DEF_RANfunction_ItemIEs_tags_57)
+ /sizeof(asn_DEF_RANfunction_ItemIEs_tags_57[0]), /* 1 */
+ asn_DEF_RANfunction_ItemIEs_tags_57, /* Same as above */
+ sizeof(asn_DEF_RANfunction_ItemIEs_tags_57)
+ /sizeof(asn_DEF_RANfunction_ItemIEs_tags_57[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANfunction_ItemIEs_57,
+ 3, /* Elements count */
+ &asn_SPC_RANfunction_ItemIEs_specs_57 /* Additional specs */
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_71 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_71 CC_NOTUSED = {
- { APC_CONSTRAINED, 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_value_64[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs__value, choice.RANfunctionID_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANfunctionID_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RANfunctionID-Item"
+ },
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_72 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_72 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_64[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionID-Item */
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_74 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_74 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_64 = {
+ sizeof(struct RANfunctionID_ItemIEs__value),
+ offsetof(struct RANfunctionID_ItemIEs__value, _asn_ctx),
+ offsetof(struct RANfunctionID_ItemIEs__value, present),
+ sizeof(((struct RANfunctionID_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_64,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ -1 /* Extensions start */
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_75 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_75 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_64 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_64,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_64 /* Additional specs */
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_76 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_76 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+
+asn_TYPE_member_t asn_MBR_RANfunctionID_ItemIEs_61[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_62, &asn_PER_memb_id_constr_62, memb_id_constraint_61 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_RANfunctionID_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_63, &asn_PER_memb_criticality_constr_63, memb_criticality_constraint_61 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_64,
+ select_RANfunctionID_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_64, &asn_PER_memb_value_constr_64, memb_value_constraint_61 },
+ 0, 0, /* No default value */
+ "value"
+ },
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_78 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_78 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_RANfunctionID_ItemIEs_tags_61[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_79 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_79 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_TYPE_tag2member_t asn_MAP_RANfunctionID_ItemIEs_tag2el_61[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_80 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_80 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+asn_SEQUENCE_specifics_t asn_SPC_RANfunctionID_ItemIEs_specs_61 = {
+ sizeof(struct RANfunctionID_ItemIEs),
+ offsetof(struct RANfunctionID_ItemIEs, _asn_ctx),
+ asn_MAP_RANfunctionID_ItemIEs_tag2el_61,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_82 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_82 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+asn_TYPE_descriptor_t asn_DEF_RANfunctionID_ItemIEs = {
+ "RANfunctionID-ItemIEs",
+ "RANfunctionID-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANfunctionID_ItemIEs_tags_61,
+ sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_61)
+ /sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_61[0]), /* 1 */
+ asn_DEF_RANfunctionID_ItemIEs_tags_61, /* Same as above */
+ sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_61)
+ /sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_61[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANfunctionID_ItemIEs_61,
+ 3, /* Elements count */
+ &asn_SPC_RANfunctionID_ItemIEs_specs_61 /* Additional specs */
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_83 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_83 CC_NOTUSED = {
- { APC_CONSTRAINED, 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_value_68[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs__value, choice.RANfunctionIDcause_Item),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RANfunctionIDcause_Item,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RANfunctionIDcause-Item"
+ },
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_84 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_84 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_68[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionIDcause-Item */
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_86 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_86 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_68 = {
+ sizeof(struct RANfunctionIDcause_ItemIEs__value),
+ offsetof(struct RANfunctionIDcause_ItemIEs__value, _asn_ctx),
+ offsetof(struct RANfunctionIDcause_ItemIEs__value, present),
+ sizeof(((struct RANfunctionIDcause_ItemIEs__value *)0)->present),
+ asn_MAP_value_tag2el_68,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ -1 /* Extensions start */
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_87 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_87 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_68 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_68,
+ 1, /* Elements count */
+ &asn_SPC_value_specs_68 /* Additional specs */
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_88 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_88 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+
+asn_TYPE_member_t asn_MBR_RANfunctionIDcause_ItemIEs_65[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_66, &asn_PER_memb_id_constr_66, memb_id_constraint_65 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_RANfunctionIDcause_ItemIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_67, &asn_PER_memb_criticality_constr_67, memb_criticality_constraint_65 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_68,
+ select_RANfunctionIDcause_ItemIEs_value_type,
+ { &asn_OER_memb_value_constr_68, &asn_PER_memb_value_constr_68, memb_value_constraint_65 },
+ 0, 0, /* No default value */
+ "value"
+ },
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_90 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_90 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_RANfunctionIDcause_ItemIEs_tags_65[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_91 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_91 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_TYPE_tag2member_t asn_MAP_RANfunctionIDcause_ItemIEs_tag2el_65[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_92 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_92 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+asn_SEQUENCE_specifics_t asn_SPC_RANfunctionIDcause_ItemIEs_specs_65 = {
+ sizeof(struct RANfunctionIDcause_ItemIEs),
+ offsetof(struct RANfunctionIDcause_ItemIEs, _asn_ctx),
+ asn_MAP_RANfunctionIDcause_ItemIEs_tag2el_65,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_94 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_94 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+asn_TYPE_descriptor_t asn_DEF_RANfunctionIDcause_ItemIEs = {
+ "RANfunctionIDcause-ItemIEs",
+ "RANfunctionIDcause-ItemIEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RANfunctionIDcause_ItemIEs_tags_65,
+ sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_65)
+ /sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_65[0]), /* 1 */
+ asn_DEF_RANfunctionIDcause_ItemIEs_tags_65, /* Same as above */
+ sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_65)
+ /sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_65[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RANfunctionIDcause_ItemIEs_65,
+ 3, /* Elements count */
+ &asn_SPC_RANfunctionIDcause_ItemIEs_specs_65 /* Additional specs */
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_95 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_95 CC_NOTUSED = {
- { APC_CONSTRAINED, 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_value_72[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RICrequestID),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RICrequestID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICrequestID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RANfunctionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_RANfunctionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RANfunctionID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RICsubscriptionDetails),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RICsubscriptionDetails,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICsubscriptionDetails"
+ },
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_96 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_96 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static const unsigned asn_MAP_value_to_canonical_72[] = { 1, 0, 2 };
+static const unsigned asn_MAP_value_from_canonical_72[] = { 1, 0, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_72[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RICrequestID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* RICsubscriptionDetails */
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_98 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_98 CC_NOTUSED = {
- { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_72 = {
+ sizeof(struct RICsubscriptionRequest_IEs__value),
+ offsetof(struct RICsubscriptionRequest_IEs__value, _asn_ctx),
+ offsetof(struct RICsubscriptionRequest_IEs__value, present),
+ sizeof(((struct RICsubscriptionRequest_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_72,
+ 3, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_72,
+ asn_MAP_value_from_canonical_72,
+ -1 /* Extensions start */
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_99 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_99 CC_NOTUSED = {
- { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_72 = {
+ "value",
+ "value",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ { 0, 0, OPEN_TYPE_constraint },
+ asn_MBR_value_72,
+ 3, /* Elements count */
+ &asn_SPC_value_specs_72 /* Additional specs */
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_100 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_100 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+
+asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_IEs_69[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_IDE2,
+ 0,
+ { &asn_OER_memb_id_constr_70, &asn_PER_memb_id_constr_70, memb_id_constraint_69 },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CriticalityE2,
+ select_RICsubscriptionRequest_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_71, &asn_PER_memb_criticality_constr_71, memb_criticality_constraint_69 },
+ 0, 0, /* No default value */
+ "criticality"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_value_72,
+ select_RICsubscriptionRequest_IEs_value_type,
+ { &asn_OER_memb_value_constr_72, &asn_PER_memb_value_constr_72, memb_value_constraint_69 },
+ 0, 0, /* No default value */
+ "value"
+ },
};
-static asn_oer_constraints_t asn_OER_memb_id_constr_102 CC_NOTUSED = {
- { 2, 1 } /* (0..65535) */,
- -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_102 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_RICsubscriptionRequest_IEs_tags_69[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_103 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_103 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_TYPE_tag2member_t asn_MAP_RICsubscriptionRequest_IEs_tag2el_69[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-static asn_oer_constraints_t asn_OER_memb_value_constr_104 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_104 CC_NOTUSED = {
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_UNCONSTRAINED, -1, -1, 0, 0 },
- 0, 0 /* No PER value map */
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionRequest_IEs_specs_69 = {
+ sizeof(struct RICsubscriptionRequest_IEs),
+ offsetof(struct RICsubscriptionRequest_IEs, _asn_ctx),
+ asn_MAP_RICsubscriptionRequest_IEs_tag2el_69,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
};
-static asn_TYPE_member_t asn_MBR_value_4[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs__value, choice.RICaction_ToBeSetup_Item),
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionRequest_IEs = {
+ "RICsubscriptionRequest-IEs",
+ "RICsubscriptionRequest-IEs",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RICsubscriptionRequest_IEs_tags_69,
+ sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_69)
+ /sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_69[0]), /* 1 */
+ asn_DEF_RICsubscriptionRequest_IEs_tags_69, /* Same as above */
+ sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_69)
+ /sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_69[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RICsubscriptionRequest_IEs_69,
+ 3, /* Elements count */
+ &asn_SPC_RICsubscriptionRequest_IEs_specs_69 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_76[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICrequestID),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RICaction_ToBeSetup_Item,
+ &asn_DEF_RICrequestID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICaction-ToBeSetup-Item"
+ "RICrequestID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RANfunctionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_RANfunctionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RANfunctionID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICaction_Admitted_List),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RICaction_Admitted_List,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICaction-Admitted-List"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICaction_NotAdmitted_List),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RICaction_NotAdmitted_List,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICaction-NotAdmitted-List"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-ToBeSetup-Item */
+static const unsigned asn_MAP_value_to_canonical_76[] = { 1, 0, 2, 3 };
+static const unsigned asn_MAP_value_from_canonical_76[] = { 1, 0, 2, 3 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_76[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* RICrequestID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 1 }, /* RICaction-Admitted-List */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 0 } /* RICaction-NotAdmitted-List */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
- sizeof(struct RICaction_ToBeSetup_ItemIEs__value),
- offsetof(struct RICaction_ToBeSetup_ItemIEs__value, _asn_ctx),
- offsetof(struct RICaction_ToBeSetup_ItemIEs__value, present),
- sizeof(((struct RICaction_ToBeSetup_ItemIEs__value *)0)->present),
- asn_MAP_value_tag2el_4,
- 1, /* Count of tags in the map */
- 0, 0,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_76 = {
+ sizeof(struct RICsubscriptionResponse_IEs__value),
+ offsetof(struct RICsubscriptionResponse_IEs__value, _asn_ctx),
+ offsetof(struct RICsubscriptionResponse_IEs__value, present),
+ sizeof(((struct RICsubscriptionResponse_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_76,
+ 4, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_76,
+ asn_MAP_value_from_canonical_76,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_4 = {
+asn_TYPE_descriptor_t asn_DEF_value_76 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_4,
- 1, /* Elements count */
- &asn_SPC_value_specs_4 /* Additional specs */
+ asn_MBR_value_76,
+ 4, /* Elements count */
+ &asn_SPC_value_specs_76 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICaction_ToBeSetup_ItemIEs_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, id),
+asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_IEs_73[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_2, &asn_PER_memb_id_constr_2, memb_id_constraint_1 },
+ { &asn_OER_memb_id_constr_74, &asn_PER_memb_id_constr_74, memb_id_constraint_73 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RICaction_ToBeSetup_ItemIEs_criticality_type,
- { &asn_OER_memb_criticality_constr_3, &asn_PER_memb_criticality_constr_3, memb_criticality_constraint_1 },
+ select_RICsubscriptionResponse_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_75, &asn_PER_memb_criticality_constr_75, memb_criticality_constraint_73 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_4,
- select_RICaction_ToBeSetup_ItemIEs_value_type,
- { &asn_OER_memb_value_constr_4, &asn_PER_memb_value_constr_4, memb_value_constraint_1 },
+ &asn_DEF_value_76,
+ select_RICsubscriptionResponse_IEs_value_type,
+ { &asn_OER_memb_value_constr_76, &asn_PER_memb_value_constr_76, memb_value_constraint_73 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionResponse_IEs_tags_73[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICaction_ToBeSetup_ItemIEs_tag2el_1[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionResponse_IEs_tag2el_73[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1 = {
- sizeof(struct RICaction_ToBeSetup_ItemIEs),
- offsetof(struct RICaction_ToBeSetup_ItemIEs, _asn_ctx),
- asn_MAP_RICaction_ToBeSetup_ItemIEs_tag2el_1,
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionResponse_IEs_specs_73 = {
+ sizeof(struct RICsubscriptionResponse_IEs),
+ offsetof(struct RICsubscriptionResponse_IEs, _asn_ctx),
+ asn_MAP_RICsubscriptionResponse_IEs_tag2el_73,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RICaction_ToBeSetup_ItemIEs = {
- "RICaction-ToBeSetup-ItemIEs",
- "RICaction-ToBeSetup-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionResponse_IEs = {
+ "RICsubscriptionResponse-IEs",
+ "RICsubscriptionResponse-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1,
- sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1)
- /sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[0]), /* 1 */
- asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1, /* Same as above */
- sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1)
- /sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[0]), /* 1 */
+ asn_DEF_RICsubscriptionResponse_IEs_tags_73,
+ sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_73)
+ /sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_73[0]), /* 1 */
+ asn_DEF_RICsubscriptionResponse_IEs_tags_73, /* Same as above */
+ sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_73)
+ /sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_73[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICaction_ToBeSetup_ItemIEs_1,
+ asn_MBR_RICsubscriptionResponse_IEs_73,
3, /* Elements count */
- &asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1 /* Additional specs */
+ &asn_SPC_RICsubscriptionResponse_IEs_specs_73 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_8[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs__value, choice.RICaction_Admitted_Item),
+static asn_TYPE_member_t asn_MBR_value_80[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RICrequestID),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RICaction_Admitted_Item,
+ &asn_DEF_RICrequestID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICaction-Admitted-Item"
+ "RICrequestID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RANfunctionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_RANfunctionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RANfunctionID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.CauseE2),
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_CauseE2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "CauseE2"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.CriticalityDiagnosticsE2),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_CriticalityDiagnosticsE2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "CriticalityDiagnosticsE2"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_8[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-Admitted-Item */
+static const unsigned asn_MAP_value_to_canonical_80[] = { 1, 0, 3, 2 };
+static const unsigned asn_MAP_value_from_canonical_80[] = { 1, 0, 3, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_80[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RICrequestID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 }, /* CriticalityDiagnosticsE2 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* ricRequest */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* ricService */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* e2Node */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* transport */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 2, 0, 0 }, /* protocol */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 2, 0, 0 } /* misc */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_8 = {
- sizeof(struct RICaction_Admitted_ItemIEs__value),
- offsetof(struct RICaction_Admitted_ItemIEs__value, _asn_ctx),
- offsetof(struct RICaction_Admitted_ItemIEs__value, present),
- sizeof(((struct RICaction_Admitted_ItemIEs__value *)0)->present),
- asn_MAP_value_tag2el_8,
- 1, /* Count of tags in the map */
- 0, 0,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_80 = {
+ sizeof(struct RICsubscriptionFailure_IEs__value),
+ offsetof(struct RICsubscriptionFailure_IEs__value, _asn_ctx),
+ offsetof(struct RICsubscriptionFailure_IEs__value, present),
+ sizeof(((struct RICsubscriptionFailure_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_80,
+ 9, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_80,
+ asn_MAP_value_from_canonical_80,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_8 = {
+asn_TYPE_descriptor_t asn_DEF_value_80 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_8,
- 1, /* Elements count */
- &asn_SPC_value_specs_8 /* Additional specs */
+ asn_MBR_value_80,
+ 4, /* Elements count */
+ &asn_SPC_value_specs_80 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICaction_Admitted_ItemIEs_5[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, id),
+asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_IEs_77[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_6, &asn_PER_memb_id_constr_6, memb_id_constraint_5 },
+ { &asn_OER_memb_id_constr_78, &asn_PER_memb_id_constr_78, memb_id_constraint_77 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RICaction_Admitted_ItemIEs_criticality_type,
- { &asn_OER_memb_criticality_constr_7, &asn_PER_memb_criticality_constr_7, memb_criticality_constraint_5 },
+ select_RICsubscriptionFailure_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_79, &asn_PER_memb_criticality_constr_79, memb_criticality_constraint_77 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_8,
- select_RICaction_Admitted_ItemIEs_value_type,
- { &asn_OER_memb_value_constr_8, &asn_PER_memb_value_constr_8, memb_value_constraint_5 },
+ &asn_DEF_value_80,
+ select_RICsubscriptionFailure_IEs_value_type,
+ { &asn_OER_memb_value_constr_80, &asn_PER_memb_value_constr_80, memb_value_constraint_77 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICaction_Admitted_ItemIEs_tags_5[] = {
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionFailure_IEs_tags_77[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICaction_Admitted_ItemIEs_tag2el_5[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionFailure_IEs_tag2el_77[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICaction_Admitted_ItemIEs_specs_5 = {
- sizeof(struct RICaction_Admitted_ItemIEs),
- offsetof(struct RICaction_Admitted_ItemIEs, _asn_ctx),
- asn_MAP_RICaction_Admitted_ItemIEs_tag2el_5,
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionFailure_IEs_specs_77 = {
+ sizeof(struct RICsubscriptionFailure_IEs),
+ offsetof(struct RICsubscriptionFailure_IEs, _asn_ctx),
+ asn_MAP_RICsubscriptionFailure_IEs_tag2el_77,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RICaction_Admitted_ItemIEs = {
- "RICaction-Admitted-ItemIEs",
- "RICaction-Admitted-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionFailure_IEs = {
+ "RICsubscriptionFailure-IEs",
+ "RICsubscriptionFailure-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICaction_Admitted_ItemIEs_tags_5,
- sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5)
- /sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5[0]), /* 1 */
- asn_DEF_RICaction_Admitted_ItemIEs_tags_5, /* Same as above */
- sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5)
- /sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5[0]), /* 1 */
+ asn_DEF_RICsubscriptionFailure_IEs_tags_77,
+ sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_77)
+ /sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_77[0]), /* 1 */
+ asn_DEF_RICsubscriptionFailure_IEs_tags_77, /* Same as above */
+ sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_77)
+ /sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_77[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICaction_Admitted_ItemIEs_5,
+ asn_MBR_RICsubscriptionFailure_IEs_77,
3, /* Elements count */
- &asn_SPC_RICaction_Admitted_ItemIEs_specs_5 /* Additional specs */
+ &asn_SPC_RICsubscriptionFailure_IEs_specs_77 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_12[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs__value, choice.RICaction_NotAdmitted_Item),
+static asn_TYPE_member_t asn_MBR_value_84[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs__value, choice.RICrequestID),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RICaction_NotAdmitted_Item,
+ &asn_DEF_RICrequestID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICaction-NotAdmitted-Item"
+ "RICrequestID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs__value, choice.RANfunctionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_RANfunctionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RANfunctionID"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_12[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-NotAdmitted-Item */
+static const unsigned asn_MAP_value_to_canonical_84[] = { 1, 0 };
+static const unsigned asn_MAP_value_from_canonical_84[] = { 1, 0 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_84[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_12 = {
- sizeof(struct RICaction_NotAdmitted_ItemIEs__value),
- offsetof(struct RICaction_NotAdmitted_ItemIEs__value, _asn_ctx),
- offsetof(struct RICaction_NotAdmitted_ItemIEs__value, present),
- sizeof(((struct RICaction_NotAdmitted_ItemIEs__value *)0)->present),
- asn_MAP_value_tag2el_12,
- 1, /* Count of tags in the map */
- 0, 0,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_84 = {
+ sizeof(struct RICsubscriptionDeleteRequest_IEs__value),
+ offsetof(struct RICsubscriptionDeleteRequest_IEs__value, _asn_ctx),
+ offsetof(struct RICsubscriptionDeleteRequest_IEs__value, present),
+ sizeof(((struct RICsubscriptionDeleteRequest_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_84,
+ 2, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_84,
+ asn_MAP_value_from_canonical_84,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_12 = {
+asn_TYPE_descriptor_t asn_DEF_value_84 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_12,
- 1, /* Elements count */
- &asn_SPC_value_specs_12 /* Additional specs */
+ asn_MBR_value_84,
+ 2, /* Elements count */
+ &asn_SPC_value_specs_84 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICaction_NotAdmitted_ItemIEs_9[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, id),
+asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_IEs_81[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_10, &asn_PER_memb_id_constr_10, memb_id_constraint_9 },
+ { &asn_OER_memb_id_constr_82, &asn_PER_memb_id_constr_82, memb_id_constraint_81 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RICaction_NotAdmitted_ItemIEs_criticality_type,
- { &asn_OER_memb_criticality_constr_11, &asn_PER_memb_criticality_constr_11, memb_criticality_constraint_9 },
+ select_RICsubscriptionDeleteRequest_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_83, &asn_PER_memb_criticality_constr_83, memb_criticality_constraint_81 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_12,
- select_RICaction_NotAdmitted_ItemIEs_value_type,
- { &asn_OER_memb_value_constr_12, &asn_PER_memb_value_constr_12, memb_value_constraint_9 },
+ &asn_DEF_value_84,
+ select_RICsubscriptionDeleteRequest_IEs_value_type,
+ { &asn_OER_memb_value_constr_84, &asn_PER_memb_value_constr_84, memb_value_constraint_81 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[] = {
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_81[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICaction_NotAdmitted_ItemIEs_tag2el_9[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteRequest_IEs_tag2el_81[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9 = {
- sizeof(struct RICaction_NotAdmitted_ItemIEs),
- offsetof(struct RICaction_NotAdmitted_ItemIEs, _asn_ctx),
- asn_MAP_RICaction_NotAdmitted_ItemIEs_tag2el_9,
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_81 = {
+ sizeof(struct RICsubscriptionDeleteRequest_IEs),
+ offsetof(struct RICsubscriptionDeleteRequest_IEs, _asn_ctx),
+ asn_MAP_RICsubscriptionDeleteRequest_IEs_tag2el_81,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RICaction_NotAdmitted_ItemIEs = {
- "RICaction-NotAdmitted-ItemIEs",
- "RICaction-NotAdmitted-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequest_IEs = {
+ "RICsubscriptionDeleteRequest-IEs",
+ "RICsubscriptionDeleteRequest-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9,
- sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9)
- /sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[0]), /* 1 */
- asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9, /* Same as above */
- sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9)
- /sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[0]), /* 1 */
+ asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_81,
+ sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_81)
+ /sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_81[0]), /* 1 */
+ asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_81, /* Same as above */
+ sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_81)
+ /sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_81[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICaction_NotAdmitted_ItemIEs_9,
+ asn_MBR_RICsubscriptionDeleteRequest_IEs_81,
3, /* Elements count */
- &asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9 /* Additional specs */
+ &asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_81 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_16[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs__value, choice.RANfunction_Item),
+static asn_TYPE_member_t asn_MBR_value_88[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs__value, choice.RICrequestID),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RANfunction_Item,
+ &asn_DEF_RICrequestID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RANfunction-Item"
+ "RICrequestID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs__value, choice.RANfunctionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_RANfunctionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RANfunctionID"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_16[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunction-Item */
+static const unsigned asn_MAP_value_to_canonical_88[] = { 1, 0 };
+static const unsigned asn_MAP_value_from_canonical_88[] = { 1, 0 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_88[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_16 = {
- sizeof(struct RANfunction_ItemIEs__value),
- offsetof(struct RANfunction_ItemIEs__value, _asn_ctx),
- offsetof(struct RANfunction_ItemIEs__value, present),
- sizeof(((struct RANfunction_ItemIEs__value *)0)->present),
- asn_MAP_value_tag2el_16,
- 1, /* Count of tags in the map */
- 0, 0,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_88 = {
+ sizeof(struct RICsubscriptionDeleteResponse_IEs__value),
+ offsetof(struct RICsubscriptionDeleteResponse_IEs__value, _asn_ctx),
+ offsetof(struct RICsubscriptionDeleteResponse_IEs__value, present),
+ sizeof(((struct RICsubscriptionDeleteResponse_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_88,
+ 2, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_88,
+ asn_MAP_value_from_canonical_88,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_16 = {
+asn_TYPE_descriptor_t asn_DEF_value_88 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_16,
- 1, /* Elements count */
- &asn_SPC_value_specs_16 /* Additional specs */
+ asn_MBR_value_88,
+ 2, /* Elements count */
+ &asn_SPC_value_specs_88 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RANfunction_ItemIEs_13[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, id),
+asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_IEs_85[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_14, &asn_PER_memb_id_constr_14, memb_id_constraint_13 },
+ { &asn_OER_memb_id_constr_86, &asn_PER_memb_id_constr_86, memb_id_constraint_85 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RANfunction_ItemIEs_criticality_type,
- { &asn_OER_memb_criticality_constr_15, &asn_PER_memb_criticality_constr_15, memb_criticality_constraint_13 },
+ select_RICsubscriptionDeleteResponse_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_87, &asn_PER_memb_criticality_constr_87, memb_criticality_constraint_85 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_16,
- select_RANfunction_ItemIEs_value_type,
- { &asn_OER_memb_value_constr_16, &asn_PER_memb_value_constr_16, memb_value_constraint_13 },
+ &asn_DEF_value_88,
+ select_RICsubscriptionDeleteResponse_IEs_value_type,
+ { &asn_OER_memb_value_constr_88, &asn_PER_memb_value_constr_88, memb_value_constraint_85 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RANfunction_ItemIEs_tags_13[] = {
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_85[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RANfunction_ItemIEs_tag2el_13[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteResponse_IEs_tag2el_85[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RANfunction_ItemIEs_specs_13 = {
- sizeof(struct RANfunction_ItemIEs),
- offsetof(struct RANfunction_ItemIEs, _asn_ctx),
- asn_MAP_RANfunction_ItemIEs_tag2el_13,
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_85 = {
+ sizeof(struct RICsubscriptionDeleteResponse_IEs),
+ offsetof(struct RICsubscriptionDeleteResponse_IEs, _asn_ctx),
+ asn_MAP_RICsubscriptionDeleteResponse_IEs_tag2el_85,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RANfunction_ItemIEs = {
- "RANfunction-ItemIEs",
- "RANfunction-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteResponse_IEs = {
+ "RICsubscriptionDeleteResponse-IEs",
+ "RICsubscriptionDeleteResponse-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RANfunction_ItemIEs_tags_13,
- sizeof(asn_DEF_RANfunction_ItemIEs_tags_13)
- /sizeof(asn_DEF_RANfunction_ItemIEs_tags_13[0]), /* 1 */
- asn_DEF_RANfunction_ItemIEs_tags_13, /* Same as above */
- sizeof(asn_DEF_RANfunction_ItemIEs_tags_13)
- /sizeof(asn_DEF_RANfunction_ItemIEs_tags_13[0]), /* 1 */
+ asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_85,
+ sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_85)
+ /sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_85[0]), /* 1 */
+ asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_85, /* Same as above */
+ sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_85)
+ /sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_85[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RANfunction_ItemIEs_13,
+ asn_MBR_RICsubscriptionDeleteResponse_IEs_85,
3, /* Elements count */
- &asn_SPC_RANfunction_ItemIEs_specs_13 /* Additional specs */
+ &asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_85 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_20[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs__value, choice.RANfunctionID_Item),
+static asn_TYPE_member_t asn_MBR_value_92[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.RICrequestID),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_RICrequestID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICrequestID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.RANfunctionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_RANfunctionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RANfunctionID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.CauseE2),
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_CauseE2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "CauseE2"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.CriticalityDiagnosticsE2),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RANfunctionID_Item,
+ &asn_DEF_CriticalityDiagnosticsE2,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RANfunctionID-Item"
+ "CriticalityDiagnosticsE2"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_20[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionID-Item */
+static const unsigned asn_MAP_value_to_canonical_92[] = { 1, 0, 3, 2 };
+static const unsigned asn_MAP_value_from_canonical_92[] = { 1, 0, 3, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_92[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RICrequestID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 }, /* CriticalityDiagnosticsE2 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* ricRequest */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* ricService */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* e2Node */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* transport */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 2, 0, 0 }, /* protocol */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 2, 0, 0 } /* misc */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_20 = {
- sizeof(struct RANfunctionID_ItemIEs__value),
- offsetof(struct RANfunctionID_ItemIEs__value, _asn_ctx),
- offsetof(struct RANfunctionID_ItemIEs__value, present),
- sizeof(((struct RANfunctionID_ItemIEs__value *)0)->present),
- asn_MAP_value_tag2el_20,
- 1, /* Count of tags in the map */
- 0, 0,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_92 = {
+ sizeof(struct RICsubscriptionDeleteFailure_IEs__value),
+ offsetof(struct RICsubscriptionDeleteFailure_IEs__value, _asn_ctx),
+ offsetof(struct RICsubscriptionDeleteFailure_IEs__value, present),
+ sizeof(((struct RICsubscriptionDeleteFailure_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_92,
+ 9, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_92,
+ asn_MAP_value_from_canonical_92,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_20 = {
+asn_TYPE_descriptor_t asn_DEF_value_92 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_20,
- 1, /* Elements count */
- &asn_SPC_value_specs_20 /* Additional specs */
+ asn_MBR_value_92,
+ 4, /* Elements count */
+ &asn_SPC_value_specs_92 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RANfunctionID_ItemIEs_17[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, id),
+asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_IEs_89[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_18, &asn_PER_memb_id_constr_18, memb_id_constraint_17 },
+ { &asn_OER_memb_id_constr_90, &asn_PER_memb_id_constr_90, memb_id_constraint_89 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RANfunctionID_ItemIEs_criticality_type,
- { &asn_OER_memb_criticality_constr_19, &asn_PER_memb_criticality_constr_19, memb_criticality_constraint_17 },
+ select_RICsubscriptionDeleteFailure_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_91, &asn_PER_memb_criticality_constr_91, memb_criticality_constraint_89 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_20,
- select_RANfunctionID_ItemIEs_value_type,
- { &asn_OER_memb_value_constr_20, &asn_PER_memb_value_constr_20, memb_value_constraint_17 },
+ &asn_DEF_value_92,
+ select_RICsubscriptionDeleteFailure_IEs_value_type,
+ { &asn_OER_memb_value_constr_92, &asn_PER_memb_value_constr_92, memb_value_constraint_89 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RANfunctionID_ItemIEs_tags_17[] = {
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_89[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RANfunctionID_ItemIEs_tag2el_17[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteFailure_IEs_tag2el_89[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RANfunctionID_ItemIEs_specs_17 = {
- sizeof(struct RANfunctionID_ItemIEs),
- offsetof(struct RANfunctionID_ItemIEs, _asn_ctx),
- asn_MAP_RANfunctionID_ItemIEs_tag2el_17,
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_89 = {
+ sizeof(struct RICsubscriptionDeleteFailure_IEs),
+ offsetof(struct RICsubscriptionDeleteFailure_IEs, _asn_ctx),
+ asn_MAP_RICsubscriptionDeleteFailure_IEs_tag2el_89,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RANfunctionID_ItemIEs = {
- "RANfunctionID-ItemIEs",
- "RANfunctionID-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteFailure_IEs = {
+ "RICsubscriptionDeleteFailure-IEs",
+ "RICsubscriptionDeleteFailure-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RANfunctionID_ItemIEs_tags_17,
- sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_17)
- /sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_17[0]), /* 1 */
- asn_DEF_RANfunctionID_ItemIEs_tags_17, /* Same as above */
- sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_17)
- /sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_17[0]), /* 1 */
+ asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_89,
+ sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_89)
+ /sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_89[0]), /* 1 */
+ asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_89, /* Same as above */
+ sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_89)
+ /sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_89[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RANfunctionID_ItemIEs_17,
+ asn_MBR_RICsubscriptionDeleteFailure_IEs_89,
3, /* Elements count */
- &asn_SPC_RANfunctionID_ItemIEs_specs_17 /* Additional specs */
+ &asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_89 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_24[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs__value, choice.RANfunctionIDcause_Item),
+static asn_TYPE_member_t asn_MBR_value_96[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequired_IEs__value, choice.RICsubscription_List_withCause),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RANfunctionIDcause_Item,
+ &asn_DEF_RICsubscription_List_withCause,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RANfunctionIDcause-Item"
+ "RICsubscription-List-withCause"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_24[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionIDcause-Item */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_96[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICsubscription-List-withCause */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_24 = {
- sizeof(struct RANfunctionIDcause_ItemIEs__value),
- offsetof(struct RANfunctionIDcause_ItemIEs__value, _asn_ctx),
- offsetof(struct RANfunctionIDcause_ItemIEs__value, present),
- sizeof(((struct RANfunctionIDcause_ItemIEs__value *)0)->present),
- asn_MAP_value_tag2el_24,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_96 = {
+ sizeof(struct RICsubscriptionDeleteRequired_IEs__value),
+ offsetof(struct RICsubscriptionDeleteRequired_IEs__value, _asn_ctx),
+ offsetof(struct RICsubscriptionDeleteRequired_IEs__value, present),
+ sizeof(((struct RICsubscriptionDeleteRequired_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_96,
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_value_24 = {
+asn_TYPE_descriptor_t asn_DEF_value_96 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_24,
+ asn_MBR_value_96,
1, /* Elements count */
- &asn_SPC_value_specs_24 /* Additional specs */
+ &asn_SPC_value_specs_96 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RANfunctionIDcause_ItemIEs_21[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, id),
+asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequired_IEs_93[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequired_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_22, &asn_PER_memb_id_constr_22, memb_id_constraint_21 },
+ { &asn_OER_memb_id_constr_94, &asn_PER_memb_id_constr_94, memb_id_constraint_93 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequired_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RANfunctionIDcause_ItemIEs_criticality_type,
- { &asn_OER_memb_criticality_constr_23, &asn_PER_memb_criticality_constr_23, memb_criticality_constraint_21 },
+ select_RICsubscriptionDeleteRequired_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_95, &asn_PER_memb_criticality_constr_95, memb_criticality_constraint_93 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequired_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_24,
- select_RANfunctionIDcause_ItemIEs_value_type,
- { &asn_OER_memb_value_constr_24, &asn_PER_memb_value_constr_24, memb_value_constraint_21 },
+ &asn_DEF_value_96,
+ select_RICsubscriptionDeleteRequired_IEs_value_type,
+ { &asn_OER_memb_value_constr_96, &asn_PER_memb_value_constr_96, memb_value_constraint_93 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RANfunctionIDcause_ItemIEs_tags_21[] = {
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_93[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RANfunctionIDcause_ItemIEs_tag2el_21[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteRequired_IEs_tag2el_93[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RANfunctionIDcause_ItemIEs_specs_21 = {
- sizeof(struct RANfunctionIDcause_ItemIEs),
- offsetof(struct RANfunctionIDcause_ItemIEs, _asn_ctx),
- asn_MAP_RANfunctionIDcause_ItemIEs_tag2el_21,
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequired_IEs_specs_93 = {
+ sizeof(struct RICsubscriptionDeleteRequired_IEs),
+ offsetof(struct RICsubscriptionDeleteRequired_IEs, _asn_ctx),
+ asn_MAP_RICsubscriptionDeleteRequired_IEs_tag2el_93,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RANfunctionIDcause_ItemIEs = {
- "RANfunctionIDcause-ItemIEs",
- "RANfunctionIDcause-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequired_IEs = {
+ "RICsubscriptionDeleteRequired-IEs",
+ "RICsubscriptionDeleteRequired-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RANfunctionIDcause_ItemIEs_tags_21,
- sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_21)
- /sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_21[0]), /* 1 */
- asn_DEF_RANfunctionIDcause_ItemIEs_tags_21, /* Same as above */
- sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_21)
- /sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_21[0]), /* 1 */
+ asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_93,
+ sizeof(asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_93)
+ /sizeof(asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_93[0]), /* 1 */
+ asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_93, /* Same as above */
+ sizeof(asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_93)
+ /sizeof(asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_93[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RANfunctionIDcause_ItemIEs_21,
+ asn_MBR_RICsubscriptionDeleteRequired_IEs_93,
3, /* Elements count */
- &asn_SPC_RANfunctionIDcause_ItemIEs_specs_21 /* Additional specs */
+ &asn_SPC_RICsubscriptionDeleteRequired_IEs_specs_93 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_28[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RICrequestID),
+static asn_TYPE_member_t asn_MBR_value_100[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICrequestID),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_RICrequestID,
0, 0, /* No default value */
"RICrequestID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RANfunctionID),
+ { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RANfunctionID),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
&asn_DEF_RANfunctionID,
0, 0, /* No default value */
"RANfunctionID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RICsubscriptionDetails),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICactionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
- &asn_DEF_RICsubscriptionDetails,
+ &asn_DEF_RICactionID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICsubscriptionDetails"
+ "RICactionID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationSN),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_RICindicationSN,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICindicationSN"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationType),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
+ 0,
+ &asn_DEF_RICindicationType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICindicationType"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationHeader),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_RICindicationHeader,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICindicationHeader"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationMessage),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_RICindicationMessage,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICindicationMessage"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICcallProcessID),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_RICcallProcessID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICcallProcessID"
},
};
-static const unsigned asn_MAP_value_to_canonical_28[] = { 1, 0, 2 };
-static const unsigned asn_MAP_value_from_canonical_28[] = { 1, 0, 2 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_28[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RICrequestID */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* RICsubscriptionDetails */
+static const unsigned asn_MAP_value_to_canonical_100[] = { 1, 2, 3, 5, 6, 7, 4, 0 };
+static const unsigned asn_MAP_value_from_canonical_100[] = { 7, 0, 1, 2, 6, 3, 4, 5 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_100[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 2 }, /* RANfunctionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 1 }, /* RICactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -2, 0 }, /* RICindicationSN */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 5, 0, 2 }, /* RICindicationHeader */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 6, -1, 1 }, /* RICindicationMessage */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 7, -2, 0 }, /* RICcallProcessID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 4, 0, 0 }, /* RICindicationType */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_28 = {
- sizeof(struct RICsubscriptionRequest_IEs__value),
- offsetof(struct RICsubscriptionRequest_IEs__value, _asn_ctx),
- offsetof(struct RICsubscriptionRequest_IEs__value, present),
- sizeof(((struct RICsubscriptionRequest_IEs__value *)0)->present),
- asn_MAP_value_tag2el_28,
- 3, /* Count of tags in the map */
- asn_MAP_value_to_canonical_28,
- asn_MAP_value_from_canonical_28,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_100 = {
+ sizeof(struct RICindication_IEs__value),
+ offsetof(struct RICindication_IEs__value, _asn_ctx),
+ offsetof(struct RICindication_IEs__value, present),
+ sizeof(((struct RICindication_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_100,
+ 8, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_100,
+ asn_MAP_value_from_canonical_100,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_28 = {
+asn_TYPE_descriptor_t asn_DEF_value_100 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_28,
- 3, /* Elements count */
- &asn_SPC_value_specs_28 /* Additional specs */
+ asn_MBR_value_100,
+ 8, /* Elements count */
+ &asn_SPC_value_specs_100 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_IEs_25[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, id),
+asn_TYPE_member_t asn_MBR_RICindication_IEs_97[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_26, &asn_PER_memb_id_constr_26, memb_id_constraint_25 },
+ { &asn_OER_memb_id_constr_98, &asn_PER_memb_id_constr_98, memb_id_constraint_97 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RICsubscriptionRequest_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_27, &asn_PER_memb_criticality_constr_27, memb_criticality_constraint_25 },
+ select_RICindication_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_99, &asn_PER_memb_criticality_constr_99, memb_criticality_constraint_97 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_28,
- select_RICsubscriptionRequest_IEs_value_type,
- { &asn_OER_memb_value_constr_28, &asn_PER_memb_value_constr_28, memb_value_constraint_25 },
+ &asn_DEF_value_100,
+ select_RICindication_IEs_value_type,
+ { &asn_OER_memb_value_constr_100, &asn_PER_memb_value_constr_100, memb_value_constraint_97 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICsubscriptionRequest_IEs_tags_25[] = {
+static const ber_tlv_tag_t asn_DEF_RICindication_IEs_tags_97[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionRequest_IEs_tag2el_25[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICindication_IEs_tag2el_97[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionRequest_IEs_specs_25 = {
- sizeof(struct RICsubscriptionRequest_IEs),
- offsetof(struct RICsubscriptionRequest_IEs, _asn_ctx),
- asn_MAP_RICsubscriptionRequest_IEs_tag2el_25,
+asn_SEQUENCE_specifics_t asn_SPC_RICindication_IEs_specs_97 = {
+ sizeof(struct RICindication_IEs),
+ offsetof(struct RICindication_IEs, _asn_ctx),
+ asn_MAP_RICindication_IEs_tag2el_97,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RICsubscriptionRequest_IEs = {
- "RICsubscriptionRequest-IEs",
- "RICsubscriptionRequest-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICindication_IEs = {
+ "RICindication-IEs",
+ "RICindication-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICsubscriptionRequest_IEs_tags_25,
- sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_25)
- /sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_25[0]), /* 1 */
- asn_DEF_RICsubscriptionRequest_IEs_tags_25, /* Same as above */
- sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_25)
- /sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_25[0]), /* 1 */
+ asn_DEF_RICindication_IEs_tags_97,
+ sizeof(asn_DEF_RICindication_IEs_tags_97)
+ /sizeof(asn_DEF_RICindication_IEs_tags_97[0]), /* 1 */
+ asn_DEF_RICindication_IEs_tags_97, /* Same as above */
+ sizeof(asn_DEF_RICindication_IEs_tags_97)
+ /sizeof(asn_DEF_RICindication_IEs_tags_97[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICsubscriptionRequest_IEs_25,
+ asn_MBR_RICindication_IEs_97,
3, /* Elements count */
- &asn_SPC_RICsubscriptionRequest_IEs_specs_25 /* Additional specs */
+ &asn_SPC_RICindication_IEs_specs_97 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_32[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICrequestID),
+static asn_TYPE_member_t asn_MBR_value_104[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICrequestID),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_RICrequestID,
0, 0, /* No default value */
"RICrequestID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RANfunctionID),
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RANfunctionID),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
&asn_DEF_RANfunctionID,
0, 0, /* No default value */
"RANfunctionID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICaction_Admitted_List),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcallProcessID),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_RICcallProcessID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICcallProcessID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolHeader),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_RICcontrolHeader,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICcontrolHeader"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolMessage),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
0,
- &asn_DEF_RICaction_Admitted_List,
+ &asn_DEF_RICcontrolMessage,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICaction-Admitted-List"
+ "RICcontrolMessage"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICaction_NotAdmitted_List),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolAckRequest),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
0,
- &asn_DEF_RICaction_NotAdmitted_List,
+ &asn_DEF_RICcontrolAckRequest,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICaction-NotAdmitted-List"
+ "RICcontrolAckRequest"
},
};
-static const unsigned asn_MAP_value_to_canonical_32[] = { 1, 0, 2, 3 };
-static const unsigned asn_MAP_value_from_canonical_32[] = { 1, 0, 2, 3 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_32[] = {
+static const unsigned asn_MAP_value_to_canonical_104[] = { 1, 2, 3, 4, 5, 0 };
+static const unsigned asn_MAP_value_from_canonical_104[] = { 5, 0, 1, 2, 3, 4 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_104[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* RICrequestID */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 1 }, /* RICaction-Admitted-List */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 0 } /* RICaction-NotAdmitted-List */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 2 }, /* RICcallProcessID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, -1, 1 }, /* RICcontrolHeader */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, -2, 0 }, /* RICcontrolMessage */
+ { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 5, 0, 0 }, /* RICcontrolAckRequest */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_32 = {
- sizeof(struct RICsubscriptionResponse_IEs__value),
- offsetof(struct RICsubscriptionResponse_IEs__value, _asn_ctx),
- offsetof(struct RICsubscriptionResponse_IEs__value, present),
- sizeof(((struct RICsubscriptionResponse_IEs__value *)0)->present),
- asn_MAP_value_tag2el_32,
- 4, /* Count of tags in the map */
- asn_MAP_value_to_canonical_32,
- asn_MAP_value_from_canonical_32,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_104 = {
+ sizeof(struct RICcontrolRequest_IEs__value),
+ offsetof(struct RICcontrolRequest_IEs__value, _asn_ctx),
+ offsetof(struct RICcontrolRequest_IEs__value, present),
+ sizeof(((struct RICcontrolRequest_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_104,
+ 6, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_104,
+ asn_MAP_value_from_canonical_104,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_32 = {
+asn_TYPE_descriptor_t asn_DEF_value_104 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_32,
- 4, /* Elements count */
- &asn_SPC_value_specs_32 /* Additional specs */
+ asn_MBR_value_104,
+ 6, /* Elements count */
+ &asn_SPC_value_specs_104 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_IEs_29[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, id),
+asn_TYPE_member_t asn_MBR_RICcontrolRequest_IEs_101[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_30, &asn_PER_memb_id_constr_30, memb_id_constraint_29 },
+ { &asn_OER_memb_id_constr_102, &asn_PER_memb_id_constr_102, memb_id_constraint_101 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RICsubscriptionResponse_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_31, &asn_PER_memb_criticality_constr_31, memb_criticality_constraint_29 },
+ select_RICcontrolRequest_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_103, &asn_PER_memb_criticality_constr_103, memb_criticality_constraint_101 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_32,
- select_RICsubscriptionResponse_IEs_value_type,
- { &asn_OER_memb_value_constr_32, &asn_PER_memb_value_constr_32, memb_value_constraint_29 },
+ &asn_DEF_value_104,
+ select_RICcontrolRequest_IEs_value_type,
+ { &asn_OER_memb_value_constr_104, &asn_PER_memb_value_constr_104, memb_value_constraint_101 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICsubscriptionResponse_IEs_tags_29[] = {
+static const ber_tlv_tag_t asn_DEF_RICcontrolRequest_IEs_tags_101[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionResponse_IEs_tag2el_29[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICcontrolRequest_IEs_tag2el_101[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionResponse_IEs_specs_29 = {
- sizeof(struct RICsubscriptionResponse_IEs),
- offsetof(struct RICsubscriptionResponse_IEs, _asn_ctx),
- asn_MAP_RICsubscriptionResponse_IEs_tag2el_29,
+asn_SEQUENCE_specifics_t asn_SPC_RICcontrolRequest_IEs_specs_101 = {
+ sizeof(struct RICcontrolRequest_IEs),
+ offsetof(struct RICcontrolRequest_IEs, _asn_ctx),
+ asn_MAP_RICcontrolRequest_IEs_tag2el_101,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RICsubscriptionResponse_IEs = {
- "RICsubscriptionResponse-IEs",
- "RICsubscriptionResponse-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICcontrolRequest_IEs = {
+ "RICcontrolRequest-IEs",
+ "RICcontrolRequest-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICsubscriptionResponse_IEs_tags_29,
- sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_29)
- /sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_29[0]), /* 1 */
- asn_DEF_RICsubscriptionResponse_IEs_tags_29, /* Same as above */
- sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_29)
- /sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_29[0]), /* 1 */
+ asn_DEF_RICcontrolRequest_IEs_tags_101,
+ sizeof(asn_DEF_RICcontrolRequest_IEs_tags_101)
+ /sizeof(asn_DEF_RICcontrolRequest_IEs_tags_101[0]), /* 1 */
+ asn_DEF_RICcontrolRequest_IEs_tags_101, /* Same as above */
+ sizeof(asn_DEF_RICcontrolRequest_IEs_tags_101)
+ /sizeof(asn_DEF_RICcontrolRequest_IEs_tags_101[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICsubscriptionResponse_IEs_29,
+ asn_MBR_RICcontrolRequest_IEs_101,
3, /* Elements count */
- &asn_SPC_RICsubscriptionResponse_IEs_specs_29 /* Additional specs */
+ &asn_SPC_RICcontrolRequest_IEs_specs_101 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_36[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RICrequestID),
+static asn_TYPE_member_t asn_MBR_value_108[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICrequestID),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_RICrequestID,
0, 0, /* No default value */
"RICrequestID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RANfunctionID),
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RANfunctionID),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
&asn_DEF_RANfunctionID,
0, 0, /* No default value */
"RANfunctionID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RICaction_NotAdmitted_List),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcallProcessID),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
0,
- &asn_DEF_RICaction_NotAdmitted_List,
+ &asn_DEF_RICcallProcessID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICaction-NotAdmitted-List"
+ "RICcallProcessID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.CriticalityDiagnosticsE2),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcontrolOutcome),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
0,
- &asn_DEF_CriticalityDiagnosticsE2,
+ &asn_DEF_RICcontrolOutcome,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "CriticalityDiagnosticsE2"
+ "RICcontrolOutcome"
},
};
-static const unsigned asn_MAP_value_to_canonical_36[] = { 1, 0, 2, 3 };
-static const unsigned asn_MAP_value_from_canonical_36[] = { 1, 0, 2, 3 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_36[] = {
+static const unsigned asn_MAP_value_to_canonical_108[] = { 1, 2, 3, 0 };
+static const unsigned asn_MAP_value_from_canonical_108[] = { 3, 0, 1, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_108[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* RICrequestID */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 1 }, /* RICaction-NotAdmitted-List */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 0 } /* CriticalityDiagnosticsE2 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 1 }, /* RICcallProcessID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, -1, 0 }, /* RICcontrolOutcome */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_36 = {
- sizeof(struct RICsubscriptionFailure_IEs__value),
- offsetof(struct RICsubscriptionFailure_IEs__value, _asn_ctx),
- offsetof(struct RICsubscriptionFailure_IEs__value, present),
- sizeof(((struct RICsubscriptionFailure_IEs__value *)0)->present),
- asn_MAP_value_tag2el_36,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_108 = {
+ sizeof(struct RICcontrolAcknowledge_IEs__value),
+ offsetof(struct RICcontrolAcknowledge_IEs__value, _asn_ctx),
+ offsetof(struct RICcontrolAcknowledge_IEs__value, present),
+ sizeof(((struct RICcontrolAcknowledge_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_108,
4, /* Count of tags in the map */
- asn_MAP_value_to_canonical_36,
- asn_MAP_value_from_canonical_36,
+ asn_MAP_value_to_canonical_108,
+ asn_MAP_value_from_canonical_108,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_36 = {
+asn_TYPE_descriptor_t asn_DEF_value_108 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_36,
+ asn_MBR_value_108,
4, /* Elements count */
- &asn_SPC_value_specs_36 /* Additional specs */
+ &asn_SPC_value_specs_108 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_IEs_33[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, id),
+asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_IEs_105[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_34, &asn_PER_memb_id_constr_34, memb_id_constraint_33 },
+ { &asn_OER_memb_id_constr_106, &asn_PER_memb_id_constr_106, memb_id_constraint_105 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RICsubscriptionFailure_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_35, &asn_PER_memb_criticality_constr_35, memb_criticality_constraint_33 },
+ select_RICcontrolAcknowledge_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_107, &asn_PER_memb_criticality_constr_107, memb_criticality_constraint_105 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_36,
- select_RICsubscriptionFailure_IEs_value_type,
- { &asn_OER_memb_value_constr_36, &asn_PER_memb_value_constr_36, memb_value_constraint_33 },
+ &asn_DEF_value_108,
+ select_RICcontrolAcknowledge_IEs_value_type,
+ { &asn_OER_memb_value_constr_108, &asn_PER_memb_value_constr_108, memb_value_constraint_105 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICsubscriptionFailure_IEs_tags_33[] = {
+static const ber_tlv_tag_t asn_DEF_RICcontrolAcknowledge_IEs_tags_105[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionFailure_IEs_tag2el_33[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICcontrolAcknowledge_IEs_tag2el_105[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionFailure_IEs_specs_33 = {
- sizeof(struct RICsubscriptionFailure_IEs),
- offsetof(struct RICsubscriptionFailure_IEs, _asn_ctx),
- asn_MAP_RICsubscriptionFailure_IEs_tag2el_33,
+asn_SEQUENCE_specifics_t asn_SPC_RICcontrolAcknowledge_IEs_specs_105 = {
+ sizeof(struct RICcontrolAcknowledge_IEs),
+ offsetof(struct RICcontrolAcknowledge_IEs, _asn_ctx),
+ asn_MAP_RICcontrolAcknowledge_IEs_tag2el_105,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RICsubscriptionFailure_IEs = {
- "RICsubscriptionFailure-IEs",
- "RICsubscriptionFailure-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICcontrolAcknowledge_IEs = {
+ "RICcontrolAcknowledge-IEs",
+ "RICcontrolAcknowledge-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICsubscriptionFailure_IEs_tags_33,
- sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_33)
- /sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_33[0]), /* 1 */
- asn_DEF_RICsubscriptionFailure_IEs_tags_33, /* Same as above */
- sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_33)
- /sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_33[0]), /* 1 */
+ asn_DEF_RICcontrolAcknowledge_IEs_tags_105,
+ sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_105)
+ /sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_105[0]), /* 1 */
+ asn_DEF_RICcontrolAcknowledge_IEs_tags_105, /* Same as above */
+ sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_105)
+ /sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_105[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICsubscriptionFailure_IEs_33,
+ asn_MBR_RICcontrolAcknowledge_IEs_105,
3, /* Elements count */
- &asn_SPC_RICsubscriptionFailure_IEs_specs_33 /* Additional specs */
+ &asn_SPC_RICcontrolAcknowledge_IEs_specs_105 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_40[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs__value, choice.RICrequestID),
+static asn_TYPE_member_t asn_MBR_value_112[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICrequestID),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_RICrequestID,
0, 0, /* No default value */
"RICrequestID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs__value, choice.RANfunctionID),
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RANfunctionID),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
&asn_DEF_RANfunctionID,
0, 0, /* No default value */
"RANfunctionID"
},
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICcallProcessID),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_RICcallProcessID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICcallProcessID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.CauseE2),
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_CauseE2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "CauseE2"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICcontrolOutcome),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_RICcontrolOutcome,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "RICcontrolOutcome"
+ },
};
-static const unsigned asn_MAP_value_to_canonical_40[] = { 1, 0 };
-static const unsigned asn_MAP_value_from_canonical_40[] = { 1, 0 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_40[] = {
+static const unsigned asn_MAP_value_to_canonical_112[] = { 1, 2, 4, 0, 3 };
+static const unsigned asn_MAP_value_from_canonical_112[] = { 3, 0, 1, 4, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_112[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 1 }, /* RICcallProcessID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, -1, 0 }, /* RICcontrolOutcome */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* RICrequestID */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 3, 0, 0 }, /* ricRequest */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 3, 0, 0 }, /* ricService */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 }, /* e2Node */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* transport */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 }, /* protocol */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 3, 0, 0 } /* misc */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_40 = {
- sizeof(struct RICsubscriptionDeleteRequest_IEs__value),
- offsetof(struct RICsubscriptionDeleteRequest_IEs__value, _asn_ctx),
- offsetof(struct RICsubscriptionDeleteRequest_IEs__value, present),
- sizeof(((struct RICsubscriptionDeleteRequest_IEs__value *)0)->present),
- asn_MAP_value_tag2el_40,
- 2, /* Count of tags in the map */
- asn_MAP_value_to_canonical_40,
- asn_MAP_value_from_canonical_40,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_112 = {
+ sizeof(struct RICcontrolFailure_IEs__value),
+ offsetof(struct RICcontrolFailure_IEs__value, _asn_ctx),
+ offsetof(struct RICcontrolFailure_IEs__value, present),
+ sizeof(((struct RICcontrolFailure_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_112,
+ 10, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_112,
+ asn_MAP_value_from_canonical_112,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_40 = {
+asn_TYPE_descriptor_t asn_DEF_value_112 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_40,
- 2, /* Elements count */
- &asn_SPC_value_specs_40 /* Additional specs */
+ asn_MBR_value_112,
+ 5, /* Elements count */
+ &asn_SPC_value_specs_112 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_IEs_37[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, id),
+asn_TYPE_member_t asn_MBR_RICcontrolFailure_IEs_109[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_38, &asn_PER_memb_id_constr_38, memb_id_constraint_37 },
+ { &asn_OER_memb_id_constr_110, &asn_PER_memb_id_constr_110, memb_id_constraint_109 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RICsubscriptionDeleteRequest_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_39, &asn_PER_memb_criticality_constr_39, memb_criticality_constraint_37 },
+ select_RICcontrolFailure_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_111, &asn_PER_memb_criticality_constr_111, memb_criticality_constraint_109 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_40,
- select_RICsubscriptionDeleteRequest_IEs_value_type,
- { &asn_OER_memb_value_constr_40, &asn_PER_memb_value_constr_40, memb_value_constraint_37 },
+ &asn_DEF_value_112,
+ select_RICcontrolFailure_IEs_value_type,
+ { &asn_OER_memb_value_constr_112, &asn_PER_memb_value_constr_112, memb_value_constraint_109 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_37[] = {
+static const ber_tlv_tag_t asn_DEF_RICcontrolFailure_IEs_tags_109[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteRequest_IEs_tag2el_37[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICcontrolFailure_IEs_tag2el_109[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_37 = {
- sizeof(struct RICsubscriptionDeleteRequest_IEs),
- offsetof(struct RICsubscriptionDeleteRequest_IEs, _asn_ctx),
- asn_MAP_RICsubscriptionDeleteRequest_IEs_tag2el_37,
+asn_SEQUENCE_specifics_t asn_SPC_RICcontrolFailure_IEs_specs_109 = {
+ sizeof(struct RICcontrolFailure_IEs),
+ offsetof(struct RICcontrolFailure_IEs, _asn_ctx),
+ asn_MAP_RICcontrolFailure_IEs_tag2el_109,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequest_IEs = {
- "RICsubscriptionDeleteRequest-IEs",
- "RICsubscriptionDeleteRequest-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICcontrolFailure_IEs = {
+ "RICcontrolFailure-IEs",
+ "RICcontrolFailure-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_37,
- sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_37)
- /sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_37[0]), /* 1 */
- asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_37, /* Same as above */
- sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_37)
- /sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_37[0]), /* 1 */
+ asn_DEF_RICcontrolFailure_IEs_tags_109,
+ sizeof(asn_DEF_RICcontrolFailure_IEs_tags_109)
+ /sizeof(asn_DEF_RICcontrolFailure_IEs_tags_109[0]), /* 1 */
+ asn_DEF_RICcontrolFailure_IEs_tags_109, /* Same as above */
+ sizeof(asn_DEF_RICcontrolFailure_IEs_tags_109)
+ /sizeof(asn_DEF_RICcontrolFailure_IEs_tags_109[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICsubscriptionDeleteRequest_IEs_37,
+ asn_MBR_RICcontrolFailure_IEs_109,
3, /* Elements count */
- &asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_37 /* Additional specs */
+ &asn_SPC_RICcontrolFailure_IEs_specs_109 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_44[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs__value, choice.RICrequestID),
+static asn_TYPE_member_t asn_MBR_value_116[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs__value, choice.TransactionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_TransactionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "TransactionID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs__value, choice.RICrequestID),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_RICrequestID,
0, 0, /* No default value */
"RICrequestID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs__value, choice.RANfunctionID),
+ { ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs__value, choice.RANfunctionID),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
&asn_DEF_RANfunctionID,
0, 0, /* No default value */
"RANfunctionID"
},
+ { ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs__value, choice.CauseE2),
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_CauseE2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "CauseE2"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs__value, choice.CriticalityDiagnosticsE2),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_CriticalityDiagnosticsE2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "CriticalityDiagnosticsE2"
+ },
};
-static const unsigned asn_MAP_value_to_canonical_44[] = { 1, 0 };
-static const unsigned asn_MAP_value_from_canonical_44[] = { 1, 0 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_44[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
-};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_44 = {
- sizeof(struct RICsubscriptionDeleteResponse_IEs__value),
- offsetof(struct RICsubscriptionDeleteResponse_IEs__value, _asn_ctx),
- offsetof(struct RICsubscriptionDeleteResponse_IEs__value, present),
- sizeof(((struct RICsubscriptionDeleteResponse_IEs__value *)0)->present),
- asn_MAP_value_tag2el_44,
- 2, /* Count of tags in the map */
- asn_MAP_value_to_canonical_44,
- asn_MAP_value_from_canonical_44,
+static const unsigned asn_MAP_value_to_canonical_116[] = { 0, 2, 1, 4, 3 };
+static const unsigned asn_MAP_value_from_canonical_116[] = { 0, 2, 1, 4, 3 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_116[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 0 }, /* RANfunctionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* RICrequestID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -1, 0 }, /* CriticalityDiagnosticsE2 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 3, 0, 0 }, /* ricRequest */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 3, 0, 0 }, /* ricService */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 }, /* e2Node */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* transport */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 }, /* protocol */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 3, 0, 0 } /* misc */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_116 = {
+ sizeof(struct ErrorIndicationE2_IEs__value),
+ offsetof(struct ErrorIndicationE2_IEs__value, _asn_ctx),
+ offsetof(struct ErrorIndicationE2_IEs__value, present),
+ sizeof(((struct ErrorIndicationE2_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_116,
+ 10, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_116,
+ asn_MAP_value_from_canonical_116,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_44 = {
+asn_TYPE_descriptor_t asn_DEF_value_116 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_44,
- 2, /* Elements count */
- &asn_SPC_value_specs_44 /* Additional specs */
+ asn_MBR_value_116,
+ 5, /* Elements count */
+ &asn_SPC_value_specs_116 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_IEs_41[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, id),
+asn_TYPE_member_t asn_MBR_ErrorIndicationE2_IEs_113[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_42, &asn_PER_memb_id_constr_42, memb_id_constraint_41 },
+ { &asn_OER_memb_id_constr_114, &asn_PER_memb_id_constr_114, memb_id_constraint_113 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RICsubscriptionDeleteResponse_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_43, &asn_PER_memb_criticality_constr_43, memb_criticality_constraint_41 },
+ select_ErrorIndicationE2_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_115, &asn_PER_memb_criticality_constr_115, memb_criticality_constraint_113 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_44,
- select_RICsubscriptionDeleteResponse_IEs_value_type,
- { &asn_OER_memb_value_constr_44, &asn_PER_memb_value_constr_44, memb_value_constraint_41 },
+ &asn_DEF_value_116,
+ select_ErrorIndicationE2_IEs_value_type,
+ { &asn_OER_memb_value_constr_116, &asn_PER_memb_value_constr_116, memb_value_constraint_113 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_41[] = {
+static const ber_tlv_tag_t asn_DEF_ErrorIndicationE2_IEs_tags_113[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteResponse_IEs_tag2el_41[] = {
+static const asn_TYPE_tag2member_t asn_MAP_ErrorIndicationE2_IEs_tag2el_113[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_41 = {
- sizeof(struct RICsubscriptionDeleteResponse_IEs),
- offsetof(struct RICsubscriptionDeleteResponse_IEs, _asn_ctx),
- asn_MAP_RICsubscriptionDeleteResponse_IEs_tag2el_41,
+asn_SEQUENCE_specifics_t asn_SPC_ErrorIndicationE2_IEs_specs_113 = {
+ sizeof(struct ErrorIndicationE2_IEs),
+ offsetof(struct ErrorIndicationE2_IEs, _asn_ctx),
+ asn_MAP_ErrorIndicationE2_IEs_tag2el_113,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteResponse_IEs = {
- "RICsubscriptionDeleteResponse-IEs",
- "RICsubscriptionDeleteResponse-IEs",
+asn_TYPE_descriptor_t asn_DEF_ErrorIndicationE2_IEs = {
+ "ErrorIndicationE2-IEs",
+ "ErrorIndicationE2-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_41,
- sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_41)
- /sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_41[0]), /* 1 */
- asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_41, /* Same as above */
- sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_41)
- /sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_41[0]), /* 1 */
+ asn_DEF_ErrorIndicationE2_IEs_tags_113,
+ sizeof(asn_DEF_ErrorIndicationE2_IEs_tags_113)
+ /sizeof(asn_DEF_ErrorIndicationE2_IEs_tags_113[0]), /* 1 */
+ asn_DEF_ErrorIndicationE2_IEs_tags_113, /* Same as above */
+ sizeof(asn_DEF_ErrorIndicationE2_IEs_tags_113)
+ /sizeof(asn_DEF_ErrorIndicationE2_IEs_tags_113[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICsubscriptionDeleteResponse_IEs_41,
+ asn_MBR_ErrorIndicationE2_IEs_113,
3, /* Elements count */
- &asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_41 /* Additional specs */
+ &asn_SPC_ErrorIndicationE2_IEs_specs_113 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_48[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.RICrequestID),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+static asn_TYPE_member_t asn_MBR_value_120[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.TransactionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
- &asn_DEF_RICrequestID,
+ &asn_DEF_TransactionID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICrequestID"
+ "TransactionID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.RANfunctionID),
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.GlobalE2node_ID),
+ -1 /* Ambiguous tag (CHOICE?) */,
0,
- &asn_DEF_RANfunctionID,
+ &asn_DEF_GlobalE2node_ID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RANfunctionID"
+ "GlobalE2node-ID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.CauseE2),
- -1 /* Ambiguous tag (CHOICE?) */,
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.RANfunctions_List),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_CauseE2,
+ &asn_DEF_RANfunctions_List,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "CauseE2"
+ "RANfunctions-List"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.CriticalityDiagnosticsE2),
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.E2nodeComponentConfigAddition_List),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_CriticalityDiagnosticsE2,
+ &asn_DEF_E2nodeComponentConfigAddition_List,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "CriticalityDiagnosticsE2"
+ "E2nodeComponentConfigAddition-List"
},
};
-static const unsigned asn_MAP_value_to_canonical_48[] = { 1, 0, 3, 2 };
-static const unsigned asn_MAP_value_from_canonical_48[] = { 1, 0, 3, 2 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_48[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RICrequestID */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 }, /* CriticalityDiagnosticsE2 */
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* ricRequest */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* ricService */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* transport */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* protocol */
- { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 2, 0, 0 } /* misc */
+static const unsigned asn_MAP_value_to_canonical_120[] = { 0, 2, 3, 1 };
+static const unsigned asn_MAP_value_from_canonical_120[] = { 0, 3, 1, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_120[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 1 }, /* RANfunctions-List */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 }, /* E2nodeComponentConfigAddition-List */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* gNB */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-gNB */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* ng-eNB */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* eNB */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_48 = {
- sizeof(struct RICsubscriptionDeleteFailure_IEs__value),
- offsetof(struct RICsubscriptionDeleteFailure_IEs__value, _asn_ctx),
- offsetof(struct RICsubscriptionDeleteFailure_IEs__value, present),
- sizeof(((struct RICsubscriptionDeleteFailure_IEs__value *)0)->present),
- asn_MAP_value_tag2el_48,
- 8, /* Count of tags in the map */
- asn_MAP_value_to_canonical_48,
- asn_MAP_value_from_canonical_48,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_120 = {
+ sizeof(struct E2setupRequestIEs__value),
+ offsetof(struct E2setupRequestIEs__value, _asn_ctx),
+ offsetof(struct E2setupRequestIEs__value, present),
+ sizeof(((struct E2setupRequestIEs__value *)0)->present),
+ asn_MAP_value_tag2el_120,
+ 7, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_120,
+ asn_MAP_value_from_canonical_120,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_48 = {
+asn_TYPE_descriptor_t asn_DEF_value_120 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_48,
+ asn_MBR_value_120,
4, /* Elements count */
- &asn_SPC_value_specs_48 /* Additional specs */
+ &asn_SPC_value_specs_120 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_IEs_45[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, id),
+asn_TYPE_member_t asn_MBR_E2setupRequestIEs_117[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_46, &asn_PER_memb_id_constr_46, memb_id_constraint_45 },
+ { &asn_OER_memb_id_constr_118, &asn_PER_memb_id_constr_118, memb_id_constraint_117 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RICsubscriptionDeleteFailure_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_47, &asn_PER_memb_criticality_constr_47, memb_criticality_constraint_45 },
+ select_E2setupRequestIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_119, &asn_PER_memb_criticality_constr_119, memb_criticality_constraint_117 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_48,
- select_RICsubscriptionDeleteFailure_IEs_value_type,
- { &asn_OER_memb_value_constr_48, &asn_PER_memb_value_constr_48, memb_value_constraint_45 },
+ &asn_DEF_value_120,
+ select_E2setupRequestIEs_value_type,
+ { &asn_OER_memb_value_constr_120, &asn_PER_memb_value_constr_120, memb_value_constraint_117 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_45[] = {
+static const ber_tlv_tag_t asn_DEF_E2setupRequestIEs_tags_117[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteFailure_IEs_tag2el_45[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2setupRequestIEs_tag2el_117[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_45 = {
- sizeof(struct RICsubscriptionDeleteFailure_IEs),
- offsetof(struct RICsubscriptionDeleteFailure_IEs, _asn_ctx),
- asn_MAP_RICsubscriptionDeleteFailure_IEs_tag2el_45,
+asn_SEQUENCE_specifics_t asn_SPC_E2setupRequestIEs_specs_117 = {
+ sizeof(struct E2setupRequestIEs),
+ offsetof(struct E2setupRequestIEs, _asn_ctx),
+ asn_MAP_E2setupRequestIEs_tag2el_117,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteFailure_IEs = {
- "RICsubscriptionDeleteFailure-IEs",
- "RICsubscriptionDeleteFailure-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2setupRequestIEs = {
+ "E2setupRequestIEs",
+ "E2setupRequestIEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_45,
- sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_45)
- /sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_45[0]), /* 1 */
- asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_45, /* Same as above */
- sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_45)
- /sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_45[0]), /* 1 */
+ asn_DEF_E2setupRequestIEs_tags_117,
+ sizeof(asn_DEF_E2setupRequestIEs_tags_117)
+ /sizeof(asn_DEF_E2setupRequestIEs_tags_117[0]), /* 1 */
+ asn_DEF_E2setupRequestIEs_tags_117, /* Same as above */
+ sizeof(asn_DEF_E2setupRequestIEs_tags_117)
+ /sizeof(asn_DEF_E2setupRequestIEs_tags_117[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICsubscriptionDeleteFailure_IEs_45,
+ asn_MBR_E2setupRequestIEs_117,
3, /* Elements count */
- &asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_45 /* Additional specs */
+ &asn_SPC_E2setupRequestIEs_specs_117 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_52[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICrequestID),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_RICrequestID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "RICrequestID"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RANfunctionID),
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
- 0,
- &asn_DEF_RANfunctionID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "RANfunctionID"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICactionID),
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
- 0,
- &asn_DEF_RICactionID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "RICactionID"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationSN),
+static asn_TYPE_member_t asn_MBR_value_124[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.TransactionID),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
- &asn_DEF_RICindicationSN,
+ &asn_DEF_TransactionID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICindicationSN"
+ "TransactionID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationType),
- (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.GlobalRIC_ID),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RICindicationType,
+ &asn_DEF_GlobalRIC_ID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICindicationType"
+ "GlobalRIC-ID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationHeader),
- (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.RANfunctionsID_List),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RICindicationHeader,
+ &asn_DEF_RANfunctionsID_List,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICindicationHeader"
+ "RANfunctionsID-List"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationMessage),
- (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.RANfunctionsIDcause_List),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RICindicationMessage,
+ &asn_DEF_RANfunctionsIDcause_List,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICindicationMessage"
+ "RANfunctionsIDcause-List"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICcallProcessID),
- (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.E2nodeComponentConfigAdditionAck_List),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RICcallProcessID,
+ &asn_DEF_E2nodeComponentConfigAdditionAck_List,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICcallProcessID"
+ "E2nodeComponentConfigAdditionAck-List"
},
};
-static const unsigned asn_MAP_value_to_canonical_52[] = { 1, 2, 3, 5, 6, 7, 4, 0 };
-static const unsigned asn_MAP_value_from_canonical_52[] = { 7, 0, 1, 2, 6, 3, 4, 5 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_52[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 2 }, /* RANfunctionID */
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 1 }, /* RICactionID */
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -2, 0 }, /* RICindicationSN */
- { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 5, 0, 2 }, /* RICindicationHeader */
- { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 6, -1, 1 }, /* RICindicationMessage */
- { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 7, -2, 0 }, /* RICcallProcessID */
- { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 4, 0, 0 }, /* RICindicationType */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_124[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 3 }, /* GlobalRIC-ID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 2 }, /* RANfunctionsID-List */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 1 }, /* RANfunctionsIDcause-List */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -3, 0 } /* E2nodeComponentConfigAdditionAck-List */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_52 = {
- sizeof(struct RICindication_IEs__value),
- offsetof(struct RICindication_IEs__value, _asn_ctx),
- offsetof(struct RICindication_IEs__value, present),
- sizeof(((struct RICindication_IEs__value *)0)->present),
- asn_MAP_value_tag2el_52,
- 8, /* Count of tags in the map */
- asn_MAP_value_to_canonical_52,
- asn_MAP_value_from_canonical_52,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_124 = {
+ sizeof(struct E2setupResponseIEs__value),
+ offsetof(struct E2setupResponseIEs__value, _asn_ctx),
+ offsetof(struct E2setupResponseIEs__value, present),
+ sizeof(((struct E2setupResponseIEs__value *)0)->present),
+ asn_MAP_value_tag2el_124,
+ 5, /* Count of tags in the map */
+ 0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_52 = {
+asn_TYPE_descriptor_t asn_DEF_value_124 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_52,
- 8, /* Elements count */
- &asn_SPC_value_specs_52 /* Additional specs */
+ asn_MBR_value_124,
+ 5, /* Elements count */
+ &asn_SPC_value_specs_124 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICindication_IEs_49[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, id),
+asn_TYPE_member_t asn_MBR_E2setupResponseIEs_121[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_50, &asn_PER_memb_id_constr_50, memb_id_constraint_49 },
+ { &asn_OER_memb_id_constr_122, &asn_PER_memb_id_constr_122, memb_id_constraint_121 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RICindication_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_51, &asn_PER_memb_criticality_constr_51, memb_criticality_constraint_49 },
+ select_E2setupResponseIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_123, &asn_PER_memb_criticality_constr_123, memb_criticality_constraint_121 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_52,
- select_RICindication_IEs_value_type,
- { &asn_OER_memb_value_constr_52, &asn_PER_memb_value_constr_52, memb_value_constraint_49 },
+ &asn_DEF_value_124,
+ select_E2setupResponseIEs_value_type,
+ { &asn_OER_memb_value_constr_124, &asn_PER_memb_value_constr_124, memb_value_constraint_121 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICindication_IEs_tags_49[] = {
+static const ber_tlv_tag_t asn_DEF_E2setupResponseIEs_tags_121[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICindication_IEs_tag2el_49[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2setupResponseIEs_tag2el_121[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICindication_IEs_specs_49 = {
- sizeof(struct RICindication_IEs),
- offsetof(struct RICindication_IEs, _asn_ctx),
- asn_MAP_RICindication_IEs_tag2el_49,
+asn_SEQUENCE_specifics_t asn_SPC_E2setupResponseIEs_specs_121 = {
+ sizeof(struct E2setupResponseIEs),
+ offsetof(struct E2setupResponseIEs, _asn_ctx),
+ asn_MAP_E2setupResponseIEs_tag2el_121,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RICindication_IEs = {
- "RICindication-IEs",
- "RICindication-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2setupResponseIEs = {
+ "E2setupResponseIEs",
+ "E2setupResponseIEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICindication_IEs_tags_49,
- sizeof(asn_DEF_RICindication_IEs_tags_49)
- /sizeof(asn_DEF_RICindication_IEs_tags_49[0]), /* 1 */
- asn_DEF_RICindication_IEs_tags_49, /* Same as above */
- sizeof(asn_DEF_RICindication_IEs_tags_49)
- /sizeof(asn_DEF_RICindication_IEs_tags_49[0]), /* 1 */
+ asn_DEF_E2setupResponseIEs_tags_121,
+ sizeof(asn_DEF_E2setupResponseIEs_tags_121)
+ /sizeof(asn_DEF_E2setupResponseIEs_tags_121[0]), /* 1 */
+ asn_DEF_E2setupResponseIEs_tags_121, /* Same as above */
+ sizeof(asn_DEF_E2setupResponseIEs_tags_121)
+ /sizeof(asn_DEF_E2setupResponseIEs_tags_121[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICindication_IEs_49,
+ asn_MBR_E2setupResponseIEs_121,
3, /* Elements count */
- &asn_SPC_RICindication_IEs_specs_49 /* Additional specs */
+ &asn_SPC_E2setupResponseIEs_specs_121 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_56[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICrequestID),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_RICrequestID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "RICrequestID"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RANfunctionID),
+static asn_TYPE_member_t asn_MBR_value_128[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.TransactionID),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
- &asn_DEF_RANfunctionID,
+ &asn_DEF_TransactionID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RANfunctionID"
+ "TransactionID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcallProcessID),
- (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.CauseE2),
+ -1 /* Ambiguous tag (CHOICE?) */,
0,
- &asn_DEF_RICcallProcessID,
+ &asn_DEF_CauseE2,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICcallProcessID"
+ "CauseE2"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolHeader),
- (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.TimeToWaitE2),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
0,
- &asn_DEF_RICcontrolHeader,
+ &asn_DEF_TimeToWaitE2,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICcontrolHeader"
+ "TimeToWaitE2"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolMessage),
- (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.CriticalityDiagnosticsE2),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RICcontrolMessage,
+ &asn_DEF_CriticalityDiagnosticsE2,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICcontrolMessage"
+ "CriticalityDiagnosticsE2"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolAckRequest),
- (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.TNLinformation),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RICcontrolAckRequest,
+ &asn_DEF_TNLinformation,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICcontrolAckRequest"
+ "TNLinformation"
},
};
-static const unsigned asn_MAP_value_to_canonical_56[] = { 1, 2, 3, 4, 5, 0 };
-static const unsigned asn_MAP_value_from_canonical_56[] = { 5, 0, 1, 2, 3, 4 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_56[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
- { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 2 }, /* RICcallProcessID */
- { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, -1, 1 }, /* RICcontrolHeader */
- { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, -2, 0 }, /* RICcontrolMessage */
- { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 5, 0, 0 }, /* RICcontrolAckRequest */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
+static const unsigned asn_MAP_value_to_canonical_128[] = { 0, 2, 3, 4, 1 };
+static const unsigned asn_MAP_value_from_canonical_128[] = { 0, 4, 1, 2, 3 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_128[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, 0, 0 }, /* TimeToWaitE2 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 1 }, /* CriticalityDiagnosticsE2 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -1, 0 }, /* TNLinformation */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* ricRequest */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ricService */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* e2Node */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 }, /* transport */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* protocol */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 1, 0, 0 } /* misc */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_56 = {
- sizeof(struct RICcontrolRequest_IEs__value),
- offsetof(struct RICcontrolRequest_IEs__value, _asn_ctx),
- offsetof(struct RICcontrolRequest_IEs__value, present),
- sizeof(((struct RICcontrolRequest_IEs__value *)0)->present),
- asn_MAP_value_tag2el_56,
- 6, /* Count of tags in the map */
- asn_MAP_value_to_canonical_56,
- asn_MAP_value_from_canonical_56,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_128 = {
+ sizeof(struct E2setupFailureIEs__value),
+ offsetof(struct E2setupFailureIEs__value, _asn_ctx),
+ offsetof(struct E2setupFailureIEs__value, present),
+ sizeof(((struct E2setupFailureIEs__value *)0)->present),
+ asn_MAP_value_tag2el_128,
+ 10, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_128,
+ asn_MAP_value_from_canonical_128,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_56 = {
+asn_TYPE_descriptor_t asn_DEF_value_128 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_56,
- 6, /* Elements count */
- &asn_SPC_value_specs_56 /* Additional specs */
+ asn_MBR_value_128,
+ 5, /* Elements count */
+ &asn_SPC_value_specs_128 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICcontrolRequest_IEs_53[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, id),
+asn_TYPE_member_t asn_MBR_E2setupFailureIEs_125[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_54, &asn_PER_memb_id_constr_54, memb_id_constraint_53 },
+ { &asn_OER_memb_id_constr_126, &asn_PER_memb_id_constr_126, memb_id_constraint_125 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RICcontrolRequest_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_55, &asn_PER_memb_criticality_constr_55, memb_criticality_constraint_53 },
+ select_E2setupFailureIEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_127, &asn_PER_memb_criticality_constr_127, memb_criticality_constraint_125 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_56,
- select_RICcontrolRequest_IEs_value_type,
- { &asn_OER_memb_value_constr_56, &asn_PER_memb_value_constr_56, memb_value_constraint_53 },
+ &asn_DEF_value_128,
+ select_E2setupFailureIEs_value_type,
+ { &asn_OER_memb_value_constr_128, &asn_PER_memb_value_constr_128, memb_value_constraint_125 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICcontrolRequest_IEs_tags_53[] = {
+static const ber_tlv_tag_t asn_DEF_E2setupFailureIEs_tags_125[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICcontrolRequest_IEs_tag2el_53[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2setupFailureIEs_tag2el_125[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICcontrolRequest_IEs_specs_53 = {
- sizeof(struct RICcontrolRequest_IEs),
- offsetof(struct RICcontrolRequest_IEs, _asn_ctx),
- asn_MAP_RICcontrolRequest_IEs_tag2el_53,
+asn_SEQUENCE_specifics_t asn_SPC_E2setupFailureIEs_specs_125 = {
+ sizeof(struct E2setupFailureIEs),
+ offsetof(struct E2setupFailureIEs, _asn_ctx),
+ asn_MAP_E2setupFailureIEs_tag2el_125,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RICcontrolRequest_IEs = {
- "RICcontrolRequest-IEs",
- "RICcontrolRequest-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2setupFailureIEs = {
+ "E2setupFailureIEs",
+ "E2setupFailureIEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICcontrolRequest_IEs_tags_53,
- sizeof(asn_DEF_RICcontrolRequest_IEs_tags_53)
- /sizeof(asn_DEF_RICcontrolRequest_IEs_tags_53[0]), /* 1 */
- asn_DEF_RICcontrolRequest_IEs_tags_53, /* Same as above */
- sizeof(asn_DEF_RICcontrolRequest_IEs_tags_53)
- /sizeof(asn_DEF_RICcontrolRequest_IEs_tags_53[0]), /* 1 */
+ asn_DEF_E2setupFailureIEs_tags_125,
+ sizeof(asn_DEF_E2setupFailureIEs_tags_125)
+ /sizeof(asn_DEF_E2setupFailureIEs_tags_125[0]), /* 1 */
+ asn_DEF_E2setupFailureIEs_tags_125, /* Same as above */
+ sizeof(asn_DEF_E2setupFailureIEs_tags_125)
+ /sizeof(asn_DEF_E2setupFailureIEs_tags_125[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICcontrolRequest_IEs_53,
+ asn_MBR_E2setupFailureIEs_125,
3, /* Elements count */
- &asn_SPC_RICcontrolRequest_IEs_specs_53 /* Additional specs */
+ &asn_SPC_E2setupFailureIEs_specs_125 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_60[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICrequestID),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_RICrequestID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "RICrequestID"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RANfunctionID),
+static asn_TYPE_member_t asn_MBR_value_132[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_IEs__value, choice.TransactionID),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
- &asn_DEF_RANfunctionID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "RANfunctionID"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcallProcessID),
- (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
- 0,
- &asn_DEF_RICcallProcessID,
+ &asn_DEF_TransactionID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICcallProcessID"
+ "TransactionID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcontrolStatus),
- (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_IEs__value, choice.E2connectionUpdate_List),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RICcontrolStatus,
+ &asn_DEF_E2connectionUpdate_List,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICcontrolStatus"
+ "E2connectionUpdate-List"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcontrolOutcome),
- (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_IEs__value, choice.E2connectionUpdateRemove_List),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RICcontrolOutcome,
+ &asn_DEF_E2connectionUpdateRemove_List,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICcontrolOutcome"
+ "E2connectionUpdateRemove-List"
},
};
-static const unsigned asn_MAP_value_to_canonical_60[] = { 1, 2, 4, 3, 0 };
-static const unsigned asn_MAP_value_from_canonical_60[] = { 4, 0, 1, 3, 2 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_60[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
- { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 1 }, /* RICcallProcessID */
- { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, -1, 0 }, /* RICcontrolOutcome */
- { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 3, 0, 0 }, /* RICcontrolStatus */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_132[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* E2connectionUpdate-List */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* E2connectionUpdateRemove-List */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_60 = {
- sizeof(struct RICcontrolAcknowledge_IEs__value),
- offsetof(struct RICcontrolAcknowledge_IEs__value, _asn_ctx),
- offsetof(struct RICcontrolAcknowledge_IEs__value, present),
- sizeof(((struct RICcontrolAcknowledge_IEs__value *)0)->present),
- asn_MAP_value_tag2el_60,
- 5, /* Count of tags in the map */
- asn_MAP_value_to_canonical_60,
- asn_MAP_value_from_canonical_60,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_132 = {
+ sizeof(struct E2connectionUpdate_IEs__value),
+ offsetof(struct E2connectionUpdate_IEs__value, _asn_ctx),
+ offsetof(struct E2connectionUpdate_IEs__value, present),
+ sizeof(((struct E2connectionUpdate_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_132,
+ 3, /* Count of tags in the map */
+ 0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_60 = {
+asn_TYPE_descriptor_t asn_DEF_value_132 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_60,
- 5, /* Elements count */
- &asn_SPC_value_specs_60 /* Additional specs */
+ asn_MBR_value_132,
+ 3, /* Elements count */
+ &asn_SPC_value_specs_132 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_IEs_57[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, id),
+asn_TYPE_member_t asn_MBR_E2connectionUpdate_IEs_129[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_58, &asn_PER_memb_id_constr_58, memb_id_constraint_57 },
+ { &asn_OER_memb_id_constr_130, &asn_PER_memb_id_constr_130, memb_id_constraint_129 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RICcontrolAcknowledge_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_59, &asn_PER_memb_criticality_constr_59, memb_criticality_constraint_57 },
+ select_E2connectionUpdate_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_131, &asn_PER_memb_criticality_constr_131, memb_criticality_constraint_129 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_60,
- select_RICcontrolAcknowledge_IEs_value_type,
- { &asn_OER_memb_value_constr_60, &asn_PER_memb_value_constr_60, memb_value_constraint_57 },
+ &asn_DEF_value_132,
+ select_E2connectionUpdate_IEs_value_type,
+ { &asn_OER_memb_value_constr_132, &asn_PER_memb_value_constr_132, memb_value_constraint_129 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICcontrolAcknowledge_IEs_tags_57[] = {
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdate_IEs_tags_129[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICcontrolAcknowledge_IEs_tag2el_57[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdate_IEs_tag2el_129[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICcontrolAcknowledge_IEs_specs_57 = {
- sizeof(struct RICcontrolAcknowledge_IEs),
- offsetof(struct RICcontrolAcknowledge_IEs, _asn_ctx),
- asn_MAP_RICcontrolAcknowledge_IEs_tag2el_57,
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdate_IEs_specs_129 = {
+ sizeof(struct E2connectionUpdate_IEs),
+ offsetof(struct E2connectionUpdate_IEs, _asn_ctx),
+ asn_MAP_E2connectionUpdate_IEs_tag2el_129,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RICcontrolAcknowledge_IEs = {
- "RICcontrolAcknowledge-IEs",
- "RICcontrolAcknowledge-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2connectionUpdate_IEs = {
+ "E2connectionUpdate-IEs",
+ "E2connectionUpdate-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICcontrolAcknowledge_IEs_tags_57,
- sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_57)
- /sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_57[0]), /* 1 */
- asn_DEF_RICcontrolAcknowledge_IEs_tags_57, /* Same as above */
- sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_57)
- /sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_57[0]), /* 1 */
+ asn_DEF_E2connectionUpdate_IEs_tags_129,
+ sizeof(asn_DEF_E2connectionUpdate_IEs_tags_129)
+ /sizeof(asn_DEF_E2connectionUpdate_IEs_tags_129[0]), /* 1 */
+ asn_DEF_E2connectionUpdate_IEs_tags_129, /* Same as above */
+ sizeof(asn_DEF_E2connectionUpdate_IEs_tags_129)
+ /sizeof(asn_DEF_E2connectionUpdate_IEs_tags_129[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICcontrolAcknowledge_IEs_57,
+ asn_MBR_E2connectionUpdate_IEs_129,
3, /* Elements count */
- &asn_SPC_RICcontrolAcknowledge_IEs_specs_57 /* Additional specs */
+ &asn_SPC_E2connectionUpdate_IEs_specs_129 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_64[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICrequestID),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
- 0,
- &asn_DEF_RICrequestID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "RICrequestID"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RANfunctionID),
+static asn_TYPE_member_t asn_MBR_value_136[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateAck_IEs__value, choice.TransactionID),
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
- &asn_DEF_RANfunctionID,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "RANfunctionID"
- },
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICcallProcessID),
- (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
- 0,
- &asn_DEF_RICcallProcessID,
+ &asn_DEF_TransactionID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICcallProcessID"
+ "TransactionID"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.CauseE2),
- -1 /* Ambiguous tag (CHOICE?) */,
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateAck_IEs__value, choice.E2connectionUpdate_List),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_CauseE2,
+ &asn_DEF_E2connectionUpdate_List,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "CauseE2"
+ "E2connectionUpdate-List"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICcontrolOutcome),
- (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateAck_IEs__value, choice.E2connectionSetupFailed_List),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RICcontrolOutcome,
+ &asn_DEF_E2connectionSetupFailed_List,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICcontrolOutcome"
+ "E2connectionSetupFailed-List"
},
};
-static const unsigned asn_MAP_value_to_canonical_64[] = { 1, 2, 4, 0, 3 };
-static const unsigned asn_MAP_value_from_canonical_64[] = { 3, 0, 1, 4, 2 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_64[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
- { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 1 }, /* RICcallProcessID */
- { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, -1, 0 }, /* RICcontrolOutcome */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* RICrequestID */
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 3, 0, 0 }, /* ricRequest */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 3, 0, 0 }, /* ricService */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 }, /* transport */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* protocol */
- { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 } /* misc */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_136[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* E2connectionUpdate-List */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* E2connectionSetupFailed-List */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_64 = {
- sizeof(struct RICcontrolFailure_IEs__value),
- offsetof(struct RICcontrolFailure_IEs__value, _asn_ctx),
- offsetof(struct RICcontrolFailure_IEs__value, present),
- sizeof(((struct RICcontrolFailure_IEs__value *)0)->present),
- asn_MAP_value_tag2el_64,
- 9, /* Count of tags in the map */
- asn_MAP_value_to_canonical_64,
- asn_MAP_value_from_canonical_64,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_136 = {
+ sizeof(struct E2connectionUpdateAck_IEs__value),
+ offsetof(struct E2connectionUpdateAck_IEs__value, _asn_ctx),
+ offsetof(struct E2connectionUpdateAck_IEs__value, present),
+ sizeof(((struct E2connectionUpdateAck_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_136,
+ 3, /* Count of tags in the map */
+ 0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_64 = {
+asn_TYPE_descriptor_t asn_DEF_value_136 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_64,
- 5, /* Elements count */
- &asn_SPC_value_specs_64 /* Additional specs */
+ asn_MBR_value_136,
+ 3, /* Elements count */
+ &asn_SPC_value_specs_136 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICcontrolFailure_IEs_61[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, id),
+asn_TYPE_member_t asn_MBR_E2connectionUpdateAck_IEs_133[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateAck_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_62, &asn_PER_memb_id_constr_62, memb_id_constraint_61 },
+ { &asn_OER_memb_id_constr_134, &asn_PER_memb_id_constr_134, memb_id_constraint_133 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateAck_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_RICcontrolFailure_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_63, &asn_PER_memb_criticality_constr_63, memb_criticality_constraint_61 },
+ select_E2connectionUpdateAck_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_135, &asn_PER_memb_criticality_constr_135, memb_criticality_constraint_133 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateAck_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_64,
- select_RICcontrolFailure_IEs_value_type,
- { &asn_OER_memb_value_constr_64, &asn_PER_memb_value_constr_64, memb_value_constraint_61 },
+ &asn_DEF_value_136,
+ select_E2connectionUpdateAck_IEs_value_type,
+ { &asn_OER_memb_value_constr_136, &asn_PER_memb_value_constr_136, memb_value_constraint_133 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICcontrolFailure_IEs_tags_61[] = {
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdateAck_IEs_tags_133[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICcontrolFailure_IEs_tag2el_61[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdateAck_IEs_tag2el_133[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICcontrolFailure_IEs_specs_61 = {
- sizeof(struct RICcontrolFailure_IEs),
- offsetof(struct RICcontrolFailure_IEs, _asn_ctx),
- asn_MAP_RICcontrolFailure_IEs_tag2el_61,
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateAck_IEs_specs_133 = {
+ sizeof(struct E2connectionUpdateAck_IEs),
+ offsetof(struct E2connectionUpdateAck_IEs, _asn_ctx),
+ asn_MAP_E2connectionUpdateAck_IEs_tag2el_133,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_RICcontrolFailure_IEs = {
- "RICcontrolFailure-IEs",
- "RICcontrolFailure-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateAck_IEs = {
+ "E2connectionUpdateAck-IEs",
+ "E2connectionUpdateAck-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICcontrolFailure_IEs_tags_61,
- sizeof(asn_DEF_RICcontrolFailure_IEs_tags_61)
- /sizeof(asn_DEF_RICcontrolFailure_IEs_tags_61[0]), /* 1 */
- asn_DEF_RICcontrolFailure_IEs_tags_61, /* Same as above */
- sizeof(asn_DEF_RICcontrolFailure_IEs_tags_61)
- /sizeof(asn_DEF_RICcontrolFailure_IEs_tags_61[0]), /* 1 */
+ asn_DEF_E2connectionUpdateAck_IEs_tags_133,
+ sizeof(asn_DEF_E2connectionUpdateAck_IEs_tags_133)
+ /sizeof(asn_DEF_E2connectionUpdateAck_IEs_tags_133[0]), /* 1 */
+ asn_DEF_E2connectionUpdateAck_IEs_tags_133, /* Same as above */
+ sizeof(asn_DEF_E2connectionUpdateAck_IEs_tags_133)
+ /sizeof(asn_DEF_E2connectionUpdateAck_IEs_tags_133[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICcontrolFailure_IEs_61,
+ asn_MBR_E2connectionUpdateAck_IEs_133,
3, /* Elements count */
- &asn_SPC_RICcontrolFailure_IEs_specs_61 /* Additional specs */
+ &asn_SPC_E2connectionUpdateAck_IEs_specs_133 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_68[] = {
- { ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs__value, choice.RICrequestID),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+static asn_TYPE_member_t asn_MBR_value_140[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateFailure_IEs__value, choice.TransactionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
- &asn_DEF_RICrequestID,
+ &asn_DEF_TransactionID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RICrequestID"
+ "TransactionID"
},
- { ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs__value, choice.RANfunctionID),
- (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateFailure_IEs__value, choice.CauseE2),
+ -1 /* Ambiguous tag (CHOICE?) */,
0,
- &asn_DEF_RANfunctionID,
+ &asn_DEF_CauseE2,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RANfunctionID"
+ "CauseE2"
},
- { ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs__value, choice.CauseE2),
- -1 /* Ambiguous tag (CHOICE?) */,
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateFailure_IEs__value, choice.TimeToWaitE2),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
0,
- &asn_DEF_CauseE2,
+ &asn_DEF_TimeToWaitE2,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "CauseE2"
+ "TimeToWaitE2"
},
- { ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs__value, choice.CriticalityDiagnosticsE2),
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateFailure_IEs__value, choice.CriticalityDiagnosticsE2),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_CriticalityDiagnosticsE2,
"CriticalityDiagnosticsE2"
},
};
-static const unsigned asn_MAP_value_to_canonical_68[] = { 1, 0, 3, 2 };
-static const unsigned asn_MAP_value_from_canonical_68[] = { 1, 0, 3, 2 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_68[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RICrequestID */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 }, /* CriticalityDiagnosticsE2 */
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* ricRequest */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* ricService */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* transport */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* protocol */
- { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 2, 0, 0 } /* misc */
-};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_68 = {
- sizeof(struct ErrorIndicationE2_IEs__value),
- offsetof(struct ErrorIndicationE2_IEs__value, _asn_ctx),
- offsetof(struct ErrorIndicationE2_IEs__value, present),
- sizeof(((struct ErrorIndicationE2_IEs__value *)0)->present),
- asn_MAP_value_tag2el_68,
- 8, /* Count of tags in the map */
- asn_MAP_value_to_canonical_68,
- asn_MAP_value_from_canonical_68,
+static const unsigned asn_MAP_value_to_canonical_140[] = { 0, 2, 3, 1 };
+static const unsigned asn_MAP_value_from_canonical_140[] = { 0, 3, 1, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_140[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, 0, 0 }, /* TimeToWaitE2 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* CriticalityDiagnosticsE2 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* ricRequest */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ricService */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* e2Node */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 }, /* transport */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* protocol */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 1, 0, 0 } /* misc */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_140 = {
+ sizeof(struct E2connectionUpdateFailure_IEs__value),
+ offsetof(struct E2connectionUpdateFailure_IEs__value, _asn_ctx),
+ offsetof(struct E2connectionUpdateFailure_IEs__value, present),
+ sizeof(((struct E2connectionUpdateFailure_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_140,
+ 9, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_140,
+ asn_MAP_value_from_canonical_140,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_68 = {
+asn_TYPE_descriptor_t asn_DEF_value_140 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_68,
+ asn_MBR_value_140,
4, /* Elements count */
- &asn_SPC_value_specs_68 /* Additional specs */
+ &asn_SPC_value_specs_140 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ErrorIndicationE2_IEs_65[] = {
- { ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs, id),
+asn_TYPE_member_t asn_MBR_E2connectionUpdateFailure_IEs_137[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateFailure_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_66, &asn_PER_memb_id_constr_66, memb_id_constraint_65 },
+ { &asn_OER_memb_id_constr_138, &asn_PER_memb_id_constr_138, memb_id_constraint_137 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateFailure_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_ErrorIndicationE2_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_67, &asn_PER_memb_criticality_constr_67, memb_criticality_constraint_65 },
+ select_E2connectionUpdateFailure_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_139, &asn_PER_memb_criticality_constr_139, memb_criticality_constraint_137 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ErrorIndicationE2_IEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateFailure_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_68,
- select_ErrorIndicationE2_IEs_value_type,
- { &asn_OER_memb_value_constr_68, &asn_PER_memb_value_constr_68, memb_value_constraint_65 },
+ &asn_DEF_value_140,
+ select_E2connectionUpdateFailure_IEs_value_type,
+ { &asn_OER_memb_value_constr_140, &asn_PER_memb_value_constr_140, memb_value_constraint_137 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_ErrorIndicationE2_IEs_tags_65[] = {
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdateFailure_IEs_tags_137[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_ErrorIndicationE2_IEs_tag2el_65[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdateFailure_IEs_tag2el_137[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_ErrorIndicationE2_IEs_specs_65 = {
- sizeof(struct ErrorIndicationE2_IEs),
- offsetof(struct ErrorIndicationE2_IEs, _asn_ctx),
- asn_MAP_ErrorIndicationE2_IEs_tag2el_65,
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateFailure_IEs_specs_137 = {
+ sizeof(struct E2connectionUpdateFailure_IEs),
+ offsetof(struct E2connectionUpdateFailure_IEs, _asn_ctx),
+ asn_MAP_E2connectionUpdateFailure_IEs_tag2el_137,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_ErrorIndicationE2_IEs = {
- "ErrorIndicationE2-IEs",
- "ErrorIndicationE2-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateFailure_IEs = {
+ "E2connectionUpdateFailure-IEs",
+ "E2connectionUpdateFailure-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_ErrorIndicationE2_IEs_tags_65,
- sizeof(asn_DEF_ErrorIndicationE2_IEs_tags_65)
- /sizeof(asn_DEF_ErrorIndicationE2_IEs_tags_65[0]), /* 1 */
- asn_DEF_ErrorIndicationE2_IEs_tags_65, /* Same as above */
- sizeof(asn_DEF_ErrorIndicationE2_IEs_tags_65)
- /sizeof(asn_DEF_ErrorIndicationE2_IEs_tags_65[0]), /* 1 */
+ asn_DEF_E2connectionUpdateFailure_IEs_tags_137,
+ sizeof(asn_DEF_E2connectionUpdateFailure_IEs_tags_137)
+ /sizeof(asn_DEF_E2connectionUpdateFailure_IEs_tags_137[0]), /* 1 */
+ asn_DEF_E2connectionUpdateFailure_IEs_tags_137, /* Same as above */
+ sizeof(asn_DEF_E2connectionUpdateFailure_IEs_tags_137)
+ /sizeof(asn_DEF_E2connectionUpdateFailure_IEs_tags_137[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_ErrorIndicationE2_IEs_65,
+ asn_MBR_E2connectionUpdateFailure_IEs_137,
3, /* Elements count */
- &asn_SPC_ErrorIndicationE2_IEs_specs_65 /* Additional specs */
+ &asn_SPC_E2connectionUpdateFailure_IEs_specs_137 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_72[] = {
- { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.GlobalE2node_ID),
+static asn_TYPE_member_t asn_MBR_value_144[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs__value, choice.TransactionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_TransactionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "TransactionID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs__value, choice.GlobalE2node_ID),
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_GlobalE2node_ID,
0, 0, /* No default value */
"GlobalE2node-ID"
},
- { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.RANfunctions_List),
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs__value, choice.E2nodeComponentConfigAddition_List),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeComponentConfigAddition_List,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2nodeComponentConfigAddition-List"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs__value, choice.E2nodeComponentConfigUpdate_List),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeComponentConfigUpdate_List,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2nodeComponentConfigUpdate-List"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs__value, choice.E2nodeComponentConfigRemoval_List),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeComponentConfigRemoval_List,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2nodeComponentConfigRemoval-List"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs__value, choice.E2nodeTNLassociationRemoval_List),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RANfunctions_List,
+ &asn_DEF_E2nodeTNLassociationRemoval_List,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RANfunctions-List"
- },
-};
-static const unsigned asn_MAP_value_to_canonical_72[] = { 1, 0 };
-static const unsigned asn_MAP_value_from_canonical_72[] = { 1, 0 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_72[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* RANfunctions-List */
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* en-gNB */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* ng-eNB */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 } /* eNB */
-};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_72 = {
- sizeof(struct E2setupRequestIEs__value),
- offsetof(struct E2setupRequestIEs__value, _asn_ctx),
- offsetof(struct E2setupRequestIEs__value, present),
- sizeof(((struct E2setupRequestIEs__value *)0)->present),
- asn_MAP_value_tag2el_72,
- 5, /* Count of tags in the map */
- asn_MAP_value_to_canonical_72,
- asn_MAP_value_from_canonical_72,
+ "E2nodeTNLassociationRemoval-List"
+ },
+};
+static const unsigned asn_MAP_value_to_canonical_144[] = { 0, 2, 3, 4, 5, 1 };
+static const unsigned asn_MAP_value_from_canonical_144[] = { 0, 5, 1, 2, 3, 4 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_144[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 3 }, /* E2nodeComponentConfigAddition-List */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 2 }, /* E2nodeComponentConfigUpdate-List */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -2, 1 }, /* E2nodeComponentConfigRemoval-List */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -3, 0 }, /* E2nodeTNLassociationRemoval-List */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* gNB */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-gNB */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* ng-eNB */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* eNB */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_144 = {
+ sizeof(struct E2nodeConfigurationUpdate_IEs__value),
+ offsetof(struct E2nodeConfigurationUpdate_IEs__value, _asn_ctx),
+ offsetof(struct E2nodeConfigurationUpdate_IEs__value, present),
+ sizeof(((struct E2nodeConfigurationUpdate_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_144,
+ 9, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_144,
+ asn_MAP_value_from_canonical_144,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_72 = {
+asn_TYPE_descriptor_t asn_DEF_value_144 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_72,
- 2, /* Elements count */
- &asn_SPC_value_specs_72 /* Additional specs */
+ asn_MBR_value_144,
+ 6, /* Elements count */
+ &asn_SPC_value_specs_144 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_E2setupRequestIEs_69[] = {
- { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, id),
+asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdate_IEs_141[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_70, &asn_PER_memb_id_constr_70, memb_id_constraint_69 },
+ { &asn_OER_memb_id_constr_142, &asn_PER_memb_id_constr_142, memb_id_constraint_141 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_E2setupRequestIEs_criticality_type,
- { &asn_OER_memb_criticality_constr_71, &asn_PER_memb_criticality_constr_71, memb_criticality_constraint_69 },
+ select_E2nodeConfigurationUpdate_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_143, &asn_PER_memb_criticality_constr_143, memb_criticality_constraint_141 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_72,
- select_E2setupRequestIEs_value_type,
- { &asn_OER_memb_value_constr_72, &asn_PER_memb_value_constr_72, memb_value_constraint_69 },
+ &asn_DEF_value_144,
+ select_E2nodeConfigurationUpdate_IEs_value_type,
+ { &asn_OER_memb_value_constr_144, &asn_PER_memb_value_constr_144, memb_value_constraint_141 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_E2setupRequestIEs_tags_69[] = {
+static const ber_tlv_tag_t asn_DEF_E2nodeConfigurationUpdate_IEs_tags_141[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_E2setupRequestIEs_tag2el_69[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdate_IEs_tag2el_141[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_E2setupRequestIEs_specs_69 = {
- sizeof(struct E2setupRequestIEs),
- offsetof(struct E2setupRequestIEs, _asn_ctx),
- asn_MAP_E2setupRequestIEs_tag2el_69,
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdate_IEs_specs_141 = {
+ sizeof(struct E2nodeConfigurationUpdate_IEs),
+ offsetof(struct E2nodeConfigurationUpdate_IEs, _asn_ctx),
+ asn_MAP_E2nodeConfigurationUpdate_IEs_tag2el_141,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_E2setupRequestIEs = {
- "E2setupRequestIEs",
- "E2setupRequestIEs",
+asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdate_IEs = {
+ "E2nodeConfigurationUpdate-IEs",
+ "E2nodeConfigurationUpdate-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_E2setupRequestIEs_tags_69,
- sizeof(asn_DEF_E2setupRequestIEs_tags_69)
- /sizeof(asn_DEF_E2setupRequestIEs_tags_69[0]), /* 1 */
- asn_DEF_E2setupRequestIEs_tags_69, /* Same as above */
- sizeof(asn_DEF_E2setupRequestIEs_tags_69)
- /sizeof(asn_DEF_E2setupRequestIEs_tags_69[0]), /* 1 */
+ asn_DEF_E2nodeConfigurationUpdate_IEs_tags_141,
+ sizeof(asn_DEF_E2nodeConfigurationUpdate_IEs_tags_141)
+ /sizeof(asn_DEF_E2nodeConfigurationUpdate_IEs_tags_141[0]), /* 1 */
+ asn_DEF_E2nodeConfigurationUpdate_IEs_tags_141, /* Same as above */
+ sizeof(asn_DEF_E2nodeConfigurationUpdate_IEs_tags_141)
+ /sizeof(asn_DEF_E2nodeConfigurationUpdate_IEs_tags_141[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_E2setupRequestIEs_69,
+ asn_MBR_E2nodeConfigurationUpdate_IEs_141,
3, /* Elements count */
- &asn_SPC_E2setupRequestIEs_specs_69 /* Additional specs */
+ &asn_SPC_E2nodeConfigurationUpdate_IEs_specs_141 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_76[] = {
- { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.GlobalRIC_ID),
+static asn_TYPE_member_t asn_MBR_value_148[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs__value, choice.TransactionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_TransactionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "TransactionID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs__value, choice.E2nodeComponentConfigAdditionAck_List),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_GlobalRIC_ID,
+ &asn_DEF_E2nodeComponentConfigAdditionAck_List,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "GlobalRIC-ID"
+ "E2nodeComponentConfigAdditionAck-List"
},
- { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.RANfunctionsID_List),
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs__value, choice.E2nodeComponentConfigUpdateAck_List),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RANfunctionsID_List,
+ &asn_DEF_E2nodeComponentConfigUpdateAck_List,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RANfunctionsID-List"
+ "E2nodeComponentConfigUpdateAck-List"
},
- { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.RANfunctionsIDcause_List),
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs__value, choice.E2nodeComponentConfigRemovalAck_List),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_RANfunctionsIDcause_List,
+ &asn_DEF_E2nodeComponentConfigRemovalAck_List,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RANfunctionsIDcause-List"
+ "E2nodeComponentConfigRemovalAck-List"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_76[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* GlobalRIC-ID */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 1 }, /* RANfunctionsID-List */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 0 } /* RANfunctionsIDcause-List */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_148[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 2 }, /* E2nodeComponentConfigAdditionAck-List */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 1 }, /* E2nodeComponentConfigUpdateAck-List */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 0 } /* E2nodeComponentConfigRemovalAck-List */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_76 = {
- sizeof(struct E2setupResponseIEs__value),
- offsetof(struct E2setupResponseIEs__value, _asn_ctx),
- offsetof(struct E2setupResponseIEs__value, present),
- sizeof(((struct E2setupResponseIEs__value *)0)->present),
- asn_MAP_value_tag2el_76,
- 3, /* Count of tags in the map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_148 = {
+ sizeof(struct E2nodeConfigurationUpdateAcknowledge_IEs__value),
+ offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs__value, _asn_ctx),
+ offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs__value, present),
+ sizeof(((struct E2nodeConfigurationUpdateAcknowledge_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_148,
+ 4, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_76 = {
+asn_TYPE_descriptor_t asn_DEF_value_148 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_76,
- 3, /* Elements count */
- &asn_SPC_value_specs_76 /* Additional specs */
+ asn_MBR_value_148,
+ 4, /* Elements count */
+ &asn_SPC_value_specs_148 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_E2setupResponseIEs_73[] = {
- { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, id),
+asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateAcknowledge_IEs_145[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_74, &asn_PER_memb_id_constr_74, memb_id_constraint_73 },
+ { &asn_OER_memb_id_constr_146, &asn_PER_memb_id_constr_146, memb_id_constraint_145 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_E2setupResponseIEs_criticality_type,
- { &asn_OER_memb_criticality_constr_75, &asn_PER_memb_criticality_constr_75, memb_criticality_constraint_73 },
+ select_E2nodeConfigurationUpdateAcknowledge_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_147, &asn_PER_memb_criticality_constr_147, memb_criticality_constraint_145 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_76,
- select_E2setupResponseIEs_value_type,
- { &asn_OER_memb_value_constr_76, &asn_PER_memb_value_constr_76, memb_value_constraint_73 },
+ &asn_DEF_value_148,
+ select_E2nodeConfigurationUpdateAcknowledge_IEs_value_type,
+ { &asn_OER_memb_value_constr_148, &asn_PER_memb_value_constr_148, memb_value_constraint_145 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_E2setupResponseIEs_tags_73[] = {
+static const ber_tlv_tag_t asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_145[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_E2setupResponseIEs_tag2el_73[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdateAcknowledge_IEs_tag2el_145[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_E2setupResponseIEs_specs_73 = {
- sizeof(struct E2setupResponseIEs),
- offsetof(struct E2setupResponseIEs, _asn_ctx),
- asn_MAP_E2setupResponseIEs_tag2el_73,
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateAcknowledge_IEs_specs_145 = {
+ sizeof(struct E2nodeConfigurationUpdateAcknowledge_IEs),
+ offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs, _asn_ctx),
+ asn_MAP_E2nodeConfigurationUpdateAcknowledge_IEs_tag2el_145,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_E2setupResponseIEs = {
- "E2setupResponseIEs",
- "E2setupResponseIEs",
+asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs = {
+ "E2nodeConfigurationUpdateAcknowledge-IEs",
+ "E2nodeConfigurationUpdateAcknowledge-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_E2setupResponseIEs_tags_73,
- sizeof(asn_DEF_E2setupResponseIEs_tags_73)
- /sizeof(asn_DEF_E2setupResponseIEs_tags_73[0]), /* 1 */
- asn_DEF_E2setupResponseIEs_tags_73, /* Same as above */
- sizeof(asn_DEF_E2setupResponseIEs_tags_73)
- /sizeof(asn_DEF_E2setupResponseIEs_tags_73[0]), /* 1 */
+ asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_145,
+ sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_145)
+ /sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_145[0]), /* 1 */
+ asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_145, /* Same as above */
+ sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_145)
+ /sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_145[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_E2setupResponseIEs_73,
+ asn_MBR_E2nodeConfigurationUpdateAcknowledge_IEs_145,
3, /* Elements count */
- &asn_SPC_E2setupResponseIEs_specs_73 /* Additional specs */
+ &asn_SPC_E2nodeConfigurationUpdateAcknowledge_IEs_specs_145 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_80[] = {
- { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.CauseE2),
+static asn_TYPE_member_t asn_MBR_value_152[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure_IEs__value, choice.TransactionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_TransactionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "TransactionID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure_IEs__value, choice.CauseE2),
-1 /* Ambiguous tag (CHOICE?) */,
0,
&asn_DEF_CauseE2,
0, 0, /* No default value */
"CauseE2"
},
- { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.TimeToWaitE2),
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure_IEs__value, choice.TimeToWaitE2),
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
0,
&asn_DEF_TimeToWaitE2,
0, 0, /* No default value */
"TimeToWaitE2"
},
- { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.CriticalityDiagnosticsE2),
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure_IEs__value, choice.CriticalityDiagnosticsE2),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
&asn_DEF_CriticalityDiagnosticsE2,
"CriticalityDiagnosticsE2"
},
};
-static const unsigned asn_MAP_value_to_canonical_80[] = { 1, 2, 0 };
-static const unsigned asn_MAP_value_from_canonical_80[] = { 2, 0, 1 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_80[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 }, /* TimeToWaitE2 */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* CriticalityDiagnosticsE2 */
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ricRequest */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* ricService */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* transport */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 }, /* protocol */
- { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 0, 0, 0 } /* misc */
-};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_80 = {
- sizeof(struct E2setupFailureIEs__value),
- offsetof(struct E2setupFailureIEs__value, _asn_ctx),
- offsetof(struct E2setupFailureIEs__value, present),
- sizeof(((struct E2setupFailureIEs__value *)0)->present),
- asn_MAP_value_tag2el_80,
- 7, /* Count of tags in the map */
- asn_MAP_value_to_canonical_80,
- asn_MAP_value_from_canonical_80,
+static const unsigned asn_MAP_value_to_canonical_152[] = { 0, 2, 3, 1 };
+static const unsigned asn_MAP_value_from_canonical_152[] = { 0, 3, 1, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_152[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, 0, 0 }, /* TimeToWaitE2 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* CriticalityDiagnosticsE2 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* ricRequest */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ricService */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* e2Node */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 }, /* transport */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* protocol */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 1, 0, 0 } /* misc */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_152 = {
+ sizeof(struct E2nodeConfigurationUpdateFailure_IEs__value),
+ offsetof(struct E2nodeConfigurationUpdateFailure_IEs__value, _asn_ctx),
+ offsetof(struct E2nodeConfigurationUpdateFailure_IEs__value, present),
+ sizeof(((struct E2nodeConfigurationUpdateFailure_IEs__value *)0)->present),
+ asn_MAP_value_tag2el_152,
+ 9, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_152,
+ asn_MAP_value_from_canonical_152,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_80 = {
+asn_TYPE_descriptor_t asn_DEF_value_152 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_80,
- 3, /* Elements count */
- &asn_SPC_value_specs_80 /* Additional specs */
+ asn_MBR_value_152,
+ 4, /* Elements count */
+ &asn_SPC_value_specs_152 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_E2setupFailureIEs_77[] = {
- { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, id),
+asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateFailure_IEs_149[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_78, &asn_PER_memb_id_constr_78, memb_id_constraint_77 },
+ { &asn_OER_memb_id_constr_150, &asn_PER_memb_id_constr_150, memb_id_constraint_149 },
0, 0, /* No default value */
"id"
},
- { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, criticality),
+ { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure_IEs, criticality),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
- select_E2setupFailureIEs_criticality_type,
- { &asn_OER_memb_criticality_constr_79, &asn_PER_memb_criticality_constr_79, memb_criticality_constraint_77 },
+ select_E2nodeConfigurationUpdateFailure_IEs_criticality_type,
+ { &asn_OER_memb_criticality_constr_151, &asn_PER_memb_criticality_constr_151, memb_criticality_constraint_149 },
0, 0, /* No default value */
"criticality"
},
- { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, value),
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_80,
- select_E2setupFailureIEs_value_type,
- { &asn_OER_memb_value_constr_80, &asn_PER_memb_value_constr_80, memb_value_constraint_77 },
+ &asn_DEF_value_152,
+ select_E2nodeConfigurationUpdateFailure_IEs_value_type,
+ { &asn_OER_memb_value_constr_152, &asn_PER_memb_value_constr_152, memb_value_constraint_149 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_E2setupFailureIEs_tags_77[] = {
+static const ber_tlv_tag_t asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_149[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_E2setupFailureIEs_tag2el_77[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdateFailure_IEs_tag2el_149[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_E2setupFailureIEs_specs_77 = {
- sizeof(struct E2setupFailureIEs),
- offsetof(struct E2setupFailureIEs, _asn_ctx),
- asn_MAP_E2setupFailureIEs_tag2el_77,
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateFailure_IEs_specs_149 = {
+ sizeof(struct E2nodeConfigurationUpdateFailure_IEs),
+ offsetof(struct E2nodeConfigurationUpdateFailure_IEs, _asn_ctx),
+ asn_MAP_E2nodeConfigurationUpdateFailure_IEs_tag2el_149,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
};
-asn_TYPE_descriptor_t asn_DEF_E2setupFailureIEs = {
- "E2setupFailureIEs",
- "E2setupFailureIEs",
+asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateFailure_IEs = {
+ "E2nodeConfigurationUpdateFailure-IEs",
+ "E2nodeConfigurationUpdateFailure-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_E2setupFailureIEs_tags_77,
- sizeof(asn_DEF_E2setupFailureIEs_tags_77)
- /sizeof(asn_DEF_E2setupFailureIEs_tags_77[0]), /* 1 */
- asn_DEF_E2setupFailureIEs_tags_77, /* Same as above */
- sizeof(asn_DEF_E2setupFailureIEs_tags_77)
- /sizeof(asn_DEF_E2setupFailureIEs_tags_77[0]), /* 1 */
+ asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_149,
+ sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_149)
+ /sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_149[0]), /* 1 */
+ asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_149, /* Same as above */
+ sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_149)
+ /sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_149[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_E2setupFailureIEs_77,
+ asn_MBR_E2nodeConfigurationUpdateFailure_IEs_149,
3, /* Elements count */
- &asn_SPC_E2setupFailureIEs_specs_77 /* Additional specs */
+ &asn_SPC_E2nodeConfigurationUpdateFailure_IEs_specs_149 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_84[] = {
+static asn_TYPE_member_t asn_MBR_value_156[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct ResetRequestIEs__value, choice.TransactionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_TransactionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "TransactionID"
+ },
{ ATF_NOFLAGS, 0, offsetof(struct ResetRequestIEs__value, choice.CauseE2),
-1 /* Ambiguous tag (CHOICE?) */,
0,
"CauseE2"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_84[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ricRequest */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* ricService */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* transport */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 }, /* protocol */
- { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 0, 0, 0 } /* misc */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_156[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* ricRequest */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ricService */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* e2Node */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 }, /* transport */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* protocol */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 1, 0, 0 } /* misc */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_84 = {
+static asn_CHOICE_specifics_t asn_SPC_value_specs_156 = {
sizeof(struct ResetRequestIEs__value),
offsetof(struct ResetRequestIEs__value, _asn_ctx),
offsetof(struct ResetRequestIEs__value, present),
sizeof(((struct ResetRequestIEs__value *)0)->present),
- asn_MAP_value_tag2el_84,
- 5, /* Count of tags in the map */
+ asn_MAP_value_tag2el_156,
+ 7, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_84 = {
+asn_TYPE_descriptor_t asn_DEF_value_156 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_84,
- 1, /* Elements count */
- &asn_SPC_value_specs_84 /* Additional specs */
+ asn_MBR_value_156,
+ 2, /* Elements count */
+ &asn_SPC_value_specs_156 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ResetRequestIEs_81[] = {
+asn_TYPE_member_t asn_MBR_ResetRequestIEs_153[] = {
{ ATF_NOFLAGS, 0, offsetof(struct ResetRequestIEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_82, &asn_PER_memb_id_constr_82, memb_id_constraint_81 },
+ { &asn_OER_memb_id_constr_154, &asn_PER_memb_id_constr_154, memb_id_constraint_153 },
0, 0, /* No default value */
"id"
},
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
select_ResetRequestIEs_criticality_type,
- { &asn_OER_memb_criticality_constr_83, &asn_PER_memb_criticality_constr_83, memb_criticality_constraint_81 },
+ { &asn_OER_memb_criticality_constr_155, &asn_PER_memb_criticality_constr_155, memb_criticality_constraint_153 },
0, 0, /* No default value */
"criticality"
},
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResetRequestIEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_84,
+ &asn_DEF_value_156,
select_ResetRequestIEs_value_type,
- { &asn_OER_memb_value_constr_84, &asn_PER_memb_value_constr_84, memb_value_constraint_81 },
+ { &asn_OER_memb_value_constr_156, &asn_PER_memb_value_constr_156, memb_value_constraint_153 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_ResetRequestIEs_tags_81[] = {
+static const ber_tlv_tag_t asn_DEF_ResetRequestIEs_tags_153[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_ResetRequestIEs_tag2el_81[] = {
+static const asn_TYPE_tag2member_t asn_MAP_ResetRequestIEs_tag2el_153[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_ResetRequestIEs_specs_81 = {
+asn_SEQUENCE_specifics_t asn_SPC_ResetRequestIEs_specs_153 = {
sizeof(struct ResetRequestIEs),
offsetof(struct ResetRequestIEs, _asn_ctx),
- asn_MAP_ResetRequestIEs_tag2el_81,
+ asn_MAP_ResetRequestIEs_tag2el_153,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
"ResetRequestIEs",
"ResetRequestIEs",
&asn_OP_SEQUENCE,
- asn_DEF_ResetRequestIEs_tags_81,
- sizeof(asn_DEF_ResetRequestIEs_tags_81)
- /sizeof(asn_DEF_ResetRequestIEs_tags_81[0]), /* 1 */
- asn_DEF_ResetRequestIEs_tags_81, /* Same as above */
- sizeof(asn_DEF_ResetRequestIEs_tags_81)
- /sizeof(asn_DEF_ResetRequestIEs_tags_81[0]), /* 1 */
+ asn_DEF_ResetRequestIEs_tags_153,
+ sizeof(asn_DEF_ResetRequestIEs_tags_153)
+ /sizeof(asn_DEF_ResetRequestIEs_tags_153[0]), /* 1 */
+ asn_DEF_ResetRequestIEs_tags_153, /* Same as above */
+ sizeof(asn_DEF_ResetRequestIEs_tags_153)
+ /sizeof(asn_DEF_ResetRequestIEs_tags_153[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_ResetRequestIEs_81,
+ asn_MBR_ResetRequestIEs_153,
3, /* Elements count */
- &asn_SPC_ResetRequestIEs_specs_81 /* Additional specs */
+ &asn_SPC_ResetRequestIEs_specs_153 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_88[] = {
+static asn_TYPE_member_t asn_MBR_value_160[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct ResetResponseIEs__value, choice.TransactionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_TransactionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "TransactionID"
+ },
{ ATF_NOFLAGS, 0, offsetof(struct ResetResponseIEs__value, choice.CriticalityDiagnosticsE2),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
"CriticalityDiagnosticsE2"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_88[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* CriticalityDiagnosticsE2 */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_160[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* CriticalityDiagnosticsE2 */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_88 = {
+static asn_CHOICE_specifics_t asn_SPC_value_specs_160 = {
sizeof(struct ResetResponseIEs__value),
offsetof(struct ResetResponseIEs__value, _asn_ctx),
offsetof(struct ResetResponseIEs__value, present),
sizeof(((struct ResetResponseIEs__value *)0)->present),
- asn_MAP_value_tag2el_88,
- 1, /* Count of tags in the map */
+ asn_MAP_value_tag2el_160,
+ 2, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_88 = {
+asn_TYPE_descriptor_t asn_DEF_value_160 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_88,
- 1, /* Elements count */
- &asn_SPC_value_specs_88 /* Additional specs */
+ asn_MBR_value_160,
+ 2, /* Elements count */
+ &asn_SPC_value_specs_160 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_ResetResponseIEs_85[] = {
+asn_TYPE_member_t asn_MBR_ResetResponseIEs_157[] = {
{ ATF_NOFLAGS, 0, offsetof(struct ResetResponseIEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_86, &asn_PER_memb_id_constr_86, memb_id_constraint_85 },
+ { &asn_OER_memb_id_constr_158, &asn_PER_memb_id_constr_158, memb_id_constraint_157 },
0, 0, /* No default value */
"id"
},
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
select_ResetResponseIEs_criticality_type,
- { &asn_OER_memb_criticality_constr_87, &asn_PER_memb_criticality_constr_87, memb_criticality_constraint_85 },
+ { &asn_OER_memb_criticality_constr_159, &asn_PER_memb_criticality_constr_159, memb_criticality_constraint_157 },
0, 0, /* No default value */
"criticality"
},
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResetResponseIEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_88,
+ &asn_DEF_value_160,
select_ResetResponseIEs_value_type,
- { &asn_OER_memb_value_constr_88, &asn_PER_memb_value_constr_88, memb_value_constraint_85 },
+ { &asn_OER_memb_value_constr_160, &asn_PER_memb_value_constr_160, memb_value_constraint_157 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_ResetResponseIEs_tags_85[] = {
+static const ber_tlv_tag_t asn_DEF_ResetResponseIEs_tags_157[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_ResetResponseIEs_tag2el_85[] = {
+static const asn_TYPE_tag2member_t asn_MAP_ResetResponseIEs_tag2el_157[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_ResetResponseIEs_specs_85 = {
+asn_SEQUENCE_specifics_t asn_SPC_ResetResponseIEs_specs_157 = {
sizeof(struct ResetResponseIEs),
offsetof(struct ResetResponseIEs, _asn_ctx),
- asn_MAP_ResetResponseIEs_tag2el_85,
+ asn_MAP_ResetResponseIEs_tag2el_157,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
"ResetResponseIEs",
"ResetResponseIEs",
&asn_OP_SEQUENCE,
- asn_DEF_ResetResponseIEs_tags_85,
- sizeof(asn_DEF_ResetResponseIEs_tags_85)
- /sizeof(asn_DEF_ResetResponseIEs_tags_85[0]), /* 1 */
- asn_DEF_ResetResponseIEs_tags_85, /* Same as above */
- sizeof(asn_DEF_ResetResponseIEs_tags_85)
- /sizeof(asn_DEF_ResetResponseIEs_tags_85[0]), /* 1 */
+ asn_DEF_ResetResponseIEs_tags_157,
+ sizeof(asn_DEF_ResetResponseIEs_tags_157)
+ /sizeof(asn_DEF_ResetResponseIEs_tags_157[0]), /* 1 */
+ asn_DEF_ResetResponseIEs_tags_157, /* Same as above */
+ sizeof(asn_DEF_ResetResponseIEs_tags_157)
+ /sizeof(asn_DEF_ResetResponseIEs_tags_157[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_ResetResponseIEs_85,
+ asn_MBR_ResetResponseIEs_157,
3, /* Elements count */
- &asn_SPC_ResetResponseIEs_specs_85 /* Additional specs */
+ &asn_SPC_ResetResponseIEs_specs_157 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_92[] = {
+static asn_TYPE_member_t asn_MBR_value_164[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs__value, choice.TransactionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_TransactionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "TransactionID"
+ },
{ ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs__value, choice.RANfunctions_List),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
"RANfunctionsID-List"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_92[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RANfunctions-List */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* RANfunctionsID-List */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_164[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* RANfunctions-List */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* RANfunctionsID-List */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_92 = {
+static asn_CHOICE_specifics_t asn_SPC_value_specs_164 = {
sizeof(struct RICserviceUpdate_IEs__value),
offsetof(struct RICserviceUpdate_IEs__value, _asn_ctx),
offsetof(struct RICserviceUpdate_IEs__value, present),
sizeof(((struct RICserviceUpdate_IEs__value *)0)->present),
- asn_MAP_value_tag2el_92,
- 2, /* Count of tags in the map */
+ asn_MAP_value_tag2el_164,
+ 3, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_92 = {
+asn_TYPE_descriptor_t asn_DEF_value_164 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_92,
- 2, /* Elements count */
- &asn_SPC_value_specs_92 /* Additional specs */
+ asn_MBR_value_164,
+ 3, /* Elements count */
+ &asn_SPC_value_specs_164 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICserviceUpdate_IEs_89[] = {
+asn_TYPE_member_t asn_MBR_RICserviceUpdate_IEs_161[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_90, &asn_PER_memb_id_constr_90, memb_id_constraint_89 },
+ { &asn_OER_memb_id_constr_162, &asn_PER_memb_id_constr_162, memb_id_constraint_161 },
0, 0, /* No default value */
"id"
},
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
select_RICserviceUpdate_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_91, &asn_PER_memb_criticality_constr_91, memb_criticality_constraint_89 },
+ { &asn_OER_memb_criticality_constr_163, &asn_PER_memb_criticality_constr_163, memb_criticality_constraint_161 },
0, 0, /* No default value */
"criticality"
},
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_92,
+ &asn_DEF_value_164,
select_RICserviceUpdate_IEs_value_type,
- { &asn_OER_memb_value_constr_92, &asn_PER_memb_value_constr_92, memb_value_constraint_89 },
+ { &asn_OER_memb_value_constr_164, &asn_PER_memb_value_constr_164, memb_value_constraint_161 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICserviceUpdate_IEs_tags_89[] = {
+static const ber_tlv_tag_t asn_DEF_RICserviceUpdate_IEs_tags_161[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdate_IEs_tag2el_89[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdate_IEs_tag2el_161[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdate_IEs_specs_89 = {
+asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdate_IEs_specs_161 = {
sizeof(struct RICserviceUpdate_IEs),
offsetof(struct RICserviceUpdate_IEs, _asn_ctx),
- asn_MAP_RICserviceUpdate_IEs_tag2el_89,
+ asn_MAP_RICserviceUpdate_IEs_tag2el_161,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
"RICserviceUpdate-IEs",
"RICserviceUpdate-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICserviceUpdate_IEs_tags_89,
- sizeof(asn_DEF_RICserviceUpdate_IEs_tags_89)
- /sizeof(asn_DEF_RICserviceUpdate_IEs_tags_89[0]), /* 1 */
- asn_DEF_RICserviceUpdate_IEs_tags_89, /* Same as above */
- sizeof(asn_DEF_RICserviceUpdate_IEs_tags_89)
- /sizeof(asn_DEF_RICserviceUpdate_IEs_tags_89[0]), /* 1 */
+ asn_DEF_RICserviceUpdate_IEs_tags_161,
+ sizeof(asn_DEF_RICserviceUpdate_IEs_tags_161)
+ /sizeof(asn_DEF_RICserviceUpdate_IEs_tags_161[0]), /* 1 */
+ asn_DEF_RICserviceUpdate_IEs_tags_161, /* Same as above */
+ sizeof(asn_DEF_RICserviceUpdate_IEs_tags_161)
+ /sizeof(asn_DEF_RICserviceUpdate_IEs_tags_161[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICserviceUpdate_IEs_89,
+ asn_MBR_RICserviceUpdate_IEs_161,
3, /* Elements count */
- &asn_SPC_RICserviceUpdate_IEs_specs_89 /* Additional specs */
+ &asn_SPC_RICserviceUpdate_IEs_specs_161 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_96[] = {
+static asn_TYPE_member_t asn_MBR_value_168[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs__value, choice.TransactionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_TransactionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "TransactionID"
+ },
{ ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs__value, choice.RANfunctionsID_List),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
"RANfunctionsIDcause-List"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_96[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RANfunctionsID-List */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* RANfunctionsIDcause-List */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_168[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* RANfunctionsID-List */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* RANfunctionsIDcause-List */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_96 = {
+static asn_CHOICE_specifics_t asn_SPC_value_specs_168 = {
sizeof(struct RICserviceUpdateAcknowledge_IEs__value),
offsetof(struct RICserviceUpdateAcknowledge_IEs__value, _asn_ctx),
offsetof(struct RICserviceUpdateAcknowledge_IEs__value, present),
sizeof(((struct RICserviceUpdateAcknowledge_IEs__value *)0)->present),
- asn_MAP_value_tag2el_96,
- 2, /* Count of tags in the map */
+ asn_MAP_value_tag2el_168,
+ 3, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_96 = {
+asn_TYPE_descriptor_t asn_DEF_value_168 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_96,
- 2, /* Elements count */
- &asn_SPC_value_specs_96 /* Additional specs */
+ asn_MBR_value_168,
+ 3, /* Elements count */
+ &asn_SPC_value_specs_168 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_IEs_93[] = {
+asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_IEs_165[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_94, &asn_PER_memb_id_constr_94, memb_id_constraint_93 },
+ { &asn_OER_memb_id_constr_166, &asn_PER_memb_id_constr_166, memb_id_constraint_165 },
0, 0, /* No default value */
"id"
},
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
select_RICserviceUpdateAcknowledge_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_95, &asn_PER_memb_criticality_constr_95, memb_criticality_constraint_93 },
+ { &asn_OER_memb_criticality_constr_167, &asn_PER_memb_criticality_constr_167, memb_criticality_constraint_165 },
0, 0, /* No default value */
"criticality"
},
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_96,
+ &asn_DEF_value_168,
select_RICserviceUpdateAcknowledge_IEs_value_type,
- { &asn_OER_memb_value_constr_96, &asn_PER_memb_value_constr_96, memb_value_constraint_93 },
+ { &asn_OER_memb_value_constr_168, &asn_PER_memb_value_constr_168, memb_value_constraint_165 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_93[] = {
+static const ber_tlv_tag_t asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_165[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateAcknowledge_IEs_tag2el_93[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateAcknowledge_IEs_tag2el_165[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_93 = {
+asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_165 = {
sizeof(struct RICserviceUpdateAcknowledge_IEs),
offsetof(struct RICserviceUpdateAcknowledge_IEs, _asn_ctx),
- asn_MAP_RICserviceUpdateAcknowledge_IEs_tag2el_93,
+ asn_MAP_RICserviceUpdateAcknowledge_IEs_tag2el_165,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
"RICserviceUpdateAcknowledge-IEs",
"RICserviceUpdateAcknowledge-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_93,
- sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_93)
- /sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_93[0]), /* 1 */
- asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_93, /* Same as above */
- sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_93)
- /sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_93[0]), /* 1 */
+ asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_165,
+ sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_165)
+ /sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_165[0]), /* 1 */
+ asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_165, /* Same as above */
+ sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_165)
+ /sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_165[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICserviceUpdateAcknowledge_IEs_93,
+ asn_MBR_RICserviceUpdateAcknowledge_IEs_165,
3, /* Elements count */
- &asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_93 /* Additional specs */
+ &asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_165 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_100[] = {
- { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs__value, choice.RANfunctionsIDcause_List),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+static asn_TYPE_member_t asn_MBR_value_172[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs__value, choice.TransactionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
0,
- &asn_DEF_RANfunctionsIDcause_List,
+ &asn_DEF_TransactionID,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
- "RANfunctionsIDcause-List"
+ "TransactionID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs__value, choice.CauseE2),
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_CauseE2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "CauseE2"
},
{ ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs__value, choice.TimeToWaitE2),
(ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
"CriticalityDiagnosticsE2"
},
};
-static const unsigned asn_MAP_value_to_canonical_100[] = { 1, 0, 2 };
-static const unsigned asn_MAP_value_from_canonical_100[] = { 1, 0, 2 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_100[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 }, /* TimeToWaitE2 */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RANfunctionsIDcause-List */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* CriticalityDiagnosticsE2 */
-};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_100 = {
+static const unsigned asn_MAP_value_to_canonical_172[] = { 0, 2, 3, 1 };
+static const unsigned asn_MAP_value_from_canonical_172[] = { 0, 3, 1, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_172[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, 0, 0 }, /* TimeToWaitE2 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* CriticalityDiagnosticsE2 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* ricRequest */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ricService */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* e2Node */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 }, /* transport */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* protocol */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 1, 0, 0 } /* misc */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_172 = {
sizeof(struct RICserviceUpdateFailure_IEs__value),
offsetof(struct RICserviceUpdateFailure_IEs__value, _asn_ctx),
offsetof(struct RICserviceUpdateFailure_IEs__value, present),
sizeof(((struct RICserviceUpdateFailure_IEs__value *)0)->present),
- asn_MAP_value_tag2el_100,
- 3, /* Count of tags in the map */
- asn_MAP_value_to_canonical_100,
- asn_MAP_value_from_canonical_100,
+ asn_MAP_value_tag2el_172,
+ 9, /* Count of tags in the map */
+ asn_MAP_value_to_canonical_172,
+ asn_MAP_value_from_canonical_172,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_100 = {
+asn_TYPE_descriptor_t asn_DEF_value_172 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_100,
- 3, /* Elements count */
- &asn_SPC_value_specs_100 /* Additional specs */
+ asn_MBR_value_172,
+ 4, /* Elements count */
+ &asn_SPC_value_specs_172 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_IEs_97[] = {
+asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_IEs_169[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_98, &asn_PER_memb_id_constr_98, memb_id_constraint_97 },
+ { &asn_OER_memb_id_constr_170, &asn_PER_memb_id_constr_170, memb_id_constraint_169 },
0, 0, /* No default value */
"id"
},
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
select_RICserviceUpdateFailure_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_99, &asn_PER_memb_criticality_constr_99, memb_criticality_constraint_97 },
+ { &asn_OER_memb_criticality_constr_171, &asn_PER_memb_criticality_constr_171, memb_criticality_constraint_169 },
0, 0, /* No default value */
"criticality"
},
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_100,
+ &asn_DEF_value_172,
select_RICserviceUpdateFailure_IEs_value_type,
- { &asn_OER_memb_value_constr_100, &asn_PER_memb_value_constr_100, memb_value_constraint_97 },
+ { &asn_OER_memb_value_constr_172, &asn_PER_memb_value_constr_172, memb_value_constraint_169 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICserviceUpdateFailure_IEs_tags_97[] = {
+static const ber_tlv_tag_t asn_DEF_RICserviceUpdateFailure_IEs_tags_169[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateFailure_IEs_tag2el_97[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateFailure_IEs_tag2el_169[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateFailure_IEs_specs_97 = {
+asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateFailure_IEs_specs_169 = {
sizeof(struct RICserviceUpdateFailure_IEs),
offsetof(struct RICserviceUpdateFailure_IEs, _asn_ctx),
- asn_MAP_RICserviceUpdateFailure_IEs_tag2el_97,
+ asn_MAP_RICserviceUpdateFailure_IEs_tag2el_169,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
"RICserviceUpdateFailure-IEs",
"RICserviceUpdateFailure-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICserviceUpdateFailure_IEs_tags_97,
- sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_97)
- /sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_97[0]), /* 1 */
- asn_DEF_RICserviceUpdateFailure_IEs_tags_97, /* Same as above */
- sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_97)
- /sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_97[0]), /* 1 */
+ asn_DEF_RICserviceUpdateFailure_IEs_tags_169,
+ sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_169)
+ /sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_169[0]), /* 1 */
+ asn_DEF_RICserviceUpdateFailure_IEs_tags_169, /* Same as above */
+ sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_169)
+ /sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_169[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICserviceUpdateFailure_IEs_97,
+ asn_MBR_RICserviceUpdateFailure_IEs_169,
3, /* Elements count */
- &asn_SPC_RICserviceUpdateFailure_IEs_specs_97 /* Additional specs */
+ &asn_SPC_RICserviceUpdateFailure_IEs_specs_169 /* Additional specs */
};
-static asn_TYPE_member_t asn_MBR_value_104[] = {
+static asn_TYPE_member_t asn_MBR_value_176[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs__value, choice.TransactionID),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_TransactionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "TransactionID"
+ },
{ ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs__value, choice.RANfunctionsID_List),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
"RANfunctionsID-List"
},
};
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_104[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionsID-List */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_176[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* RANfunctionsID-List */
};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_104 = {
+static asn_CHOICE_specifics_t asn_SPC_value_specs_176 = {
sizeof(struct RICserviceQuery_IEs__value),
offsetof(struct RICserviceQuery_IEs__value, _asn_ctx),
offsetof(struct RICserviceQuery_IEs__value, present),
sizeof(((struct RICserviceQuery_IEs__value *)0)->present),
- asn_MAP_value_tag2el_104,
- 1, /* Count of tags in the map */
+ asn_MAP_value_tag2el_176,
+ 2, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_104 = {
+asn_TYPE_descriptor_t asn_DEF_value_176 = {
"value",
"value",
&asn_OP_OPEN_TYPE,
0, /* No tags (pointer) */
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
- asn_MBR_value_104,
- 1, /* Elements count */
- &asn_SPC_value_specs_104 /* Additional specs */
+ asn_MBR_value_176,
+ 2, /* Elements count */
+ &asn_SPC_value_specs_176 /* Additional specs */
};
-asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_101[] = {
+asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_173[] = {
{ ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_ProtocolIE_IDE2,
0,
- { &asn_OER_memb_id_constr_102, &asn_PER_memb_id_constr_102, memb_id_constraint_101 },
+ { &asn_OER_memb_id_constr_174, &asn_PER_memb_id_constr_174, memb_id_constraint_173 },
0, 0, /* No default value */
"id"
},
-1, /* IMPLICIT tag at current level */
&asn_DEF_CriticalityE2,
select_RICserviceQuery_IEs_criticality_type,
- { &asn_OER_memb_criticality_constr_103, &asn_PER_memb_criticality_constr_103, memb_criticality_constraint_101 },
+ { &asn_OER_memb_criticality_constr_175, &asn_PER_memb_criticality_constr_175, memb_criticality_constraint_173 },
0, 0, /* No default value */
"criticality"
},
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs, value),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+1, /* EXPLICIT tag at current level */
- &asn_DEF_value_104,
+ &asn_DEF_value_176,
select_RICserviceQuery_IEs_value_type,
- { &asn_OER_memb_value_constr_104, &asn_PER_memb_value_constr_104, memb_value_constraint_101 },
+ { &asn_OER_memb_value_constr_176, &asn_PER_memb_value_constr_176, memb_value_constraint_173 },
0, 0, /* No default value */
"value"
},
};
-static const ber_tlv_tag_t asn_DEF_RICserviceQuery_IEs_tags_101[] = {
+static const ber_tlv_tag_t asn_DEF_RICserviceQuery_IEs_tags_173[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceQuery_IEs_tag2el_101[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICserviceQuery_IEs_tag2el_173[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
};
-asn_SEQUENCE_specifics_t asn_SPC_RICserviceQuery_IEs_specs_101 = {
+asn_SEQUENCE_specifics_t asn_SPC_RICserviceQuery_IEs_specs_173 = {
sizeof(struct RICserviceQuery_IEs),
offsetof(struct RICserviceQuery_IEs, _asn_ctx),
- asn_MAP_RICserviceQuery_IEs_tag2el_101,
+ asn_MAP_RICserviceQuery_IEs_tag2el_173,
3, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
-1, /* First extension addition */
"RICserviceQuery-IEs",
"RICserviceQuery-IEs",
&asn_OP_SEQUENCE,
- asn_DEF_RICserviceQuery_IEs_tags_101,
- sizeof(asn_DEF_RICserviceQuery_IEs_tags_101)
- /sizeof(asn_DEF_RICserviceQuery_IEs_tags_101[0]), /* 1 */
- asn_DEF_RICserviceQuery_IEs_tags_101, /* Same as above */
- sizeof(asn_DEF_RICserviceQuery_IEs_tags_101)
- /sizeof(asn_DEF_RICserviceQuery_IEs_tags_101[0]), /* 1 */
+ asn_DEF_RICserviceQuery_IEs_tags_173,
+ sizeof(asn_DEF_RICserviceQuery_IEs_tags_173)
+ /sizeof(asn_DEF_RICserviceQuery_IEs_tags_173[0]), /* 1 */
+ asn_DEF_RICserviceQuery_IEs_tags_173, /* Same as above */
+ sizeof(asn_DEF_RICserviceQuery_IEs_tags_173)
+ /sizeof(asn_DEF_RICserviceQuery_IEs_tags_173[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RICserviceQuery_IEs_101,
+ asn_MBR_RICserviceQuery_IEs_173,
3, /* Elements count */
- &asn_SPC_RICserviceQuery_IEs_specs_101 /* Additional specs */
+ &asn_SPC_RICserviceQuery_IEs_specs_173 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-Containers"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ProtocolIE_FieldE2_H_
#include <constr_SEQUENCE.h>
#include "RICaction-Admitted-Item.h"
#include "RICaction-NotAdmitted-Item.h"
+#include "RICsubscription-withCause-Item.h"
+#include "E2connectionUpdate-Item.h"
+#include "E2connectionUpdateRemove-Item.h"
+#include "E2connectionSetupFailed-Item.h"
+#include "E2nodeComponentConfigAddition-Item.h"
+#include "E2nodeComponentConfigUpdate-Item.h"
+#include "E2nodeComponentConfigRemoval-Item.h"
+#include "E2nodeTNLassociationRemoval-Item.h"
+#include "E2nodeComponentConfigAdditionAck-Item.h"
+#include "E2nodeComponentConfigUpdateAck-Item.h"
+#include "E2nodeComponentConfigRemovalAck-Item.h"
#include "RANfunction-Item.h"
#include "RANfunctionID-Item.h"
#include "RANfunctionIDcause-Item.h"
#include "RICsubscriptionDetails.h"
#include "RICaction-Admitted-List.h"
#include "RICaction-NotAdmitted-List.h"
-#include "CriticalityDiagnosticsE2.h"
#include "CauseE2.h"
+#include "CriticalityDiagnosticsE2.h"
+#include "RICsubscription-List-withCause.h"
#include "RICactionID.h"
#include "RICindicationSN.h"
#include "RICindicationType.h"
#include "RICcontrolHeader.h"
#include "RICcontrolMessage.h"
#include "RICcontrolAckRequest.h"
-#include "RICcontrolStatus.h"
#include "RICcontrolOutcome.h"
+#include "TransactionID.h"
#include "GlobalE2node-ID.h"
#include "RANfunctions-List.h"
+#include "E2nodeComponentConfigAddition-List.h"
#include "GlobalRIC-ID.h"
#include "RANfunctionsID-List.h"
#include "RANfunctionsIDcause-List.h"
+#include "E2nodeComponentConfigAdditionAck-List.h"
#include "TimeToWaitE2.h"
+#include "TNLinformation.h"
+#include "E2connectionUpdate-List.h"
+#include "E2connectionUpdateRemove-List.h"
+#include "E2connectionSetupFailed-List.h"
+#include "E2nodeComponentConfigUpdate-List.h"
+#include "E2nodeComponentConfigRemoval-List.h"
+#include "E2nodeTNLassociationRemoval-List.h"
+#include "E2nodeComponentConfigUpdateAck-List.h"
+#include "E2nodeComponentConfigRemovalAck-List.h"
#ifdef __cplusplus
extern "C" {
RICaction_NotAdmitted_ItemIEs__value_PR_NOTHING, /* No components present */
RICaction_NotAdmitted_ItemIEs__value_PR_RICaction_NotAdmitted_Item
} RICaction_NotAdmitted_ItemIEs__value_PR;
+typedef enum RICsubscription_withCause_ItemIEs__value_PR {
+ RICsubscription_withCause_ItemIEs__value_PR_NOTHING, /* No components present */
+ RICsubscription_withCause_ItemIEs__value_PR_RICsubscription_withCause_Item
+} RICsubscription_withCause_ItemIEs__value_PR;
+typedef enum E2connectionUpdate_ItemIEs__value_PR {
+ E2connectionUpdate_ItemIEs__value_PR_NOTHING, /* No components present */
+ E2connectionUpdate_ItemIEs__value_PR_E2connectionUpdate_Item
+} E2connectionUpdate_ItemIEs__value_PR;
+typedef enum E2connectionUpdateRemove_ItemIEs__value_PR {
+ E2connectionUpdateRemove_ItemIEs__value_PR_NOTHING, /* No components present */
+ E2connectionUpdateRemove_ItemIEs__value_PR_E2connectionUpdateRemove_Item
+} E2connectionUpdateRemove_ItemIEs__value_PR;
+typedef enum E2connectionSetupFailed_ItemIEs__value_PR {
+ E2connectionSetupFailed_ItemIEs__value_PR_NOTHING, /* No components present */
+ E2connectionSetupFailed_ItemIEs__value_PR_E2connectionSetupFailed_Item
+} E2connectionSetupFailed_ItemIEs__value_PR;
+typedef enum E2nodeComponentConfigAddition_ItemIEs__value_PR {
+ E2nodeComponentConfigAddition_ItemIEs__value_PR_NOTHING, /* No components present */
+ E2nodeComponentConfigAddition_ItemIEs__value_PR_E2nodeComponentConfigAddition_Item
+} E2nodeComponentConfigAddition_ItemIEs__value_PR;
+typedef enum E2nodeComponentConfigUpdate_ItemIEs__value_PR {
+ E2nodeComponentConfigUpdate_ItemIEs__value_PR_NOTHING, /* No components present */
+ E2nodeComponentConfigUpdate_ItemIEs__value_PR_E2nodeComponentConfigUpdate_Item
+} E2nodeComponentConfigUpdate_ItemIEs__value_PR;
+typedef enum E2nodeComponentConfigRemoval_ItemIEs__value_PR {
+ E2nodeComponentConfigRemoval_ItemIEs__value_PR_NOTHING, /* No components present */
+ E2nodeComponentConfigRemoval_ItemIEs__value_PR_E2nodeComponentConfigRemoval_Item
+} E2nodeComponentConfigRemoval_ItemIEs__value_PR;
+typedef enum E2nodeTNLassociationRemoval_ItemIEs__value_PR {
+ E2nodeTNLassociationRemoval_ItemIEs__value_PR_NOTHING, /* No components present */
+ E2nodeTNLassociationRemoval_ItemIEs__value_PR_E2nodeTNLassociationRemoval_Item
+} E2nodeTNLassociationRemoval_ItemIEs__value_PR;
+typedef enum E2nodeComponentConfigAdditionAck_ItemIEs__value_PR {
+ E2nodeComponentConfigAdditionAck_ItemIEs__value_PR_NOTHING, /* No components present */
+ E2nodeComponentConfigAdditionAck_ItemIEs__value_PR_E2nodeComponentConfigAdditionAck_Item
+} E2nodeComponentConfigAdditionAck_ItemIEs__value_PR;
+typedef enum E2nodeComponentConfigUpdateAck_ItemIEs__value_PR {
+ E2nodeComponentConfigUpdateAck_ItemIEs__value_PR_NOTHING, /* No components present */
+ E2nodeComponentConfigUpdateAck_ItemIEs__value_PR_E2nodeComponentConfigUpdateAck_Item
+} E2nodeComponentConfigUpdateAck_ItemIEs__value_PR;
+typedef enum E2nodeComponentConfigRemovalAck_ItemIEs__value_PR {
+ E2nodeComponentConfigRemovalAck_ItemIEs__value_PR_NOTHING, /* No components present */
+ E2nodeComponentConfigRemovalAck_ItemIEs__value_PR_E2nodeComponentConfigRemovalAck_Item
+} E2nodeComponentConfigRemovalAck_ItemIEs__value_PR;
typedef enum RANfunction_ItemIEs__value_PR {
RANfunction_ItemIEs__value_PR_NOTHING, /* No components present */
RANfunction_ItemIEs__value_PR_RANfunction_Item
RICsubscriptionFailure_IEs__value_PR_NOTHING, /* No components present */
RICsubscriptionFailure_IEs__value_PR_RICrequestID,
RICsubscriptionFailure_IEs__value_PR_RANfunctionID,
- RICsubscriptionFailure_IEs__value_PR_RICaction_NotAdmitted_List,
+ RICsubscriptionFailure_IEs__value_PR_CauseE2,
RICsubscriptionFailure_IEs__value_PR_CriticalityDiagnosticsE2
} RICsubscriptionFailure_IEs__value_PR;
typedef enum RICsubscriptionDeleteRequest_IEs__value_PR {
RICsubscriptionDeleteFailure_IEs__value_PR_CauseE2,
RICsubscriptionDeleteFailure_IEs__value_PR_CriticalityDiagnosticsE2
} RICsubscriptionDeleteFailure_IEs__value_PR;
+typedef enum RICsubscriptionDeleteRequired_IEs__value_PR {
+ RICsubscriptionDeleteRequired_IEs__value_PR_NOTHING, /* No components present */
+ RICsubscriptionDeleteRequired_IEs__value_PR_RICsubscription_List_withCause
+} RICsubscriptionDeleteRequired_IEs__value_PR;
typedef enum RICindication_IEs__value_PR {
RICindication_IEs__value_PR_NOTHING, /* No components present */
RICindication_IEs__value_PR_RICrequestID,
RICcontrolAcknowledge_IEs__value_PR_RICrequestID,
RICcontrolAcknowledge_IEs__value_PR_RANfunctionID,
RICcontrolAcknowledge_IEs__value_PR_RICcallProcessID,
- RICcontrolAcknowledge_IEs__value_PR_RICcontrolStatus,
RICcontrolAcknowledge_IEs__value_PR_RICcontrolOutcome
} RICcontrolAcknowledge_IEs__value_PR;
typedef enum RICcontrolFailure_IEs__value_PR {
} RICcontrolFailure_IEs__value_PR;
typedef enum ErrorIndicationE2_IEs__value_PR {
ErrorIndicationE2_IEs__value_PR_NOTHING, /* No components present */
+ ErrorIndicationE2_IEs__value_PR_TransactionID,
ErrorIndicationE2_IEs__value_PR_RICrequestID,
ErrorIndicationE2_IEs__value_PR_RANfunctionID,
ErrorIndicationE2_IEs__value_PR_CauseE2,
} ErrorIndicationE2_IEs__value_PR;
typedef enum E2setupRequestIEs__value_PR {
E2setupRequestIEs__value_PR_NOTHING, /* No components present */
+ E2setupRequestIEs__value_PR_TransactionID,
E2setupRequestIEs__value_PR_GlobalE2node_ID,
- E2setupRequestIEs__value_PR_RANfunctions_List
+ E2setupRequestIEs__value_PR_RANfunctions_List,
+ E2setupRequestIEs__value_PR_E2nodeComponentConfigAddition_List
} E2setupRequestIEs__value_PR;
typedef enum E2setupResponseIEs__value_PR {
E2setupResponseIEs__value_PR_NOTHING, /* No components present */
+ E2setupResponseIEs__value_PR_TransactionID,
E2setupResponseIEs__value_PR_GlobalRIC_ID,
E2setupResponseIEs__value_PR_RANfunctionsID_List,
- E2setupResponseIEs__value_PR_RANfunctionsIDcause_List
+ E2setupResponseIEs__value_PR_RANfunctionsIDcause_List,
+ E2setupResponseIEs__value_PR_E2nodeComponentConfigAdditionAck_List
} E2setupResponseIEs__value_PR;
typedef enum E2setupFailureIEs__value_PR {
E2setupFailureIEs__value_PR_NOTHING, /* No components present */
+ E2setupFailureIEs__value_PR_TransactionID,
E2setupFailureIEs__value_PR_CauseE2,
E2setupFailureIEs__value_PR_TimeToWaitE2,
- E2setupFailureIEs__value_PR_CriticalityDiagnosticsE2
+ E2setupFailureIEs__value_PR_CriticalityDiagnosticsE2,
+ E2setupFailureIEs__value_PR_TNLinformation
} E2setupFailureIEs__value_PR;
+typedef enum E2connectionUpdate_IEs__value_PR {
+ E2connectionUpdate_IEs__value_PR_NOTHING, /* No components present */
+ E2connectionUpdate_IEs__value_PR_TransactionID,
+ E2connectionUpdate_IEs__value_PR_E2connectionUpdate_List,
+ E2connectionUpdate_IEs__value_PR_E2connectionUpdateRemove_List
+} E2connectionUpdate_IEs__value_PR;
+typedef enum E2connectionUpdateAck_IEs__value_PR {
+ E2connectionUpdateAck_IEs__value_PR_NOTHING, /* No components present */
+ E2connectionUpdateAck_IEs__value_PR_TransactionID,
+ E2connectionUpdateAck_IEs__value_PR_E2connectionUpdate_List,
+ E2connectionUpdateAck_IEs__value_PR_E2connectionSetupFailed_List
+} E2connectionUpdateAck_IEs__value_PR;
+typedef enum E2connectionUpdateFailure_IEs__value_PR {
+ E2connectionUpdateFailure_IEs__value_PR_NOTHING, /* No components present */
+ E2connectionUpdateFailure_IEs__value_PR_TransactionID,
+ E2connectionUpdateFailure_IEs__value_PR_CauseE2,
+ E2connectionUpdateFailure_IEs__value_PR_TimeToWaitE2,
+ E2connectionUpdateFailure_IEs__value_PR_CriticalityDiagnosticsE2
+} E2connectionUpdateFailure_IEs__value_PR;
+typedef enum E2nodeConfigurationUpdate_IEs__value_PR {
+ E2nodeConfigurationUpdate_IEs__value_PR_NOTHING, /* No components present */
+ E2nodeConfigurationUpdate_IEs__value_PR_TransactionID,
+ E2nodeConfigurationUpdate_IEs__value_PR_GlobalE2node_ID,
+ E2nodeConfigurationUpdate_IEs__value_PR_E2nodeComponentConfigAddition_List,
+ E2nodeConfigurationUpdate_IEs__value_PR_E2nodeComponentConfigUpdate_List,
+ E2nodeConfigurationUpdate_IEs__value_PR_E2nodeComponentConfigRemoval_List,
+ E2nodeConfigurationUpdate_IEs__value_PR_E2nodeTNLassociationRemoval_List
+} E2nodeConfigurationUpdate_IEs__value_PR;
+typedef enum E2nodeConfigurationUpdateAcknowledge_IEs__value_PR {
+ E2nodeConfigurationUpdateAcknowledge_IEs__value_PR_NOTHING, /* No components present */
+ E2nodeConfigurationUpdateAcknowledge_IEs__value_PR_TransactionID,
+ E2nodeConfigurationUpdateAcknowledge_IEs__value_PR_E2nodeComponentConfigAdditionAck_List,
+ E2nodeConfigurationUpdateAcknowledge_IEs__value_PR_E2nodeComponentConfigUpdateAck_List,
+ E2nodeConfigurationUpdateAcknowledge_IEs__value_PR_E2nodeComponentConfigRemovalAck_List
+} E2nodeConfigurationUpdateAcknowledge_IEs__value_PR;
+typedef enum E2nodeConfigurationUpdateFailure_IEs__value_PR {
+ E2nodeConfigurationUpdateFailure_IEs__value_PR_NOTHING, /* No components present */
+ E2nodeConfigurationUpdateFailure_IEs__value_PR_TransactionID,
+ E2nodeConfigurationUpdateFailure_IEs__value_PR_CauseE2,
+ E2nodeConfigurationUpdateFailure_IEs__value_PR_TimeToWaitE2,
+ E2nodeConfigurationUpdateFailure_IEs__value_PR_CriticalityDiagnosticsE2
+} E2nodeConfigurationUpdateFailure_IEs__value_PR;
typedef enum ResetRequestIEs__value_PR {
ResetRequestIEs__value_PR_NOTHING, /* No components present */
+ ResetRequestIEs__value_PR_TransactionID,
ResetRequestIEs__value_PR_CauseE2
} ResetRequestIEs__value_PR;
typedef enum ResetResponseIEs__value_PR {
ResetResponseIEs__value_PR_NOTHING, /* No components present */
+ ResetResponseIEs__value_PR_TransactionID,
ResetResponseIEs__value_PR_CriticalityDiagnosticsE2
} ResetResponseIEs__value_PR;
typedef enum RICserviceUpdate_IEs__value_PR {
RICserviceUpdate_IEs__value_PR_NOTHING, /* No components present */
+ RICserviceUpdate_IEs__value_PR_TransactionID,
RICserviceUpdate_IEs__value_PR_RANfunctions_List,
RICserviceUpdate_IEs__value_PR_RANfunctionsID_List
} RICserviceUpdate_IEs__value_PR;
typedef enum RICserviceUpdateAcknowledge_IEs__value_PR {
RICserviceUpdateAcknowledge_IEs__value_PR_NOTHING, /* No components present */
+ RICserviceUpdateAcknowledge_IEs__value_PR_TransactionID,
RICserviceUpdateAcknowledge_IEs__value_PR_RANfunctionsID_List,
RICserviceUpdateAcknowledge_IEs__value_PR_RANfunctionsIDcause_List
} RICserviceUpdateAcknowledge_IEs__value_PR;
typedef enum RICserviceUpdateFailure_IEs__value_PR {
RICserviceUpdateFailure_IEs__value_PR_NOTHING, /* No components present */
- RICserviceUpdateFailure_IEs__value_PR_RANfunctionsIDcause_List,
+ RICserviceUpdateFailure_IEs__value_PR_TransactionID,
+ RICserviceUpdateFailure_IEs__value_PR_CauseE2,
RICserviceUpdateFailure_IEs__value_PR_TimeToWaitE2,
RICserviceUpdateFailure_IEs__value_PR_CriticalityDiagnosticsE2
} RICserviceUpdateFailure_IEs__value_PR;
typedef enum RICserviceQuery_IEs__value_PR {
RICserviceQuery_IEs__value_PR_NOTHING, /* No components present */
+ RICserviceQuery_IEs__value_PR_TransactionID,
RICserviceQuery_IEs__value_PR_RANfunctionsID_List
} RICserviceQuery_IEs__value_PR;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RICaction_NotAdmitted_ItemIEs_t;
+typedef struct RICsubscription_withCause_ItemIEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct RICsubscription_withCause_ItemIEs__value {
+ RICsubscription_withCause_ItemIEs__value_PR present;
+ union RICsubscription_withCause_ItemIEs__value_u {
+ RICsubscription_withCause_Item_t RICsubscription_withCause_Item;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RICsubscription_withCause_ItemIEs_t;
+typedef struct E2connectionUpdate_ItemIEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2connectionUpdate_ItemIEs__value {
+ E2connectionUpdate_ItemIEs__value_PR present;
+ union E2connectionUpdate_ItemIEs__value_u {
+ E2connectionUpdate_Item_t E2connectionUpdate_Item;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdate_ItemIEs_t;
+typedef struct E2connectionUpdateRemove_ItemIEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2connectionUpdateRemove_ItemIEs__value {
+ E2connectionUpdateRemove_ItemIEs__value_PR present;
+ union E2connectionUpdateRemove_ItemIEs__value_u {
+ E2connectionUpdateRemove_Item_t E2connectionUpdateRemove_Item;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdateRemove_ItemIEs_t;
+typedef struct E2connectionSetupFailed_ItemIEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2connectionSetupFailed_ItemIEs__value {
+ E2connectionSetupFailed_ItemIEs__value_PR present;
+ union E2connectionSetupFailed_ItemIEs__value_u {
+ E2connectionSetupFailed_Item_t E2connectionSetupFailed_Item;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionSetupFailed_ItemIEs_t;
+typedef struct E2nodeComponentConfigAddition_ItemIEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2nodeComponentConfigAddition_ItemIEs__value {
+ E2nodeComponentConfigAddition_ItemIEs__value_PR present;
+ union E2nodeComponentConfigAddition_ItemIEs__value_u {
+ E2nodeComponentConfigAddition_Item_t E2nodeComponentConfigAddition_Item;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigAddition_ItemIEs_t;
+typedef struct E2nodeComponentConfigUpdate_ItemIEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2nodeComponentConfigUpdate_ItemIEs__value {
+ E2nodeComponentConfigUpdate_ItemIEs__value_PR present;
+ union E2nodeComponentConfigUpdate_ItemIEs__value_u {
+ E2nodeComponentConfigUpdate_Item_t E2nodeComponentConfigUpdate_Item;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigUpdate_ItemIEs_t;
+typedef struct E2nodeComponentConfigRemoval_ItemIEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2nodeComponentConfigRemoval_ItemIEs__value {
+ E2nodeComponentConfigRemoval_ItemIEs__value_PR present;
+ union E2nodeComponentConfigRemoval_ItemIEs__value_u {
+ E2nodeComponentConfigRemoval_Item_t E2nodeComponentConfigRemoval_Item;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigRemoval_ItemIEs_t;
+typedef struct E2nodeTNLassociationRemoval_ItemIEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2nodeTNLassociationRemoval_ItemIEs__value {
+ E2nodeTNLassociationRemoval_ItemIEs__value_PR present;
+ union E2nodeTNLassociationRemoval_ItemIEs__value_u {
+ E2nodeTNLassociationRemoval_Item_t E2nodeTNLassociationRemoval_Item;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeTNLassociationRemoval_ItemIEs_t;
+typedef struct E2nodeComponentConfigAdditionAck_ItemIEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2nodeComponentConfigAdditionAck_ItemIEs__value {
+ E2nodeComponentConfigAdditionAck_ItemIEs__value_PR present;
+ union E2nodeComponentConfigAdditionAck_ItemIEs__value_u {
+ E2nodeComponentConfigAdditionAck_Item_t E2nodeComponentConfigAdditionAck_Item;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigAdditionAck_ItemIEs_t;
+typedef struct E2nodeComponentConfigUpdateAck_ItemIEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2nodeComponentConfigUpdateAck_ItemIEs__value {
+ E2nodeComponentConfigUpdateAck_ItemIEs__value_PR present;
+ union E2nodeComponentConfigUpdateAck_ItemIEs__value_u {
+ E2nodeComponentConfigUpdateAck_Item_t E2nodeComponentConfigUpdateAck_Item;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigUpdateAck_ItemIEs_t;
+typedef struct E2nodeComponentConfigRemovalAck_ItemIEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2nodeComponentConfigRemovalAck_ItemIEs__value {
+ E2nodeComponentConfigRemovalAck_ItemIEs__value_PR present;
+ union E2nodeComponentConfigRemovalAck_ItemIEs__value_u {
+ E2nodeComponentConfigRemovalAck_Item_t E2nodeComponentConfigRemovalAck_Item;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigRemovalAck_ItemIEs_t;
typedef struct RANfunction_ItemIEs {
ProtocolIE_IDE2_t id;
CriticalityE2_t criticality;
union RICsubscriptionFailure_IEs__value_u {
RICrequestID_t RICrequestID;
RANfunctionID_t RANfunctionID;
- RICaction_NotAdmitted_List_t RICaction_NotAdmitted_List;
+ CauseE2_t CauseE2;
CriticalityDiagnosticsE2_t CriticalityDiagnosticsE2;
} choice;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} RICsubscriptionDeleteFailure_IEs_t;
+typedef struct RICsubscriptionDeleteRequired_IEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct RICsubscriptionDeleteRequired_IEs__value {
+ RICsubscriptionDeleteRequired_IEs__value_PR present;
+ union RICsubscriptionDeleteRequired_IEs__value_u {
+ RICsubscription_List_withCause_t RICsubscription_List_withCause;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RICsubscriptionDeleteRequired_IEs_t;
typedef struct RICindication_IEs {
ProtocolIE_IDE2_t id;
CriticalityE2_t criticality;
RICrequestID_t RICrequestID;
RANfunctionID_t RANfunctionID;
RICcallProcessID_t RICcallProcessID;
- RICcontrolStatus_t RICcontrolStatus;
RICcontrolOutcome_t RICcontrolOutcome;
} choice;
struct ErrorIndicationE2_IEs__value {
ErrorIndicationE2_IEs__value_PR present;
union ErrorIndicationE2_IEs__value_u {
+ TransactionID_t TransactionID;
RICrequestID_t RICrequestID;
RANfunctionID_t RANfunctionID;
CauseE2_t CauseE2;
struct E2setupRequestIEs__value {
E2setupRequestIEs__value_PR present;
union E2setupRequestIEs__value_u {
+ TransactionID_t TransactionID;
GlobalE2node_ID_t GlobalE2node_ID;
RANfunctions_List_t RANfunctions_List;
+ E2nodeComponentConfigAddition_List_t E2nodeComponentConfigAddition_List;
} choice;
/* Context for parsing across buffer boundaries */
struct E2setupResponseIEs__value {
E2setupResponseIEs__value_PR present;
union E2setupResponseIEs__value_u {
+ TransactionID_t TransactionID;
GlobalRIC_ID_t GlobalRIC_ID;
RANfunctionsID_List_t RANfunctionsID_List;
RANfunctionsIDcause_List_t RANfunctionsIDcause_List;
+ E2nodeComponentConfigAdditionAck_List_t E2nodeComponentConfigAdditionAck_List;
} choice;
/* Context for parsing across buffer boundaries */
struct E2setupFailureIEs__value {
E2setupFailureIEs__value_PR present;
union E2setupFailureIEs__value_u {
+ TransactionID_t TransactionID;
CauseE2_t CauseE2;
TimeToWaitE2_t TimeToWaitE2;
CriticalityDiagnosticsE2_t CriticalityDiagnosticsE2;
+ TNLinformation_t TNLinformation;
} choice;
/* Context for parsing across buffer boundaries */
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} E2setupFailureIEs_t;
+typedef struct E2connectionUpdate_IEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2connectionUpdate_IEs__value {
+ E2connectionUpdate_IEs__value_PR present;
+ union E2connectionUpdate_IEs__value_u {
+ TransactionID_t TransactionID;
+ E2connectionUpdate_List_t E2connectionUpdate_List;
+ E2connectionUpdateRemove_List_t E2connectionUpdateRemove_List;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdate_IEs_t;
+typedef struct E2connectionUpdateAck_IEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2connectionUpdateAck_IEs__value {
+ E2connectionUpdateAck_IEs__value_PR present;
+ union E2connectionUpdateAck_IEs__value_u {
+ TransactionID_t TransactionID;
+ E2connectionUpdate_List_t E2connectionUpdate_List;
+ E2connectionSetupFailed_List_t E2connectionSetupFailed_List;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdateAck_IEs_t;
+typedef struct E2connectionUpdateFailure_IEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2connectionUpdateFailure_IEs__value {
+ E2connectionUpdateFailure_IEs__value_PR present;
+ union E2connectionUpdateFailure_IEs__value_u {
+ TransactionID_t TransactionID;
+ CauseE2_t CauseE2;
+ TimeToWaitE2_t TimeToWaitE2;
+ CriticalityDiagnosticsE2_t CriticalityDiagnosticsE2;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdateFailure_IEs_t;
+typedef struct E2nodeConfigurationUpdate_IEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2nodeConfigurationUpdate_IEs__value {
+ E2nodeConfigurationUpdate_IEs__value_PR present;
+ union E2nodeConfigurationUpdate_IEs__value_u {
+ TransactionID_t TransactionID;
+ GlobalE2node_ID_t GlobalE2node_ID;
+ E2nodeComponentConfigAddition_List_t E2nodeComponentConfigAddition_List;
+ E2nodeComponentConfigUpdate_List_t E2nodeComponentConfigUpdate_List;
+ E2nodeComponentConfigRemoval_List_t E2nodeComponentConfigRemoval_List;
+ E2nodeTNLassociationRemoval_List_t E2nodeTNLassociationRemoval_List;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeConfigurationUpdate_IEs_t;
+typedef struct E2nodeConfigurationUpdateAcknowledge_IEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2nodeConfigurationUpdateAcknowledge_IEs__value {
+ E2nodeConfigurationUpdateAcknowledge_IEs__value_PR present;
+ union E2nodeConfigurationUpdateAcknowledge_IEs__value_u {
+ TransactionID_t TransactionID;
+ E2nodeComponentConfigAdditionAck_List_t E2nodeComponentConfigAdditionAck_List;
+ E2nodeComponentConfigUpdateAck_List_t E2nodeComponentConfigUpdateAck_List;
+ E2nodeComponentConfigRemovalAck_List_t E2nodeComponentConfigRemovalAck_List;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeConfigurationUpdateAcknowledge_IEs_t;
+typedef struct E2nodeConfigurationUpdateFailure_IEs {
+ ProtocolIE_IDE2_t id;
+ CriticalityE2_t criticality;
+ struct E2nodeConfigurationUpdateFailure_IEs__value {
+ E2nodeConfigurationUpdateFailure_IEs__value_PR present;
+ union E2nodeConfigurationUpdateFailure_IEs__value_u {
+ TransactionID_t TransactionID;
+ CauseE2_t CauseE2;
+ TimeToWaitE2_t TimeToWaitE2;
+ CriticalityDiagnosticsE2_t CriticalityDiagnosticsE2;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} E2nodeConfigurationUpdateFailure_IEs_t;
typedef struct ResetRequestIEs {
ProtocolIE_IDE2_t id;
CriticalityE2_t criticality;
struct ResetRequestIEs__value {
ResetRequestIEs__value_PR present;
union ResetRequestIEs__value_u {
+ TransactionID_t TransactionID;
CauseE2_t CauseE2;
} choice;
struct ResetResponseIEs__value {
ResetResponseIEs__value_PR present;
union ResetResponseIEs__value_u {
+ TransactionID_t TransactionID;
CriticalityDiagnosticsE2_t CriticalityDiagnosticsE2;
} choice;
struct RICserviceUpdate_IEs__value {
RICserviceUpdate_IEs__value_PR present;
union RICserviceUpdate_IEs__value_u {
+ TransactionID_t TransactionID;
RANfunctions_List_t RANfunctions_List;
RANfunctionsID_List_t RANfunctionsID_List;
} choice;
struct RICserviceUpdateAcknowledge_IEs__value {
RICserviceUpdateAcknowledge_IEs__value_PR present;
union RICserviceUpdateAcknowledge_IEs__value_u {
+ TransactionID_t TransactionID;
RANfunctionsID_List_t RANfunctionsID_List;
RANfunctionsIDcause_List_t RANfunctionsIDcause_List;
} choice;
struct RICserviceUpdateFailure_IEs__value {
RICserviceUpdateFailure_IEs__value_PR present;
union RICserviceUpdateFailure_IEs__value_u {
- RANfunctionsIDcause_List_t RANfunctionsIDcause_List;
+ TransactionID_t TransactionID;
+ CauseE2_t CauseE2;
TimeToWaitE2_t TimeToWaitE2;
CriticalityDiagnosticsE2_t CriticalityDiagnosticsE2;
} choice;
struct RICserviceQuery_IEs__value {
RICserviceQuery_IEs__value_PR present;
union RICserviceQuery_IEs__value_u {
+ TransactionID_t TransactionID;
RANfunctionsID_List_t RANfunctionsID_List;
} choice;
extern asn_TYPE_descriptor_t asn_DEF_RICaction_NotAdmitted_ItemIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9;
extern asn_TYPE_member_t asn_MBR_RICaction_NotAdmitted_ItemIEs_9[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscription_withCause_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscription_withCause_ItemIEs_specs_13;
+extern asn_TYPE_member_t asn_MBR_RICsubscription_withCause_ItemIEs_13[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdate_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdate_ItemIEs_specs_17;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdate_ItemIEs_17[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateRemove_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateRemove_ItemIEs_specs_21;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdateRemove_ItemIEs_21[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionSetupFailed_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionSetupFailed_ItemIEs_specs_25;
+extern asn_TYPE_member_t asn_MBR_E2connectionSetupFailed_ItemIEs_25[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAddition_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAddition_ItemIEs_specs_29;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAddition_ItemIEs_29[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdate_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdate_ItemIEs_specs_33;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdate_ItemIEs_33[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemoval_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemoval_ItemIEs_specs_37;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemoval_ItemIEs_37[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeTNLassociationRemoval_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeTNLassociationRemoval_ItemIEs_specs_41;
+extern asn_TYPE_member_t asn_MBR_E2nodeTNLassociationRemoval_ItemIEs_41[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAdditionAck_ItemIEs_specs_45;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAdditionAck_ItemIEs_45[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdateAck_ItemIEs_specs_49;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdateAck_ItemIEs_49[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemovalAck_ItemIEs_specs_53;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemovalAck_ItemIEs_53[3];
extern asn_TYPE_descriptor_t asn_DEF_RANfunction_ItemIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RANfunction_ItemIEs_specs_13;
-extern asn_TYPE_member_t asn_MBR_RANfunction_ItemIEs_13[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RANfunction_ItemIEs_specs_57;
+extern asn_TYPE_member_t asn_MBR_RANfunction_ItemIEs_57[3];
extern asn_TYPE_descriptor_t asn_DEF_RANfunctionID_ItemIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RANfunctionID_ItemIEs_specs_17;
-extern asn_TYPE_member_t asn_MBR_RANfunctionID_ItemIEs_17[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RANfunctionID_ItemIEs_specs_61;
+extern asn_TYPE_member_t asn_MBR_RANfunctionID_ItemIEs_61[3];
extern asn_TYPE_descriptor_t asn_DEF_RANfunctionIDcause_ItemIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RANfunctionIDcause_ItemIEs_specs_21;
-extern asn_TYPE_member_t asn_MBR_RANfunctionIDcause_ItemIEs_21[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RANfunctionIDcause_ItemIEs_specs_65;
+extern asn_TYPE_member_t asn_MBR_RANfunctionIDcause_ItemIEs_65[3];
extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionRequest_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionRequest_IEs_specs_25;
-extern asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_IEs_25[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionRequest_IEs_specs_69;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_IEs_69[3];
extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionResponse_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionResponse_IEs_specs_29;
-extern asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_IEs_29[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionResponse_IEs_specs_73;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_IEs_73[3];
extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionFailure_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionFailure_IEs_specs_33;
-extern asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_IEs_33[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionFailure_IEs_specs_77;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_IEs_77[3];
extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequest_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_37;
-extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_IEs_37[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_81;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_IEs_81[3];
extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteResponse_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_41;
-extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_IEs_41[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_85;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_IEs_85[3];
extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteFailure_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_45;
-extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_IEs_45[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_89;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_IEs_89[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequired_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequired_IEs_specs_93;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequired_IEs_93[3];
extern asn_TYPE_descriptor_t asn_DEF_RICindication_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICindication_IEs_specs_49;
-extern asn_TYPE_member_t asn_MBR_RICindication_IEs_49[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICindication_IEs_specs_97;
+extern asn_TYPE_member_t asn_MBR_RICindication_IEs_97[3];
extern asn_TYPE_descriptor_t asn_DEF_RICcontrolRequest_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolRequest_IEs_specs_53;
-extern asn_TYPE_member_t asn_MBR_RICcontrolRequest_IEs_53[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolRequest_IEs_specs_101;
+extern asn_TYPE_member_t asn_MBR_RICcontrolRequest_IEs_101[3];
extern asn_TYPE_descriptor_t asn_DEF_RICcontrolAcknowledge_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolAcknowledge_IEs_specs_57;
-extern asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_IEs_57[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolAcknowledge_IEs_specs_105;
+extern asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_IEs_105[3];
extern asn_TYPE_descriptor_t asn_DEF_RICcontrolFailure_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolFailure_IEs_specs_61;
-extern asn_TYPE_member_t asn_MBR_RICcontrolFailure_IEs_61[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolFailure_IEs_specs_109;
+extern asn_TYPE_member_t asn_MBR_RICcontrolFailure_IEs_109[3];
extern asn_TYPE_descriptor_t asn_DEF_ErrorIndicationE2_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_ErrorIndicationE2_IEs_specs_65;
-extern asn_TYPE_member_t asn_MBR_ErrorIndicationE2_IEs_65[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_ErrorIndicationE2_IEs_specs_113;
+extern asn_TYPE_member_t asn_MBR_ErrorIndicationE2_IEs_113[3];
extern asn_TYPE_descriptor_t asn_DEF_E2setupRequestIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_E2setupRequestIEs_specs_69;
-extern asn_TYPE_member_t asn_MBR_E2setupRequestIEs_69[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_E2setupRequestIEs_specs_117;
+extern asn_TYPE_member_t asn_MBR_E2setupRequestIEs_117[3];
extern asn_TYPE_descriptor_t asn_DEF_E2setupResponseIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_E2setupResponseIEs_specs_73;
-extern asn_TYPE_member_t asn_MBR_E2setupResponseIEs_73[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_E2setupResponseIEs_specs_121;
+extern asn_TYPE_member_t asn_MBR_E2setupResponseIEs_121[3];
extern asn_TYPE_descriptor_t asn_DEF_E2setupFailureIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_E2setupFailureIEs_specs_77;
-extern asn_TYPE_member_t asn_MBR_E2setupFailureIEs_77[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_E2setupFailureIEs_specs_125;
+extern asn_TYPE_member_t asn_MBR_E2setupFailureIEs_125[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdate_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdate_IEs_specs_129;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdate_IEs_129[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateAck_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateAck_IEs_specs_133;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdateAck_IEs_133[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateFailure_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateFailure_IEs_specs_137;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdateFailure_IEs_137[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdate_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdate_IEs_specs_141;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdate_IEs_141[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateAcknowledge_IEs_specs_145;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateAcknowledge_IEs_145[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateFailure_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateFailure_IEs_specs_149;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateFailure_IEs_149[3];
extern asn_TYPE_descriptor_t asn_DEF_ResetRequestIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_ResetRequestIEs_specs_81;
-extern asn_TYPE_member_t asn_MBR_ResetRequestIEs_81[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_ResetRequestIEs_specs_153;
+extern asn_TYPE_member_t asn_MBR_ResetRequestIEs_153[3];
extern asn_TYPE_descriptor_t asn_DEF_ResetResponseIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_ResetResponseIEs_specs_85;
-extern asn_TYPE_member_t asn_MBR_ResetResponseIEs_85[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_ResetResponseIEs_specs_157;
+extern asn_TYPE_member_t asn_MBR_ResetResponseIEs_157[3];
extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdate_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdate_IEs_specs_89;
-extern asn_TYPE_member_t asn_MBR_RICserviceUpdate_IEs_89[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdate_IEs_specs_161;
+extern asn_TYPE_member_t asn_MBR_RICserviceUpdate_IEs_161[3];
extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateAcknowledge_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_93;
-extern asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_IEs_93[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_165;
+extern asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_IEs_165[3];
extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateFailure_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateFailure_IEs_specs_97;
-extern asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_IEs_97[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateFailure_IEs_specs_169;
+extern asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_IEs_169[3];
extern asn_TYPE_descriptor_t asn_DEF_RICserviceQuery_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceQuery_IEs_specs_101;
-extern asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_101[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceQuery_IEs_specs_173;
+extern asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_173[3];
#ifdef __cplusplus
}
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-Containers"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ProtocolIE-FieldPairE2.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-Containers"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ProtocolIE_FieldPairE2_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-CommonDataTypes"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ProtocolIE-IDE2.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-CommonDataTypes"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ProtocolIE_IDE2_H_
#define ProtocolIE_IDE2_id_RICsubscriptionDetails ((ProtocolIE_IDE2_t)30)
#define ProtocolIE_IDE2_id_TimeToWaitE2 ((ProtocolIE_IDE2_t)31)
#define ProtocolIE_IDE2_id_RICcontrolOutcome ((ProtocolIE_IDE2_t)32)
+#define ProtocolIE_IDE2_id_E2nodeComponentConfigUpdate ((ProtocolIE_IDE2_t)33)
+#define ProtocolIE_IDE2_id_E2nodeComponentConfigUpdate_Item ((ProtocolIE_IDE2_t)34)
+#define ProtocolIE_IDE2_id_E2nodeComponentConfigUpdateAck ((ProtocolIE_IDE2_t)35)
+#define ProtocolIE_IDE2_id_E2nodeComponentConfigUpdateAck_Item ((ProtocolIE_IDE2_t)36)
+#define ProtocolIE_IDE2_id_E2connectionSetup ((ProtocolIE_IDE2_t)39)
+#define ProtocolIE_IDE2_id_E2connectionSetupFailed ((ProtocolIE_IDE2_t)40)
+#define ProtocolIE_IDE2_id_E2connectionSetupFailed_Item ((ProtocolIE_IDE2_t)41)
+#define ProtocolIE_IDE2_id_E2connectionFailed_Item ((ProtocolIE_IDE2_t)42)
+#define ProtocolIE_IDE2_id_E2connectionUpdate_Item ((ProtocolIE_IDE2_t)43)
+#define ProtocolIE_IDE2_id_E2connectionUpdateAdd ((ProtocolIE_IDE2_t)44)
+#define ProtocolIE_IDE2_id_E2connectionUpdateModify ((ProtocolIE_IDE2_t)45)
+#define ProtocolIE_IDE2_id_E2connectionUpdateRemove ((ProtocolIE_IDE2_t)46)
+#define ProtocolIE_IDE2_id_E2connectionUpdateRemove_Item ((ProtocolIE_IDE2_t)47)
+#define ProtocolIE_IDE2_id_TNLinformation ((ProtocolIE_IDE2_t)48)
+#define ProtocolIE_IDE2_id_TransactionID ((ProtocolIE_IDE2_t)49)
+#define ProtocolIE_IDE2_id_E2nodeComponentConfigAddition ((ProtocolIE_IDE2_t)50)
+#define ProtocolIE_IDE2_id_E2nodeComponentConfigAddition_Item ((ProtocolIE_IDE2_t)51)
+#define ProtocolIE_IDE2_id_E2nodeComponentConfigAdditionAck ((ProtocolIE_IDE2_t)52)
+#define ProtocolIE_IDE2_id_E2nodeComponentConfigAdditionAck_Item ((ProtocolIE_IDE2_t)53)
+#define ProtocolIE_IDE2_id_E2nodeComponentConfigRemoval ((ProtocolIE_IDE2_t)54)
+#define ProtocolIE_IDE2_id_E2nodeComponentConfigRemoval_Item ((ProtocolIE_IDE2_t)55)
+#define ProtocolIE_IDE2_id_E2nodeComponentConfigRemovalAck ((ProtocolIE_IDE2_t)56)
+#define ProtocolIE_IDE2_id_E2nodeComponentConfigRemovalAck_Item ((ProtocolIE_IDE2_t)57)
+#define ProtocolIE_IDE2_id_E2nodeTNLassociationRemoval ((ProtocolIE_IDE2_t)58)
+#define ProtocolIE_IDE2_id_E2nodeTNLassociationRemoval_Item ((ProtocolIE_IDE2_t)59)
+#define ProtocolIE_IDE2_id_RICsubscriptionToBeRemoved ((ProtocolIE_IDE2_t)50)
+#define ProtocolIE_IDE2_id_RICsubscription_withCause_Item ((ProtocolIE_IDE2_t)51)
#ifdef __cplusplus
}
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-Containers"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ProtocolIE-SingleContainerE2.h"
* This type is implemented using RICaction_NotAdmitted_ItemIEs,
* so here we adjust the DEF accordingly.
*/
+/*
+ * This type is implemented using RICsubscription_withCause_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2connectionUpdate_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2connectionUpdateRemove_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2connectionSetupFailed_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2nodeComponentConfigAddition_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2nodeComponentConfigUpdate_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2nodeComponentConfigRemoval_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2nodeTNLassociationRemoval_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2nodeComponentConfigAdditionAck_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2nodeComponentConfigUpdateAck_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2nodeComponentConfigRemovalAck_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
/*
* This type is implemented using RANfunction_ItemIEs,
* so here we adjust the DEF accordingly.
* This type is implemented using RANfunctionIDcause_ItemIEs,
* so here we adjust the DEF accordingly.
*/
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1410P0_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P0_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1410P0 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P0 = {
"ProtocolIE-SingleContainerE2",
"ProtocolIE-SingleContainerE2",
&asn_OP_SEQUENCE,
- asn_DEF_ProtocolIE_SingleContainerE2_1410P0_tags_1,
- sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P0_tags_1)
- /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P0_tags_1[0]), /* 1 */
- asn_DEF_ProtocolIE_SingleContainerE2_1410P0_tags_1, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P0_tags_1)
- /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P0_tags_1[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P0_tags_1,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P0_tags_1)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P0_tags_1[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P0_tags_1, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P0_tags_1)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P0_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_RICaction_ToBeSetup_ItemIEs_1,
3, /* Elements count */
&asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1 /* Additional specs */
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1410P1_tags_2[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P1_tags_2[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1410P1 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P1 = {
"ProtocolIE-SingleContainerE2",
"ProtocolIE-SingleContainerE2",
&asn_OP_SEQUENCE,
- asn_DEF_ProtocolIE_SingleContainerE2_1410P1_tags_2,
- sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P1_tags_2)
- /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P1_tags_2[0]), /* 1 */
- asn_DEF_ProtocolIE_SingleContainerE2_1410P1_tags_2, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P1_tags_2)
- /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P1_tags_2[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P1_tags_2,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P1_tags_2)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P1_tags_2[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P1_tags_2, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P1_tags_2)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P1_tags_2[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_RICaction_Admitted_ItemIEs_5,
3, /* Elements count */
&asn_SPC_RICaction_Admitted_ItemIEs_specs_5 /* Additional specs */
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1410P2_tags_3[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P2_tags_3[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1410P2 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P2 = {
"ProtocolIE-SingleContainerE2",
"ProtocolIE-SingleContainerE2",
&asn_OP_SEQUENCE,
- asn_DEF_ProtocolIE_SingleContainerE2_1410P2_tags_3,
- sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P2_tags_3)
- /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P2_tags_3[0]), /* 1 */
- asn_DEF_ProtocolIE_SingleContainerE2_1410P2_tags_3, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P2_tags_3)
- /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P2_tags_3[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P2_tags_3,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P2_tags_3)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P2_tags_3[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P2_tags_3, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P2_tags_3)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P2_tags_3[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_RICaction_NotAdmitted_ItemIEs_9,
3, /* Elements count */
&asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9 /* Additional specs */
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1410P3_tags_4[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P3_tags_4[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P3 = {
+ "ProtocolIE-SingleContainerE2",
+ "ProtocolIE-SingleContainerE2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P3_tags_4,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P3_tags_4)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P3_tags_4[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P3_tags_4, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P3_tags_4)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P3_tags_4[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RICsubscription_withCause_ItemIEs_13,
+ 3, /* Elements count */
+ &asn_SPC_RICsubscription_withCause_ItemIEs_specs_13 /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P4_tags_5[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P4 = {
+ "ProtocolIE-SingleContainerE2",
+ "ProtocolIE-SingleContainerE2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P4_tags_5,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P4_tags_5)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P4_tags_5[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P4_tags_5, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P4_tags_5)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P4_tags_5[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2connectionUpdate_ItemIEs_17,
+ 3, /* Elements count */
+ &asn_SPC_E2connectionUpdate_ItemIEs_specs_17 /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P5_tags_6[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P5 = {
+ "ProtocolIE-SingleContainerE2",
+ "ProtocolIE-SingleContainerE2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P5_tags_6,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P5_tags_6)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P5_tags_6[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P5_tags_6, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P5_tags_6)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P5_tags_6[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2connectionUpdateRemove_ItemIEs_21,
+ 3, /* Elements count */
+ &asn_SPC_E2connectionUpdateRemove_ItemIEs_specs_21 /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P6_tags_7[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P6 = {
+ "ProtocolIE-SingleContainerE2",
+ "ProtocolIE-SingleContainerE2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P6_tags_7,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P6_tags_7)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P6_tags_7[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P6_tags_7, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P6_tags_7)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P6_tags_7[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2connectionSetupFailed_ItemIEs_25,
+ 3, /* Elements count */
+ &asn_SPC_E2connectionSetupFailed_ItemIEs_specs_25 /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P7_tags_8[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P7 = {
+ "ProtocolIE-SingleContainerE2",
+ "ProtocolIE-SingleContainerE2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P7_tags_8,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P7_tags_8)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P7_tags_8[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P7_tags_8, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P7_tags_8)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P7_tags_8[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigAddition_ItemIEs_29,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigAddition_ItemIEs_specs_29 /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P8_tags_9[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P8 = {
+ "ProtocolIE-SingleContainerE2",
+ "ProtocolIE-SingleContainerE2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P8_tags_9,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P8_tags_9)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P8_tags_9[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P8_tags_9, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P8_tags_9)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P8_tags_9[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigUpdate_ItemIEs_33,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigUpdate_ItemIEs_specs_33 /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P9_tags_10[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P9 = {
+ "ProtocolIE-SingleContainerE2",
+ "ProtocolIE-SingleContainerE2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P9_tags_10,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P9_tags_10)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P9_tags_10[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P9_tags_10, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P9_tags_10)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P9_tags_10[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigRemoval_ItemIEs_37,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigRemoval_ItemIEs_specs_37 /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P10_tags_11[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P10 = {
+ "ProtocolIE-SingleContainerE2",
+ "ProtocolIE-SingleContainerE2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P10_tags_11,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P10_tags_11)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P10_tags_11[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P10_tags_11, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P10_tags_11)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P10_tags_11[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeTNLassociationRemoval_ItemIEs_41,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeTNLassociationRemoval_ItemIEs_specs_41 /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P11_tags_12[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P11 = {
+ "ProtocolIE-SingleContainerE2",
+ "ProtocolIE-SingleContainerE2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P11_tags_12,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P11_tags_12)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P11_tags_12[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P11_tags_12, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P11_tags_12)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P11_tags_12[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigAdditionAck_ItemIEs_45,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigAdditionAck_ItemIEs_specs_45 /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P12_tags_13[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P12 = {
+ "ProtocolIE-SingleContainerE2",
+ "ProtocolIE-SingleContainerE2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P12_tags_13,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P12_tags_13)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P12_tags_13[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P12_tags_13, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P12_tags_13)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P12_tags_13[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigUpdateAck_ItemIEs_49,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigUpdateAck_ItemIEs_specs_49 /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P13_tags_14[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P13 = {
+ "ProtocolIE-SingleContainerE2",
+ "ProtocolIE-SingleContainerE2",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P13_tags_14,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P13_tags_14)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P13_tags_14[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P13_tags_14, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P13_tags_14)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P13_tags_14[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_E2nodeComponentConfigRemovalAck_ItemIEs_53,
+ 3, /* Elements count */
+ &asn_SPC_E2nodeComponentConfigRemovalAck_ItemIEs_specs_53 /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P14_tags_15[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1410P3 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P14 = {
"ProtocolIE-SingleContainerE2",
"ProtocolIE-SingleContainerE2",
&asn_OP_SEQUENCE,
- asn_DEF_ProtocolIE_SingleContainerE2_1410P3_tags_4,
- sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P3_tags_4)
- /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P3_tags_4[0]), /* 1 */
- asn_DEF_ProtocolIE_SingleContainerE2_1410P3_tags_4, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P3_tags_4)
- /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P3_tags_4[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P14_tags_15,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P14_tags_15)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P14_tags_15[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P14_tags_15, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P14_tags_15)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P14_tags_15[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RANfunction_ItemIEs_13,
+ asn_MBR_RANfunction_ItemIEs_57,
3, /* Elements count */
- &asn_SPC_RANfunction_ItemIEs_specs_13 /* Additional specs */
+ &asn_SPC_RANfunction_ItemIEs_specs_57 /* Additional specs */
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1410P4_tags_5[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P15_tags_16[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1410P4 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P15 = {
"ProtocolIE-SingleContainerE2",
"ProtocolIE-SingleContainerE2",
&asn_OP_SEQUENCE,
- asn_DEF_ProtocolIE_SingleContainerE2_1410P4_tags_5,
- sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P4_tags_5)
- /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P4_tags_5[0]), /* 1 */
- asn_DEF_ProtocolIE_SingleContainerE2_1410P4_tags_5, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P4_tags_5)
- /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P4_tags_5[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P15_tags_16,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P15_tags_16)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P15_tags_16[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P15_tags_16, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P15_tags_16)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P15_tags_16[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RANfunctionID_ItemIEs_17,
+ asn_MBR_RANfunctionID_ItemIEs_61,
3, /* Elements count */
- &asn_SPC_RANfunctionID_ItemIEs_specs_17 /* Additional specs */
+ &asn_SPC_RANfunctionID_ItemIEs_specs_61 /* Additional specs */
};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1410P5_tags_6[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainerE2_1928P16_tags_17[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1410P5 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P16 = {
"ProtocolIE-SingleContainerE2",
"ProtocolIE-SingleContainerE2",
&asn_OP_SEQUENCE,
- asn_DEF_ProtocolIE_SingleContainerE2_1410P5_tags_6,
- sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P5_tags_6)
- /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P5_tags_6[0]), /* 1 */
- asn_DEF_ProtocolIE_SingleContainerE2_1410P5_tags_6, /* Same as above */
- sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P5_tags_6)
- /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1410P5_tags_6[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P16_tags_17,
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P16_tags_17)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P16_tags_17[0]), /* 1 */
+ asn_DEF_ProtocolIE_SingleContainerE2_1928P16_tags_17, /* Same as above */
+ sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P16_tags_17)
+ /sizeof(asn_DEF_ProtocolIE_SingleContainerE2_1928P16_tags_17[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
- asn_MBR_RANfunctionIDcause_ItemIEs_21,
+ asn_MBR_RANfunctionIDcause_ItemIEs_65,
3, /* Elements count */
- &asn_SPC_RANfunctionIDcause_ItemIEs_specs_21 /* Additional specs */
+ &asn_SPC_RANfunctionIDcause_ItemIEs_specs_65 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-Containers"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ProtocolIE_SingleContainerE2_H_
#endif
/* ProtocolIE-SingleContainerE2 */
-typedef RICaction_ToBeSetup_ItemIEs_t ProtocolIE_SingleContainerE2_1410P0_t;
-typedef RICaction_Admitted_ItemIEs_t ProtocolIE_SingleContainerE2_1410P1_t;
-typedef RICaction_NotAdmitted_ItemIEs_t ProtocolIE_SingleContainerE2_1410P2_t;
-typedef RANfunction_ItemIEs_t ProtocolIE_SingleContainerE2_1410P3_t;
-typedef RANfunctionID_ItemIEs_t ProtocolIE_SingleContainerE2_1410P4_t;
-typedef RANfunctionIDcause_ItemIEs_t ProtocolIE_SingleContainerE2_1410P5_t;
+typedef RICaction_ToBeSetup_ItemIEs_t ProtocolIE_SingleContainerE2_1928P0_t;
+typedef RICaction_Admitted_ItemIEs_t ProtocolIE_SingleContainerE2_1928P1_t;
+typedef RICaction_NotAdmitted_ItemIEs_t ProtocolIE_SingleContainerE2_1928P2_t;
+typedef RICsubscription_withCause_ItemIEs_t ProtocolIE_SingleContainerE2_1928P3_t;
+typedef E2connectionUpdate_ItemIEs_t ProtocolIE_SingleContainerE2_1928P4_t;
+typedef E2connectionUpdateRemove_ItemIEs_t ProtocolIE_SingleContainerE2_1928P5_t;
+typedef E2connectionSetupFailed_ItemIEs_t ProtocolIE_SingleContainerE2_1928P6_t;
+typedef E2nodeComponentConfigAddition_ItemIEs_t ProtocolIE_SingleContainerE2_1928P7_t;
+typedef E2nodeComponentConfigUpdate_ItemIEs_t ProtocolIE_SingleContainerE2_1928P8_t;
+typedef E2nodeComponentConfigRemoval_ItemIEs_t ProtocolIE_SingleContainerE2_1928P9_t;
+typedef E2nodeTNLassociationRemoval_ItemIEs_t ProtocolIE_SingleContainerE2_1928P10_t;
+typedef E2nodeComponentConfigAdditionAck_ItemIEs_t ProtocolIE_SingleContainerE2_1928P11_t;
+typedef E2nodeComponentConfigUpdateAck_ItemIEs_t ProtocolIE_SingleContainerE2_1928P12_t;
+typedef E2nodeComponentConfigRemovalAck_ItemIEs_t ProtocolIE_SingleContainerE2_1928P13_t;
+typedef RANfunction_ItemIEs_t ProtocolIE_SingleContainerE2_1928P14_t;
+typedef RANfunctionID_ItemIEs_t ProtocolIE_SingleContainerE2_1928P15_t;
+typedef RANfunctionIDcause_ItemIEs_t ProtocolIE_SingleContainerE2_1928P16_t;
/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1410P0;
-asn_struct_free_f ProtocolIE_SingleContainerE2_1410P0_free;
-asn_struct_print_f ProtocolIE_SingleContainerE2_1410P0_print;
-asn_constr_check_f ProtocolIE_SingleContainerE2_1410P0_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainerE2_1410P0_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainerE2_1410P0_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainerE2_1410P0_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainerE2_1410P0_encode_xer;
-oer_type_decoder_f ProtocolIE_SingleContainerE2_1410P0_decode_oer;
-oer_type_encoder_f ProtocolIE_SingleContainerE2_1410P0_encode_oer;
-per_type_decoder_f ProtocolIE_SingleContainerE2_1410P0_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainerE2_1410P0_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainerE2_1410P0_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainerE2_1410P0_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1410P1;
-asn_struct_free_f ProtocolIE_SingleContainerE2_1410P1_free;
-asn_struct_print_f ProtocolIE_SingleContainerE2_1410P1_print;
-asn_constr_check_f ProtocolIE_SingleContainerE2_1410P1_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainerE2_1410P1_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainerE2_1410P1_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainerE2_1410P1_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainerE2_1410P1_encode_xer;
-oer_type_decoder_f ProtocolIE_SingleContainerE2_1410P1_decode_oer;
-oer_type_encoder_f ProtocolIE_SingleContainerE2_1410P1_encode_oer;
-per_type_decoder_f ProtocolIE_SingleContainerE2_1410P1_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainerE2_1410P1_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainerE2_1410P1_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainerE2_1410P1_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1410P2;
-asn_struct_free_f ProtocolIE_SingleContainerE2_1410P2_free;
-asn_struct_print_f ProtocolIE_SingleContainerE2_1410P2_print;
-asn_constr_check_f ProtocolIE_SingleContainerE2_1410P2_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainerE2_1410P2_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainerE2_1410P2_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainerE2_1410P2_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainerE2_1410P2_encode_xer;
-oer_type_decoder_f ProtocolIE_SingleContainerE2_1410P2_decode_oer;
-oer_type_encoder_f ProtocolIE_SingleContainerE2_1410P2_encode_oer;
-per_type_decoder_f ProtocolIE_SingleContainerE2_1410P2_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainerE2_1410P2_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainerE2_1410P2_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainerE2_1410P2_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1410P3;
-asn_struct_free_f ProtocolIE_SingleContainerE2_1410P3_free;
-asn_struct_print_f ProtocolIE_SingleContainerE2_1410P3_print;
-asn_constr_check_f ProtocolIE_SingleContainerE2_1410P3_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainerE2_1410P3_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainerE2_1410P3_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainerE2_1410P3_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainerE2_1410P3_encode_xer;
-oer_type_decoder_f ProtocolIE_SingleContainerE2_1410P3_decode_oer;
-oer_type_encoder_f ProtocolIE_SingleContainerE2_1410P3_encode_oer;
-per_type_decoder_f ProtocolIE_SingleContainerE2_1410P3_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainerE2_1410P3_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainerE2_1410P3_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainerE2_1410P3_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1410P4;
-asn_struct_free_f ProtocolIE_SingleContainerE2_1410P4_free;
-asn_struct_print_f ProtocolIE_SingleContainerE2_1410P4_print;
-asn_constr_check_f ProtocolIE_SingleContainerE2_1410P4_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainerE2_1410P4_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainerE2_1410P4_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainerE2_1410P4_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainerE2_1410P4_encode_xer;
-oer_type_decoder_f ProtocolIE_SingleContainerE2_1410P4_decode_oer;
-oer_type_encoder_f ProtocolIE_SingleContainerE2_1410P4_encode_oer;
-per_type_decoder_f ProtocolIE_SingleContainerE2_1410P4_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainerE2_1410P4_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainerE2_1410P4_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainerE2_1410P4_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1410P5;
-asn_struct_free_f ProtocolIE_SingleContainerE2_1410P5_free;
-asn_struct_print_f ProtocolIE_SingleContainerE2_1410P5_print;
-asn_constr_check_f ProtocolIE_SingleContainerE2_1410P5_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainerE2_1410P5_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainerE2_1410P5_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainerE2_1410P5_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainerE2_1410P5_encode_xer;
-oer_type_decoder_f ProtocolIE_SingleContainerE2_1410P5_decode_oer;
-oer_type_encoder_f ProtocolIE_SingleContainerE2_1410P5_encode_oer;
-per_type_decoder_f ProtocolIE_SingleContainerE2_1410P5_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainerE2_1410P5_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainerE2_1410P5_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainerE2_1410P5_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P0;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P0_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P0_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P0_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P0_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P0_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P0_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P0_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P0_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P0_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P0_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P0_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P0_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P0_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P1;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P1_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P1_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P1_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P1_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P1_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P1_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P1_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P1_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P1_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P1_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P1_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P1_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P1_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P2;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P2_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P2_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P2_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P2_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P2_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P2_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P2_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P2_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P2_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P2_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P2_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P2_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P2_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P3;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P3_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P3_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P3_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P3_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P3_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P3_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P3_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P3_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P3_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P3_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P3_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P3_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P3_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P4;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P4_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P4_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P4_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P4_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P4_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P4_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P4_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P4_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P4_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P4_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P4_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P4_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P4_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P5;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P5_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P5_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P5_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P5_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P5_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P5_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P5_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P5_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P5_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P5_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P5_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P5_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P5_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P6;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P6_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P6_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P6_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P6_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P6_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P6_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P6_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P6_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P6_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P6_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P6_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P6_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P6_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P7;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P7_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P7_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P7_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P7_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P7_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P7_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P7_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P7_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P7_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P7_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P7_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P7_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P7_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P8;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P8_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P8_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P8_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P8_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P8_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P8_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P8_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P8_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P8_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P8_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P8_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P8_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P8_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P9;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P9_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P9_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P9_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P9_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P9_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P9_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P9_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P9_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P9_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P9_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P9_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P9_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P9_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P10;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P10_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P10_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P10_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P10_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P10_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P10_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P10_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P10_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P10_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P10_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P10_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P10_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P10_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P11;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P11_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P11_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P11_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P11_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P11_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P11_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P11_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P11_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P11_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P11_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P11_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P11_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P11_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P12;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P12_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P12_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P12_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P12_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P12_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P12_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P12_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P12_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P12_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P12_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P12_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P12_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P12_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P13;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P13_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P13_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P13_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P13_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P13_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P13_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P13_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P13_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P13_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P13_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P13_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P13_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P13_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P14;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P14_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P14_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P14_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P14_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P14_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P14_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P14_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P14_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P14_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P14_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P14_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P14_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P14_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P15;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P15_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P15_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P15_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P15_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P15_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P15_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P15_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P15_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P15_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P15_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P15_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P15_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P15_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainerE2_1928P16;
+asn_struct_free_f ProtocolIE_SingleContainerE2_1928P16_free;
+asn_struct_print_f ProtocolIE_SingleContainerE2_1928P16_print;
+asn_constr_check_f ProtocolIE_SingleContainerE2_1928P16_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainerE2_1928P16_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainerE2_1928P16_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainerE2_1928P16_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainerE2_1928P16_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainerE2_1928P16_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainerE2_1928P16_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P16_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P16_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainerE2_1928P16_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainerE2_1928P16_encode_aper;
#ifdef __cplusplus
}
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RANfunction-Item.h"
0, 0, /* No default value */
"ranFunctionRevision"
},
+ { ATF_NOFLAGS, 0, offsetof(struct RANfunction_Item, ranFunctionOID),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANfunctionOID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranFunctionOID"
+ },
};
static const ber_tlv_tag_t asn_DEF_RANfunction_Item_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
static const asn_TYPE_tag2member_t asn_MAP_RANfunction_Item_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranFunctionID */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranFunctionDefinition */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranFunctionRevision */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ranFunctionRevision */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ranFunctionOID */
};
static asn_SEQUENCE_specifics_t asn_SPC_RANfunction_Item_specs_1 = {
sizeof(struct RANfunction_Item),
offsetof(struct RANfunction_Item, _asn_ctx),
asn_MAP_RANfunction_Item_tag2el_1,
- 3, /* Count of tags in the map */
+ 4, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
- 3, /* First extension addition */
+ 4, /* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_RANfunction_Item = {
"RANfunction-Item",
/sizeof(asn_DEF_RANfunction_Item_tags_1[0]), /* 1 */
{ 0, 0, SEQUENCE_constraint },
asn_MBR_RANfunction_Item_1,
- 3, /* Elements count */
+ 4, /* Elements count */
&asn_SPC_RANfunction_Item_specs_1 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RANfunction_Item_H_
#include "RANfunctionID.h"
#include "RANfunctionDefinition.h"
#include "RANfunctionRevision.h"
+#include "RANfunctionOID.h"
#include <constr_SEQUENCE.h>
#ifdef __cplusplus
RANfunctionID_t ranFunctionID;
RANfunctionDefinition_t ranFunctionDefinition;
RANfunctionRevision_t ranFunctionRevision;
+ RANfunctionOID_t ranFunctionOID;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RANfunctionDefinition.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RANfunctionDefinition_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RANfunctionID-Item.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RANfunctionID_Item_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RANfunctionID.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RANfunctionID_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RANfunctionIDcause-Item.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RANfunctionIDcause_Item_H_
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "RANfunctionOID.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
+RANfunctionOID_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 <= 1000)
+ && !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_RANfunctionOID_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_RANfunctionOID_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_RANfunctionOID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..MAX)) */};
+asn_per_constraints_t asn_PER_type_RANfunctionOID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 32, 122 } /* (32..122) */,
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 1000 } /* (SIZE(1..1000,...)) */,
+ asn_PER_MAP_RANfunctionOID_1_v2c, /* Value to PER code map */
+ asn_PER_MAP_RANfunctionOID_1_c2v /* PER code to value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANfunctionOID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANfunctionOID = {
+ "RANfunctionOID",
+ "RANfunctionOID",
+ &asn_OP_PrintableString,
+ asn_DEF_RANfunctionOID_tags_1,
+ sizeof(asn_DEF_RANfunctionOID_tags_1)
+ /sizeof(asn_DEF_RANfunctionOID_tags_1[0]), /* 1 */
+ asn_DEF_RANfunctionOID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANfunctionOID_tags_1)
+ /sizeof(asn_DEF_RANfunctionOID_tags_1[0]), /* 1 */
+ { &asn_OER_type_RANfunctionOID_constr_1, &asn_PER_type_RANfunctionOID_constr_1, RANfunctionOID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _RANfunctionOID_H_
+#define _RANfunctionOID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <PrintableString.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANfunctionOID */
+typedef PrintableString_t RANfunctionOID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RANfunctionOID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RANfunctionOID;
+asn_struct_free_f RANfunctionOID_free;
+asn_struct_print_f RANfunctionOID_print;
+asn_constr_check_f RANfunctionOID_constraint;
+ber_type_decoder_f RANfunctionOID_decode_ber;
+der_type_encoder_f RANfunctionOID_encode_der;
+xer_type_decoder_f RANfunctionOID_decode_xer;
+xer_type_encoder_f RANfunctionOID_encode_xer;
+oer_type_decoder_f RANfunctionOID_decode_oer;
+oer_type_encoder_f RANfunctionOID_encode_oer;
+per_type_decoder_f RANfunctionOID_decode_uper;
+per_type_encoder_f RANfunctionOID_encode_uper;
+per_type_decoder_f RANfunctionOID_decode_aper;
+per_type_encoder_f RANfunctionOID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANfunctionOID_H_ */
+#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RANfunctionRevision.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RANfunctionRevision_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RANfunctions-List.h"
#include "ProtocolIE-SingleContainerE2.h"
static asn_oer_constraints_t asn_OER_type_RANfunctions_List_constr_1 CC_NOTUSED = {
{ 0, 0 },
- -1 /* (SIZE(0..256)) */};
+ -1 /* (SIZE(1..256)) */};
static asn_per_constraints_t asn_PER_type_RANfunctions_List_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 9, 9, 0, 256 } /* (SIZE(0..256)) */,
+ { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_RANfunctions_List_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_ProtocolIE_SingleContainerE2_1410P3,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P14,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RANfunctions_List_H_
#include <asn_application.h>
-//#include "ProtocolIE_SingleContainerE2.h"
/* Including external dependencies */
#include <asn_SEQUENCE_OF.h>
/* RANfunctions-List */
typedef struct RANfunctions_List {
- A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2_1410P3_t) list;
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RANfunctionsID-List.h"
#include "ProtocolIE-SingleContainerE2.h"
static asn_oer_constraints_t asn_OER_type_RANfunctionsID_List_constr_1 CC_NOTUSED = {
{ 0, 0 },
- -1 /* (SIZE(0..256)) */};
+ -1 /* (SIZE(1..256)) */};
static asn_per_constraints_t asn_PER_type_RANfunctionsID_List_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 9, 9, 0, 256 } /* (SIZE(0..256)) */,
+ { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_RANfunctionsID_List_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_ProtocolIE_SingleContainerE2_1410P4,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P15,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RANfunctionsID_List_H_
/* RANfunctionsID-List */
typedef struct RANfunctionsID_List {
- A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2_1410P4_t) list;
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RANfunctionsIDcause-List.h"
#include "ProtocolIE-SingleContainerE2.h"
static asn_oer_constraints_t asn_OER_type_RANfunctionsIDcause_List_constr_1 CC_NOTUSED = {
{ 0, 0 },
- -1 /* (SIZE(0..256)) */};
+ -1 /* (SIZE(1..256)) */};
static asn_per_constraints_t asn_PER_type_RANfunctionsIDcause_List_constr_1 CC_NOTUSED = {
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
- { APC_CONSTRAINED, 9, 9, 0, 256 } /* (SIZE(0..256)) */,
+ { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */,
0, 0 /* No PER value map */
};
static asn_TYPE_member_t asn_MBR_RANfunctionsIDcause_List_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_ProtocolIE_SingleContainerE2_1410P5,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P16,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RANfunctionsIDcause_List_H_
/* RANfunctionsIDcause-List */
typedef struct RANfunctionsIDcause_List {
- A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2_1410P5_t) list;
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICaction-Admitted-Item.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICaction_Admitted_Item_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICaction-Admitted-List.h"
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_ProtocolIE_SingleContainerE2_1410P1,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P1,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICaction_Admitted_List_H_
/* RICaction-Admitted-List */
typedef struct RICaction_Admitted_List {
- A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2_1410P1_t) list;
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICaction-NotAdmitted-Item.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICaction_NotAdmitted_Item_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICaction-NotAdmitted-List.h"
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_ProtocolIE_SingleContainerE2_1410P2,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P2,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICaction_NotAdmitted_List_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICaction-ToBeSetup-Item.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICaction_ToBeSetup_Item_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICactionDefinition.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICactionDefinition_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICactionID.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICactionID_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICactionType.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICactionType_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICactions-ToBeSetup-List.h"
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_ProtocolIE_SingleContainerE2_1410P0,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P0,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICactions_ToBeSetup_List_H_
/* RICactions-ToBeSetup-List */
typedef struct RICactions_ToBeSetup_List {
- A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2_1410P0_t) list;
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICcallProcessID.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICcallProcessID_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICcontrolAckRequest.h"
{ 0, 0 },
-1};
static asn_per_constraints_t asn_PER_type_RICcontrolAckRequest_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
+ { 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_RICcontrolAckRequest_value2enum_1[] = {
{ 0, 5, "noAck" },
- { 1, 3, "ack" },
- { 2, 4, "nAck" }
+ { 1, 3, "ack" }
/* This list is extensible */
};
static const unsigned int asn_MAP_RICcontrolAckRequest_enum2value_1[] = {
1, /* ack(1) */
- 2, /* nAck(2) */
0 /* noAck(0) */
/* This list is extensible */
};
static const asn_INTEGER_specifics_t asn_SPC_RICcontrolAckRequest_specs_1 = {
asn_MAP_RICcontrolAckRequest_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_RICcontrolAckRequest_enum2value_1, /* N => "tag"; sorted by N */
- 3, /* Number of elements in the maps */
- 4, /* Extensions before this member */
+ 2, /* Number of elements in the maps */
+ 3, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICcontrolAckRequest_H_
/* Dependencies */
typedef enum RICcontrolAckRequest {
RICcontrolAckRequest_noAck = 0,
- RICcontrolAckRequest_ack = 1,
- RICcontrolAckRequest_nAck = 2
+ RICcontrolAckRequest_ack = 1
/*
* Enumeration is extensible
*/
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICcontrolAcknowledge.h"
{ ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P8,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P9,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICcontrolAcknowledge_H_
/* RICcontrolAcknowledge */
typedef struct RICcontrolAcknowledge {
- ProtocolIE_ContainerE2_1407P8_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P9_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICcontrolFailure.h"
{ ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P9,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P10,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICcontrolFailure_H_
/* RICcontrolFailure */
typedef struct RICcontrolFailure {
- ProtocolIE_ContainerE2_1407P9_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P10_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICcontrolHeader.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICcontrolHeader_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICcontrolMessage.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICcontrolMessage_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICcontrolOutcome.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICcontrolOutcome_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICcontrolRequest.h"
{ ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P7,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P8,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICcontrolRequest_H_
/* RICcontrolRequest */
typedef struct RICcontrolRequest {
- ProtocolIE_ContainerE2_1407P7_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P8_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
+++ /dev/null
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
- */
-
-#include "RICcontrolStatus.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_RICcontrolStatus_constr_1 CC_NOTUSED = {
- { 0, 0 },
- -1};
-static asn_per_constraints_t asn_PER_type_RICcontrolStatus_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_RICcontrolStatus_value2enum_1[] = {
- { 0, 7, "success" },
- { 1, 8, "rejected" },
- { 2, 6, "failed" }
- /* This list is extensible */
-};
-static const unsigned int asn_MAP_RICcontrolStatus_enum2value_1[] = {
- 2, /* failed(2) */
- 1, /* rejected(1) */
- 0 /* success(0) */
- /* This list is extensible */
-};
-static const asn_INTEGER_specifics_t asn_SPC_RICcontrolStatus_specs_1 = {
- asn_MAP_RICcontrolStatus_value2enum_1, /* "tag" => N; sorted by tag */
- asn_MAP_RICcontrolStatus_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_RICcontrolStatus_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RICcontrolStatus = {
- "RICcontrolStatus",
- "RICcontrolStatus",
- &asn_OP_NativeEnumerated,
- asn_DEF_RICcontrolStatus_tags_1,
- sizeof(asn_DEF_RICcontrolStatus_tags_1)
- /sizeof(asn_DEF_RICcontrolStatus_tags_1[0]), /* 1 */
- asn_DEF_RICcontrolStatus_tags_1, /* Same as above */
- sizeof(asn_DEF_RICcontrolStatus_tags_1)
- /sizeof(asn_DEF_RICcontrolStatus_tags_1[0]), /* 1 */
- { &asn_OER_type_RICcontrolStatus_constr_1, &asn_PER_type_RICcontrolStatus_constr_1, NativeEnumerated_constraint },
- 0, 0, /* Defined elsewhere */
- &asn_SPC_RICcontrolStatus_specs_1 /* Additional specs */
-};
-
+++ /dev/null
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
- */
-
-#ifndef _RICcontrolStatus_H_
-#define _RICcontrolStatus_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeEnumerated.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum RICcontrolStatus {
- RICcontrolStatus_success = 0,
- RICcontrolStatus_rejected = 1,
- RICcontrolStatus_failed = 2
- /*
- * Enumeration is extensible
- */
-} e_RICcontrolStatus;
-
-/* RICcontrolStatus */
-typedef long RICcontrolStatus_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_RICcontrolStatus;
-asn_struct_free_f RICcontrolStatus_free;
-asn_struct_print_f RICcontrolStatus_print;
-asn_constr_check_f RICcontrolStatus_constraint;
-ber_type_decoder_f RICcontrolStatus_decode_ber;
-der_type_encoder_f RICcontrolStatus_encode_der;
-xer_type_decoder_f RICcontrolStatus_decode_xer;
-xer_type_encoder_f RICcontrolStatus_encode_xer;
-oer_type_decoder_f RICcontrolStatus_decode_oer;
-oer_type_encoder_f RICcontrolStatus_encode_oer;
-per_type_decoder_f RICcontrolStatus_decode_uper;
-per_type_encoder_f RICcontrolStatus_encode_uper;
-per_type_decoder_f RICcontrolStatus_decode_aper;
-per_type_encoder_f RICcontrolStatus_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RICcontrolStatus_H_ */
-#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICeventTriggerDefinition.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICeventTriggerDefinition_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICindication.h"
{ ATF_NOFLAGS, 0, offsetof(struct RICindication, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P6,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P7,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICindication_H_
/* RICindication */
typedef struct RICindication {
- ProtocolIE_ContainerE2_1407P6_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P7_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICindicationHeader.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICindicationHeader_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICindicationMessage.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICindicationMessage_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICindicationSN.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICindicationSN_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICindicationType.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICindicationType_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICrequestID.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICrequestID_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICserviceQuery.h"
{ ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P19,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P26,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICserviceQuery_H_
/* RICserviceQuery */
typedef struct RICserviceQuery {
- ProtocolIE_ContainerE2_1407P19_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P26_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICserviceUpdate.h"
{ ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P16,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P23,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICserviceUpdate_H_
/* RICserviceUpdate */
typedef struct RICserviceUpdate {
- ProtocolIE_ContainerE2_1407P16_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P23_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICserviceUpdateAcknowledge.h"
{ ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P17,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P24,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICserviceUpdateAcknowledge_H_
/* RICserviceUpdateAcknowledge */
typedef struct RICserviceUpdateAcknowledge {
- ProtocolIE_ContainerE2_1407P17_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P24_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICserviceUpdateFailure.h"
{ ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P18,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P25,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICserviceUpdateFailure_H_
/* RICserviceUpdateFailure */
typedef struct RICserviceUpdateFailure {
- ProtocolIE_ContainerE2_1407P18_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P25_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "RICsubscription-List-withCause.h"
+
+#include "ProtocolIE-SingleContainerE2.h"
+static asn_oer_constraints_t asn_OER_type_RICsubscription_List_withCause_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..4294967295)) */};
+static asn_per_constraints_t asn_PER_type_RICsubscription_List_withCause_constr_1 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_RICsubscription_List_withCause_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ProtocolIE_SingleContainerE2_1928P3,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RICsubscription_List_withCause_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RICsubscription_List_withCause_specs_1 = {
+ sizeof(struct RICsubscription_List_withCause),
+ offsetof(struct RICsubscription_List_withCause, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RICsubscription_List_withCause = {
+ "RICsubscription-List-withCause",
+ "RICsubscription-List-withCause",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_RICsubscription_List_withCause_tags_1,
+ sizeof(asn_DEF_RICsubscription_List_withCause_tags_1)
+ /sizeof(asn_DEF_RICsubscription_List_withCause_tags_1[0]), /* 1 */
+ asn_DEF_RICsubscription_List_withCause_tags_1, /* Same as above */
+ sizeof(asn_DEF_RICsubscription_List_withCause_tags_1)
+ /sizeof(asn_DEF_RICsubscription_List_withCause_tags_1[0]), /* 1 */
+ { &asn_OER_type_RICsubscription_List_withCause_constr_1, &asn_PER_type_RICsubscription_List_withCause_constr_1, SEQUENCE_OF_constraint },
+ asn_MBR_RICsubscription_List_withCause_1,
+ 1, /* Single element */
+ &asn_SPC_RICsubscription_List_withCause_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _RICsubscription_List_withCause_H_
+#define _RICsubscription_List_withCause_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainerE2;
+
+/* RICsubscription-List-withCause */
+typedef struct RICsubscription_List_withCause {
+ A_SEQUENCE_OF(struct ProtocolIE_SingleContainerE2) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RICsubscription_List_withCause_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscription_List_withCause;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RICsubscription_List_withCause_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "RICsubscription-withCause-Item.h"
+
+static asn_TYPE_member_t asn_MBR_RICsubscription_withCause_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscription_withCause_Item, ricRequestID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RICrequestID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ricRequestID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscription_withCause_Item, ranFunctionID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANfunctionID,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ranFunctionID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscription_withCause_Item, cause),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_CauseE2,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "cause"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RICsubscription_withCause_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscription_withCause_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ricRequestID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranFunctionID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* cause */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RICsubscription_withCause_Item_specs_1 = {
+ sizeof(struct RICsubscription_withCause_Item),
+ offsetof(struct RICsubscription_withCause_Item, _asn_ctx),
+ asn_MAP_RICsubscription_withCause_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_RICsubscription_withCause_Item = {
+ "RICsubscription-withCause-Item",
+ "RICsubscription-withCause-Item",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RICsubscription_withCause_Item_tags_1,
+ sizeof(asn_DEF_RICsubscription_withCause_Item_tags_1)
+ /sizeof(asn_DEF_RICsubscription_withCause_Item_tags_1[0]), /* 1 */
+ asn_DEF_RICsubscription_withCause_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RICsubscription_withCause_Item_tags_1)
+ /sizeof(asn_DEF_RICsubscription_withCause_Item_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RICsubscription_withCause_Item_1,
+ 3, /* Elements count */
+ &asn_SPC_RICsubscription_withCause_Item_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _RICsubscription_withCause_Item_H_
+#define _RICsubscription_withCause_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RICrequestID.h"
+#include "RANfunctionID.h"
+#include "CauseE2.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RICsubscription-withCause-Item */
+typedef struct RICsubscription_withCause_Item {
+ RICrequestID_t ricRequestID;
+ RANfunctionID_t ranFunctionID;
+ CauseE2_t cause;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RICsubscription_withCause_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscription_withCause_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RICsubscription_withCause_Item_H_ */
+#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICsubscriptionDeleteFailure.h"
{ ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P5,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P5,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICsubscriptionDeleteFailure_H_
/* RICsubscriptionDeleteFailure */
typedef struct RICsubscriptionDeleteFailure {
- ProtocolIE_ContainerE2_1407P5_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P5_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICsubscriptionDeleteRequest.h"
{ ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P3,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P3,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICsubscriptionDeleteRequest_H_
/* RICsubscriptionDeleteRequest */
typedef struct RICsubscriptionDeleteRequest {
- ProtocolIE_ContainerE2_1407P3_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P3_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "RICsubscriptionDeleteRequired.h"
+
+asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequired_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequired, protocolIEs),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProtocolIE_ContainerE2_1925P6,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "protocolIEs"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteRequired_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteRequired_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequired_specs_1 = {
+ sizeof(struct RICsubscriptionDeleteRequired),
+ offsetof(struct RICsubscriptionDeleteRequired, _asn_ctx),
+ asn_MAP_RICsubscriptionDeleteRequired_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_RICsubscriptionDeleteRequired = {
+ "RICsubscriptionDeleteRequired",
+ "RICsubscriptionDeleteRequired",
+ &asn_OP_SEQUENCE,
+ asn_DEF_RICsubscriptionDeleteRequired_tags_1,
+ sizeof(asn_DEF_RICsubscriptionDeleteRequired_tags_1)
+ /sizeof(asn_DEF_RICsubscriptionDeleteRequired_tags_1[0]), /* 1 */
+ asn_DEF_RICsubscriptionDeleteRequired_tags_1, /* Same as above */
+ sizeof(asn_DEF_RICsubscriptionDeleteRequired_tags_1)
+ /sizeof(asn_DEF_RICsubscriptionDeleteRequired_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_RICsubscriptionDeleteRequired_1,
+ 1, /* Elements count */
+ &asn_SPC_RICsubscriptionDeleteRequired_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _RICsubscriptionDeleteRequired_H_
+#define _RICsubscriptionDeleteRequired_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-ContainerE2.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RICsubscriptionDeleteRequired */
+typedef struct RICsubscriptionDeleteRequired {
+ ProtocolIE_ContainerE2_1925P6_t protocolIEs;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RICsubscriptionDeleteRequired_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequired;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequired_specs_1;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequired_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RICsubscriptionDeleteRequired_H_ */
+#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICsubscriptionDeleteResponse.h"
{ ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P4,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P4,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICsubscriptionDeleteResponse_H_
/* RICsubscriptionDeleteResponse */
typedef struct RICsubscriptionDeleteResponse {
- ProtocolIE_ContainerE2_1407P4_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P4_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICsubscriptionDetails.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICsubscriptionDetails_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICsubscriptionFailure.h"
{ ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P2,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P2,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICsubscriptionFailure_H_
/* RICsubscriptionFailure */
typedef struct RICsubscriptionFailure {
- ProtocolIE_ContainerE2_1407P2_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P2_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICsubscriptionRequest.h"
{ ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P0,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P0,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICsubscriptionRequest_H_
/* RICsubscriptionRequest */
typedef struct RICsubscriptionRequest {
- ProtocolIE_ContainerE2_1407P0_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P0_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICsubscriptionResponse.h"
{ ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P1,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P1,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICsubscriptionResponse_H_
/* RICsubscriptionResponse */
typedef struct RICsubscriptionResponse {
- ProtocolIE_ContainerE2_1407P1_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P1_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICsubsequentAction.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICsubsequentAction_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICsubsequentActionType.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICsubsequentActionType_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "RICtimeToWait.h"
{ 0, 0 },
-1};
asn_per_constraints_t asn_PER_type_RICtimeToWait_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 0, 17 } /* (0..17,...) */,
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 0, 16 } /* (0..16,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_RICtimeToWait_value2enum_1[] = {
- { 0, 4, "zero" },
- { 1, 4, "w1ms" },
- { 2, 4, "w2ms" },
- { 3, 4, "w5ms" },
- { 4, 5, "w10ms" },
- { 5, 5, "w20ms" },
- { 6, 5, "w30ms" },
- { 7, 5, "w40ms" },
- { 8, 5, "w50ms" },
- { 9, 6, "w100ms" },
- { 10, 6, "w200ms" },
- { 11, 6, "w500ms" },
- { 12, 3, "w1s" },
- { 13, 3, "w2s" },
- { 14, 3, "w5s" },
- { 15, 4, "w10s" },
- { 16, 4, "w20s" },
- { 17, 4, "w60s" }
+ { 0, 4, "w1ms" },
+ { 1, 4, "w2ms" },
+ { 2, 4, "w5ms" },
+ { 3, 5, "w10ms" },
+ { 4, 5, "w20ms" },
+ { 5, 5, "w30ms" },
+ { 6, 5, "w40ms" },
+ { 7, 5, "w50ms" },
+ { 8, 6, "w100ms" },
+ { 9, 6, "w200ms" },
+ { 10, 6, "w500ms" },
+ { 11, 3, "w1s" },
+ { 12, 3, "w2s" },
+ { 13, 3, "w5s" },
+ { 14, 4, "w10s" },
+ { 15, 4, "w20s" },
+ { 16, 4, "w60s" }
/* This list is extensible */
};
static const unsigned int asn_MAP_RICtimeToWait_enum2value_1[] = {
- 9, /* w100ms(9) */
- 4, /* w10ms(4) */
- 15, /* w10s(15) */
- 1, /* w1ms(1) */
- 12, /* w1s(12) */
- 10, /* w200ms(10) */
- 5, /* w20ms(5) */
- 16, /* w20s(16) */
- 2, /* w2ms(2) */
- 13, /* w2s(13) */
- 6, /* w30ms(6) */
- 7, /* w40ms(7) */
- 11, /* w500ms(11) */
- 8, /* w50ms(8) */
- 3, /* w5ms(3) */
- 14, /* w5s(14) */
- 17, /* w60s(17) */
- 0 /* zero(0) */
+ 8, /* w100ms(8) */
+ 3, /* w10ms(3) */
+ 14, /* w10s(14) */
+ 0, /* w1ms(0) */
+ 11, /* w1s(11) */
+ 9, /* w200ms(9) */
+ 4, /* w20ms(4) */
+ 15, /* w20s(15) */
+ 1, /* w2ms(1) */
+ 12, /* w2s(12) */
+ 5, /* w30ms(5) */
+ 6, /* w40ms(6) */
+ 10, /* w500ms(10) */
+ 7, /* w50ms(7) */
+ 2, /* w5ms(2) */
+ 13, /* w5s(13) */
+ 16 /* w60s(16) */
/* This list is extensible */
};
const asn_INTEGER_specifics_t asn_SPC_RICtimeToWait_specs_1 = {
asn_MAP_RICtimeToWait_value2enum_1, /* "tag" => N; sorted by tag */
asn_MAP_RICtimeToWait_enum2value_1, /* N => "tag"; sorted by N */
- 18, /* Number of elements in the maps */
- 19, /* Extensions before this member */
+ 17, /* Number of elements in the maps */
+ 18, /* Extensions before this member */
1, /* Strict enumeration */
0, /* Native long size */
0
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _RICtimeToWait_H_
/* Dependencies */
typedef enum RICtimeToWait {
- RICtimeToWait_zero = 0,
- RICtimeToWait_w1ms = 1,
- RICtimeToWait_w2ms = 2,
- RICtimeToWait_w5ms = 3,
- RICtimeToWait_w10ms = 4,
- RICtimeToWait_w20ms = 5,
- RICtimeToWait_w30ms = 6,
- RICtimeToWait_w40ms = 7,
- RICtimeToWait_w50ms = 8,
- RICtimeToWait_w100ms = 9,
- RICtimeToWait_w200ms = 10,
- RICtimeToWait_w500ms = 11,
- RICtimeToWait_w1s = 12,
- RICtimeToWait_w2s = 13,
- RICtimeToWait_w5s = 14,
- RICtimeToWait_w10s = 15,
- RICtimeToWait_w20s = 16,
- RICtimeToWait_w60s = 17
+ RICtimeToWait_w1ms = 0,
+ RICtimeToWait_w2ms = 1,
+ RICtimeToWait_w5ms = 2,
+ RICtimeToWait_w10ms = 3,
+ RICtimeToWait_w20ms = 4,
+ RICtimeToWait_w30ms = 5,
+ RICtimeToWait_w40ms = 6,
+ RICtimeToWait_w50ms = 7,
+ RICtimeToWait_w100ms = 8,
+ RICtimeToWait_w200ms = 9,
+ RICtimeToWait_w500ms = 10,
+ RICtimeToWait_w1s = 11,
+ RICtimeToWait_w2s = 12,
+ RICtimeToWait_w5s = 13,
+ RICtimeToWait_w10s = 14,
+ RICtimeToWait_w20s = 15,
+ RICtimeToWait_w60s = 16
/*
* Enumeration is extensible
*/
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ResetRequest.h"
{ ATF_NOFLAGS, 0, offsetof(struct ResetRequest, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P14,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P21,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ResetRequest_H_
/* ResetRequest */
typedef struct ResetRequest {
- ProtocolIE_ContainerE2_1407P14_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P21_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "ResetResponse.h"
{ ATF_NOFLAGS, 0, offsetof(struct ResetResponse, protocolIEs),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_ProtocolIE_ContainerE2_1407P15,
+ &asn_DEF_ProtocolIE_ContainerE2_1925P22,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Contents"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _ResetResponse_H_
/* ResetResponse */
typedef struct ResetResponse {
- ProtocolIE_ContainerE2_1407P15_t protocolIEs;
+ ProtocolIE_ContainerE2_1925P22_t protocolIEs;
/*
* This type is extensible,
* possible extensions are below.
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Descriptions"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "SuccessfulOutcomeE2.h"
static const long asn_VAL_4_reject = 0;
static const long asn_VAL_5_id_E2setup = 1;
static const long asn_VAL_5_reject = 0;
-static const long asn_VAL_6_id_Reset = 3;
+static const long asn_VAL_6_id_E2nodeConfigurationUpdate = 10;
static const long asn_VAL_6_reject = 0;
-static const long asn_VAL_7_id_RICindication = 5;
-static const long asn_VAL_7_ignore = 1;
-static const long asn_VAL_8_id_RICserviceQuery = 6;
-static const long asn_VAL_8_ignore = 1;
-static const long asn_VAL_9_id_ErrorIndicationE2 = 2;
+static const long asn_VAL_7_id_E2connectionUpdate = 11;
+static const long asn_VAL_7_reject = 0;
+static const long asn_VAL_8_id_Reset = 3;
+static const long asn_VAL_8_reject = 0;
+static const long asn_VAL_9_id_RICindication = 5;
static const long asn_VAL_9_ignore = 1;
+static const long asn_VAL_10_id_RICserviceQuery = 6;
+static const long asn_VAL_10_ignore = 1;
+static const long asn_VAL_11_id_ErrorIndicationE2 = 2;
+static const long asn_VAL_11_ignore = 1;
+static const long asn_VAL_12_id_RICsubscriptionDeleteRequired = 12;
+static const long asn_VAL_12_ignore = 1;
static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = {
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_RICsubscriptionRequest },
{ "&SuccessfulOutcomeE2", aioc__type, &asn_DEF_RICsubscriptionResponse },
{ "&UnsuccessfulOutcomeE2", aioc__type, &asn_DEF_E2setupFailure },
{ "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_5_id_E2setup },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_5_reject },
+ { "&InitiatingMessageE2", aioc__type, &asn_DEF_E2nodeConfigurationUpdate },
+ { "&SuccessfulOutcomeE2", aioc__type, &asn_DEF_E2nodeConfigurationUpdateAcknowledge },
+ { "&UnsuccessfulOutcomeE2", aioc__type, &asn_DEF_E2nodeConfigurationUpdateFailure },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_6_id_E2nodeConfigurationUpdate },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_6_reject },
+ { "&InitiatingMessageE2", aioc__type, &asn_DEF_E2connectionUpdate },
+ { "&SuccessfulOutcomeE2", aioc__type, &asn_DEF_E2connectionUpdateAcknowledge },
+ { "&UnsuccessfulOutcomeE2", aioc__type, &asn_DEF_E2connectionUpdateFailure },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_7_id_E2connectionUpdate },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_7_reject },
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_ResetRequest },
{ "&SuccessfulOutcomeE2", aioc__type, &asn_DEF_ResetResponse },
{ "&UnsuccessfulOutcomeE2", },
- { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_6_id_Reset },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_6_reject },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_8_id_Reset },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_8_reject },
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_RICindication },
{ "&SuccessfulOutcomeE2", },
{ "&UnsuccessfulOutcomeE2", },
- { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_7_id_RICindication },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_7_ignore },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_9_id_RICindication },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_9_ignore },
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_RICserviceQuery },
{ "&SuccessfulOutcomeE2", },
{ "&UnsuccessfulOutcomeE2", },
- { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_8_id_RICserviceQuery },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_8_ignore },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_10_id_RICserviceQuery },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_10_ignore },
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_ErrorIndicationE2 },
{ "&SuccessfulOutcomeE2", },
{ "&UnsuccessfulOutcomeE2", },
- { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_9_id_ErrorIndicationE2 },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_9_ignore }
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_11_id_ErrorIndicationE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_11_ignore },
+ { "&InitiatingMessageE2", aioc__type, &asn_DEF_RICsubscriptionDeleteRequired },
+ { "&SuccessfulOutcomeE2", },
+ { "&UnsuccessfulOutcomeE2", },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_12_id_RICsubscriptionDeleteRequired },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_12_ignore }
};
static const asn_ioc_set_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1[] = {
- { 9, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
+ { 12, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
};
static int
memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
0, 0, /* No default value */
"E2setupResponse"
},
+ { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcomeE2__value, choice.E2nodeConfigurationUpdateAcknowledge),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeConfigurationUpdateAcknowledge,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2nodeConfigurationUpdateAcknowledge"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcomeE2__value, choice.E2connectionUpdateAcknowledge),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2connectionUpdateAcknowledge,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2connectionUpdateAcknowledge"
+ },
{ ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcomeE2__value, choice.ResetResponse),
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
},
};
static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 5 }, /* RICsubscriptionResponse */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 4 }, /* RICsubscriptionDeleteResponse */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 3 }, /* RICserviceUpdateAcknowledge */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 2 }, /* RICcontrolAcknowledge */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 1 }, /* E2setupResponse */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 0 } /* ResetResponse */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 7 }, /* RICsubscriptionResponse */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 6 }, /* RICsubscriptionDeleteResponse */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 5 }, /* RICserviceUpdateAcknowledge */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 4 }, /* RICcontrolAcknowledge */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 3 }, /* E2setupResponse */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 2 }, /* E2nodeConfigurationUpdateAcknowledge */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 1 }, /* E2connectionUpdateAcknowledge */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 0 } /* ResetResponse */
};
static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
sizeof(struct SuccessfulOutcomeE2__value),
offsetof(struct SuccessfulOutcomeE2__value, present),
sizeof(((struct SuccessfulOutcomeE2__value *)0)->present),
asn_MAP_value_tag2el_4,
- 6, /* Count of tags in the map */
+ 8, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
asn_MBR_value_4,
- 6, /* Elements count */
+ 8, /* Elements count */
&asn_SPC_value_specs_4 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Descriptions"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _SuccessfulOutcomeE2_H_
#include "E2setupRequest.h"
#include "E2setupResponse.h"
#include "E2setupFailure.h"
+#include "E2nodeConfigurationUpdate.h"
+#include "E2nodeConfigurationUpdateAcknowledge.h"
+#include "E2nodeConfigurationUpdateFailure.h"
+#include "E2connectionUpdate.h"
+#include "E2connectionUpdateAcknowledge.h"
+#include "E2connectionUpdateFailure.h"
#include "ResetRequest.h"
#include "ResetResponse.h"
#include "RICindication.h"
#include "RICserviceQuery.h"
#include "ErrorIndicationE2.h"
+#include "RICsubscriptionDeleteRequired.h"
#include <OPEN_TYPE.h>
#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
SuccessfulOutcomeE2__value_PR_RICserviceUpdateAcknowledge,
SuccessfulOutcomeE2__value_PR_RICcontrolAcknowledge,
SuccessfulOutcomeE2__value_PR_E2setupResponse,
+ SuccessfulOutcomeE2__value_PR_E2nodeConfigurationUpdateAcknowledge,
+ SuccessfulOutcomeE2__value_PR_E2connectionUpdateAcknowledge,
SuccessfulOutcomeE2__value_PR_ResetResponse
} SuccessfulOutcomeE2__value_PR;
RICserviceUpdateAcknowledge_t RICserviceUpdateAcknowledge;
RICcontrolAcknowledge_t RICcontrolAcknowledge;
E2setupResponse_t E2setupResponse;
+ E2nodeConfigurationUpdateAcknowledge_t E2nodeConfigurationUpdateAcknowledge;
+ E2connectionUpdateAcknowledge_t E2connectionUpdateAcknowledge;
ResetResponse_t ResetResponse;
} choice;
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "TNLinformation.h"
+
+static int
+memb_tnlAddress_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 >= 1 && size <= 160)) {
+ /* 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_tnlPort_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 == 16)) {
+ /* 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_tnlAddress_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..MAX)) */};
+static asn_per_constraints_t asn_PER_memb_tnlAddress_constr_2 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 160 } /* (SIZE(1..160,...)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_tnlPort_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ 16 /* (SIZE(16..16)) */};
+static asn_per_constraints_t asn_PER_memb_tnlPort_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */,
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_TNLinformation_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct TNLinformation, tnlAddress),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ 0,
+ { &asn_OER_memb_tnlAddress_constr_2, &asn_PER_memb_tnlAddress_constr_2, memb_tnlAddress_constraint_1 },
+ 0, 0, /* No default value */
+ "tnlAddress"
+ },
+ { ATF_POINTER, 1, offsetof(struct TNLinformation, tnlPort),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ 0,
+ { &asn_OER_memb_tnlPort_constr_3, &asn_PER_memb_tnlPort_constr_3, memb_tnlPort_constraint_1 },
+ 0, 0, /* No default value */
+ "tnlPort"
+ },
+};
+static const int asn_MAP_TNLinformation_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_TNLinformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_TNLinformation_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tnlAddress */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tnlPort */
+};
+asn_SEQUENCE_specifics_t asn_SPC_TNLinformation_specs_1 = {
+ sizeof(struct TNLinformation),
+ offsetof(struct TNLinformation, _asn_ctx),
+ asn_MAP_TNLinformation_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_TNLinformation_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_TNLinformation = {
+ "TNLinformation",
+ "TNLinformation",
+ &asn_OP_SEQUENCE,
+ asn_DEF_TNLinformation_tags_1,
+ sizeof(asn_DEF_TNLinformation_tags_1)
+ /sizeof(asn_DEF_TNLinformation_tags_1[0]), /* 1 */
+ asn_DEF_TNLinformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_TNLinformation_tags_1)
+ /sizeof(asn_DEF_TNLinformation_tags_1[0]), /* 1 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_TNLinformation_1,
+ 2, /* Elements count */
+ &asn_SPC_TNLinformation_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _TNLinformation_H_
+#define _TNLinformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TNLinformation */
+typedef struct TNLinformation {
+ BIT_STRING_t tnlAddress;
+ BIT_STRING_t *tnlPort; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} TNLinformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TNLinformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_TNLinformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_TNLinformation_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _TNLinformation_H_ */
+#include <asn_internal.h>
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "TNLusage.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_TNLusage_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+asn_per_constraints_t asn_PER_type_TNLusage_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_TNLusage_value2enum_1[] = {
+ { 0, 11, "ric-service" },
+ { 1, 16, "support-function" },
+ { 2, 4, "both" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_TNLusage_enum2value_1[] = {
+ 2, /* both(2) */
+ 0, /* ric-service(0) */
+ 1 /* support-function(1) */
+ /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_TNLusage_specs_1 = {
+ asn_MAP_TNLusage_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_TNLusage_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_TNLusage_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_TNLusage = {
+ "TNLusage",
+ "TNLusage",
+ &asn_OP_NativeEnumerated,
+ asn_DEF_TNLusage_tags_1,
+ sizeof(asn_DEF_TNLusage_tags_1)
+ /sizeof(asn_DEF_TNLusage_tags_1[0]), /* 1 */
+ asn_DEF_TNLusage_tags_1, /* Same as above */
+ sizeof(asn_DEF_TNLusage_tags_1)
+ /sizeof(asn_DEF_TNLusage_tags_1[0]), /* 1 */
+ { &asn_OER_type_TNLusage_constr_1, &asn_PER_type_TNLusage_constr_1, NativeEnumerated_constraint },
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_TNLusage_specs_1 /* Additional specs */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _TNLusage_H_
+#define _TNLusage_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum TNLusage {
+ TNLusage_ric_service = 0,
+ TNLusage_support_function = 1,
+ TNLusage_both = 2
+ /*
+ * Enumeration is extensible
+ */
+} e_TNLusage;
+
+/* TNLusage */
+typedef long TNLusage_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_TNLusage_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_TNLusage;
+extern const asn_INTEGER_specifics_t asn_SPC_TNLusage_specs_1;
+asn_struct_free_f TNLusage_free;
+asn_struct_print_f TNLusage_print;
+asn_constr_check_f TNLusage_constraint;
+ber_type_decoder_f TNLusage_decode_ber;
+der_type_encoder_f TNLusage_encode_der;
+xer_type_decoder_f TNLusage_decode_xer;
+xer_type_encoder_f TNLusage_encode_xer;
+oer_type_decoder_f TNLusage_decode_oer;
+oer_type_encoder_f TNLusage_encode_oer;
+per_type_decoder_f TNLusage_decode_uper;
+per_type_encoder_f TNLusage_encode_uper;
+per_type_decoder_f TNLusage_decode_aper;
+per_type_encoder_f TNLusage_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _TNLusage_H_ */
+#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "TimeToWaitE2.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _TimeToWaitE2_H_
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#include "TransactionID.h"
+
+int
+TransactionID_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_TransactionID_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+static asn_per_constraints_t asn_PER_type_TransactionID_constr_1 CC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 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_TransactionID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_TransactionID = {
+ "TransactionID",
+ "TransactionID",
+ &asn_OP_NativeInteger,
+ asn_DEF_TransactionID_tags_1,
+ sizeof(asn_DEF_TransactionID_tags_1)
+ /sizeof(asn_DEF_TransactionID_tags_1[0]), /* 1 */
+ asn_DEF_TransactionID_tags_1, /* Same as above */
+ sizeof(asn_DEF_TransactionID_tags_1)
+ /sizeof(asn_DEF_TransactionID_tags_1[0]), /* 1 */
+ { &asn_OER_type_TransactionID_constr_1, &asn_PER_type_TransactionID_constr_1, TransactionID_constraint },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
--- /dev/null
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ */
+
+#ifndef _TransactionID_H_
+#define _TransactionID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TransactionID */
+typedef long TransactionID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TransactionID;
+asn_struct_free_f TransactionID_free;
+asn_struct_print_f TransactionID_print;
+asn_constr_check_f TransactionID_constraint;
+ber_type_decoder_f TransactionID_decode_ber;
+der_type_encoder_f TransactionID_encode_der;
+xer_type_decoder_f TransactionID_decode_xer;
+xer_type_encoder_f TransactionID_encode_xer;
+oer_type_decoder_f TransactionID_decode_oer;
+oer_type_encoder_f TransactionID_encode_oer;
+per_type_decoder_f TransactionID_decode_uper;
+per_type_encoder_f TransactionID_encode_uper;
+per_type_decoder_f TransactionID_decode_aper;
+per_type_encoder_f TransactionID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _TransactionID_H_ */
+#include <asn_internal.h>
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-CommonDataTypes"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "TriggeringMessageE2.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-CommonDataTypes"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _TriggeringMessageE2_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "TypeOfErrorE2.h"
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-IEs"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _TypeOfErrorE2_H_
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Descriptions"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#include "UnsuccessfulOutcomeE2.h"
static const long asn_VAL_4_reject = 0;
static const long asn_VAL_5_id_E2setup = 1;
static const long asn_VAL_5_reject = 0;
-static const long asn_VAL_6_id_Reset = 3;
+static const long asn_VAL_6_id_E2nodeConfigurationUpdate = 10;
static const long asn_VAL_6_reject = 0;
-static const long asn_VAL_7_id_RICindication = 5;
-static const long asn_VAL_7_ignore = 1;
-static const long asn_VAL_8_id_RICserviceQuery = 6;
-static const long asn_VAL_8_ignore = 1;
-static const long asn_VAL_9_id_ErrorIndicationE2 = 2;
+static const long asn_VAL_7_id_E2connectionUpdate = 11;
+static const long asn_VAL_7_reject = 0;
+static const long asn_VAL_8_id_Reset = 3;
+static const long asn_VAL_8_reject = 0;
+static const long asn_VAL_9_id_RICindication = 5;
static const long asn_VAL_9_ignore = 1;
+static const long asn_VAL_10_id_RICserviceQuery = 6;
+static const long asn_VAL_10_ignore = 1;
+static const long asn_VAL_11_id_ErrorIndicationE2 = 2;
+static const long asn_VAL_11_ignore = 1;
+static const long asn_VAL_12_id_RICsubscriptionDeleteRequired = 12;
+static const long asn_VAL_12_ignore = 1;
static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = {
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_RICsubscriptionRequest },
{ "&SuccessfulOutcomeE2", aioc__type, &asn_DEF_RICsubscriptionResponse },
{ "&UnsuccessfulOutcomeE2", aioc__type, &asn_DEF_E2setupFailure },
{ "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_5_id_E2setup },
{ "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_5_reject },
+ { "&InitiatingMessageE2", aioc__type, &asn_DEF_E2nodeConfigurationUpdate },
+ { "&SuccessfulOutcomeE2", aioc__type, &asn_DEF_E2nodeConfigurationUpdateAcknowledge },
+ { "&UnsuccessfulOutcomeE2", aioc__type, &asn_DEF_E2nodeConfigurationUpdateFailure },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_6_id_E2nodeConfigurationUpdate },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_6_reject },
+ { "&InitiatingMessageE2", aioc__type, &asn_DEF_E2connectionUpdate },
+ { "&SuccessfulOutcomeE2", aioc__type, &asn_DEF_E2connectionUpdateAcknowledge },
+ { "&UnsuccessfulOutcomeE2", aioc__type, &asn_DEF_E2connectionUpdateFailure },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_7_id_E2connectionUpdate },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_7_reject },
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_ResetRequest },
{ "&SuccessfulOutcomeE2", aioc__type, &asn_DEF_ResetResponse },
{ "&UnsuccessfulOutcomeE2", },
- { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_6_id_Reset },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_6_reject },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_8_id_Reset },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_8_reject },
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_RICindication },
{ "&SuccessfulOutcomeE2", },
{ "&UnsuccessfulOutcomeE2", },
- { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_7_id_RICindication },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_7_ignore },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_9_id_RICindication },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_9_ignore },
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_RICserviceQuery },
{ "&SuccessfulOutcomeE2", },
{ "&UnsuccessfulOutcomeE2", },
- { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_8_id_RICserviceQuery },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_8_ignore },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_10_id_RICserviceQuery },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_10_ignore },
{ "&InitiatingMessageE2", aioc__type, &asn_DEF_ErrorIndicationE2 },
{ "&SuccessfulOutcomeE2", },
{ "&UnsuccessfulOutcomeE2", },
- { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_9_id_ErrorIndicationE2 },
- { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_9_ignore }
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_11_id_ErrorIndicationE2 },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_11_ignore },
+ { "&InitiatingMessageE2", aioc__type, &asn_DEF_RICsubscriptionDeleteRequired },
+ { "&SuccessfulOutcomeE2", },
+ { "&UnsuccessfulOutcomeE2", },
+ { "&procedureCode", aioc__value, &asn_DEF_ProcedureCodeE2, &asn_VAL_12_id_RICsubscriptionDeleteRequired },
+ { "&criticality", aioc__value, &asn_DEF_CriticalityE2, &asn_VAL_12_ignore }
};
static const asn_ioc_set_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1[] = {
- { 9, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
+ { 12, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
};
static int
memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
0, 0, /* No default value */
"E2setupFailure"
},
+ { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcomeE2__value, choice.E2nodeConfigurationUpdateFailure),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2nodeConfigurationUpdateFailure,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2nodeConfigurationUpdateFailure"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcomeE2__value, choice.E2connectionUpdateFailure),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_E2connectionUpdateFailure,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "E2connectionUpdateFailure"
+ },
};
static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 4 }, /* RICsubscriptionFailure */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 3 }, /* RICsubscriptionDeleteFailure */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 2 }, /* RICserviceUpdateFailure */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 1 }, /* RICcontrolFailure */
- { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 0 } /* E2setupFailure */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 6 }, /* RICsubscriptionFailure */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 5 }, /* RICsubscriptionDeleteFailure */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 4 }, /* RICserviceUpdateFailure */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 3 }, /* RICcontrolFailure */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 2 }, /* E2setupFailure */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 1 }, /* E2nodeConfigurationUpdateFailure */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 0 } /* E2connectionUpdateFailure */
};
static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
sizeof(struct UnsuccessfulOutcomeE2__value),
offsetof(struct UnsuccessfulOutcomeE2__value, present),
sizeof(((struct UnsuccessfulOutcomeE2__value *)0)->present),
asn_MAP_value_tag2el_4,
- 5, /* Count of tags in the map */
+ 7, /* Count of tags in the map */
0, 0,
-1 /* Extensions start */
};
0, /* No tags (count) */
{ 0, 0, OPEN_TYPE_constraint },
asn_MBR_value_4,
- 5, /* Elements count */
+ 7, /* Elements count */
&asn_SPC_value_specs_4 /* Additional specs */
};
/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "E2AP-PDU-Descriptions"
- * found in "E2AP.asn1"
- * `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
+ * found in "2022_E2AP.asn1"
+ * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
*/
#ifndef _UnsuccessfulOutcomeE2_H_
#include "E2setupRequest.h"
#include "E2setupResponse.h"
#include "E2setupFailure.h"
+#include "E2nodeConfigurationUpdate.h"
+#include "E2nodeConfigurationUpdateAcknowledge.h"
+#include "E2nodeConfigurationUpdateFailure.h"
+#include "E2connectionUpdate.h"
+#include "E2connectionUpdateAcknowledge.h"
+#include "E2connectionUpdateFailure.h"
#include "ResetRequest.h"
#include "ResetResponse.h"
#include "RICindication.h"
#include "RICserviceQuery.h"
#include "ErrorIndicationE2.h"
+#include "RICsubscriptionDeleteRequired.h"
#include <OPEN_TYPE.h>
#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
UnsuccessfulOutcomeE2__value_PR_RICsubscriptionDeleteFailure,
UnsuccessfulOutcomeE2__value_PR_RICserviceUpdateFailure,
UnsuccessfulOutcomeE2__value_PR_RICcontrolFailure,
- UnsuccessfulOutcomeE2__value_PR_E2setupFailure
+ UnsuccessfulOutcomeE2__value_PR_E2setupFailure,
+ UnsuccessfulOutcomeE2__value_PR_E2nodeConfigurationUpdateFailure,
+ UnsuccessfulOutcomeE2__value_PR_E2connectionUpdateFailure
} UnsuccessfulOutcomeE2__value_PR;
/* UnsuccessfulOutcomeE2 */
RICserviceUpdateFailure_t RICserviceUpdateFailure;
RICcontrolFailure_t RICcontrolFailure;
E2setupFailure_t E2setupFailure;
+ E2nodeConfigurationUpdateFailure_t E2nodeConfigurationUpdateFailure;
+ E2connectionUpdateFailure_t E2connectionUpdateFailure;
} choice;
/* Context for parsing across buffer boundaries */
+++ /dev/null
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- */
-
-#ifndef _ASN_CONSTANT_H
-#define _ASN_CONSTANT_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define maxProtocolIEs (65535)
-#define maxnoofErrors (256)
-#define maxofRANfunctionID (256)
-#define maxofRICactionID (16)
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ASN_CONSTANT_H */
extern "C" {
#endif
+#define maxProtocolIEs (65535)
+#define maxnoofErrors (256)
+#define maxofE2nodeComponents (1024)
+#define maxofRANfunctionID (256)
+#define maxofRICactionID (16)
+#define maxofTNLA (32)
+#define maxofRICrequestID (4294967295)
#define maxSIB (32)
#define maxNrofPhysicalResourceBlocks (275)
#define maxNrofPhysicalResourceBlocks_1 (274)
/* This file contains F1AP message handler functions */
#include "common_def.h"
#include "OCTET_STRING.h"
-#include "BIT_STRING.h"
-#include "odu_common_codec.h"
#include "cu_stub_sctp.h"
+#include "cu_stub_egtp.h"
#include "cu_f1ap_msg_hdl.h"
-#include "legtp.h"
-/*header files needed for Ue Context Setup */
-#include<ProtocolIE-Field.h>
+#include "cu_stub.h"
+
+#include "BIT_STRING.h"
+#include "odu_common_codec.h"
+#include "ProtocolIE-Field.h"
#include "ProtocolExtensionField.h"
#include "ProtocolIE-SingleContainer.h"
#include "F1AP-PDU.h"
#include "UPTransportLayerInformation.h"
#include "GTPTunnel.h"
#include "QoSInformation.h"
+#include "Cells-to-be-Activated-List.h"
+#include "DL-CCCH-Message.h"
+#include "SRB-ToAddModList.h"
+#include "SRB-ToAddMod.h"
+#include "RRCSetup-IEs.h"
+#include "RRCSetup.h"
+#include "DL-DCCH-Message.h"
+#include "RRCReconfiguration-IEs.h"
+#include "RRCReconfiguration.h"
+#include "DRB-ToAddModList.h"
+#include "DRB-ToAddMod.h"
+#include "SDAP-Config.h"
/* MACRO for CUtoDURRCInformation */
#define CELL_GRP_ID 1
* RFAILED - failure
*
* ****************************************************************/
-S16 SendF1APMsg(Region region, Pool pool)
+S16 SendF1APMsg(Region region, Pool pool, uint32_t duId)
{
Buffer *mBuf = NULLP;
{
ODU_PRINT_MSG(mBuf, 0,0);
- if(sctpSend(mBuf) != ROK)
+ if(sctpSend(duId, mBuf) != ROK)
{
DU_LOG("\nERROR --> F1AP : SCTP Send failed");
ODU_PUT_MSG_BUF(mBuf);
* RFAILED - failure
*
* ****************************************************************/
-S16 BuildAndSendF1SetupRsp(BIT_STRING_t *nrcellId)
+uint8_t BuildAndSendF1SetupRsp(uint32_t duId, BIT_STRING_t *nrcellId)
{
uint8_t idx,ieIdx;
uint8_t elementCnt,cellCnt;
f1SetupRsp->protocolIEs.list.array[idx]->value.present = \
F1SetupResponseIEs__value_PR_GNB_CU_Name;
cuName = &f1SetupRsp->protocolIEs.list.array[idx]->value.choice.GNB_CU_Name;
- cuName->size = sizeof(cuCfgParams.cuName);
+ cuName->size = sizeof(cuCb.cuCfgParams.cuName);
CU_ALLOC(cuName->buf, sizeof(cuName->size));
if(cuName->buf == NULLP)
CU_FREE(f1apMsg, sizeof(F1AP_PDU_t));
return RFAILED;
}
- strcpy((char*)cuName->buf, (char*)cuCfgParams.cuName);
+ strcpy((char*)cuName->buf, (char*)cuCb.cuCfgParams.cuName);
/*Cells to be activated list*/
idx++;
CU_FREE(f1apMsg, sizeof(F1AP_PDU_t));
return RFAILED;
}
- buildPlmnId(cuCfgParams.plmn , cellToActivate->list.array[0]->value.choice.\
+ buildPlmnId(cuCb.cuCfgParams.plmn , cellToActivate->list.array[0]->value.choice.\
Cells_to_be_Activated_List_Item.nRCGI.pLMN_Identity.buf);
cellToActivate->list.array[0]->value.choice.Cells_to_be_Activated_List_Item.\
nRCGI.nRCellIdentity.size = 5;
}
/* Need to check RRC Version */
- rrcVer->latest_RRC_Version.buf[0] = cuCfgParams.rrcVersion.rrcVer;
+ rrcVer->latest_RRC_Version.buf[0] = cuCb.cuCfgParams.rrcVersion.rrcVer;
rrcVer->latest_RRC_Version.bits_unused = 5; //TODO: pick from cuCfgParam. If not present, add it
CU_ALLOC(rrcVer->iE_Extensions,sizeof(ProtocolExtensionContainer_4624P81_t));
if(rrcVer->iE_Extensions == NULLP)
}
/* Sending msg */
- if(SendF1APMsg(CU_APP_MEM_REG, CU_POOL) != ROK)
+ if(SendF1APMsg(CU_APP_MEM_REG, CU_POOL, duId) != ROK)
{
DU_LOG("\nERROR --> F1AP : Sending F1 Setup Response failed");
return RFAILED;
*
* ****************************************************************/
-S16 BuildAndSendDUUpdateAck()
+uint8_t BuildAndSendDUUpdateAck(uint32_t duId)
{
uint8_t idx;
uint8_t elementCnt;
}
/* Sending msg */
- if(SendF1APMsg(CU_APP_MEM_REG, CU_POOL) != ROK)
+ /* TODO : Hardcoding DU ID to 1 for messages other than F1 Setup Response. This will be made generic in future gerrit */
+ if(SendF1APMsg(CU_APP_MEM_REG, CU_POOL, duId) != ROK)
{
DU_LOG("\nERROR --> F1AP : Sending GNB-DU Config Update Ack failed");
return RFAILED;
return ROK;
}/* End of BuildAndSendDUUpdateAck*/
+
/*******************************************************************
*
* @brief deallocating the memory of F1reset msg
CU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t));
if(f1apMsg == NULLP)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation for the BuildAndSendF1ResetReq's F1AP-PDU failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation for the BuildAndSendF1ResetReq's F1AP-PDU failed");
+ break;
}
f1apMsg->present = F1AP_PDU_PR_initiatingMessage;
CU_ALLOC(f1apMsg->choice.initiatingMessage, sizeof(InitiatingMessage_t));
if(f1apMsg->choice.initiatingMessage == NULLP)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation for BuildAndSendF1ResetReq failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation for BuildAndSendF1ResetReq failed");
+ break;
}
f1apMsg->choice.initiatingMessage->procedureCode = ProcedureCode_id_Reset;
f1apMsg->choice.initiatingMessage->criticality = Criticality_reject;
CU_ALLOC(f1ResetMsg->protocolIEs.list.array,f1ResetMsg->protocolIEs.list.size);
if(f1ResetMsg->protocolIEs.list.array == NULLP)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation failed for BuildAndSendF1ResetReq");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation failed for BuildAndSendF1ResetReq");
+ break;
}
for(idx=0; idx<elementCnt; idx++)
{
- CU_ALLOC(f1ResetMsg->protocolIEs.list.array[idx],sizeof(ResetIEs_t));
- if(f1ResetMsg->protocolIEs.list.array[idx] == NULLP)
- {
- DU_LOG("\nERROR --> F1AP : Memory allocation failed for BuildAndSendF1ResetReq msg array");
- break;
- }
+ CU_ALLOC(f1ResetMsg->protocolIEs.list.array[idx],sizeof(ResetIEs_t));
+ if(f1ResetMsg->protocolIEs.list.array[idx] == NULLP)
+ {
+ DU_LOG("\nERROR --> F1AP : Memory allocation failed for BuildAndSendF1ResetReq msg array");
+ break;
+ }
}
/*TransactionID*/
memset(encBuf, 0, ENC_BUF_MAX_LEN);
encBufSize = 0;
encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf,\
- encBuf);
+ encBuf);
/* Encode results */
if(encRetVal.encoded == ENCODE_FAIL)
{
- DU_LOG("\nERROR --> F1AP : Could not encode F1Reset structure (at %s)\n",\
- encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
- break;
+ DU_LOG("\nERROR --> F1AP : Could not encode F1Reset structure (at %s)\n",\
+ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+ break;
}
else
{
- DU_LOG("\nDEBUG --> F1AP : Created APER encoded buffer for F1Reset\n");
- for(idx=0; idx< encBufSize; idx++)
- {
- DU_LOG("%x",encBuf[idx]);
- }
+ DU_LOG("\nDEBUG --> F1AP : Created APER encoded buffer for F1Reset\n");
+ for(idx=0; idx< encBufSize; idx++)
+ {
+ DU_LOG("%x",encBuf[idx]);
+ }
}
- if(SendF1APMsg(CU_APP_MEM_REG, CU_POOL) != ROK)
+ /* TODO : Hardcoding DU ID to 1 for messages other than F1 Setup Response. This will be made generic in future gerrit */
+ if(SendF1APMsg(CU_APP_MEM_REG, CU_POOL, DU_ID) != ROK)
{
- DU_LOG("\nERROR --> F1AP : Sending F1 Reset request failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Sending F1 Reset request failed");
+ break;
}
ret = ROK;
*
* ****************************************************************/
-uint8_t fillMasterCellGroup(uint8_t ueId, OCTET_STRING_t *masterCellGroup)
+uint8_t fillMasterCellGroup(CuUeCb *ueCb, OCTET_STRING_t *masterCellGroup)
{
uint8_t ret = ROK;
masterCellGroup->buf = NULLP;
- if(ueCb[ueId-1].f1apMsgDb.duToCuContainer.buf)
+ if(ueCb->f1apMsgDb.duToCuContainer.buf)
{
- masterCellGroup->size = ueCb[ueId-1].f1apMsgDb.duToCuContainer.size;
+ masterCellGroup->size = ueCb->f1apMsgDb.duToCuContainer.size;
CU_ALLOC(masterCellGroup->buf, masterCellGroup->size);
if(masterCellGroup->buf != NULLP)
{
- memcpy(masterCellGroup->buf, ueCb[ueId-1].f1apMsgDb.duToCuContainer.buf,\
- masterCellGroup->size);
+ memcpy(masterCellGroup->buf, ueCb->f1apMsgDb.duToCuContainer.buf, masterCellGroup->size);
}
else
{
- ret = RFAILED;
+ DU_LOG( "\nERROR --> F1AP : Master Cell Group buffer is NULL");
+ ret = RFAILED;
}
}
else
*
* ****************************************************************/
-uint8_t fillRRCSetupIE(uint8_t ueId, RRCSetup_IEs_t *rrcSetupIE)
+uint8_t fillRRCSetupIE(CuUeCb *ueCb, RRCSetup_IEs_t *rrcSetupIE)
{
uint8_t ret = ROK;
if(rrcSetupIE)
CU_ALLOC(rrcSetupIE->radioBearerConfig.srb_ToAddModList, sizeof(SRB_ToAddModList_t));
if(rrcSetupIE->radioBearerConfig.srb_ToAddModList != NULLP)
{
- ret = fillSrbCfg(SRB1, rrcSetupIE->radioBearerConfig.srb_ToAddModList);
+ ret = fillSrbCfg(SRB1, rrcSetupIE->radioBearerConfig.srb_ToAddModList);
}
if(ret == ROK)
{
- ret = fillMasterCellGroup(ueId, &rrcSetupIE->masterCellGroup);
+ ret = fillMasterCellGroup(ueCb, &rrcSetupIE->masterCellGroup);
}
else
{
- CU_FREE(rrcSetupIE->radioBearerConfig.srb_ToAddModList, sizeof(SRB_ToAddModList_t));
- ret = RFAILED;
+ CU_FREE(rrcSetupIE->radioBearerConfig.srb_ToAddModList, sizeof(SRB_ToAddModList_t));
+ ret = RFAILED;
}
}
return ret;
*
* ****************************************************************/
-uint8_t fillDlCcchRrcMsg(uint8_t ueId, RRCContainer_t *rrcContainer)
+uint8_t fillDlCcchRrcMsg(CuUeCb *ueCb, RRCContainer_t *rrcContainer)
{
uint8_t ret = ROK;
uint16_t idx2;
DL_CCCH_Message_t dl_CCCH_Msg;
- asn_enc_rval_t encRetVal;
+ asn_enc_rval_t encRetVal;
if(rrcContainer != NULLP)
{
if(dl_CCCH_Msg.message.choice.c1->choice.rrcSetup != NULLP)
{
dl_CCCH_Msg.message.choice.c1->choice.rrcSetup->rrc_TransactionIdentifier = 0;
- dl_CCCH_Msg.message.choice.c1->choice.rrcSetup->criticalExtensions.\
- present = RRCSetup__criticalExtensions_PR_rrcSetup;
+ dl_CCCH_Msg.message.choice.c1->choice.rrcSetup->criticalExtensions.present = \
+ RRCSetup__criticalExtensions_PR_rrcSetup;
+
/* Fill RRC Setup IE */
- CU_ALLOC(dl_CCCH_Msg.message.choice.c1->choice.rrcSetup->\
- criticalExtensions.choice.rrcSetup, sizeof(RRCSetup_IEs_t));
- if(dl_CCCH_Msg.message.choice.c1->choice.rrcSetup->\
- criticalExtensions.choice.rrcSetup != NULLP)
+ CU_ALLOC(dl_CCCH_Msg.message.choice.c1->choice.rrcSetup->criticalExtensions.choice.rrcSetup, \
+ sizeof(RRCSetup_IEs_t));
+ if(dl_CCCH_Msg.message.choice.c1->choice.rrcSetup->criticalExtensions.choice.rrcSetup != NULLP)
{
- ret = fillRRCSetupIE(ueId, dl_CCCH_Msg.message.choice.c1->choice.rrcSetup->\
- criticalExtensions.choice.rrcSetup);
+ ret = fillRRCSetupIE(ueCb, dl_CCCH_Msg.message.choice.c1->choice.rrcSetup->criticalExtensions.choice.rrcSetup);
if(ret == ROK)
{
*
* ****************************************************************/
-uint8_t BuildDLRRCContainer(uint8_t ueId, uint8_t rrcMsgType, RRCContainer_t *rrcContainer)
+uint8_t BuildDLRRCContainer(CuUeCb *ueCb, uint8_t rrcMsgType, RRCContainer_t *rrcContainer)
{
uint8_t ret, bufLen;
ret =ROK;
if(rrcMsgType == RRC_SETUP)
{
- ret = fillDlCcchRrcMsg(ueId, rrcContainer);
+ ret = fillDlCcchRrcMsg(ueCb, rrcContainer);
if(ret == RFAILED)
- DU_LOG("\nERROR --> F1AP: Failed to fill DL-CCCH Msg at RRC SETUP");
+ DU_LOG("\nERROR --> F1AP: Failed to fill DL-CCCH Msg at RRC SETUP");
}
else if(rrcMsgType == REGISTRATION_ACCEPT)
{
CU_ALLOC(rrcContainer->buf, rrcContainer->size);
if(rrcContainer->buf != NULLP)
{
- memset(rrcContainer->buf, 0, bufLen);
- memcpy(rrcContainer->buf, buf, bufLen);
+ memset(rrcContainer->buf, 0, bufLen);
+ memcpy(rrcContainer->buf, buf, bufLen);
+ }
+ else
+ {
+ DU_LOG("\nERROR --> F1AP : Memory allocation failure for RRC Container buffer");
+ ret = RFAILED;
}
}
else if(rrcMsgType == RRC_RECONFIG)
{
/*Hardcoded RRC Container from reference logs*/
char buf[196]= {
- 0x00, 0x04, 0x00, 0xaa, 0x80, 0x40, 0x9a, 0x05, 0x20, 0x00, 0x05, 0xeb, 0xc0, 0x51, 0x50, 0x00,
- 0x03, 0x00, 0x03, 0xf7, 0x56, 0xec, 0x7f, 0x08, 0x42, 0x10, 0x80, 0x00, 0x10, 0x21, 0x47, 0x84,
- 0xd1, 0x00, 0x00, 0x00, 0x02, 0x81, 0x5d, 0x10, 0x0a, 0xc2, 0x44, 0x40, 0x2b, 0xb2, 0x07, 0x41,
- 0x87, 0xa8, 0x02, 0xc7, 0x00, 0x88, 0x05, 0x76, 0x40, 0xe8, 0x30, 0xf5, 0x40, 0x4c, 0x00, 0x10,
- 0x02, 0x00, 0xa5, 0x83, 0xe0, 0x60, 0x02, 0x10, 0x72, 0x01, 0x0c, 0xa0, 0xa0, 0xd8, 0x00, 0x00,
- 0x00, 0x01, 0x0f, 0x02, 0x3c, 0x01, 0x80, 0x10, 0x82, 0xb0, 0x40, 0x00, 0x00, 0x02, 0x1e, 0x04,
- 0x78, 0x07, 0x00, 0x21, 0x05, 0x61, 0x00, 0x00, 0x00, 0x04, 0x3c, 0x08, 0xf0, 0x16, 0x00, 0x42,
- 0x0a, 0xc3, 0x00, 0x00, 0x00, 0x08, 0x78, 0x11, 0xe0, 0x3c, 0x00, 0x84, 0x14, 0x00, 0x07, 0xe5,
- 0xc0, 0xa0, 0xd8, 0x42, 0x20, 0x02, 0x80, 0xa0, 0x02, 0x24, 0x47, 0xa0, 0x20, 0x27, 0xa1, 0x22,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x24, 0x41, 0x20, 0xc0, 0x80, 0x00, 0x20, 0x80,
- 0x00, 0x25, 0x20, 0xa0, 0x38, 0x00, 0x00, 0x00, 0x44, 0xa2, 0x82, 0x69, 0xee, 0x0c, 0xad, 0xca,
- 0x4c, 0x2c, 0x8d, 0x2e, 0x6f, 0x2e, 0x69, 0x2d, 0xce, 0x8c, 0xae, 0x4d, 0xcc, 0xae, 0x80, 0x00,
- 0x00, 0x00, 0x00, 0x00};
+ 0x00, 0x04, 0x00, 0xaa, 0x80, 0x40, 0x9a, 0x05, 0x20, 0x00, 0x05, 0xeb, 0xc0, 0x51, 0x50, 0x00,
+ 0x03, 0x00, 0x03, 0xf7, 0x56, 0xec, 0x7f, 0x08, 0x42, 0x10, 0x80, 0x00, 0x10, 0x21, 0x47, 0x84,
+ 0xd1, 0x00, 0x00, 0x00, 0x02, 0x81, 0x5d, 0x10, 0x0a, 0xc2, 0x44, 0x40, 0x2b, 0xb2, 0x07, 0x41,
+ 0x87, 0xa8, 0x02, 0xc7, 0x00, 0x88, 0x05, 0x76, 0x40, 0xe8, 0x30, 0xf5, 0x40, 0x4c, 0x00, 0x10,
+ 0x02, 0x00, 0xa5, 0x83, 0xe0, 0x60, 0x02, 0x10, 0x72, 0x01, 0x0c, 0xa0, 0xa0, 0xd8, 0x00, 0x00,
+ 0x00, 0x01, 0x0f, 0x02, 0x3c, 0x01, 0x80, 0x10, 0x82, 0xb0, 0x40, 0x00, 0x00, 0x02, 0x1e, 0x04,
+ 0x78, 0x07, 0x00, 0x21, 0x05, 0x61, 0x00, 0x00, 0x00, 0x04, 0x3c, 0x08, 0xf0, 0x16, 0x00, 0x42,
+ 0x0a, 0xc3, 0x00, 0x00, 0x00, 0x08, 0x78, 0x11, 0xe0, 0x3c, 0x00, 0x84, 0x14, 0x00, 0x07, 0xe5,
+ 0xc0, 0xa0, 0xd8, 0x42, 0x20, 0x02, 0x80, 0xa0, 0x02, 0x24, 0x47, 0xa0, 0x20, 0x27, 0xa1, 0x22,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x24, 0x41, 0x20, 0xc0, 0x80, 0x00, 0x20, 0x80,
+ 0x00, 0x25, 0x20, 0xa0, 0x38, 0x00, 0x00, 0x00, 0x44, 0xa2, 0x82, 0x69, 0xee, 0x0c, 0xad, 0xca,
+ 0x4c, 0x2c, 0x8d, 0x2e, 0x6f, 0x2e, 0x69, 0x2d, 0xce, 0x8c, 0xae, 0x4d, 0xcc, 0xae, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00};
bufLen =196;
rrcContainer->size = bufLen;
CU_ALLOC(rrcContainer->buf, rrcContainer->size);
if(rrcContainer->buf != NULLP)
{
- memset(rrcContainer->buf, 0, bufLen);
- memcpy(rrcContainer->buf, buf, bufLen);
+ memset(rrcContainer->buf, 0, bufLen);
+ memcpy(rrcContainer->buf, buf, bufLen);
+ }
+ else
+ {
+ DU_LOG("\nERROR --> F1AP : Memory allocation failure for RRC Container buffer");
+ ret = RFAILED;
}
}
return ret;
}
+/*******************************************************************
+ *
+ * @brief Frees the DLRRCMessageTransfer
+ *
+ * @details
+ *
+ * Function : freeDlRrcMessageTransfer
+ *
+ * Functionality: Frees the DLRRCMessageTransfer
+ *
+ * @params[in]
+ *
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ * ****************************************************************/
+void freeDlRrcMessageTransfer(F1AP_PDU_t *f1apMsg)
+{
+ uint8_t idx=0;
+ DLRRCMessageTransfer_t *dlRRCMsg = NULLP;
+
+ if(f1apMsg)
+ {
+ dlRRCMsg = &f1apMsg->choice.initiatingMessage->value.choice.DLRRCMessageTransfer;
+ if(dlRRCMsg->protocolIEs.list.array)
+ {
+ idx = 3;
+ CU_FREE(dlRRCMsg->protocolIEs.list.array[idx]->value.choice.RRCContainer.buf, \
+ dlRRCMsg->protocolIEs.list.array[idx]->value.choice.RRCContainer.size);
+ for(idx=0; idx<dlRRCMsg->protocolIEs.list.count; idx++)
+ {
+ CU_FREE(dlRRCMsg->protocolIEs.list.array[idx], sizeof(DLRRCMessageTransferIEs_t));
+ }
+ CU_FREE(dlRRCMsg->protocolIEs.list.array, dlRRCMsg->protocolIEs.list.size);
+ }
+ CU_FREE(f1apMsg, sizeof(F1AP_PDU_t));
+ }
+}
+
/*******************************************************************
*
* @brief Builds and sends the DLRRCMessageTransfer
* RFAILED - failure
*
* ****************************************************************/
-uint8_t BuildAndSendDLRRCMessageTransfer(uint8_t ueId, uint8_t srbId, uint8_t rrcMsgType)
+uint8_t BuildAndSendDLRRCMessageTransfer(uint32_t duId, CuUeCb *ueCb, uint8_t srbId, uint8_t rrcMsgType)
{
uint8_t elementCnt = 0;
uint8_t ieId;
}
f1apMsg->present = F1AP_PDU_PR_initiatingMessage;
- CU_ALLOC(f1apMsg->choice.initiatingMessage,
- sizeof(InitiatingMessage_t));
+ CU_ALLOC(f1apMsg->choice.initiatingMessage, sizeof(InitiatingMessage_t));
if(f1apMsg->choice.initiatingMessage == NULLP)
{
DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed");
CU_ALLOC(dlRRCMsg->protocolIEs.list.array[idx], sizeof(DLRRCMessageTransferIEs_t));
if(dlRRCMsg->protocolIEs.list.array[idx] == NULLP)
{
- for(ieId=0; ieId<idx; ieId++)
- {
- CU_FREE(dlRRCMsg->protocolIEs.list.array[ieId],\
- sizeof(DLRRCMessageTransferIEs_t));
- }
- CU_FREE(dlRRCMsg->protocolIEs.list.array,\
- dlRRCMsg->protocolIEs.list.size);
- CU_FREE(f1apMsg->choice.initiatingMessage,\
- sizeof(InitiatingMessage_t));
- CU_FREE(f1apMsg,sizeof(F1AP_PDU_t));
- return RFAILED;
+ for(ieId=0; ieId<idx; ieId++)
+ {
+ CU_FREE(dlRRCMsg->protocolIEs.list.array[ieId], sizeof(DLRRCMessageTransferIEs_t));
+ }
+ CU_FREE(dlRRCMsg->protocolIEs.list.array, dlRRCMsg->protocolIEs.list.size);
+ CU_FREE(f1apMsg->choice.initiatingMessage, sizeof(InitiatingMessage_t));
+ CU_FREE(f1apMsg,sizeof(F1AP_PDU_t));
+ return RFAILED;
}
}
/* GNB CU UE F1AP ID */
idx = 0;
dlRRCMsg->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_gNB_CU_UE_F1AP_ID;
- dlRRCMsg->protocolIEs.list.array[idx]->criticality = Criticality_reject;
- dlRRCMsg->protocolIEs.list.array[idx]->value.present = \
- DLRRCMessageTransferIEs__value_PR_GNB_CU_UE_F1AP_ID;
- dlRRCMsg->protocolIEs.list.array[idx]->value.choice.GNB_CU_UE_F1AP_ID = ueId;
+ dlRRCMsg->protocolIEs.list.array[idx]->criticality = Criticality_reject;
+ dlRRCMsg->protocolIEs.list.array[idx]->value.present = DLRRCMessageTransferIEs__value_PR_GNB_CU_UE_F1AP_ID;
+ dlRRCMsg->protocolIEs.list.array[idx]->value.choice.GNB_CU_UE_F1AP_ID = ueCb->gnbCuUeF1apId;
/* GNB DU UE F1AP ID */
idx++;
- dlRRCMsg->protocolIEs.list.array[idx]->id = \
- ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID;
- dlRRCMsg->protocolIEs.list.array[idx]->criticality = Criticality_reject;
- dlRRCMsg->protocolIEs.list.array[idx]->value.present = \
- DLRRCMessageTransferIEs__value_PR_GNB_DU_UE_F1AP_ID;
- dlRRCMsg->protocolIEs.list.array[idx]->value.choice.GNB_DU_UE_F1AP_ID = ueId;
+ dlRRCMsg->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID;
+ dlRRCMsg->protocolIEs.list.array[idx]->criticality = Criticality_reject;
+ dlRRCMsg->protocolIEs.list.array[idx]->value.present = DLRRCMessageTransferIEs__value_PR_GNB_DU_UE_F1AP_ID;
+ dlRRCMsg->protocolIEs.list.array[idx]->value.choice.GNB_DU_UE_F1AP_ID = ueCb->gnbDuUeF1apId;;
/* SRBID */
idx++;
dlRRCMsg->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_SRBID;
- dlRRCMsg->protocolIEs.list.array[idx]->criticality = Criticality_reject;
- dlRRCMsg->protocolIEs.list.array[idx]->value.present = \
- DLRRCMessageTransferIEs__value_PR_SRBID;
+ dlRRCMsg->protocolIEs.list.array[idx]->criticality = Criticality_reject;
+ dlRRCMsg->protocolIEs.list.array[idx]->value.present = DLRRCMessageTransferIEs__value_PR_SRBID;
dlRRCMsg->protocolIEs.list.array[idx]->value.choice.SRBID = srbId;
/* RRCContainer */
idx++;
dlRRCMsg->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_RRCContainer;
- dlRRCMsg->protocolIEs.list.array[idx]->criticality = Criticality_reject;
- dlRRCMsg->protocolIEs.list.array[idx]->value.present = \
- DLRRCMessageTransferIEs__value_PR_RRCContainer;
- BuildDLRRCContainer(ueId, rrcMsgType, &dlRRCMsg->protocolIEs.list.array[idx]->value.choice.RRCContainer);
+ dlRRCMsg->protocolIEs.list.array[idx]->criticality = Criticality_reject;
+ dlRRCMsg->protocolIEs.list.array[idx]->value.present = DLRRCMessageTransferIEs__value_PR_RRCContainer;
+ BuildDLRRCContainer(ueCb, rrcMsgType, &dlRRCMsg->protocolIEs.list.array[idx]->value.choice.RRCContainer);
xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
memset(encBuf, 0, ENC_BUF_MAX_LEN);
encBufSize = 0;
encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf,\
- encBuf);
+ encBuf);
/* Encode results */
if(encRetVal.encoded == ENCODE_FAIL)
{
DU_LOG( "\nERROR --> F1AP : Could not encode DL RRC Message Transfer structure (at %s)\n",\
- encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
return RFAILED;
}
else
DU_LOG("\nDEBUG --> F1AP : Created APER encoded buffer for DL RRC Message transfer\n");
for(int i=0; i< encBufSize; i++)
{
- DU_LOG("%x",encBuf[i]);
+ DU_LOG("%x",encBuf[i]);
}
}
/* Sending msg */
- if(SendF1APMsg(CU_APP_MEM_REG,CU_POOL) != ROK)
+ if(SendF1APMsg(CU_APP_MEM_REG,CU_POOL, duId) != ROK)
{
DU_LOG("\nERROR --> F1AP : Sending DL RRC Message Transfer Failed");
return RFAILED;
}
-
+ freeDlRrcMessageTransfer(f1apMsg);
return ROK;
}/* End of BuildAndSendDLRRCMessageTransfer */
*
* ****************************************************************/
-uint8_t setDlRRCMsgType(uint8_t ueId)
+uint8_t setDlRRCMsgType(CuUeCb *ueCb)
{
uint8_t rrcMsgType = 0;
- switch(ueCb[ueId -1].f1apMsgDb.dlRrcMsgCount)
+ switch(ueCb->f1apMsgDb.dlRrcMsgCount)
{
case RRC_SETUP:
rrcMsgType = RRC_SETUP;
*
* ****************************************************************/
-uint8_t procInitULRRCMsg(F1AP_PDU_t *f1apMsg)
+uint8_t procInitULRRCMsg(uint32_t duId, F1AP_PDU_t *f1apMsg)
{
uint8_t idx, rrcMsgType, gnbDuUeF1apId;
uint8_t ret =ROK;
+ uint32_t nrCellId, crnti;
+ DuDb *duDb;
+ CuCellCb *cellCb;
+ CuUeCb *ueCb;
InitialULRRCMessageTransfer_t *initULRRCMsg = NULLP;
+
DU_LOG("\nINFO --> F1AP : filling the required values in DB in procInitULRRCMsg");
+ duDb = getDuDb(duId);
initULRRCMsg = &f1apMsg->choice.initiatingMessage->value.choice.InitialULRRCMessageTransfer;
for(idx=0; idx < initULRRCMsg->protocolIEs.list.count; idx++)
case ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID:
gnbDuUeF1apId = initULRRCMsg->protocolIEs.list.array[idx]->value.choice.GNB_DU_UE_F1AP_ID;
break;
+
case ProtocolIE_ID_id_NRCGI:
+ nrCellId = initULRRCMsg->protocolIEs.list.array[idx]->value.choice.NRCGI.nRCellIdentity.buf[4] >>
+ initULRRCMsg->protocolIEs.list.array[idx]->value.choice.NRCGI.nRCellIdentity.bits_unused;
+ cellCb = getCellCb(duDb, nrCellId);
+ if(cellCb == NULLP)
+ return RFAILED;
break;
+
case ProtocolIE_ID_id_C_RNTI:
+ crnti = initULRRCMsg->protocolIEs.list.array[idx]->value.choice.C_RNTI;
+ if(duDb->ueCb[gnbDuUeF1apId-1].gnbDuUeF1apId == 0)
+ {
+ ueCb = &duDb->ueCb[gnbDuUeF1apId-1];
+ memset(ueCb, 0, sizeof(CuUeCb));
+ ueCb->cellCb = cellCb;
+ ueCb->crnti = crnti;
+ ueCb->gnbDuUeF1apId = gnbDuUeF1apId;
+ ueCb->gnbCuUeF1apId = ++cuCb.gnbCuUeF1apIdGenerator;
+ (duDb->numUe)++;
+
+ cellCb->ueCb[cellCb->numUe] = ueCb;
+ cellCb->numUe++;
+ }
break;
+
case ProtocolIE_ID_id_RRCContainer:
break;
+
case ProtocolIE_ID_id_DUtoCURRCContainer:
{
- if((initULRRCMsg->protocolIEs.list.array[idx]->value.choice\
- .DUtoCURRCContainer.size > 0) && (initULRRCMsg->protocolIEs\
- .list.array[idx]->value.choice.DUtoCURRCContainer.buf != NULLP))
+ if((initULRRCMsg->protocolIEs.list.array[idx]->value.choice.DUtoCURRCContainer.size > 0) && \
+ (initULRRCMsg->protocolIEs.list.array[idx]->value.choice.DUtoCURRCContainer.buf != NULLP))
{
DU_LOG("\nINFO --> Received Du to Cu RRC Container ");
- ueCb[gnbDuUeF1apId-1].ueId = gnbDuUeF1apId;
- ueCb[gnbDuUeF1apId-1].f1apMsgDb.duToCuContainer.size = initULRRCMsg->protocolIEs\
- .list.array[idx]->value.choice.DUtoCURRCContainer.size;
- CU_ALLOC(ueCb[gnbDuUeF1apId-1].f1apMsgDb.duToCuContainer.buf, \
- ueCb[gnbDuUeF1apId-1].f1apMsgDb.duToCuContainer.size);
- if(ueCb[gnbDuUeF1apId-1].f1apMsgDb.duToCuContainer.buf != NULLP)
+ ueCb->f1apMsgDb.duToCuContainer.size = initULRRCMsg->protocolIEs.list.array[idx]->value.choice.DUtoCURRCContainer.size;
+ CU_ALLOC(ueCb->f1apMsgDb.duToCuContainer.buf, ueCb->f1apMsgDb.duToCuContainer.size);
+ if(ueCb->f1apMsgDb.duToCuContainer.buf != NULLP)
{
- memcpy(ueCb[gnbDuUeF1apId-1].f1apMsgDb.duToCuContainer.buf, initULRRCMsg->protocolIEs\
- .list.array[idx]->value.choice.DUtoCURRCContainer.buf, ueCb[gnbDuUeF1apId-1].f1apMsgDb\
- .duToCuContainer.size);
+ memcpy(ueCb->f1apMsgDb.duToCuContainer.buf, \
+ initULRRCMsg->protocolIEs.list.array[idx]->value.choice.DUtoCURRCContainer.buf, \
+ ueCb->f1apMsgDb.duToCuContainer.size);
}
}
else
}
break;
}
+
default:
DU_LOG("\nERROR --> Invalid Event %ld", initULRRCMsg->protocolIEs.list.array[idx]->id);
break;
}
}
+
if(ret == ROK)
{
- ueCb[gnbDuUeF1apId-1].f1apMsgDb.dlRrcMsgCount++;
- rrcMsgType = setDlRRCMsgType(gnbDuUeF1apId);
- ret = BuildAndSendDLRRCMessageTransfer(gnbDuUeF1apId, SRB0, rrcMsgType);
+ ueCb->f1apMsgDb.dlRrcMsgCount++;
+ rrcMsgType = setDlRRCMsgType(ueCb);
+ ret = BuildAndSendDLRRCMessageTransfer(duId, ueCb, SRB0, rrcMsgType);
}
return ret;
}
* RFAILED - failure
*
* ****************************************************************/
-uint8_t BuildNrcgi(NRCGI_t *nrcgi)
+uint8_t BuildNrcgi(NRCGI_t *nrcgi, uint32_t nrCellId)
{
uint8_t ret;
uint8_t unused_bits = 4;
uint8_t byteSize = 5;
- uint8_t val = 16;
+ uint8_t val = nrCellId << unused_bits;
+
/* Allocate Buffer Memory */
nrcgi->pLMN_Identity.size = 3 * sizeof(uint8_t);
CU_ALLOC(nrcgi->pLMN_Identity.buf, nrcgi->pLMN_Identity.size);
{
return RFAILED;
}
- ret = buildPlmnId(cuCfgParams.plmn , nrcgi->pLMN_Identity.buf);
+ ret = buildPlmnId(cuCb.cuCfgParams.plmn , nrcgi->pLMN_Identity.buf);
if(ret != ROK)
{
* RFAILED - failure
*
* ****************************************************************/
-uint8_t BuildSplCellList(SCell_ToBeSetup_List_t *spCellLst)
+uint8_t BuildSplCellList(CuUeCb *ueCb, SCell_ToBeSetup_List_t *spCellLst)
{
uint8_t cellCnt;
uint8_t idx;
idx = 0;
spCellLst->list.array[idx]->id = ProtocolIE_ID_id_SCell_ToBeSetup_Item;
spCellLst->list.array[idx]->criticality = Criticality_ignore;
- spCellLst->list.array[idx]->value.present =\
- SCell_ToBeSetup_ItemIEs__value_PR_SCell_ToBeSetup_Item;
+ spCellLst->list.array[idx]->value.present = SCell_ToBeSetup_ItemIEs__value_PR_SCell_ToBeSetup_Item;
+
/* Special Cell ID -NRCGI */
- ret = BuildNrcgi(&spCellLst->list.array[idx]->value.choice.SCell_ToBeSetup_Item.sCell_ID);
+ ret = BuildNrcgi(&spCellLst->list.array[idx]->value.choice.SCell_ToBeSetup_Item.sCell_ID, ueCb->cellCb->nrCellId);
if(ret != ROK)
{
return RFAILED;
{
uint8_t idx;
uint8_t srbCnt;
+
srbCnt = 1;
srbSet->list.count = srbCnt;
srbSet->list.size = srbCnt*sizeof(SRBs_ToBeSetup_ItemIEs_t *);
{
return RFAILED;
}
+
for(idx=0; idx<srbCnt; idx++)
{
CU_ALLOC(srbSet->list.array[idx],sizeof(SRBs_ToBeSetup_ItemIEs_t));
return RFAILED;
}
}
+
idx = 0;
srbSet->list.array[idx]->id = ProtocolIE_ID_id_SRBs_ToBeSetup_Item;
srbSet->list.array[idx]->criticality = Criticality_ignore;
- srbSet->list.array[idx]->value.present = \
- SRBs_ToBeSetup_ItemIEs__value_PR_SRBs_ToBeSetup_Item;
+ srbSet->list.array[idx]->value.present = SRBs_ToBeSetup_ItemIEs__value_PR_SRBs_ToBeSetup_Item;
srbSet->list.array[idx]->value.choice.SRBs_ToBeSetup_Item.sRBID = 2;
return ROK;
}/* End of BuildSRBSetup*/
ulInfo->list.array[idx]->uLUPTNLInformation.choice.gTPTunnel->\
gTP_TEID.buf[2] = 0;
ulInfo->list.array[idx]->uLUPTNLInformation.choice.gTPTunnel->\
- gTP_TEID.buf[3] = cuCfgParams.egtpParams.currTunnelId++;
+ gTP_TEID.buf[3] = cuCb.cuCfgParams.egtpParams.currTunnelId++;
return ROK;
}/*End of BuildULTnlInfo*/
}
/*SNSSAI*/
BuildSNSSAIret = BuildSNSSAI(&drbSetItem->qoSInformation.choice.\
- choice_extension->value.choice.DRB_Information.sNSSAI, cuCfgParams.snssaiList[0]);
+ choice_extension->value.choice.DRB_Information.sNSSAI, cuCb.snssaiList[0]);
if(BuildSNSSAIret != ROK)
{
DU_LOG("\nERROR --> F1AP : Failed to build SNSSAI Info in BuildDRBSetup");
CU_ALLOC(tagList->list.array[idx], sizeof(struct TAG));
if(!tagList->list.array[idx])
{
- DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildTagConfig");
- return RFAILED;
+ DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildTagConfig");
+ return RFAILED;
}
}
CU_ALLOC(schReqList->list.array[idx], sizeof(struct SchedulingRequestToAddMod));
if(!schReqList->list.array[idx])
{
- DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSchedulingReqConfig");
- return RFAILED;
+ DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSchedulingReqConfig");
+ return RFAILED;
}
}
CU_ALLOC(cellGrpCfg.rlc_BearerToAddModList, sizeof(struct CellGroupConfigRrc__rlc_BearerToAddModList));
if(!cellGrpCfg.rlc_BearerToAddModList)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation failure in CellGrpConfig");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation failure in CellGrpConfig");
+ break;
}
if(BuildRlcBearerToAddModList(cellGrpCfg.rlc_BearerToAddModList) != ROK)
{
- DU_LOG("\nERROR --> F1AP : fillCellGrpCfg failed");
- break;
+ DU_LOG("\nERROR --> F1AP : fillCellGrpCfg failed");
+ break;
}
cellGrpCfg.rlc_BearerToReleaseList = NULLP;
CU_ALLOC(cellGrpCfg.mac_CellGroupConfig, sizeof(MAC_CellGroupConfig_t));
if(!cellGrpCfg.mac_CellGroupConfig)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation failure in fillCellGrpCfg");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation failure in fillCellGrpCfg");
+ break;
}
if(BuildMacCellGrpCfg(cellGrpCfg.mac_CellGroupConfig) != ROK)
{
- DU_LOG("\nERROR --> F1AP : BuildMacCellGrpCfg failed");
- break;
+ DU_LOG("\nERROR --> F1AP : BuildMacCellGrpCfg failed");
+ break;
}
-
cellGrpCfg.physicalCellGroupConfig = NULLP;
CU_ALLOC(cellGrpCfg.physicalCellGroupConfig, sizeof(PhysicalCellGroupConfig_t));
if(!cellGrpCfg.physicalCellGroupConfig)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildDuToCuRrcContainer");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildDuToCuRrcContainer");
+ break;
}
if(BuildPhyCellGrpCfg(cellGrpCfg.physicalCellGroupConfig) != ROK)
{
- DU_LOG("\nERROR --> F1AP : BuildPhyCellGrpCfg failed");
- break;
+ DU_LOG("\nERROR --> F1AP : BuildPhyCellGrpCfg failed");
+ break;
}
cellGrpCfg.spCellConfig = NULLP;
CU_ALLOC(cellGrpCfg.spCellConfig, sizeof(SpCellConfig_t));
if(!cellGrpCfg.spCellConfig)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildDuToCuRrcContainer");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildDuToCuRrcContainer");
+ break;
}
if(BuildSpCellCfg(cellGrpCfg.spCellConfig) != ROK)
{
- DU_LOG("\nERROR --> F1AP : BuildSpCellCfg failed");
- break;
+ DU_LOG("\nERROR --> F1AP : BuildSpCellCfg failed");
+ break;
}
cellGrpCfg.sCellToAddModList = NULLP;
/* Encode results */
if(encRetVal.encoded == ENCODE_FAIL)
{
- DU_LOG( "\nERROR --> F1AP : Could not encode DuToCuRrcContainer (at %s)\n",\
- encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
- break;
+ DU_LOG( "\nERROR --> F1AP : Could not encode DuToCuRrcContainer (at %s)\n",\
+ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+ break;
}
else
{
- DU_LOG("\nDEBUG --> F1AP : Created APER encodedbuffer for DuToCuRrcContainer\n");
- for(int i=0; i< encBufSize; i++)
- {
- DU_LOG("%x",encBuf[i]);
- }
+ DU_LOG("\nDEBUG --> F1AP : Created APER encodedbuffer for DuToCuRrcContainer\n");
+ for(int i=0; i< encBufSize; i++)
+ {
+ DU_LOG("%x",encBuf[i]);
+ }
}
cellGrp->size = encBufSize;
CU_ALLOC(cellGrp->buf, cellGrp->size);
if(!cellGrp->buf)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildDuToCuRrcContainer");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildDuToCuRrcContainer");
+ break;
}
memcpy(cellGrp->buf, encBuf, cellGrp->size);
ret = ROK;
break;
}
FreeMemCellGrpCfg(&cellGrpCfg);
- return ROK;
+ return ret;
}
/*******************************************************************
if(!ueCapablityList.list.array)
{
DU_LOG("\nERROR --> Memory allocation failed in fillUeCapRatContList");
- ret = RFAILED;
- break;
+ ret = RFAILED;
+ break;
}
for(idx=0; idx<elementCnt; idx++)
CU_ALLOC(ueCapablityList.list.array[idx], sizeof(UE_CapabilityRAT_Container_t));
if(ueCapablityList.list.array[idx] == NULLP)
{
- DU_LOG("\nERROR --> Memory allocation failed in fillUeCapRatContList");
+ DU_LOG("\nERROR --> Memory allocation failed in fillUeCapRatContList");
ret = RFAILED;
- break;
+ break;
}
}
idx = 0;
cmMemset((uint8_t *)encBuf, 0, ENC_BUF_MAX_LEN);
encBufSize = 0;
encRetVal = aper_encode(&asn_DEF_UE_CapabilityRAT_ContainerListRRC, 0, \
- &ueCapablityList, PrepFinalEncBuf, encBuf);
+ &ueCapablityList, PrepFinalEncBuf, encBuf);
/* Encode results */
if(encRetVal.encoded == ENCODE_FAIL)
{
DU_LOG( "\nERROR --> F1AP : Could not encode UE Capability RAT Container (at %s)\n",\
- encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
break;
}
else
DU_LOG("%x",encBuf[i]);
}
}
-
+
ueCapablityListBuf->size = encBufSize;
CU_ALLOC(ueCapablityListBuf->buf, ueCapablityListBuf->size);
if(!ueCapablityListBuf->buf)
if(rrcMsg->iE_Extensions->list.array == NULLP)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation for CUtoDURRCInformation_ExtIEs failed");
- ret = RFAILED;
+ DU_LOG("\nERROR --> F1AP : Memory allocation for CUtoDURRCInformation_ExtIEs failed");
+ ret = RFAILED;
}
for(idx=0; idx<elementCnt; idx++)
{
- CU_ALLOC(rrcMsg->iE_Extensions->list.array[idx], sizeof(CUtoDURRCInformation_ExtIEs_t));
- if(rrcMsg->iE_Extensions->list.array[idx] == NULLP)
- {
- ret = RFAILED;
- }
+ CU_ALLOC(rrcMsg->iE_Extensions->list.array[idx], sizeof(CUtoDURRCInformation_ExtIEs_t));
+ if(rrcMsg->iE_Extensions->list.array[idx] == NULLP)
+ {
+ DU_LOG("\nERROR --> F1AP : Memory allocation for array elements failed");
+ ret = RFAILED;
+ }
}
idx = 0;
/* Filling CellGroupConfig_t IE */
rrcMsg->iE_Extensions->list.array[idx]->id = ProtocolIE_ID_id_CellGroupConfig;
rrcMsg->iE_Extensions->list.array[idx]->criticality = Criticality_ignore;
rrcMsg->iE_Extensions->list.array[idx]->extensionValue.present =\
- CUtoDURRCInformation_ExtIEs__extensionValue_PR_CellGroupConfig;
+ CUtoDURRCInformation_ExtIEs__extensionValue_PR_CellGroupConfig;
ret = fillCellGrpCfg(&rrcMsg->iE_Extensions->list.array[idx]->extensionValue.choice.CellGroupConfig);
}
return ret;
* RFAILED - failure
*
* ****************************************************************/
-uint8_t BuildAndSendUeContextSetupReq(uint8_t cuUeF1apId, uint8_t duUeF1apId, \
- uint16_t rrcContLen, uint8_t *rrcContainer)
+uint8_t BuildAndSendUeContextSetupReq(uint32_t duId, CuUeCb *ueCb, uint16_t rrcContLen, uint8_t *rrcContainer)
{
uint8_t Nrcgiret;
uint8_t SplCellListret;
CU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t));
if(f1apMsg == NULLP)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed");
+ break;
}
f1apMsg->present = F1AP_PDU_PR_initiatingMessage;
CU_ALLOC(f1apMsg->choice.initiatingMessage, sizeof(InitiatingMessage_t));
if(f1apMsg->choice.initiatingMessage == NULLP)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed");
+ break;
}
- f1apMsg->choice.initiatingMessage->procedureCode = \
- ProcedureCode_id_UEContextSetup;
+ f1apMsg->choice.initiatingMessage->procedureCode = ProcedureCode_id_UEContextSetup;
f1apMsg->choice.initiatingMessage->criticality = Criticality_reject;
- f1apMsg->choice.initiatingMessage->value.present = \
- InitiatingMessage__value_PR_UEContextSetupRequest;
- ueSetReq =
- &f1apMsg->choice.initiatingMessage->value.choice.UEContextSetupRequest;
+ f1apMsg->choice.initiatingMessage->value.present = InitiatingMessage__value_PR_UEContextSetupRequest;
+
+ ueSetReq = &f1apMsg->choice.initiatingMessage->value.choice.UEContextSetupRequest;
elementCnt = 12;
ueSetReq->protocolIEs.list.count = elementCnt;
- ueSetReq->protocolIEs.list.size = \
- elementCnt * sizeof(UEContextSetupRequestIEs_t *);
+ ueSetReq->protocolIEs.list.size = elementCnt * sizeof(UEContextSetupRequestIEs_t *);
/* Initialize the UESetup members */
CU_ALLOC(ueSetReq->protocolIEs.list.array,ueSetReq->protocolIEs.list.size);
if(ueSetReq->protocolIEs.list.array == NULLP)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation for UE Context SetupRequest failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation for UE Context SetupRequest failed");
+ break;
}
for(idx1=0; idx1<elementCnt; idx1++)
{
- CU_ALLOC(ueSetReq->protocolIEs.list.array[idx1],sizeof(UEContextSetupRequestIEs_t));
- if(ueSetReq->protocolIEs.list.array[idx1] == NULLP)
- {
- break;
- }
+ CU_ALLOC(ueSetReq->protocolIEs.list.array[idx1],sizeof(UEContextSetupRequestIEs_t));
+ if(ueSetReq->protocolIEs.list.array[idx1] == NULLP)
+ {
+ break;
+ }
}
idx = 0;
/*GNB CU UE F1AP ID*/
- ueSetReq->protocolIEs.list.array[idx]->id = \
- ProtocolIE_ID_id_gNB_CU_UE_F1AP_ID;
+ ueSetReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_gNB_CU_UE_F1AP_ID;
ueSetReq->protocolIEs.list.array[idx]->criticality = Criticality_reject;
- ueSetReq->protocolIEs.list.array[idx]->value.present = \
- UEContextSetupRequestIEs__value_PR_GNB_CU_UE_F1AP_ID;
- ueSetReq->protocolIEs.list.array[idx]->value.choice.GNB_CU_UE_F1AP_ID = cuUeF1apId;
+ ueSetReq->protocolIEs.list.array[idx]->value.present = UEContextSetupRequestIEs__value_PR_GNB_CU_UE_F1AP_ID;
+ ueSetReq->protocolIEs.list.array[idx]->value.choice.GNB_CU_UE_F1AP_ID = ueCb->gnbCuUeF1apId;
/*GNB DU UE F1AP ID*/
idx++;
- ueSetReq->protocolIEs.list.array[idx]->id = \
- ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID;
+ ueSetReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID;
ueSetReq->protocolIEs.list.array[idx]->criticality = Criticality_ignore;
- ueSetReq->protocolIEs.list.array[idx]->value.present = \
- UEContextSetupRequestIEs__value_PR_GNB_DU_UE_F1AP_ID;
- ueSetReq->protocolIEs.list.array[idx]->value.choice.GNB_DU_UE_F1AP_ID = duUeF1apId;
+ ueSetReq->protocolIEs.list.array[idx]->value.present = UEContextSetupRequestIEs__value_PR_GNB_DU_UE_F1AP_ID;
+ ueSetReq->protocolIEs.list.array[idx]->value.choice.GNB_DU_UE_F1AP_ID = ueCb->gnbDuUeF1apId;
/*Special Cell ID*/
idx++;
- ueSetReq->protocolIEs.list.array[idx]->id = \
- ProtocolIE_ID_id_SpCell_ID;
+ ueSetReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_SpCell_ID;
ueSetReq->protocolIEs.list.array[idx]->criticality = Criticality_reject;
- ueSetReq->protocolIEs.list.array[idx]->value.present = \
- UEContextSetupRequestIEs__value_PR_NRCGI;
- Nrcgiret = BuildNrcgi(&ueSetReq->protocolIEs.list.array[idx]->value.choice.NRCGI);
+ ueSetReq->protocolIEs.list.array[idx]->value.present = UEContextSetupRequestIEs__value_PR_NRCGI;
+ Nrcgiret = BuildNrcgi(&ueSetReq->protocolIEs.list.array[idx]->value.choice.NRCGI, ueCb->cellCb->nrCellId);
if(Nrcgiret != ROK)
{
- break;
+ break;
}
/*Served Cell Index*/
idx++;
- ueSetReq->protocolIEs.list.array[idx]->id = \
- ProtocolIE_ID_id_ServCellIndex;
+ ueSetReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_ServCellIndex;
ueSetReq->protocolIEs.list.array[idx]->criticality = Criticality_reject;
- ueSetReq->protocolIEs.list.array[idx]->value.present = \
- UEContextSetupRequestIEs__value_PR_ServCellIndex;
- ueSetReq->protocolIEs.list.array[idx]->value.choice.ServCellIndex = \
- CELL_INDEX;
+ ueSetReq->protocolIEs.list.array[idx]->value.present = UEContextSetupRequestIEs__value_PR_ServCellIndex;
+ ueSetReq->protocolIEs.list.array[idx]->value.choice.ServCellIndex = CELL_INDEX;
/*CellULConfigured*/
idx++;
- ueSetReq->protocolIEs.list.array[idx]->id = \
- ProtocolIE_ID_id_SpCellULConfigured;
+ ueSetReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_SpCellULConfigured;
ueSetReq->protocolIEs.list.array[idx]->criticality = Criticality_ignore;
- ueSetReq->protocolIEs.list.array[idx]->value.present = \
- UEContextSetupRequestIEs__value_PR_CellULConfigured;
- ueSetReq->protocolIEs.list.array[idx]->value.choice.CellULConfigured = \
- CellULConfigured_none;
+ ueSetReq->protocolIEs.list.array[idx]->value.present = UEContextSetupRequestIEs__value_PR_CellULConfigured;
+ ueSetReq->protocolIEs.list.array[idx]->value.choice.CellULConfigured = CellULConfigured_none;
/*CUtoDURRCContainer*/
idx++;
- ueSetReq->protocolIEs.list.array[idx]->id = \
- ProtocolIE_ID_id_CUtoDURRCInformation;
+ ueSetReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_CUtoDURRCInformation;
ueSetReq->protocolIEs.list.array[idx]->criticality = Criticality_reject;
- ueSetReq->protocolIEs.list.array[idx]->value.present = \
- UEContextSetupRequestIEs__value_PR_CUtoDURRCInformation;
+ ueSetReq->protocolIEs.list.array[idx]->value.present = UEContextSetupRequestIEs__value_PR_CUtoDURRCInformation;
if(fillCuToDuContainer(&ueSetReq->protocolIEs.list.array[idx]->value.choice.CUtoDURRCInformation))
{
- break;
+ break;
}
/*Special Cells to be SetupList*/
idx++;
- ueSetReq->protocolIEs.list.array[idx]->id = \
- ProtocolIE_ID_id_SCell_ToBeSetup_List;
+ ueSetReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_SCell_ToBeSetup_List;
ueSetReq->protocolIEs.list.array[idx]->criticality = Criticality_ignore;
- ueSetReq->protocolIEs.list.array[idx]->value.present = \
- UEContextSetupRequestIEs__value_PR_SCell_ToBeSetup_List;
- SplCellListret = BuildSplCellList(&ueSetReq->protocolIEs.list.array[idx]->value.choice.SCell_ToBeSetup_List);
+ ueSetReq->protocolIEs.list.array[idx]->value.present = UEContextSetupRequestIEs__value_PR_SCell_ToBeSetup_List;
+ SplCellListret = BuildSplCellList(ueCb, &ueSetReq->protocolIEs.list.array[idx]->value.choice.SCell_ToBeSetup_List);
if(SplCellListret != ROK)
{
- break;
+ break;
}
+
/*SRBs To Be Setup List*/
idx++;
- ueSetReq->protocolIEs.list.array[idx]->id = \
- ProtocolIE_ID_id_SRBs_ToBeSetup_List;
+ ueSetReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_SRBs_ToBeSetup_List;
ueSetReq->protocolIEs.list.array[idx]->criticality = Criticality_reject;
- ueSetReq->protocolIEs.list.array[idx]->value.present = \
- UEContextSetupRequestIEs__value_PR_SRBs_ToBeSetup_List;
- SrbSetupret = BuildSRBSetup(&ueSetReq->protocolIEs.list.array[idx]->value.choice.SRBs_ToBeSetup_List);
+ ueSetReq->protocolIEs.list.array[idx]->value.present = UEContextSetupRequestIEs__value_PR_SRBs_ToBeSetup_List;
+ SrbSetupret = BuildSRBSetup(&ueSetReq->protocolIEs.list.array[idx]->value.choice.SRBs_ToBeSetup_List);
if(SrbSetupret != ROK)
{
- break;
+ break;
}
+
/*DRBs to Be Setup List*/
idx++;
- ueSetReq->protocolIEs.list.array[idx]->id = \
- ProtocolIE_ID_id_DRBs_ToBeSetup_List;
+ ueSetReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_DRBs_ToBeSetup_List;
ueSetReq->protocolIEs.list.array[idx]->criticality = Criticality_reject;
- ueSetReq->protocolIEs.list.array[idx]->value.present = \
- UEContextSetupRequestIEs__value_PR_DRBs_ToBeSetup_List;
+ ueSetReq->protocolIEs.list.array[idx]->value.present = UEContextSetupRequestIEs__value_PR_DRBs_ToBeSetup_List;
ret1 = BuildDRBSetup(&ueSetReq->protocolIEs.list.array[idx]->value.choice.DRBs_ToBeSetup_List);
if(ret1 != ROK)
{
- break;
+ break;
}
/* RRC Container for security mode */
idx++;
ueSetReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_RRCContainer;
ueSetReq->protocolIEs.list.array[idx]->criticality = Criticality_reject;
- ueSetReq->protocolIEs.list.array[idx]->value.present = \
- UEContextSetupRequestIEs__value_PR_RRCContainer;
+ ueSetReq->protocolIEs.list.array[idx]->value.present = UEContextSetupRequestIEs__value_PR_RRCContainer;
+
char secModeBuf[9]={0x00, 0x02, 0x22, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00};
bufLen =9;
ueSetReq->protocolIEs.list.array[idx]->value.choice.RRCContainer.size = bufLen;
CU_ALLOC(ueSetReq->protocolIEs.list.array[idx]->value.choice.RRCContainer.buf,
- ueSetReq->protocolIEs.list.array[idx]->value.choice.RRCContainer.size);
+ ueSetReq->protocolIEs.list.array[idx]->value.choice.RRCContainer.size);
if(!ueSetReq->protocolIEs.list.array[idx]->value.choice.RRCContainer.buf)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation for BuildAndSendUeContextSetupReq failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation for BuildAndSendUeContextSetupReq failed");
+ break;
}
memset(ueSetReq->protocolIEs.list.array[idx]->value.choice.RRCContainer.buf, 0, bufLen);
memcpy(ueSetReq->protocolIEs.list.array[idx]->value.choice.RRCContainer.buf, secModeBuf, bufLen);
/* RRC delivery status request */
idx++;
- ueSetReq->protocolIEs.list.array[idx]->id = \
- ProtocolIE_ID_id_RRCDeliveryStatusRequest;
+ ueSetReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_RRCDeliveryStatusRequest;
ueSetReq->protocolIEs.list.array[idx]->criticality = Criticality_ignore;
- ueSetReq->protocolIEs.list.array[idx]->value.present = \
- UEContextSetupRequestIEs__value_PR_RRCDeliveryStatusRequest;
- ueSetReq->protocolIEs.list.array[idx]->value.choice.RRCDeliveryStatusRequest = \
- RRCDeliveryStatusRequest_true;
+ ueSetReq->protocolIEs.list.array[idx]->value.present = UEContextSetupRequestIEs__value_PR_RRCDeliveryStatusRequest;
+ ueSetReq->protocolIEs.list.array[idx]->value.choice.RRCDeliveryStatusRequest = RRCDeliveryStatusRequest_true;
/* Bit Rate hardcoded as in reference logs */
idx++;
- ueSetReq->protocolIEs.list.array[idx]->id = \
- ProtocolIE_ID_id_GNB_DU_UE_AMBR_UL;
+ ueSetReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_GNB_DU_UE_AMBR_UL;
ueSetReq->protocolIEs.list.array[idx]->criticality = Criticality_ignore;
- ueSetReq->protocolIEs.list.array[idx]->value.present = \
- UEContextSetupRequestIEs__value_PR_BitRate;
+ ueSetReq->protocolIEs.list.array[idx]->value.present = UEContextSetupRequestIEs__value_PR_BitRate;
+
char bitRateBuf[4]= {0x3B, 0x37, 0xF4, 0xCD};
bufLen = 4;
ueSetReq->protocolIEs.list.array[idx]->value.choice.BitRate.size = bufLen;
CU_ALLOC(ueSetReq->protocolIEs.list.array[idx]->value.choice.BitRate.buf,\
- ueSetReq->protocolIEs.list.array[idx]->value.choice.BitRate.size);
+ ueSetReq->protocolIEs.list.array[idx]->value.choice.BitRate.size);
if(!ueSetReq->protocolIEs.list.array[idx]->value.choice.BitRate.buf)
{
- DU_LOG("\nERROR --> F1AP : Failed to allocate memory for Bit Rate in BuildAndSendUeContextSetupReq()");
- break;
+ DU_LOG("\nERROR --> F1AP : Failed to allocate memory for Bit Rate in BuildAndSendUeContextSetupReq()");
+ break;
}
memset(ueSetReq->protocolIEs.list.array[idx]->value.choice.BitRate.buf, 0, bufLen);
memcpy(ueSetReq->protocolIEs.list.array[idx]->value.choice.BitRate.buf, bitRateBuf, bufLen);
/* Encode the F1SetupRequest type as APER */
memset(encBuf, 0, ENC_BUF_MAX_LEN);
encBufSize = 0;
- encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf,\
- encBuf);
+ encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf, encBuf);
+
/* Encode results */
if(encRetVal.encoded == ENCODE_FAIL)
{
- DU_LOG( "\nERROR --> F1AP : Could not encode UE Context Setup Request structure (at %s)\n",\
- encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
- break;
+ DU_LOG( "\nERROR --> F1AP : Could not encode UE Context Setup Request structure (at %s)\n",\
+ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+ break;
}
else
{
- DU_LOG("\nDEBUG --> F1AP : Created APER encodedbuffer for UE Context Setup Request\n");
- for(int i=0; i< encBufSize; i++)
- {
- DU_LOG("%x",encBuf[i]);
- }
+ DU_LOG("\nDEBUG --> F1AP : Created APER encodedbuffer for UE Context Setup Request\n");
+ for(int i=0; i< encBufSize; i++)
+ {
+ DU_LOG("%x",encBuf[i]);
+ }
}
/* Sending msg */
- if(SendF1APMsg(CU_APP_MEM_REG,CU_POOL) != ROK)
+ if(SendF1APMsg(CU_APP_MEM_REG, CU_POOL, duId) != ROK)
{
- DU_LOG("\nERROR --> F1AP : Sending UE Context Setup Request Failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Sending UE Context Setup Request Failed");
+ break;
}
ret = ROK;
break;
* RFAILED - failure
*
* ****************************************************************/
-uint8_t procUeContextSetupResponse(F1AP_PDU_t *f1apMsg)
+uint8_t procUeContextSetupResponse(uint32_t duId, F1AP_PDU_t *f1apMsg)
{
uint8_t idx, duUeF1apId;
+ DuDb *duDb;
+ CuUeCb *ueCb;
UEContextSetupResponse_t *ueCtxtSetupRsp = NULLP;
+
+ duDb = getDuDb(duId);
ueCtxtSetupRsp = &f1apMsg->choice.successfulOutcome->value.choice.UEContextSetupResponse;
for(idx=0; idx < ueCtxtSetupRsp->protocolIEs.list.count; idx++)
case ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID:
{
duUeF1apId = ueCtxtSetupRsp->protocolIEs.list.array[idx]->value.choice.GNB_DU_UE_F1AP_ID;
+ ueCb = &duDb->ueCb[duUeF1apId-1];
break;
}
case ProtocolIE_ID_id_DRBs_Setup_List:
}
}
}
- ueCb[duUeF1apId-1].f1apMsgDb.dlRrcMsgCount++; /* keeping DL RRC Msg Count */
+ ueCb->f1apMsgDb.dlRrcMsgCount++; /* keeping DL RRC Msg Count */
return ROK;
}
*
* ****************************************************************/
-uint8_t procUlRrcMsg(F1AP_PDU_t *f1apMsg)
+uint8_t procUlRrcMsg(uint32_t duId, F1AP_PDU_t *f1apMsg)
{
uint8_t idx, ret, srbId, rrcMsgType;
uint8_t cuUeF1apId, duUeF1apId;
uint8_t *rrcContainer = NULLP;
uint16_t rrcContLen;
+ DuDb *duDb;
+ CuUeCb *ueCb;
ULRRCMessageTransfer_t *ulRrcMsg = NULLP;
ret = ROK;
+ duDb = getDuDb(duId);
ulRrcMsg = &f1apMsg->choice.initiatingMessage->value.choice.ULRRCMessageTransfer;
for(idx=0; idx < ulRrcMsg->protocolIEs.list.count; idx++)
{
switch(ulRrcMsg->protocolIEs.list.array[idx]->id)
{
- case ProtocolIE_ID_id_gNB_CU_UE_F1AP_ID:
- {
- cuUeF1apId = ulRrcMsg->protocolIEs.list.array[idx]->value.choice.GNB_CU_UE_F1AP_ID;
- break;
- }
- case ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID:
- {
- duUeF1apId = ulRrcMsg->protocolIEs.list.array[idx]->value.choice.GNB_DU_UE_F1AP_ID;
- break;
- }
- case ProtocolIE_ID_id_SRBID:
- srbId = ulRrcMsg->protocolIEs.list.array[idx]->value.choice.SRBID;
- break;
- case ProtocolIE_ID_id_RRCContainer:
- {
- rrcContLen = ulRrcMsg->protocolIEs.list.array[idx]->value.choice.RRCContainer.size;
- CU_ALLOC(rrcContainer, rrcContLen)
- if(!rrcContainer)
- {
- DU_LOG("\nERROR --> F1AP : Failed to allocated memory in procUlRrcMsg");
- return RFAILED;
- }
- memcpy(rrcContainer, ulRrcMsg->protocolIEs.list.array[idx]->value.choice.RRCContainer.buf,\
- rrcContLen);
- break;
- }
+ case ProtocolIE_ID_id_gNB_CU_UE_F1AP_ID:
+ {
+ cuUeF1apId = ulRrcMsg->protocolIEs.list.array[idx]->value.choice.GNB_CU_UE_F1AP_ID;
+ break;
+ }
+ case ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID:
+ {
+ duUeF1apId = ulRrcMsg->protocolIEs.list.array[idx]->value.choice.GNB_DU_UE_F1AP_ID;
+ break;
+ }
+ case ProtocolIE_ID_id_SRBID:
+ srbId = ulRrcMsg->protocolIEs.list.array[idx]->value.choice.SRBID;
+ break;
- default:
- DU_LOG("\nERROR --> F1AP : Invalid Event %ld", ulRrcMsg->protocolIEs.list.array[idx]->id);
- break;
+ case ProtocolIE_ID_id_RRCContainer:
+ {
+ rrcContLen = ulRrcMsg->protocolIEs.list.array[idx]->value.choice.RRCContainer.size;
+ CU_ALLOC(rrcContainer, rrcContLen);
+ if(!rrcContainer)
+ {
+ DU_LOG("\nERROR --> F1AP : Failed to allocated memory in procUlRrcMsg");
+ return RFAILED;
+ }
+ memcpy(rrcContainer, ulRrcMsg->protocolIEs.list.array[idx]->value.choice.RRCContainer.buf, rrcContLen);
+ break;
+ }
+
+ default:
+ DU_LOG("\nERROR --> F1AP : Invalid Event %ld", ulRrcMsg->protocolIEs.list.array[idx]->id);
+ break;
}
}
+
if(srbId == 1)
{
- ueCb[duUeF1apId-1].f1apMsgDb.dlRrcMsgCount++;
- rrcMsgType = setDlRRCMsgType(duUeF1apId);
+ ueCb = &duDb->ueCb[duUeF1apId-1];
+ ueCb->f1apMsgDb.dlRrcMsgCount++;
+ rrcMsgType = setDlRRCMsgType(ueCb);
if(rrcMsgType == REGISTRATION_ACCEPT)
{
DU_LOG("\nINFO --> F1AP: Sending DL RRC MSG for RRC Registration Accept");
- ret = BuildAndSendDLRRCMessageTransfer(duUeF1apId, srbId, rrcMsgType);
+ ret = BuildAndSendDLRRCMessageTransfer(duId, ueCb, srbId, rrcMsgType);
}
if(rrcMsgType == UE_CONTEXT_SETUP_REQ)
{
- DU_LOG("\nINFO --> F1AP: Sending Ue Context Setup Req");
- ret = BuildAndSendUeContextSetupReq(cuUeF1apId, duUeF1apId,\
- rrcContLen, rrcContainer);
+ DU_LOG("\nINFO --> F1AP: Sending Ue Context Setup Req");
+ ret = BuildAndSendUeContextSetupReq(duId, ueCb, rrcContLen, rrcContainer);
}
if(rrcMsgType == SECURITY_MODE_COMPLETE)
{
/* To trigger the DL RRC Msg for RRC Reconfig */
- ueCb[duUeF1apId-1].f1apMsgDb.dlRrcMsgCount++;
- rrcMsgType = setDlRRCMsgType(duUeF1apId);
+ ueCb->f1apMsgDb.dlRrcMsgCount++;
+ rrcMsgType = setDlRRCMsgType(ueCb);
if(rrcMsgType == RRC_RECONFIG)
{
DU_LOG("\nINFO --> F1AP: Sending DL RRC MSG for RRC Reconfig");
- BuildAndSendDLRRCMessageTransfer(duUeF1apId, srbId, rrcMsgType);
+ BuildAndSendDLRRCMessageTransfer(duId, ueCb, srbId, rrcMsgType);
}
}
if(rrcMsgType == UE_CONTEXT_MOD_REQ)
{
DU_LOG("\nINFO --> F1AP: Sending UE Context Modification Request");
- BuildAndSendUeContextModificationReq(duUeF1apId);
+ BuildAndSendUeContextModificationReq(duId, ueCb);
}
}
return ret;
CU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t));
if(f1apMsg == NULLP)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed");
+ break;
}
f1apMsg->present = F1AP_PDU_PR_successfulOutcome;
CU_ALLOC(f1apMsg->choice.successfulOutcome, sizeof(SuccessfulOutcome_t));
if(f1apMsg->choice.successfulOutcome == NULLP)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed");
+ break;
}
f1apMsg->choice.successfulOutcome->procedureCode = ProcedureCode_id_Reset;
CU_ALLOC(f1ResetAck->protocolIEs.list.array, f1ResetAck->protocolIEs.list.size );
if(f1ResetAck->protocolIEs.list.array == NULLP)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation for F1ResetAckIEs failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation for F1ResetAckIEs failed");
+ break;
}
for(idx=0; idx<elementCnt; idx++)
{
- CU_ALLOC(f1ResetAck->protocolIEs.list.array[idx], sizeof(ResetAcknowledgeIEs_t));
- if(f1ResetAck->protocolIEs.list.array[idx] == NULLP)
- {
- break;
- }
+ CU_ALLOC(f1ResetAck->protocolIEs.list.array[idx], sizeof(ResetAcknowledgeIEs_t));
+ if(f1ResetAck->protocolIEs.list.array[idx] == NULLP)
+ {
+ break;
+ }
}
/*TransactionID*/
idx = 0;
/* Check encode results */
if(encRetVal.encoded == ENCODE_FAIL)
{
- DU_LOG("\nERROR --> F1AP : Could not encode F1ResetAck structure (at %s)\n",\
- encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
- break;
+ DU_LOG("\nERROR --> F1AP : Could not encode F1ResetAck structure (at %s)\n",\
+ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+ break;
}
else
{
- DU_LOG("\nDEBUG --> F1AP : Created APER encodedbuffer for F1ResetAck \n");
- for(int i=0; i< encBufSize; i++)
- {
- DU_LOG("%x",encBuf[i]);
- }
+ DU_LOG("\nDEBUG --> F1AP : Created APER encodedbuffer for F1ResetAck \n");
+ for(int i=0; i< encBufSize; i++)
+ {
+ DU_LOG("%x",encBuf[i]);
+ }
}
+
/* Sending msg */
- if(SendF1APMsg(CU_APP_MEM_REG, CU_POOL) != ROK)
+ /* TODO : Hardcoding DU ID to 1 for messages other than F1 Setup Response. This will be made generic in future gerrit */
+ if(SendF1APMsg(CU_APP_MEM_REG, CU_POOL, DU_ID) != ROK)
{
- DU_LOG("\nERROR --> F1AP : Sending F1 Reset Response failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Sending F1 Reset Response failed");
+ break;
}
ret = ROK;
FreeF1ResetAck(f1apMsg);
return ret;
}
+
void FreeUlTnlInfoforDrb2(ULUPTNLInformation_ToBeSetup_List_t *ulInfo)
{
uint8_t arrIdx =0;
else
{
ulInfo->list.array[arrIdx]->uLUPTNLInformation.choice.gTPTunnel->\
- gTP_TEID.buf[3] = cuCfgParams.egtpParams.currTunnelId++;
+ gTP_TEID.buf[3] = cuCb.cuCfgParams.egtpParams.currTunnelId++;
}
return ROK;
}/*End of BuildULTnlInfo*/
/*SNSSAI*/
ret = BuildSNSSAI(&drbItem->qoSInformation.choice.\
- choice_extension->value.choice.DRB_Information.sNSSAI, cuCfgParams.snssaiList[1]);
+ choice_extension->value.choice.DRB_Information.sNSSAI, cuCb.snssaiList[1]);
if(ret != ROK)
{
DU_LOG("\nERROR --> F1AP : BuildSNSSAI failed");
/*SNSSAI*/
ret = BuildSNSSAI(&drbItem->qoSInformation->choice.\
- choice_extension->value.choice.DRB_Information.sNSSAI,cuCfgParams.snssaiList[0]);
+ choice_extension->value.choice.DRB_Information.sNSSAI, cuCb.snssaiList[0]);
if(ret != ROK)
{
DU_LOG("\nERROR --> F1AP : BuildSNSSAI failed");
CU_FREE(f1apMsg, sizeof(F1AP_PDU_t));
}
}
+
/*******************************************************************
*
* @brief Builds the Ue Context Modification Req
* RFAILED - failure
*
* ****************************************************************/
-uint8_t BuildAndSendUeContextModificationReq(uint8_t ueId)
+uint8_t BuildAndSendUeContextModificationReq(uint32_t duId, void *cuUeCb)
{
uint8_t ieIdx = 0;
uint8_t elementCnt = 0;
uint8_t ret = RFAILED;
+ CuUeCb *ueCb = (CuUeCb *)cuUeCb;
F1AP_PDU_t *f1apMsg = NULLP;
UEContextModificationRequest_t *ueContextModifyReq = NULLP;
CU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t));
if(f1apMsg == NULLP)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed Ue context modification");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed Ue context modification");
+ break;
}
f1apMsg->present = F1AP_PDU_PR_initiatingMessage;
CU_ALLOC(f1apMsg->choice.initiatingMessage, sizeof(InitiatingMessage_t));
if(f1apMsg->choice.initiatingMessage == NULLP)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed Ue context modification");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed Ue context modification");
+ break;
}
f1apMsg->choice.initiatingMessage->procedureCode = ProcedureCode_id_UEContextModification;
f1apMsg->choice.initiatingMessage->criticality = Criticality_reject;
CU_ALLOC(ueContextModifyReq->protocolIEs.list.array, ueContextModifyReq->protocolIEs.list.size);
if(ueContextModifyReq->protocolIEs.list.array == NULLP)
{
- DU_LOG("\nERROR --> F1AP : Memory allocation for UE context modifcation Request failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Memory allocation for UE context modifcation Request failed");
+ break;
}
for(ieIdx=0 ; ieIdx<elementCnt; ieIdx++)
{
- CU_ALLOC(ueContextModifyReq->protocolIEs.list.array[ieIdx], sizeof(UEContextModificationRequest_t));
- if(ueContextModifyReq->protocolIEs.list.array[ieIdx] == NULLP)
- {
- DU_LOG("\nERROR --> F1AP : Memory allocation for UE context modifcation Request failed");
- break;
- }
+ CU_ALLOC(ueContextModifyReq->protocolIEs.list.array[ieIdx], sizeof(UEContextModificationRequest_t));
+ if(ueContextModifyReq->protocolIEs.list.array[ieIdx] == NULLP)
+ {
+ DU_LOG("\nERROR --> F1AP : Memory allocation for UE context modifcation Request failed");
+ break;
+ }
}
ueContextModifyReq->protocolIEs.list.array[ieIdx]->criticality = Criticality_reject;
ueContextModifyReq->protocolIEs.list.array[ieIdx]->value.present = \
UEContextModificationRequestIEs__value_PR_GNB_CU_UE_F1AP_ID;
- ueContextModifyReq->protocolIEs.list.array[ieIdx]->value.choice.GNB_CU_UE_F1AP_ID = ueId;
+ ueContextModifyReq->protocolIEs.list.array[ieIdx]->value.choice.GNB_CU_UE_F1AP_ID = ueCb->gnbCuUeF1apId;
ieIdx++;
ueContextModifyReq->protocolIEs.list.array[ieIdx]->id = ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID;
ueContextModifyReq->protocolIEs.list.array[ieIdx]->criticality = Criticality_reject;
ueContextModifyReq->protocolIEs.list.array[ieIdx]->value.present=\
UEContextModificationRequestIEs__value_PR_GNB_DU_UE_F1AP_ID;
- ueContextModifyReq->protocolIEs.list.array[ieIdx]->value.choice.GNB_DU_UE_F1AP_ID = ueId;
+ ueContextModifyReq->protocolIEs.list.array[ieIdx]->value.choice.GNB_DU_UE_F1AP_ID = ueCb->gnbDuUeF1apId;
/* DRB to be setup list */
ieIdx++;
ueContextModifyReq->protocolIEs.list.array[ieIdx]->id = ProtocolIE_ID_id_DRBs_ToBeSetupMod_List;
ueContextModifyReq->protocolIEs.list.array[ieIdx]->criticality = Criticality_reject;
ueContextModifyReq->protocolIEs.list.array[ieIdx]->value.present =\
- UEContextModificationRequestIEs__value_PR_DRBs_ToBeSetupMod_List;
- ret = BuildDrbToBeSetupList(ueId, &(ueContextModifyReq->protocolIEs.list.array[ieIdx]->\
- value.choice.DRBs_ToBeSetupMod_List));
+ UEContextModificationRequestIEs__value_PR_DRBs_ToBeSetupMod_List;
+ ret = BuildDrbToBeSetupList(ueCb->gnbCuUeF1apId, &(ueContextModifyReq->protocolIEs.list.array[ieIdx]->\
+ value.choice.DRBs_ToBeSetupMod_List));
/* DRB to be modified list */
ieIdx++;
ueContextModifyReq->protocolIEs.list.array[ieIdx]->id = ProtocolIE_ID_id_DRBs_ToBeModified_List;
ueContextModifyReq->protocolIEs.list.array[ieIdx]->criticality = Criticality_reject;
ueContextModifyReq->protocolIEs.list.array[ieIdx]->value.present =\
- UEContextModificationRequestIEs__value_PR_DRBs_ToBeModified_List;
- ret = BuildDrbToBeModifiedList(ueId, &(ueContextModifyReq->protocolIEs.list.array[ieIdx]->\
- value.choice.DRBs_ToBeModified_List));
+ UEContextModificationRequestIEs__value_PR_DRBs_ToBeModified_List;
+ ret = BuildDrbToBeModifiedList(ueCb->gnbCuUeF1apId, &(ueContextModifyReq->protocolIEs.list.array[ieIdx]->\
+ value.choice.DRBs_ToBeModified_List));
/* TODO: DRB to be release list */
-
+
if(ret != ROK)
{
break;
/* Encode the F1SetupRequest type as APER */
memset(encBuf, 0, ENC_BUF_MAX_LEN);
encBufSize = 0;
- encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf,\
- encBuf);
+ encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf, encBuf);
/* Encode results */
if(encRetVal.encoded == ENCODE_FAIL)
{
- DU_LOG("\nERROR --> F1AP : Could not encode ueContextModifyReq structure (at %s)\n",\
- encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
- break;
+ DU_LOG("\nERROR --> F1AP : Could not encode ueContextModifyReq structure (at %s)\n",\
+ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+ break;
}
else
{
- DU_LOG("\nDEBUG --> F1AP : Created APER encodedbuffer for ueContextModifyReq\n");
- for(ieIdx=0; ieIdx< encBufSize; ieIdx++)
- {
- DU_LOG("%x",encBuf[ieIdx]);
- }
+ DU_LOG("\nDEBUG --> F1AP : Created APER encodedbuffer for ueContextModifyReq\n");
+ for(ieIdx=0; ieIdx< encBufSize; ieIdx++)
+ {
+ DU_LOG("%x",encBuf[ieIdx]);
+ }
}
- if(SendF1APMsg(CU_APP_MEM_REG, CU_POOL) != ROK)
+ /* TODO : Hardcoding DU ID to 1 for messages other than F1 Setup Response. This will be made generic in future gerrit */
+ if(SendF1APMsg(CU_APP_MEM_REG, CU_POOL, duId) != ROK)
{
- DU_LOG("\nERROR --> F1AP : Sending Ue context modification request failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Sending Ue context modification request failed");
+ break;
}
ret = ROK;
FreeUeContextModicationRequest(f1apMsg);
return ret;
}
+
/*****************************************************************i
-*
+ *
* @brief Free memory allocated for UE Context Release Command
*
* @details
* RFAILED - failure
*
* ****************************************************************/
-uint8_t BuildAndSendUeContextReleaseCommand(uint8_t cuUeF1apId, uint8_t duUeF1apId)
+uint8_t BuildAndSendUeContextReleaseCommand(uint32_t duId, uint8_t cuUeF1apId, uint8_t duUeF1apId)
{
bool memAllocFailed = false;
uint8_t ieIdx = 0,elementCnt = 0, ret = RFAILED, bufLen=0;
}
}
- if(SendF1APMsg(CU_APP_MEM_REG, CU_POOL) != ROK)
+ /* TODO : Hardcoding DU ID to 1 for messages other than F1 Setup Response. This will be made generic in future gerrit */
+ if(SendF1APMsg(CU_APP_MEM_REG, CU_POOL, duId) != ROK)
{
DU_LOG("\nERROR --> F1AP : Sending Ue context Release Command failed");
break;
* RFAILED - failure
*
* ****************************************************************/
-uint8_t procUeContextReleaseReq(F1AP_PDU_t *f1apMsg)
+uint8_t procUeContextReleaseReq(uint32_t duId, F1AP_PDU_t *f1apMsg)
{
uint8_t ieIdx=0, duUeF1apId=0,cuUeF1apId=0;
break;
}
}
- if(BuildAndSendUeContextReleaseCommand(cuUeF1apId, duUeF1apId) != ROK)
+
+ if(BuildAndSendUeContextReleaseCommand(duId, cuUeF1apId, duUeF1apId) != ROK)
{
DU_LOG("\nERROR --> F1AP : procUeContextReleaseReq(): Failed to build Ue Context Release Command ");
return RFAILED;
* RFAILED - failure
*
* ****************************************************************/
-uint8_t procGnbDuUpdate(F1AP_PDU_t *f1apMsg)
+uint8_t procGnbDuUpdate(uint32_t duId, F1AP_PDU_t *f1apMsg)
{
bool cellToBeDelete = false;
uint8_t ieIdx = 0, ueIdx = 0;
+ uint16_t cellId;
+ DuDb *duDb;
+ CuCellCb *cellCb;
GNBDUConfigurationUpdate_t *duCfgUpdate = NULLP;
duCfgUpdate = &f1apMsg->choice.initiatingMessage->value.choice.GNBDUConfigurationUpdate;
break;
case ProtocolIE_ID_id_Served_Cells_To_Delete_List:
{
+ struct Served_Cells_To_Delete_ItemIEs *deleteItemIe = \
+ (struct Served_Cells_To_Delete_ItemIEs *)duCfgUpdate->protocolIEs.list.array[ieIdx]->value.choice.\
+ Served_Cells_To_Delete_List.list.array[0];
+ cellId = deleteItemIe->value.choice.Served_Cells_To_Delete_Item.oldNRCGI.nRCellIdentity.buf[4] >>\
+ deleteItemIe->value.choice.Served_Cells_To_Delete_Item.oldNRCGI.nRCellIdentity.bits_unused;
cellToBeDelete = true;
break;
}
break;
}
}
- if(BuildAndSendDUUpdateAck() != ROK)
+ if(BuildAndSendDUUpdateAck(duId) != ROK)
{
DU_LOG("ERROR --> F1AP : Failed to build and send DUUpdateAck");
return RFAILED;
#endif
if(cellToBeDelete == true)
{
- for(ueIdx = 0; ueIdx < MAX_NUM_UE; ueIdx++)
+ duDb = getDuDb(duId);
+ cellCb = getCellCb(duDb, cellId);
+ for(ueIdx = 0; ueIdx < cellCb->numUe; ueIdx++)
{
- CU_FREE(ueCb[ueIdx].f1apMsgDb.duToCuContainer.buf, ueCb[ueIdx].f1apMsgDb.duToCuContainer.size);
- memset(&ueCb[ueIdx], 0, sizeof(UeCb));
+ CU_FREE(cellCb->ueCb[ueIdx]->f1apMsgDb.duToCuContainer.buf, cellCb->ueCb[ueIdx]->f1apMsgDb.duToCuContainer.size);
+ memset(cellCb->ueCb[ueIdx], 0, sizeof(CuUeCb));
}
}
{
if(sliceSupportList->list.array)
{
- cuCfgParams.numSnssaiSupported = sliceSupportList->list.count;
+ cuCb.numSnssaiSupported = sliceSupportList->list.count;
for(sliceListIdx=0; sliceListIdx<sliceSupportList->list.count; sliceListIdx++)
{
if(sliceSupportList->list.array[sliceListIdx])
{
- CU_ALLOC(cuCfgParams.snssaiList[sliceListIdx], sizeof(Snssai));
- if(cuCfgParams.snssaiList[sliceListIdx] == NULLP)
+ CU_ALLOC(cuCb.snssaiList[sliceListIdx], sizeof(Snssai));
+ if(cuCb.snssaiList[sliceListIdx] == NULLP)
{
DU_LOG("\nERROR --> CU_STUB: buildSliceList(): Memory allocation failed");
return RFAILED;
}
if(sliceSupportList->list.array[sliceListIdx]->sNSSAI.sST.buf)
{
- memcpy(&cuCfgParams.snssaiList[sliceListIdx]->sst, sliceSupportList->list.array[sliceListIdx]->\
+ memcpy(&cuCb.snssaiList[sliceListIdx]->sst, sliceSupportList->list.array[sliceListIdx]->\
sNSSAI.sST.buf, sliceSupportList->list.array[sliceListIdx]->sNSSAI.sST.size);
}
if(sliceSupportList->list.array[sliceListIdx]->sNSSAI.sD->size)
{
- memcpy(&cuCfgParams.snssaiList[sliceListIdx]->sd,\
+ memcpy(&cuCb.snssaiList[sliceListIdx]->sd,\
sliceSupportList->list.array[sliceListIdx]->sNSSAI.sD->buf,\
sliceSupportList->list.array[sliceListIdx]->sNSSAI.sD->size);
}
* RFAILED - failure
*
* ****************************************************************/
-void procF1SetupReq(F1AP_PDU_t *f1apMsg)
+void procF1SetupReq(uint32_t *destDuId, F1AP_PDU_t *f1apMsg)
{
- uint8_t ieIdx = 0, plmnidx=0, ret=ROK;
+ uint8_t ieIdx = 0, plmnidx=0, duIdx = 0, ret=ROK, cellIdx = 0;
+ uint32_t duId, cellId;
+ DuDb *duDb = NULLP;
+ CuCellCb *cellCb = NULLP;
BIT_STRING_t nrcellIdentity;
F1SetupRequest_t *f1SetupReq = NULLP;
GNB_DU_Served_Cells_Item_t *srvCellItem = NULLP;
{
switch(f1SetupReq->protocolIEs.list.array[ieIdx]->id)
{
+ case ProtocolIE_ID_id_gNB_DU_ID:
+ {
+ duId = f1SetupReq->protocolIEs.list.array[ieIdx]->value.choice.GNB_DU_ID.buf[0];
+ duDb = getDuDb(duId);
+ if(duDb == NULLP)
+ {
+ duDb = &cuCb.duInfo[cuCb.numDu];
+ memset(duDb, 0, sizeof(DuDb));
+ duDb->duId = duId;
+ cuCb.numDu++;
+ *destDuId = duId;
+ }
+ else
+ return;
+ break;
+ }
+ case ProtocolIE_ID_id_gNB_DU_Name:
+ {
+ strcpy((char *)duDb->duName, (char*)f1SetupReq->protocolIEs.list.array[ieIdx]->value.choice.GNB_DU_Name.buf);
+ break;
+ }
case ProtocolIE_ID_id_gNB_DU_Served_Cells_List:
{
duServedCell = &f1SetupReq->protocolIEs.list.array[ieIdx]->value.choice.GNB_DU_Served_Cells_List;
srvCellItem = &duServedCell->list.array[plmnidx]->value.choice.GNB_DU_Served_Cells_Item;
ret = procServedCellPlmnList(&srvCellItem->served_Cell_Information.servedPLMNs);
memcpy(&nrcellIdentity, &srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity, sizeof(BIT_STRING_t));
+
+ cellId = nrcellIdentity.buf[4] >> nrcellIdentity.bits_unused;
+ cellCb = getCellCb(duDb, cellId);
+ if(cellCb == NULLP)
+ {
+ cellCb = &duDb->cellCb[duDb->numCells];
+ memset(cellCb, 0, sizeof(CuCellCb));
+ cellCb->nrCellId = cellId;
+ duDb->numCells++;
+ }
}
}
}
}
if(ret == ROK)
{
- BuildAndSendF1SetupRsp(&nrcellIdentity);
+ BuildAndSendF1SetupRsp(duId, &nrcellIdentity);
}
else
{
* RFAILED - failure
*
* ****************************************************************/
-void F1APMsgHdlr(Buffer *mBuf)
+void F1APMsgHdlr(uint32_t *duId, Buffer *mBuf)
{
int i;
char *recvBuf;
case InitiatingMessage__value_PR_F1SetupRequest:
{
DU_LOG("\nINFO --> F1AP : F1 setup request received");
- procF1SetupReq(f1apMsg);
+ procF1SetupReq(duId, f1apMsg);
break;
}
case InitiatingMessage__value_PR_GNBDUConfigurationUpdate:
{
DU_LOG("\nINFO --> F1AP : GNB-DU config update received");
- procGnbDuUpdate(f1apMsg);
+ procGnbDuUpdate(*duId, f1apMsg);
break;
}
case InitiatingMessage__value_PR_InitialULRRCMessageTransfer:
{
DU_LOG("\nINFO --> F1AP : Received InitialULRRCMessageTransfer");
- procInitULRRCMsg(f1apMsg);
+ procInitULRRCMsg(*duId, f1apMsg);
break;
}
case InitiatingMessage__value_PR_ULRRCMessageTransfer:
{
DU_LOG("\nINFO --> F1AP : Received ULRRCMessageTransfer");
- procUlRrcMsg(f1apMsg);
+ procUlRrcMsg(*duId, f1apMsg);
break;
}
case InitiatingMessage__value_PR_UEContextReleaseRequest:
{
DU_LOG("\nINFO --> F1AP : Received UE Context Release Request");
- procUeContextReleaseReq(f1apMsg);
+ procUeContextReleaseReq(*duId, f1apMsg);
break;
}
default:
case SuccessfulOutcome__value_PR_UEContextSetupResponse:
{
DU_LOG("\nINFO --> F1AP : UE ContextSetupResponse received");
- procUeContextSetupResponse(f1apMsg);
+ procUeContextSetupResponse(*duId, f1apMsg);
break;
}
case SuccessfulOutcome__value_PR_UEContextModificationResponse:
*******************************************************************************/
/* This file contains all F1AP message handler related functionality */
-#include <stdbool.h>
-#include <string.h>
-#include<ProtocolIE-Field.h>
-#include "ProtocolExtensionField.h"
-#include "F1AP-PDU.h"
-#include "Cells-to-be-Activated-List.h"
-#include "DL-CCCH-Message.h"
-#include "SRB-ToAddModList.h"
-#include "SRB-ToAddMod.h"
-#include "RRCSetup-IEs.h"
-#include "RRCSetup.h"
-#include "DL-DCCH-Message.h"
-#include "RRCReconfiguration-IEs.h"
-#include "RRCReconfiguration.h"
-#include "DRB-ToAddModList.h"
-#include "DRB-ToAddMod.h"
-#include "SDAP-Config.h"
-#include "du_log.h"
-#include "cu_stub.h"
-
#define ENCODE_FAIL -1
#define TRANS_ID 1
#define RRC_SIZE 1
#define UE_CONTEXT_MOD_REQ 7
#define NUM_QOS_EXT 1
-
typedef struct f1apDb
{
uint8_t dlRrcMsgCount;
OCTET_STRING_t duToCuContainer;
}F1apMsgDb;
-typedef struct ueInfo
-{
- uint8_t ueId;
- F1apMsgDb f1apMsgDb;
-}UeCb;
-
-UeCb ueCb[MAX_NUM_UE];
-
-void F1APMsgHdlr(Buffer *mBuf);
-uint8_t BuildAndSendUeContextModificationReq(uint8_t ueId);
-uint8_t BuildAndSendUeContextReleaseCommand(uint8_t cuUeF1apId, uint8_t duUeF1apId);
+void F1APMsgHdlr(uint32_t *destDuId, Buffer *mBuf);
+uint8_t BuildAndSendUeContextModificationReq(uint32_t duId, void *ueCb);
+uint8_t BuildAndSendUeContextReleaseCommand(uint32_t duId, uint8_t cuUeF1apId, uint8_t duUeF1apId);
uint8_t BuildAndSendF1ResetReq();
/**********************************************************************
End of file
/* This functions contains main() for cu_app */
#include "common_def.h"
-#include "cu_stub.h"
#include "cu_stub_sctp.h"
#include "cu_stub_egtp.h"
-#include "du_log.h"
+#include "OCTET_STRING.h"
+#include "cu_f1ap_msg_hdl.h"
+#include "cu_stub.h"
#ifdef O1_ENABLE
#include "CmInterface.h"
#endif
-#define CU_ID 1
-#define CU_NAME "ORAN_OAM_CU"
-
-#define DU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0001"
-#define CU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0011"
-
-#ifndef O1_ENABLE
-
-#define DU_IP_V4_ADDR "192.168.130.81"
-#define CU_IP_V4_ADDR "192.168.130.82"
-#define DU_PORT 38472
-#define CU_PORT 38472
-
-#endif
-
-#define DU_EGTP_PORT 39001
-#define CU_EGTP_PORT 39002
-#define RRC_VER 0
-#define EXT_RRC_VER 5
-#define PLMN_MCC0 3
-#define PLMN_MCC1 1
-#define PLMN_MCC2 1
-#define PLMN_MNC0 4
-#define PLMN_MNC1 8
-#define PLMN_MNC2 0
#ifdef O1_ENABLE
-
extern StartupConfig g_cfg;
-
#endif
+/*******************************************************************
+ *
+ * @brief Fetches pointer to DU Database
+ *
+ * @details
+ *
+ * Function : getDuDb
+ *
+ * Functionality:
+ * Searches and returns pointer to DU structure based on DU Id
+ *
+ * @params[in] DU Id
+ * @return Pointer to DU Db
+ *
+ ******************************************************************/
+DuDb* getDuDb(uint32_t duId)
+{
+ uint8_t duIdx;
+ for(duIdx=0; duIdx < cuCb.numDu; duIdx++)
+ {
+ if(cuCb.duInfo[duIdx].duId == duId)
+ return (&cuCb.duInfo[duIdx]);
+ }
+ return NULLP;
+}
+
+/*******************************************************************
+ *
+ * @brief Fetches pointer to Cell Cb
+ *
+ * @details
+ *
+ * Function : getCellCb
+ *
+ * Functionality:
+ * Searches for a cell within a DU based on NR cell Id
+ * Returns pointer to this cell Cb structure
+ *
+ * @params[in] Pointer to DU Db
+ * NR Cell ID
+ * @return Pointer to cell Cb
+ *
+ ******************************************************************/
+CuCellCb* getCellCb(DuDb *duDb, uint32_t cellId)
+{
+ uint8_t cellIdx;
+ for(cellIdx=0; cellIdx < duDb->numCells; cellIdx++)
+ {
+ if(duDb->cellCb[cellIdx].nrCellId == cellId)
+ return &(duDb->cellCb[cellIdx]);
+ }
+ return NULLP;
+}
/*******************************************************************
*
void readCuCfg()
{
+ uint8_t *numDu;
uint32_t ipv4_du, ipv4_cu;
DU_LOG("\nDEBUG --> CU_STUB : Reading CU configurations");
+ cuCb.cuCfgParams.cuId = CU_ID;
+ strcpy(cuCb.cuCfgParams.cuName, CU_NAME);
+
#ifdef O1_ENABLE
if( getStartupConfigForStub(&g_cfg) != ROK )
{
cmInetAddr((S8*)g_cfg.DU_IPV4_Addr, &ipv4_du);
cmInetAddr((S8*)g_cfg.CU_IPV4_Addr, &ipv4_cu);
- cuCfgParams.sctpParams.duPort = g_cfg.DU_Port;
- cuCfgParams.sctpParams.cuPort = g_cfg.CU_Port;
+ cuCb.cuCfgParams.sctpParams.duPort = g_cfg.DU_Port;
+ cuCb.cuCfgParams.sctpParams.cuPort = g_cfg.CU_Port;
#else
- cmInetAddr((S8*)DU_IP_V4_ADDR, &ipv4_du);
- cmInetAddr((S8*)CU_IP_V4_ADDR, &ipv4_cu);
- cuCfgParams.sctpParams.duPort = DU_PORT;
- cuCfgParams.sctpParams.cuPort = CU_PORT;
-#endif
-
- cuCfgParams.cuId = CU_ID;
- strcpy(cuCfgParams.cuName, CU_NAME);
-
- /* DU IP Address and Port*/
- cuCfgParams.sctpParams.duIpAddr.ipV4Addr = ipv4_du;
- cuCfgParams.sctpParams.duIpAddr.ipV6Pres = false;
+ cuCb.cuCfgParams.sctpParams.numDu = 0;
+ numDu = &cuCb.cuCfgParams.sctpParams.numDu;
+ while(*numDu < MAX_DU_SUPPORTED)
+ {
+ /* DU IP Address and Port*/
+ memset(&ipv4_du, 0, sizeof(uint32_t));
+ cmInetAddr((S8*)DU_IP_V4_ADDR[*numDu], &ipv4_du);
+ cuCb.cuCfgParams.sctpParams.sctpAssoc[*numDu].duIpAddr.ipV4Addr = ipv4_du;
+ cuCb.cuCfgParams.sctpParams.sctpAssoc[*numDu].duIpAddr.ipV6Pres = false;
+ cuCb.cuCfgParams.sctpParams.sctpAssoc[*numDu].duPort = DU_SCTP_PORT[*numDu];
+
+ /* CU IP Address and Port*/
+ memset(&ipv4_du, 0, sizeof(uint32_t));
+ cmInetAddr((S8*)CU_IP_V4_ADDR, &ipv4_cu);
+ cuCb.cuCfgParams.sctpParams.sctpAssoc[*numDu].cuIpAddr.ipV4Addr = ipv4_cu;
+ cuCb.cuCfgParams.sctpParams.sctpAssoc[*numDu].cuIpAddr.ipV6Pres = false;
+ cuCb.cuCfgParams.sctpParams.sctpAssoc[*numDu].cuPort = CU_SCTP_PORT_TO_DU[*numDu];
+ (*numDu)++;
+ }
- /* CU IP Address and Port*/
- cuCfgParams.sctpParams.cuIpAddr.ipV4Addr = ipv4_cu;
- cuCfgParams.sctpParams.cuIpAddr.ipV6Pres = false;
+#endif
/*PLMN*/
- cuCfgParams.plmn.mcc[0] = PLMN_MCC0;
- cuCfgParams.plmn.mcc[1] = PLMN_MCC1;
- cuCfgParams.plmn.mcc[2] = PLMN_MCC2;
- cuCfgParams.plmn.mnc[0] = PLMN_MNC0;
- cuCfgParams.plmn.mnc[1] = PLMN_MNC1;
- cuCfgParams.plmn.mnc[2] = PLMN_MNC2;
+ cuCb.cuCfgParams.plmn.mcc[0] = PLMN_MCC0;
+ cuCb.cuCfgParams.plmn.mcc[1] = PLMN_MCC1;
+ cuCb.cuCfgParams.plmn.mcc[2] = PLMN_MCC2;
+ cuCb.cuCfgParams.plmn.mnc[0] = PLMN_MNC0;
+ cuCb.cuCfgParams.plmn.mnc[1] = PLMN_MNC1;
+ cuCb.cuCfgParams.plmn.mnc[2] = PLMN_MNC2;
/*RRC Version*/
- cuCfgParams.rrcVersion.rrcVer = RRC_VER;
- cuCfgParams.rrcVersion.extRrcVer = EXT_RRC_VER;
+ cuCb.cuCfgParams.rrcVersion.rrcVer = RRC_VER;
+ cuCb.cuCfgParams.rrcVersion.extRrcVer = EXT_RRC_VER;
/* EGTP Parameters */
- cuCfgParams.egtpParams.localIp.ipV4Pres = TRUE;
- cuCfgParams.egtpParams.localIp.ipV4Addr = ipv4_cu;
- cuCfgParams.egtpParams.localPort = CU_EGTP_PORT;
- cuCfgParams.egtpParams.destIp.ipV4Pres = TRUE;
- cuCfgParams.egtpParams.destIp.ipV4Addr = ipv4_du;
- cuCfgParams.egtpParams.destPort = DU_EGTP_PORT;
- cuCfgParams.egtpParams.minTunnelId = MIN_TEID;
- cuCfgParams.egtpParams.currTunnelId = cuCfgParams.egtpParams.minTunnelId;
- cuCfgParams.egtpParams.maxTunnelId = MAX_TEID;
+ cuCb.cuCfgParams.egtpParams.localIp.ipV4Pres = TRUE;
+ cuCb.cuCfgParams.egtpParams.localIp.ipV4Addr = ipv4_cu;
+ cuCb.cuCfgParams.egtpParams.localPort = CU_EGTP_PORT;
+ cuCb.cuCfgParams.egtpParams.destIp.ipV4Pres = TRUE;
+ cuCb.cuCfgParams.egtpParams.destIp.ipV4Addr = ipv4_du;
+ cuCb.cuCfgParams.egtpParams.destPort = DU_EGTP_PORT;
+ cuCb.cuCfgParams.egtpParams.minTunnelId = MIN_TEID;
+ cuCb.cuCfgParams.egtpParams.currTunnelId = cuCb.cuCfgParams.egtpParams.minTunnelId;
+ cuCb.cuCfgParams.egtpParams.maxTunnelId = MAX_TEID;
} /* End of readCuCfg */
#ifndef __CU_MGR_MAIN_H__
#define __CU_MGR_MAIN_H__
-#define MAX_IPV6_LEN 16
+#define CU_ID 1
+#define CU_NAME "ORAN_OAM_CU"
+
+#define DU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0001"
+#define CU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0011"
+
+#ifndef O1_ENABLE
+#define DU_IP_V4_ADDR (char*[]){"192.168.130.81", "192.168.130.83"}
+#define DU_SCTP_PORT (int[]){38472, 38473}
+
+#define CU_IP_V4_ADDR "192.168.130.82"
+#define CU_SCTP_PORT_TO_DU (int[]){38472, 38473}
+#endif
+
+#define DU_EGTP_PORT 39001
+#define CU_EGTP_PORT 39002
+#define RRC_VER 0
+#define EXT_RRC_VER 5
+#define PLMN_MCC0 3
+#define PLMN_MCC1 1
+#define PLMN_MCC2 1
+#define PLMN_MNC0 4
+#define PLMN_MNC1 8
+#define PLMN_MNC2 0
+
#define CU_DU_NAME_LEN_MAX 30 /* Max length of CU/DU name string */
#define CU_APP_MEM_REG 1
#define CU_POOL 1
-#define MAX_DU_PORT 2
-#define DU_PORT 38472
+
#define MAX_NUM_OF_SLICE 1024 /* As per the spec 38.473, maxnoofSliceItems = 1024*/
-/*VALID Tunnel ID*/
-#define MIN_TEID 1 /*[Spec 29.281,Sec 5.1]: All Zero TEIDs are never assigned for setting up GTP-U Tunnel*/
-#define MAX_TEID MAX_NUM_DRB * MAX_NUM_UE /*[Spec 29.281]: Max limit is not mentioned but as per GTP-U Header Format, TEID occupies 4 octets */
/* allocate and zero out a static buffer */
#define CU_ALLOC(_datPtr, _size) \
SPutSBuf(CU_APP_MEM_REG, CU_POOL, \
(Data *)_datPtr, _size);
-typedef struct ipAddr
-{
- Bool ipV4Pres;
- uint32_t ipV4Addr;
- Bool ipV6Pres;
- uint8_t ipV6Addr[MAX_IPV6_LEN];
-}SctpIpAddr;
-
typedef struct RrcVersion
{
uint8_t rrcVer; /* Latest RRC Version */
uint32_t extRrcVer; /* Latest RRC version extended */
}RrcVersion;
-typedef struct egtpParams
-{
- SctpIpAddr localIp;
- uint16_t localPort;
- SctpIpAddr destIp;
- uint16_t destPort;
- uint32_t currTunnelId;
- uint32_t minTunnelId;
- uint32_t maxTunnelId;
-}EgtpParams;
-
-typedef struct CuSctpParams
-{
- SctpIpAddr duIpAddr;
- uint16_t duPort;
- SctpIpAddr cuIpAddr;
- uint16_t cuPort;
-}CuSctpParams;
-
typedef struct cuCfgParams
{
uint32_t cuId;
Plmn plmn;
EgtpParams egtpParams;
RrcVersion rrcVersion;
- uint8_t numSnssaiSupported;
- Snssai *snssaiList[MAX_NUM_OF_SLICE];
}CuCfgParams;
-CuCfgParams cuCfgParams; //global variable to hold all configs
+
+typedef struct cuCellCb CuCellCb;
+
+typedef struct cuUeCb
+{
+ CuCellCb *cellCb;
+ uint32_t crnti;
+ uint8_t gnbDuUeF1apId;
+ uint8_t gnbCuUeF1apId;
+ F1apMsgDb f1apMsgDb;
+}CuUeCb;
+
+struct cuCellCb
+{
+ uint32_t nrCellId;
+ uint8_t numUe;
+ CuUeCb *ueCb[MAX_NUM_UE];
+};
+
+typedef struct duDb
+{
+ uint32_t duId;
+ char duName[CU_DU_NAME_LEN_MAX];
+ uint8_t numCells;
+ CuCellCb cellCb[MAX_NUM_CELL];
+ uint8_t numUe;
+ CuUeCb ueCb[MAX_NUM_CELL * MAX_NUM_UE];
+}DuDb;
+
+typedef struct cuGlobalCb
+{
+ CuCfgParams cuCfgParams;
+ uint8_t numSnssaiSupported;
+ Snssai *snssaiList[MAX_NUM_OF_SLICE];
+ uint8_t numDu;
+ DuDb duInfo[MAX_DU_SUPPORTED];
+ uint32_t gnbCuUeF1apIdGenerator; /* Generating CU UE F1AP ID */
+}CuGlobalCb;
+
+CuGlobalCb cuCb;
void readCuCfg();
void cuAppInmsgHdlr(Buffer *mBuf);
/* This file contains all EGTP related functionality */
#include "common_def.h"
+#include "OCTET_STRING.h"
+#include "cu_stub_sctp.h"
#include "cu_f1ap_msg_hdl.h"
#include "cu_stub_egtp.h"
-#include "du_log.h"
+#include "cu_stub.h"
+#include "cm_inet.h"
+#include "cm_tpt.h"
+
+#include "cm_inet.x"
+#include "cm_tpt.x"
-/* Global variable declaration */
-EgtpGlobalCb egtpCb;
/**************************************************************************
* @brief Task Initiation callback function.
*
{
uint8_t ret;
- memcpy(&egtpCb.egtpCfg, &cuCfgParams.egtpParams, sizeof(EgtpParams));
+ memcpy(&egtpCb.egtpCfg, &cuCb.cuCfgParams.egtpParams, sizeof(EgtpParams));
egtpCb.recvTptSrvr.addr.address = CM_INET_NTOH_UINT32(egtpCb.egtpCfg.localIp.ipV4Addr);
egtpCb.recvTptSrvr.addr.port = EGTP_DFLT_PORT;
#ifndef __CU_STUB_EGTP_H__
#define __CU_STUB_EGTP_H__
-#include "cu_stub.h"
-#include "cm_inet.h"
-#include "cm_tpt.h"
-
-#include "cm_inet.x"
-#include "cm_tpt.x"
-
#define EGTP_DFLT_PORT 2152
#define EGTP_TNL_MGMT_ADD 1
#define EGTP_TNL_MGMT_MOD 2
#define EGTP_MASK_BIT7 0x40
#define EGTP_MASK_BIT8 0x80
+/*VALID Tunnel ID*/
+#define MIN_TEID 1 /*[Spec 29.281,Sec 5.1]: All Zero TEIDs are never assigned for setting up GTP-U Tunnel*/
+#define MAX_TEID MAX_NUM_DRB * MAX_NUM_UE /*[Spec 29.281]: Max limit is not mentioned but as per GTP-U Header Format, TEID occupies 4 octets */
+
#define NUM_TUNNEL_TO_PUMP_DATA 9
#define NUM_DL_PACKETS 1
CmHashListCp teIdLst; /* Tunnel Id list for this destination */
}EgtpDstCb;
+typedef struct egtpParams
+{
+ SctpIpAddr localIp;
+ uint16_t localPort;
+ SctpIpAddr destIp;
+ uint16_t destPort;
+ uint32_t currTunnelId;
+ uint32_t minTunnelId;
+ uint32_t maxTunnelId;
+}EgtpParams;
+
typedef struct egtpGlobalCb
{
EgtpParams egtpCfg; /* EGTP configuration */
/* This file contains all SCTP related functionality */
#include "common_def.h"
+#include "OCTET_STRING.h"
#include "cu_f1ap_msg_hdl.h"
#include "cu_stub_sctp.h"
#include "cu_stub_egtp.h"
-#include "du_log.h"
+#include "cu_stub.h"
+#include "cm_inet.h"
+#include "cm_tpt.h"
+
+#include "cm_inet.x"
+#include "cm_tpt.x"
+
-CuSctpDestCb f1Params;
/**************************************************************************
* @brief Task Initiation callback function.
*
* @return ROK - success
* RFAILED - failure
***************************************************************************/
-S16 sctpActvInit()
+uint8_t sctpActvInit()
{
DU_LOG("\n\nDEBUG --> SCTP : Initializing");
- connUp = FALSE;
- assocId = 0;
- nonblocking = FALSE;
- sctpCfg = cuCfgParams.sctpParams;
+ memset(&sctpCb, 0, sizeof(SctpGlobalCb));
+ sctpCb.sctpCfg = cuCb.cuCfgParams.sctpParams;
return ROK;
-
}
/**************************************************************************
* RFAILED - failure
*
***************************************************************************/
-S16 sctpActvTsk(Pst *pst, Buffer *mBuf)
+uint8_t sctpActvTsk(Pst *pst, Buffer *mBuf)
{
//TODO: TBD
*
***************************************************************************/
-S16 sctpCfgReq()
+uint8_t sctpCfgReq()
{
-
-/* Fill F1 Params */
- f1Params.destPort = sctpCfg.duPort;
- f1Params.srcPort = sctpCfg.cuPort;
- f1Params.bReadFdSet = ROK;
- memset(&f1Params.sockFd, -1, sizeof(CmInetFd));
- memset(&f1Params.lstnSockFd, -1, sizeof(CmInetFd));
- fillDestNetAddr(&f1Params.destIpNetAddr, &sctpCfg.duIpAddr);
-
+ int destIdx;
+
+ for(destIdx=0; destIdx < sctpCb.sctpCfg.numDu; destIdx++)
+ {
+ sctpCb.destCb[destIdx].destPort = sctpCb.sctpCfg.sctpAssoc[destIdx].duPort;
+ sctpCb.destCb[destIdx].srcPort = sctpCb.sctpCfg.sctpAssoc[destIdx].cuPort;
+ sctpCb.destCb[destIdx].bReadFdSet = ROK;
+ memset(&sctpCb.destCb[destIdx].sockFd, -1, sizeof(CmInetFd));
+ memset(&sctpCb.destCb[destIdx].lstnSockFd, -1, sizeof(CmInetFd));
+ fillDestNetAddr(&sctpCb.destCb[destIdx].destIpNetAddr, &sctpCb.sctpCfg.sctpAssoc[destIdx].duIpAddr);
+ fillAddrLst(&sctpCb.destCb[destIdx].localAddrLst, &sctpCb.sctpCfg.sctpAssoc[destIdx].cuIpAddr);
+ }
+ sctpCb.numDu = sctpCb.sctpCfg.numDu;
return ROK;
}
*
******************************************************************/
-S16 fillAddrLst(CmInetNetAddrLst *addrLstPtr, SctpIpAddr *ipAddr)
+uint8_t fillAddrLst(CmInetNetAddrLst *addrLstPtr, SctpIpAddr *ipAddr)
{
+ addrLstPtr->addrs[addrLstPtr->count].type = CM_INET_IPV4ADDR_TYPE;
+ addrLstPtr->addrs[addrLstPtr->count].u.ipv4NetAddr = CM_INET_NTOH_UINT32(ipAddr->ipV4Addr);
addrLstPtr->count++;
- addrLstPtr->addrs[(addrLstPtr->count - 1)].type = CM_INET_IPV4ADDR_TYPE;
- addrLstPtr->addrs[(addrLstPtr->count - 1)].u.ipv4NetAddr = CM_INET_NTOH_UINT32(ipAddr->ipV4Addr);
-
return ROK;
}
* RFAILED - failure
*
*******************************************************************************/
-S16 fillDestNetAddr(CmInetNetAddr *destAddrPtr, SctpIpAddr *dstIpPtr)
+uint8_t fillDestNetAddr(CmInetNetAddr *destAddrPtr, SctpIpAddr *dstIpPtr)
{
/* Filling destination address */
destAddrPtr->type = CM_INET_IPV4ADDR_TYPE;
*
*******************************************************************************/
-S16 sctpStartReq()
+uint8_t sctpStartReq()
{
- S16 ret = ROK;
- socket_type = CM_INET_STREAM;
- fillAddrLst(&f1Params.localAddrLst, &sctpCfg.cuIpAddr);
+ uint8_t destIdx;
+ uint8_t ret = ROK;
- if((ret = cmInetSocket(socket_type, &f1Params.lstnSockFd, IPPROTO_SCTP) != ROK))
- {
- DU_LOG("\nERROR --> SCTP : Socket[%d] coudnt open for listening", f1Params.lstnSockFd.fd);
- }
- else if((ret = cmInetSctpBindx(&f1Params.lstnSockFd, &f1Params.localAddrLst, f1Params.srcPort)) != ROK)
- {
- DU_LOG("\nERROR --> SCTP: Binding failed at CU");
- }
- else if((ret = sctpAccept(&f1Params.lstnSockFd, &f1Params.peerAddr, &f1Params.sockFd)) != ROK)
+ socket_type = CM_INET_STREAM;
+ for(destIdx=0; destIdx < sctpCb.numDu; destIdx++)
{
- DU_LOG("\nERROR --> SCTP: Unable to accept the connection at CU");
+ if((ret = cmInetSocket(socket_type, &sctpCb.destCb[destIdx].lstnSockFd, IPPROTO_SCTP) != ROK))
+ {
+ DU_LOG("\nERROR --> SCTP : Socket[%d] coudnt open for listening", sctpCb.destCb[destIdx].lstnSockFd.fd);
+ }
+ else if((ret = cmInetSctpBindx(&sctpCb.destCb[destIdx].lstnSockFd, &sctpCb.destCb[destIdx].localAddrLst, \
+ sctpCb.destCb[destIdx].srcPort)) != ROK)
+ {
+ DU_LOG("\nERROR --> SCTP: Binding failed at CU");
+ }
+ else if((ret = sctpAccept(&sctpCb.destCb[destIdx])) != ROK)
+ {
+ DU_LOG("\nERROR --> SCTP: Unable to accept the connection at CU");
+ }
}
- else if(sctpSockPoll() != ROK)
+
+ if(sctpSockPoll() != ROK)
{
DU_LOG("\nERROR --> SCTP: Polling failed to start at CU");
}
* RFAILED - failure
*
* ****************************************************************/
-S16 sctpSetSockOpts(CmInetFd *sock_Fd)
+uint8_t sctpSetSockOpts(CmInetFd *sock_Fd)
{
S16 ret = ROK;
CmSctpEvent sctpEvent;
* RFAILED - failure
*
* ****************************************************************/
-S16 sctpAccept(CmInetFd *lstnSock_Fd, CmInetAddr *peerAddr, CmInetFd *sock_Fd)
+uint8_t sctpAccept(CuSctpDestCb *destCb)
{
uint8_t ret;
- ret = cmInetListen(lstnSock_Fd, 1);
+ ret = cmInetListen(&destCb->lstnSockFd, 1);
if (ret != ROK)
{
DU_LOG("\nERROR --> SCTP : Listening on socket failed");
- cmInetClose(lstnSock_Fd);
+ cmInetClose(&destCb->lstnSockFd);
return RFAILED;
}
DU_LOG("\nINFO --> SCTP : Connecting");
- while(!connUp)
+ while(!destCb->connUp)
{
- ret = cmInetAccept(lstnSock_Fd, peerAddr, sock_Fd);
+ ret = cmInetAccept(&destCb->lstnSockFd, &destCb->peerAddr, &destCb->sockFd);
if (ret == ROKDNA)
{
continue;
}
else
{
- connUp = TRUE;
- sctpSetSockOpts(sock_Fd);
+ destCb->connUp = TRUE;
+ sctpSetSockOpts(&destCb->sockFd);
break;
}
}
* RFAILED - failure
*
* ****************************************************************/
-S16 sctpNtfyHdlr(CmInetSctpNotification *ntfy)
+uint8_t sctpNtfyHdlr(CuSctpDestCb *destCb, CmInetSctpNotification *ntfy)
{
switch(ntfy->header.nType)
{
{
case CM_INET_SCTP_COMM_UP:
DU_LOG("DEBUG --> Event : COMMUNICATION UP");
- connUp = TRUE;
+ destCb->connUp = TRUE;
break;
case CM_INET_SCTP_COMM_LOST:
DU_LOG("DEBUG --> Event : COMMUNICATION LOST");
- connUp = FALSE;
+ destCb->connUp = FALSE;
break;
case CM_INET_SCTP_RESTART:
DU_LOG("DEBUG --> Event : SCTP RESTART");
- connUp = FALSE;
+ destCb->connUp = FALSE;
break;
case CM_INET_SCTP_SHUTDOWN_COMP: /* association gracefully shutdown */
DU_LOG("DEBUG --> Event : SHUTDOWN COMPLETE");
- connUp = FALSE;
+ destCb->connUp = FALSE;
break;
case CM_INET_SCTP_CANT_STR_ASSOC:
DU_LOG("DEBUG --> Event : CANT START ASSOC");
- connUp = FALSE;
+ destCb->connUp = FALSE;
break;
default:
DU_LOG("\nERROR --> Invalid event");
break;
case CM_INET_SCTP_SHUTDOWN_EVENT : /* peer socket gracefully closed */
DU_LOG("\nINFO --> SCTP : Shutdown Event notification received\n");
- connUp = FALSE;
+ destCb->connUp = FALSE;
exit(0);
break;
case CM_INET_SCTP_ADAPTATION_INDICATION :
* RFAILED - failure
*
* ****************************************************************/
-S16 sctpSockPoll()
+uint8_t sctpSockPoll()
{
+ uint8_t destIdx;
uint16_t ret = ROK;
uint32_t timeout;
uint32_t *timeoutPtr;
egtpFromAddr.port = egtpCb.dstCb.dstPort;
egtpFromAddr.address = egtpCb.dstCb.dstIp;
- if(f1Params.sockFd.blocking)
- {
- /* blocking */
- timeoutPtr = NULLP;
- }
- else
- {
- /* non-blocking */
- timeout = 0;
- timeoutPtr = &timeout;
- }
+ /* All sockets are non-blocking */
+ timeout = 0;
+ timeoutPtr = &timeout;
memInfo.region = CU_APP_MEM_REG;
memInfo.pool = CU_POOL;
while(1)
{
- if((ret = processPolling(&f1PollParams, &f1Params.sockFd, timeoutPtr, &memInfo)) != ROK)
+ /* Receiving SCTP data */
+ for(destIdx = 0; destIdx < sctpCb.numDu; destIdx++)
{
- DU_LOG("\nERROR --> SCTP : Failed to RecvMsg for F1 at CU\n");
+ if((ret = processPolling(&f1PollParams, &sctpCb.destCb[destIdx], timeoutPtr, &memInfo)) != ROK)
+ {
+ DU_LOG("\nERROR --> SCTP : Failed to RecvMsg for F1 at CU\n");
+ }
}
/* Receiving EGTP data */
*
* ****************************************************************/
-S16 processPolling(sctpSockPollParams *pollParams, CmInetFd *sockFd, uint32_t *timeoutPtr, CmInetMemInfo *memInfo)
+uint8_t processPolling(sctpSockPollParams *pollParams, CuSctpDestCb *destCb, uint32_t *timeoutPtr, CmInetMemInfo *memInfo)
{
uint16_t ret = ROK;
- CM_INET_FD_SET(sockFd, &pollParams->readFd);
+ CM_INET_FD_SET(&destCb->sockFd, &pollParams->readFd);
ret = cmInetSelect(&pollParams->readFd, NULLP, timeoutPtr, &pollParams->numFd);
- if(CM_INET_FD_ISSET(sockFd, &pollParams->readFd))
+ if(CM_INET_FD_ISSET(&destCb->sockFd, &pollParams->readFd))
{
- CM_INET_FD_CLR(sockFd, &pollParams->readFd);
- ret = cmInetSctpRecvMsg(sockFd, &pollParams->addr, &pollParams->port, memInfo, &pollParams->mBuf, &pollParams->bufLen, &pollParams->info, &pollParams->flag, &pollParams->ntfy);
- if(connUp & (ret != ROK))
+ CM_INET_FD_CLR(&destCb->sockFd, &pollParams->readFd);
+ ret = cmInetSctpRecvMsg(&destCb->sockFd, &pollParams->addr, &pollParams->port, memInfo, &pollParams->mBuf, \
+ &pollParams->bufLen, &pollParams->info, &pollParams->flag, &pollParams->ntfy);
+ if(destCb->connUp & (ret != ROK))
{
- f1Params.bReadFdSet = RFAILED;
+ destCb->bReadFdSet = RFAILED;
}
else
{
if(((pollParams->flag & CM_INET_SCTP_MSG_NOTIFICATION) != 0) && (ret == ROK))
{
- ret = sctpNtfyHdlr(&pollParams->ntfy);
+ ret = sctpNtfyHdlr(destCb, &pollParams->ntfy);
if(ret != ROK)
{
DU_LOG("\nERROR --> SCTP : Failed to process sctp notify msg\n");
}
}
- else if(connUp & (pollParams->port == f1Params.destPort))
+ else if(destCb->connUp & (pollParams->port == destCb->destPort))
{
- F1APMsgHdlr(pollParams->mBuf);
+ F1APMsgHdlr(&destCb->duId, pollParams->mBuf);
ODU_PUT_MSG_BUF(pollParams->mBuf);
}
else
* RFAILED - failure
*
* ****************************************************************/
-S16 sctpSend(Buffer *mBuf)
+uint8_t sctpSend(uint32_t duId, Buffer *mBuf)
{
- uint8_t ret = ROK;
+ uint8_t ret = ROK, destIdx = 0;
MsgLen len = 0; /* number of actually sent octets */
CmInetMemInfo memInfo;
memInfo.region = CU_APP_MEM_REG;
memInfo.pool = CU_POOL;
- ret = cmInetSctpSendMsg(&f1Params.sockFd, &f1Params.destIpNetAddr, f1Params.destPort, &memInfo, mBuf, &len, 0, FALSE, 0, 0/*SCT_PROTID_NONE*/, RWOULDBLOCK);
-
- if(ret != ROK && ret != RWOULDBLOCK)
+ for(destIdx=0; destIdx < sctpCb.numDu; destIdx++)
{
- DU_LOG("\nERROR --> SCTP : Send message failed");
- return RFAILED;
- }
+ if(sctpCb.destCb[destIdx].duId == duId)
+ {
+ ret = cmInetSctpSendMsg(&sctpCb.destCb[destIdx].sockFd, &sctpCb.destCb[destIdx].destIpNetAddr, \
+ sctpCb.destCb[destIdx].destPort, &memInfo, mBuf, &len, 0, FALSE, 0, 0/*SCT_PROTID_NONE*/, RWOULDBLOCK);
- return ROK;
+ if(ret != ROK && ret != RWOULDBLOCK)
+ {
+ DU_LOG("\nERROR --> SCTP : Send message failed");
+ return RFAILED;
+ }
+ return ROK;
+ }
+ }
+ DU_LOG("\nERROR --> SCTP : DU ID [%d] not found in SCTP DestCb list. Failed to send message", duId);
+ return RFAILED;
} /* End of sctpSend */
/**********************************************************************
#ifndef __CU_SCTP_H__
#define __CU_SCTP_H__
-#include "cu_stub.h"
-#include "cm_inet.h"
-#include "cm_tpt.h"
-
-#include "cm_inet.x"
-#include "cm_tpt.x"
-
#define MAX_RETRY 5
+#define MAX_IPV6_LEN 16
+#define MAX_DU_SUPPORTED 1
/* Global variable declaration */
uint8_t socket_type; /* Socket type */
-Bool nonblocking; /* Blocking/Non-blocking socket */
-Bool connUp; /* Is connection up */
-int assocId; /* Assoc Id of connected assoc */
-
-CuSctpParams sctpCfg; /* SCTP configurations at DU */
typedef struct
{
typedef struct
{
+ uint32_t duId;
uint16_t destPort; /* DU PORTS */
uint16_t srcPort;
Bool bReadFdSet;
CmInetNetAddrLst destAddrLst; /* DU Ip address */
CmInetNetAddrLst localAddrLst;
CmInetNetAddr destIpNetAddr; /* DU Ip address */
+ Bool connUp; /* Is connection up */
}CuSctpDestCb;
-S16 sctpActvInit();
-S16 sctpStartReq();
-S16 sctpSend(Buffer *mBuf);
-S16 sctpCfgReq();
+typedef struct ipAddr
+{
+ Bool ipV4Pres;
+ uint32_t ipV4Addr;
+ Bool ipV6Pres;
+ uint8_t ipV6Addr[MAX_IPV6_LEN];
+}SctpIpAddr;
+
+typedef struct sctpAssocInfo
+{
+ SctpIpAddr duIpAddr;
+ uint16_t duPort;
+ SctpIpAddr cuIpAddr;
+ uint16_t cuPort;
+}SctpAssocInfo;
+
+typedef struct CuSctpParams
+{
+ uint8_t numDu;
+ SctpAssocInfo sctpAssoc[MAX_DU_SUPPORTED];
+}CuSctpParams;
+
+typedef struct
+{
+ CuSctpParams sctpCfg;
+ uint8_t numDu;
+ CuSctpDestCb destCb[MAX_DU_SUPPORTED];
+}SctpGlobalCb;
+
+SctpGlobalCb sctpCb;
+
+uint8_t sctpActvInit();
+uint8_t sctpStartReq();
+uint8_t sctpSend(uint32_t duId, Buffer *mBuf);
+uint8_t sctpCfgReq();
-S16 fillAddrLst(CmInetNetAddrLst *addrLstPtr, SctpIpAddr *ipAddr);
-S16 fillDestNetAddr(CmInetNetAddr *destAddrPtr, SctpIpAddr *dstIpPtr);
-S16 sctpSetSockOpts(CmInetFd *sock_Fd);
-S16 sctpSockPoll();
-S16 sctpAccept(CmInetFd *lstnSock_Fd, CmInetAddr *peerAddr, CmInetFd *sock_Fd);
-S16 processPolling(sctpSockPollParams *pollParams, CmInetFd *sockFd, uint32_t *timeoutPtr, CmInetMemInfo *memInfo);
+uint8_t fillAddrLst(CmInetNetAddrLst *addrLstPtr, SctpIpAddr *ipAddr);
+uint8_t fillDestNetAddr(CmInetNetAddr *destAddrPtr, SctpIpAddr *dstIpPtr);
+uint8_t sctpSetSockOpts(CmInetFd *sock_Fd);
+uint8_t sctpSockPoll();
+uint8_t sctpAccept(CuSctpDestCb *destCb);
+uint8_t processPolling(sctpSockPollParams *pollParams, CuSctpDestCb *destCb, uint32_t *timeoutPtr, CmInetMemInfo *memInfo);
#endif
/**********************************************************************
#define NR_BANDWIDTH BANDWIDTH_20MHZ
#endif
+#define TRANS_ID 1
#define DU_TAC 1
#define PLMN_MCC0 3
#define PLMN_MCC1 1
CopyOfRecvdSliceCfg tempSliceCfg;
}DuCfgParams;
+typedef struct f1SetupMsg
+{
+ uint8_t f1MsgReqBufSize;
+ char *f1MsgReqBuf;
+ uint8_t f1MsgRspBufSize;
+ char *f1MsgRspBuf;
+}F1SetupMsg;
+
DuCfgParams duCfgParam;
/*function declarations */
#include "E2AP-PDU.h"
#include "du_e2ap_msg_hdl.h"
#include "odu_common_codec.h"
+#include "E2nodeComponentInterfaceF1.h"
+#include "E2setupRequest.h"
-/* Global variable */
-DuCfgParams duCfgParam;
/*******************************************************************
*
* @brief Builds Global gNodeB Params
return ret;
}
+/*******************************************************************
+ *
+ * @brief Builds E2 node config addition list
+ *
+ * @details
+ *
+ * Function : BuildE2NodeConfigAddList
+ *
+ * Functionality: Building E2 node config addition list
+ *
+ * @params[in] E2nodeComponentConfigAddition_List_t *e2NodeAddList
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ ******************************************************************/
+
+uint8_t BuildE2NodeConfigAddList(E2nodeComponentConfigAddition_List_t *e2NodeAddList)
+{
+ uint8_t arrIdx = 0;
+ E2nodeComponentConfigAddition_ItemIEs_t *e2NodeAddItemIe;
+ E2nodeComponentConfigAddition_Item_t *e2NodeAddItem;
+
+ e2NodeAddList->list.count = 1;
+ e2NodeAddList->list.size = e2NodeAddList->list.count * sizeof(E2nodeComponentConfigAddition_ItemIEs_t *);
+ DU_ALLOC(e2NodeAddList->list.array, e2NodeAddList->list.size);
+ if(e2NodeAddList->list.array == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP: Memory allocation failed for BuildE2NodeConfigAddList %d",__LINE__);
+ return RFAILED;
+ }
+
+ for(arrIdx = 0; arrIdx< e2NodeAddList->list.count; arrIdx++)
+ {
+ DU_ALLOC(e2NodeAddList->list.array[arrIdx], sizeof(E2nodeComponentConfigAddition_ItemIEs_t));
+ if(e2NodeAddList->list.array[arrIdx] == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP: Memory allocation failed for BuildE2NodeConfigAddList %d",__LINE__);
+ return RFAILED;
+ }
+ }
+
+ arrIdx = 0;
+ e2NodeAddItemIe = (E2nodeComponentConfigAddition_ItemIEs_t *) e2NodeAddList->list.array[arrIdx];
+ e2NodeAddItemIe->id = ProtocolIE_IDE2_id_E2nodeComponentConfigAddition_Item;
+ e2NodeAddItemIe->criticality = CriticalityE2_reject;
+ e2NodeAddItemIe->value.present = E2nodeComponentConfigAddition_ItemIEs__value_PR_E2nodeComponentConfigAddition_Item;
+ e2NodeAddItem = &e2NodeAddItemIe->value.choice.E2nodeComponentConfigAddition_Item;
+
+ /* E2nodeComponentInterfaceType */
+ e2NodeAddItem->e2nodeComponentInterfaceType = E2nodeComponentInterfaceType_f1;
+
+ /* E2 Node Component Request Part */
+ e2NodeAddItem->e2nodeComponentConfiguration.e2nodeComponentRequestPart.size = duCb.f1SetupReqAndRspMsg.f1MsgReqBufSize;
+ DU_ALLOC(e2NodeAddItem->e2nodeComponentConfiguration.e2nodeComponentRequestPart.buf,\
+ e2NodeAddItem->e2nodeComponentConfiguration.e2nodeComponentRequestPart.size);
+ if(e2NodeAddItem->e2nodeComponentConfiguration.e2nodeComponentRequestPart.buf == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP: Memory allocation failed for BuildE2NodeConfigAddList %d",__LINE__);
+ return RFAILED;
+ }
+
+ memcpy(e2NodeAddItem->e2nodeComponentConfiguration.e2nodeComponentRequestPart.buf,\
+ duCb.f1SetupReqAndRspMsg.f1MsgReqBuf, e2NodeAddItem->e2nodeComponentConfiguration.\
+ e2nodeComponentRequestPart.size);
+ DU_FREE(duCb.f1SetupReqAndRspMsg.f1MsgReqBuf,duCb.f1SetupReqAndRspMsg.f1MsgReqBufSize);
+
+ /* E2 Node Component Response Part */
+ e2NodeAddItem->e2nodeComponentConfiguration.e2nodeComponentResponsePart.size = duCb.f1SetupReqAndRspMsg.f1MsgRspBufSize;
+ DU_ALLOC(e2NodeAddItem->e2nodeComponentConfiguration.e2nodeComponentResponsePart.buf, \
+ e2NodeAddItem->e2nodeComponentConfiguration.e2nodeComponentResponsePart.size);
+ if(e2NodeAddItem->e2nodeComponentConfiguration.e2nodeComponentResponsePart.buf == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP: Memory allocation failed for BuildE2NodeConfigAddList %d",__LINE__);
+ return RFAILED;
+ }
+ memcpy(e2NodeAddItem->e2nodeComponentConfiguration.e2nodeComponentResponsePart.buf, \
+ duCb.f1SetupReqAndRspMsg.f1MsgRspBuf, e2NodeAddItem->e2nodeComponentConfiguration.\
+ e2nodeComponentResponsePart.size);
+ DU_FREE(duCb.f1SetupReqAndRspMsg.f1MsgRspBuf, duCb.f1SetupReqAndRspMsg.f1MsgRspBufSize);
+
+ /* E2 Node Component ID */
+ e2NodeAddItem->e2nodeComponentID.present = E2nodeComponentID_PR_e2nodeComponentInterfaceTypeF1;
+ DU_ALLOC(e2NodeAddItem->e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1,\
+ sizeof(E2nodeComponentInterfaceF1_t));
+ if(e2NodeAddItem->e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1 == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP: Memory allocation failed for BuildE2NodeConfigAddList %d",__LINE__);
+ return RFAILED;
+ }
+ e2NodeAddItem->e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1->gNB_DU_ID.size = sizeof(uint8_t);
+ DU_ALLOC(e2NodeAddItem->e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1->gNB_DU_ID.buf,\
+ e2NodeAddItem->e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1->gNB_DU_ID.size);
+
+ if(e2NodeAddItem->e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1->gNB_DU_ID.buf == NULLP)
+ {
+ DU_LOG("\nERROR -->list. E2AP: Memory allocation failed for BuildE2NodeConfigAddList %d",__LINE__);
+ return RFAILED;
+ }
+ e2NodeAddItem->e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1->gNB_DU_ID.buf[arrIdx] = duCfgParam.duId;
+ return ROK;
+
+}
+
/*******************************************************************
*
* @brief Fills the initiating IE for E2 Setup Request
uint8_t fillE2SetupReq(E2setupRequest_t **e2SetupReq, uint8_t *idx)
{
uint8_t elementCnt = 0;
- uint8_t idx2 = 0;
+ uint8_t arrIdx = 0;
uint8_t ret = ROK;
if(*e2SetupReq != NULLP)
{
- elementCnt = 1;
+ elementCnt = 3;
(*e2SetupReq)->protocolIEs.list.count = elementCnt;
- (*e2SetupReq)->protocolIEs.list.size = \
- elementCnt * sizeof(E2setupRequestIEs_t);
+ (*e2SetupReq)->protocolIEs.list.size = elementCnt * sizeof(E2setupRequestIEs_t*);
/* Initialize the E2Setup members */
DU_ALLOC((*e2SetupReq)->protocolIEs.list.array, \
- (*e2SetupReq)->protocolIEs.list.size);
+ (*e2SetupReq)->protocolIEs.list.size);
if((*e2SetupReq)->protocolIEs.list.array == NULLP)
{
- DU_LOG("\nERROR --> E2AP : Memory allocation failed for array elements");
- ret = RFAILED;
+ DU_LOG("\nERROR --> E2AP : Memory allocation failed for array elements");
+ return RFAILED;
+ }
+ for(*idx = 0; *idx < elementCnt; (*idx)++)
+ {
+ DU_ALLOC((*e2SetupReq)->protocolIEs.list.array[*idx],\
+ sizeof(E2setupRequestIEs_t));
+ if((*e2SetupReq)->protocolIEs.list.array[*idx] == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP : Memory allocation failed for arrayidx [%d]", *idx);
+ return RFAILED;
+ }
+ }
+ arrIdx = 0;
+
+ /* TransactionID */
+ (*e2SetupReq)->protocolIEs.list.array[arrIdx]->id = ProtocolIE_IDE2_id_TransactionID;
+ (*e2SetupReq)->protocolIEs.list.array[arrIdx]->criticality = CriticalityE2_reject;
+ (*e2SetupReq)->protocolIEs.list.array[arrIdx]->value.present = E2setupRequestIEs__value_PR_TransactionID;
+ (*e2SetupReq)->protocolIEs.list.array[arrIdx]->value.choice.TransactionID = TRANS_ID;
+
+ arrIdx++;
+ /* GlobalE2node_gNB_ID */
+ (*e2SetupReq)->protocolIEs.list.array[arrIdx]->id = ProtocolIE_IDE2_id_GlobalE2node_ID;
+ (*e2SetupReq)->protocolIEs.list.array[arrIdx]->criticality = CriticalityE2_reject;
+ (*e2SetupReq)->protocolIEs.list.array[arrIdx]->value.present = E2setupRequestIEs__value_PR_GlobalE2node_ID;
+ (*e2SetupReq)->protocolIEs.list.array[arrIdx]->value.choice.GlobalE2node_ID.present = GlobalE2node_ID_PR_gNB;
+
+ DU_ALLOC((*e2SetupReq)->protocolIEs.list.array[arrIdx]->value.choice.\
+ GlobalE2node_ID.choice.gNB, sizeof(GlobalE2node_gNB_ID_t));
+ if((*e2SetupReq)->protocolIEs.list.array[arrIdx]->value.choice.\
+ GlobalE2node_ID.choice.gNB == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP : Memory allocation failed for gNbId");
+ return RFAILED;
}
else
{
- for(*idx = 0; *idx < elementCnt; (*idx)++)
- {
- DU_ALLOC((*e2SetupReq)->protocolIEs.list.array[*idx],\
- sizeof(E2setupRequestIEs_t));
- if((*e2SetupReq)->protocolIEs.list.array[*idx] == NULLP)
- {
- DU_LOG("\nERROR --> E2AP : Memory allocation failed for arrayidx [%d]", *idx);
- ret = RFAILED;
- }
- else
- {
- /* GlobalE2node_gNB_ID */
- (*e2SetupReq)->protocolIEs.list.array[idx2]->id = \
- ProtocolIE_IDE2_id_GlobalE2node_ID;
- (*e2SetupReq)->protocolIEs.list.array[idx2]->criticality = \
- CriticalityE2_reject;
- (*e2SetupReq)->protocolIEs.list.array[idx2]->value.present =\
- E2setupRequestIEs__value_PR_GlobalE2node_ID;
- (*e2SetupReq)->protocolIEs.list.array[idx2]->value.choice.\
- GlobalE2node_ID.present = GlobalE2node_ID_PR_gNB;
-
- DU_ALLOC((*e2SetupReq)->protocolIEs.list.array[idx2]->value.choice.\
- GlobalE2node_ID.choice.gNB, sizeof(GlobalE2node_gNB_ID_t));
- if((*e2SetupReq)->protocolIEs.list.array[idx2]->value.choice.\
- GlobalE2node_ID.choice.gNB == NULLP)
- {
- DU_LOG("\nERROR --> E2AP : Memory allocation failed for gNbId");
- ret = RFAILED;
- }
- else
- {
- ret = BuildGlobalgNBId((*e2SetupReq)->protocolIEs.list.array[idx2]->value.\
- choice.GlobalE2node_ID.choice.gNB);
- if(ret != ROK)
- {
- ret = RFAILED;
- }
- }
-
- }
- }
+ ret = BuildGlobalgNBId((*e2SetupReq)->protocolIEs.list.array[arrIdx]->value.\
+ choice.GlobalE2node_ID.choice.gNB);
+ if(ret != ROK)
+ {
+ DU_LOG("\nERROR --> E2AP : Failed to build Global Gnb Id");
+ return RFAILED;
+ }
+ }
+
+ arrIdx++;
+ /* E2 Node Component Configuration Addition List */
+ (*e2SetupReq)->protocolIEs.list.array[arrIdx]->id = ProtocolIE_IDE2_id_E2nodeComponentConfigAddition;
+ (*e2SetupReq)->protocolIEs.list.array[arrIdx]->criticality = CriticalityE2_reject;
+ (*e2SetupReq)->protocolIEs.list.array[arrIdx]->value.present = E2setupRequestIEs__value_PR_E2nodeComponentConfigAddition_List;
+ if(BuildE2NodeConfigAddList(&((*e2SetupReq)->protocolIEs.list.array[arrIdx]->value.choice.E2nodeComponentConfigAddition_List))!=ROK)
+ {
+ DU_LOG("\nERROR --> E2AP : Failed to E2 Node config addition list");
+ return RFAILED;
}
+
}
else
{
- ret = RFAILED;
DU_LOG("\nERROR --> E2AP : received e2SetupReq is NULL");
+ return RFAILED;
+ }
+ return ROK;
+}
+
+
+/*******************************************************************
+ *
+ * @brief De Allocate E2 Setup Request Message
+ *
+ * @details
+ *
+ * Function : FreeE2SetupReq
+ *
+ * Functionality: De-Allocating E2 Setup request Message
+ *
+ * @params[in] E2AP_PDU_t *e2apMsg
+
+ * @return void
+ *
+ * ****************************************************************/
+
+void FreeE2SetupReq(E2AP_PDU_t *e2apMsg)
+{
+ uint8_t arrIdx = 0;
+ uint8_t e2NodeAddListIdx =0;
+ E2setupRequest_t *e2SetupReq;
+ E2nodeComponentConfigAddition_List_t *e2NodeAddList;
+ E2nodeComponentConfigAddition_ItemIEs_t *e2NodeAddItem;
+
+ /* De-allocating Memory */
+ if(e2apMsg != NULLP)
+ {
+ if(e2apMsg->choice.initiatingMessage != NULLP)
+ {
+ e2SetupReq = &e2apMsg->choice.initiatingMessage->value.choice.E2setupRequest;
+ if(e2SetupReq->protocolIEs.list.array != NULLP)
+ {
+ for(arrIdx = 0; arrIdx < e2SetupReq->protocolIEs.list.count; arrIdx++)
+ {
+ if(e2SetupReq->protocolIEs.list.array[arrIdx] != NULLP)
+ {
+ switch(e2SetupReq->protocolIEs.list.array[arrIdx]->id)
+ {
+ case ProtocolIE_IDE2_id_TransactionID:
+ break;
+ case ProtocolIE_IDE2_id_GlobalE2node_ID:
+ {
+ if(e2SetupReq->protocolIEs.list.array[arrIdx]->\
+ value.choice.GlobalE2node_ID.choice.gNB != NULLP)
+ {
+ GlobalE2node_gNB_ID_t *gNbId = NULLP;
+ gNbId = e2SetupReq->protocolIEs.list.array[arrIdx]->\
+ value.choice.GlobalE2node_ID.choice.gNB;
+ if(gNbId->global_gNB_ID.plmn_id.buf != NULLP)
+ {
+ DU_FREE(gNbId->global_gNB_ID.gnb_id.choice.gnb_ID.buf,\
+ gNbId->global_gNB_ID.gnb_id.choice.gnb_ID.size);
+ DU_FREE(gNbId->global_gNB_ID.plmn_id.buf,\
+ gNbId->global_gNB_ID.plmn_id.size);
+ }
+ DU_FREE(e2SetupReq->protocolIEs.list.array[arrIdx]->value.\
+ choice.GlobalE2node_ID.choice.gNB, sizeof(GlobalE2node_gNB_ID_t));
+ }
+ break;
+ }
+ case ProtocolIE_IDE2_id_E2nodeComponentConfigAddition:
+ {
+ e2NodeAddList = &e2SetupReq->protocolIEs.list.array[arrIdx]->value.choice.E2nodeComponentConfigAddition_List;
+ if(e2NodeAddList->list.array)
+ {
+ for(e2NodeAddListIdx = 0; e2NodeAddListIdx< e2NodeAddList->list.count; e2NodeAddListIdx++)
+ {
+ e2NodeAddItem = (E2nodeComponentConfigAddition_ItemIEs_t *) e2NodeAddList->list.array[e2NodeAddListIdx];
+
+ /* Free E2 Node Component Request Part */
+ DU_FREE(e2NodeAddItem->value.choice.E2nodeComponentConfigAddition_Item.e2nodeComponentConfiguration.e2nodeComponentRequestPart.buf,\
+ e2NodeAddItem->value.choice.E2nodeComponentConfigAddition_Item.e2nodeComponentConfiguration.e2nodeComponentRequestPart.size);
+
+ /* Free E2 Node Component Response Part */
+ DU_FREE(e2NodeAddItem->value.choice.E2nodeComponentConfigAddition_Item.e2nodeComponentConfiguration.\
+ e2nodeComponentResponsePart.buf, \
+ e2NodeAddItem->value.choice.E2nodeComponentConfigAddition_Item.e2nodeComponentConfiguration.e2nodeComponentResponsePart.size);
+
+ /* Free E2 Node Component ID */
+ if(e2NodeAddItem->value.choice.E2nodeComponentConfigAddition_Item.e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1)
+ {
+ DU_FREE(e2NodeAddItem->value.choice.E2nodeComponentConfigAddition_Item.e2nodeComponentID.choice.\
+ e2nodeComponentInterfaceTypeF1->gNB_DU_ID.buf,\
+ e2NodeAddItem->value.choice.E2nodeComponentConfigAddition_Item.e2nodeComponentID.choice.\
+ e2nodeComponentInterfaceTypeF1->gNB_DU_ID.size);
+ DU_FREE(e2NodeAddItem->value.choice.E2nodeComponentConfigAddition_Item.e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1,\
+ sizeof(E2nodeComponentInterfaceF1_t));
+ }
+ DU_FREE(e2NodeAddList->list.array[e2NodeAddListIdx], sizeof(E2nodeComponentConfigAddition_ItemIEs_t));
+ }
+ DU_FREE(e2NodeAddList->list.array, e2NodeAddList->list.size);
+ }
+ break;
+ }
+ default:
+ DU_LOG("\nERROR --> E2AP: Invalid event at e2SetupRequet %ld ",\
+ (e2SetupReq->protocolIEs.list.array[arrIdx]->id));
+ break;
+ }
+ DU_FREE(e2SetupReq->protocolIEs.list.array[arrIdx], sizeof(E2setupRequestIEs_t));
+ }
+ }
+ DU_FREE(e2SetupReq->protocolIEs.list.array, e2SetupReq->protocolIEs.list.size);
+ }
+ DU_FREE(e2apMsg->choice.initiatingMessage, sizeof(InitiatingMessageE2_t));
+ }
+ DU_FREE(e2apMsg, sizeof(E2AP_PDU_t));
}
- return ret;
}
/*******************************************************************
DU_ALLOC(e2apMsg, sizeof(E2AP_PDU_t));
if(e2apMsg == NULLP)
{
- DU_LOG("\nERROR --> E2AP : Memory allocation for E2AP-PDU failed");
- break;
+ DU_LOG("\nERROR --> E2AP : Memory allocation for E2AP-PDU failed");
+ break;
}
e2apMsg->present = E2AP_PDU_PR_initiatingMessage;
DU_ALLOC(e2apMsg->choice.initiatingMessage, sizeof(InitiatingMessageE2_t));
if(e2apMsg->choice.initiatingMessage == NULLP)
{
- DU_LOG("\nERROR --> E2AP : Memory allocation for E2AP-PDU failed");
- DU_FREE(e2apMsg, sizeof(E2AP_PDU_t));
- return RFAILED;
+ DU_LOG("\nERROR --> E2AP : Memory allocation for E2AP-PDU failed");
+ DU_FREE(e2apMsg, sizeof(E2AP_PDU_t));
+ return RFAILED;
}
e2apMsg->choice.initiatingMessage->criticality = CriticalityE2_reject;
e2apMsg->choice.initiatingMessage->procedureCode = ProcedureCodeE2_id_E2setup;
ret = fillE2SetupReq(&e2SetupReq, &idx);
if(ret != ROK)
{
- DU_LOG("\nERROR --> E2AP : fillE2SetupReq() failed");
- break;
+ DU_LOG("\nERROR --> E2AP : fillE2SetupReq() failed");
+ break;
}
/* Prints the Msg formed */
xer_fprint(stdout, &asn_DEF_E2AP_PDU, e2apMsg);
memset(encBuf, 0, ENC_BUF_MAX_LEN);
encBufSize = 0;
encRetVal = aper_encode(&asn_DEF_E2AP_PDU, 0, e2apMsg, PrepFinalEncBuf,\
- encBuf);
+ encBuf);
if(encRetVal.encoded == ENCODE_FAIL)
{
- DU_LOG("\nERROR --> E2AP : Could not encode E2SetupRequest structure (at %s)\n",\
- encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
- break;
+ DU_LOG("\nERROR --> E2AP : Could not encode E2SetupRequest structure (at %s)\n",\
+ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+ break;
}
else
{
- DU_LOG("\nDEBUG --> E2AP : Created APER encoded buffer for E2SetupRequest\n");
- for(int i=0; i< encBufSize; i++)
- {
- printf("%x",encBuf[i]);
- }
+ DU_LOG("\nDEBUG --> E2AP : Created APER encoded buffer for E2SetupRequest\n");
+ for(int i=0; i< encBufSize; i++)
+ {
+ printf("%x",encBuf[i]);
+ }
}
if(SendE2APMsg(DU_APP_MEM_REGION, DU_POOL) != ROK)
{
- DU_LOG("\nERROR --> E2AP : Sending E2 Setup request failed");
+ DU_LOG("\nERROR --> E2AP : Sending E2 Setup request failed");
}
break;
}while(true);
- deAllocateE2SetupReqMsg(e2apMsg, e2SetupReq, idx);
+ FreeE2SetupReq(e2apMsg);
return ret;
}/* End of BuildAndSendE2SetupReq */
-/*******************************************************************
- *
- * @brief De Allocate E2 Setup Request Message
- *
- * @details
- *
- * Function : deAllocateE2SetupReqMsg
- *
- * Functionality: De-Allocating E2 Setup request Message
- *
- * @params[in] E2AP_PDU_t *e2apMsg
- * E2setupRequest_t *e2SetupReq
- * @return ROK - success
- * RFAILED - failure
- *
- * ****************************************************************/
-
-uint8_t deAllocateE2SetupReqMsg(E2AP_PDU_t *e2apMsg, \
- E2setupRequest_t *e2SetupReq, uint8_t idx)
-{
- uint8_t idx2;
- uint8_t ret = ROK;
- /* De-allocating Memory */
- if(e2apMsg != NULLP)
- {
- if(e2apMsg->choice.initiatingMessage != NULLP)
- {
- if(e2SetupReq->protocolIEs.list.array != NULLP)
- {
- for(idx2 = 0; idx2 < idx; idx2++)
- {
- if(e2SetupReq->protocolIEs.list.array[idx2] != NULLP)
- {
- switch(e2SetupReq->protocolIEs.list.array[idx2]->id)
- {
- case ProtocolIE_IDE2_id_GlobalE2node_ID:
- {
- if(e2SetupReq->protocolIEs.list.array[idx2]->\
- value.choice.GlobalE2node_ID.choice.gNB != NULLP)
- {
- GlobalE2node_gNB_ID_t *gNbId = NULLP;
- gNbId = e2SetupReq->protocolIEs.list.array[idx2]->\
- value.choice.GlobalE2node_ID.choice.gNB;
- if(gNbId->global_gNB_ID.plmn_id.buf != NULLP)
- {
- if(gNbId->global_gNB_ID.gnb_id.choice.gnb_ID.buf != NULLP)
- {
- DU_FREE(gNbId->global_gNB_ID.gnb_id.choice.gnb_ID.buf,\
- gNbId->global_gNB_ID.gnb_id.choice.gnb_ID.size);
- }
- DU_FREE(gNbId->global_gNB_ID.plmn_id.buf,\
- gNbId->global_gNB_ID.plmn_id.size);
- }
- DU_FREE(e2SetupReq->protocolIEs.list.array[idx2]->value.\
- choice.GlobalE2node_ID.choice.gNB, sizeof(GlobalE2node_gNB_ID_t));
- }
- DU_FREE(e2SetupReq->protocolIEs.list.array[idx2],\
- sizeof(E2setupRequestIEs_t));
- break;
- }
- default:
- DU_LOG("\nERROR --> E2AP: Invalid event at e2SetupRequet %ld ",\
- (e2SetupReq->protocolIEs.list.array[idx2]->id));
- break;
- }
- }
- }
- DU_FREE(e2SetupReq->protocolIEs.list.array, e2SetupReq->protocolIEs.list.size);
- }
- DU_FREE(e2apMsg->choice.initiatingMessage, sizeof(InitiatingMessageE2_t));
- }
- DU_FREE(e2apMsg, sizeof(E2AP_PDU_t));
- }
- return ret;
-}
/*******************************************************************
*
* @brief Builds Ric Request Id
return ret;
}
+
+/******************************************************************
+ *
+ * @brief Deallocation of memory allocated bu aper decoder for e2 setup response
+ *
+ * @details
+ *
+ * Function : freeAperDecodingOfE2SetupRsp
+ *
+ * Functionality: Deallocation of memory allocated bu aper decoder for e2
+ * setup response
+ *
+ * @params[in] E2setupResponse_t *e2SetRspMsg;
+ * @return void
+ *
+ * ****************************************************************/
+void freeAperDecodingOfE2SetupRsp(E2setupResponse_t *e2SetRspMsg)
+{
+ uint8_t arrIdx, e2NodeConfigAddAckListIdx;
+ E2nodeComponentConfigAdditionAck_ItemIEs_t *e2NodeAddAckItem;
+ E2nodeComponentConfigAdditionAck_List_t *e2NodeConfigAddAckList;
+
+ if(e2SetRspMsg)
+ {
+ if(e2SetRspMsg->protocolIEs.list.array)
+ {
+ for(arrIdx=0; arrIdx<e2SetRspMsg->protocolIEs.list.count; arrIdx++)
+ {
+ if(e2SetRspMsg->protocolIEs.list.array[arrIdx])
+ {
+ switch(e2SetRspMsg->protocolIEs.list.array[arrIdx]->id)
+ {
+ case ProtocolIE_IDE2_id_TransactionID:
+ break;
+
+ case ProtocolIE_IDE2_id_GlobalRIC_ID:
+ {
+ free(e2SetRspMsg->protocolIEs.list.array[arrIdx]->value.choice.GlobalRIC_ID.pLMN_Identity.buf);
+ free(e2SetRspMsg->protocolIEs.list.array[arrIdx]->value.choice.GlobalRIC_ID.ric_ID.buf);
+ break;
+ }
+
+ case ProtocolIE_IDE2_id_E2nodeComponentConfigAdditionAck:
+ {
+ e2NodeConfigAddAckList = &e2SetRspMsg->protocolIEs.list.array[arrIdx]->value.choice.E2nodeComponentConfigAdditionAck_List;
+ if(e2NodeConfigAddAckList->list.array )
+ {
+ for(e2NodeConfigAddAckListIdx = 0; e2NodeConfigAddAckListIdx< e2NodeConfigAddAckList->list.count; e2NodeConfigAddAckListIdx++)
+ {
+ if(e2NodeConfigAddAckList->list.array[e2NodeConfigAddAckListIdx])
+ {
+ e2NodeAddAckItem = (E2nodeComponentConfigAdditionAck_ItemIEs_t*) e2NodeConfigAddAckList->list.array[e2NodeConfigAddAckListIdx];
+ free(e2NodeAddAckItem->value.choice.E2nodeComponentConfigAdditionAck_Item.e2nodeComponentID.choice.\
+ e2nodeComponentInterfaceTypeF1->gNB_DU_ID.buf);
+ free(e2NodeAddAckItem->value.choice.E2nodeComponentConfigAdditionAck_Item.e2nodeComponentID.choice.\
+ e2nodeComponentInterfaceTypeF1);
+ free(e2NodeConfigAddAckList->list.array[e2NodeConfigAddAckListIdx]);
+ }
+ }
+ free(e2NodeConfigAddAckList->list.array);
+ }
+ break;
+ }
+ }
+ free(e2SetRspMsg->protocolIEs.list.array[arrIdx]);
+ }
+ }
+ free(e2SetRspMsg->protocolIEs.list.array);
+ }
+ }
+}
/******************************************************************
*
* @brief Processes E2 Setup Response sent by RIC
* ****************************************************************/
uint8_t procE2SetupRsp(E2AP_PDU_t *e2apMsg)
{
- uint8_t idx;
+ uint8_t arrIdx =0;
uint32_t recvBufLen;
E2setupResponse_t *e2SetRspMsg;
duCb.e2Status = TRUE; //Set E2 status as true
e2SetRspMsg = &e2apMsg->choice.successfulOutcome->value.choice.E2setupResponse;
- for(idx=0; idx<e2SetRspMsg->protocolIEs.list.count; idx++)
+ for(arrIdx=0; arrIdx<e2SetRspMsg->protocolIEs.list.count; arrIdx++)
{
- switch(e2SetRspMsg->protocolIEs.list.array[idx]->id)
+ switch(e2SetRspMsg->protocolIEs.list.array[arrIdx]->id)
{
- case ProtocolIE_IDE2_id_GlobalRIC_ID:
- {
- /* To store the Ric Id Params */
- recvBufLen = sizeof(e2SetRspMsg->protocolIEs.list.array[idx]->value\
- .choice.GlobalRIC_ID.pLMN_Identity.size);
- e2apMsgDb.plmn = NULLP;
- DU_ALLOC(e2apMsgDb.plmn, recvBufLen);
- if(e2apMsgDb.plmn)
- {
- memcpy(e2apMsgDb.plmn, e2SetRspMsg->protocolIEs.list.array[idx]\
- ->value.choice.GlobalRIC_ID.pLMN_Identity.buf, recvBufLen);
- free(e2SetRspMsg->protocolIEs.list.array[idx]->value.choice.\
- GlobalRIC_ID.pLMN_Identity.buf);
- }
- bitStringToInt(&e2SetRspMsg->protocolIEs.list.array[idx]->value.choice.GlobalRIC_ID.ric_ID, &e2apMsgDb.ricId);
- free(e2SetRspMsg->protocolIEs.list.array[idx]->value.choice.\
- GlobalRIC_ID.ric_ID.buf);
- /*TODO : e2apMsgDb.plmn memory to be deallocated after the usage */
- break;
- }
- default:
- DU_LOG("\nERROR --> E2AP : Invalid IE received in E2SetupRsp:%ld",
- e2SetRspMsg->protocolIEs.list.array[idx]->id);
- break;
+ case ProtocolIE_IDE2_id_TransactionID:
+ break;
+
+ case ProtocolIE_IDE2_id_GlobalRIC_ID:
+ {
+ /* To store the Ric Id Params */
+ recvBufLen = sizeof(e2SetRspMsg->protocolIEs.list.array[arrIdx]->value\
+ .choice.GlobalRIC_ID.pLMN_Identity.size);
+ e2apMsgDb.plmn = NULLP;
+ DU_ALLOC(e2apMsgDb.plmn, recvBufLen);
+ if(e2apMsgDb.plmn)
+ {
+ memcpy(e2apMsgDb.plmn, e2SetRspMsg->protocolIEs.list.array[arrIdx]\
+ ->value.choice.GlobalRIC_ID.pLMN_Identity.buf, recvBufLen);
+ }
+ bitStringToInt(&e2SetRspMsg->protocolIEs.list.array[arrIdx]->value.choice.GlobalRIC_ID.ric_ID, &e2apMsgDb.ricId);
+ /*TODO : e2apMsgDb.plmn memory to be deallocated after the usage */
+ break;
+ }
+
+ case ProtocolIE_IDE2_id_E2nodeComponentConfigAdditionAck:
+ break;
+
+ default:
+ DU_LOG("\nERROR --> E2AP : Invalid IE received in E2SetupRsp:%ld",
+ e2SetRspMsg->protocolIEs.list.array[arrIdx]->id);
+ break;
}
- free(e2SetRspMsg->protocolIEs.list.array[idx]);
}
- free(e2SetRspMsg->protocolIEs.list.array);
+ freeAperDecodingOfE2SetupRsp(e2SetRspMsg);
+ BuildAndSendE2NodeConfigUpdate();
return ROK;
}
return ROK;
} /* SendE2APMsg */
+/*******************************************************************
+ *
+ * @brief Deallocate the memory allocated for E2nodeConfigurationUpdate msg
+ *
+ * @details
+ *
+ * Function : FreeE2NodeConfigUpdate
+ *
+ * Functionality:
+ * - freeing the memory allocated for E2nodeConfigurationUpdate
+ *
+ * @params[in] E2AP_PDU_t *e2apMsg
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ * ****************************************************************/
+void FreeE2NodeConfigUpdate(E2AP_PDU_t *e2apMsg)
+{
+ uint8_t arrIdx =0;
+ E2nodeConfigurationUpdate_t *e2NodeConfigUpdate;
+
+ if(e2apMsg != NULLP)
+ {
+ if(e2apMsg->choice.initiatingMessage != NULLP)
+ {
+ e2NodeConfigUpdate = &e2apMsg->choice.initiatingMessage->value.choice.E2nodeConfigurationUpdate;
+ if(e2NodeConfigUpdate->protocolIEs.list.array != NULLP)
+ {
+ for(arrIdx = 0; arrIdx < e2NodeConfigUpdate->protocolIEs.list.count; arrIdx++)
+ {
+ DU_FREE(e2NodeConfigUpdate->protocolIEs.list.array[arrIdx], sizeof(E2nodeConfigurationUpdate_t));
+ }
+ DU_FREE(e2NodeConfigUpdate->protocolIEs.list.array, e2NodeConfigUpdate->protocolIEs.list.size);
+ }
+ DU_FREE(e2apMsg->choice.initiatingMessage, sizeof(InitiatingMessageE2_t));
+ }
+ DU_FREE(e2apMsg, sizeof(E2AP_PDU_t));
+ }
+}
+
+/*******************************************************************
+ *
+ * @brief Buld and send the E2 node config update msg
+ *
+ * @details
+ *
+ * Function : BuildAndSendE2NodeConfigUpdate
+ *
+ * Functionality:
+ * - Buld and send the E2 node config update msg
+ *
+ * @params[in]
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ * ****************************************************************/
+
+uint8_t BuildAndSendE2NodeConfigUpdate()
+{
+ uint8_t arrIdx = 0,elementCnt = 1;
+ uint8_t ret = ROK;
+ E2AP_PDU_t *e2apMsg = NULLP;
+ E2nodeConfigurationUpdate_t *e2NodeConfigUpdate = NULLP;
+ asn_enc_rval_t encRetVal; /* Encoder return value */
+
+ DU_LOG("\nINFO --> E2AP : Building E2 Node config update\n");
+ do
+ {
+ DU_ALLOC(e2apMsg, sizeof(E2AP_PDU_t));
+ if(e2apMsg == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP : Memory allocation for E2AP-PDU failed");
+ break;
+ }
+ e2apMsg->present = E2AP_PDU_PR_initiatingMessage;
+ DU_ALLOC(e2apMsg->choice.initiatingMessage, sizeof(InitiatingMessageE2_t));
+ if(e2apMsg->choice.initiatingMessage == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP : Memory allocation for E2AP-PDU failed");
+ DU_FREE(e2apMsg, sizeof(E2AP_PDU_t));
+ return RFAILED;
+ }
+ e2apMsg->choice.initiatingMessage->criticality = CriticalityE2_reject;
+ e2apMsg->choice.initiatingMessage->procedureCode = ProcedureCodeE2_id_E2nodeConfigurationUpdate;
+ e2apMsg->choice.initiatingMessage->value.present = \
+ InitiatingMessageE2__value_PR_E2nodeConfigurationUpdate;
+ e2NodeConfigUpdate = &e2apMsg->choice.initiatingMessage->value.choice.E2nodeConfigurationUpdate;
+
+ e2NodeConfigUpdate->protocolIEs.list.count = elementCnt;
+ e2NodeConfigUpdate->protocolIEs.list.size = elementCnt * sizeof(E2nodeConfigurationUpdate_IEs_t*);
+ /* Initialize the Ric Indication members */
+ DU_ALLOC(e2NodeConfigUpdate->protocolIEs.list.array, \
+ e2NodeConfigUpdate->protocolIEs.list.size);
+ if(e2NodeConfigUpdate->protocolIEs.list.array == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP : Memory allocation for e2NodeConfigUpdate failed");
+ break;
+ }
+
+ for(arrIdx =0; arrIdx<elementCnt; arrIdx++)
+ {
+ DU_ALLOC(e2NodeConfigUpdate->protocolIEs.list.array[arrIdx], sizeof(E2nodeConfigurationUpdate_IEs_t));
+ if(e2NodeConfigUpdate->protocolIEs.list.array[arrIdx] == NULLP)
+ {
+
+ DU_LOG("\nERROR --> E2AP : Memory allocation for e2NodeConfigUpdate failed");
+ break;
+ }
+ }
+
+ arrIdx = 0;
+ /* TransactionID */
+ e2NodeConfigUpdate->protocolIEs.list.array[arrIdx]->id = ProtocolIE_IDE2_id_TransactionID;
+ e2NodeConfigUpdate->protocolIEs.list.array[arrIdx]->criticality = CriticalityE2_reject;
+ e2NodeConfigUpdate->protocolIEs.list.array[arrIdx]->value.present = E2nodeConfigurationUpdate_IEs__value_PR_TransactionID;
+ e2NodeConfigUpdate->protocolIEs.list.array[arrIdx]->value.choice.TransactionID = TRANS_ID;
+
+
+ /* Prints the Msg formed */
+ xer_fprint(stdout, &asn_DEF_E2AP_PDU, e2apMsg);
+
+ memset(encBuf, 0, ENC_BUF_MAX_LEN);
+ encBufSize = 0;
+ encRetVal = aper_encode(&asn_DEF_E2AP_PDU, 0, e2apMsg, PrepFinalEncBuf,\
+ encBuf);
+ if(encRetVal.encoded == ENCODE_FAIL)
+ {
+ DU_LOG("\nERROR --> E2AP : Could not encode E2nodeConfigurationUpdate structure (at %s)\n",\
+ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+ break;
+ }
+ else
+ {
+ DU_LOG("\nDEBUG --> E2AP : Created APER encoded buffer for E2nodeConfigurationUpdate\n");
+ for(int i=0; i< encBufSize; i++)
+ {
+ printf("%x",encBuf[i]);
+ }
+ }
+ if(SendE2APMsg(DU_APP_MEM_REGION, DU_POOL) != ROK)
+ {
+ DU_LOG("\nERROR --> E2AP : Sending E2 node config update failed");
+ return RFAILED;
+ }
+
+ break;
+ }while(true);
+
+ FreeE2NodeConfigUpdate(e2apMsg);
+ return ret;
+}
+
/*******************************************************************
*
* @brief Handles received E2AP message and sends back response
switch(e2apMsg->present)
{
case E2AP_PDU_PR_successfulOutcome:
- {
- switch(e2apMsg->choice.successfulOutcome->value.present)
- {
- case SuccessfulOutcomeE2__value_PR_E2setupResponse:
- {
- if(!duCb.e2Status)
- {
- DU_LOG("\nDEBUG --> E2AP : Store E2 setup response Params");
- procE2SetupRsp(e2apMsg);
- }
- break;
- }
- default:
- {
- DU_LOG("\nERROR --> E2AP : Invalid type of E2AP_PDU_PR_successfulOutcome [%d]",\
- e2apMsg->choice.successfulOutcome->value.present);
- return;
- }
- }/* End of switch(successfulOutcome) */
- free(e2apMsg->choice.successfulOutcome);
- break;
- }
+ {
+ switch(e2apMsg->choice.successfulOutcome->value.present)
+ {
+ case SuccessfulOutcomeE2__value_PR_E2setupResponse:
+ {
+ if(!duCb.e2Status)
+ {
+ DU_LOG("\nDEBUG --> E2AP : Store E2 setup response Params");
+ procE2SetupRsp(e2apMsg);
+ }
+ break;
+ }
+ case SuccessfulOutcomeE2__value_PR_E2nodeConfigurationUpdateAcknowledge:
+ {
+ DU_LOG("\nDEBUG --> E2AP : E2 node Config update ack message recevied");
+ break;
+ }
+ default:
+ {
+ DU_LOG("\nERROR --> E2AP : Invalid type of E2AP_PDU_PR_successfulOutcome [%d]",\
+ e2apMsg->choice.successfulOutcome->value.present);
+ return;
+ }
+ }/* End of switch(successfulOutcome) */
+ free(e2apMsg->choice.successfulOutcome);
+ break;
+ }
case E2AP_PDU_PR_initiatingMessage:
- {
- switch(e2apMsg->choice.initiatingMessage->value.present)
- {
- case InitiatingMessageE2__value_PR_RICsubscriptionRequest:
- {
- if(procRicSubsReq(e2apMsg) == ROK)
- {
- BuildAndSendRicIndication();
- }
- break;
- }
- default:
- {
- DU_LOG("\nERROR --> E2AP : Invalid type of E2AP_PDU_PR_initiatingMessage [%d]",\
- e2apMsg->choice.initiatingMessage->value.present);
- return;
- }
- }/* End of switch(initiatingMessage) */
- free(e2apMsg->choice.initiatingMessage);
- break;
- }
+ {
+ switch(e2apMsg->choice.initiatingMessage->value.present)
+ {
+ case InitiatingMessageE2__value_PR_RICsubscriptionRequest:
+ {
+ if(procRicSubsReq(e2apMsg) == ROK)
+ {
+ BuildAndSendRicIndication();
+ }
+ break;
+ }
+ default:
+ {
+ DU_LOG("\nERROR --> E2AP : Invalid type of E2AP_PDU_PR_initiatingMessage [%d]",\
+ e2apMsg->choice.initiatingMessage->value.present);
+ return;
+ }
+ }/* End of switch(initiatingMessage) */
+ free(e2apMsg->choice.initiatingMessage);
+ break;
+ }
default:
{
DU_LOG("\nERROR --> E2AP : Invalid type of e2apMsg->present [%d]",e2apMsg->present);
/* This file contains all E2AP message handler related functionality */
-#include "E2setupRequest.h"
#define ENCODE_FAIL -1
uint8_t sctpSend(Buffer *mBuf, uint8_t itfType);
uint8_t BuildAndSendE2SetupReq();
uint8_t SendE2APMsg(Region , Pool );
void E2APMsgHdlr(Buffer *mBuf);
-uint8_t deAllocateE2SetupReqMsg(E2AP_PDU_t *e2apMsg, E2setupRequest_t *e2SetupReq, uint8_t idx);
+uint8_t BuildAndSendE2NodeConfigUpdate();
/**********************************************************************
End of file
**********************************************************************/
#include "GTPTunnel.h"
#include "SupportedSULFreqBandItem.h"
#include "du_sys_info_hdl.h"
+#include "du_e2ap_msg_hdl.h"
#ifdef O1_ENABLE
#include "CmInterface.h"
/* Encode results */
if(encRetVal.encoded == ENCODE_FAIL)
{
- DU_LOG("\nERROR --> F1AP : Could not encode F1SetupRequest structure (at %s)\n",\
- encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
- break;
+ DU_LOG("\nERROR --> F1AP : Could not encode F1SetupRequest structure (at %s)\n",\
+ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+ break;
}
else
{
- DU_LOG("\nDEBUG --> F1AP : Created APER encoded buffer for F1SetupRequest\n");
- for(ieIdx=0; ieIdx< encBufSize; ieIdx++)
- {
- printf("%x",encBuf[ieIdx]);
- }
+ DU_LOG("\nDEBUG --> F1AP : Created APER encoded buffer for F1SetupRequest\n");
+ for(ieIdx=0; ieIdx< encBufSize; ieIdx++)
+ {
+ printf("%x",encBuf[ieIdx]);
+ }
+
+ duCb.f1SetupReqAndRspMsg.f1MsgReqBufSize = encBufSize;
+ DU_ALLOC(duCb.f1SetupReqAndRspMsg.f1MsgReqBuf, encBufSize);
+ if(duCb.f1SetupReqAndRspMsg.f1MsgReqBuf == NULLP)
+ {
+ DU_LOG("\nERROR --> F1AP : Memory allocation failed to store the encoding of f1setup req");
+ return RFAILED;
+ }
+ memcpy(duCb.f1SetupReqAndRspMsg.f1MsgReqBuf, &encBuf, duCb.f1SetupReqAndRspMsg.f1MsgReqBufSize);
}
/* Sending msg */
if(sendF1APMsg() != ROK)
{
- DU_LOG("\nERROR --> F1AP : Sending F1 Setup request failed");
- break;
+ DU_LOG("\nERROR --> F1AP : Sending F1 Setup request failed");
+ break;
}
ret=ROK;
* RFAILED - failure
*
* ****************************************************************/
-uint8_t procF1SetupRsp(F1AP_PDU_t *f1apMsg)
+uint8_t procF1SetupRsp(F1AP_PDU_t *f1apMsg, MsgLen recvBufLen, char *recvBuf)
{
uint8_t ret = ROK;
uint16_t idx =0;
}
freeAperDecodeF1SetupRsp(f1SetRspMsg);
+
+ duCb.f1SetupReqAndRspMsg.f1MsgRspBufSize = recvBufLen;
+ DU_ALLOC(duCb.f1SetupReqAndRspMsg.f1MsgRspBuf, duCb.f1SetupReqAndRspMsg.f1MsgRspBufSize);
+ if(duCb.f1SetupReqAndRspMsg.f1MsgReqBuf == NULLP)
+ {
+ DU_LOG("\nERROR --> F1AP : Memory allocation failed to store the buf of F1setup response");
+ return RFAILED;
+ }
+ memcpy(duCb.f1SetupReqAndRspMsg.f1MsgRspBuf, recvBuf, recvBufLen);
+
+ if(BuildAndSendE2SetupReq() != ROK)
+ {
+ DU_LOG("\nERROR --> F1AP : Failed to build and send E2 setup request ");
+ return RFAILED;
+ }
return ret;
}
/*******************************************************************
memset(f1apMsg, 0, sizeof(F1AP_PDU_t));
rval = aper_decode(0, &asn_DEF_F1AP_PDU, (void **)&f1apMsg, recvBuf, recvBufLen, 0, 0);
- DU_FREE(recvBuf, (Size)recvBufLen);
if(rval.code == RC_FAIL || rval.code == RC_WMORE)
{
case SuccessfulOutcome__value_PR_F1SetupResponse:
{
#ifndef ODU_TEST_STUB
- procF1SetupRsp(f1apMsg);
+ procF1SetupRsp(f1apMsg, recvBufLen, recvBuf);
#endif
break;
}
free(f1apMsg);
}/* End of switch(f1apMsg->present) */
-
+
+ DU_FREE(recvBuf, (Size)recvBufLen);
} /* End of F1APMsgHdlr */
/**********************************************************************
/* This file contains all F1AP message handler related functionality */
-#define TRANS_ID 1
#define RRC_SIZE 1
#define SUL_BAND_COUNT 0
#define UL_SRBID 1
/* pointer to store the address of macCellCfg params used to send du-app to MAC */
MacCellCfg *duMacCellCfg;
CellStatus cellStatus; /* Cell status */
- uint32_t gnbDuUeF1apIdGenerator; /* Generating Du Ue F1ap Id */
uint32_t numActvUes; /* Total Active UEs */
DuUeCb ueCb[MAX_NUM_UE]; /* UE CONTEXT */
}DuCellCb;
DuCellCb* cfgCellLst[MAX_NUM_CELL]; /* List of cells at DU APP of type DuCellCb */
uint8_t numActvCells; /* Number of active cells */
DuCellCb* actvCellLst[MAX_NUM_CELL]; /* List of cells activated/to be activated of type DuCellCb */
+ uint32_t gnbDuUeF1apIdGenerator; /* Generating Du Ue F1ap Id */
uint32_t numUe; /* current number of UEs */
UeCcchCtxt ueCcchCtxt[MAX_NUM_UE]; /* mapping of gnbDuUeF1apId to CRNTI required for CCCH processing*/
uint8_t numTeId; /* current number of TEIDs configured in the system*/
UpTnlCfg* upTnlCfg[MAX_TEID]; /* tunnel info for every Drb */
CmLListCp reservedF1apPduList; /*storing F1AP pdu infomation and transId */
SliceCfgState sliceState;
+ F1SetupMsg f1SetupReqAndRspMsg;
}DuCb;
memset(duCb.ueCcchCtxt, 0, MAX_NUM_UE * sizeof(UeCcchCtxt));
duCb.numCfgCells = 0;
duCb.numActvCells = 0;
+ duCb.gnbDuUeF1apIdGenerator = 0;
cmLListInit(&duCb.reservedF1apPduList);
ODU_SET_PROC_ID(DU_PROC);
uint8_t packRlcConfigReq(Pst *pst, RlcMngmt *cfg);
uint8_t cmPkLkwCntrlReq(Pst *pst, RlcMngmt *cfg);
uint8_t cmPkLrgCfgReq(Pst *pst, RgMngmt *cfg);
-uint8_t BuildAndSendE2SetupReq();
uint8_t egtpHdlDatInd(EgtpMsg egtpMsg);
uint8_t BuildAndSendDUConfigUpdate();
uint16_t getTransId();
cell->cellInfo.maxUe = duCfgParam.maxUe;
cell->cellStatus = CELL_OUT_OF_SERVICE;
gCellStatus = CELL_DOWN;
- cell->gnbDuUeF1apIdGenerator = 0;
duCb.cfgCellLst[duCb.numCfgCells] = cell;
duCb.numCfgCells++;
}
{
if(BuildAndSendF1SetupReq() != ROK)
{
- return RFAILED;
+ return RFAILED;
}
}
else if(ricParams.assocId == ntfy->u.assocChange.assocId)
{
- if(BuildAndSendE2SetupReq() != ROK)
- {
- return RFAILED;
- }
+ return ROK;
}
else
{
GET_CELL_IDX(cellId, cellIdx);
if(duCb.actvCellLst[cellIdx])
{
- return ++duCb.actvCellLst[cellIdx]->gnbDuUeF1apIdGenerator;
+ return ++duCb.gnbDuUeF1apIdGenerator;
}
else
{
#include "OCTET_STRING.h"
#include "BIT_STRING.h"
#include "odu_common_codec.h"
-#include "ric_stub.h"
#include "ric_stub_sctp.h"
+#include "ric_stub.h"
#include "ric_e2ap_msg_hdl.h"
#include "GlobalE2node-gNB-ID.h"
#include "ProtocolIE-FieldE2.h"
#include "SuccessfulOutcomeE2.h"
#include "E2AP-PDU.h"
#include "du_log.h"
+#include "E2nodeComponentInterfaceF1.h"
-Bool ricSubsStatus;
/*******************************************************************
*
*
* ****************************************************************/
-S16 SendE2APMsg(Region region, Pool pool)
+uint8_t SendE2APMsg(Region region, Pool pool)
{
Buffer *mBuf;
*
* ****************************************************************/
-S16 BuildGlobalRicId(GlobalRIC_ID_t *ricId)
+uint8_t BuildGlobalRicId(GlobalRIC_ID_t *ricId)
{
uint8_t unused = 4;
uint8_t byteSize = 3;
return ROK;
}
+/*******************************************************************
+ *
+ * @brief deallocate the memory allocated in E2SetupResponse
+ *
+ * @details
+ *
+ * Function : FreeE2SetupRsp
+ *
+ * Functionality: deallocate the memory allocated in E2SetupResponse
+ *
+ * @params[in] E2AP_PDU_t *e2apMsg
+ *
+ * @return void
+ * ****************************************************************/
+void FreeE2SetupRsp(E2AP_PDU_t *e2apMsg)
+{
+ uint8_t arrIdx = 0;
+ E2setupResponse_t *e2SetupRsp;
+
+ if(e2apMsg)
+ {
+ if(e2apMsg->choice.successfulOutcome)
+ {
+ e2SetupRsp = &e2apMsg->choice.successfulOutcome->value.choice.E2setupResponse;
+ if(e2SetupRsp->protocolIEs.list.array)
+ {
+ for(arrIdx=0; arrIdx<e2SetupRsp->protocolIEs.list.count; arrIdx++)
+ {
+ RIC_FREE(e2SetupRsp->protocolIEs.list.array[arrIdx], sizeof(E2setupResponseIEs_t));
+ }
+ RIC_FREE(e2SetupRsp->protocolIEs.list.array, e2SetupRsp->protocolIEs.list.size);
+ }
+ RIC_FREE(e2apMsg->choice.successfulOutcome, sizeof(SuccessfulOutcomeE2_t));
+ }
+ RIC_FREE(e2apMsg, sizeof(E2AP_PDU_t));
+ }
+}
+
+/*******************************************************************
+ *
+ * @brief Build E2node Component config addition ack list
+ *
+ * @details
+ *
+ * Function : BuildE2nodeComponentConfigAdditionAck
+ *
+ * Functionality: deallocate the memory allocated in E2SetupResponse
+ *
+ * @params[in] E2nodeComponentConfigAdditionAck_List_t
+ * *e2NodeConfigAdditionAckList
+ *
+ * @return ROK - success
+ * RFAILED - failure
+ * ****************************************************************/
+uint8_t BuildE2nodeComponentConfigAdditionAck(E2nodeComponentConfigAdditionAck_List_t *e2NodeConfigAdditionAckList, uint8_t duId)
+{
+ uint8_t arrIdx = 0;
+ E2nodeComponentConfigAdditionAck_ItemIEs_t *e2NodeAddAckItem;
+
+ e2NodeConfigAdditionAckList->list.count = 1;
+ e2NodeConfigAdditionAckList->list.size = e2NodeConfigAdditionAckList->list.count * sizeof(E2nodeComponentConfigAdditionAck_ItemIEs_t*);
+ RIC_ALLOC(e2NodeConfigAdditionAckList->list.array, e2NodeConfigAdditionAckList->list.size);
+ if(e2NodeConfigAdditionAckList->list.array == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP: Memory allocation failed for BuildE2nodeComponentConfigAdditionAck %d",__LINE__);
+ return RFAILED;
+ }
+
+ for(arrIdx = 0; arrIdx< e2NodeConfigAdditionAckList->list.count; arrIdx++)
+ {
+ RIC_ALLOC(e2NodeConfigAdditionAckList->list.array[arrIdx], sizeof(E2nodeComponentConfigAdditionAck_ItemIEs_t));
+ if(e2NodeConfigAdditionAckList->list.array[arrIdx] == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP: Memory allocation failed for BuildE2nodeComponentConfigAdditionAck %d",__LINE__);
+ return RFAILED;
+ }
+ }
+ e2NodeAddAckItem = (E2nodeComponentConfigAdditionAck_ItemIEs_t*) e2NodeConfigAdditionAckList->list.array[0];
+ e2NodeAddAckItem->id = ProtocolIE_IDE2_id_E2nodeComponentConfigAdditionAck_Item;
+ e2NodeAddAckItem->criticality = CriticalityE2_reject;
+ e2NodeAddAckItem->value.present = E2nodeComponentConfigAdditionAck_ItemIEs__value_PR_E2nodeComponentConfigAdditionAck_Item;
+ e2NodeAddAckItem->value.choice.E2nodeComponentConfigAdditionAck_Item.e2nodeComponentInterfaceType = E2nodeComponentInterfaceType_f1;
+
+ /* >E2 Node Component ID */
+ e2NodeAddAckItem->value.choice.E2nodeComponentConfigAdditionAck_Item.e2nodeComponentID.present = E2nodeComponentID_PR_e2nodeComponentInterfaceTypeF1;
+ RIC_ALLOC(e2NodeAddAckItem->value.choice.E2nodeComponentConfigAdditionAck_Item.e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1,\
+ sizeof(E2nodeComponentInterfaceF1_t));
+ if(e2NodeAddAckItem->value.choice.E2nodeComponentConfigAdditionAck_Item.e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1 == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP: Memory allocation failed for BuildE2nodeComponentConfigAdditionAck %d",__LINE__);
+ return RFAILED;
+ }
+ e2NodeAddAckItem->value.choice.E2nodeComponentConfigAdditionAck_Item.e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1->gNB_DU_ID.size = sizeof(uint8_t);
+ RIC_ALLOC(e2NodeAddAckItem->value.choice.E2nodeComponentConfigAdditionAck_Item.e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1->gNB_DU_ID.buf,\
+ e2NodeAddAckItem->value.choice.E2nodeComponentConfigAdditionAck_Item.e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1->gNB_DU_ID.size);
+
+ if(e2NodeAddAckItem->value.choice.E2nodeComponentConfigAdditionAck_Item.e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1->gNB_DU_ID.buf == NULLP)
+ {
+ DU_LOG("\nERROR -->list. E2AP: Memory allocation failed for BuildE2nodeComponentConfigAdditionAck %d",__LINE__);
+ return RFAILED;
+ }
+ e2NodeAddAckItem->value.choice.E2nodeComponentConfigAdditionAck_Item.e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1->gNB_DU_ID.buf[0] = duId;
+
+ /* >E2 Node Component Configuration Acknowledge*/
+ e2NodeAddAckItem->value.choice.E2nodeComponentConfigAdditionAck_Item.e2nodeComponentConfigurationAck.updateOutcome = \
+ E2nodeComponentConfigurationAck__updateOutcome_success;
+
+ return ROK;
+}
/*******************************************************************
*
* @brief Builds and sends the E2SetupResponse
* RFAILED - failure
*
* ****************************************************************/
-S16 BuildAndSendE2SetupRsp()
+uint8_t BuildAndSendE2SetupRsp(uint8_t duId)
{
E2AP_PDU_t *e2apMsg = NULL;
E2setupResponse_t *e2SetupRsp;
asn_enc_rval_t encRetVal;
uint8_t idx;
uint8_t elementCnt;
-
+ bool memAllocFailed = false;
DU_LOG("\nINFO --> E2AP : Building E2 Setup Response\n");
-
- RIC_ALLOC(e2apMsg, sizeof(E2AP_PDU_t));
- if(e2apMsg == NULLP)
+ while(true)
{
- DU_LOG("\nERROR --> E2AP : Memory allocation for E2AP-PDU failed");
- return RFAILED;
- }
- e2apMsg->present = E2AP_PDU_PR_successfulOutcome;
- RIC_ALLOC(e2apMsg->choice.successfulOutcome, sizeof(SuccessfulOutcomeE2_t));
- if(e2apMsg->choice.successfulOutcome == NULLP)
- {
- DU_LOG("\nERROR --> E2AP : Memory allocation for E2AP-PDU failed");
- RIC_FREE(e2apMsg, sizeof(E2AP_PDU_t));
- return RFAILED;
- }
-
- e2apMsg->choice.successfulOutcome->procedureCode = ProcedureCodeE2_id_E2setup;
- e2apMsg->choice.successfulOutcome->criticality = CriticalityE2_reject;
- e2apMsg->choice.successfulOutcome->value.present = \
- SuccessfulOutcomeE2__value_PR_E2setupResponse;
- e2SetupRsp = &e2apMsg->choice.successfulOutcome->value.choice.E2setupResponse;
+ RIC_ALLOC(e2apMsg, sizeof(E2AP_PDU_t));
+ if(e2apMsg == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP : Memory allocation for E2AP-PDU failed");
+ break;
+ }
+ e2apMsg->present = E2AP_PDU_PR_successfulOutcome;
+ RIC_ALLOC(e2apMsg->choice.successfulOutcome, sizeof(SuccessfulOutcomeE2_t));
+ if(e2apMsg->choice.successfulOutcome == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP : Memory allocation for E2AP-PDU failed");
+ break;
+ }
- elementCnt = 1;
- e2SetupRsp->protocolIEs.list.count = elementCnt;
- e2SetupRsp->protocolIEs.list.size = elementCnt * sizeof(E2setupResponseIEs_t);
+ e2apMsg->choice.successfulOutcome->procedureCode = ProcedureCodeE2_id_E2setup;
+ e2apMsg->choice.successfulOutcome->criticality = CriticalityE2_reject;
+ e2apMsg->choice.successfulOutcome->value.present = \
+ SuccessfulOutcomeE2__value_PR_E2setupResponse;
+ e2SetupRsp = &e2apMsg->choice.successfulOutcome->value.choice.E2setupResponse;
- RIC_ALLOC(e2SetupRsp->protocolIEs.list.array, \
- e2SetupRsp->protocolIEs.list.size);
- if(e2SetupRsp->protocolIEs.list.array == NULLP)
- {
- DU_LOG("\nERROR --> E2AP : Memory allocation for E2ResponseIEs failed");
- RIC_FREE(e2apMsg->choice.successfulOutcome, sizeof(SuccessfulOutcomeE2_t));
- RIC_FREE(e2apMsg, sizeof(E2AP_PDU_t));
- return RFAILED;
- }
-
- for(idx=0; idx<elementCnt; idx++)
- {
- RIC_ALLOC(e2SetupRsp->protocolIEs.list.array[idx], \
- sizeof(E2setupResponseIEs_t));
- if(e2SetupRsp->protocolIEs.list.array[idx] == NULLP)
- {
- RIC_FREE(e2SetupRsp->protocolIEs.list.array,\
- e2SetupRsp->protocolIEs.list.size);
- RIC_FREE(e2apMsg->choice.successfulOutcome, \
- sizeof(SuccessfulOutcomeE2_t));
- RIC_FREE(e2apMsg, sizeof(E2AP_PDU_t));
- return RFAILED;
- }
- }
- /* Global RIC ID */
- idx = 0;
- e2SetupRsp->protocolIEs.list.array[idx]->id = ProtocolIE_IDE2_id_GlobalRIC_ID;
- e2SetupRsp->protocolIEs.list.array[idx]->criticality = CriticalityE2_reject;
- e2SetupRsp->protocolIEs.list.array[idx]->value.present = \
- E2setupResponseIEs__value_PR_GlobalRIC_ID;
+ elementCnt = 3;
+ e2SetupRsp->protocolIEs.list.count = elementCnt;
+ e2SetupRsp->protocolIEs.list.size = elementCnt * sizeof(E2setupResponseIEs_t);
- BuildGlobalRicId(&(e2SetupRsp->protocolIEs.list.array[idx]->value.choice.GlobalRIC_ID));
+ RIC_ALLOC(e2SetupRsp->protocolIEs.list.array, e2SetupRsp->protocolIEs.list.size);
+ if(e2SetupRsp->protocolIEs.list.array == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP : Memory allocation for E2ResponseIEs failed");
+ break;
+ }
- xer_fprint(stdout, &asn_DEF_E2AP_PDU, e2apMsg);
- memset(encBuf, 0, ENC_BUF_MAX_LEN);
- encBufSize = 0;
- encRetVal = aper_encode(&asn_DEF_E2AP_PDU, 0, e2apMsg, PrepFinalEncBuf, encBuf);
+ for(idx=0; idx<elementCnt; idx++)
+ {
+ RIC_ALLOC(e2SetupRsp->protocolIEs.list.array[idx], sizeof(E2setupResponseIEs_t));
+ if(e2SetupRsp->protocolIEs.list.array[idx] == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP : Memory allocation for E2ResponseIEs failed");
+ memAllocFailed = true;
+ break;
+ }
+ }
+
+ if(memAllocFailed == true)
+ {
+ DU_LOG("\nERROR --> E2AP : Memory allocation for E2ResponseIEs failed");
+ break;
+ }
+ /* Trans Id */
+ idx = 0;
+ e2SetupRsp->protocolIEs.list.array[idx]->id = ProtocolIE_IDE2_id_TransactionID;
+ e2SetupRsp->protocolIEs.list.array[idx]->criticality = CriticalityE2_reject;
+ e2SetupRsp->protocolIEs.list.array[idx]->value.present = E2setupResponseIEs__value_PR_TransactionID;
+ e2SetupRsp->protocolIEs.list.array[idx]->value.choice.TransactionID = TRANS_ID;
+
+ /* Global RIC ID */
+ idx++;
+ e2SetupRsp->protocolIEs.list.array[idx]->id = ProtocolIE_IDE2_id_GlobalRIC_ID;
+ e2SetupRsp->protocolIEs.list.array[idx]->criticality = CriticalityE2_reject;
+ e2SetupRsp->protocolIEs.list.array[idx]->value.present = \
+ E2setupResponseIEs__value_PR_GlobalRIC_ID;
+
+ if(BuildGlobalRicId(&(e2SetupRsp->protocolIEs.list.array[idx]->value.choice.GlobalRIC_ID))!=ROK)
+ {
+ DU_LOG("\nERROR --> E2AP : Failed to build Global Ric Id");
+ break;
+ }
+
+ /* E2 Node Component Configuration Addition Acknowledge List*/
+ idx++;
+ e2SetupRsp->protocolIEs.list.array[idx]->id = ProtocolIE_IDE2_id_E2nodeComponentConfigAdditionAck;
+ e2SetupRsp->protocolIEs.list.array[idx]->criticality = CriticalityE2_reject;
+ e2SetupRsp->protocolIEs.list.array[idx]->value.present = \
+ E2setupResponseIEs__value_PR_E2nodeComponentConfigAdditionAck_List;
+ if(BuildE2nodeComponentConfigAdditionAck(&e2SetupRsp->protocolIEs.list.array[idx]->value.choice.E2nodeComponentConfigAdditionAck_List, duId)!=ROK)
+ {
+ DU_LOG("\nERROR --> E2AP : Failed to build E2Node Component config addition ack list");
+ break;
+ }
- /* Check encode results */
- if(encRetVal.encoded == ENCODE_FAIL)
- {
- DU_LOG("\nERROR --> E2AP : Could not encode E2SetupResponse structure (at %s)\n",\
- encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
- return RFAILED;
- }
- else
- {
- DU_LOG("\nDEBUG --> E2AP : Created APER encoded buffer for E2SetupResponse\n");
- for(int i=0; i< encBufSize; i++)
- {
- DU_LOG("%x",encBuf[i]);
- }
- }
+ xer_fprint(stdout, &asn_DEF_E2AP_PDU, e2apMsg);
+ memset(encBuf, 0, ENC_BUF_MAX_LEN);
+ encBufSize = 0;
+ encRetVal = aper_encode(&asn_DEF_E2AP_PDU, 0, e2apMsg, PrepFinalEncBuf, encBuf);
+ /* Check encode results */
+ if(encRetVal.encoded == ENCODE_FAIL)
+ {
+ DU_LOG("\nERROR --> E2AP : Could not encode E2SetupResponse structure (at %s)\n",\
+ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+ break;
+ }
+ else
+ {
+ DU_LOG("\nDEBUG --> E2AP : Created APER encoded buffer for E2SetupResponse\n");
+ for(int i=0; i< encBufSize; i++)
+ {
+ DU_LOG("%x",encBuf[i]);
+ }
+ }
- if(SendE2APMsg(RIC_APP_MEM_REG, RIC_POOL) != ROK)
- {
- DU_LOG("\nERROR --> E2AP : Sending E2 Setup Response failed");
- return RFAILED;
+ if(SendE2APMsg(RIC_APP_MEM_REG, RIC_POOL) != ROK)
+ {
+ DU_LOG("\nERROR --> E2AP : Sending E2 Setup Response failed");
+ break;
+ }
+ break;
}
+ FreeE2SetupRsp(e2apMsg);
return ROK;
}
*
* ****************************************************************/
-S16 BuildRicRequestId(RICrequestID_t *ricReqId)
+uint8_t BuildRicRequestId(RICrequestID_t *ricReqId)
{
if(ricReqId != NULLP)
*
* ****************************************************************/
-S16 fillSubsDetails(RICaction_ToBeSetup_ItemIEs_t *items)
+uint8_t fillSubsDetails(RICaction_ToBeSetup_ItemIEs_t *items)
{
if(items != NULLP)
{
*
* ****************************************************************/
-S16 BuildRicSubsDetails(RICsubscriptionDetails_t *subsDetails)
+uint8_t BuildRicSubsDetails(RICsubscriptionDetails_t *subsDetails)
{
uint8_t elementCnt;
*
******************************************************************/
-S16 BuildAndSendRicSubscriptionReq()
+uint8_t BuildAndSendRicSubscriptionReq()
{
E2AP_PDU_t *e2apRicMsg = NULL;
uint8_t elementCnt;
uint8_t idx;
uint8_t ieId;
- S16 ret;
+ uint8_t ret;
asn_enc_rval_t encRetVal; /* Encoder return value */
- ricSubsStatus = TRUE;
+ ricCfgParams.ricSubsStatus = TRUE;
DU_LOG("\nINFO --> E2AP : Building RIC Subscription Request\n");
return ROK;
}
-
+/*******************************************************************
+ *
+ * @brief process the e2setup request
+ *
+ * @details
+ *
+ * Function : ProcE2SetupReq
+ *
+ * Functionality: process the e2setup request
+ *
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ ******************************************************************/
+
+uint8_t ProcE2SetupReq(E2setupRequest_t *e2SetupReq)
+{
+ uint8_t arrIdx = 0, e2NodeAddListIdx =0;;
+ E2nodeComponentConfigAddition_List_t *e2NodeAddList;
+ E2nodeComponentConfigAddition_ItemIEs_t *e2NodeAddItem;
+
+ if(e2SetupReq)
+ {
+ if(e2SetupReq->protocolIEs.list.array)
+ {
+ for(arrIdx=0; arrIdx<e2SetupReq->protocolIEs.list.count; arrIdx++)
+ {
+ if(e2SetupReq->protocolIEs.list.array[arrIdx])
+ {
+ switch(e2SetupReq->protocolIEs.list.array[arrIdx]->id)
+ {
+ case ProtocolIE_IDE2_id_E2nodeComponentConfigAddition:
+ {
+ e2NodeAddList = &e2SetupReq->protocolIEs.list.array[arrIdx]->value.choice.E2nodeComponentConfigAddition_List;
+ if(e2NodeAddList->list.array)
+ {
+ for(e2NodeAddListIdx = 0; e2NodeAddListIdx< e2NodeAddList->list.count; e2NodeAddListIdx++)
+ {
+ if(e2NodeAddList->list.array[e2NodeAddListIdx])
+ {
+ e2NodeAddItem = (E2nodeComponentConfigAddition_ItemIEs_t *) e2NodeAddList->list.array[e2NodeAddListIdx];
+ if(e2NodeAddItem->value.choice.E2nodeComponentConfigAddition_Item.e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1)
+ {
+ if(e2NodeAddItem->value.choice.E2nodeComponentConfigAddition_Item.e2nodeComponentID.choice.e2nodeComponentInterfaceTypeF1->\
+ gNB_DU_ID.buf)
+ {
+ if(BuildAndSendE2SetupRsp(e2NodeAddItem->value.choice.E2nodeComponentConfigAddition_Item.e2nodeComponentID.choice.\
+ e2nodeComponentInterfaceTypeF1->gNB_DU_ID.buf[0]) !=ROK)
+ {
+ DU_LOG("\nERROR --> E2AP : Failed to build and send E2 setup response");
+ return RFAILED;
+ }
+ }
+ }
+ }
+ }
+ }
+ break;
+ }
+ default:
+ break;
+ }
+ }
+ }
+ }
+ }
+ return ROK;
+}
+
+/*******************************************************************
+ *
+ * @brief Deallocate the memory allocated for E2nodeConfigurationUpdate msg
+ *
+ * @details
+ *
+ * Function : FreeE2NodeConfigUpdate
+ *
+ * Functionality:
+ * - freeing the memory allocated for E2nodeConfigurationUpdate
+ *
+ * @params[in] E2AP_PDU_t *e2apMsg
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ * ****************************************************************/
+void FreeE2NodeConfigUpdateAck(E2AP_PDU_t *e2apMsg)
+{
+ uint8_t arrIdx =0;
+ E2nodeConfigurationUpdate_t *e2NodeConfigUpdateAck;
+
+ if(e2apMsg != NULLP)
+ {
+ if(e2apMsg->choice.successfulOutcome != NULLP)
+ {
+ e2NodeConfigUpdateAck = &e2apMsg->choice.successfulOutcome->value.choice.E2nodeConfigurationUpdateAcknowledge;
+ if(e2NodeConfigUpdateAck->protocolIEs.list.array != NULLP)
+ {
+ for(arrIdx = 0; arrIdx < e2NodeConfigUpdateAck->protocolIEs.list.count; arrIdx++)
+ {
+ RIC_FREE(e2NodeConfigUpdateAck->protocolIEs.list.array[arrIdx], sizeof(E2nodeConfigurationUpdate_t));
+ }
+ RIC_FREE(e2NodeConfigUpdateAck->protocolIEs.list.array, e2NodeConfigUpdateAck->protocolIEs.list.size);
+ }
+ RIC_FREE(e2apMsg->choice.successfulOutcome, sizeof(SuccessfulOutcomeE2_t));
+ }
+ RIC_FREE(e2apMsg, sizeof(E2AP_PDU_t));
+ }
+}
+
+/*******************************************************************
+ *
+ * @brief Buld and send the E2 node config update msg
+ *
+ * @details
+ *
+ * Function : BuildAndSendE2NodeConfigUpdate
+ *
+ * Functionality:
+ * - Buld and send the E2 node config update msg
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ * ****************************************************************/
+
+uint8_t BuildAndSendE2NodeConfigUpdateAck()
+{
+ uint8_t arrIdx = 0,elementCnt = 1;
+ uint8_t ret = ROK;
+ E2AP_PDU_t *e2apMsg = NULLP;
+ E2nodeConfigurationUpdateAcknowledge_t *e2NodeConfigUpdateAck = NULLP;
+ asn_enc_rval_t encRetVal; /* Encoder return value */
+
+ DU_LOG("\nINFO --> E2AP : Building E2 Node config update Ack Message\n");
+ do
+ {
+ RIC_ALLOC(e2apMsg, sizeof(E2AP_PDU_t));
+ if(e2apMsg == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP : Memory allocation for E2AP-PDU failed");
+ break;
+ }
+ e2apMsg->present = E2AP_PDU_PR_successfulOutcome;
+ RIC_ALLOC(e2apMsg->choice.successfulOutcome, sizeof(SuccessfulOutcomeE2_t));
+ if(e2apMsg->choice.successfulOutcome == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP : Memory allocation for E2AP-PDU failed");
+ RIC_FREE(e2apMsg, sizeof(E2AP_PDU_t));
+ return RFAILED;
+ }
+
+ e2apMsg->choice.successfulOutcome->criticality = CriticalityE2_reject;
+ e2apMsg->choice.successfulOutcome->procedureCode = ProcedureCodeE2_id_E2nodeConfigurationUpdate;
+ e2apMsg->choice.successfulOutcome->value.present = SuccessfulOutcomeE2__value_PR_E2nodeConfigurationUpdateAcknowledge;
+ e2NodeConfigUpdateAck = &e2apMsg->choice.successfulOutcome->value.choice.E2nodeConfigurationUpdateAcknowledge;
+
+ e2NodeConfigUpdateAck->protocolIEs.list.count = elementCnt;
+ e2NodeConfigUpdateAck->protocolIEs.list.size = elementCnt * sizeof(E2nodeConfigurationUpdateAcknowledge_IEs_t*);
+ /* Initialize the Ric Indication members */
+ RIC_ALLOC(e2NodeConfigUpdateAck->protocolIEs.list.array, \
+ e2NodeConfigUpdateAck->protocolIEs.list.size);
+ if(e2NodeConfigUpdateAck->protocolIEs.list.array == NULLP)
+ {
+ DU_LOG("\nERROR --> E2AP : Memory allocation for e2NodeConfigUpdateAck failed");
+ break;
+ }
+
+ for(arrIdx =0; arrIdx<elementCnt; arrIdx++)
+ {
+ RIC_ALLOC(e2NodeConfigUpdateAck->protocolIEs.list.array[arrIdx], sizeof(E2nodeConfigurationUpdateAcknowledge_IEs_t));
+ if(e2NodeConfigUpdateAck->protocolIEs.list.array[arrIdx] == NULLP)
+ {
+
+ DU_LOG("\nERROR --> E2AP : Memory allocation for e2NodeConfigUpdateAck failed");
+ break;
+ }
+ }
+
+ arrIdx = 0;
+ /* TransactionID */
+ e2NodeConfigUpdateAck->protocolIEs.list.array[arrIdx]->id = ProtocolIE_IDE2_id_TransactionID;
+ e2NodeConfigUpdateAck->protocolIEs.list.array[arrIdx]->criticality = CriticalityE2_reject;
+ e2NodeConfigUpdateAck->protocolIEs.list.array[arrIdx]->value.present = E2nodeConfigurationUpdateAcknowledge_IEs__value_PR_TransactionID;
+ e2NodeConfigUpdateAck->protocolIEs.list.array[arrIdx]->value.choice.TransactionID = TRANS_ID;
+
+
+ xer_fprint(stdout, &asn_DEF_E2AP_PDU, e2apMsg);
+
+ memset(encBuf, 0, ENC_BUF_MAX_LEN);
+ encBufSize = 0;
+ encRetVal = aper_encode(&asn_DEF_E2AP_PDU, 0, e2apMsg, PrepFinalEncBuf,\
+ encBuf);
+ if(encRetVal.encoded == ENCODE_FAIL)
+ {
+ DU_LOG("\nERROR --> E2AP : Could not encode E2 Node config update ack structure (at %s)\n",\
+ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+ return RFAILED;
+ }
+ else
+ {
+ DU_LOG("\nDEBUG --> E2AP : Created APER encoded buffer for E2 Node config update ack \n");
+ for(int i=0; i< encBufSize; i++)
+ {
+ DU_LOG("%x",encBuf[i]);
+ }
+ }
+
+
+ /* Sending msg */
+ if(SendE2APMsg(RIC_APP_MEM_REG, RIC_POOL) != ROK)
+ {
+ DU_LOG("\nERROR --> E2AP : Failed to send E2 Node config update ack ");
+ return RFAILED;
+ }
+
+ break;
+ }while(true);
+
+ FreeE2NodeConfigUpdateAck(e2apMsg);
+ return ret;
+}
+
/*******************************************************************
*
* @brief Handles received E2AP message and sends back response
case InitiatingMessageE2__value_PR_E2setupRequest:
{
DU_LOG("\nINFO --> E2AP : E2 setup request received");
- BuildAndSendE2SetupRsp();
- break;
+ ProcE2SetupReq(&e2apMsg->choice.initiatingMessage->value.choice.E2setupRequest);
+ break;
+ }
+ case InitiatingMessageE2__value_PR_E2nodeConfigurationUpdate:
+ {
+ DU_LOG("\nINFO --> E2AP : E2 node config update received");
+ BuildAndSendE2NodeConfigUpdateAck();
+ break;
}
case InitiatingMessageE2__value_PR_RICindication:
{
}/* End of switch(e2apMsg->present) */
- if(!ricSubsStatus)
+ if(!ricCfgParams.ricSubsStatus)
BuildAndSendRicSubscriptionReq();
} /* End of E2APMsgHdlr */
#define CRNTI 17017
#define CELL_INDEX 0
-
/* allocate and zero out a static buffer */
#define RIC_ALLOC(_datPtr, _size) \
{ \
+
void E2APMsgHdlr(Buffer *mBuf);
-S16 BuildAndSendE2SetupReq();
-S16 SendE2APMsg(Region , Pool );
+uint8_t BuildAndSendE2SetupRsp(uint8_t duId);
+uint8_t SendE2APMsg(Region , Pool );
/**********************************************************************
End of file
/* This functions contains main() for ric_app */
#include "common_def.h"
-#include "ric_stub.h"
#include "ric_stub_sctp.h"
-#include "du_log.h"
+#include "ric_stub.h"
#ifdef O1_ENABLE
#include "CmInterface.h"
#endif
-#define RIC_ID 1
-#define RIC_NAME "ORAN_OAM_RIC"
-
-#define DU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0001"
-#define RIC_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0011"
-
-#ifndef O1_ENABLE
-
-#define DU_IP_V4_ADDR "192.168.130.81"
-#define RIC_IP_V4_ADDR "192.168.130.80"
-#define DU_PORT 36421
-#define RIC_PORT 36421
-
-#endif
-
-#define RRC_VER 0
-#define EXT_RRC_VER 5
-#define PLMN_MCC0 3
-#define PLMN_MCC1 1
-#define PLMN_MCC2 1
-#define PLMN_MNC0 4
-#define PLMN_MNC1 8
-#define PLMN_MNC2 0
-
#ifdef O1_ENABLE
extern StartupConfig g_cfg;
#endif
void readRicCfg()
{
+ uint8_t *numDu;
uint32_t ipv4_du, ipv4_ric;
DU_LOG("\nINFO --> RIC : Reading RIC configurations");
+ ricCfgParams.ricId = RIC_ID;
+ strcpy(ricCfgParams.ricName, RIC_NAME);
#ifdef O1_ENABLE
if( getStartupConfigForStub(&g_cfg) != ROK )
{
ricCfgParams.sctpParams.duPort = g_cfg.RIC_Port;
ricCfgParams.sctpParams.ricPort = g_cfg.RIC_Port;
#else
- cmInetAddr((S8*)DU_IP_V4_ADDR, &ipv4_du);
- cmInetAddr((S8*)RIC_IP_V4_ADDR, &ipv4_ric);
-
- ricCfgParams.sctpParams.duPort = DU_PORT;
- ricCfgParams.sctpParams.ricPort = RIC_PORT;
+ ricCfgParams.sctpParams.numDu = 0;
+ numDu = &ricCfgParams.sctpParams.numDu;
+ while(*numDu < MAX_DU_SUPPORTED)
+ {
+ /* DU IP Address and Port*/
+ memset(&ipv4_du, 0, sizeof(uint32_t));
+ cmInetAddr((S8*)DU_IP_V4_ADDR[*numDu], &ipv4_du);
+ ricCfgParams.sctpParams.sctpAssoc[*numDu].duIpAddr.ipV4Addr = ipv4_du;
+ ricCfgParams.sctpParams.sctpAssoc[*numDu].duIpAddr.ipV6Pres = false;
+ ricCfgParams.sctpParams.sctpAssoc[*numDu].duPort = DU_SCTP_PORT[*numDu];
+
+ /* RIC IP Address and Port*/
+ memset(&ipv4_du, 0, sizeof(uint32_t));
+ cmInetAddr((S8*)RIC_IP_V4_ADDR, &ipv4_ric);
+ ricCfgParams.sctpParams.sctpAssoc[*numDu].ricIpAddr.ipV4Addr = ipv4_ric;
+ ricCfgParams.sctpParams.sctpAssoc[*numDu].ricIpAddr.ipV6Pres = false;
+ ricCfgParams.sctpParams.sctpAssoc[*numDu].ricPort = RIC_SCTP_PORT_TO_DU[*numDu];
+ (*numDu)++;
+ }
#endif
-
- ricCfgParams.ricId = RIC_ID;
- strcpy(ricCfgParams.ricName, RIC_NAME);
-
- /* DU IP Address and Port*/
- ricCfgParams.sctpParams.duIpAddr.ipV4Addr = ipv4_du;
- ricCfgParams.sctpParams.duIpAddr.ipV6Pres = false;
-
- /* RIC IP Address and Port*/
- ricCfgParams.sctpParams.ricIpAddr.ipV4Addr = ipv4_ric;
- ricCfgParams.sctpParams.ricIpAddr.ipV6Pres = false;
/*PLMN*/
ricCfgParams.plmn.mcc[0] = PLMN_MCC0;
#ifndef __RIC_MGR_MAIN_H__
#define __RIC_MGR_MAIN_H__
-#define MAX_IPV6_LEN 16
+#define RIC_ID 1
+#define RIC_NAME "ORAN_OAM_RIC"
+
+#define DU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0001"
+#define RIC_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0011"
+
+#ifndef O1_ENABLE
+#define DU_IP_V4_ADDR (char*[]){"192.168.130.81", "192.168.130.83"}
+#define DU_SCTP_PORT (int[]){36421, 36422}
+
+#define RIC_IP_V4_ADDR "192.168.130.80"
+#define RIC_SCTP_PORT_TO_DU (int[]){36421, 36422}
+#endif
+
+#define RRC_VER 0
+#define EXT_RRC_VER 5
+#define PLMN_MCC0 3
+#define PLMN_MCC1 1
+#define PLMN_MCC2 1
+#define PLMN_MNC0 4
+#define PLMN_MNC1 8
+#define PLMN_MNC2 0
+
#define RIC_DU_NAME_LEN_MAX 30 /* Max length of RIC/DU name string */
#define RIC_APP_MEM_REG 1
SPutSBuf(RIC_APP_MEM_REG, RIC_POOL, \
(Data *)_datPtr, _size);
-typedef struct ipAddr
-{
- bool ipV4Pres;
- uint32_t ipV4Addr;
- bool ipV6Pres;
- uint8_t ipV6Addr[MAX_IPV6_LEN];
-}SctpIpAddr;
-
-typedef struct RicSctpParams
-{
- SctpIpAddr duIpAddr;
- uint16_t duPort;
- SctpIpAddr ricIpAddr;
- uint16_t ricPort;
-}RicSctpParams;
-
typedef struct ricCfgParams
{
- uint32_t ricId;
+ uint32_t ricId;
char ricName[RIC_DU_NAME_LEN_MAX];
RicSctpParams sctpParams;
Plmn plmn;
+ Bool ricSubsStatus;
}RicCfgParams;
RicCfgParams ricCfgParams; //global variable to hold all configs
/* This file contains all SCTP related functionality */
#include "common_def.h"
-#include "ric_e2ap_msg_hdl.h"
#include "ric_stub_sctp.h"
#include "ric_stub.h"
+#include "ric_e2ap_msg_hdl.h"
#include "E2AP-PDU.h"
-#include "du_log.h"
-CuSctpDestCb ricParams;
-RicSctpParams sctpCfg;
-S16 fillAddrLst(CmInetNetAddrLst *addrLstPtr, SctpIpAddr *ipAddr);
-S16 fillDestNetAddr(CmInetNetAddr *destAddrPtr, SctpIpAddr *dstIpPtr);
/**************************************************************************
* @brief Function to configure the Sctp Params during config Request
*
*
***************************************************************************/
-S16 sctpCfgReq()
+uint8_t sctpCfgReq()
{
- connUp = FALSE;
- sctpCfg = ricCfgParams.sctpParams;
-
-/* Fill F1 Params */
- ricParams.destPort = sctpCfg.duPort;
- ricParams.srcPort = sctpCfg.ricPort;
- ricParams.bReadFdSet = ROK;
- memset(&ricParams.sockFd, -1, sizeof(CmInetFd));
- memset(&ricParams.lstnSockFd, -1, sizeof(CmInetFd));
- fillDestNetAddr(&ricParams.destIpNetAddr, &sctpCfg.duIpAddr);
+ int destIdx;
+ sctpCb.sctpCfg = ricCfgParams.sctpParams;
+ for(destIdx=0; destIdx < sctpCb.sctpCfg.numDu; destIdx++)
+ {
+ sctpCb.destCb[destIdx].destPort = sctpCb.sctpCfg.sctpAssoc[destIdx].duPort;
+ sctpCb.destCb[destIdx].srcPort = sctpCb.sctpCfg.sctpAssoc[destIdx].ricPort;
+ sctpCb.destCb[destIdx].bReadFdSet = ROK;
+ memset(&sctpCb.destCb[destIdx].sockFd, -1, sizeof(CmInetFd));
+ memset(&sctpCb.destCb[destIdx].lstnSockFd, -1, sizeof(CmInetFd));
+ fillDestNetAddr(&sctpCb.destCb[destIdx].destIpNetAddr, &sctpCb.sctpCfg.sctpAssoc[destIdx].duIpAddr);
+ fillAddrLst(&sctpCb.destCb[destIdx].localAddrLst, &sctpCb.sctpCfg.sctpAssoc[destIdx].ricIpAddr);
+ sctpCb.destCb[destIdx].connUp = false;
+ }
+ sctpCb.numDu = sctpCb.sctpCfg.numDu;
return ROK;
}
*
******************************************************************/
-S16 fillAddrLst(CmInetNetAddrLst *addrLstPtr, SctpIpAddr *ipAddr)
+uint8_t fillAddrLst(CmInetNetAddrLst *addrLstPtr, SctpIpAddr *ipAddr)
{
+ addrLstPtr->addrs[addrLstPtr->count].type = CM_INET_IPV4ADDR_TYPE;
+ addrLstPtr->addrs[addrLstPtr->count].u.ipv4NetAddr = CM_INET_NTOH_UINT32(ipAddr->ipV4Addr);
addrLstPtr->count++;
- addrLstPtr->addrs[(addrLstPtr->count - 1)].type = CM_INET_IPV4ADDR_TYPE;
- addrLstPtr->addrs[(addrLstPtr->count - 1)].u.ipv4NetAddr = CM_INET_NTOH_UINT32(ipAddr->ipV4Addr);
return ROK;
}
* RFAILED - failure
*
*******************************************************************************/
-S16 fillDestNetAddr(CmInetNetAddr *destAddrPtr, SctpIpAddr *dstIpPtr)
+uint8_t fillDestNetAddr(CmInetNetAddr *destAddrPtr, SctpIpAddr *dstIpPtr)
{
/* Filling destination address */
destAddrPtr->type = CM_INET_IPV4ADDR_TYPE;
*
*******************************************************************************/
-S16 sctpStartReq()
+uint8_t sctpStartReq()
{
- S16 ret = ROK;
+ uint8_t destIdx = 0;
+ uint8_t ret = ROK;
+
socket_type = CM_INET_STREAM;
- fillAddrLst(&ricParams.localAddrLst, &sctpCfg.ricIpAddr);
- if((ret = cmInetSocket(socket_type, &ricParams.lstnSockFd, IPPROTO_SCTP) != ROK))
- {
- DU_LOG("\nERROR --> SCTP : Socket[%d] coudnt open for listening", ricParams.lstnSockFd.fd);
- }
- else if((ret = cmInetSctpBindx(&ricParams.lstnSockFd, &ricParams.localAddrLst, ricParams.srcPort)) != ROK)
+ for(destIdx=0; destIdx < sctpCb.numDu; destIdx++)
{
- DU_LOG("\nERROR --> SCTP: Binding failed at RIC");
- }
- else if((ret = sctpAccept(&ricParams.lstnSockFd, &ricParams.peerAddr, &ricParams.sockFd)) != ROK)
- {
- DU_LOG("\nERROR --> SCTP: Unable to accept the connection at RIC");
+ if((ret = cmInetSocket(socket_type, &sctpCb.destCb[destIdx].lstnSockFd, IPPROTO_SCTP) != ROK))
+ {
+ DU_LOG("\nERROR --> SCTP : Socket[%d] coudnt open for listening", sctpCb.destCb[destIdx].lstnSockFd.fd);
+ }
+ else if((ret = cmInetSctpBindx(&sctpCb.destCb[destIdx].lstnSockFd, &sctpCb.destCb[destIdx].localAddrLst, \
+ sctpCb.destCb[destIdx].srcPort)) != ROK)
+ {
+ DU_LOG("\nERROR --> SCTP: Binding failed at RIC");
+ }
+ else if((ret = sctpAccept(&sctpCb.destCb[destIdx])) != ROK)
+ {
+ DU_LOG("\nERROR --> SCTP: Unable to accept the connection at RIC");
+ }
}
- else if(sctpSockPoll() != ROK)
+
+ if(sctpSockPoll() != ROK)
{
DU_LOG("\nERROR --> SCTP: Polling failed to start at RIC");
}
* RFAILED - failure
*
* ****************************************************************/
-S16 sctpSetSockOpts(CmInetFd *sock_Fd)
+uint8_t sctpSetSockOpts(CmInetFd *sock_Fd)
{
S16 ret = ROK;
CmSctpEvent sctpEvent;
* RFAILED - failure
*
* ****************************************************************/
-S16 sctpAccept(CmInetFd *lstnSock_Fd, CmInetAddr *peerAddr, CmInetFd *sock_Fd)
+uint8_t sctpAccept(RicSctpDestCb *destCb)
{
uint8_t ret;
- ret = cmInetListen(lstnSock_Fd, 1);
+ ret = cmInetListen(&destCb->lstnSockFd, 1);
if (ret != ROK)
{
DU_LOG("\nERROR --> SCTP : Listening on socket failed");
- cmInetClose(lstnSock_Fd);
+ cmInetClose(&destCb->lstnSockFd);
return RFAILED;
}
DU_LOG("\nINFO --> SCTP : Connecting");
- while(!connUp)
+ while(!destCb->connUp)
{
- ret = cmInetAccept(lstnSock_Fd, peerAddr, sock_Fd);
+ ret = cmInetAccept(&destCb->lstnSockFd, &destCb->peerAddr, &destCb->sockFd);
if (ret == ROKDNA)
{
continue;
}
else
{
- connUp = TRUE;
- sctpSetSockOpts(sock_Fd);
+ destCb->connUp = TRUE;
+ sctpSetSockOpts(&destCb->sockFd);
break;
}
}
* RFAILED - failure
*
* ****************************************************************/
-S16 sctpNtfyHdlr(CmInetSctpNotification *ntfy)
+uint8_t sctpNtfyHdlr(RicSctpDestCb *destCb, CmInetSctpNotification *ntfy)
{
switch(ntfy->header.nType)
{
{
case CM_INET_SCTP_COMM_UP:
DU_LOG("\nINFO --> Event : COMMUNICATION UP");
- connUp = TRUE;
+ destCb->connUp = TRUE;
break;
case CM_INET_SCTP_COMM_LOST:
DU_LOG("\nINFO --> Event : COMMUNICATION LOST");
- connUp = FALSE;
+ destCb->connUp = FALSE;
break;
case CM_INET_SCTP_RESTART:
DU_LOG("\nINFO --> Event : SCTP RESTART");
- connUp = FALSE;
+ destCb->connUp = FALSE;
break;
case CM_INET_SCTP_SHUTDOWN_COMP: /* association gracefully shutdown */
DU_LOG("\nINFO --> Event : SHUTDOWN COMPLETE");
- connUp = FALSE;
+ destCb->connUp = FALSE;
break;
case CM_INET_SCTP_CANT_STR_ASSOC:
DU_LOG("\nINFO --> Event : CANT START ASSOC");
- connUp = FALSE;
+ destCb->connUp = FALSE;
break;
default:
DU_LOG("\nERROR --> Invalid event");
break;
case CM_INET_SCTP_SHUTDOWN_EVENT : /* peer socket gracefully closed */
DU_LOG("\nINFO --> SCTP : Shutdown Event notification received\n");
- connUp = FALSE;
+ destCb->connUp = FALSE;
exit(0);
break;
case CM_INET_SCTP_ADAPTATION_INDICATION :
* RFAILED - failure
*
* ****************************************************************/
-S16 sctpSockPoll()
+uint8_t sctpSockPoll()
{
+ uint8_t destIdx;
uint16_t ret = ROK;
uint32_t timeout;
uint32_t *timeoutPtr;
memset(&e2PollParams, 0, sizeof(sctpSockPollParams));
- if(ricParams.sockFd.blocking)
- {
- /* blocking */
- timeoutPtr = NULLP;
- }
- else
- {
- /* non-blocking */
- timeout = 0;
- timeoutPtr = &timeout;
- }
-
+ /* All sockets are non-blocking */
+ timeout = 0;
+ timeoutPtr = &timeout;
memInfo.region = RIC_APP_MEM_REG;
memInfo.pool = RIC_POOL;
DU_LOG("\nINFO --> SCTP : Polling started at RIC\n");
while(1)
{
- if((ret = processPolling(&e2PollParams, &ricParams.sockFd, timeoutPtr, &memInfo)) != ROK)
+ /* Receiving SCTP data */
+ for(destIdx = 0; destIdx < sctpCb.numDu; destIdx++)
{
- DU_LOG("\nERROR --> SCTP : Failed to RecvMsg for E2 at RIC \n");
+
+ if((ret = processPolling(&e2PollParams, &sctpCb.destCb[destIdx], timeoutPtr, &memInfo)) != ROK)
+ {
+ DU_LOG("\nERROR --> SCTP : Failed to RecvMsg for E2 at RIC \n");
+ }
}
};
return (ret);
* ****************************************************************/
-S16 processPolling(sctpSockPollParams *pollParams, CmInetFd *sockFd, uint32_t *timeoutPtr, CmInetMemInfo *memInfo)
+uint8_t processPolling(sctpSockPollParams *pollParams, RicSctpDestCb *destCb, uint32_t *timeoutPtr, CmInetMemInfo *memInfo)
{
uint16_t ret = ROK;
- CM_INET_FD_SET(sockFd, &pollParams->readFd);
+
+ CM_INET_FD_SET(&destCb->sockFd, &pollParams->readFd);
ret = cmInetSelect(&pollParams->readFd, NULLP, timeoutPtr, &pollParams->numFd);
- if(CM_INET_FD_ISSET(sockFd, &pollParams->readFd))
+ if(CM_INET_FD_ISSET(&destCb->sockFd, &pollParams->readFd))
{
- CM_INET_FD_CLR(sockFd, &pollParams->readFd);
- ret = cmInetSctpRecvMsg(sockFd, &pollParams->addr, &pollParams->port, memInfo, &pollParams->mBuf, &pollParams->bufLen, &pollParams->info, &pollParams->flag, &pollParams->ntfy);
- if(connUp & (ret != ROK))
+ CM_INET_FD_CLR(&destCb->sockFd, &pollParams->readFd);
+ ret = cmInetSctpRecvMsg(&destCb->sockFd, &pollParams->addr, &pollParams->port, memInfo, &pollParams->mBuf, \
+ &pollParams->bufLen, &pollParams->info, &pollParams->flag, &pollParams->ntfy);
+ if(destCb->connUp & (ret != ROK))
{
- ricParams.bReadFdSet = RFAILED;
+ destCb->bReadFdSet = RFAILED;
}
else
{
if(((pollParams->flag & CM_INET_SCTP_MSG_NOTIFICATION) != 0) && (ret == ROK))
{
- ret = sctpNtfyHdlr(&pollParams->ntfy);
+ ret = sctpNtfyHdlr(destCb, &pollParams->ntfy);
if(ret != ROK)
{
DU_LOG("\nERROR --> SCTP : Failed to process sctp notify msg\n");
}
}
- else if(connUp & (pollParams->port == ricParams.destPort))
+ else if(destCb->connUp & (pollParams->port == destCb->destPort))
{
E2APMsgHdlr(pollParams->mBuf);
ODU_PUT_MSG_BUF(pollParams->mBuf);
* RFAILED - failure
*
* ****************************************************************/
-S16 sctpSend(Buffer *mBuf)
+uint8_t sctpSend(Buffer *mBuf)
{
uint8_t ret;
MsgLen len; /* number of actually sent octets */
memInfo.region = RIC_APP_MEM_REG;
memInfo.pool = RIC_POOL;
- ret = cmInetSctpSendMsg(&ricParams.sockFd, &ricParams.destIpNetAddr, ricParams.destPort, &memInfo, mBuf, &len, 0, FALSE, 0, 0/*SCT_PROTID_NONE*/, RWOULDBLOCK);
+ ret = cmInetSctpSendMsg(&sctpCb.destCb[0].sockFd, &sctpCb.destCb[0].destIpNetAddr, sctpCb.destCb[0].destPort, &memInfo, \
+ mBuf, &len, 0, FALSE, 0, 0/*SCT_PROTID_NONE*/, RWOULDBLOCK);
if(ret != ROK && ret != RWOULDBLOCK)
{
#ifndef __RIC_SCTP_H__
#define __RIC_SCTP_H__
+
#define MAX_RETRY 5
+#define MAX_IPV6_LEN 16
+#define MAX_DU_SUPPORTED 1
/* Global variable declaration */
uint8_t socket_type; /* Socket type */
-bool nonblocking; /* Blocking/Non-blocking socket */
-bool connUp; /* Is connection up */
-int assocId; /* Assoc Id of connected assoc */
typedef struct
{
CmInetNetAddrLst destAddrLst; /* DU Ip address */
CmInetNetAddrLst localAddrLst;
CmInetNetAddr destIpNetAddr; /* DU Ip address */
-}CuSctpDestCb;
+ Bool connUp;
+}RicSctpDestCb;
+
+typedef struct ipAddr
+{
+ bool ipV4Pres;
+ uint32_t ipV4Addr;
+ bool ipV6Pres;
+ uint8_t ipV6Addr[MAX_IPV6_LEN];
+}SctpIpAddr;
+
+typedef struct sctpAssocInfo
+{
+ SctpIpAddr duIpAddr;
+ uint16_t duPort;
+ SctpIpAddr ricIpAddr;
+ uint16_t ricPort;
+}SctpAssocInfo;
+
+typedef struct ricSctpParams
+{
+ uint8_t numDu;
+ SctpAssocInfo sctpAssoc[MAX_DU_SUPPORTED];
+}RicSctpParams;
+
+typedef struct sctpGlobalCb
+{
+ RicSctpParams sctpCfg;
+ uint8_t numDu;
+ RicSctpDestCb destCb[MAX_DU_SUPPORTED];
+}SctpGlobalCb;
+
+SctpGlobalCb sctpCb;
-S16 sctpActvInit();
-S16 sctpSend(Buffer *mBuf);
-S16 sctpCfgReq();
-S16 sctpStartReq();
-S16 sctpSetSockOpts(CmInetFd *sock_Fd);
-S16 sctpAccept(CmInetFd *lstnSock_Fd, CmInetAddr *peerAddr, CmInetFd *sock_Fd);
-S16 sctpSockPoll();
-S16 processPolling(sctpSockPollParams *pollParams, CmInetFd *sockFd, uint32_t *timeoutPtr, CmInetMemInfo *memInfo);
+uint8_t sctpActvInit();
+uint8_t sctpSend(Buffer *mBuf);
+uint8_t sctpCfgReq();
+uint8_t sctpStartReq();
+uint8_t sctpSetSockOpts(CmInetFd *sock_Fd);
+uint8_t sctpAccept(RicSctpDestCb *destCb);
+uint8_t sctpSockPoll();
+uint8_t processPolling(sctpSockPollParams *pollParams, RicSctpDestCb *destCb, uint32_t *timeoutPtr, CmInetMemInfo *memInfo);
+uint8_t fillAddrLst(CmInetNetAddrLst *addrLstPtr, SctpIpAddr *ipAddr);
+uint8_t fillDestNetAddr(CmInetNetAddr *destAddrPtr, SctpIpAddr *dstIpPtr);
#endif