2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "02_Aug/rrc_15_3_asn.asn1"
5 * `asn1c -D ./Aug02 -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "MeasAndMobParametersXDD-Diff.h"
11 * This type is implemented using NativeEnumerated,
12 * so here we adjust the DEF accordingly.
15 * This type is implemented using NativeEnumerated,
16 * so here we adjust the DEF accordingly.
19 * This type is implemented using NativeEnumerated,
20 * so here we adjust the DEF accordingly.
23 * This type is implemented using NativeEnumerated,
24 * so here we adjust the DEF accordingly.
27 * This type is implemented using NativeEnumerated,
28 * so here we adjust the DEF accordingly.
30 static asn_oer_constraints_t asn_OER_type_intraAndInterF_MeasAndReport_constr_2 CC_NOTUSED = {
33 static asn_per_constraints_t asn_PER_type_intraAndInterF_MeasAndReport_constr_2 CC_NOTUSED = {
34 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
35 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
36 0, 0 /* No PER value map */
38 static asn_oer_constraints_t asn_OER_type_eventA_MeasAndReport_constr_4 CC_NOTUSED = {
41 static asn_per_constraints_t asn_PER_type_eventA_MeasAndReport_constr_4 CC_NOTUSED = {
42 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
43 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
44 0, 0 /* No PER value map */
46 static asn_oer_constraints_t asn_OER_type_handoverInterF_constr_8 CC_NOTUSED = {
49 static asn_per_constraints_t asn_PER_type_handoverInterF_constr_8 CC_NOTUSED = {
50 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
51 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
52 0, 0 /* No PER value map */
54 static asn_oer_constraints_t asn_OER_type_handoverLTE_constr_10 CC_NOTUSED = {
57 static asn_per_constraints_t asn_PER_type_handoverLTE_constr_10 CC_NOTUSED = {
58 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
59 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
60 0, 0 /* No PER value map */
62 static asn_oer_constraints_t asn_OER_type_handover_eLTE_constr_12 CC_NOTUSED = {
65 static asn_per_constraints_t asn_PER_type_handover_eLTE_constr_12 CC_NOTUSED = {
66 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
67 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
68 0, 0 /* No PER value map */
70 static const asn_INTEGER_enum_map_t asn_MAP_intraAndInterF_MeasAndReport_value2enum_2[] = {
73 static const unsigned int asn_MAP_intraAndInterF_MeasAndReport_enum2value_2[] = {
76 static const asn_INTEGER_specifics_t asn_SPC_intraAndInterF_MeasAndReport_specs_2 = {
77 asn_MAP_intraAndInterF_MeasAndReport_value2enum_2, /* "tag" => N; sorted by tag */
78 asn_MAP_intraAndInterF_MeasAndReport_enum2value_2, /* N => "tag"; sorted by N */
79 1, /* Number of elements in the maps */
80 0, /* Enumeration is not extensible */
81 1, /* Strict enumeration */
82 0, /* Native long size */
85 static const ber_tlv_tag_t asn_DEF_intraAndInterF_MeasAndReport_tags_2[] = {
86 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
87 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
89 static /* Use -fall-defs-global to expose */
90 asn_TYPE_descriptor_t asn_DEF_intraAndInterF_MeasAndReport_2 = {
91 "intraAndInterF-MeasAndReport",
92 "intraAndInterF-MeasAndReport",
93 &asn_OP_NativeEnumerated,
94 asn_DEF_intraAndInterF_MeasAndReport_tags_2,
95 sizeof(asn_DEF_intraAndInterF_MeasAndReport_tags_2)
96 /sizeof(asn_DEF_intraAndInterF_MeasAndReport_tags_2[0]) - 1, /* 1 */
97 asn_DEF_intraAndInterF_MeasAndReport_tags_2, /* Same as above */
98 sizeof(asn_DEF_intraAndInterF_MeasAndReport_tags_2)
99 /sizeof(asn_DEF_intraAndInterF_MeasAndReport_tags_2[0]), /* 2 */
100 { &asn_OER_type_intraAndInterF_MeasAndReport_constr_2, &asn_PER_type_intraAndInterF_MeasAndReport_constr_2, NativeEnumerated_constraint },
101 0, 0, /* Defined elsewhere */
102 &asn_SPC_intraAndInterF_MeasAndReport_specs_2 /* Additional specs */
105 static const asn_INTEGER_enum_map_t asn_MAP_eventA_MeasAndReport_value2enum_4[] = {
106 { 0, 9, "supported" }
108 static const unsigned int asn_MAP_eventA_MeasAndReport_enum2value_4[] = {
111 static const asn_INTEGER_specifics_t asn_SPC_eventA_MeasAndReport_specs_4 = {
112 asn_MAP_eventA_MeasAndReport_value2enum_4, /* "tag" => N; sorted by tag */
113 asn_MAP_eventA_MeasAndReport_enum2value_4, /* N => "tag"; sorted by N */
114 1, /* Number of elements in the maps */
115 0, /* Enumeration is not extensible */
116 1, /* Strict enumeration */
117 0, /* Native long size */
120 static const ber_tlv_tag_t asn_DEF_eventA_MeasAndReport_tags_4[] = {
121 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
122 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
124 static /* Use -fall-defs-global to expose */
125 asn_TYPE_descriptor_t asn_DEF_eventA_MeasAndReport_4 = {
126 "eventA-MeasAndReport",
127 "eventA-MeasAndReport",
128 &asn_OP_NativeEnumerated,
129 asn_DEF_eventA_MeasAndReport_tags_4,
130 sizeof(asn_DEF_eventA_MeasAndReport_tags_4)
131 /sizeof(asn_DEF_eventA_MeasAndReport_tags_4[0]) - 1, /* 1 */
132 asn_DEF_eventA_MeasAndReport_tags_4, /* Same as above */
133 sizeof(asn_DEF_eventA_MeasAndReport_tags_4)
134 /sizeof(asn_DEF_eventA_MeasAndReport_tags_4[0]), /* 2 */
135 { &asn_OER_type_eventA_MeasAndReport_constr_4, &asn_PER_type_eventA_MeasAndReport_constr_4, NativeEnumerated_constraint },
136 0, 0, /* Defined elsewhere */
137 &asn_SPC_eventA_MeasAndReport_specs_4 /* Additional specs */
140 static const asn_INTEGER_enum_map_t asn_MAP_handoverInterF_value2enum_8[] = {
141 { 0, 9, "supported" }
143 static const unsigned int asn_MAP_handoverInterF_enum2value_8[] = {
146 static const asn_INTEGER_specifics_t asn_SPC_handoverInterF_specs_8 = {
147 asn_MAP_handoverInterF_value2enum_8, /* "tag" => N; sorted by tag */
148 asn_MAP_handoverInterF_enum2value_8, /* N => "tag"; sorted by N */
149 1, /* Number of elements in the maps */
150 0, /* Enumeration is not extensible */
151 1, /* Strict enumeration */
152 0, /* Native long size */
155 static const ber_tlv_tag_t asn_DEF_handoverInterF_tags_8[] = {
156 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
157 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
159 static /* Use -fall-defs-global to expose */
160 asn_TYPE_descriptor_t asn_DEF_handoverInterF_8 = {
163 &asn_OP_NativeEnumerated,
164 asn_DEF_handoverInterF_tags_8,
165 sizeof(asn_DEF_handoverInterF_tags_8)
166 /sizeof(asn_DEF_handoverInterF_tags_8[0]) - 1, /* 1 */
167 asn_DEF_handoverInterF_tags_8, /* Same as above */
168 sizeof(asn_DEF_handoverInterF_tags_8)
169 /sizeof(asn_DEF_handoverInterF_tags_8[0]), /* 2 */
170 { &asn_OER_type_handoverInterF_constr_8, &asn_PER_type_handoverInterF_constr_8, NativeEnumerated_constraint },
171 0, 0, /* Defined elsewhere */
172 &asn_SPC_handoverInterF_specs_8 /* Additional specs */
175 static const asn_INTEGER_enum_map_t asn_MAP_handoverLTE_value2enum_10[] = {
176 { 0, 9, "supported" }
178 static const unsigned int asn_MAP_handoverLTE_enum2value_10[] = {
181 static const asn_INTEGER_specifics_t asn_SPC_handoverLTE_specs_10 = {
182 asn_MAP_handoverLTE_value2enum_10, /* "tag" => N; sorted by tag */
183 asn_MAP_handoverLTE_enum2value_10, /* N => "tag"; sorted by N */
184 1, /* Number of elements in the maps */
185 0, /* Enumeration is not extensible */
186 1, /* Strict enumeration */
187 0, /* Native long size */
190 static const ber_tlv_tag_t asn_DEF_handoverLTE_tags_10[] = {
191 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
192 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
194 static /* Use -fall-defs-global to expose */
195 asn_TYPE_descriptor_t asn_DEF_handoverLTE_10 = {
198 &asn_OP_NativeEnumerated,
199 asn_DEF_handoverLTE_tags_10,
200 sizeof(asn_DEF_handoverLTE_tags_10)
201 /sizeof(asn_DEF_handoverLTE_tags_10[0]) - 1, /* 1 */
202 asn_DEF_handoverLTE_tags_10, /* Same as above */
203 sizeof(asn_DEF_handoverLTE_tags_10)
204 /sizeof(asn_DEF_handoverLTE_tags_10[0]), /* 2 */
205 { &asn_OER_type_handoverLTE_constr_10, &asn_PER_type_handoverLTE_constr_10, NativeEnumerated_constraint },
206 0, 0, /* Defined elsewhere */
207 &asn_SPC_handoverLTE_specs_10 /* Additional specs */
210 static const asn_INTEGER_enum_map_t asn_MAP_handover_eLTE_value2enum_12[] = {
211 { 0, 9, "supported" }
213 static const unsigned int asn_MAP_handover_eLTE_enum2value_12[] = {
216 static const asn_INTEGER_specifics_t asn_SPC_handover_eLTE_specs_12 = {
217 asn_MAP_handover_eLTE_value2enum_12, /* "tag" => N; sorted by tag */
218 asn_MAP_handover_eLTE_enum2value_12, /* N => "tag"; sorted by N */
219 1, /* Number of elements in the maps */
220 0, /* Enumeration is not extensible */
221 1, /* Strict enumeration */
222 0, /* Native long size */
225 static const ber_tlv_tag_t asn_DEF_handover_eLTE_tags_12[] = {
226 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
227 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
229 static /* Use -fall-defs-global to expose */
230 asn_TYPE_descriptor_t asn_DEF_handover_eLTE_12 = {
233 &asn_OP_NativeEnumerated,
234 asn_DEF_handover_eLTE_tags_12,
235 sizeof(asn_DEF_handover_eLTE_tags_12)
236 /sizeof(asn_DEF_handover_eLTE_tags_12[0]) - 1, /* 1 */
237 asn_DEF_handover_eLTE_tags_12, /* Same as above */
238 sizeof(asn_DEF_handover_eLTE_tags_12)
239 /sizeof(asn_DEF_handover_eLTE_tags_12[0]), /* 2 */
240 { &asn_OER_type_handover_eLTE_constr_12, &asn_PER_type_handover_eLTE_constr_12, NativeEnumerated_constraint },
241 0, 0, /* Defined elsewhere */
242 &asn_SPC_handover_eLTE_specs_12 /* Additional specs */
245 static asn_TYPE_member_t asn_MBR_ext1_7[] = {
246 { ATF_POINTER, 3, offsetof(struct MeasAndMobParametersXDD_Diff__ext1, handoverInterF),
247 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
248 -1, /* IMPLICIT tag at current level */
249 &asn_DEF_handoverInterF_8,
252 0, 0, /* No default value */
255 { ATF_POINTER, 2, offsetof(struct MeasAndMobParametersXDD_Diff__ext1, handoverLTE),
256 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
257 -1, /* IMPLICIT tag at current level */
258 &asn_DEF_handoverLTE_10,
261 0, 0, /* No default value */
264 { ATF_POINTER, 1, offsetof(struct MeasAndMobParametersXDD_Diff__ext1, handover_eLTE),
265 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
266 -1, /* IMPLICIT tag at current level */
267 &asn_DEF_handover_eLTE_12,
270 0, 0, /* No default value */
274 static const int asn_MAP_ext1_oms_7[] = { 0, 1, 2 };
275 static const ber_tlv_tag_t asn_DEF_ext1_tags_7[] = {
276 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
277 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
279 static const asn_TYPE_tag2member_t asn_MAP_ext1_tag2el_7[] = {
280 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* handoverInterF */
281 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* handoverLTE */
282 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* handover-eLTE */
284 static asn_SEQUENCE_specifics_t asn_SPC_ext1_specs_7 = {
285 sizeof(struct MeasAndMobParametersXDD_Diff__ext1),
286 offsetof(struct MeasAndMobParametersXDD_Diff__ext1, _asn_ctx),
287 asn_MAP_ext1_tag2el_7,
288 3, /* Count of tags in the map */
289 asn_MAP_ext1_oms_7, /* Optional members */
290 3, 0, /* Root/Additions */
291 -1, /* First extension addition */
293 static /* Use -fall-defs-global to expose */
294 asn_TYPE_descriptor_t asn_DEF_ext1_7 = {
299 sizeof(asn_DEF_ext1_tags_7)
300 /sizeof(asn_DEF_ext1_tags_7[0]) - 1, /* 1 */
301 asn_DEF_ext1_tags_7, /* Same as above */
302 sizeof(asn_DEF_ext1_tags_7)
303 /sizeof(asn_DEF_ext1_tags_7[0]), /* 2 */
304 { 0, 0, SEQUENCE_constraint },
306 3, /* Elements count */
307 &asn_SPC_ext1_specs_7 /* Additional specs */
310 asn_TYPE_member_t asn_MBR_MeasAndMobParametersXDD_Diff_1[] = {
311 { ATF_POINTER, 3, offsetof(struct MeasAndMobParametersXDD_Diff, intraAndInterF_MeasAndReport),
312 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
313 -1, /* IMPLICIT tag at current level */
314 &asn_DEF_intraAndInterF_MeasAndReport_2,
317 0, 0, /* No default value */
318 "intraAndInterF-MeasAndReport"
320 { ATF_POINTER, 2, offsetof(struct MeasAndMobParametersXDD_Diff, eventA_MeasAndReport),
321 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
322 -1, /* IMPLICIT tag at current level */
323 &asn_DEF_eventA_MeasAndReport_4,
326 0, 0, /* No default value */
327 "eventA-MeasAndReport"
329 { ATF_POINTER, 1, offsetof(struct MeasAndMobParametersXDD_Diff, ext1),
330 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
335 0, 0, /* No default value */
339 static const int asn_MAP_MeasAndMobParametersXDD_Diff_oms_1[] = { 0, 1, 2 };
340 static const ber_tlv_tag_t asn_DEF_MeasAndMobParametersXDD_Diff_tags_1[] = {
341 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
343 static const asn_TYPE_tag2member_t asn_MAP_MeasAndMobParametersXDD_Diff_tag2el_1[] = {
344 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* intraAndInterF-MeasAndReport */
345 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eventA-MeasAndReport */
346 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ext1 */
348 asn_SEQUENCE_specifics_t asn_SPC_MeasAndMobParametersXDD_Diff_specs_1 = {
349 sizeof(struct MeasAndMobParametersXDD_Diff),
350 offsetof(struct MeasAndMobParametersXDD_Diff, _asn_ctx),
351 asn_MAP_MeasAndMobParametersXDD_Diff_tag2el_1,
352 3, /* Count of tags in the map */
353 asn_MAP_MeasAndMobParametersXDD_Diff_oms_1, /* Optional members */
354 2, 1, /* Root/Additions */
355 2, /* First extension addition */
357 asn_TYPE_descriptor_t asn_DEF_MeasAndMobParametersXDD_Diff = {
358 "MeasAndMobParametersXDD-Diff",
359 "MeasAndMobParametersXDD-Diff",
361 asn_DEF_MeasAndMobParametersXDD_Diff_tags_1,
362 sizeof(asn_DEF_MeasAndMobParametersXDD_Diff_tags_1)
363 /sizeof(asn_DEF_MeasAndMobParametersXDD_Diff_tags_1[0]), /* 1 */
364 asn_DEF_MeasAndMobParametersXDD_Diff_tags_1, /* Same as above */
365 sizeof(asn_DEF_MeasAndMobParametersXDD_Diff_tags_1)
366 /sizeof(asn_DEF_MeasAndMobParametersXDD_Diff_tags_1[0]), /* 1 */
367 { 0, 0, SEQUENCE_constraint },
368 asn_MBR_MeasAndMobParametersXDD_Diff_1,
369 3, /* Elements count */
370 &asn_SPC_MeasAndMobParametersXDD_Diff_specs_1 /* Additional specs */