2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-InterNodeDefinitions"
4 * found in "/home/labadmin/hlal/rrc_15.3_asn.asn1"
5 * `asn1c -D ./15_3_rrc/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "HandoverPreparationInformation.h"
10 #include "HandoverPreparationInformation-IEs.h"
11 static asn_oer_constraints_t asn_OER_type_c1_constr_3 CC_NOTUSED = {
14 static asn_per_constraints_t asn_PER_type_c1_constr_3 CC_NOTUSED = {
15 { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */,
16 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
17 0, 0 /* No PER value map */
19 static asn_oer_constraints_t asn_OER_type_criticalExtensions_constr_2 CC_NOTUSED = {
22 static asn_per_constraints_t asn_PER_type_criticalExtensions_constr_2 CC_NOTUSED = {
23 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
24 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
25 0, 0 /* No PER value map */
27 static asn_TYPE_member_t asn_MBR_c1_3[] = {
28 { ATF_POINTER, 0, offsetof(struct HandoverPreparationInformation__criticalExtensions__c1, choice.handoverPreparationInformation),
29 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
30 -1, /* IMPLICIT tag at current level */
31 &asn_DEF_HandoverPreparationInformation_IEs,
34 0, 0, /* No default value */
35 "handoverPreparationInformation"
37 { ATF_NOFLAGS, 0, offsetof(struct HandoverPreparationInformation__criticalExtensions__c1, choice.spare3),
38 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
39 -1, /* IMPLICIT tag at current level */
43 0, 0, /* No default value */
46 { ATF_NOFLAGS, 0, offsetof(struct HandoverPreparationInformation__criticalExtensions__c1, choice.spare2),
47 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
48 -1, /* IMPLICIT tag at current level */
52 0, 0, /* No default value */
55 { ATF_NOFLAGS, 0, offsetof(struct HandoverPreparationInformation__criticalExtensions__c1, choice.spare1),
56 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
57 -1, /* IMPLICIT tag at current level */
61 0, 0, /* No default value */
65 static const asn_TYPE_tag2member_t asn_MAP_c1_tag2el_3[] = {
66 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* handoverPreparationInformation */
67 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* spare3 */
68 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* spare2 */
69 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* spare1 */
71 static asn_CHOICE_specifics_t asn_SPC_c1_specs_3 = {
72 sizeof(struct HandoverPreparationInformation__criticalExtensions__c1),
73 offsetof(struct HandoverPreparationInformation__criticalExtensions__c1, _asn_ctx),
74 offsetof(struct HandoverPreparationInformation__criticalExtensions__c1, present),
75 sizeof(((struct HandoverPreparationInformation__criticalExtensions__c1 *)0)->present),
77 4, /* Count of tags in the map */
79 -1 /* Extensions start */
81 static /* Use -fall-defs-global to expose */
82 asn_TYPE_descriptor_t asn_DEF_c1_3 = {
86 0, /* No effective tags (pointer) */
87 0, /* No effective tags (count) */
88 0, /* No tags (pointer) */
89 0, /* No tags (count) */
90 { &asn_OER_type_c1_constr_3, &asn_PER_type_c1_constr_3, CHOICE_constraint },
92 4, /* Elements count */
93 &asn_SPC_c1_specs_3 /* Additional specs */
96 static const ber_tlv_tag_t asn_DEF_criticalExtensionsFuture_tags_8[] = {
97 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
98 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
100 static asn_SEQUENCE_specifics_t asn_SPC_criticalExtensionsFuture_specs_8 = {
101 sizeof(struct HandoverPreparationInformation__criticalExtensions__criticalExtensionsFuture),
102 offsetof(struct HandoverPreparationInformation__criticalExtensions__criticalExtensionsFuture, _asn_ctx),
103 0, /* No top level tags */
104 0, /* No tags in the map */
105 0, 0, 0, /* Optional elements (not needed) */
106 -1, /* First extension addition */
108 static /* Use -fall-defs-global to expose */
109 asn_TYPE_descriptor_t asn_DEF_criticalExtensionsFuture_8 = {
110 "criticalExtensionsFuture",
111 "criticalExtensionsFuture",
113 asn_DEF_criticalExtensionsFuture_tags_8,
114 sizeof(asn_DEF_criticalExtensionsFuture_tags_8)
115 /sizeof(asn_DEF_criticalExtensionsFuture_tags_8[0]) - 1, /* 1 */
116 asn_DEF_criticalExtensionsFuture_tags_8, /* Same as above */
117 sizeof(asn_DEF_criticalExtensionsFuture_tags_8)
118 /sizeof(asn_DEF_criticalExtensionsFuture_tags_8[0]), /* 2 */
119 { 0, 0, SEQUENCE_constraint },
120 0, 0, /* No members */
121 &asn_SPC_criticalExtensionsFuture_specs_8 /* Additional specs */
124 static asn_TYPE_member_t asn_MBR_criticalExtensions_2[] = {
125 { ATF_POINTER, 0, offsetof(struct HandoverPreparationInformation__criticalExtensions, choice.c1),
126 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
127 +1, /* EXPLICIT tag at current level */
131 0, 0, /* No default value */
134 { ATF_POINTER, 0, offsetof(struct HandoverPreparationInformation__criticalExtensions, choice.criticalExtensionsFuture),
135 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
137 &asn_DEF_criticalExtensionsFuture_8,
140 0, 0, /* No default value */
141 "criticalExtensionsFuture"
144 static const asn_TYPE_tag2member_t asn_MAP_criticalExtensions_tag2el_2[] = {
145 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* c1 */
146 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* criticalExtensionsFuture */
148 static asn_CHOICE_specifics_t asn_SPC_criticalExtensions_specs_2 = {
149 sizeof(struct HandoverPreparationInformation__criticalExtensions),
150 offsetof(struct HandoverPreparationInformation__criticalExtensions, _asn_ctx),
151 offsetof(struct HandoverPreparationInformation__criticalExtensions, present),
152 sizeof(((struct HandoverPreparationInformation__criticalExtensions *)0)->present),
153 asn_MAP_criticalExtensions_tag2el_2,
154 2, /* Count of tags in the map */
156 -1 /* Extensions start */
158 static /* Use -fall-defs-global to expose */
159 asn_TYPE_descriptor_t asn_DEF_criticalExtensions_2 = {
160 "criticalExtensions",
161 "criticalExtensions",
163 0, /* No effective tags (pointer) */
164 0, /* No effective tags (count) */
165 0, /* No tags (pointer) */
166 0, /* No tags (count) */
167 { &asn_OER_type_criticalExtensions_constr_2, &asn_PER_type_criticalExtensions_constr_2, CHOICE_constraint },
168 asn_MBR_criticalExtensions_2,
169 2, /* Elements count */
170 &asn_SPC_criticalExtensions_specs_2 /* Additional specs */
173 static asn_TYPE_member_t asn_MBR_HandoverPreparationInformation_1[] = {
174 { ATF_NOFLAGS, 0, offsetof(struct HandoverPreparationInformation, criticalExtensions),
175 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
176 +1, /* EXPLICIT tag at current level */
177 &asn_DEF_criticalExtensions_2,
180 0, 0, /* No default value */
184 static const ber_tlv_tag_t asn_DEF_HandoverPreparationInformation_tags_1[] = {
185 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
187 static const asn_TYPE_tag2member_t asn_MAP_HandoverPreparationInformation_tag2el_1[] = {
188 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* criticalExtensions */
190 static asn_SEQUENCE_specifics_t asn_SPC_HandoverPreparationInformation_specs_1 = {
191 sizeof(struct HandoverPreparationInformation),
192 offsetof(struct HandoverPreparationInformation, _asn_ctx),
193 asn_MAP_HandoverPreparationInformation_tag2el_1,
194 1, /* Count of tags in the map */
195 0, 0, 0, /* Optional elements (not needed) */
196 -1, /* First extension addition */
198 asn_TYPE_descriptor_t asn_DEF_HandoverPreparationInformation = {
199 "HandoverPreparationInformation",
200 "HandoverPreparationInformation",
202 asn_DEF_HandoverPreparationInformation_tags_1,
203 sizeof(asn_DEF_HandoverPreparationInformation_tags_1)
204 /sizeof(asn_DEF_HandoverPreparationInformation_tags_1[0]), /* 1 */
205 asn_DEF_HandoverPreparationInformation_tags_1, /* Same as above */
206 sizeof(asn_DEF_HandoverPreparationInformation_tags_1)
207 /sizeof(asn_DEF_HandoverPreparationInformation_tags_1[0]), /* 1 */
208 { 0, 0, SEQUENCE_constraint },
209 asn_MBR_HandoverPreparationInformation_1,
210 1, /* Elements count */
211 &asn_SPC_HandoverPreparationInformation_specs_1 /* Additional specs */