629f2794e87ab5b37937c03785ddeaa5bafcedee
[o-du/l2.git] / src / codec_utils / RRC / ConfiguredGrantConfig.c
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "NR-RRC-Definitions"
4  *      found in "/home/labadmin/hlal/rrc_15.3_asn.asn1"
5  *      `asn1c -D ./15_3_rrc/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
6  */
7
8 #include "ConfiguredGrantConfig.h"
9
10 #include "CG-UCI-OnPUSCH.h"
11 /*
12  * This type is implemented using NativeEnumerated,
13  * so here we adjust the DEF accordingly.
14  */
15 /*
16  * This type is implemented using NativeEnumerated,
17  * so here we adjust the DEF accordingly.
18  */
19 /*
20  * This type is implemented using NativeEnumerated,
21  * so here we adjust the DEF accordingly.
22  */
23 /*
24  * This type is implemented using NativeEnumerated,
25  * so here we adjust the DEF accordingly.
26  */
27 /*
28  * This type is implemented using NativeEnumerated,
29  * so here we adjust the DEF accordingly.
30  */
31 /*
32  * This type is implemented using NativeEnumerated,
33  * so here we adjust the DEF accordingly.
34  */
35 /*
36  * This type is implemented using NativeEnumerated,
37  * so here we adjust the DEF accordingly.
38  */
39 /*
40  * This type is implemented using NativeEnumerated,
41  * so here we adjust the DEF accordingly.
42  */
43 /*
44  * This type is implemented using NativeEnumerated,
45  * so here we adjust the DEF accordingly.
46  */
47 /*
48  * This type is implemented using NativeEnumerated,
49  * so here we adjust the DEF accordingly.
50  */
51 static int
52 memb_timeDomainOffset_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr,
53                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
54         long value;
55         
56         if(!sptr) {
57                 ASN__CTFAIL(app_key, td, sptr,
58                         "%s: value not given (%s:%d)",
59                         td->name, __FILE__, __LINE__);
60                 return -1;
61         }
62         
63         value = *(const long *)sptr;
64         
65         if((value >= 0 && value <= 5119)) {
66                 /* Constraint check succeeded */
67                 return 0;
68         } else {
69                 ASN__CTFAIL(app_key, td, sptr,
70                         "%s: constraint failed (%s:%d)",
71                         td->name, __FILE__, __LINE__);
72                 return -1;
73         }
74 }
75
76 static int
77 memb_timeDomainAllocation_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr,
78                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
79         long value;
80         
81         if(!sptr) {
82                 ASN__CTFAIL(app_key, td, sptr,
83                         "%s: value not given (%s:%d)",
84                         td->name, __FILE__, __LINE__);
85                 return -1;
86         }
87         
88         value = *(const long *)sptr;
89         
90         if((value >= 0 && value <= 15)) {
91                 /* Constraint check succeeded */
92                 return 0;
93         } else {
94                 ASN__CTFAIL(app_key, td, sptr,
95                         "%s: constraint failed (%s:%d)",
96                         td->name, __FILE__, __LINE__);
97                 return -1;
98         }
99 }
100
101 static int
102 memb_frequencyDomainAllocation_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr,
103                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
104         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
105         size_t size;
106         
107         if(!sptr) {
108                 ASN__CTFAIL(app_key, td, sptr,
109                         "%s: value not given (%s:%d)",
110                         td->name, __FILE__, __LINE__);
111                 return -1;
112         }
113         
114         if(st->size > 0) {
115                 /* Size in bits */
116                 size = 8 * st->size - (st->bits_unused & 0x07);
117         } else {
118                 size = 0;
119         }
120         
121         if((size == 18)) {
122                 /* Constraint check succeeded */
123                 return 0;
124         } else {
125                 ASN__CTFAIL(app_key, td, sptr,
126                         "%s: constraint failed (%s:%d)",
127                         td->name, __FILE__, __LINE__);
128                 return -1;
129         }
130 }
131
132 static int
133 memb_antennaPort_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr,
134                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
135         long value;
136         
137         if(!sptr) {
138                 ASN__CTFAIL(app_key, td, sptr,
139                         "%s: value not given (%s:%d)",
140                         td->name, __FILE__, __LINE__);
141                 return -1;
142         }
143         
144         value = *(const long *)sptr;
145         
146         if((value >= 0 && value <= 31)) {
147                 /* Constraint check succeeded */
148                 return 0;
149         } else {
150                 ASN__CTFAIL(app_key, td, sptr,
151                         "%s: constraint failed (%s:%d)",
152                         td->name, __FILE__, __LINE__);
153                 return -1;
154         }
155 }
156
157 static int
158 memb_dmrs_SeqInitialization_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr,
159                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
160         long value;
161         
162         if(!sptr) {
163                 ASN__CTFAIL(app_key, td, sptr,
164                         "%s: value not given (%s:%d)",
165                         td->name, __FILE__, __LINE__);
166                 return -1;
167         }
168         
169         value = *(const long *)sptr;
170         
171         if((value >= 0 && value <= 1)) {
172                 /* Constraint check succeeded */
173                 return 0;
174         } else {
175                 ASN__CTFAIL(app_key, td, sptr,
176                         "%s: constraint failed (%s:%d)",
177                         td->name, __FILE__, __LINE__);
178                 return -1;
179         }
180 }
181
182 static int
183 memb_precodingAndNumberOfLayers_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr,
184                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
185         long value;
186         
187         if(!sptr) {
188                 ASN__CTFAIL(app_key, td, sptr,
189                         "%s: value not given (%s:%d)",
190                         td->name, __FILE__, __LINE__);
191                 return -1;
192         }
193         
194         value = *(const long *)sptr;
195         
196         if((value >= 0 && value <= 63)) {
197                 /* Constraint check succeeded */
198                 return 0;
199         } else {
200                 ASN__CTFAIL(app_key, td, sptr,
201                         "%s: constraint failed (%s:%d)",
202                         td->name, __FILE__, __LINE__);
203                 return -1;
204         }
205 }
206
207 static int
208 memb_srs_ResourceIndicator_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr,
209                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
210         long value;
211         
212         if(!sptr) {
213                 ASN__CTFAIL(app_key, td, sptr,
214                         "%s: value not given (%s:%d)",
215                         td->name, __FILE__, __LINE__);
216                 return -1;
217         }
218         
219         value = *(const long *)sptr;
220         
221         if((value >= 0 && value <= 15)) {
222                 /* Constraint check succeeded */
223                 return 0;
224         } else {
225                 ASN__CTFAIL(app_key, td, sptr,
226                         "%s: constraint failed (%s:%d)",
227                         td->name, __FILE__, __LINE__);
228                 return -1;
229         }
230 }
231
232 static int
233 memb_mcsAndTBS_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr,
234                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
235         long value;
236         
237         if(!sptr) {
238                 ASN__CTFAIL(app_key, td, sptr,
239                         "%s: value not given (%s:%d)",
240                         td->name, __FILE__, __LINE__);
241                 return -1;
242         }
243         
244         value = *(const long *)sptr;
245         
246         if((value >= 0 && value <= 31)) {
247                 /* Constraint check succeeded */
248                 return 0;
249         } else {
250                 ASN__CTFAIL(app_key, td, sptr,
251                         "%s: constraint failed (%s:%d)",
252                         td->name, __FILE__, __LINE__);
253                 return -1;
254         }
255 }
256
257 static int
258 memb_frequencyHoppingOffset_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr,
259                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
260         long value;
261         
262         if(!sptr) {
263                 ASN__CTFAIL(app_key, td, sptr,
264                         "%s: value not given (%s:%d)",
265                         td->name, __FILE__, __LINE__);
266                 return -1;
267         }
268         
269         value = *(const long *)sptr;
270         
271         if((value >= 1 && value <= 274)) {
272                 /* Constraint check succeeded */
273                 return 0;
274         } else {
275                 ASN__CTFAIL(app_key, td, sptr,
276                         "%s: constraint failed (%s:%d)",
277                         td->name, __FILE__, __LINE__);
278                 return -1;
279         }
280 }
281
282 static int
283 memb_pathlossReferenceIndex_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr,
284                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
285         long value;
286         
287         if(!sptr) {
288                 ASN__CTFAIL(app_key, td, sptr,
289                         "%s: value not given (%s:%d)",
290                         td->name, __FILE__, __LINE__);
291                 return -1;
292         }
293         
294         value = *(const long *)sptr;
295         
296         if((value >= 0 && value <= 3)) {
297                 /* Constraint check succeeded */
298                 return 0;
299         } else {
300                 ASN__CTFAIL(app_key, td, sptr,
301                         "%s: constraint failed (%s:%d)",
302                         td->name, __FILE__, __LINE__);
303                 return -1;
304         }
305 }
306
307 static int
308 memb_nrofHARQ_Processes_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
309                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
310         long value;
311         
312         if(!sptr) {
313                 ASN__CTFAIL(app_key, td, sptr,
314                         "%s: value not given (%s:%d)",
315                         td->name, __FILE__, __LINE__);
316                 return -1;
317         }
318         
319         value = *(const long *)sptr;
320         
321         if((value >= 1 && value <= 16)) {
322                 /* Constraint check succeeded */
323                 return 0;
324         } else {
325                 ASN__CTFAIL(app_key, td, sptr,
326                         "%s: constraint failed (%s:%d)",
327                         td->name, __FILE__, __LINE__);
328                 return -1;
329         }
330 }
331
332 static int
333 memb_configuredGrantTimer_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
334                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
335         long value;
336         
337         if(!sptr) {
338                 ASN__CTFAIL(app_key, td, sptr,
339                         "%s: value not given (%s:%d)",
340                         td->name, __FILE__, __LINE__);
341                 return -1;
342         }
343         
344         value = *(const long *)sptr;
345         
346         if((value >= 1 && value <= 64)) {
347                 /* Constraint check succeeded */
348                 return 0;
349         } else {
350                 ASN__CTFAIL(app_key, td, sptr,
351                         "%s: constraint failed (%s:%d)",
352                         td->name, __FILE__, __LINE__);
353                 return -1;
354         }
355 }
356
357 static asn_oer_constraints_t asn_OER_type_frequencyHopping_constr_2 CC_NOTUSED = {
358         { 0, 0 },
359         -1};
360 static asn_per_constraints_t asn_PER_type_frequencyHopping_constr_2 CC_NOTUSED = {
361         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
362         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
363         0, 0    /* No PER value map */
364 };
365 static asn_oer_constraints_t asn_OER_type_mcs_Table_constr_6 CC_NOTUSED = {
366         { 0, 0 },
367         -1};
368 static asn_per_constraints_t asn_PER_type_mcs_Table_constr_6 CC_NOTUSED = {
369         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
370         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
371         0, 0    /* No PER value map */
372 };
373 static asn_oer_constraints_t asn_OER_type_mcs_TableTransformPrecoder_constr_9 CC_NOTUSED = {
374         { 0, 0 },
375         -1};
376 static asn_per_constraints_t asn_PER_type_mcs_TableTransformPrecoder_constr_9 CC_NOTUSED = {
377         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
378         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
379         0, 0    /* No PER value map */
380 };
381 static asn_oer_constraints_t asn_OER_type_uci_OnPUSCH_constr_12 CC_NOTUSED = {
382         { 0, 0 },
383         -1};
384 static asn_per_constraints_t asn_PER_type_uci_OnPUSCH_constr_12 CC_NOTUSED = {
385         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
386         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
387         0, 0    /* No PER value map */
388 };
389 static asn_oer_constraints_t asn_OER_type_resourceAllocation_constr_15 CC_NOTUSED = {
390         { 0, 0 },
391         -1};
392 static asn_per_constraints_t asn_PER_type_resourceAllocation_constr_15 CC_NOTUSED = {
393         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
394         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
395         0, 0    /* No PER value map */
396 };
397 static asn_oer_constraints_t asn_OER_type_rbg_Size_constr_19 CC_NOTUSED = {
398         { 0, 0 },
399         -1};
400 static asn_per_constraints_t asn_PER_type_rbg_Size_constr_19 CC_NOTUSED = {
401         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
402         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
403         0, 0    /* No PER value map */
404 };
405 static asn_oer_constraints_t asn_OER_type_powerControlLoopToUse_constr_21 CC_NOTUSED = {
406         { 0, 0 },
407         -1};
408 static asn_per_constraints_t asn_PER_type_powerControlLoopToUse_constr_21 CC_NOTUSED = {
409         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
410         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
411         0, 0    /* No PER value map */
412 };
413 static asn_oer_constraints_t asn_OER_type_transformPrecoder_constr_25 CC_NOTUSED = {
414         { 0, 0 },
415         -1};
416 static asn_per_constraints_t asn_PER_type_transformPrecoder_constr_25 CC_NOTUSED = {
417         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
418         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
419         0, 0    /* No PER value map */
420 };
421 static asn_oer_constraints_t asn_OER_type_repK_constr_29 CC_NOTUSED = {
422         { 0, 0 },
423         -1};
424 static asn_per_constraints_t asn_PER_type_repK_constr_29 CC_NOTUSED = {
425         { APC_CONSTRAINED,       2,  2,  0,  3 }        /* (0..3) */,
426         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
427         0, 0    /* No PER value map */
428 };
429 static asn_oer_constraints_t asn_OER_type_repK_RV_constr_34 CC_NOTUSED = {
430         { 0, 0 },
431         -1};
432 static asn_per_constraints_t asn_PER_type_repK_RV_constr_34 CC_NOTUSED = {
433         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
434         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
435         0, 0    /* No PER value map */
436 };
437 static asn_oer_constraints_t asn_OER_type_periodicity_constr_38 CC_NOTUSED = {
438         { 0, 0 },
439         -1};
440 static asn_per_constraints_t asn_PER_type_periodicity_constr_38 CC_NOTUSED = {
441         { APC_CONSTRAINED,       6,  6,  0,  44 }       /* (0..44) */,
442         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
443         0, 0    /* No PER value map */
444 };
445 static asn_oer_constraints_t asn_OER_memb_timeDomainOffset_constr_86 CC_NOTUSED = {
446         { 2, 1 }        /* (0..5119) */,
447         -1};
448 static asn_per_constraints_t asn_PER_memb_timeDomainOffset_constr_86 CC_NOTUSED = {
449         { APC_CONSTRAINED,       13,  13,  0,  5119 }   /* (0..5119) */,
450         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
451         0, 0    /* No PER value map */
452 };
453 static asn_oer_constraints_t asn_OER_memb_timeDomainAllocation_constr_87 CC_NOTUSED = {
454         { 1, 1 }        /* (0..15) */,
455         -1};
456 static asn_per_constraints_t asn_PER_memb_timeDomainAllocation_constr_87 CC_NOTUSED = {
457         { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
458         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
459         0, 0    /* No PER value map */
460 };
461 static asn_oer_constraints_t asn_OER_memb_frequencyDomainAllocation_constr_88 CC_NOTUSED = {
462         { 0, 0 },
463         18      /* (SIZE(18..18)) */};
464 static asn_per_constraints_t asn_PER_memb_frequencyDomainAllocation_constr_88 CC_NOTUSED = {
465         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
466         { APC_CONSTRAINED,       0,  0,  18,  18 }      /* (SIZE(18..18)) */,
467         0, 0    /* No PER value map */
468 };
469 static asn_oer_constraints_t asn_OER_memb_antennaPort_constr_89 CC_NOTUSED = {
470         { 1, 1 }        /* (0..31) */,
471         -1};
472 static asn_per_constraints_t asn_PER_memb_antennaPort_constr_89 CC_NOTUSED = {
473         { APC_CONSTRAINED,       5,  5,  0,  31 }       /* (0..31) */,
474         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
475         0, 0    /* No PER value map */
476 };
477 static asn_oer_constraints_t asn_OER_memb_dmrs_SeqInitialization_constr_90 CC_NOTUSED = {
478         { 1, 1 }        /* (0..1) */,
479         -1};
480 static asn_per_constraints_t asn_PER_memb_dmrs_SeqInitialization_constr_90 CC_NOTUSED = {
481         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
482         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
483         0, 0    /* No PER value map */
484 };
485 static asn_oer_constraints_t asn_OER_memb_precodingAndNumberOfLayers_constr_91 CC_NOTUSED = {
486         { 1, 1 }        /* (0..63) */,
487         -1};
488 static asn_per_constraints_t asn_PER_memb_precodingAndNumberOfLayers_constr_91 CC_NOTUSED = {
489         { APC_CONSTRAINED,       6,  6,  0,  63 }       /* (0..63) */,
490         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
491         0, 0    /* No PER value map */
492 };
493 static asn_oer_constraints_t asn_OER_memb_srs_ResourceIndicator_constr_92 CC_NOTUSED = {
494         { 1, 1 }        /* (0..15) */,
495         -1};
496 static asn_per_constraints_t asn_PER_memb_srs_ResourceIndicator_constr_92 CC_NOTUSED = {
497         { APC_CONSTRAINED,       4,  4,  0,  15 }       /* (0..15) */,
498         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
499         0, 0    /* No PER value map */
500 };
501 static asn_oer_constraints_t asn_OER_memb_mcsAndTBS_constr_93 CC_NOTUSED = {
502         { 1, 1 }        /* (0..31) */,
503         -1};
504 static asn_per_constraints_t asn_PER_memb_mcsAndTBS_constr_93 CC_NOTUSED = {
505         { APC_CONSTRAINED,       5,  5,  0,  31 }       /* (0..31) */,
506         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
507         0, 0    /* No PER value map */
508 };
509 static asn_oer_constraints_t asn_OER_memb_frequencyHoppingOffset_constr_94 CC_NOTUSED = {
510         { 2, 1 }        /* (1..274) */,
511         -1};
512 static asn_per_constraints_t asn_PER_memb_frequencyHoppingOffset_constr_94 CC_NOTUSED = {
513         { APC_CONSTRAINED,       9,  9,  1,  274 }      /* (1..274) */,
514         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
515         0, 0    /* No PER value map */
516 };
517 static asn_oer_constraints_t asn_OER_memb_pathlossReferenceIndex_constr_95 CC_NOTUSED = {
518         { 1, 1 }        /* (0..3) */,
519         -1};
520 static asn_per_constraints_t asn_PER_memb_pathlossReferenceIndex_constr_95 CC_NOTUSED = {
521         { APC_CONSTRAINED,       2,  2,  0,  3 }        /* (0..3) */,
522         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
523         0, 0    /* No PER value map */
524 };
525 static asn_oer_constraints_t asn_OER_memb_nrofHARQ_Processes_constr_28 CC_NOTUSED = {
526         { 1, 1 }        /* (1..16) */,
527         -1};
528 static asn_per_constraints_t asn_PER_memb_nrofHARQ_Processes_constr_28 CC_NOTUSED = {
529         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (1..16) */,
530         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
531         0, 0    /* No PER value map */
532 };
533 static asn_oer_constraints_t asn_OER_memb_configuredGrantTimer_constr_84 CC_NOTUSED = {
534         { 1, 1 }        /* (1..64) */,
535         -1};
536 static asn_per_constraints_t asn_PER_memb_configuredGrantTimer_constr_84 CC_NOTUSED = {
537         { APC_CONSTRAINED,       6,  6,  1,  64 }       /* (1..64) */,
538         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
539         0, 0    /* No PER value map */
540 };
541 static const asn_INTEGER_enum_map_t asn_MAP_frequencyHopping_value2enum_2[] = {
542         { 0,    9,      "intraSlot" },
543         { 1,    9,      "interSlot" }
544 };
545 static const unsigned int asn_MAP_frequencyHopping_enum2value_2[] = {
546         1,      /* interSlot(1) */
547         0       /* intraSlot(0) */
548 };
549 static const asn_INTEGER_specifics_t asn_SPC_frequencyHopping_specs_2 = {
550         asn_MAP_frequencyHopping_value2enum_2,  /* "tag" => N; sorted by tag */
551         asn_MAP_frequencyHopping_enum2value_2,  /* N => "tag"; sorted by N */
552         2,      /* Number of elements in the maps */
553         0,      /* Enumeration is not extensible */
554         1,      /* Strict enumeration */
555         0,      /* Native long size */
556         0
557 };
558 static const ber_tlv_tag_t asn_DEF_frequencyHopping_tags_2[] = {
559         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
560         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
561 };
562 static /* Use -fall-defs-global to expose */
563 asn_TYPE_descriptor_t asn_DEF_frequencyHopping_2 = {
564         "frequencyHopping",
565         "frequencyHopping",
566         &asn_OP_NativeEnumerated,
567         asn_DEF_frequencyHopping_tags_2,
568         sizeof(asn_DEF_frequencyHopping_tags_2)
569                 /sizeof(asn_DEF_frequencyHopping_tags_2[0]) - 1, /* 1 */
570         asn_DEF_frequencyHopping_tags_2,        /* Same as above */
571         sizeof(asn_DEF_frequencyHopping_tags_2)
572                 /sizeof(asn_DEF_frequencyHopping_tags_2[0]), /* 2 */
573         { &asn_OER_type_frequencyHopping_constr_2, &asn_PER_type_frequencyHopping_constr_2, NativeEnumerated_constraint },
574         0, 0,   /* Defined elsewhere */
575         &asn_SPC_frequencyHopping_specs_2       /* Additional specs */
576 };
577
578 static const asn_INTEGER_enum_map_t asn_MAP_mcs_Table_value2enum_6[] = {
579         { 0,    6,      "qam256" },
580         { 1,    10,     "qam64LowSE" }
581 };
582 static const unsigned int asn_MAP_mcs_Table_enum2value_6[] = {
583         0,      /* qam256(0) */
584         1       /* qam64LowSE(1) */
585 };
586 static const asn_INTEGER_specifics_t asn_SPC_mcs_Table_specs_6 = {
587         asn_MAP_mcs_Table_value2enum_6, /* "tag" => N; sorted by tag */
588         asn_MAP_mcs_Table_enum2value_6, /* N => "tag"; sorted by N */
589         2,      /* Number of elements in the maps */
590         0,      /* Enumeration is not extensible */
591         1,      /* Strict enumeration */
592         0,      /* Native long size */
593         0
594 };
595 static const ber_tlv_tag_t asn_DEF_mcs_Table_tags_6[] = {
596         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
597         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
598 };
599 static /* Use -fall-defs-global to expose */
600 asn_TYPE_descriptor_t asn_DEF_mcs_Table_6 = {
601         "mcs-Table",
602         "mcs-Table",
603         &asn_OP_NativeEnumerated,
604         asn_DEF_mcs_Table_tags_6,
605         sizeof(asn_DEF_mcs_Table_tags_6)
606                 /sizeof(asn_DEF_mcs_Table_tags_6[0]) - 1, /* 1 */
607         asn_DEF_mcs_Table_tags_6,       /* Same as above */
608         sizeof(asn_DEF_mcs_Table_tags_6)
609                 /sizeof(asn_DEF_mcs_Table_tags_6[0]), /* 2 */
610         { &asn_OER_type_mcs_Table_constr_6, &asn_PER_type_mcs_Table_constr_6, NativeEnumerated_constraint },
611         0, 0,   /* Defined elsewhere */
612         &asn_SPC_mcs_Table_specs_6      /* Additional specs */
613 };
614
615 static const asn_INTEGER_enum_map_t asn_MAP_mcs_TableTransformPrecoder_value2enum_9[] = {
616         { 0,    6,      "qam256" },
617         { 1,    10,     "qam64LowSE" }
618 };
619 static const unsigned int asn_MAP_mcs_TableTransformPrecoder_enum2value_9[] = {
620         0,      /* qam256(0) */
621         1       /* qam64LowSE(1) */
622 };
623 static const asn_INTEGER_specifics_t asn_SPC_mcs_TableTransformPrecoder_specs_9 = {
624         asn_MAP_mcs_TableTransformPrecoder_value2enum_9,        /* "tag" => N; sorted by tag */
625         asn_MAP_mcs_TableTransformPrecoder_enum2value_9,        /* N => "tag"; sorted by N */
626         2,      /* Number of elements in the maps */
627         0,      /* Enumeration is not extensible */
628         1,      /* Strict enumeration */
629         0,      /* Native long size */
630         0
631 };
632 static const ber_tlv_tag_t asn_DEF_mcs_TableTransformPrecoder_tags_9[] = {
633         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
634         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
635 };
636 static /* Use -fall-defs-global to expose */
637 asn_TYPE_descriptor_t asn_DEF_mcs_TableTransformPrecoder_9 = {
638         "mcs-TableTransformPrecoder",
639         "mcs-TableTransformPrecoder",
640         &asn_OP_NativeEnumerated,
641         asn_DEF_mcs_TableTransformPrecoder_tags_9,
642         sizeof(asn_DEF_mcs_TableTransformPrecoder_tags_9)
643                 /sizeof(asn_DEF_mcs_TableTransformPrecoder_tags_9[0]) - 1, /* 1 */
644         asn_DEF_mcs_TableTransformPrecoder_tags_9,      /* Same as above */
645         sizeof(asn_DEF_mcs_TableTransformPrecoder_tags_9)
646                 /sizeof(asn_DEF_mcs_TableTransformPrecoder_tags_9[0]), /* 2 */
647         { &asn_OER_type_mcs_TableTransformPrecoder_constr_9, &asn_PER_type_mcs_TableTransformPrecoder_constr_9, NativeEnumerated_constraint },
648         0, 0,   /* Defined elsewhere */
649         &asn_SPC_mcs_TableTransformPrecoder_specs_9     /* Additional specs */
650 };
651
652 static asn_TYPE_member_t asn_MBR_uci_OnPUSCH_12[] = {
653         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig__uci_OnPUSCH, choice.release),
654                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
655                 -1,     /* IMPLICIT tag at current level */
656                 &asn_DEF_NULL,
657                 0,
658                 { 0, 0, 0 },
659                 0, 0, /* No default value */
660                 "release"
661                 },
662         { ATF_POINTER, 0, offsetof(struct ConfiguredGrantConfig__uci_OnPUSCH, choice.setup),
663                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
664                 +1,     /* EXPLICIT tag at current level */
665                 &asn_DEF_CG_UCI_OnPUSCH,
666                 0,
667                 { 0, 0, 0 },
668                 0, 0, /* No default value */
669                 "setup"
670                 },
671 };
672 static const asn_TYPE_tag2member_t asn_MAP_uci_OnPUSCH_tag2el_12[] = {
673     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* release */
674     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* setup */
675 };
676 static asn_CHOICE_specifics_t asn_SPC_uci_OnPUSCH_specs_12 = {
677         sizeof(struct ConfiguredGrantConfig__uci_OnPUSCH),
678         offsetof(struct ConfiguredGrantConfig__uci_OnPUSCH, _asn_ctx),
679         offsetof(struct ConfiguredGrantConfig__uci_OnPUSCH, present),
680         sizeof(((struct ConfiguredGrantConfig__uci_OnPUSCH *)0)->present),
681         asn_MAP_uci_OnPUSCH_tag2el_12,
682         2,      /* Count of tags in the map */
683         0, 0,
684         -1      /* Extensions start */
685 };
686 static /* Use -fall-defs-global to expose */
687 asn_TYPE_descriptor_t asn_DEF_uci_OnPUSCH_12 = {
688         "uci-OnPUSCH",
689         "uci-OnPUSCH",
690         &asn_OP_CHOICE,
691         0,      /* No effective tags (pointer) */
692         0,      /* No effective tags (count) */
693         0,      /* No tags (pointer) */
694         0,      /* No tags (count) */
695         { &asn_OER_type_uci_OnPUSCH_constr_12, &asn_PER_type_uci_OnPUSCH_constr_12, CHOICE_constraint },
696         asn_MBR_uci_OnPUSCH_12,
697         2,      /* Elements count */
698         &asn_SPC_uci_OnPUSCH_specs_12   /* Additional specs */
699 };
700
701 static const asn_INTEGER_enum_map_t asn_MAP_resourceAllocation_value2enum_15[] = {
702         { 0,    23,     "resourceAllocationType0" },
703         { 1,    23,     "resourceAllocationType1" },
704         { 2,    13,     "dynamicSwitch" }
705 };
706 static const unsigned int asn_MAP_resourceAllocation_enum2value_15[] = {
707         2,      /* dynamicSwitch(2) */
708         0,      /* resourceAllocationType0(0) */
709         1       /* resourceAllocationType1(1) */
710 };
711 static const asn_INTEGER_specifics_t asn_SPC_resourceAllocation_specs_15 = {
712         asn_MAP_resourceAllocation_value2enum_15,       /* "tag" => N; sorted by tag */
713         asn_MAP_resourceAllocation_enum2value_15,       /* N => "tag"; sorted by N */
714         3,      /* Number of elements in the maps */
715         0,      /* Enumeration is not extensible */
716         1,      /* Strict enumeration */
717         0,      /* Native long size */
718         0
719 };
720 static const ber_tlv_tag_t asn_DEF_resourceAllocation_tags_15[] = {
721         (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
722         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
723 };
724 static /* Use -fall-defs-global to expose */
725 asn_TYPE_descriptor_t asn_DEF_resourceAllocation_15 = {
726         "resourceAllocation",
727         "resourceAllocation",
728         &asn_OP_NativeEnumerated,
729         asn_DEF_resourceAllocation_tags_15,
730         sizeof(asn_DEF_resourceAllocation_tags_15)
731                 /sizeof(asn_DEF_resourceAllocation_tags_15[0]) - 1, /* 1 */
732         asn_DEF_resourceAllocation_tags_15,     /* Same as above */
733         sizeof(asn_DEF_resourceAllocation_tags_15)
734                 /sizeof(asn_DEF_resourceAllocation_tags_15[0]), /* 2 */
735         { &asn_OER_type_resourceAllocation_constr_15, &asn_PER_type_resourceAllocation_constr_15, NativeEnumerated_constraint },
736         0, 0,   /* Defined elsewhere */
737         &asn_SPC_resourceAllocation_specs_15    /* Additional specs */
738 };
739
740 static const asn_INTEGER_enum_map_t asn_MAP_rbg_Size_value2enum_19[] = {
741         { 0,    7,      "config2" }
742 };
743 static const unsigned int asn_MAP_rbg_Size_enum2value_19[] = {
744         0       /* config2(0) */
745 };
746 static const asn_INTEGER_specifics_t asn_SPC_rbg_Size_specs_19 = {
747         asn_MAP_rbg_Size_value2enum_19, /* "tag" => N; sorted by tag */
748         asn_MAP_rbg_Size_enum2value_19, /* N => "tag"; sorted by N */
749         1,      /* Number of elements in the maps */
750         0,      /* Enumeration is not extensible */
751         1,      /* Strict enumeration */
752         0,      /* Native long size */
753         0
754 };
755 static const ber_tlv_tag_t asn_DEF_rbg_Size_tags_19[] = {
756         (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
757         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
758 };
759 static /* Use -fall-defs-global to expose */
760 asn_TYPE_descriptor_t asn_DEF_rbg_Size_19 = {
761         "rbg-Size",
762         "rbg-Size",
763         &asn_OP_NativeEnumerated,
764         asn_DEF_rbg_Size_tags_19,
765         sizeof(asn_DEF_rbg_Size_tags_19)
766                 /sizeof(asn_DEF_rbg_Size_tags_19[0]) - 1, /* 1 */
767         asn_DEF_rbg_Size_tags_19,       /* Same as above */
768         sizeof(asn_DEF_rbg_Size_tags_19)
769                 /sizeof(asn_DEF_rbg_Size_tags_19[0]), /* 2 */
770         { &asn_OER_type_rbg_Size_constr_19, &asn_PER_type_rbg_Size_constr_19, NativeEnumerated_constraint },
771         0, 0,   /* Defined elsewhere */
772         &asn_SPC_rbg_Size_specs_19      /* Additional specs */
773 };
774
775 static const asn_INTEGER_enum_map_t asn_MAP_powerControlLoopToUse_value2enum_21[] = {
776         { 0,    2,      "n0" },
777         { 1,    2,      "n1" }
778 };
779 static const unsigned int asn_MAP_powerControlLoopToUse_enum2value_21[] = {
780         0,      /* n0(0) */
781         1       /* n1(1) */
782 };
783 static const asn_INTEGER_specifics_t asn_SPC_powerControlLoopToUse_specs_21 = {
784         asn_MAP_powerControlLoopToUse_value2enum_21,    /* "tag" => N; sorted by tag */
785         asn_MAP_powerControlLoopToUse_enum2value_21,    /* N => "tag"; sorted by N */
786         2,      /* Number of elements in the maps */
787         0,      /* Enumeration is not extensible */
788         1,      /* Strict enumeration */
789         0,      /* Native long size */
790         0
791 };
792 static const ber_tlv_tag_t asn_DEF_powerControlLoopToUse_tags_21[] = {
793         (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
794         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
795 };
796 static /* Use -fall-defs-global to expose */
797 asn_TYPE_descriptor_t asn_DEF_powerControlLoopToUse_21 = {
798         "powerControlLoopToUse",
799         "powerControlLoopToUse",
800         &asn_OP_NativeEnumerated,
801         asn_DEF_powerControlLoopToUse_tags_21,
802         sizeof(asn_DEF_powerControlLoopToUse_tags_21)
803                 /sizeof(asn_DEF_powerControlLoopToUse_tags_21[0]) - 1, /* 1 */
804         asn_DEF_powerControlLoopToUse_tags_21,  /* Same as above */
805         sizeof(asn_DEF_powerControlLoopToUse_tags_21)
806                 /sizeof(asn_DEF_powerControlLoopToUse_tags_21[0]), /* 2 */
807         { &asn_OER_type_powerControlLoopToUse_constr_21, &asn_PER_type_powerControlLoopToUse_constr_21, NativeEnumerated_constraint },
808         0, 0,   /* Defined elsewhere */
809         &asn_SPC_powerControlLoopToUse_specs_21 /* Additional specs */
810 };
811
812 static const asn_INTEGER_enum_map_t asn_MAP_transformPrecoder_value2enum_25[] = {
813         { 0,    7,      "enabled" },
814         { 1,    8,      "disabled" }
815 };
816 static const unsigned int asn_MAP_transformPrecoder_enum2value_25[] = {
817         1,      /* disabled(1) */
818         0       /* enabled(0) */
819 };
820 static const asn_INTEGER_specifics_t asn_SPC_transformPrecoder_specs_25 = {
821         asn_MAP_transformPrecoder_value2enum_25,        /* "tag" => N; sorted by tag */
822         asn_MAP_transformPrecoder_enum2value_25,        /* N => "tag"; sorted by N */
823         2,      /* Number of elements in the maps */
824         0,      /* Enumeration is not extensible */
825         1,      /* Strict enumeration */
826         0,      /* Native long size */
827         0
828 };
829 static const ber_tlv_tag_t asn_DEF_transformPrecoder_tags_25[] = {
830         (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
831         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
832 };
833 static /* Use -fall-defs-global to expose */
834 asn_TYPE_descriptor_t asn_DEF_transformPrecoder_25 = {
835         "transformPrecoder",
836         "transformPrecoder",
837         &asn_OP_NativeEnumerated,
838         asn_DEF_transformPrecoder_tags_25,
839         sizeof(asn_DEF_transformPrecoder_tags_25)
840                 /sizeof(asn_DEF_transformPrecoder_tags_25[0]) - 1, /* 1 */
841         asn_DEF_transformPrecoder_tags_25,      /* Same as above */
842         sizeof(asn_DEF_transformPrecoder_tags_25)
843                 /sizeof(asn_DEF_transformPrecoder_tags_25[0]), /* 2 */
844         { &asn_OER_type_transformPrecoder_constr_25, &asn_PER_type_transformPrecoder_constr_25, NativeEnumerated_constraint },
845         0, 0,   /* Defined elsewhere */
846         &asn_SPC_transformPrecoder_specs_25     /* Additional specs */
847 };
848
849 static const asn_INTEGER_enum_map_t asn_MAP_repK_value2enum_29[] = {
850         { 0,    2,      "n1" },
851         { 1,    2,      "n2" },
852         { 2,    2,      "n4" },
853         { 3,    2,      "n8" }
854 };
855 static const unsigned int asn_MAP_repK_enum2value_29[] = {
856         0,      /* n1(0) */
857         1,      /* n2(1) */
858         2,      /* n4(2) */
859         3       /* n8(3) */
860 };
861 static const asn_INTEGER_specifics_t asn_SPC_repK_specs_29 = {
862         asn_MAP_repK_value2enum_29,     /* "tag" => N; sorted by tag */
863         asn_MAP_repK_enum2value_29,     /* N => "tag"; sorted by N */
864         4,      /* Number of elements in the maps */
865         0,      /* Enumeration is not extensible */
866         1,      /* Strict enumeration */
867         0,      /* Native long size */
868         0
869 };
870 static const ber_tlv_tag_t asn_DEF_repK_tags_29[] = {
871         (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
872         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
873 };
874 static /* Use -fall-defs-global to expose */
875 asn_TYPE_descriptor_t asn_DEF_repK_29 = {
876         "repK",
877         "repK",
878         &asn_OP_NativeEnumerated,
879         asn_DEF_repK_tags_29,
880         sizeof(asn_DEF_repK_tags_29)
881                 /sizeof(asn_DEF_repK_tags_29[0]) - 1, /* 1 */
882         asn_DEF_repK_tags_29,   /* Same as above */
883         sizeof(asn_DEF_repK_tags_29)
884                 /sizeof(asn_DEF_repK_tags_29[0]), /* 2 */
885         { &asn_OER_type_repK_constr_29, &asn_PER_type_repK_constr_29, NativeEnumerated_constraint },
886         0, 0,   /* Defined elsewhere */
887         &asn_SPC_repK_specs_29  /* Additional specs */
888 };
889
890 static const asn_INTEGER_enum_map_t asn_MAP_repK_RV_value2enum_34[] = {
891         { 0,    7,      "s1-0231" },
892         { 1,    7,      "s2-0303" },
893         { 2,    7,      "s3-0000" }
894 };
895 static const unsigned int asn_MAP_repK_RV_enum2value_34[] = {
896         0,      /* s1-0231(0) */
897         1,      /* s2-0303(1) */
898         2       /* s3-0000(2) */
899 };
900 static const asn_INTEGER_specifics_t asn_SPC_repK_RV_specs_34 = {
901         asn_MAP_repK_RV_value2enum_34,  /* "tag" => N; sorted by tag */
902         asn_MAP_repK_RV_enum2value_34,  /* N => "tag"; sorted by N */
903         3,      /* Number of elements in the maps */
904         0,      /* Enumeration is not extensible */
905         1,      /* Strict enumeration */
906         0,      /* Native long size */
907         0
908 };
909 static const ber_tlv_tag_t asn_DEF_repK_RV_tags_34[] = {
910         (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
911         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
912 };
913 static /* Use -fall-defs-global to expose */
914 asn_TYPE_descriptor_t asn_DEF_repK_RV_34 = {
915         "repK-RV",
916         "repK-RV",
917         &asn_OP_NativeEnumerated,
918         asn_DEF_repK_RV_tags_34,
919         sizeof(asn_DEF_repK_RV_tags_34)
920                 /sizeof(asn_DEF_repK_RV_tags_34[0]) - 1, /* 1 */
921         asn_DEF_repK_RV_tags_34,        /* Same as above */
922         sizeof(asn_DEF_repK_RV_tags_34)
923                 /sizeof(asn_DEF_repK_RV_tags_34[0]), /* 2 */
924         { &asn_OER_type_repK_RV_constr_34, &asn_PER_type_repK_RV_constr_34, NativeEnumerated_constraint },
925         0, 0,   /* Defined elsewhere */
926         &asn_SPC_repK_RV_specs_34       /* Additional specs */
927 };
928
929 static const asn_INTEGER_enum_map_t asn_MAP_periodicity_value2enum_38[] = {
930         { 0,    4,      "sym2" },
931         { 1,    4,      "sym7" },
932         { 2,    7,      "sym1x14" },
933         { 3,    7,      "sym2x14" },
934         { 4,    7,      "sym4x14" },
935         { 5,    7,      "sym5x14" },
936         { 6,    7,      "sym8x14" },
937         { 7,    8,      "sym10x14" },
938         { 8,    8,      "sym16x14" },
939         { 9,    8,      "sym20x14" },
940         { 10,   8,      "sym32x14" },
941         { 11,   8,      "sym40x14" },
942         { 12,   8,      "sym64x14" },
943         { 13,   8,      "sym80x14" },
944         { 14,   9,      "sym128x14" },
945         { 15,   9,      "sym160x14" },
946         { 16,   9,      "sym256x14" },
947         { 17,   9,      "sym320x14" },
948         { 18,   9,      "sym512x14" },
949         { 19,   9,      "sym640x14" },
950         { 20,   10,     "sym1024x14" },
951         { 21,   10,     "sym1280x14" },
952         { 22,   10,     "sym2560x14" },
953         { 23,   10,     "sym5120x14" },
954         { 24,   4,      "sym6" },
955         { 25,   7,      "sym1x12" },
956         { 26,   7,      "sym2x12" },
957         { 27,   7,      "sym4x12" },
958         { 28,   7,      "sym5x12" },
959         { 29,   7,      "sym8x12" },
960         { 30,   8,      "sym10x12" },
961         { 31,   8,      "sym16x12" },
962         { 32,   8,      "sym20x12" },
963         { 33,   8,      "sym32x12" },
964         { 34,   8,      "sym40x12" },
965         { 35,   8,      "sym64x12" },
966         { 36,   8,      "sym80x12" },
967         { 37,   9,      "sym128x12" },
968         { 38,   9,      "sym160x12" },
969         { 39,   9,      "sym256x12" },
970         { 40,   9,      "sym320x12" },
971         { 41,   9,      "sym512x12" },
972         { 42,   9,      "sym640x12" },
973         { 43,   10,     "sym1280x12" },
974         { 44,   10,     "sym2560x12" }
975 };
976 static const unsigned int asn_MAP_periodicity_enum2value_38[] = {
977         20,     /* sym1024x14(20) */
978         30,     /* sym10x12(30) */
979         7,      /* sym10x14(7) */
980         43,     /* sym1280x12(43) */
981         21,     /* sym1280x14(21) */
982         37,     /* sym128x12(37) */
983         14,     /* sym128x14(14) */
984         38,     /* sym160x12(38) */
985         15,     /* sym160x14(15) */
986         31,     /* sym16x12(31) */
987         8,      /* sym16x14(8) */
988         25,     /* sym1x12(25) */
989         2,      /* sym1x14(2) */
990         0,      /* sym2(0) */
991         32,     /* sym20x12(32) */
992         9,      /* sym20x14(9) */
993         44,     /* sym2560x12(44) */
994         22,     /* sym2560x14(22) */
995         39,     /* sym256x12(39) */
996         16,     /* sym256x14(16) */
997         26,     /* sym2x12(26) */
998         3,      /* sym2x14(3) */
999         40,     /* sym320x12(40) */
1000         17,     /* sym320x14(17) */
1001         33,     /* sym32x12(33) */
1002         10,     /* sym32x14(10) */
1003         34,     /* sym40x12(34) */
1004         11,     /* sym40x14(11) */
1005         27,     /* sym4x12(27) */
1006         4,      /* sym4x14(4) */
1007         23,     /* sym5120x14(23) */
1008         41,     /* sym512x12(41) */
1009         18,     /* sym512x14(18) */
1010         28,     /* sym5x12(28) */
1011         5,      /* sym5x14(5) */
1012         24,     /* sym6(24) */
1013         42,     /* sym640x12(42) */
1014         19,     /* sym640x14(19) */
1015         35,     /* sym64x12(35) */
1016         12,     /* sym64x14(12) */
1017         1,      /* sym7(1) */
1018         36,     /* sym80x12(36) */
1019         13,     /* sym80x14(13) */
1020         29,     /* sym8x12(29) */
1021         6       /* sym8x14(6) */
1022 };
1023 static const asn_INTEGER_specifics_t asn_SPC_periodicity_specs_38 = {
1024         asn_MAP_periodicity_value2enum_38,      /* "tag" => N; sorted by tag */
1025         asn_MAP_periodicity_enum2value_38,      /* N => "tag"; sorted by N */
1026         45,     /* Number of elements in the maps */
1027         0,      /* Enumeration is not extensible */
1028         1,      /* Strict enumeration */
1029         0,      /* Native long size */
1030         0
1031 };
1032 static const ber_tlv_tag_t asn_DEF_periodicity_tags_38[] = {
1033         (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
1034         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1035 };
1036 static /* Use -fall-defs-global to expose */
1037 asn_TYPE_descriptor_t asn_DEF_periodicity_38 = {
1038         "periodicity",
1039         "periodicity",
1040         &asn_OP_NativeEnumerated,
1041         asn_DEF_periodicity_tags_38,
1042         sizeof(asn_DEF_periodicity_tags_38)
1043                 /sizeof(asn_DEF_periodicity_tags_38[0]) - 1, /* 1 */
1044         asn_DEF_periodicity_tags_38,    /* Same as above */
1045         sizeof(asn_DEF_periodicity_tags_38)
1046                 /sizeof(asn_DEF_periodicity_tags_38[0]), /* 2 */
1047         { &asn_OER_type_periodicity_constr_38, &asn_PER_type_periodicity_constr_38, NativeEnumerated_constraint },
1048         0, 0,   /* Defined elsewhere */
1049         &asn_SPC_periodicity_specs_38   /* Additional specs */
1050 };
1051
1052 static asn_TYPE_member_t asn_MBR_rrc_ConfiguredUplinkGrant_85[] = {
1053         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig__rrc_ConfiguredUplinkGrant, timeDomainOffset),
1054                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1055                 -1,     /* IMPLICIT tag at current level */
1056                 &asn_DEF_NativeInteger,
1057                 0,
1058                 { &asn_OER_memb_timeDomainOffset_constr_86, &asn_PER_memb_timeDomainOffset_constr_86,  memb_timeDomainOffset_constraint_85 },
1059                 0, 0, /* No default value */
1060                 "timeDomainOffset"
1061                 },
1062         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig__rrc_ConfiguredUplinkGrant, timeDomainAllocation),
1063                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1064                 -1,     /* IMPLICIT tag at current level */
1065                 &asn_DEF_NativeInteger,
1066                 0,
1067                 { &asn_OER_memb_timeDomainAllocation_constr_87, &asn_PER_memb_timeDomainAllocation_constr_87,  memb_timeDomainAllocation_constraint_85 },
1068                 0, 0, /* No default value */
1069                 "timeDomainAllocation"
1070                 },
1071         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig__rrc_ConfiguredUplinkGrant, frequencyDomainAllocation),
1072                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1073                 -1,     /* IMPLICIT tag at current level */
1074                 &asn_DEF_BIT_STRING,
1075                 0,
1076                 { &asn_OER_memb_frequencyDomainAllocation_constr_88, &asn_PER_memb_frequencyDomainAllocation_constr_88,  memb_frequencyDomainAllocation_constraint_85 },
1077                 0, 0, /* No default value */
1078                 "frequencyDomainAllocation"
1079                 },
1080         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig__rrc_ConfiguredUplinkGrant, antennaPort),
1081                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1082                 -1,     /* IMPLICIT tag at current level */
1083                 &asn_DEF_NativeInteger,
1084                 0,
1085                 { &asn_OER_memb_antennaPort_constr_89, &asn_PER_memb_antennaPort_constr_89,  memb_antennaPort_constraint_85 },
1086                 0, 0, /* No default value */
1087                 "antennaPort"
1088                 },
1089         { ATF_POINTER, 1, offsetof(struct ConfiguredGrantConfig__rrc_ConfiguredUplinkGrant, dmrs_SeqInitialization),
1090                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
1091                 -1,     /* IMPLICIT tag at current level */
1092                 &asn_DEF_NativeInteger,
1093                 0,
1094                 { &asn_OER_memb_dmrs_SeqInitialization_constr_90, &asn_PER_memb_dmrs_SeqInitialization_constr_90,  memb_dmrs_SeqInitialization_constraint_85 },
1095                 0, 0, /* No default value */
1096                 "dmrs-SeqInitialization"
1097                 },
1098         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig__rrc_ConfiguredUplinkGrant, precodingAndNumberOfLayers),
1099                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
1100                 -1,     /* IMPLICIT tag at current level */
1101                 &asn_DEF_NativeInteger,
1102                 0,
1103                 { &asn_OER_memb_precodingAndNumberOfLayers_constr_91, &asn_PER_memb_precodingAndNumberOfLayers_constr_91,  memb_precodingAndNumberOfLayers_constraint_85 },
1104                 0, 0, /* No default value */
1105                 "precodingAndNumberOfLayers"
1106                 },
1107         { ATF_POINTER, 1, offsetof(struct ConfiguredGrantConfig__rrc_ConfiguredUplinkGrant, srs_ResourceIndicator),
1108                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
1109                 -1,     /* IMPLICIT tag at current level */
1110                 &asn_DEF_NativeInteger,
1111                 0,
1112                 { &asn_OER_memb_srs_ResourceIndicator_constr_92, &asn_PER_memb_srs_ResourceIndicator_constr_92,  memb_srs_ResourceIndicator_constraint_85 },
1113                 0, 0, /* No default value */
1114                 "srs-ResourceIndicator"
1115                 },
1116         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig__rrc_ConfiguredUplinkGrant, mcsAndTBS),
1117                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
1118                 -1,     /* IMPLICIT tag at current level */
1119                 &asn_DEF_NativeInteger,
1120                 0,
1121                 { &asn_OER_memb_mcsAndTBS_constr_93, &asn_PER_memb_mcsAndTBS_constr_93,  memb_mcsAndTBS_constraint_85 },
1122                 0, 0, /* No default value */
1123                 "mcsAndTBS"
1124                 },
1125         { ATF_POINTER, 1, offsetof(struct ConfiguredGrantConfig__rrc_ConfiguredUplinkGrant, frequencyHoppingOffset),
1126                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
1127                 -1,     /* IMPLICIT tag at current level */
1128                 &asn_DEF_NativeInteger,
1129                 0,
1130                 { &asn_OER_memb_frequencyHoppingOffset_constr_94, &asn_PER_memb_frequencyHoppingOffset_constr_94,  memb_frequencyHoppingOffset_constraint_85 },
1131                 0, 0, /* No default value */
1132                 "frequencyHoppingOffset"
1133                 },
1134         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig__rrc_ConfiguredUplinkGrant, pathlossReferenceIndex),
1135                 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
1136                 -1,     /* IMPLICIT tag at current level */
1137                 &asn_DEF_NativeInteger,
1138                 0,
1139                 { &asn_OER_memb_pathlossReferenceIndex_constr_95, &asn_PER_memb_pathlossReferenceIndex_constr_95,  memb_pathlossReferenceIndex_constraint_85 },
1140                 0, 0, /* No default value */
1141                 "pathlossReferenceIndex"
1142                 },
1143 };
1144 static const int asn_MAP_rrc_ConfiguredUplinkGrant_oms_85[] = { 4, 6, 8 };
1145 static const ber_tlv_tag_t asn_DEF_rrc_ConfiguredUplinkGrant_tags_85[] = {
1146         (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
1147         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1148 };
1149 static const asn_TYPE_tag2member_t asn_MAP_rrc_ConfiguredUplinkGrant_tag2el_85[] = {
1150     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeDomainOffset */
1151     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* timeDomainAllocation */
1152     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* frequencyDomainAllocation */
1153     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* antennaPort */
1154     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* dmrs-SeqInitialization */
1155     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* precodingAndNumberOfLayers */
1156     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* srs-ResourceIndicator */
1157     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* mcsAndTBS */
1158     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* frequencyHoppingOffset */
1159     { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* pathlossReferenceIndex */
1160 };
1161 static asn_SEQUENCE_specifics_t asn_SPC_rrc_ConfiguredUplinkGrant_specs_85 = {
1162         sizeof(struct ConfiguredGrantConfig__rrc_ConfiguredUplinkGrant),
1163         offsetof(struct ConfiguredGrantConfig__rrc_ConfiguredUplinkGrant, _asn_ctx),
1164         asn_MAP_rrc_ConfiguredUplinkGrant_tag2el_85,
1165         10,     /* Count of tags in the map */
1166         asn_MAP_rrc_ConfiguredUplinkGrant_oms_85,       /* Optional members */
1167         3, 0,   /* Root/Additions */
1168         10,     /* First extension addition */
1169 };
1170 static /* Use -fall-defs-global to expose */
1171 asn_TYPE_descriptor_t asn_DEF_rrc_ConfiguredUplinkGrant_85 = {
1172         "rrc-ConfiguredUplinkGrant",
1173         "rrc-ConfiguredUplinkGrant",
1174         &asn_OP_SEQUENCE,
1175         asn_DEF_rrc_ConfiguredUplinkGrant_tags_85,
1176         sizeof(asn_DEF_rrc_ConfiguredUplinkGrant_tags_85)
1177                 /sizeof(asn_DEF_rrc_ConfiguredUplinkGrant_tags_85[0]) - 1, /* 1 */
1178         asn_DEF_rrc_ConfiguredUplinkGrant_tags_85,      /* Same as above */
1179         sizeof(asn_DEF_rrc_ConfiguredUplinkGrant_tags_85)
1180                 /sizeof(asn_DEF_rrc_ConfiguredUplinkGrant_tags_85[0]), /* 2 */
1181         { 0, 0, SEQUENCE_constraint },
1182         asn_MBR_rrc_ConfiguredUplinkGrant_85,
1183         10,     /* Elements count */
1184         &asn_SPC_rrc_ConfiguredUplinkGrant_specs_85     /* Additional specs */
1185 };
1186
1187 asn_TYPE_member_t asn_MBR_ConfiguredGrantConfig_1[] = {
1188         { ATF_POINTER, 1, offsetof(struct ConfiguredGrantConfig, frequencyHopping),
1189                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1190                 -1,     /* IMPLICIT tag at current level */
1191                 &asn_DEF_frequencyHopping_2,
1192                 0,
1193                 { 0, 0, 0 },
1194                 0, 0, /* No default value */
1195                 "frequencyHopping"
1196                 },
1197         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig, cg_DMRS_Configuration),
1198                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1199                 -1,     /* IMPLICIT tag at current level */
1200                 &asn_DEF_DMRS_UplinkConfig,
1201                 0,
1202                 { 0, 0, 0 },
1203                 0, 0, /* No default value */
1204                 "cg-DMRS-Configuration"
1205                 },
1206         { ATF_POINTER, 3, offsetof(struct ConfiguredGrantConfig, mcs_Table),
1207                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1208                 -1,     /* IMPLICIT tag at current level */
1209                 &asn_DEF_mcs_Table_6,
1210                 0,
1211                 { 0, 0, 0 },
1212                 0, 0, /* No default value */
1213                 "mcs-Table"
1214                 },
1215         { ATF_POINTER, 2, offsetof(struct ConfiguredGrantConfig, mcs_TableTransformPrecoder),
1216                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1217                 -1,     /* IMPLICIT tag at current level */
1218                 &asn_DEF_mcs_TableTransformPrecoder_9,
1219                 0,
1220                 { 0, 0, 0 },
1221                 0, 0, /* No default value */
1222                 "mcs-TableTransformPrecoder"
1223                 },
1224         { ATF_POINTER, 1, offsetof(struct ConfiguredGrantConfig, uci_OnPUSCH),
1225                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
1226                 +1,     /* EXPLICIT tag at current level */
1227                 &asn_DEF_uci_OnPUSCH_12,
1228                 0,
1229                 { 0, 0, 0 },
1230                 0, 0, /* No default value */
1231                 "uci-OnPUSCH"
1232                 },
1233         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig, resourceAllocation),
1234                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
1235                 -1,     /* IMPLICIT tag at current level */
1236                 &asn_DEF_resourceAllocation_15,
1237                 0,
1238                 { 0, 0, 0 },
1239                 0, 0, /* No default value */
1240                 "resourceAllocation"
1241                 },
1242         { ATF_POINTER, 1, offsetof(struct ConfiguredGrantConfig, rbg_Size),
1243                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
1244                 -1,     /* IMPLICIT tag at current level */
1245                 &asn_DEF_rbg_Size_19,
1246                 0,
1247                 { 0, 0, 0 },
1248                 0, 0, /* No default value */
1249                 "rbg-Size"
1250                 },
1251         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig, powerControlLoopToUse),
1252                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
1253                 -1,     /* IMPLICIT tag at current level */
1254                 &asn_DEF_powerControlLoopToUse_21,
1255                 0,
1256                 { 0, 0, 0 },
1257                 0, 0, /* No default value */
1258                 "powerControlLoopToUse"
1259                 },
1260         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig, p0_PUSCH_Alpha),
1261                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
1262                 -1,     /* IMPLICIT tag at current level */
1263                 &asn_DEF_P0_PUSCH_AlphaSetId,
1264                 0,
1265                 { 0, 0, 0 },
1266                 0, 0, /* No default value */
1267                 "p0-PUSCH-Alpha"
1268                 },
1269         { ATF_POINTER, 1, offsetof(struct ConfiguredGrantConfig, transformPrecoder),
1270                 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
1271                 -1,     /* IMPLICIT tag at current level */
1272                 &asn_DEF_transformPrecoder_25,
1273                 0,
1274                 { 0, 0, 0 },
1275                 0, 0, /* No default value */
1276                 "transformPrecoder"
1277                 },
1278         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig, nrofHARQ_Processes),
1279                 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
1280                 -1,     /* IMPLICIT tag at current level */
1281                 &asn_DEF_NativeInteger,
1282                 0,
1283                 { &asn_OER_memb_nrofHARQ_Processes_constr_28, &asn_PER_memb_nrofHARQ_Processes_constr_28,  memb_nrofHARQ_Processes_constraint_1 },
1284                 0, 0, /* No default value */
1285                 "nrofHARQ-Processes"
1286                 },
1287         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig, repK),
1288                 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
1289                 -1,     /* IMPLICIT tag at current level */
1290                 &asn_DEF_repK_29,
1291                 0,
1292                 { 0, 0, 0 },
1293                 0, 0, /* No default value */
1294                 "repK"
1295                 },
1296         { ATF_POINTER, 1, offsetof(struct ConfiguredGrantConfig, repK_RV),
1297                 (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
1298                 -1,     /* IMPLICIT tag at current level */
1299                 &asn_DEF_repK_RV_34,
1300                 0,
1301                 { 0, 0, 0 },
1302                 0, 0, /* No default value */
1303                 "repK-RV"
1304                 },
1305         { ATF_NOFLAGS, 0, offsetof(struct ConfiguredGrantConfig, periodicity),
1306                 (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
1307                 -1,     /* IMPLICIT tag at current level */
1308                 &asn_DEF_periodicity_38,
1309                 0,
1310                 { 0, 0, 0 },
1311                 0, 0, /* No default value */
1312                 "periodicity"
1313                 },
1314         { ATF_POINTER, 2, offsetof(struct ConfiguredGrantConfig, configuredGrantTimer),
1315                 (ASN_TAG_CLASS_CONTEXT | (14 << 2)),
1316                 -1,     /* IMPLICIT tag at current level */
1317                 &asn_DEF_NativeInteger,
1318                 0,
1319                 { &asn_OER_memb_configuredGrantTimer_constr_84, &asn_PER_memb_configuredGrantTimer_constr_84,  memb_configuredGrantTimer_constraint_1 },
1320                 0, 0, /* No default value */
1321                 "configuredGrantTimer"
1322                 },
1323         { ATF_POINTER, 1, offsetof(struct ConfiguredGrantConfig, rrc_ConfiguredUplinkGrant),
1324                 (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
1325                 0,
1326                 &asn_DEF_rrc_ConfiguredUplinkGrant_85,
1327                 0,
1328                 { 0, 0, 0 },
1329                 0, 0, /* No default value */
1330                 "rrc-ConfiguredUplinkGrant"
1331                 },
1332 };
1333 static const int asn_MAP_ConfiguredGrantConfig_oms_1[] = { 0, 2, 3, 4, 6, 9, 12, 14, 15 };
1334 static const ber_tlv_tag_t asn_DEF_ConfiguredGrantConfig_tags_1[] = {
1335         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1336 };
1337 static const asn_TYPE_tag2member_t asn_MAP_ConfiguredGrantConfig_tag2el_1[] = {
1338     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* frequencyHopping */
1339     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cg-DMRS-Configuration */
1340     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* mcs-Table */
1341     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* mcs-TableTransformPrecoder */
1342     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* uci-OnPUSCH */
1343     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* resourceAllocation */
1344     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* rbg-Size */
1345     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* powerControlLoopToUse */
1346     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* p0-PUSCH-Alpha */
1347     { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* transformPrecoder */
1348     { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* nrofHARQ-Processes */
1349     { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* repK */
1350     { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* repK-RV */
1351     { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* periodicity */
1352     { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* configuredGrantTimer */
1353     { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 } /* rrc-ConfiguredUplinkGrant */
1354 };
1355 asn_SEQUENCE_specifics_t asn_SPC_ConfiguredGrantConfig_specs_1 = {
1356         sizeof(struct ConfiguredGrantConfig),
1357         offsetof(struct ConfiguredGrantConfig, _asn_ctx),
1358         asn_MAP_ConfiguredGrantConfig_tag2el_1,
1359         16,     /* Count of tags in the map */
1360         asn_MAP_ConfiguredGrantConfig_oms_1,    /* Optional members */
1361         9, 0,   /* Root/Additions */
1362         16,     /* First extension addition */
1363 };
1364 asn_TYPE_descriptor_t asn_DEF_ConfiguredGrantConfig = {
1365         "ConfiguredGrantConfig",
1366         "ConfiguredGrantConfig",
1367         &asn_OP_SEQUENCE,
1368         asn_DEF_ConfiguredGrantConfig_tags_1,
1369         sizeof(asn_DEF_ConfiguredGrantConfig_tags_1)
1370                 /sizeof(asn_DEF_ConfiguredGrantConfig_tags_1[0]), /* 1 */
1371         asn_DEF_ConfiguredGrantConfig_tags_1,   /* Same as above */
1372         sizeof(asn_DEF_ConfiguredGrantConfig_tags_1)
1373                 /sizeof(asn_DEF_ConfiguredGrantConfig_tags_1[0]), /* 1 */
1374         { 0, 0, SEQUENCE_constraint },
1375         asn_MBR_ConfiguredGrantConfig_1,
1376         16,     /* Elements count */
1377         &asn_SPC_ConfiguredGrantConfig_specs_1  /* Additional specs */
1378 };
1379