2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "E2AP-IEs"
4 * found in "2022_E2AP.asn1"
5 * `asn1c -D ./E2AP/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "E2nodeComponentID.h"
10 #include "E2nodeComponentInterfaceNG.h"
11 #include "E2nodeComponentInterfaceXn.h"
12 #include "E2nodeComponentInterfaceE1.h"
13 #include "E2nodeComponentInterfaceF1.h"
14 #include "E2nodeComponentInterfaceW1.h"
15 #include "E2nodeComponentInterfaceS1.h"
16 #include "E2nodeComponentInterfaceX2.h"
17 static asn_oer_constraints_t asn_OER_type_E2nodeComponentID_constr_1 CC_NOTUSED = {
20 asn_per_constraints_t asn_PER_type_E2nodeComponentID_constr_1 CC_NOTUSED = {
21 { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */,
22 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
23 0, 0 /* No PER value map */
25 asn_TYPE_member_t asn_MBR_E2nodeComponentID_1[] = {
26 { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeNG),
27 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
28 -1, /* IMPLICIT tag at current level */
29 &asn_DEF_E2nodeComponentInterfaceNG,
32 0, 0, /* No default value */
33 "e2nodeComponentInterfaceTypeNG"
35 { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeXn),
36 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
37 -1, /* IMPLICIT tag at current level */
38 &asn_DEF_E2nodeComponentInterfaceXn,
41 0, 0, /* No default value */
42 "e2nodeComponentInterfaceTypeXn"
44 { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeE1),
45 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
46 -1, /* IMPLICIT tag at current level */
47 &asn_DEF_E2nodeComponentInterfaceE1,
50 0, 0, /* No default value */
51 "e2nodeComponentInterfaceTypeE1"
53 { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeF1),
54 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
55 -1, /* IMPLICIT tag at current level */
56 &asn_DEF_E2nodeComponentInterfaceF1,
59 0, 0, /* No default value */
60 "e2nodeComponentInterfaceTypeF1"
62 { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeW1),
63 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
64 -1, /* IMPLICIT tag at current level */
65 &asn_DEF_E2nodeComponentInterfaceW1,
68 0, 0, /* No default value */
69 "e2nodeComponentInterfaceTypeW1"
71 { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeS1),
72 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
73 -1, /* IMPLICIT tag at current level */
74 &asn_DEF_E2nodeComponentInterfaceS1,
77 0, 0, /* No default value */
78 "e2nodeComponentInterfaceTypeS1"
80 { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeX2),
81 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
82 -1, /* IMPLICIT tag at current level */
83 &asn_DEF_E2nodeComponentInterfaceX2,
86 0, 0, /* No default value */
87 "e2nodeComponentInterfaceTypeX2"
90 static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentID_tag2el_1[] = {
91 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceTypeNG */
92 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2nodeComponentInterfaceTypeXn */
93 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* e2nodeComponentInterfaceTypeE1 */
94 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* e2nodeComponentInterfaceTypeF1 */
95 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* e2nodeComponentInterfaceTypeW1 */
96 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* e2nodeComponentInterfaceTypeS1 */
97 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* e2nodeComponentInterfaceTypeX2 */
99 asn_CHOICE_specifics_t asn_SPC_E2nodeComponentID_specs_1 = {
100 sizeof(struct E2nodeComponentID),
101 offsetof(struct E2nodeComponentID, _asn_ctx),
102 offsetof(struct E2nodeComponentID, present),
103 sizeof(((struct E2nodeComponentID *)0)->present),
104 asn_MAP_E2nodeComponentID_tag2el_1,
105 7, /* Count of tags in the map */
107 7 /* Extensions start */
109 asn_TYPE_descriptor_t asn_DEF_E2nodeComponentID = {
113 0, /* No effective tags (pointer) */
114 0, /* No effective tags (count) */
115 0, /* No tags (pointer) */
116 0, /* No tags (count) */
117 { &asn_OER_type_E2nodeComponentID_constr_1, &asn_PER_type_E2nodeComponentID_constr_1, CHOICE_constraint },
118 asn_MBR_E2nodeComponentID_1,
119 7, /* Elements count */
120 &asn_SPC_E2nodeComponentID_specs_1 /* Additional specs */