[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-441]: Update name of Paging RRC Codec
[o-du/l2.git] / src / codec_utils / RRC / RACH-ConfigCommon.c
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "NR-RRC-Definitions"
4  *      found in "./22April22_Paging/rrc_15.3_asn.asn1"
5  *      `asn1c -D ./22April22_Paging -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
6  */
7
8 #include "RACH-ConfigCommon.h"
9
10 /*
11  * This type is implemented using NativeEnumerated,
12  * so here we adjust the DEF accordingly.
13  */
14 /*
15  * This type is implemented using NativeEnumerated,
16  * so here we adjust the DEF accordingly.
17  */
18 /*
19  * This type is implemented using NativeEnumerated,
20  * so here we adjust the DEF accordingly.
21  */
22 /*
23  * This type is implemented using NativeEnumerated,
24  * so here we adjust the DEF accordingly.
25  */
26 /*
27  * This type is implemented using NativeEnumerated,
28  * so here we adjust the DEF accordingly.
29  */
30 static int
31 memb_four_constraint_4(const asn_TYPE_descriptor_t *td, const void *sptr,
32                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
33         long value;
34         
35         if(!sptr) {
36                 ASN__CTFAIL(app_key, td, sptr,
37                         "%s: value not given (%s:%d)",
38                         td->name, __FILE__, __LINE__);
39                 return -1;
40         }
41         
42         value = *(const long *)sptr;
43         
44         if((value >= 1 && value <= 16)) {
45                 /* Constraint check succeeded */
46                 return 0;
47         } else {
48                 ASN__CTFAIL(app_key, td, sptr,
49                         "%s: constraint failed (%s:%d)",
50                         td->name, __FILE__, __LINE__);
51                 return -1;
52         }
53 }
54
55 static int
56 memb_eight_constraint_4(const asn_TYPE_descriptor_t *td, const void *sptr,
57                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
58         long value;
59         
60         if(!sptr) {
61                 ASN__CTFAIL(app_key, td, sptr,
62                         "%s: value not given (%s:%d)",
63                         td->name, __FILE__, __LINE__);
64                 return -1;
65         }
66         
67         value = *(const long *)sptr;
68         
69         if((value >= 1 && value <= 8)) {
70                 /* Constraint check succeeded */
71                 return 0;
72         } else {
73                 ASN__CTFAIL(app_key, td, sptr,
74                         "%s: constraint failed (%s:%d)",
75                         td->name, __FILE__, __LINE__);
76                 return -1;
77         }
78 }
79
80 static int
81 memb_sixteen_constraint_4(const asn_TYPE_descriptor_t *td, const void *sptr,
82                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
83         long value;
84         
85         if(!sptr) {
86                 ASN__CTFAIL(app_key, td, sptr,
87                         "%s: value not given (%s:%d)",
88                         td->name, __FILE__, __LINE__);
89                 return -1;
90         }
91         
92         value = *(const long *)sptr;
93         
94         if((value >= 1 && value <= 4)) {
95                 /* Constraint check succeeded */
96                 return 0;
97         } else {
98                 ASN__CTFAIL(app_key, td, sptr,
99                         "%s: constraint failed (%s:%d)",
100                         td->name, __FILE__, __LINE__);
101                 return -1;
102         }
103 }
104
105 /*
106  * This type is implemented using NativeEnumerated,
107  * so here we adjust the DEF accordingly.
108  */
109 /*
110  * This type is implemented using NativeEnumerated,
111  * so here we adjust the DEF accordingly.
112  */
113 static int
114 memb_numberOfRA_PreamblesGroupA_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr,
115                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
116         long value;
117         
118         if(!sptr) {
119                 ASN__CTFAIL(app_key, td, sptr,
120                         "%s: value not given (%s:%d)",
121                         td->name, __FILE__, __LINE__);
122                 return -1;
123         }
124         
125         value = *(const long *)sptr;
126         
127         if((value >= 1 && value <= 64)) {
128                 /* Constraint check succeeded */
129                 return 0;
130         } else {
131                 ASN__CTFAIL(app_key, td, sptr,
132                         "%s: constraint failed (%s:%d)",
133                         td->name, __FILE__, __LINE__);
134                 return -1;
135         }
136 }
137
138 /*
139  * This type is implemented using NativeEnumerated,
140  * so here we adjust the DEF accordingly.
141  */
142 static int
143 memb_l839_constraint_124(const asn_TYPE_descriptor_t *td, const void *sptr,
144                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
145         long value;
146         
147         if(!sptr) {
148                 ASN__CTFAIL(app_key, td, sptr,
149                         "%s: value not given (%s:%d)",
150                         td->name, __FILE__, __LINE__);
151                 return -1;
152         }
153         
154         value = *(const long *)sptr;
155         
156         if((value >= 0 && value <= 837)) {
157                 /* Constraint check succeeded */
158                 return 0;
159         } else {
160                 ASN__CTFAIL(app_key, td, sptr,
161                         "%s: constraint failed (%s:%d)",
162                         td->name, __FILE__, __LINE__);
163                 return -1;
164         }
165 }
166
167 static int
168 memb_l139_constraint_124(const asn_TYPE_descriptor_t *td, const void *sptr,
169                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
170         long value;
171         
172         if(!sptr) {
173                 ASN__CTFAIL(app_key, td, sptr,
174                         "%s: value not given (%s:%d)",
175                         td->name, __FILE__, __LINE__);
176                 return -1;
177         }
178         
179         value = *(const long *)sptr;
180         
181         if((value >= 0 && value <= 137)) {
182                 /* Constraint check succeeded */
183                 return 0;
184         } else {
185                 ASN__CTFAIL(app_key, td, sptr,
186                         "%s: constraint failed (%s:%d)",
187                         td->name, __FILE__, __LINE__);
188                 return -1;
189         }
190 }
191
192 /*
193  * This type is implemented using NativeEnumerated,
194  * so here we adjust the DEF accordingly.
195  */
196 /*
197  * This type is implemented using NativeEnumerated,
198  * so here we adjust the DEF accordingly.
199  */
200 static int
201 memb_totalNumberOfRA_Preambles_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
202                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
203         long value;
204         
205         if(!sptr) {
206                 ASN__CTFAIL(app_key, td, sptr,
207                         "%s: value not given (%s:%d)",
208                         td->name, __FILE__, __LINE__);
209                 return -1;
210         }
211         
212         value = *(const long *)sptr;
213         
214         if((value >= 1 && value <= 63)) {
215                 /* Constraint check succeeded */
216                 return 0;
217         } else {
218                 ASN__CTFAIL(app_key, td, sptr,
219                         "%s: constraint failed (%s:%d)",
220                         td->name, __FILE__, __LINE__);
221                 return -1;
222         }
223 }
224
225 static asn_oer_constraints_t asn_OER_type_oneEighth_constr_5 CC_NOTUSED = {
226         { 0, 0 },
227         -1};
228 static asn_per_constraints_t asn_PER_type_oneEighth_constr_5 CC_NOTUSED = {
229         { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
230         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
231         0, 0    /* No PER value map */
232 };
233 static asn_oer_constraints_t asn_OER_type_oneFourth_constr_22 CC_NOTUSED = {
234         { 0, 0 },
235         -1};
236 static asn_per_constraints_t asn_PER_type_oneFourth_constr_22 CC_NOTUSED = {
237         { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
238         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
239         0, 0    /* No PER value map */
240 };
241 static asn_oer_constraints_t asn_OER_type_oneHalf_constr_39 CC_NOTUSED = {
242         { 0, 0 },
243         -1};
244 static asn_per_constraints_t asn_PER_type_oneHalf_constr_39 CC_NOTUSED = {
245         { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
246         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
247         0, 0    /* No PER value map */
248 };
249 static asn_oer_constraints_t asn_OER_type_one_constr_56 CC_NOTUSED = {
250         { 0, 0 },
251         -1};
252 static asn_per_constraints_t asn_PER_type_one_constr_56 CC_NOTUSED = {
253         { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
254         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
255         0, 0    /* No PER value map */
256 };
257 static asn_oer_constraints_t asn_OER_type_two_constr_73 CC_NOTUSED = {
258         { 0, 0 },
259         -1};
260 static asn_per_constraints_t asn_PER_type_two_constr_73 CC_NOTUSED = {
261         { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
262         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
263         0, 0    /* No PER value map */
264 };
265 static asn_oer_constraints_t asn_OER_memb_four_constr_82 CC_NOTUSED = {
266         { 1, 1 }        /* (1..16) */,
267         -1};
268 static asn_per_constraints_t asn_PER_memb_four_constr_82 CC_NOTUSED = {
269         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (1..16) */,
270         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
271         0, 0    /* No PER value map */
272 };
273 static asn_oer_constraints_t asn_OER_memb_eight_constr_83 CC_NOTUSED = {
274         { 1, 1 }        /* (1..8) */,
275         -1};
276 static asn_per_constraints_t asn_PER_memb_eight_constr_83 CC_NOTUSED = {
277         { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (1..8) */,
278         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
279         0, 0    /* No PER value map */
280 };
281 static asn_oer_constraints_t asn_OER_memb_sixteen_constr_84 CC_NOTUSED = {
282         { 1, 1 }        /* (1..4) */,
283         -1};
284 static asn_per_constraints_t asn_PER_memb_sixteen_constr_84 CC_NOTUSED = {
285         { APC_CONSTRAINED,       2,  2,  1,  4 }        /* (1..4) */,
286         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
287         0, 0    /* No PER value map */
288 };
289 static asn_oer_constraints_t asn_OER_type_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_constr_4 CC_NOTUSED = {
290         { 0, 0 },
291         -1};
292 static asn_per_constraints_t asn_PER_type_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_constr_4 CC_NOTUSED = {
293         { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
294         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
295         0, 0    /* No PER value map */
296 };
297 static asn_oer_constraints_t asn_OER_type_ra_Msg3SizeGroupA_constr_86 CC_NOTUSED = {
298         { 0, 0 },
299         -1};
300 static asn_per_constraints_t asn_PER_type_ra_Msg3SizeGroupA_constr_86 CC_NOTUSED = {
301         { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
302         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
303         0, 0    /* No PER value map */
304 };
305 static asn_oer_constraints_t asn_OER_type_messagePowerOffsetGroupB_constr_103 CC_NOTUSED = {
306         { 0, 0 },
307         -1};
308 static asn_per_constraints_t asn_PER_type_messagePowerOffsetGroupB_constr_103 CC_NOTUSED = {
309         { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
310         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
311         0, 0    /* No PER value map */
312 };
313 static asn_oer_constraints_t asn_OER_memb_numberOfRA_PreamblesGroupA_constr_112 CC_NOTUSED = {
314         { 1, 1 }        /* (1..64) */,
315         -1};
316 static asn_per_constraints_t asn_PER_memb_numberOfRA_PreamblesGroupA_constr_112 CC_NOTUSED = {
317         { APC_CONSTRAINED,       6,  6,  1,  64 }       /* (1..64) */,
318         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
319         0, 0    /* No PER value map */
320 };
321 static asn_oer_constraints_t asn_OER_type_ra_ContentionResolutionTimer_constr_113 CC_NOTUSED = {
322         { 0, 0 },
323         -1};
324 static asn_per_constraints_t asn_PER_type_ra_ContentionResolutionTimer_constr_113 CC_NOTUSED = {
325         { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
326         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
327         0, 0    /* No PER value map */
328 };
329 static asn_oer_constraints_t asn_OER_memb_l839_constr_125 CC_NOTUSED = {
330         { 2, 1 }        /* (0..837) */,
331         -1};
332 static asn_per_constraints_t asn_PER_memb_l839_constr_125 CC_NOTUSED = {
333         { APC_CONSTRAINED,       10,  10,  0,  837 }    /* (0..837) */,
334         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
335         0, 0    /* No PER value map */
336 };
337 static asn_oer_constraints_t asn_OER_memb_l139_constr_126 CC_NOTUSED = {
338         { 1, 1 }        /* (0..137) */,
339         -1};
340 static asn_per_constraints_t asn_PER_memb_l139_constr_126 CC_NOTUSED = {
341         { APC_CONSTRAINED,       8,  8,  0,  137 }      /* (0..137) */,
342         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
343         0, 0    /* No PER value map */
344 };
345 static asn_oer_constraints_t asn_OER_type_prach_RootSequenceIndex_constr_124 CC_NOTUSED = {
346         { 0, 0 },
347         -1};
348 static asn_per_constraints_t asn_PER_type_prach_RootSequenceIndex_constr_124 CC_NOTUSED = {
349         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
350         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
351         0, 0    /* No PER value map */
352 };
353 static asn_oer_constraints_t asn_OER_type_restrictedSetConfig_constr_128 CC_NOTUSED = {
354         { 0, 0 },
355         -1};
356 static asn_per_constraints_t asn_PER_type_restrictedSetConfig_constr_128 CC_NOTUSED = {
357         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
358         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
359         0, 0    /* No PER value map */
360 };
361 static asn_oer_constraints_t asn_OER_type_msg3_transformPrecoder_constr_132 CC_NOTUSED = {
362         { 0, 0 },
363         -1};
364 static asn_per_constraints_t asn_PER_type_msg3_transformPrecoder_constr_132 CC_NOTUSED = {
365         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
366         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
367         0, 0    /* No PER value map */
368 };
369 static asn_oer_constraints_t asn_OER_memb_totalNumberOfRA_Preambles_constr_3 CC_NOTUSED = {
370         { 1, 1 }        /* (1..63) */,
371         -1};
372 static asn_per_constraints_t asn_PER_memb_totalNumberOfRA_Preambles_constr_3 CC_NOTUSED = {
373         { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (1..63) */,
374         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
375         0, 0    /* No PER value map */
376 };
377 static const asn_INTEGER_enum_map_t asn_MAP_oneEighth_value2enum_5[] = {
378         { 0,    2,      "n4" },
379         { 1,    2,      "n8" },
380         { 2,    3,      "n12" },
381         { 3,    3,      "n16" },
382         { 4,    3,      "n20" },
383         { 5,    3,      "n24" },
384         { 6,    3,      "n28" },
385         { 7,    3,      "n32" },
386         { 8,    3,      "n36" },
387         { 9,    3,      "n40" },
388         { 10,   3,      "n44" },
389         { 11,   3,      "n48" },
390         { 12,   3,      "n52" },
391         { 13,   3,      "n56" },
392         { 14,   3,      "n60" },
393         { 15,   3,      "n64" }
394 };
395 static const unsigned int asn_MAP_oneEighth_enum2value_5[] = {
396         2,      /* n12(2) */
397         3,      /* n16(3) */
398         4,      /* n20(4) */
399         5,      /* n24(5) */
400         6,      /* n28(6) */
401         7,      /* n32(7) */
402         8,      /* n36(8) */
403         0,      /* n4(0) */
404         9,      /* n40(9) */
405         10,     /* n44(10) */
406         11,     /* n48(11) */
407         12,     /* n52(12) */
408         13,     /* n56(13) */
409         14,     /* n60(14) */
410         15,     /* n64(15) */
411         1       /* n8(1) */
412 };
413 static const asn_INTEGER_specifics_t asn_SPC_oneEighth_specs_5 = {
414         asn_MAP_oneEighth_value2enum_5, /* "tag" => N; sorted by tag */
415         asn_MAP_oneEighth_enum2value_5, /* N => "tag"; sorted by N */
416         16,     /* Number of elements in the maps */
417         0,      /* Enumeration is not extensible */
418         1,      /* Strict enumeration */
419         0,      /* Native long size */
420         0
421 };
422 static const ber_tlv_tag_t asn_DEF_oneEighth_tags_5[] = {
423         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
424         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
425 };
426 static /* Use -fall-defs-global to expose */
427 asn_TYPE_descriptor_t asn_DEF_oneEighth_5 = {
428         "oneEighth",
429         "oneEighth",
430         &asn_OP_NativeEnumerated,
431         asn_DEF_oneEighth_tags_5,
432         sizeof(asn_DEF_oneEighth_tags_5)
433                 /sizeof(asn_DEF_oneEighth_tags_5[0]) - 1, /* 1 */
434         asn_DEF_oneEighth_tags_5,       /* Same as above */
435         sizeof(asn_DEF_oneEighth_tags_5)
436                 /sizeof(asn_DEF_oneEighth_tags_5[0]), /* 2 */
437         { &asn_OER_type_oneEighth_constr_5, &asn_PER_type_oneEighth_constr_5, NativeEnumerated_constraint },
438         0, 0,   /* Defined elsewhere */
439         &asn_SPC_oneEighth_specs_5      /* Additional specs */
440 };
441
442 static const asn_INTEGER_enum_map_t asn_MAP_oneFourth_value2enum_22[] = {
443         { 0,    2,      "n4" },
444         { 1,    2,      "n8" },
445         { 2,    3,      "n12" },
446         { 3,    3,      "n16" },
447         { 4,    3,      "n20" },
448         { 5,    3,      "n24" },
449         { 6,    3,      "n28" },
450         { 7,    3,      "n32" },
451         { 8,    3,      "n36" },
452         { 9,    3,      "n40" },
453         { 10,   3,      "n44" },
454         { 11,   3,      "n48" },
455         { 12,   3,      "n52" },
456         { 13,   3,      "n56" },
457         { 14,   3,      "n60" },
458         { 15,   3,      "n64" }
459 };
460 static const unsigned int asn_MAP_oneFourth_enum2value_22[] = {
461         2,      /* n12(2) */
462         3,      /* n16(3) */
463         4,      /* n20(4) */
464         5,      /* n24(5) */
465         6,      /* n28(6) */
466         7,      /* n32(7) */
467         8,      /* n36(8) */
468         0,      /* n4(0) */
469         9,      /* n40(9) */
470         10,     /* n44(10) */
471         11,     /* n48(11) */
472         12,     /* n52(12) */
473         13,     /* n56(13) */
474         14,     /* n60(14) */
475         15,     /* n64(15) */
476         1       /* n8(1) */
477 };
478 static const asn_INTEGER_specifics_t asn_SPC_oneFourth_specs_22 = {
479         asn_MAP_oneFourth_value2enum_22,        /* "tag" => N; sorted by tag */
480         asn_MAP_oneFourth_enum2value_22,        /* N => "tag"; sorted by N */
481         16,     /* Number of elements in the maps */
482         0,      /* Enumeration is not extensible */
483         1,      /* Strict enumeration */
484         0,      /* Native long size */
485         0
486 };
487 static const ber_tlv_tag_t asn_DEF_oneFourth_tags_22[] = {
488         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
489         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
490 };
491 static /* Use -fall-defs-global to expose */
492 asn_TYPE_descriptor_t asn_DEF_oneFourth_22 = {
493         "oneFourth",
494         "oneFourth",
495         &asn_OP_NativeEnumerated,
496         asn_DEF_oneFourth_tags_22,
497         sizeof(asn_DEF_oneFourth_tags_22)
498                 /sizeof(asn_DEF_oneFourth_tags_22[0]) - 1, /* 1 */
499         asn_DEF_oneFourth_tags_22,      /* Same as above */
500         sizeof(asn_DEF_oneFourth_tags_22)
501                 /sizeof(asn_DEF_oneFourth_tags_22[0]), /* 2 */
502         { &asn_OER_type_oneFourth_constr_22, &asn_PER_type_oneFourth_constr_22, NativeEnumerated_constraint },
503         0, 0,   /* Defined elsewhere */
504         &asn_SPC_oneFourth_specs_22     /* Additional specs */
505 };
506
507 static const asn_INTEGER_enum_map_t asn_MAP_oneHalf_value2enum_39[] = {
508         { 0,    2,      "n4" },
509         { 1,    2,      "n8" },
510         { 2,    3,      "n12" },
511         { 3,    3,      "n16" },
512         { 4,    3,      "n20" },
513         { 5,    3,      "n24" },
514         { 6,    3,      "n28" },
515         { 7,    3,      "n32" },
516         { 8,    3,      "n36" },
517         { 9,    3,      "n40" },
518         { 10,   3,      "n44" },
519         { 11,   3,      "n48" },
520         { 12,   3,      "n52" },
521         { 13,   3,      "n56" },
522         { 14,   3,      "n60" },
523         { 15,   3,      "n64" }
524 };
525 static const unsigned int asn_MAP_oneHalf_enum2value_39[] = {
526         2,      /* n12(2) */
527         3,      /* n16(3) */
528         4,      /* n20(4) */
529         5,      /* n24(5) */
530         6,      /* n28(6) */
531         7,      /* n32(7) */
532         8,      /* n36(8) */
533         0,      /* n4(0) */
534         9,      /* n40(9) */
535         10,     /* n44(10) */
536         11,     /* n48(11) */
537         12,     /* n52(12) */
538         13,     /* n56(13) */
539         14,     /* n60(14) */
540         15,     /* n64(15) */
541         1       /* n8(1) */
542 };
543 static const asn_INTEGER_specifics_t asn_SPC_oneHalf_specs_39 = {
544         asn_MAP_oneHalf_value2enum_39,  /* "tag" => N; sorted by tag */
545         asn_MAP_oneHalf_enum2value_39,  /* N => "tag"; sorted by N */
546         16,     /* Number of elements in the maps */
547         0,      /* Enumeration is not extensible */
548         1,      /* Strict enumeration */
549         0,      /* Native long size */
550         0
551 };
552 static const ber_tlv_tag_t asn_DEF_oneHalf_tags_39[] = {
553         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
554         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
555 };
556 static /* Use -fall-defs-global to expose */
557 asn_TYPE_descriptor_t asn_DEF_oneHalf_39 = {
558         "oneHalf",
559         "oneHalf",
560         &asn_OP_NativeEnumerated,
561         asn_DEF_oneHalf_tags_39,
562         sizeof(asn_DEF_oneHalf_tags_39)
563                 /sizeof(asn_DEF_oneHalf_tags_39[0]) - 1, /* 1 */
564         asn_DEF_oneHalf_tags_39,        /* Same as above */
565         sizeof(asn_DEF_oneHalf_tags_39)
566                 /sizeof(asn_DEF_oneHalf_tags_39[0]), /* 2 */
567         { &asn_OER_type_oneHalf_constr_39, &asn_PER_type_oneHalf_constr_39, NativeEnumerated_constraint },
568         0, 0,   /* Defined elsewhere */
569         &asn_SPC_oneHalf_specs_39       /* Additional specs */
570 };
571
572 static const asn_INTEGER_enum_map_t asn_MAP_one_value2enum_56[] = {
573         { 0,    2,      "n4" },
574         { 1,    2,      "n8" },
575         { 2,    3,      "n12" },
576         { 3,    3,      "n16" },
577         { 4,    3,      "n20" },
578         { 5,    3,      "n24" },
579         { 6,    3,      "n28" },
580         { 7,    3,      "n32" },
581         { 8,    3,      "n36" },
582         { 9,    3,      "n40" },
583         { 10,   3,      "n44" },
584         { 11,   3,      "n48" },
585         { 12,   3,      "n52" },
586         { 13,   3,      "n56" },
587         { 14,   3,      "n60" },
588         { 15,   3,      "n64" }
589 };
590 static const unsigned int asn_MAP_one_enum2value_56[] = {
591         2,      /* n12(2) */
592         3,      /* n16(3) */
593         4,      /* n20(4) */
594         5,      /* n24(5) */
595         6,      /* n28(6) */
596         7,      /* n32(7) */
597         8,      /* n36(8) */
598         0,      /* n4(0) */
599         9,      /* n40(9) */
600         10,     /* n44(10) */
601         11,     /* n48(11) */
602         12,     /* n52(12) */
603         13,     /* n56(13) */
604         14,     /* n60(14) */
605         15,     /* n64(15) */
606         1       /* n8(1) */
607 };
608 static const asn_INTEGER_specifics_t asn_SPC_one_specs_56 = {
609         asn_MAP_one_value2enum_56,      /* "tag" => N; sorted by tag */
610         asn_MAP_one_enum2value_56,      /* N => "tag"; sorted by N */
611         16,     /* Number of elements in the maps */
612         0,      /* Enumeration is not extensible */
613         1,      /* Strict enumeration */
614         0,      /* Native long size */
615         0
616 };
617 static const ber_tlv_tag_t asn_DEF_one_tags_56[] = {
618         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
619         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
620 };
621 static /* Use -fall-defs-global to expose */
622 asn_TYPE_descriptor_t asn_DEF_one_56 = {
623         "one",
624         "one",
625         &asn_OP_NativeEnumerated,
626         asn_DEF_one_tags_56,
627         sizeof(asn_DEF_one_tags_56)
628                 /sizeof(asn_DEF_one_tags_56[0]) - 1, /* 1 */
629         asn_DEF_one_tags_56,    /* Same as above */
630         sizeof(asn_DEF_one_tags_56)
631                 /sizeof(asn_DEF_one_tags_56[0]), /* 2 */
632         { &asn_OER_type_one_constr_56, &asn_PER_type_one_constr_56, NativeEnumerated_constraint },
633         0, 0,   /* Defined elsewhere */
634         &asn_SPC_one_specs_56   /* Additional specs */
635 };
636
637 static const asn_INTEGER_enum_map_t asn_MAP_two_value2enum_73[] = {
638         { 0,    2,      "n4" },
639         { 1,    2,      "n8" },
640         { 2,    3,      "n12" },
641         { 3,    3,      "n16" },
642         { 4,    3,      "n20" },
643         { 5,    3,      "n24" },
644         { 6,    3,      "n28" },
645         { 7,    3,      "n32" }
646 };
647 static const unsigned int asn_MAP_two_enum2value_73[] = {
648         2,      /* n12(2) */
649         3,      /* n16(3) */
650         4,      /* n20(4) */
651         5,      /* n24(5) */
652         6,      /* n28(6) */
653         7,      /* n32(7) */
654         0,      /* n4(0) */
655         1       /* n8(1) */
656 };
657 static const asn_INTEGER_specifics_t asn_SPC_two_specs_73 = {
658         asn_MAP_two_value2enum_73,      /* "tag" => N; sorted by tag */
659         asn_MAP_two_enum2value_73,      /* N => "tag"; sorted by N */
660         8,      /* Number of elements in the maps */
661         0,      /* Enumeration is not extensible */
662         1,      /* Strict enumeration */
663         0,      /* Native long size */
664         0
665 };
666 static const ber_tlv_tag_t asn_DEF_two_tags_73[] = {
667         (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
668         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
669 };
670 static /* Use -fall-defs-global to expose */
671 asn_TYPE_descriptor_t asn_DEF_two_73 = {
672         "two",
673         "two",
674         &asn_OP_NativeEnumerated,
675         asn_DEF_two_tags_73,
676         sizeof(asn_DEF_two_tags_73)
677                 /sizeof(asn_DEF_two_tags_73[0]) - 1, /* 1 */
678         asn_DEF_two_tags_73,    /* Same as above */
679         sizeof(asn_DEF_two_tags_73)
680                 /sizeof(asn_DEF_two_tags_73[0]), /* 2 */
681         { &asn_OER_type_two_constr_73, &asn_PER_type_two_constr_73, NativeEnumerated_constraint },
682         0, 0,   /* Defined elsewhere */
683         &asn_SPC_two_specs_73   /* Additional specs */
684 };
685
686 static asn_TYPE_member_t asn_MBR_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_4[] = {
687         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.oneEighth),
688                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
689                 -1,     /* IMPLICIT tag at current level */
690                 &asn_DEF_oneEighth_5,
691                 0,
692                 { 0, 0, 0 },
693                 0, 0, /* No default value */
694                 "oneEighth"
695                 },
696         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.oneFourth),
697                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
698                 -1,     /* IMPLICIT tag at current level */
699                 &asn_DEF_oneFourth_22,
700                 0,
701                 { 0, 0, 0 },
702                 0, 0, /* No default value */
703                 "oneFourth"
704                 },
705         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.oneHalf),
706                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
707                 -1,     /* IMPLICIT tag at current level */
708                 &asn_DEF_oneHalf_39,
709                 0,
710                 { 0, 0, 0 },
711                 0, 0, /* No default value */
712                 "oneHalf"
713                 },
714         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.one),
715                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
716                 -1,     /* IMPLICIT tag at current level */
717                 &asn_DEF_one_56,
718                 0,
719                 { 0, 0, 0 },
720                 0, 0, /* No default value */
721                 "one"
722                 },
723         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.two),
724                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
725                 -1,     /* IMPLICIT tag at current level */
726                 &asn_DEF_two_73,
727                 0,
728                 { 0, 0, 0 },
729                 0, 0, /* No default value */
730                 "two"
731                 },
732         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.four),
733                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
734                 -1,     /* IMPLICIT tag at current level */
735                 &asn_DEF_NativeInteger,
736                 0,
737                 { &asn_OER_memb_four_constr_82, &asn_PER_memb_four_constr_82,  memb_four_constraint_4 },
738                 0, 0, /* No default value */
739                 "four"
740                 },
741         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.eight),
742                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
743                 -1,     /* IMPLICIT tag at current level */
744                 &asn_DEF_NativeInteger,
745                 0,
746                 { &asn_OER_memb_eight_constr_83, &asn_PER_memb_eight_constr_83,  memb_eight_constraint_4 },
747                 0, 0, /* No default value */
748                 "eight"
749                 },
750         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, choice.sixteen),
751                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
752                 -1,     /* IMPLICIT tag at current level */
753                 &asn_DEF_NativeInteger,
754                 0,
755                 { &asn_OER_memb_sixteen_constr_84, &asn_PER_memb_sixteen_constr_84,  memb_sixteen_constraint_4 },
756                 0, 0, /* No default value */
757                 "sixteen"
758                 },
759 };
760 static const asn_TYPE_tag2member_t asn_MAP_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_tag2el_4[] = {
761     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* oneEighth */
762     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* oneFourth */
763     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* oneHalf */
764     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* one */
765     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* two */
766     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* four */
767     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* eight */
768     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* sixteen */
769 };
770 static asn_CHOICE_specifics_t asn_SPC_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_specs_4 = {
771         sizeof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB),
772         offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, _asn_ctx),
773         offsetof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB, present),
774         sizeof(((struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB *)0)->present),
775         asn_MAP_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_tag2el_4,
776         8,      /* Count of tags in the map */
777         0, 0,
778         -1      /* Extensions start */
779 };
780 static /* Use -fall-defs-global to expose */
781 asn_TYPE_descriptor_t asn_DEF_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_4 = {
782         "ssb-perRACH-OccasionAndCB-PreamblesPerSSB",
783         "ssb-perRACH-OccasionAndCB-PreamblesPerSSB",
784         &asn_OP_CHOICE,
785         0,      /* No effective tags (pointer) */
786         0,      /* No effective tags (count) */
787         0,      /* No tags (pointer) */
788         0,      /* No tags (count) */
789         { &asn_OER_type_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_constr_4, &asn_PER_type_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_constr_4, CHOICE_constraint },
790         asn_MBR_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_4,
791         8,      /* Elements count */
792         &asn_SPC_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_specs_4      /* Additional specs */
793 };
794
795 static const asn_INTEGER_enum_map_t asn_MAP_ra_Msg3SizeGroupA_value2enum_86[] = {
796         { 0,    3,      "b56" },
797         { 1,    4,      "b144" },
798         { 2,    4,      "b208" },
799         { 3,    4,      "b256" },
800         { 4,    4,      "b282" },
801         { 5,    4,      "b480" },
802         { 6,    4,      "b640" },
803         { 7,    4,      "b800" },
804         { 8,    5,      "b1000" },
805         { 9,    3,      "b72" },
806         { 10,   6,      "spare6" },
807         { 11,   6,      "spare5" },
808         { 12,   6,      "spare4" },
809         { 13,   6,      "spare3" },
810         { 14,   6,      "spare2" },
811         { 15,   6,      "spare1" }
812 };
813 static const unsigned int asn_MAP_ra_Msg3SizeGroupA_enum2value_86[] = {
814         8,      /* b1000(8) */
815         1,      /* b144(1) */
816         2,      /* b208(2) */
817         3,      /* b256(3) */
818         4,      /* b282(4) */
819         5,      /* b480(5) */
820         0,      /* b56(0) */
821         6,      /* b640(6) */
822         9,      /* b72(9) */
823         7,      /* b800(7) */
824         15,     /* spare1(15) */
825         14,     /* spare2(14) */
826         13,     /* spare3(13) */
827         12,     /* spare4(12) */
828         11,     /* spare5(11) */
829         10      /* spare6(10) */
830 };
831 static const asn_INTEGER_specifics_t asn_SPC_ra_Msg3SizeGroupA_specs_86 = {
832         asn_MAP_ra_Msg3SizeGroupA_value2enum_86,        /* "tag" => N; sorted by tag */
833         asn_MAP_ra_Msg3SizeGroupA_enum2value_86,        /* N => "tag"; sorted by N */
834         16,     /* Number of elements in the maps */
835         0,      /* Enumeration is not extensible */
836         1,      /* Strict enumeration */
837         0,      /* Native long size */
838         0
839 };
840 static const ber_tlv_tag_t asn_DEF_ra_Msg3SizeGroupA_tags_86[] = {
841         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
842         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
843 };
844 static /* Use -fall-defs-global to expose */
845 asn_TYPE_descriptor_t asn_DEF_ra_Msg3SizeGroupA_86 = {
846         "ra-Msg3SizeGroupA",
847         "ra-Msg3SizeGroupA",
848         &asn_OP_NativeEnumerated,
849         asn_DEF_ra_Msg3SizeGroupA_tags_86,
850         sizeof(asn_DEF_ra_Msg3SizeGroupA_tags_86)
851                 /sizeof(asn_DEF_ra_Msg3SizeGroupA_tags_86[0]) - 1, /* 1 */
852         asn_DEF_ra_Msg3SizeGroupA_tags_86,      /* Same as above */
853         sizeof(asn_DEF_ra_Msg3SizeGroupA_tags_86)
854                 /sizeof(asn_DEF_ra_Msg3SizeGroupA_tags_86[0]), /* 2 */
855         { &asn_OER_type_ra_Msg3SizeGroupA_constr_86, &asn_PER_type_ra_Msg3SizeGroupA_constr_86, NativeEnumerated_constraint },
856         0, 0,   /* Defined elsewhere */
857         &asn_SPC_ra_Msg3SizeGroupA_specs_86     /* Additional specs */
858 };
859
860 static const asn_INTEGER_enum_map_t asn_MAP_messagePowerOffsetGroupB_value2enum_103[] = {
861         { 0,    13,     "minusinfinity" },
862         { 1,    3,      "dB0" },
863         { 2,    3,      "dB5" },
864         { 3,    3,      "dB8" },
865         { 4,    4,      "dB10" },
866         { 5,    4,      "dB12" },
867         { 6,    4,      "dB15" },
868         { 7,    4,      "dB18" }
869 };
870 static const unsigned int asn_MAP_messagePowerOffsetGroupB_enum2value_103[] = {
871         1,      /* dB0(1) */
872         4,      /* dB10(4) */
873         5,      /* dB12(5) */
874         6,      /* dB15(6) */
875         7,      /* dB18(7) */
876         2,      /* dB5(2) */
877         3,      /* dB8(3) */
878         0       /* minusinfinity(0) */
879 };
880 static const asn_INTEGER_specifics_t asn_SPC_messagePowerOffsetGroupB_specs_103 = {
881         asn_MAP_messagePowerOffsetGroupB_value2enum_103,        /* "tag" => N; sorted by tag */
882         asn_MAP_messagePowerOffsetGroupB_enum2value_103,        /* N => "tag"; sorted by N */
883         8,      /* Number of elements in the maps */
884         0,      /* Enumeration is not extensible */
885         1,      /* Strict enumeration */
886         0,      /* Native long size */
887         0
888 };
889 static const ber_tlv_tag_t asn_DEF_messagePowerOffsetGroupB_tags_103[] = {
890         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
891         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
892 };
893 static /* Use -fall-defs-global to expose */
894 asn_TYPE_descriptor_t asn_DEF_messagePowerOffsetGroupB_103 = {
895         "messagePowerOffsetGroupB",
896         "messagePowerOffsetGroupB",
897         &asn_OP_NativeEnumerated,
898         asn_DEF_messagePowerOffsetGroupB_tags_103,
899         sizeof(asn_DEF_messagePowerOffsetGroupB_tags_103)
900                 /sizeof(asn_DEF_messagePowerOffsetGroupB_tags_103[0]) - 1, /* 1 */
901         asn_DEF_messagePowerOffsetGroupB_tags_103,      /* Same as above */
902         sizeof(asn_DEF_messagePowerOffsetGroupB_tags_103)
903                 /sizeof(asn_DEF_messagePowerOffsetGroupB_tags_103[0]), /* 2 */
904         { &asn_OER_type_messagePowerOffsetGroupB_constr_103, &asn_PER_type_messagePowerOffsetGroupB_constr_103, NativeEnumerated_constraint },
905         0, 0,   /* Defined elsewhere */
906         &asn_SPC_messagePowerOffsetGroupB_specs_103     /* Additional specs */
907 };
908
909 static asn_TYPE_member_t asn_MBR_groupBconfigured_85[] = {
910         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__groupBconfigured, ra_Msg3SizeGroupA),
911                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
912                 -1,     /* IMPLICIT tag at current level */
913                 &asn_DEF_ra_Msg3SizeGroupA_86,
914                 0,
915                 { 0, 0, 0 },
916                 0, 0, /* No default value */
917                 "ra-Msg3SizeGroupA"
918                 },
919         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__groupBconfigured, messagePowerOffsetGroupB),
920                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
921                 -1,     /* IMPLICIT tag at current level */
922                 &asn_DEF_messagePowerOffsetGroupB_103,
923                 0,
924                 { 0, 0, 0 },
925                 0, 0, /* No default value */
926                 "messagePowerOffsetGroupB"
927                 },
928         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__groupBconfigured, numberOfRA_PreamblesGroupA),
929                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
930                 -1,     /* IMPLICIT tag at current level */
931                 &asn_DEF_NativeInteger,
932                 0,
933                 { &asn_OER_memb_numberOfRA_PreamblesGroupA_constr_112, &asn_PER_memb_numberOfRA_PreamblesGroupA_constr_112,  memb_numberOfRA_PreamblesGroupA_constraint_85 },
934                 0, 0, /* No default value */
935                 "numberOfRA-PreamblesGroupA"
936                 },
937 };
938 static const ber_tlv_tag_t asn_DEF_groupBconfigured_tags_85[] = {
939         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
940         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
941 };
942 static const asn_TYPE_tag2member_t asn_MAP_groupBconfigured_tag2el_85[] = {
943     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ra-Msg3SizeGroupA */
944     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* messagePowerOffsetGroupB */
945     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* numberOfRA-PreamblesGroupA */
946 };
947 static asn_SEQUENCE_specifics_t asn_SPC_groupBconfigured_specs_85 = {
948         sizeof(struct RACH_ConfigCommon__groupBconfigured),
949         offsetof(struct RACH_ConfigCommon__groupBconfigured, _asn_ctx),
950         asn_MAP_groupBconfigured_tag2el_85,
951         3,      /* Count of tags in the map */
952         0, 0, 0,        /* Optional elements (not needed) */
953         -1,     /* First extension addition */
954 };
955 static /* Use -fall-defs-global to expose */
956 asn_TYPE_descriptor_t asn_DEF_groupBconfigured_85 = {
957         "groupBconfigured",
958         "groupBconfigured",
959         &asn_OP_SEQUENCE,
960         asn_DEF_groupBconfigured_tags_85,
961         sizeof(asn_DEF_groupBconfigured_tags_85)
962                 /sizeof(asn_DEF_groupBconfigured_tags_85[0]) - 1, /* 1 */
963         asn_DEF_groupBconfigured_tags_85,       /* Same as above */
964         sizeof(asn_DEF_groupBconfigured_tags_85)
965                 /sizeof(asn_DEF_groupBconfigured_tags_85[0]), /* 2 */
966         { 0, 0, SEQUENCE_constraint },
967         asn_MBR_groupBconfigured_85,
968         3,      /* Elements count */
969         &asn_SPC_groupBconfigured_specs_85      /* Additional specs */
970 };
971
972 static const asn_INTEGER_enum_map_t asn_MAP_ra_ContentionResolutionTimer_value2enum_113[] = {
973         { 0,    3,      "sf8" },
974         { 1,    4,      "sf16" },
975         { 2,    4,      "sf24" },
976         { 3,    4,      "sf32" },
977         { 4,    4,      "sf40" },
978         { 5,    4,      "sf48" },
979         { 6,    4,      "sf56" },
980         { 7,    4,      "sf64" }
981 };
982 static const unsigned int asn_MAP_ra_ContentionResolutionTimer_enum2value_113[] = {
983         1,      /* sf16(1) */
984         2,      /* sf24(2) */
985         3,      /* sf32(3) */
986         4,      /* sf40(4) */
987         5,      /* sf48(5) */
988         6,      /* sf56(6) */
989         7,      /* sf64(7) */
990         0       /* sf8(0) */
991 };
992 static const asn_INTEGER_specifics_t asn_SPC_ra_ContentionResolutionTimer_specs_113 = {
993         asn_MAP_ra_ContentionResolutionTimer_value2enum_113,    /* "tag" => N; sorted by tag */
994         asn_MAP_ra_ContentionResolutionTimer_enum2value_113,    /* N => "tag"; sorted by N */
995         8,      /* Number of elements in the maps */
996         0,      /* Enumeration is not extensible */
997         1,      /* Strict enumeration */
998         0,      /* Native long size */
999         0
1000 };
1001 static const ber_tlv_tag_t asn_DEF_ra_ContentionResolutionTimer_tags_113[] = {
1002         (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
1003         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1004 };
1005 static /* Use -fall-defs-global to expose */
1006 asn_TYPE_descriptor_t asn_DEF_ra_ContentionResolutionTimer_113 = {
1007         "ra-ContentionResolutionTimer",
1008         "ra-ContentionResolutionTimer",
1009         &asn_OP_NativeEnumerated,
1010         asn_DEF_ra_ContentionResolutionTimer_tags_113,
1011         sizeof(asn_DEF_ra_ContentionResolutionTimer_tags_113)
1012                 /sizeof(asn_DEF_ra_ContentionResolutionTimer_tags_113[0]) - 1, /* 1 */
1013         asn_DEF_ra_ContentionResolutionTimer_tags_113,  /* Same as above */
1014         sizeof(asn_DEF_ra_ContentionResolutionTimer_tags_113)
1015                 /sizeof(asn_DEF_ra_ContentionResolutionTimer_tags_113[0]), /* 2 */
1016         { &asn_OER_type_ra_ContentionResolutionTimer_constr_113, &asn_PER_type_ra_ContentionResolutionTimer_constr_113, NativeEnumerated_constraint },
1017         0, 0,   /* Defined elsewhere */
1018         &asn_SPC_ra_ContentionResolutionTimer_specs_113 /* Additional specs */
1019 };
1020
1021 static asn_TYPE_member_t asn_MBR_prach_RootSequenceIndex_124[] = {
1022         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__prach_RootSequenceIndex, choice.l839),
1023                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1024                 -1,     /* IMPLICIT tag at current level */
1025                 &asn_DEF_NativeInteger,
1026                 0,
1027                 { &asn_OER_memb_l839_constr_125, &asn_PER_memb_l839_constr_125,  memb_l839_constraint_124 },
1028                 0, 0, /* No default value */
1029                 "l839"
1030                 },
1031         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon__prach_RootSequenceIndex, choice.l139),
1032                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1033                 -1,     /* IMPLICIT tag at current level */
1034                 &asn_DEF_NativeInteger,
1035                 0,
1036                 { &asn_OER_memb_l139_constr_126, &asn_PER_memb_l139_constr_126,  memb_l139_constraint_124 },
1037                 0, 0, /* No default value */
1038                 "l139"
1039                 },
1040 };
1041 static const asn_TYPE_tag2member_t asn_MAP_prach_RootSequenceIndex_tag2el_124[] = {
1042     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* l839 */
1043     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* l139 */
1044 };
1045 static asn_CHOICE_specifics_t asn_SPC_prach_RootSequenceIndex_specs_124 = {
1046         sizeof(struct RACH_ConfigCommon__prach_RootSequenceIndex),
1047         offsetof(struct RACH_ConfigCommon__prach_RootSequenceIndex, _asn_ctx),
1048         offsetof(struct RACH_ConfigCommon__prach_RootSequenceIndex, present),
1049         sizeof(((struct RACH_ConfigCommon__prach_RootSequenceIndex *)0)->present),
1050         asn_MAP_prach_RootSequenceIndex_tag2el_124,
1051         2,      /* Count of tags in the map */
1052         0, 0,
1053         -1      /* Extensions start */
1054 };
1055 static /* Use -fall-defs-global to expose */
1056 asn_TYPE_descriptor_t asn_DEF_prach_RootSequenceIndex_124 = {
1057         "prach-RootSequenceIndex",
1058         "prach-RootSequenceIndex",
1059         &asn_OP_CHOICE,
1060         0,      /* No effective tags (pointer) */
1061         0,      /* No effective tags (count) */
1062         0,      /* No tags (pointer) */
1063         0,      /* No tags (count) */
1064         { &asn_OER_type_prach_RootSequenceIndex_constr_124, &asn_PER_type_prach_RootSequenceIndex_constr_124, CHOICE_constraint },
1065         asn_MBR_prach_RootSequenceIndex_124,
1066         2,      /* Elements count */
1067         &asn_SPC_prach_RootSequenceIndex_specs_124      /* Additional specs */
1068 };
1069
1070 static const asn_INTEGER_enum_map_t asn_MAP_restrictedSetConfig_value2enum_128[] = {
1071         { 0,    15,     "unrestrictedSet" },
1072         { 1,    18,     "restrictedSetTypeA" },
1073         { 2,    18,     "restrictedSetTypeB" }
1074 };
1075 static const unsigned int asn_MAP_restrictedSetConfig_enum2value_128[] = {
1076         1,      /* restrictedSetTypeA(1) */
1077         2,      /* restrictedSetTypeB(2) */
1078         0       /* unrestrictedSet(0) */
1079 };
1080 static const asn_INTEGER_specifics_t asn_SPC_restrictedSetConfig_specs_128 = {
1081         asn_MAP_restrictedSetConfig_value2enum_128,     /* "tag" => N; sorted by tag */
1082         asn_MAP_restrictedSetConfig_enum2value_128,     /* N => "tag"; sorted by N */
1083         3,      /* Number of elements in the maps */
1084         0,      /* Enumeration is not extensible */
1085         1,      /* Strict enumeration */
1086         0,      /* Native long size */
1087         0
1088 };
1089 static const ber_tlv_tag_t asn_DEF_restrictedSetConfig_tags_128[] = {
1090         (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
1091         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1092 };
1093 static /* Use -fall-defs-global to expose */
1094 asn_TYPE_descriptor_t asn_DEF_restrictedSetConfig_128 = {
1095         "restrictedSetConfig",
1096         "restrictedSetConfig",
1097         &asn_OP_NativeEnumerated,
1098         asn_DEF_restrictedSetConfig_tags_128,
1099         sizeof(asn_DEF_restrictedSetConfig_tags_128)
1100                 /sizeof(asn_DEF_restrictedSetConfig_tags_128[0]) - 1, /* 1 */
1101         asn_DEF_restrictedSetConfig_tags_128,   /* Same as above */
1102         sizeof(asn_DEF_restrictedSetConfig_tags_128)
1103                 /sizeof(asn_DEF_restrictedSetConfig_tags_128[0]), /* 2 */
1104         { &asn_OER_type_restrictedSetConfig_constr_128, &asn_PER_type_restrictedSetConfig_constr_128, NativeEnumerated_constraint },
1105         0, 0,   /* Defined elsewhere */
1106         &asn_SPC_restrictedSetConfig_specs_128  /* Additional specs */
1107 };
1108
1109 static const asn_INTEGER_enum_map_t asn_MAP_msg3_transformPrecoder_value2enum_132[] = {
1110         { 0,    7,      "enabled" }
1111 };
1112 static const unsigned int asn_MAP_msg3_transformPrecoder_enum2value_132[] = {
1113         0       /* enabled(0) */
1114 };
1115 static const asn_INTEGER_specifics_t asn_SPC_msg3_transformPrecoder_specs_132 = {
1116         asn_MAP_msg3_transformPrecoder_value2enum_132,  /* "tag" => N; sorted by tag */
1117         asn_MAP_msg3_transformPrecoder_enum2value_132,  /* N => "tag"; sorted by N */
1118         1,      /* Number of elements in the maps */
1119         0,      /* Enumeration is not extensible */
1120         1,      /* Strict enumeration */
1121         0,      /* Native long size */
1122         0
1123 };
1124 static const ber_tlv_tag_t asn_DEF_msg3_transformPrecoder_tags_132[] = {
1125         (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
1126         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1127 };
1128 static /* Use -fall-defs-global to expose */
1129 asn_TYPE_descriptor_t asn_DEF_msg3_transformPrecoder_132 = {
1130         "msg3-transformPrecoder",
1131         "msg3-transformPrecoder",
1132         &asn_OP_NativeEnumerated,
1133         asn_DEF_msg3_transformPrecoder_tags_132,
1134         sizeof(asn_DEF_msg3_transformPrecoder_tags_132)
1135                 /sizeof(asn_DEF_msg3_transformPrecoder_tags_132[0]) - 1, /* 1 */
1136         asn_DEF_msg3_transformPrecoder_tags_132,        /* Same as above */
1137         sizeof(asn_DEF_msg3_transformPrecoder_tags_132)
1138                 /sizeof(asn_DEF_msg3_transformPrecoder_tags_132[0]), /* 2 */
1139         { &asn_OER_type_msg3_transformPrecoder_constr_132, &asn_PER_type_msg3_transformPrecoder_constr_132, NativeEnumerated_constraint },
1140         0, 0,   /* Defined elsewhere */
1141         &asn_SPC_msg3_transformPrecoder_specs_132       /* Additional specs */
1142 };
1143
1144 asn_TYPE_member_t asn_MBR_RACH_ConfigCommon_1[] = {
1145         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon, rach_ConfigGeneric),
1146                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1147                 -1,     /* IMPLICIT tag at current level */
1148                 &asn_DEF_RACH_ConfigGeneric,
1149                 0,
1150                 { 0, 0, 0 },
1151                 0, 0, /* No default value */
1152                 "rach-ConfigGeneric"
1153                 },
1154         { ATF_POINTER, 3, offsetof(struct RACH_ConfigCommon, totalNumberOfRA_Preambles),
1155                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1156                 -1,     /* IMPLICIT tag at current level */
1157                 &asn_DEF_NativeInteger,
1158                 0,
1159                 { &asn_OER_memb_totalNumberOfRA_Preambles_constr_3, &asn_PER_memb_totalNumberOfRA_Preambles_constr_3,  memb_totalNumberOfRA_Preambles_constraint_1 },
1160                 0, 0, /* No default value */
1161                 "totalNumberOfRA-Preambles"
1162                 },
1163         { ATF_POINTER, 2, offsetof(struct RACH_ConfigCommon, ssb_perRACH_OccasionAndCB_PreamblesPerSSB),
1164                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1165                 +1,     /* EXPLICIT tag at current level */
1166                 &asn_DEF_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_4,
1167                 0,
1168                 { 0, 0, 0 },
1169                 0, 0, /* No default value */
1170                 "ssb-perRACH-OccasionAndCB-PreamblesPerSSB"
1171                 },
1172         { ATF_POINTER, 1, offsetof(struct RACH_ConfigCommon, groupBconfigured),
1173                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1174                 0,
1175                 &asn_DEF_groupBconfigured_85,
1176                 0,
1177                 { 0, 0, 0 },
1178                 0, 0, /* No default value */
1179                 "groupBconfigured"
1180                 },
1181         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon, ra_ContentionResolutionTimer),
1182                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
1183                 -1,     /* IMPLICIT tag at current level */
1184                 &asn_DEF_ra_ContentionResolutionTimer_113,
1185                 0,
1186                 { 0, 0, 0 },
1187                 0, 0, /* No default value */
1188                 "ra-ContentionResolutionTimer"
1189                 },
1190         { ATF_POINTER, 2, offsetof(struct RACH_ConfigCommon, rsrp_ThresholdSSB),
1191                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
1192                 -1,     /* IMPLICIT tag at current level */
1193                 &asn_DEF_RSRP_Range,
1194                 0,
1195                 { 0, 0, 0 },
1196                 0, 0, /* No default value */
1197                 "rsrp-ThresholdSSB"
1198                 },
1199         { ATF_POINTER, 1, offsetof(struct RACH_ConfigCommon, rsrp_ThresholdSSB_SUL),
1200                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
1201                 -1,     /* IMPLICIT tag at current level */
1202                 &asn_DEF_RSRP_Range,
1203                 0,
1204                 { 0, 0, 0 },
1205                 0, 0, /* No default value */
1206                 "rsrp-ThresholdSSB-SUL"
1207                 },
1208         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon, prach_RootSequenceIndex),
1209                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
1210                 +1,     /* EXPLICIT tag at current level */
1211                 &asn_DEF_prach_RootSequenceIndex_124,
1212                 0,
1213                 { 0, 0, 0 },
1214                 0, 0, /* No default value */
1215                 "prach-RootSequenceIndex"
1216                 },
1217         { ATF_POINTER, 1, offsetof(struct RACH_ConfigCommon, msg1_SubcarrierSpacing),
1218                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
1219                 -1,     /* IMPLICIT tag at current level */
1220                 &asn_DEF_SubcarrierSpacing,
1221                 0,
1222                 { 0, 0, 0 },
1223                 0, 0, /* No default value */
1224                 "msg1-SubcarrierSpacing"
1225                 },
1226         { ATF_NOFLAGS, 0, offsetof(struct RACH_ConfigCommon, restrictedSetConfig),
1227                 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
1228                 -1,     /* IMPLICIT tag at current level */
1229                 &asn_DEF_restrictedSetConfig_128,
1230                 0,
1231                 { 0, 0, 0 },
1232                 0, 0, /* No default value */
1233                 "restrictedSetConfig"
1234                 },
1235         { ATF_POINTER, 1, offsetof(struct RACH_ConfigCommon, msg3_transformPrecoder),
1236                 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
1237                 -1,     /* IMPLICIT tag at current level */
1238                 &asn_DEF_msg3_transformPrecoder_132,
1239                 0,
1240                 { 0, 0, 0 },
1241                 0, 0, /* No default value */
1242                 "msg3-transformPrecoder"
1243                 },
1244 };
1245 static const int asn_MAP_RACH_ConfigCommon_oms_1[] = { 1, 2, 3, 5, 6, 8, 10 };
1246 static const ber_tlv_tag_t asn_DEF_RACH_ConfigCommon_tags_1[] = {
1247         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1248 };
1249 static const asn_TYPE_tag2member_t asn_MAP_RACH_ConfigCommon_tag2el_1[] = {
1250     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rach-ConfigGeneric */
1251     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* totalNumberOfRA-Preambles */
1252     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ssb-perRACH-OccasionAndCB-PreamblesPerSSB */
1253     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* groupBconfigured */
1254     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ra-ContentionResolutionTimer */
1255     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* rsrp-ThresholdSSB */
1256     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* rsrp-ThresholdSSB-SUL */
1257     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* prach-RootSequenceIndex */
1258     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* msg1-SubcarrierSpacing */
1259     { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* restrictedSetConfig */
1260     { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 } /* msg3-transformPrecoder */
1261 };
1262 asn_SEQUENCE_specifics_t asn_SPC_RACH_ConfigCommon_specs_1 = {
1263         sizeof(struct RACH_ConfigCommon),
1264         offsetof(struct RACH_ConfigCommon, _asn_ctx),
1265         asn_MAP_RACH_ConfigCommon_tag2el_1,
1266         11,     /* Count of tags in the map */
1267         asn_MAP_RACH_ConfigCommon_oms_1,        /* Optional members */
1268         7, 0,   /* Root/Additions */
1269         11,     /* First extension addition */
1270 };
1271 asn_TYPE_descriptor_t asn_DEF_RACH_ConfigCommon = {
1272         "RACH-ConfigCommon",
1273         "RACH-ConfigCommon",
1274         &asn_OP_SEQUENCE,
1275         asn_DEF_RACH_ConfigCommon_tags_1,
1276         sizeof(asn_DEF_RACH_ConfigCommon_tags_1)
1277                 /sizeof(asn_DEF_RACH_ConfigCommon_tags_1[0]), /* 1 */
1278         asn_DEF_RACH_ConfigCommon_tags_1,       /* Same as above */
1279         sizeof(asn_DEF_RACH_ConfigCommon_tags_1)
1280                 /sizeof(asn_DEF_RACH_ConfigCommon_tags_1[0]), /* 1 */
1281         { 0, 0, SEQUENCE_constraint },
1282         asn_MBR_RACH_ConfigCommon_1,
1283         11,     /* Elements count */
1284         &asn_SPC_RACH_ConfigCommon_specs_1      /* Additional specs */
1285 };
1286