2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "E2SM-COMMON-IEs"
4 * found in "E2SM-COMMON-IEs.asn"
5 * `asn1c -pdu=auto -fincludes-quoted -fcompound-names -findirect-choice -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
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_per_constraints_t asn_PER_type_InterfaceIdentifier_constr_1 CC_NOTUSED = {
18 { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */,
19 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
20 0, 0 /* No PER value map */
22 static asn_TYPE_member_t asn_MBR_InterfaceIdentifier_1[] = {
23 { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.nG),
24 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
25 -1, /* IMPLICIT tag at current level */
26 &asn_DEF_InterfaceID_NG,
29 0, 0, /* No default value */
32 { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.xN),
33 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
34 -1, /* IMPLICIT tag at current level */
35 &asn_DEF_InterfaceID_Xn,
38 0, 0, /* No default value */
41 { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.f1),
42 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
43 -1, /* IMPLICIT tag at current level */
44 &asn_DEF_InterfaceID_F1,
47 0, 0, /* No default value */
50 { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.e1),
51 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
52 -1, /* IMPLICIT tag at current level */
53 &asn_DEF_InterfaceID_E1,
56 0, 0, /* No default value */
59 { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.s1),
60 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
61 -1, /* IMPLICIT tag at current level */
62 &asn_DEF_InterfaceID_S1,
65 0, 0, /* No default value */
68 { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.x2),
69 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
70 -1, /* IMPLICIT tag at current level */
71 &asn_DEF_InterfaceID_X2,
74 0, 0, /* No default value */
77 { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.w1),
78 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
79 -1, /* IMPLICIT tag at current level */
80 &asn_DEF_InterfaceID_W1,
83 0, 0, /* No default value */
87 static const asn_TYPE_tag2member_t asn_MAP_InterfaceIdentifier_tag2el_1[] = {
88 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nG */
89 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* xN */
90 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* f1 */
91 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* e1 */
92 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* s1 */
93 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* x2 */
94 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* w1 */
96 static asn_CHOICE_specifics_t asn_SPC_InterfaceIdentifier_specs_1 = {
97 sizeof(struct InterfaceIdentifier),
98 offsetof(struct InterfaceIdentifier, _asn_ctx),
99 offsetof(struct InterfaceIdentifier, present),
100 sizeof(((struct InterfaceIdentifier *)0)->present),
101 asn_MAP_InterfaceIdentifier_tag2el_1,
102 7, /* Count of tags in the map */
104 7 /* Extensions start */
106 asn_TYPE_descriptor_t asn_DEF_InterfaceIdentifier = {
107 "InterfaceIdentifier",
108 "InterfaceIdentifier",
110 0, /* No effective tags (pointer) */
111 0, /* No effective tags (count) */
112 0, /* No tags (pointer) */
113 0, /* No tags (count) */
114 { 0, &asn_PER_type_InterfaceIdentifier_constr_1, CHOICE_constraint },
115 asn_MBR_InterfaceIdentifier_1,
116 7, /* Elements count */
117 &asn_SPC_InterfaceIdentifier_specs_1 /* Additional specs */