2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "../ASN1_Input/rrc_15_3_asn.asn1"
5 * `asn1c -D ../RRC_output_14Nov/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER`
8 #include "MeasAndMobParametersCommon.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.
31 * This type is implemented using NativeEnumerated,
32 * so here we adjust the DEF accordingly.
35 memb_supportedGapPattern_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
36 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
37 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
41 ASN__CTFAIL(app_key, td, sptr,
42 "%s: value not given (%s:%d)",
43 td->name, __FILE__, __LINE__);
49 size = 8 * st->size - (st->bits_unused & 0x07);
55 /* Constraint check succeeded */
58 ASN__CTFAIL(app_key, td, sptr,
59 "%s: constraint failed (%s:%d)",
60 td->name, __FILE__, __LINE__);
65 static asn_oer_constraints_t asn_OER_type_ssb_RLM_constr_3 CC_NOTUSED = {
68 static asn_per_constraints_t asn_PER_type_ssb_RLM_constr_3 CC_NOTUSED = {
69 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
70 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
71 0, 0 /* No PER value map */
73 static asn_oer_constraints_t asn_OER_type_ssb_AndCSI_RS_RLM_constr_5 CC_NOTUSED = {
76 static asn_per_constraints_t asn_PER_type_ssb_AndCSI_RS_RLM_constr_5 CC_NOTUSED = {
77 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
78 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
79 0, 0 /* No PER value map */
81 static asn_oer_constraints_t asn_OER_type_eventB_MeasAndReport_constr_9 CC_NOTUSED = {
84 static asn_per_constraints_t asn_PER_type_eventB_MeasAndReport_constr_9 CC_NOTUSED = {
85 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
86 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
87 0, 0 /* No PER value map */
89 static asn_oer_constraints_t asn_OER_type_handoverFDD_TDD_constr_11 CC_NOTUSED = {
92 static asn_per_constraints_t asn_PER_type_handoverFDD_TDD_constr_11 CC_NOTUSED = {
93 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
94 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
95 0, 0 /* No PER value map */
97 static asn_oer_constraints_t asn_OER_type_eutra_CGI_Reporting_constr_13 CC_NOTUSED = {
100 static asn_per_constraints_t asn_PER_type_eutra_CGI_Reporting_constr_13 CC_NOTUSED = {
101 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
102 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
103 0, 0 /* No PER value map */
105 static asn_oer_constraints_t asn_OER_type_nr_CGI_Reporting_constr_15 CC_NOTUSED = {
108 static asn_per_constraints_t asn_PER_type_nr_CGI_Reporting_constr_15 CC_NOTUSED = {
109 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
110 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
111 0, 0 /* No PER value map */
113 static asn_oer_constraints_t asn_OER_memb_supportedGapPattern_constr_2 CC_NOTUSED = {
115 22 /* (SIZE(22..22)) */};
116 static asn_per_constraints_t asn_PER_memb_supportedGapPattern_constr_2 CC_NOTUSED = {
117 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
118 { APC_CONSTRAINED, 0, 0, 22, 22 } /* (SIZE(22..22)) */,
119 0, 0 /* No PER value map */
121 static const asn_INTEGER_enum_map_t asn_MAP_ssb_RLM_value2enum_3[] = {
122 { 0, 9, "supported" }
124 static const unsigned int asn_MAP_ssb_RLM_enum2value_3[] = {
127 static const asn_INTEGER_specifics_t asn_SPC_ssb_RLM_specs_3 = {
128 asn_MAP_ssb_RLM_value2enum_3, /* "tag" => N; sorted by tag */
129 asn_MAP_ssb_RLM_enum2value_3, /* N => "tag"; sorted by N */
130 1, /* Number of elements in the maps */
131 0, /* Enumeration is not extensible */
132 1, /* Strict enumeration */
133 0, /* Native long size */
136 static const ber_tlv_tag_t asn_DEF_ssb_RLM_tags_3[] = {
137 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
138 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
140 static /* Use -fall-defs-global to expose */
141 asn_TYPE_descriptor_t asn_DEF_ssb_RLM_3 = {
144 &asn_OP_NativeEnumerated,
145 asn_DEF_ssb_RLM_tags_3,
146 sizeof(asn_DEF_ssb_RLM_tags_3)
147 /sizeof(asn_DEF_ssb_RLM_tags_3[0]) - 1, /* 1 */
148 asn_DEF_ssb_RLM_tags_3, /* Same as above */
149 sizeof(asn_DEF_ssb_RLM_tags_3)
150 /sizeof(asn_DEF_ssb_RLM_tags_3[0]), /* 2 */
151 { &asn_OER_type_ssb_RLM_constr_3, &asn_PER_type_ssb_RLM_constr_3, NativeEnumerated_constraint },
152 0, 0, /* Defined elsewhere */
153 &asn_SPC_ssb_RLM_specs_3 /* Additional specs */
156 static const asn_INTEGER_enum_map_t asn_MAP_ssb_AndCSI_RS_RLM_value2enum_5[] = {
157 { 0, 9, "supported" }
159 static const unsigned int asn_MAP_ssb_AndCSI_RS_RLM_enum2value_5[] = {
162 static const asn_INTEGER_specifics_t asn_SPC_ssb_AndCSI_RS_RLM_specs_5 = {
163 asn_MAP_ssb_AndCSI_RS_RLM_value2enum_5, /* "tag" => N; sorted by tag */
164 asn_MAP_ssb_AndCSI_RS_RLM_enum2value_5, /* N => "tag"; sorted by N */
165 1, /* Number of elements in the maps */
166 0, /* Enumeration is not extensible */
167 1, /* Strict enumeration */
168 0, /* Native long size */
171 static const ber_tlv_tag_t asn_DEF_ssb_AndCSI_RS_RLM_tags_5[] = {
172 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
173 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
175 static /* Use -fall-defs-global to expose */
176 asn_TYPE_descriptor_t asn_DEF_ssb_AndCSI_RS_RLM_5 = {
179 &asn_OP_NativeEnumerated,
180 asn_DEF_ssb_AndCSI_RS_RLM_tags_5,
181 sizeof(asn_DEF_ssb_AndCSI_RS_RLM_tags_5)
182 /sizeof(asn_DEF_ssb_AndCSI_RS_RLM_tags_5[0]) - 1, /* 1 */
183 asn_DEF_ssb_AndCSI_RS_RLM_tags_5, /* Same as above */
184 sizeof(asn_DEF_ssb_AndCSI_RS_RLM_tags_5)
185 /sizeof(asn_DEF_ssb_AndCSI_RS_RLM_tags_5[0]), /* 2 */
186 { &asn_OER_type_ssb_AndCSI_RS_RLM_constr_5, &asn_PER_type_ssb_AndCSI_RS_RLM_constr_5, NativeEnumerated_constraint },
187 0, 0, /* Defined elsewhere */
188 &asn_SPC_ssb_AndCSI_RS_RLM_specs_5 /* Additional specs */
191 static const asn_INTEGER_enum_map_t asn_MAP_eventB_MeasAndReport_value2enum_9[] = {
192 { 0, 9, "supported" }
194 static const unsigned int asn_MAP_eventB_MeasAndReport_enum2value_9[] = {
197 static const asn_INTEGER_specifics_t asn_SPC_eventB_MeasAndReport_specs_9 = {
198 asn_MAP_eventB_MeasAndReport_value2enum_9, /* "tag" => N; sorted by tag */
199 asn_MAP_eventB_MeasAndReport_enum2value_9, /* N => "tag"; sorted by N */
200 1, /* Number of elements in the maps */
201 0, /* Enumeration is not extensible */
202 1, /* Strict enumeration */
203 0, /* Native long size */
206 static const ber_tlv_tag_t asn_DEF_eventB_MeasAndReport_tags_9[] = {
207 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
208 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
210 static /* Use -fall-defs-global to expose */
211 asn_TYPE_descriptor_t asn_DEF_eventB_MeasAndReport_9 = {
212 "eventB-MeasAndReport",
213 "eventB-MeasAndReport",
214 &asn_OP_NativeEnumerated,
215 asn_DEF_eventB_MeasAndReport_tags_9,
216 sizeof(asn_DEF_eventB_MeasAndReport_tags_9)
217 /sizeof(asn_DEF_eventB_MeasAndReport_tags_9[0]) - 1, /* 1 */
218 asn_DEF_eventB_MeasAndReport_tags_9, /* Same as above */
219 sizeof(asn_DEF_eventB_MeasAndReport_tags_9)
220 /sizeof(asn_DEF_eventB_MeasAndReport_tags_9[0]), /* 2 */
221 { &asn_OER_type_eventB_MeasAndReport_constr_9, &asn_PER_type_eventB_MeasAndReport_constr_9, NativeEnumerated_constraint },
222 0, 0, /* Defined elsewhere */
223 &asn_SPC_eventB_MeasAndReport_specs_9 /* Additional specs */
226 static const asn_INTEGER_enum_map_t asn_MAP_handoverFDD_TDD_value2enum_11[] = {
227 { 0, 9, "supported" }
229 static const unsigned int asn_MAP_handoverFDD_TDD_enum2value_11[] = {
232 static const asn_INTEGER_specifics_t asn_SPC_handoverFDD_TDD_specs_11 = {
233 asn_MAP_handoverFDD_TDD_value2enum_11, /* "tag" => N; sorted by tag */
234 asn_MAP_handoverFDD_TDD_enum2value_11, /* N => "tag"; sorted by N */
235 1, /* Number of elements in the maps */
236 0, /* Enumeration is not extensible */
237 1, /* Strict enumeration */
238 0, /* Native long size */
241 static const ber_tlv_tag_t asn_DEF_handoverFDD_TDD_tags_11[] = {
242 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
243 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
245 static /* Use -fall-defs-global to expose */
246 asn_TYPE_descriptor_t asn_DEF_handoverFDD_TDD_11 = {
249 &asn_OP_NativeEnumerated,
250 asn_DEF_handoverFDD_TDD_tags_11,
251 sizeof(asn_DEF_handoverFDD_TDD_tags_11)
252 /sizeof(asn_DEF_handoverFDD_TDD_tags_11[0]) - 1, /* 1 */
253 asn_DEF_handoverFDD_TDD_tags_11, /* Same as above */
254 sizeof(asn_DEF_handoverFDD_TDD_tags_11)
255 /sizeof(asn_DEF_handoverFDD_TDD_tags_11[0]), /* 2 */
256 { &asn_OER_type_handoverFDD_TDD_constr_11, &asn_PER_type_handoverFDD_TDD_constr_11, NativeEnumerated_constraint },
257 0, 0, /* Defined elsewhere */
258 &asn_SPC_handoverFDD_TDD_specs_11 /* Additional specs */
261 static const asn_INTEGER_enum_map_t asn_MAP_eutra_CGI_Reporting_value2enum_13[] = {
262 { 0, 9, "supported" }
264 static const unsigned int asn_MAP_eutra_CGI_Reporting_enum2value_13[] = {
267 static const asn_INTEGER_specifics_t asn_SPC_eutra_CGI_Reporting_specs_13 = {
268 asn_MAP_eutra_CGI_Reporting_value2enum_13, /* "tag" => N; sorted by tag */
269 asn_MAP_eutra_CGI_Reporting_enum2value_13, /* N => "tag"; sorted by N */
270 1, /* Number of elements in the maps */
271 0, /* Enumeration is not extensible */
272 1, /* Strict enumeration */
273 0, /* Native long size */
276 static const ber_tlv_tag_t asn_DEF_eutra_CGI_Reporting_tags_13[] = {
277 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
278 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
280 static /* Use -fall-defs-global to expose */
281 asn_TYPE_descriptor_t asn_DEF_eutra_CGI_Reporting_13 = {
282 "eutra-CGI-Reporting",
283 "eutra-CGI-Reporting",
284 &asn_OP_NativeEnumerated,
285 asn_DEF_eutra_CGI_Reporting_tags_13,
286 sizeof(asn_DEF_eutra_CGI_Reporting_tags_13)
287 /sizeof(asn_DEF_eutra_CGI_Reporting_tags_13[0]) - 1, /* 1 */
288 asn_DEF_eutra_CGI_Reporting_tags_13, /* Same as above */
289 sizeof(asn_DEF_eutra_CGI_Reporting_tags_13)
290 /sizeof(asn_DEF_eutra_CGI_Reporting_tags_13[0]), /* 2 */
291 { &asn_OER_type_eutra_CGI_Reporting_constr_13, &asn_PER_type_eutra_CGI_Reporting_constr_13, NativeEnumerated_constraint },
292 0, 0, /* Defined elsewhere */
293 &asn_SPC_eutra_CGI_Reporting_specs_13 /* Additional specs */
296 static const asn_INTEGER_enum_map_t asn_MAP_nr_CGI_Reporting_value2enum_15[] = {
297 { 0, 9, "supported" }
299 static const unsigned int asn_MAP_nr_CGI_Reporting_enum2value_15[] = {
302 static const asn_INTEGER_specifics_t asn_SPC_nr_CGI_Reporting_specs_15 = {
303 asn_MAP_nr_CGI_Reporting_value2enum_15, /* "tag" => N; sorted by tag */
304 asn_MAP_nr_CGI_Reporting_enum2value_15, /* N => "tag"; sorted by N */
305 1, /* Number of elements in the maps */
306 0, /* Enumeration is not extensible */
307 1, /* Strict enumeration */
308 0, /* Native long size */
311 static const ber_tlv_tag_t asn_DEF_nr_CGI_Reporting_tags_15[] = {
312 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
313 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
315 static /* Use -fall-defs-global to expose */
316 asn_TYPE_descriptor_t asn_DEF_nr_CGI_Reporting_15 = {
319 &asn_OP_NativeEnumerated,
320 asn_DEF_nr_CGI_Reporting_tags_15,
321 sizeof(asn_DEF_nr_CGI_Reporting_tags_15)
322 /sizeof(asn_DEF_nr_CGI_Reporting_tags_15[0]) - 1, /* 1 */
323 asn_DEF_nr_CGI_Reporting_tags_15, /* Same as above */
324 sizeof(asn_DEF_nr_CGI_Reporting_tags_15)
325 /sizeof(asn_DEF_nr_CGI_Reporting_tags_15[0]), /* 2 */
326 { &asn_OER_type_nr_CGI_Reporting_constr_15, &asn_PER_type_nr_CGI_Reporting_constr_15, NativeEnumerated_constraint },
327 0, 0, /* Defined elsewhere */
328 &asn_SPC_nr_CGI_Reporting_specs_15 /* Additional specs */
331 static asn_TYPE_member_t asn_MBR_ext1_8[] = {
332 { ATF_POINTER, 4, offsetof(struct MeasAndMobParametersCommon__ext1, eventB_MeasAndReport),
333 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
334 -1, /* IMPLICIT tag at current level */
335 &asn_DEF_eventB_MeasAndReport_9,
338 0, 0, /* No default value */
339 "eventB-MeasAndReport"
341 { ATF_POINTER, 3, offsetof(struct MeasAndMobParametersCommon__ext1, handoverFDD_TDD),
342 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
343 -1, /* IMPLICIT tag at current level */
344 &asn_DEF_handoverFDD_TDD_11,
347 0, 0, /* No default value */
350 { ATF_POINTER, 2, offsetof(struct MeasAndMobParametersCommon__ext1, eutra_CGI_Reporting),
351 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
352 -1, /* IMPLICIT tag at current level */
353 &asn_DEF_eutra_CGI_Reporting_13,
356 0, 0, /* No default value */
357 "eutra-CGI-Reporting"
359 { ATF_POINTER, 1, offsetof(struct MeasAndMobParametersCommon__ext1, nr_CGI_Reporting),
360 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
361 -1, /* IMPLICIT tag at current level */
362 &asn_DEF_nr_CGI_Reporting_15,
365 0, 0, /* No default value */
369 static const int asn_MAP_ext1_oms_8[] = { 0, 1, 2, 3 };
370 static const ber_tlv_tag_t asn_DEF_ext1_tags_8[] = {
371 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
372 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
374 static const asn_TYPE_tag2member_t asn_MAP_ext1_tag2el_8[] = {
375 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventB-MeasAndReport */
376 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* handoverFDD-TDD */
377 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* eutra-CGI-Reporting */
378 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* nr-CGI-Reporting */
380 static asn_SEQUENCE_specifics_t asn_SPC_ext1_specs_8 = {
381 sizeof(struct MeasAndMobParametersCommon__ext1),
382 offsetof(struct MeasAndMobParametersCommon__ext1, _asn_ctx),
383 asn_MAP_ext1_tag2el_8,
384 4, /* Count of tags in the map */
385 asn_MAP_ext1_oms_8, /* Optional members */
386 4, 0, /* Root/Additions */
387 -1, /* First extension addition */
389 static /* Use -fall-defs-global to expose */
390 asn_TYPE_descriptor_t asn_DEF_ext1_8 = {
395 sizeof(asn_DEF_ext1_tags_8)
396 /sizeof(asn_DEF_ext1_tags_8[0]) - 1, /* 1 */
397 asn_DEF_ext1_tags_8, /* Same as above */
398 sizeof(asn_DEF_ext1_tags_8)
399 /sizeof(asn_DEF_ext1_tags_8[0]), /* 2 */
400 { 0, 0, SEQUENCE_constraint },
402 4, /* Elements count */
403 &asn_SPC_ext1_specs_8 /* Additional specs */
406 asn_TYPE_member_t asn_MBR_MeasAndMobParametersCommon_1[] = {
407 { ATF_POINTER, 4, offsetof(struct MeasAndMobParametersCommon, supportedGapPattern),
408 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
409 -1, /* IMPLICIT tag at current level */
412 { &asn_OER_memb_supportedGapPattern_constr_2, &asn_PER_memb_supportedGapPattern_constr_2, memb_supportedGapPattern_constraint_1 },
413 0, 0, /* No default value */
414 "supportedGapPattern"
416 { ATF_POINTER, 3, offsetof(struct MeasAndMobParametersCommon, ssb_RLM),
417 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
418 -1, /* IMPLICIT tag at current level */
422 0, 0, /* No default value */
425 { ATF_POINTER, 2, offsetof(struct MeasAndMobParametersCommon, ssb_AndCSI_RS_RLM),
426 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
427 -1, /* IMPLICIT tag at current level */
428 &asn_DEF_ssb_AndCSI_RS_RLM_5,
431 0, 0, /* No default value */
434 { ATF_POINTER, 1, offsetof(struct MeasAndMobParametersCommon, ext1),
435 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
440 0, 0, /* No default value */
444 static const int asn_MAP_MeasAndMobParametersCommon_oms_1[] = { 0, 1, 2, 3 };
445 static const ber_tlv_tag_t asn_DEF_MeasAndMobParametersCommon_tags_1[] = {
446 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
448 static const asn_TYPE_tag2member_t asn_MAP_MeasAndMobParametersCommon_tag2el_1[] = {
449 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* supportedGapPattern */
450 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ssb-RLM */
451 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ssb-AndCSI-RS-RLM */
452 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ext1 */
454 asn_SEQUENCE_specifics_t asn_SPC_MeasAndMobParametersCommon_specs_1 = {
455 sizeof(struct MeasAndMobParametersCommon),
456 offsetof(struct MeasAndMobParametersCommon, _asn_ctx),
457 asn_MAP_MeasAndMobParametersCommon_tag2el_1,
458 4, /* Count of tags in the map */
459 asn_MAP_MeasAndMobParametersCommon_oms_1, /* Optional members */
460 3, 1, /* Root/Additions */
461 3, /* First extension addition */
463 asn_TYPE_descriptor_t asn_DEF_MeasAndMobParametersCommon = {
464 "MeasAndMobParametersCommon",
465 "MeasAndMobParametersCommon",
467 asn_DEF_MeasAndMobParametersCommon_tags_1,
468 sizeof(asn_DEF_MeasAndMobParametersCommon_tags_1)
469 /sizeof(asn_DEF_MeasAndMobParametersCommon_tags_1[0]), /* 1 */
470 asn_DEF_MeasAndMobParametersCommon_tags_1, /* Same as above */
471 sizeof(asn_DEF_MeasAndMobParametersCommon_tags_1)
472 /sizeof(asn_DEF_MeasAndMobParametersCommon_tags_1[0]), /* 1 */
473 { 0, 0, SEQUENCE_constraint },
474 asn_MBR_MeasAndMobParametersCommon_1,
475 4, /* Elements count */
476 &asn_SPC_MeasAndMobParametersCommon_specs_1 /* Additional specs */