2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "../../mib_sib1.asn1"
5 * `asn1c -D ./new_out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "RACH-ConfigGeneric.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 memb_prach_ConfigurationIndex_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
28 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
32 ASN__CTFAIL(app_key, td, sptr,
33 "%s: value not given (%s:%d)",
34 td->name, __FILE__, __LINE__);
38 value = *(const long *)sptr;
40 if((value >= 0 && value <= 255)) {
41 /* Constraint check succeeded */
44 ASN__CTFAIL(app_key, td, sptr,
45 "%s: constraint failed (%s:%d)",
46 td->name, __FILE__, __LINE__);
52 memb_msg1_FrequencyStart_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
53 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
57 ASN__CTFAIL(app_key, td, sptr,
58 "%s: value not given (%s:%d)",
59 td->name, __FILE__, __LINE__);
63 value = *(const long *)sptr;
65 if((value >= 0 && value <= 274)) {
66 /* Constraint check succeeded */
69 ASN__CTFAIL(app_key, td, sptr,
70 "%s: constraint failed (%s:%d)",
71 td->name, __FILE__, __LINE__);
77 memb_zeroCorrelationZoneConfig_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
78 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
82 ASN__CTFAIL(app_key, td, sptr,
83 "%s: value not given (%s:%d)",
84 td->name, __FILE__, __LINE__);
88 value = *(const long *)sptr;
90 if((value >= 0 && value <= 15)) {
91 /* Constraint check succeeded */
94 ASN__CTFAIL(app_key, td, sptr,
95 "%s: constraint failed (%s:%d)",
96 td->name, __FILE__, __LINE__);
102 memb_preambleReceivedTargetPower_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
103 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
107 ASN__CTFAIL(app_key, td, sptr,
108 "%s: value not given (%s:%d)",
109 td->name, __FILE__, __LINE__);
113 value = *(const long *)sptr;
115 if((value >= -202 && value <= -60)) {
116 /* Constraint check succeeded */
119 ASN__CTFAIL(app_key, td, sptr,
120 "%s: constraint failed (%s:%d)",
121 td->name, __FILE__, __LINE__);
126 static asn_oer_constraints_t asn_OER_type_msg1_FDM_constr_3 CC_NOTUSED = {
129 static asn_per_constraints_t asn_PER_type_msg1_FDM_constr_3 CC_NOTUSED = {
130 { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */,
131 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
132 0, 0 /* No PER value map */
134 static asn_oer_constraints_t asn_OER_type_preambleTransMax_constr_11 CC_NOTUSED = {
137 static asn_per_constraints_t asn_PER_type_preambleTransMax_constr_11 CC_NOTUSED = {
138 { APC_CONSTRAINED, 4, 4, 0, 10 } /* (0..10) */,
139 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
140 0, 0 /* No PER value map */
142 static asn_oer_constraints_t asn_OER_type_powerRampingStep_constr_23 CC_NOTUSED = {
145 static asn_per_constraints_t asn_PER_type_powerRampingStep_constr_23 CC_NOTUSED = {
146 { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */,
147 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
148 0, 0 /* No PER value map */
150 static asn_oer_constraints_t asn_OER_type_ra_ResponseWindow_constr_28 CC_NOTUSED = {
153 static asn_per_constraints_t asn_PER_type_ra_ResponseWindow_constr_28 CC_NOTUSED = {
154 { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */,
155 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
156 0, 0 /* No PER value map */
158 static asn_oer_constraints_t asn_OER_memb_prach_ConfigurationIndex_constr_2 CC_NOTUSED = {
159 { 1, 1 } /* (0..255) */,
161 static asn_per_constraints_t asn_PER_memb_prach_ConfigurationIndex_constr_2 CC_NOTUSED = {
162 { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
163 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
164 0, 0 /* No PER value map */
166 static asn_oer_constraints_t asn_OER_memb_msg1_FrequencyStart_constr_8 CC_NOTUSED = {
167 { 2, 1 } /* (0..274) */,
169 static asn_per_constraints_t asn_PER_memb_msg1_FrequencyStart_constr_8 CC_NOTUSED = {
170 { APC_CONSTRAINED, 9, 9, 0, 274 } /* (0..274) */,
171 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
172 0, 0 /* No PER value map */
174 static asn_oer_constraints_t asn_OER_memb_zeroCorrelationZoneConfig_constr_9 CC_NOTUSED = {
175 { 1, 1 } /* (0..15) */,
177 static asn_per_constraints_t asn_PER_memb_zeroCorrelationZoneConfig_constr_9 CC_NOTUSED = {
178 { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */,
179 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
180 0, 0 /* No PER value map */
182 static asn_oer_constraints_t asn_OER_memb_preambleReceivedTargetPower_constr_10 CC_NOTUSED = {
183 { 2, 0 } /* (-202..-60) */,
185 static asn_per_constraints_t asn_PER_memb_preambleReceivedTargetPower_constr_10 CC_NOTUSED = {
186 { APC_CONSTRAINED, 8, 8, -202, -60 } /* (-202..-60) */,
187 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
188 0, 0 /* No PER value map */
190 static const asn_INTEGER_enum_map_t asn_MAP_msg1_FDM_value2enum_3[] = {
196 static const unsigned int asn_MAP_msg1_FDM_enum2value_3[] = {
202 static const asn_INTEGER_specifics_t asn_SPC_msg1_FDM_specs_3 = {
203 asn_MAP_msg1_FDM_value2enum_3, /* "tag" => N; sorted by tag */
204 asn_MAP_msg1_FDM_enum2value_3, /* N => "tag"; sorted by N */
205 4, /* Number of elements in the maps */
206 0, /* Enumeration is not extensible */
207 1, /* Strict enumeration */
208 0, /* Native long size */
211 static const ber_tlv_tag_t asn_DEF_msg1_FDM_tags_3[] = {
212 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
213 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
215 static /* Use -fall-defs-global to expose */
216 asn_TYPE_descriptor_t asn_DEF_msg1_FDM_3 = {
219 &asn_OP_NativeEnumerated,
220 asn_DEF_msg1_FDM_tags_3,
221 sizeof(asn_DEF_msg1_FDM_tags_3)
222 /sizeof(asn_DEF_msg1_FDM_tags_3[0]) - 1, /* 1 */
223 asn_DEF_msg1_FDM_tags_3, /* Same as above */
224 sizeof(asn_DEF_msg1_FDM_tags_3)
225 /sizeof(asn_DEF_msg1_FDM_tags_3[0]), /* 2 */
226 { &asn_OER_type_msg1_FDM_constr_3, &asn_PER_type_msg1_FDM_constr_3, NativeEnumerated_constraint },
227 0, 0, /* Defined elsewhere */
228 &asn_SPC_msg1_FDM_specs_3 /* Additional specs */
231 static const asn_INTEGER_enum_map_t asn_MAP_preambleTransMax_value2enum_11[] = {
244 static const unsigned int asn_MAP_preambleTransMax_enum2value_11[] = {
257 static const asn_INTEGER_specifics_t asn_SPC_preambleTransMax_specs_11 = {
258 asn_MAP_preambleTransMax_value2enum_11, /* "tag" => N; sorted by tag */
259 asn_MAP_preambleTransMax_enum2value_11, /* N => "tag"; sorted by N */
260 11, /* Number of elements in the maps */
261 0, /* Enumeration is not extensible */
262 1, /* Strict enumeration */
263 0, /* Native long size */
266 static const ber_tlv_tag_t asn_DEF_preambleTransMax_tags_11[] = {
267 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
268 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
270 static /* Use -fall-defs-global to expose */
271 asn_TYPE_descriptor_t asn_DEF_preambleTransMax_11 = {
274 &asn_OP_NativeEnumerated,
275 asn_DEF_preambleTransMax_tags_11,
276 sizeof(asn_DEF_preambleTransMax_tags_11)
277 /sizeof(asn_DEF_preambleTransMax_tags_11[0]) - 1, /* 1 */
278 asn_DEF_preambleTransMax_tags_11, /* Same as above */
279 sizeof(asn_DEF_preambleTransMax_tags_11)
280 /sizeof(asn_DEF_preambleTransMax_tags_11[0]), /* 2 */
281 { &asn_OER_type_preambleTransMax_constr_11, &asn_PER_type_preambleTransMax_constr_11, NativeEnumerated_constraint },
282 0, 0, /* Defined elsewhere */
283 &asn_SPC_preambleTransMax_specs_11 /* Additional specs */
286 static const asn_INTEGER_enum_map_t asn_MAP_powerRampingStep_value2enum_23[] = {
292 static const unsigned int asn_MAP_powerRampingStep_enum2value_23[] = {
298 static const asn_INTEGER_specifics_t asn_SPC_powerRampingStep_specs_23 = {
299 asn_MAP_powerRampingStep_value2enum_23, /* "tag" => N; sorted by tag */
300 asn_MAP_powerRampingStep_enum2value_23, /* N => "tag"; sorted by N */
301 4, /* Number of elements in the maps */
302 0, /* Enumeration is not extensible */
303 1, /* Strict enumeration */
304 0, /* Native long size */
307 static const ber_tlv_tag_t asn_DEF_powerRampingStep_tags_23[] = {
308 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
309 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
311 static /* Use -fall-defs-global to expose */
312 asn_TYPE_descriptor_t asn_DEF_powerRampingStep_23 = {
315 &asn_OP_NativeEnumerated,
316 asn_DEF_powerRampingStep_tags_23,
317 sizeof(asn_DEF_powerRampingStep_tags_23)
318 /sizeof(asn_DEF_powerRampingStep_tags_23[0]) - 1, /* 1 */
319 asn_DEF_powerRampingStep_tags_23, /* Same as above */
320 sizeof(asn_DEF_powerRampingStep_tags_23)
321 /sizeof(asn_DEF_powerRampingStep_tags_23[0]), /* 2 */
322 { &asn_OER_type_powerRampingStep_constr_23, &asn_PER_type_powerRampingStep_constr_23, NativeEnumerated_constraint },
323 0, 0, /* Defined elsewhere */
324 &asn_SPC_powerRampingStep_specs_23 /* Additional specs */
327 static const asn_INTEGER_enum_map_t asn_MAP_ra_ResponseWindow_value2enum_28[] = {
337 static const unsigned int asn_MAP_ra_ResponseWindow_enum2value_28[] = {
347 static const asn_INTEGER_specifics_t asn_SPC_ra_ResponseWindow_specs_28 = {
348 asn_MAP_ra_ResponseWindow_value2enum_28, /* "tag" => N; sorted by tag */
349 asn_MAP_ra_ResponseWindow_enum2value_28, /* N => "tag"; sorted by N */
350 8, /* Number of elements in the maps */
351 0, /* Enumeration is not extensible */
352 1, /* Strict enumeration */
353 0, /* Native long size */
356 static const ber_tlv_tag_t asn_DEF_ra_ResponseWindow_tags_28[] = {
357 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
358 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
360 static /* Use -fall-defs-global to expose */
361 asn_TYPE_descriptor_t asn_DEF_ra_ResponseWindow_28 = {
364 &asn_OP_NativeEnumerated,
365 asn_DEF_ra_ResponseWindow_tags_28,
366 sizeof(asn_DEF_ra_ResponseWindow_tags_28)
367 /sizeof(asn_DEF_ra_ResponseWindow_tags_28[0]) - 1, /* 1 */
368 asn_DEF_ra_ResponseWindow_tags_28, /* Same as above */
369 sizeof(asn_DEF_ra_ResponseWindow_tags_28)
370 /sizeof(asn_DEF_ra_ResponseWindow_tags_28[0]), /* 2 */
371 { &asn_OER_type_ra_ResponseWindow_constr_28, &asn_PER_type_ra_ResponseWindow_constr_28, NativeEnumerated_constraint },
372 0, 0, /* Defined elsewhere */
373 &asn_SPC_ra_ResponseWindow_specs_28 /* Additional specs */
376 asn_TYPE_member_t asn_MBR_RACH_ConfigGeneric_1[] = {
377 { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigGeneric, prach_ConfigurationIndex),
378 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
379 -1, /* IMPLICIT tag at current level */
380 &asn_DEF_NativeInteger,
382 { &asn_OER_memb_prach_ConfigurationIndex_constr_2, &asn_PER_memb_prach_ConfigurationIndex_constr_2, memb_prach_ConfigurationIndex_constraint_1 },
383 0, 0, /* No default value */
384 "prach-ConfigurationIndex"
386 { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigGeneric, msg1_FDM),
387 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
388 -1, /* IMPLICIT tag at current level */
392 0, 0, /* No default value */
395 { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigGeneric, msg1_FrequencyStart),
396 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
397 -1, /* IMPLICIT tag at current level */
398 &asn_DEF_NativeInteger,
400 { &asn_OER_memb_msg1_FrequencyStart_constr_8, &asn_PER_memb_msg1_FrequencyStart_constr_8, memb_msg1_FrequencyStart_constraint_1 },
401 0, 0, /* No default value */
402 "msg1-FrequencyStart"
404 { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigGeneric, zeroCorrelationZoneConfig),
405 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
406 -1, /* IMPLICIT tag at current level */
407 &asn_DEF_NativeInteger,
409 { &asn_OER_memb_zeroCorrelationZoneConfig_constr_9, &asn_PER_memb_zeroCorrelationZoneConfig_constr_9, memb_zeroCorrelationZoneConfig_constraint_1 },
410 0, 0, /* No default value */
411 "zeroCorrelationZoneConfig"
413 { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigGeneric, preambleReceivedTargetPower),
414 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
415 -1, /* IMPLICIT tag at current level */
416 &asn_DEF_NativeInteger,
418 { &asn_OER_memb_preambleReceivedTargetPower_constr_10, &asn_PER_memb_preambleReceivedTargetPower_constr_10, memb_preambleReceivedTargetPower_constraint_1 },
419 0, 0, /* No default value */
420 "preambleReceivedTargetPower"
422 { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigGeneric, preambleTransMax),
423 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
424 -1, /* IMPLICIT tag at current level */
425 &asn_DEF_preambleTransMax_11,
428 0, 0, /* No default value */
431 { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigGeneric, powerRampingStep),
432 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
433 -1, /* IMPLICIT tag at current level */
434 &asn_DEF_powerRampingStep_23,
437 0, 0, /* No default value */
440 { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigGeneric, ra_ResponseWindow),
441 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
442 -1, /* IMPLICIT tag at current level */
443 &asn_DEF_ra_ResponseWindow_28,
446 0, 0, /* No default value */
450 static const ber_tlv_tag_t asn_DEF_RACH_ConfigGeneric_tags_1[] = {
451 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
453 static const asn_TYPE_tag2member_t asn_MAP_RACH_ConfigGeneric_tag2el_1[] = {
454 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* prach-ConfigurationIndex */
455 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* msg1-FDM */
456 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* msg1-FrequencyStart */
457 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* zeroCorrelationZoneConfig */
458 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* preambleReceivedTargetPower */
459 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* preambleTransMax */
460 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* powerRampingStep */
461 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* ra-ResponseWindow */
463 asn_SEQUENCE_specifics_t asn_SPC_RACH_ConfigGeneric_specs_1 = {
464 sizeof(struct RACH_ConfigGeneric),
465 offsetof(struct RACH_ConfigGeneric, _asn_ctx),
466 asn_MAP_RACH_ConfigGeneric_tag2el_1,
467 8, /* Count of tags in the map */
468 0, 0, 0, /* Optional elements (not needed) */
469 8, /* First extension addition */
471 asn_TYPE_descriptor_t asn_DEF_RACH_ConfigGeneric = {
472 "RACH-ConfigGeneric",
473 "RACH-ConfigGeneric",
475 asn_DEF_RACH_ConfigGeneric_tags_1,
476 sizeof(asn_DEF_RACH_ConfigGeneric_tags_1)
477 /sizeof(asn_DEF_RACH_ConfigGeneric_tags_1[0]), /* 1 */
478 asn_DEF_RACH_ConfigGeneric_tags_1, /* Same as above */
479 sizeof(asn_DEF_RACH_ConfigGeneric_tags_1)
480 /sizeof(asn_DEF_RACH_ConfigGeneric_tags_1[0]), /* 1 */
481 { 0, 0, SEQUENCE_constraint },
482 asn_MBR_RACH_ConfigGeneric_1,
483 8, /* Elements count */
484 &asn_SPC_RACH_ConfigGeneric_specs_1 /* Additional specs */