2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "E2SM-RC-IEs"
4 * found in "e2sm-rc-nov2021.asn"
5 * `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
8 #include "InterfaceIdentifier.h"
10 #include "InterfaceID-NG.h"
11 #include "InterfaceID-Xn.h"
12 #include "InterfaceID-F1.h"
13 #include "InterfaceID-E1.h"
14 #include "InterfaceID-S1.h"
15 #include "InterfaceID-X2.h"
16 #include "InterfaceID-W1.h"
17 static asn_oer_constraints_t asn_OER_type_InterfaceIdentifier_constr_1 CC_NOTUSED = {
20 asn_per_constraints_t asn_PER_type_InterfaceIdentifier_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_InterfaceIdentifier_1[] = {
26 { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.nG),
27 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
28 -1, /* IMPLICIT tag at current level */
29 &asn_DEF_InterfaceID_NG,
32 0, 0, /* No default value */
35 { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.xN),
36 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
37 -1, /* IMPLICIT tag at current level */
38 &asn_DEF_InterfaceID_Xn,
41 0, 0, /* No default value */
44 { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.f1),
45 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
46 -1, /* IMPLICIT tag at current level */
47 &asn_DEF_InterfaceID_F1,
50 0, 0, /* No default value */
53 { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.e1),
54 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
55 -1, /* IMPLICIT tag at current level */
56 &asn_DEF_InterfaceID_E1,
59 0, 0, /* No default value */
62 { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.s1),
63 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
64 -1, /* IMPLICIT tag at current level */
65 &asn_DEF_InterfaceID_S1,
68 0, 0, /* No default value */
71 { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.x2),
72 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
73 -1, /* IMPLICIT tag at current level */
74 &asn_DEF_InterfaceID_X2,
77 0, 0, /* No default value */
80 { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.w1),
81 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
82 -1, /* IMPLICIT tag at current level */
83 &asn_DEF_InterfaceID_W1,
86 0, 0, /* No default value */
90 static const asn_TYPE_tag2member_t asn_MAP_InterfaceIdentifier_tag2el_1[] = {
91 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nG */
92 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* xN */
93 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* f1 */
94 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* e1 */
95 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* s1 */
96 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* x2 */
97 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* w1 */
99 asn_CHOICE_specifics_t asn_SPC_InterfaceIdentifier_specs_1 = {
100 sizeof(struct InterfaceIdentifier),
101 offsetof(struct InterfaceIdentifier, _asn_ctx),
102 offsetof(struct InterfaceIdentifier, present),
103 sizeof(((struct InterfaceIdentifier *)0)->present),
104 asn_MAP_InterfaceIdentifier_tag2el_1,
105 7, /* Count of tags in the map */
107 7 /* Extensions start */
109 asn_TYPE_descriptor_t asn_DEF_InterfaceIdentifier = {
110 "InterfaceIdentifier",
111 "InterfaceIdentifier",
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_InterfaceIdentifier_constr_1, &asn_PER_type_InterfaceIdentifier_constr_1, CHOICE_constraint },
118 asn_MBR_InterfaceIdentifier_1,
119 7, /* Elements count */
120 &asn_SPC_InterfaceIdentifier_specs_1 /* Additional specs */