[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-441]: Update name of Paging RRC Codec
[o-du/l2.git] / src / codec_utils / RRC / CSI-ReportConfig.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 "CSI-ReportConfig.h"
9
10 #include "CodebookConfig.h"
11 #include "PUCCH-CSI-Resource.h"
12 #include "PortIndexFor8Ranks.h"
13 static int
14 memb_pucch_CSI_ResourceList_constraint_8(const asn_TYPE_descriptor_t *td, const void *sptr,
15                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
16         size_t size;
17         
18         if(!sptr) {
19                 ASN__CTFAIL(app_key, td, sptr,
20                         "%s: value not given (%s:%d)",
21                         td->name, __FILE__, __LINE__);
22                 return -1;
23         }
24         
25         /* Determine the number of elements */
26         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
27         
28         if((size >= 1 && size <= 4)) {
29                 /* Perform validation of the inner elements */
30                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
31         } else {
32                 ASN__CTFAIL(app_key, td, sptr,
33                         "%s: constraint failed (%s:%d)",
34                         td->name, __FILE__, __LINE__);
35                 return -1;
36         }
37 }
38
39 static int
40 memb_pucch_CSI_ResourceList_constraint_12(const asn_TYPE_descriptor_t *td, const void *sptr,
41                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
42         size_t size;
43         
44         if(!sptr) {
45                 ASN__CTFAIL(app_key, td, sptr,
46                         "%s: value not given (%s:%d)",
47                         td->name, __FILE__, __LINE__);
48                 return -1;
49         }
50         
51         /* Determine the number of elements */
52         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
53         
54         if((size >= 1 && size <= 4)) {
55                 /* Perform validation of the inner elements */
56                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
57         } else {
58                 ASN__CTFAIL(app_key, td, sptr,
59                         "%s: constraint failed (%s:%d)",
60                         td->name, __FILE__, __LINE__);
61                 return -1;
62         }
63 }
64
65 /*
66  * This type is implemented using NativeEnumerated,
67  * so here we adjust the DEF accordingly.
68  */
69 static int
70 memb_NativeInteger_constraint_25(const asn_TYPE_descriptor_t *td, const void *sptr,
71                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
72         long value;
73         
74         if(!sptr) {
75                 ASN__CTFAIL(app_key, td, sptr,
76                         "%s: value not given (%s:%d)",
77                         td->name, __FILE__, __LINE__);
78                 return -1;
79         }
80         
81         value = *(const long *)sptr;
82         
83         if((value >= 0 && value <= 32)) {
84                 /* Constraint check succeeded */
85                 return 0;
86         } else {
87                 ASN__CTFAIL(app_key, td, sptr,
88                         "%s: constraint failed (%s:%d)",
89                         td->name, __FILE__, __LINE__);
90                 return -1;
91         }
92 }
93
94 static int
95 memb_reportSlotOffsetList_constraint_16(const asn_TYPE_descriptor_t *td, const void *sptr,
96                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
97         size_t size;
98         
99         if(!sptr) {
100                 ASN__CTFAIL(app_key, td, sptr,
101                         "%s: value not given (%s:%d)",
102                         td->name, __FILE__, __LINE__);
103                 return -1;
104         }
105         
106         /* Determine the number of elements */
107         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
108         
109         if((size >= 1 && size <= 16)) {
110                 /* Perform validation of the inner elements */
111                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
112         } else {
113                 ASN__CTFAIL(app_key, td, sptr,
114                         "%s: constraint failed (%s:%d)",
115                         td->name, __FILE__, __LINE__);
116                 return -1;
117         }
118 }
119
120 static int
121 memb_NativeInteger_constraint_29(const asn_TYPE_descriptor_t *td, const void *sptr,
122                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
123         long value;
124         
125         if(!sptr) {
126                 ASN__CTFAIL(app_key, td, sptr,
127                         "%s: value not given (%s:%d)",
128                         td->name, __FILE__, __LINE__);
129                 return -1;
130         }
131         
132         value = *(const long *)sptr;
133         
134         if((value >= 0 && value <= 32)) {
135                 /* Constraint check succeeded */
136                 return 0;
137         } else {
138                 ASN__CTFAIL(app_key, td, sptr,
139                         "%s: constraint failed (%s:%d)",
140                         td->name, __FILE__, __LINE__);
141                 return -1;
142         }
143 }
144
145 static int
146 memb_reportSlotOffsetList_constraint_28(const asn_TYPE_descriptor_t *td, const void *sptr,
147                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
148         size_t size;
149         
150         if(!sptr) {
151                 ASN__CTFAIL(app_key, td, sptr,
152                         "%s: value not given (%s:%d)",
153                         td->name, __FILE__, __LINE__);
154                 return -1;
155         }
156         
157         /* Determine the number of elements */
158         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
159         
160         if((size >= 1 && size <= 16)) {
161                 /* Perform validation of the inner elements */
162                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
163         } else {
164                 ASN__CTFAIL(app_key, td, sptr,
165                         "%s: constraint failed (%s:%d)",
166                         td->name, __FILE__, __LINE__);
167                 return -1;
168         }
169 }
170
171 /*
172  * This type is implemented using NativeEnumerated,
173  * so here we adjust the DEF accordingly.
174  */
175 /*
176  * This type is implemented using NativeEnumerated,
177  * so here we adjust the DEF accordingly.
178  */
179 /*
180  * This type is implemented using NativeEnumerated,
181  * so here we adjust the DEF accordingly.
182  */
183 static int
184 memb_subbands3_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
185                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
186         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
187         size_t size;
188         
189         if(!sptr) {
190                 ASN__CTFAIL(app_key, td, sptr,
191                         "%s: value not given (%s:%d)",
192                         td->name, __FILE__, __LINE__);
193                 return -1;
194         }
195         
196         if(st->size > 0) {
197                 /* Size in bits */
198                 size = 8 * st->size - (st->bits_unused & 0x07);
199         } else {
200                 size = 0;
201         }
202         
203         if((size == 3)) {
204                 /* Constraint check succeeded */
205                 return 0;
206         } else {
207                 ASN__CTFAIL(app_key, td, sptr,
208                         "%s: constraint failed (%s:%d)",
209                         td->name, __FILE__, __LINE__);
210                 return -1;
211         }
212 }
213
214 static int
215 memb_subbands4_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
216                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
217         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
218         size_t size;
219         
220         if(!sptr) {
221                 ASN__CTFAIL(app_key, td, sptr,
222                         "%s: value not given (%s:%d)",
223                         td->name, __FILE__, __LINE__);
224                 return -1;
225         }
226         
227         if(st->size > 0) {
228                 /* Size in bits */
229                 size = 8 * st->size - (st->bits_unused & 0x07);
230         } else {
231                 size = 0;
232         }
233         
234         if((size == 4)) {
235                 /* Constraint check succeeded */
236                 return 0;
237         } else {
238                 ASN__CTFAIL(app_key, td, sptr,
239                         "%s: constraint failed (%s:%d)",
240                         td->name, __FILE__, __LINE__);
241                 return -1;
242         }
243 }
244
245 static int
246 memb_subbands5_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
247                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
248         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
249         size_t size;
250         
251         if(!sptr) {
252                 ASN__CTFAIL(app_key, td, sptr,
253                         "%s: value not given (%s:%d)",
254                         td->name, __FILE__, __LINE__);
255                 return -1;
256         }
257         
258         if(st->size > 0) {
259                 /* Size in bits */
260                 size = 8 * st->size - (st->bits_unused & 0x07);
261         } else {
262                 size = 0;
263         }
264         
265         if((size == 5)) {
266                 /* Constraint check succeeded */
267                 return 0;
268         } else {
269                 ASN__CTFAIL(app_key, td, sptr,
270                         "%s: constraint failed (%s:%d)",
271                         td->name, __FILE__, __LINE__);
272                 return -1;
273         }
274 }
275
276 static int
277 memb_subbands6_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
278                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
279         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
280         size_t size;
281         
282         if(!sptr) {
283                 ASN__CTFAIL(app_key, td, sptr,
284                         "%s: value not given (%s:%d)",
285                         td->name, __FILE__, __LINE__);
286                 return -1;
287         }
288         
289         if(st->size > 0) {
290                 /* Size in bits */
291                 size = 8 * st->size - (st->bits_unused & 0x07);
292         } else {
293                 size = 0;
294         }
295         
296         if((size == 6)) {
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_subbands7_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
309                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
310         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
311         size_t size;
312         
313         if(!sptr) {
314                 ASN__CTFAIL(app_key, td, sptr,
315                         "%s: value not given (%s:%d)",
316                         td->name, __FILE__, __LINE__);
317                 return -1;
318         }
319         
320         if(st->size > 0) {
321                 /* Size in bits */
322                 size = 8 * st->size - (st->bits_unused & 0x07);
323         } else {
324                 size = 0;
325         }
326         
327         if((size == 7)) {
328                 /* Constraint check succeeded */
329                 return 0;
330         } else {
331                 ASN__CTFAIL(app_key, td, sptr,
332                         "%s: constraint failed (%s:%d)",
333                         td->name, __FILE__, __LINE__);
334                 return -1;
335         }
336 }
337
338 static int
339 memb_subbands8_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
340                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
341         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
342         size_t size;
343         
344         if(!sptr) {
345                 ASN__CTFAIL(app_key, td, sptr,
346                         "%s: value not given (%s:%d)",
347                         td->name, __FILE__, __LINE__);
348                 return -1;
349         }
350         
351         if(st->size > 0) {
352                 /* Size in bits */
353                 size = 8 * st->size - (st->bits_unused & 0x07);
354         } else {
355                 size = 0;
356         }
357         
358         if((size == 8)) {
359                 /* Constraint check succeeded */
360                 return 0;
361         } else {
362                 ASN__CTFAIL(app_key, td, sptr,
363                         "%s: constraint failed (%s:%d)",
364                         td->name, __FILE__, __LINE__);
365                 return -1;
366         }
367 }
368
369 static int
370 memb_subbands9_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
371                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
372         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
373         size_t size;
374         
375         if(!sptr) {
376                 ASN__CTFAIL(app_key, td, sptr,
377                         "%s: value not given (%s:%d)",
378                         td->name, __FILE__, __LINE__);
379                 return -1;
380         }
381         
382         if(st->size > 0) {
383                 /* Size in bits */
384                 size = 8 * st->size - (st->bits_unused & 0x07);
385         } else {
386                 size = 0;
387         }
388         
389         if((size == 9)) {
390                 /* Constraint check succeeded */
391                 return 0;
392         } else {
393                 ASN__CTFAIL(app_key, td, sptr,
394                         "%s: constraint failed (%s:%d)",
395                         td->name, __FILE__, __LINE__);
396                 return -1;
397         }
398 }
399
400 static int
401 memb_subbands10_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
402                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
403         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
404         size_t size;
405         
406         if(!sptr) {
407                 ASN__CTFAIL(app_key, td, sptr,
408                         "%s: value not given (%s:%d)",
409                         td->name, __FILE__, __LINE__);
410                 return -1;
411         }
412         
413         if(st->size > 0) {
414                 /* Size in bits */
415                 size = 8 * st->size - (st->bits_unused & 0x07);
416         } else {
417                 size = 0;
418         }
419         
420         if((size == 10)) {
421                 /* Constraint check succeeded */
422                 return 0;
423         } else {
424                 ASN__CTFAIL(app_key, td, sptr,
425                         "%s: constraint failed (%s:%d)",
426                         td->name, __FILE__, __LINE__);
427                 return -1;
428         }
429 }
430
431 static int
432 memb_subbands11_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
433                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
434         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
435         size_t size;
436         
437         if(!sptr) {
438                 ASN__CTFAIL(app_key, td, sptr,
439                         "%s: value not given (%s:%d)",
440                         td->name, __FILE__, __LINE__);
441                 return -1;
442         }
443         
444         if(st->size > 0) {
445                 /* Size in bits */
446                 size = 8 * st->size - (st->bits_unused & 0x07);
447         } else {
448                 size = 0;
449         }
450         
451         if((size == 11)) {
452                 /* Constraint check succeeded */
453                 return 0;
454         } else {
455                 ASN__CTFAIL(app_key, td, sptr,
456                         "%s: constraint failed (%s:%d)",
457                         td->name, __FILE__, __LINE__);
458                 return -1;
459         }
460 }
461
462 static int
463 memb_subbands12_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
464                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
465         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
466         size_t size;
467         
468         if(!sptr) {
469                 ASN__CTFAIL(app_key, td, sptr,
470                         "%s: value not given (%s:%d)",
471                         td->name, __FILE__, __LINE__);
472                 return -1;
473         }
474         
475         if(st->size > 0) {
476                 /* Size in bits */
477                 size = 8 * st->size - (st->bits_unused & 0x07);
478         } else {
479                 size = 0;
480         }
481         
482         if((size == 12)) {
483                 /* Constraint check succeeded */
484                 return 0;
485         } else {
486                 ASN__CTFAIL(app_key, td, sptr,
487                         "%s: constraint failed (%s:%d)",
488                         td->name, __FILE__, __LINE__);
489                 return -1;
490         }
491 }
492
493 static int
494 memb_subbands13_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
495                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
496         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
497         size_t size;
498         
499         if(!sptr) {
500                 ASN__CTFAIL(app_key, td, sptr,
501                         "%s: value not given (%s:%d)",
502                         td->name, __FILE__, __LINE__);
503                 return -1;
504         }
505         
506         if(st->size > 0) {
507                 /* Size in bits */
508                 size = 8 * st->size - (st->bits_unused & 0x07);
509         } else {
510                 size = 0;
511         }
512         
513         if((size == 13)) {
514                 /* Constraint check succeeded */
515                 return 0;
516         } else {
517                 ASN__CTFAIL(app_key, td, sptr,
518                         "%s: constraint failed (%s:%d)",
519                         td->name, __FILE__, __LINE__);
520                 return -1;
521         }
522 }
523
524 static int
525 memb_subbands14_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
526                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
527         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
528         size_t size;
529         
530         if(!sptr) {
531                 ASN__CTFAIL(app_key, td, sptr,
532                         "%s: value not given (%s:%d)",
533                         td->name, __FILE__, __LINE__);
534                 return -1;
535         }
536         
537         if(st->size > 0) {
538                 /* Size in bits */
539                 size = 8 * st->size - (st->bits_unused & 0x07);
540         } else {
541                 size = 0;
542         }
543         
544         if((size == 14)) {
545                 /* Constraint check succeeded */
546                 return 0;
547         } else {
548                 ASN__CTFAIL(app_key, td, sptr,
549                         "%s: constraint failed (%s:%d)",
550                         td->name, __FILE__, __LINE__);
551                 return -1;
552         }
553 }
554
555 static int
556 memb_subbands15_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
557                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
558         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
559         size_t size;
560         
561         if(!sptr) {
562                 ASN__CTFAIL(app_key, td, sptr,
563                         "%s: value not given (%s:%d)",
564                         td->name, __FILE__, __LINE__);
565                 return -1;
566         }
567         
568         if(st->size > 0) {
569                 /* Size in bits */
570                 size = 8 * st->size - (st->bits_unused & 0x07);
571         } else {
572                 size = 0;
573         }
574         
575         if((size == 15)) {
576                 /* Constraint check succeeded */
577                 return 0;
578         } else {
579                 ASN__CTFAIL(app_key, td, sptr,
580                         "%s: constraint failed (%s:%d)",
581                         td->name, __FILE__, __LINE__);
582                 return -1;
583         }
584 }
585
586 static int
587 memb_subbands16_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
588                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
589         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
590         size_t size;
591         
592         if(!sptr) {
593                 ASN__CTFAIL(app_key, td, sptr,
594                         "%s: value not given (%s:%d)",
595                         td->name, __FILE__, __LINE__);
596                 return -1;
597         }
598         
599         if(st->size > 0) {
600                 /* Size in bits */
601                 size = 8 * st->size - (st->bits_unused & 0x07);
602         } else {
603                 size = 0;
604         }
605         
606         if((size == 16)) {
607                 /* Constraint check succeeded */
608                 return 0;
609         } else {
610                 ASN__CTFAIL(app_key, td, sptr,
611                         "%s: constraint failed (%s:%d)",
612                         td->name, __FILE__, __LINE__);
613                 return -1;
614         }
615 }
616
617 static int
618 memb_subbands17_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
619                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
620         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
621         size_t size;
622         
623         if(!sptr) {
624                 ASN__CTFAIL(app_key, td, sptr,
625                         "%s: value not given (%s:%d)",
626                         td->name, __FILE__, __LINE__);
627                 return -1;
628         }
629         
630         if(st->size > 0) {
631                 /* Size in bits */
632                 size = 8 * st->size - (st->bits_unused & 0x07);
633         } else {
634                 size = 0;
635         }
636         
637         if((size == 17)) {
638                 /* Constraint check succeeded */
639                 return 0;
640         } else {
641                 ASN__CTFAIL(app_key, td, sptr,
642                         "%s: constraint failed (%s:%d)",
643                         td->name, __FILE__, __LINE__);
644                 return -1;
645         }
646 }
647
648 static int
649 memb_subbands18_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
650                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
651         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
652         size_t size;
653         
654         if(!sptr) {
655                 ASN__CTFAIL(app_key, td, sptr,
656                         "%s: value not given (%s:%d)",
657                         td->name, __FILE__, __LINE__);
658                 return -1;
659         }
660         
661         if(st->size > 0) {
662                 /* Size in bits */
663                 size = 8 * st->size - (st->bits_unused & 0x07);
664         } else {
665                 size = 0;
666         }
667         
668         if((size == 18)) {
669                 /* Constraint check succeeded */
670                 return 0;
671         } else {
672                 ASN__CTFAIL(app_key, td, sptr,
673                         "%s: constraint failed (%s:%d)",
674                         td->name, __FILE__, __LINE__);
675                 return -1;
676         }
677 }
678
679 static int
680 memb_subbands19_v1530_constraint_50(const asn_TYPE_descriptor_t *td, const void *sptr,
681                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
682         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
683         size_t size;
684         
685         if(!sptr) {
686                 ASN__CTFAIL(app_key, td, sptr,
687                         "%s: value not given (%s:%d)",
688                         td->name, __FILE__, __LINE__);
689                 return -1;
690         }
691         
692         if(st->size > 0) {
693                 /* Size in bits */
694                 size = 8 * st->size - (st->bits_unused & 0x07);
695         } else {
696                 size = 0;
697         }
698         
699         if((size == 19)) {
700                 /* Constraint check succeeded */
701                 return 0;
702         } else {
703                 ASN__CTFAIL(app_key, td, sptr,
704                         "%s: constraint failed (%s:%d)",
705                         td->name, __FILE__, __LINE__);
706                 return -1;
707         }
708 }
709
710 /*
711  * This type is implemented using NativeEnumerated,
712  * so here we adjust the DEF accordingly.
713  */
714 /*
715  * This type is implemented using NativeEnumerated,
716  * so here we adjust the DEF accordingly.
717  */
718 /*
719  * This type is implemented using NativeEnumerated,
720  * so here we adjust the DEF accordingly.
721  */
722 /*
723  * This type is implemented using NativeEnumerated,
724  * so here we adjust the DEF accordingly.
725  */
726 /*
727  * This type is implemented using NativeEnumerated,
728  * so here we adjust the DEF accordingly.
729  */
730 /*
731  * This type is implemented using NativeEnumerated,
732  * so here we adjust the DEF accordingly.
733  */
734 /*
735  * This type is implemented using NativeEnumerated,
736  * so here we adjust the DEF accordingly.
737  */
738 static int
739 memb_non_PMI_PortIndication_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
740                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
741         size_t size;
742         
743         if(!sptr) {
744                 ASN__CTFAIL(app_key, td, sptr,
745                         "%s: value not given (%s:%d)",
746                         td->name, __FILE__, __LINE__);
747                 return -1;
748         }
749         
750         /* Determine the number of elements */
751         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
752         
753         if((size >= 1 && size <= 128)) {
754                 /* Perform validation of the inner elements */
755                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
756         } else {
757                 ASN__CTFAIL(app_key, td, sptr,
758                         "%s: constraint failed (%s:%d)",
759                         td->name, __FILE__, __LINE__);
760                 return -1;
761         }
762 }
763
764 static asn_oer_constraints_t asn_OER_type_pucch_CSI_ResourceList_constr_10 CC_NOTUSED = {
765         { 0, 0 },
766         -1      /* (SIZE(1..4)) */};
767 static asn_per_constraints_t asn_PER_type_pucch_CSI_ResourceList_constr_10 CC_NOTUSED = {
768         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
769         { APC_CONSTRAINED,       2,  2,  1,  4 }        /* (SIZE(1..4)) */,
770         0, 0    /* No PER value map */
771 };
772 static asn_oer_constraints_t asn_OER_memb_pucch_CSI_ResourceList_constr_10 CC_NOTUSED = {
773         { 0, 0 },
774         -1      /* (SIZE(1..4)) */};
775 static asn_per_constraints_t asn_PER_memb_pucch_CSI_ResourceList_constr_10 CC_NOTUSED = {
776         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
777         { APC_CONSTRAINED,       2,  2,  1,  4 }        /* (SIZE(1..4)) */,
778         0, 0    /* No PER value map */
779 };
780 static asn_oer_constraints_t asn_OER_type_pucch_CSI_ResourceList_constr_14 CC_NOTUSED = {
781         { 0, 0 },
782         -1      /* (SIZE(1..4)) */};
783 static asn_per_constraints_t asn_PER_type_pucch_CSI_ResourceList_constr_14 CC_NOTUSED = {
784         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
785         { APC_CONSTRAINED,       2,  2,  1,  4 }        /* (SIZE(1..4)) */,
786         0, 0    /* No PER value map */
787 };
788 static asn_oer_constraints_t asn_OER_memb_pucch_CSI_ResourceList_constr_14 CC_NOTUSED = {
789         { 0, 0 },
790         -1      /* (SIZE(1..4)) */};
791 static asn_per_constraints_t asn_PER_memb_pucch_CSI_ResourceList_constr_14 CC_NOTUSED = {
792         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
793         { APC_CONSTRAINED,       2,  2,  1,  4 }        /* (SIZE(1..4)) */,
794         0, 0    /* No PER value map */
795 };
796 static asn_oer_constraints_t asn_OER_type_reportSlotConfig_constr_17 CC_NOTUSED = {
797         { 0, 0 },
798         -1};
799 static asn_per_constraints_t asn_PER_type_reportSlotConfig_constr_17 CC_NOTUSED = {
800         { APC_CONSTRAINED,       3,  3,  0,  6 }        /* (0..6) */,
801         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
802         0, 0    /* No PER value map */
803 };
804 static asn_oer_constraints_t asn_OER_memb_Member_constr_26 CC_NOTUSED = {
805         { 1, 1 }        /* (0..32) */,
806         -1};
807 static asn_per_constraints_t asn_PER_memb_Member_constr_26 CC_NOTUSED = {
808         { APC_CONSTRAINED,       6,  6,  0,  32 }       /* (0..32) */,
809         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
810         0, 0    /* No PER value map */
811 };
812 static asn_oer_constraints_t asn_OER_type_reportSlotOffsetList_constr_25 CC_NOTUSED = {
813         { 0, 0 },
814         -1      /* (SIZE(1..16)) */};
815 static asn_per_constraints_t asn_PER_type_reportSlotOffsetList_constr_25 CC_NOTUSED = {
816         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
817         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
818         0, 0    /* No PER value map */
819 };
820 static asn_oer_constraints_t asn_OER_memb_reportSlotOffsetList_constr_25 CC_NOTUSED = {
821         { 0, 0 },
822         -1      /* (SIZE(1..16)) */};
823 static asn_per_constraints_t asn_PER_memb_reportSlotOffsetList_constr_25 CC_NOTUSED = {
824         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
825         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
826         0, 0    /* No PER value map */
827 };
828 static asn_oer_constraints_t asn_OER_memb_Member_constr_30 CC_NOTUSED = {
829         { 1, 1 }        /* (0..32) */,
830         -1};
831 static asn_per_constraints_t asn_PER_memb_Member_constr_30 CC_NOTUSED = {
832         { APC_CONSTRAINED,       6,  6,  0,  32 }       /* (0..32) */,
833         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
834         0, 0    /* No PER value map */
835 };
836 static asn_oer_constraints_t asn_OER_type_reportSlotOffsetList_constr_29 CC_NOTUSED = {
837         { 0, 0 },
838         -1      /* (SIZE(1..16)) */};
839 static asn_per_constraints_t asn_PER_type_reportSlotOffsetList_constr_29 CC_NOTUSED = {
840         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
841         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
842         0, 0    /* No PER value map */
843 };
844 static asn_oer_constraints_t asn_OER_memb_reportSlotOffsetList_constr_29 CC_NOTUSED = {
845         { 0, 0 },
846         -1      /* (SIZE(1..16)) */};
847 static asn_per_constraints_t asn_PER_memb_reportSlotOffsetList_constr_29 CC_NOTUSED = {
848         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
849         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
850         0, 0    /* No PER value map */
851 };
852 static asn_oer_constraints_t asn_OER_type_reportConfigType_constr_7 CC_NOTUSED = {
853         { 0, 0 },
854         -1};
855 static asn_per_constraints_t asn_PER_type_reportConfigType_constr_7 CC_NOTUSED = {
856         { APC_CONSTRAINED,       2,  2,  0,  3 }        /* (0..3) */,
857         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
858         0, 0    /* No PER value map */
859 };
860 static asn_oer_constraints_t asn_OER_type_pdsch_BundleSizeForCSI_constr_36 CC_NOTUSED = {
861         { 0, 0 },
862         -1};
863 static asn_per_constraints_t asn_PER_type_pdsch_BundleSizeForCSI_constr_36 CC_NOTUSED = {
864         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
865         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
866         0, 0    /* No PER value map */
867 };
868 static asn_oer_constraints_t asn_OER_type_reportQuantity_constr_31 CC_NOTUSED = {
869         { 0, 0 },
870         -1};
871 static asn_per_constraints_t asn_PER_type_reportQuantity_constr_31 CC_NOTUSED = {
872         { APC_CONSTRAINED,       3,  3,  0,  7 }        /* (0..7) */,
873         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
874         0, 0    /* No PER value map */
875 };
876 static asn_oer_constraints_t asn_OER_type_cqi_FormatIndicator_constr_44 CC_NOTUSED = {
877         { 0, 0 },
878         -1};
879 static asn_per_constraints_t asn_PER_type_cqi_FormatIndicator_constr_44 CC_NOTUSED = {
880         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
881         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
882         0, 0    /* No PER value map */
883 };
884 static asn_oer_constraints_t asn_OER_type_pmi_FormatIndicator_constr_47 CC_NOTUSED = {
885         { 0, 0 },
886         -1};
887 static asn_per_constraints_t asn_PER_type_pmi_FormatIndicator_constr_47 CC_NOTUSED = {
888         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
889         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
890         0, 0    /* No PER value map */
891 };
892 static asn_oer_constraints_t asn_OER_memb_subbands3_constr_51 CC_NOTUSED = {
893         { 0, 0 },
894         3       /* (SIZE(3..3)) */};
895 static asn_per_constraints_t asn_PER_memb_subbands3_constr_51 CC_NOTUSED = {
896         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
897         { APC_CONSTRAINED,       0,  0,  3,  3 }        /* (SIZE(3..3)) */,
898         0, 0    /* No PER value map */
899 };
900 static asn_oer_constraints_t asn_OER_memb_subbands4_constr_52 CC_NOTUSED = {
901         { 0, 0 },
902         4       /* (SIZE(4..4)) */};
903 static asn_per_constraints_t asn_PER_memb_subbands4_constr_52 CC_NOTUSED = {
904         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
905         { APC_CONSTRAINED,       0,  0,  4,  4 }        /* (SIZE(4..4)) */,
906         0, 0    /* No PER value map */
907 };
908 static asn_oer_constraints_t asn_OER_memb_subbands5_constr_53 CC_NOTUSED = {
909         { 0, 0 },
910         5       /* (SIZE(5..5)) */};
911 static asn_per_constraints_t asn_PER_memb_subbands5_constr_53 CC_NOTUSED = {
912         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
913         { APC_CONSTRAINED,       0,  0,  5,  5 }        /* (SIZE(5..5)) */,
914         0, 0    /* No PER value map */
915 };
916 static asn_oer_constraints_t asn_OER_memb_subbands6_constr_54 CC_NOTUSED = {
917         { 0, 0 },
918         6       /* (SIZE(6..6)) */};
919 static asn_per_constraints_t asn_PER_memb_subbands6_constr_54 CC_NOTUSED = {
920         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
921         { APC_CONSTRAINED,       0,  0,  6,  6 }        /* (SIZE(6..6)) */,
922         0, 0    /* No PER value map */
923 };
924 static asn_oer_constraints_t asn_OER_memb_subbands7_constr_55 CC_NOTUSED = {
925         { 0, 0 },
926         7       /* (SIZE(7..7)) */};
927 static asn_per_constraints_t asn_PER_memb_subbands7_constr_55 CC_NOTUSED = {
928         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
929         { APC_CONSTRAINED,       0,  0,  7,  7 }        /* (SIZE(7..7)) */,
930         0, 0    /* No PER value map */
931 };
932 static asn_oer_constraints_t asn_OER_memb_subbands8_constr_56 CC_NOTUSED = {
933         { 0, 0 },
934         8       /* (SIZE(8..8)) */};
935 static asn_per_constraints_t asn_PER_memb_subbands8_constr_56 CC_NOTUSED = {
936         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
937         { APC_CONSTRAINED,       0,  0,  8,  8 }        /* (SIZE(8..8)) */,
938         0, 0    /* No PER value map */
939 };
940 static asn_oer_constraints_t asn_OER_memb_subbands9_constr_57 CC_NOTUSED = {
941         { 0, 0 },
942         9       /* (SIZE(9..9)) */};
943 static asn_per_constraints_t asn_PER_memb_subbands9_constr_57 CC_NOTUSED = {
944         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
945         { APC_CONSTRAINED,       0,  0,  9,  9 }        /* (SIZE(9..9)) */,
946         0, 0    /* No PER value map */
947 };
948 static asn_oer_constraints_t asn_OER_memb_subbands10_constr_58 CC_NOTUSED = {
949         { 0, 0 },
950         10      /* (SIZE(10..10)) */};
951 static asn_per_constraints_t asn_PER_memb_subbands10_constr_58 CC_NOTUSED = {
952         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
953         { APC_CONSTRAINED,       0,  0,  10,  10 }      /* (SIZE(10..10)) */,
954         0, 0    /* No PER value map */
955 };
956 static asn_oer_constraints_t asn_OER_memb_subbands11_constr_59 CC_NOTUSED = {
957         { 0, 0 },
958         11      /* (SIZE(11..11)) */};
959 static asn_per_constraints_t asn_PER_memb_subbands11_constr_59 CC_NOTUSED = {
960         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
961         { APC_CONSTRAINED,       0,  0,  11,  11 }      /* (SIZE(11..11)) */,
962         0, 0    /* No PER value map */
963 };
964 static asn_oer_constraints_t asn_OER_memb_subbands12_constr_60 CC_NOTUSED = {
965         { 0, 0 },
966         12      /* (SIZE(12..12)) */};
967 static asn_per_constraints_t asn_PER_memb_subbands12_constr_60 CC_NOTUSED = {
968         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
969         { APC_CONSTRAINED,       0,  0,  12,  12 }      /* (SIZE(12..12)) */,
970         0, 0    /* No PER value map */
971 };
972 static asn_oer_constraints_t asn_OER_memb_subbands13_constr_61 CC_NOTUSED = {
973         { 0, 0 },
974         13      /* (SIZE(13..13)) */};
975 static asn_per_constraints_t asn_PER_memb_subbands13_constr_61 CC_NOTUSED = {
976         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
977         { APC_CONSTRAINED,       0,  0,  13,  13 }      /* (SIZE(13..13)) */,
978         0, 0    /* No PER value map */
979 };
980 static asn_oer_constraints_t asn_OER_memb_subbands14_constr_62 CC_NOTUSED = {
981         { 0, 0 },
982         14      /* (SIZE(14..14)) */};
983 static asn_per_constraints_t asn_PER_memb_subbands14_constr_62 CC_NOTUSED = {
984         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
985         { APC_CONSTRAINED,       0,  0,  14,  14 }      /* (SIZE(14..14)) */,
986         0, 0    /* No PER value map */
987 };
988 static asn_oer_constraints_t asn_OER_memb_subbands15_constr_63 CC_NOTUSED = {
989         { 0, 0 },
990         15      /* (SIZE(15..15)) */};
991 static asn_per_constraints_t asn_PER_memb_subbands15_constr_63 CC_NOTUSED = {
992         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
993         { APC_CONSTRAINED,       0,  0,  15,  15 }      /* (SIZE(15..15)) */,
994         0, 0    /* No PER value map */
995 };
996 static asn_oer_constraints_t asn_OER_memb_subbands16_constr_64 CC_NOTUSED = {
997         { 0, 0 },
998         16      /* (SIZE(16..16)) */};
999 static asn_per_constraints_t asn_PER_memb_subbands16_constr_64 CC_NOTUSED = {
1000         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1001         { APC_CONSTRAINED,       0,  0,  16,  16 }      /* (SIZE(16..16)) */,
1002         0, 0    /* No PER value map */
1003 };
1004 static asn_oer_constraints_t asn_OER_memb_subbands17_constr_65 CC_NOTUSED = {
1005         { 0, 0 },
1006         17      /* (SIZE(17..17)) */};
1007 static asn_per_constraints_t asn_PER_memb_subbands17_constr_65 CC_NOTUSED = {
1008         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1009         { APC_CONSTRAINED,       0,  0,  17,  17 }      /* (SIZE(17..17)) */,
1010         0, 0    /* No PER value map */
1011 };
1012 static asn_oer_constraints_t asn_OER_memb_subbands18_constr_66 CC_NOTUSED = {
1013         { 0, 0 },
1014         18      /* (SIZE(18..18)) */};
1015 static asn_per_constraints_t asn_PER_memb_subbands18_constr_66 CC_NOTUSED = {
1016         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1017         { APC_CONSTRAINED,       0,  0,  18,  18 }      /* (SIZE(18..18)) */,
1018         0, 0    /* No PER value map */
1019 };
1020 static asn_oer_constraints_t asn_OER_memb_subbands19_v1530_constr_68 CC_NOTUSED = {
1021         { 0, 0 },
1022         19      /* (SIZE(19..19)) */};
1023 static asn_per_constraints_t asn_PER_memb_subbands19_v1530_constr_68 CC_NOTUSED = {
1024         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1025         { APC_CONSTRAINED,       0,  0,  19,  19 }      /* (SIZE(19..19)) */,
1026         0, 0    /* No PER value map */
1027 };
1028 static asn_oer_constraints_t asn_OER_type_csi_ReportingBand_constr_50 CC_NOTUSED = {
1029         { 0, 0 },
1030         -1};
1031 static asn_per_constraints_t asn_PER_type_csi_ReportingBand_constr_50 CC_NOTUSED = {
1032         { APC_CONSTRAINED | APC_EXTENSIBLE,  4,  4,  0,  15 }   /* (0..15,...) */,
1033         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1034         0, 0    /* No PER value map */
1035 };
1036 static asn_oer_constraints_t asn_OER_type_timeRestrictionForChannelMeasurements_constr_69 CC_NOTUSED = {
1037         { 0, 0 },
1038         -1};
1039 static asn_per_constraints_t asn_PER_type_timeRestrictionForChannelMeasurements_constr_69 CC_NOTUSED = {
1040         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
1041         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1042         0, 0    /* No PER value map */
1043 };
1044 static asn_oer_constraints_t asn_OER_type_timeRestrictionForInterferenceMeasurements_constr_72 CC_NOTUSED = {
1045         { 0, 0 },
1046         -1};
1047 static asn_per_constraints_t asn_PER_type_timeRestrictionForInterferenceMeasurements_constr_72 CC_NOTUSED = {
1048         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
1049         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1050         0, 0    /* No PER value map */
1051 };
1052 static asn_oer_constraints_t asn_OER_type_dummy_constr_76 CC_NOTUSED = {
1053         { 0, 0 },
1054         -1};
1055 static asn_per_constraints_t asn_PER_type_dummy_constr_76 CC_NOTUSED = {
1056         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
1057         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1058         0, 0    /* No PER value map */
1059 };
1060 static asn_oer_constraints_t asn_OER_type_nrofReportedRS_constr_82 CC_NOTUSED = {
1061         { 0, 0 },
1062         -1};
1063 static asn_per_constraints_t asn_PER_type_nrofReportedRS_constr_82 CC_NOTUSED = {
1064         { APC_CONSTRAINED,       2,  2,  0,  3 }        /* (0..3) */,
1065         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1066         0, 0    /* No PER value map */
1067 };
1068 static asn_oer_constraints_t asn_OER_type_groupBasedBeamReporting_constr_79 CC_NOTUSED = {
1069         { 0, 0 },
1070         -1};
1071 static asn_per_constraints_t asn_PER_type_groupBasedBeamReporting_constr_79 CC_NOTUSED = {
1072         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
1073         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1074         0, 0    /* No PER value map */
1075 };
1076 static asn_oer_constraints_t asn_OER_type_cqi_Table_constr_87 CC_NOTUSED = {
1077         { 0, 0 },
1078         -1};
1079 static asn_per_constraints_t asn_PER_type_cqi_Table_constr_87 CC_NOTUSED = {
1080         { APC_CONSTRAINED,       2,  2,  0,  3 }        /* (0..3) */,
1081         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1082         0, 0    /* No PER value map */
1083 };
1084 static asn_oer_constraints_t asn_OER_type_subbandSize_constr_92 CC_NOTUSED = {
1085         { 0, 0 },
1086         -1};
1087 static asn_per_constraints_t asn_PER_type_subbandSize_constr_92 CC_NOTUSED = {
1088         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
1089         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1090         0, 0    /* No PER value map */
1091 };
1092 static asn_oer_constraints_t asn_OER_type_non_PMI_PortIndication_constr_95 CC_NOTUSED = {
1093         { 0, 0 },
1094         -1      /* (SIZE(1..128)) */};
1095 static asn_per_constraints_t asn_PER_type_non_PMI_PortIndication_constr_95 CC_NOTUSED = {
1096         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1097         { APC_CONSTRAINED,       7,  7,  1,  128 }      /* (SIZE(1..128)) */,
1098         0, 0    /* No PER value map */
1099 };
1100 static asn_oer_constraints_t asn_OER_type_reportSlotConfig_v1530_constr_100 CC_NOTUSED = {
1101         { 0, 0 },
1102         -1};
1103 static asn_per_constraints_t asn_PER_type_reportSlotConfig_v1530_constr_100 CC_NOTUSED = {
1104         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
1105         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1106         0, 0    /* No PER value map */
1107 };
1108 static asn_oer_constraints_t asn_OER_memb_non_PMI_PortIndication_constr_95 CC_NOTUSED = {
1109         { 0, 0 },
1110         -1      /* (SIZE(1..128)) */};
1111 static asn_per_constraints_t asn_PER_memb_non_PMI_PortIndication_constr_95 CC_NOTUSED = {
1112         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
1113         { APC_CONSTRAINED,       7,  7,  1,  128 }      /* (SIZE(1..128)) */,
1114         0, 0    /* No PER value map */
1115 };
1116 static asn_TYPE_member_t asn_MBR_pucch_CSI_ResourceList_10[] = {
1117         { ATF_POINTER, 0, 0,
1118                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
1119                 0,
1120                 &asn_DEF_PUCCH_CSI_Resource,
1121                 0,
1122                 { 0, 0, 0 },
1123                 0, 0, /* No default value */
1124                 ""
1125                 },
1126 };
1127 static const ber_tlv_tag_t asn_DEF_pucch_CSI_ResourceList_tags_10[] = {
1128         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1129         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1130 };
1131 static asn_SET_OF_specifics_t asn_SPC_pucch_CSI_ResourceList_specs_10 = {
1132         sizeof(struct CSI_ReportConfig__reportConfigType__periodic__pucch_CSI_ResourceList),
1133         offsetof(struct CSI_ReportConfig__reportConfigType__periodic__pucch_CSI_ResourceList, _asn_ctx),
1134         0,      /* XER encoding is XMLDelimitedItemList */
1135 };
1136 static /* Use -fall-defs-global to expose */
1137 asn_TYPE_descriptor_t asn_DEF_pucch_CSI_ResourceList_10 = {
1138         "pucch-CSI-ResourceList",
1139         "pucch-CSI-ResourceList",
1140         &asn_OP_SEQUENCE_OF,
1141         asn_DEF_pucch_CSI_ResourceList_tags_10,
1142         sizeof(asn_DEF_pucch_CSI_ResourceList_tags_10)
1143                 /sizeof(asn_DEF_pucch_CSI_ResourceList_tags_10[0]) - 1, /* 1 */
1144         asn_DEF_pucch_CSI_ResourceList_tags_10, /* Same as above */
1145         sizeof(asn_DEF_pucch_CSI_ResourceList_tags_10)
1146                 /sizeof(asn_DEF_pucch_CSI_ResourceList_tags_10[0]), /* 2 */
1147         { &asn_OER_type_pucch_CSI_ResourceList_constr_10, &asn_PER_type_pucch_CSI_ResourceList_constr_10, SEQUENCE_OF_constraint },
1148         asn_MBR_pucch_CSI_ResourceList_10,
1149         1,      /* Single element */
1150         &asn_SPC_pucch_CSI_ResourceList_specs_10        /* Additional specs */
1151 };
1152
1153 static asn_TYPE_member_t asn_MBR_periodic_8[] = {
1154         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportConfigType__periodic, reportSlotConfig),
1155                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1156                 +1,     /* EXPLICIT tag at current level */
1157                 &asn_DEF_CSI_ReportPeriodicityAndOffset,
1158                 0,
1159                 { 0, 0, 0 },
1160                 0, 0, /* No default value */
1161                 "reportSlotConfig"
1162                 },
1163         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportConfigType__periodic, pucch_CSI_ResourceList),
1164                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1165                 0,
1166                 &asn_DEF_pucch_CSI_ResourceList_10,
1167                 0,
1168                 { &asn_OER_memb_pucch_CSI_ResourceList_constr_10, &asn_PER_memb_pucch_CSI_ResourceList_constr_10,  memb_pucch_CSI_ResourceList_constraint_8 },
1169                 0, 0, /* No default value */
1170                 "pucch-CSI-ResourceList"
1171                 },
1172 };
1173 static const ber_tlv_tag_t asn_DEF_periodic_tags_8[] = {
1174         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1175         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1176 };
1177 static const asn_TYPE_tag2member_t asn_MAP_periodic_tag2el_8[] = {
1178     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* reportSlotConfig */
1179     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* pucch-CSI-ResourceList */
1180 };
1181 static asn_SEQUENCE_specifics_t asn_SPC_periodic_specs_8 = {
1182         sizeof(struct CSI_ReportConfig__reportConfigType__periodic),
1183         offsetof(struct CSI_ReportConfig__reportConfigType__periodic, _asn_ctx),
1184         asn_MAP_periodic_tag2el_8,
1185         2,      /* Count of tags in the map */
1186         0, 0, 0,        /* Optional elements (not needed) */
1187         -1,     /* First extension addition */
1188 };
1189 static /* Use -fall-defs-global to expose */
1190 asn_TYPE_descriptor_t asn_DEF_periodic_8 = {
1191         "periodic",
1192         "periodic",
1193         &asn_OP_SEQUENCE,
1194         asn_DEF_periodic_tags_8,
1195         sizeof(asn_DEF_periodic_tags_8)
1196                 /sizeof(asn_DEF_periodic_tags_8[0]) - 1, /* 1 */
1197         asn_DEF_periodic_tags_8,        /* Same as above */
1198         sizeof(asn_DEF_periodic_tags_8)
1199                 /sizeof(asn_DEF_periodic_tags_8[0]), /* 2 */
1200         { 0, 0, SEQUENCE_constraint },
1201         asn_MBR_periodic_8,
1202         2,      /* Elements count */
1203         &asn_SPC_periodic_specs_8       /* Additional specs */
1204 };
1205
1206 static asn_TYPE_member_t asn_MBR_pucch_CSI_ResourceList_14[] = {
1207         { ATF_POINTER, 0, 0,
1208                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
1209                 0,
1210                 &asn_DEF_PUCCH_CSI_Resource,
1211                 0,
1212                 { 0, 0, 0 },
1213                 0, 0, /* No default value */
1214                 ""
1215                 },
1216 };
1217 static const ber_tlv_tag_t asn_DEF_pucch_CSI_ResourceList_tags_14[] = {
1218         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1219         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1220 };
1221 static asn_SET_OF_specifics_t asn_SPC_pucch_CSI_ResourceList_specs_14 = {
1222         sizeof(struct CSI_ReportConfig__reportConfigType__semiPersistentOnPUCCH__pucch_CSI_ResourceList),
1223         offsetof(struct CSI_ReportConfig__reportConfigType__semiPersistentOnPUCCH__pucch_CSI_ResourceList, _asn_ctx),
1224         0,      /* XER encoding is XMLDelimitedItemList */
1225 };
1226 static /* Use -fall-defs-global to expose */
1227 asn_TYPE_descriptor_t asn_DEF_pucch_CSI_ResourceList_14 = {
1228         "pucch-CSI-ResourceList",
1229         "pucch-CSI-ResourceList",
1230         &asn_OP_SEQUENCE_OF,
1231         asn_DEF_pucch_CSI_ResourceList_tags_14,
1232         sizeof(asn_DEF_pucch_CSI_ResourceList_tags_14)
1233                 /sizeof(asn_DEF_pucch_CSI_ResourceList_tags_14[0]) - 1, /* 1 */
1234         asn_DEF_pucch_CSI_ResourceList_tags_14, /* Same as above */
1235         sizeof(asn_DEF_pucch_CSI_ResourceList_tags_14)
1236                 /sizeof(asn_DEF_pucch_CSI_ResourceList_tags_14[0]), /* 2 */
1237         { &asn_OER_type_pucch_CSI_ResourceList_constr_14, &asn_PER_type_pucch_CSI_ResourceList_constr_14, SEQUENCE_OF_constraint },
1238         asn_MBR_pucch_CSI_ResourceList_14,
1239         1,      /* Single element */
1240         &asn_SPC_pucch_CSI_ResourceList_specs_14        /* Additional specs */
1241 };
1242
1243 static asn_TYPE_member_t asn_MBR_semiPersistentOnPUCCH_12[] = {
1244         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportConfigType__semiPersistentOnPUCCH, reportSlotConfig),
1245                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1246                 +1,     /* EXPLICIT tag at current level */
1247                 &asn_DEF_CSI_ReportPeriodicityAndOffset,
1248                 0,
1249                 { 0, 0, 0 },
1250                 0, 0, /* No default value */
1251                 "reportSlotConfig"
1252                 },
1253         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportConfigType__semiPersistentOnPUCCH, pucch_CSI_ResourceList),
1254                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1255                 0,
1256                 &asn_DEF_pucch_CSI_ResourceList_14,
1257                 0,
1258                 { &asn_OER_memb_pucch_CSI_ResourceList_constr_14, &asn_PER_memb_pucch_CSI_ResourceList_constr_14,  memb_pucch_CSI_ResourceList_constraint_12 },
1259                 0, 0, /* No default value */
1260                 "pucch-CSI-ResourceList"
1261                 },
1262 };
1263 static const ber_tlv_tag_t asn_DEF_semiPersistentOnPUCCH_tags_12[] = {
1264         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1265         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1266 };
1267 static const asn_TYPE_tag2member_t asn_MAP_semiPersistentOnPUCCH_tag2el_12[] = {
1268     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* reportSlotConfig */
1269     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* pucch-CSI-ResourceList */
1270 };
1271 static asn_SEQUENCE_specifics_t asn_SPC_semiPersistentOnPUCCH_specs_12 = {
1272         sizeof(struct CSI_ReportConfig__reportConfigType__semiPersistentOnPUCCH),
1273         offsetof(struct CSI_ReportConfig__reportConfigType__semiPersistentOnPUCCH, _asn_ctx),
1274         asn_MAP_semiPersistentOnPUCCH_tag2el_12,
1275         2,      /* Count of tags in the map */
1276         0, 0, 0,        /* Optional elements (not needed) */
1277         -1,     /* First extension addition */
1278 };
1279 static /* Use -fall-defs-global to expose */
1280 asn_TYPE_descriptor_t asn_DEF_semiPersistentOnPUCCH_12 = {
1281         "semiPersistentOnPUCCH",
1282         "semiPersistentOnPUCCH",
1283         &asn_OP_SEQUENCE,
1284         asn_DEF_semiPersistentOnPUCCH_tags_12,
1285         sizeof(asn_DEF_semiPersistentOnPUCCH_tags_12)
1286                 /sizeof(asn_DEF_semiPersistentOnPUCCH_tags_12[0]) - 1, /* 1 */
1287         asn_DEF_semiPersistentOnPUCCH_tags_12,  /* Same as above */
1288         sizeof(asn_DEF_semiPersistentOnPUCCH_tags_12)
1289                 /sizeof(asn_DEF_semiPersistentOnPUCCH_tags_12[0]), /* 2 */
1290         { 0, 0, SEQUENCE_constraint },
1291         asn_MBR_semiPersistentOnPUCCH_12,
1292         2,      /* Elements count */
1293         &asn_SPC_semiPersistentOnPUCCH_specs_12 /* Additional specs */
1294 };
1295
1296 static const asn_INTEGER_enum_map_t asn_MAP_reportSlotConfig_value2enum_17[] = {
1297         { 0,    3,      "sl5" },
1298         { 1,    4,      "sl10" },
1299         { 2,    4,      "sl20" },
1300         { 3,    4,      "sl40" },
1301         { 4,    4,      "sl80" },
1302         { 5,    5,      "sl160" },
1303         { 6,    5,      "sl320" }
1304 };
1305 static const unsigned int asn_MAP_reportSlotConfig_enum2value_17[] = {
1306         1,      /* sl10(1) */
1307         5,      /* sl160(5) */
1308         2,      /* sl20(2) */
1309         6,      /* sl320(6) */
1310         3,      /* sl40(3) */
1311         0,      /* sl5(0) */
1312         4       /* sl80(4) */
1313 };
1314 static const asn_INTEGER_specifics_t asn_SPC_reportSlotConfig_specs_17 = {
1315         asn_MAP_reportSlotConfig_value2enum_17, /* "tag" => N; sorted by tag */
1316         asn_MAP_reportSlotConfig_enum2value_17, /* N => "tag"; sorted by N */
1317         7,      /* Number of elements in the maps */
1318         0,      /* Enumeration is not extensible */
1319         1,      /* Strict enumeration */
1320         0,      /* Native long size */
1321         0
1322 };
1323 static const ber_tlv_tag_t asn_DEF_reportSlotConfig_tags_17[] = {
1324         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1325         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1326 };
1327 static /* Use -fall-defs-global to expose */
1328 asn_TYPE_descriptor_t asn_DEF_reportSlotConfig_17 = {
1329         "reportSlotConfig",
1330         "reportSlotConfig",
1331         &asn_OP_NativeEnumerated,
1332         asn_DEF_reportSlotConfig_tags_17,
1333         sizeof(asn_DEF_reportSlotConfig_tags_17)
1334                 /sizeof(asn_DEF_reportSlotConfig_tags_17[0]) - 1, /* 1 */
1335         asn_DEF_reportSlotConfig_tags_17,       /* Same as above */
1336         sizeof(asn_DEF_reportSlotConfig_tags_17)
1337                 /sizeof(asn_DEF_reportSlotConfig_tags_17[0]), /* 2 */
1338         { &asn_OER_type_reportSlotConfig_constr_17, &asn_PER_type_reportSlotConfig_constr_17, NativeEnumerated_constraint },
1339         0, 0,   /* Defined elsewhere */
1340         &asn_SPC_reportSlotConfig_specs_17      /* Additional specs */
1341 };
1342
1343 static asn_TYPE_member_t asn_MBR_reportSlotOffsetList_25[] = {
1344         { ATF_POINTER, 0, 0,
1345                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
1346                 0,
1347                 &asn_DEF_NativeInteger,
1348                 0,
1349                 { &asn_OER_memb_Member_constr_26, &asn_PER_memb_Member_constr_26,  memb_NativeInteger_constraint_25 },
1350                 0, 0, /* No default value */
1351                 ""
1352                 },
1353 };
1354 static const ber_tlv_tag_t asn_DEF_reportSlotOffsetList_tags_25[] = {
1355         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1356         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1357 };
1358 static asn_SET_OF_specifics_t asn_SPC_reportSlotOffsetList_specs_25 = {
1359         sizeof(struct CSI_ReportConfig__reportConfigType__semiPersistentOnPUSCH__reportSlotOffsetList),
1360         offsetof(struct CSI_ReportConfig__reportConfigType__semiPersistentOnPUSCH__reportSlotOffsetList, _asn_ctx),
1361         0,      /* XER encoding is XMLDelimitedItemList */
1362 };
1363 static /* Use -fall-defs-global to expose */
1364 asn_TYPE_descriptor_t asn_DEF_reportSlotOffsetList_25 = {
1365         "reportSlotOffsetList",
1366         "reportSlotOffsetList",
1367         &asn_OP_SEQUENCE_OF,
1368         asn_DEF_reportSlotOffsetList_tags_25,
1369         sizeof(asn_DEF_reportSlotOffsetList_tags_25)
1370                 /sizeof(asn_DEF_reportSlotOffsetList_tags_25[0]) - 1, /* 1 */
1371         asn_DEF_reportSlotOffsetList_tags_25,   /* Same as above */
1372         sizeof(asn_DEF_reportSlotOffsetList_tags_25)
1373                 /sizeof(asn_DEF_reportSlotOffsetList_tags_25[0]), /* 2 */
1374         { &asn_OER_type_reportSlotOffsetList_constr_25, &asn_PER_type_reportSlotOffsetList_constr_25, SEQUENCE_OF_constraint },
1375         asn_MBR_reportSlotOffsetList_25,
1376         1,      /* Single element */
1377         &asn_SPC_reportSlotOffsetList_specs_25  /* Additional specs */
1378 };
1379
1380 static asn_TYPE_member_t asn_MBR_semiPersistentOnPUSCH_16[] = {
1381         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportConfigType__semiPersistentOnPUSCH, reportSlotConfig),
1382                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1383                 -1,     /* IMPLICIT tag at current level */
1384                 &asn_DEF_reportSlotConfig_17,
1385                 0,
1386                 { 0, 0, 0 },
1387                 0, 0, /* No default value */
1388                 "reportSlotConfig"
1389                 },
1390         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportConfigType__semiPersistentOnPUSCH, reportSlotOffsetList),
1391                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1392                 0,
1393                 &asn_DEF_reportSlotOffsetList_25,
1394                 0,
1395                 { &asn_OER_memb_reportSlotOffsetList_constr_25, &asn_PER_memb_reportSlotOffsetList_constr_25,  memb_reportSlotOffsetList_constraint_16 },
1396                 0, 0, /* No default value */
1397                 "reportSlotOffsetList"
1398                 },
1399         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportConfigType__semiPersistentOnPUSCH, p0alpha),
1400                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1401                 -1,     /* IMPLICIT tag at current level */
1402                 &asn_DEF_P0_PUSCH_AlphaSetId,
1403                 0,
1404                 { 0, 0, 0 },
1405                 0, 0, /* No default value */
1406                 "p0alpha"
1407                 },
1408 };
1409 static const ber_tlv_tag_t asn_DEF_semiPersistentOnPUSCH_tags_16[] = {
1410         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1411         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1412 };
1413 static const asn_TYPE_tag2member_t asn_MAP_semiPersistentOnPUSCH_tag2el_16[] = {
1414     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* reportSlotConfig */
1415     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reportSlotOffsetList */
1416     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* p0alpha */
1417 };
1418 static asn_SEQUENCE_specifics_t asn_SPC_semiPersistentOnPUSCH_specs_16 = {
1419         sizeof(struct CSI_ReportConfig__reportConfigType__semiPersistentOnPUSCH),
1420         offsetof(struct CSI_ReportConfig__reportConfigType__semiPersistentOnPUSCH, _asn_ctx),
1421         asn_MAP_semiPersistentOnPUSCH_tag2el_16,
1422         3,      /* Count of tags in the map */
1423         0, 0, 0,        /* Optional elements (not needed) */
1424         -1,     /* First extension addition */
1425 };
1426 static /* Use -fall-defs-global to expose */
1427 asn_TYPE_descriptor_t asn_DEF_semiPersistentOnPUSCH_16 = {
1428         "semiPersistentOnPUSCH",
1429         "semiPersistentOnPUSCH",
1430         &asn_OP_SEQUENCE,
1431         asn_DEF_semiPersistentOnPUSCH_tags_16,
1432         sizeof(asn_DEF_semiPersistentOnPUSCH_tags_16)
1433                 /sizeof(asn_DEF_semiPersistentOnPUSCH_tags_16[0]) - 1, /* 1 */
1434         asn_DEF_semiPersistentOnPUSCH_tags_16,  /* Same as above */
1435         sizeof(asn_DEF_semiPersistentOnPUSCH_tags_16)
1436                 /sizeof(asn_DEF_semiPersistentOnPUSCH_tags_16[0]), /* 2 */
1437         { 0, 0, SEQUENCE_constraint },
1438         asn_MBR_semiPersistentOnPUSCH_16,
1439         3,      /* Elements count */
1440         &asn_SPC_semiPersistentOnPUSCH_specs_16 /* Additional specs */
1441 };
1442
1443 static asn_TYPE_member_t asn_MBR_reportSlotOffsetList_29[] = {
1444         { ATF_POINTER, 0, 0,
1445                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
1446                 0,
1447                 &asn_DEF_NativeInteger,
1448                 0,
1449                 { &asn_OER_memb_Member_constr_30, &asn_PER_memb_Member_constr_30,  memb_NativeInteger_constraint_29 },
1450                 0, 0, /* No default value */
1451                 ""
1452                 },
1453 };
1454 static const ber_tlv_tag_t asn_DEF_reportSlotOffsetList_tags_29[] = {
1455         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1456         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1457 };
1458 static asn_SET_OF_specifics_t asn_SPC_reportSlotOffsetList_specs_29 = {
1459         sizeof(struct CSI_ReportConfig__reportConfigType__aperiodic__reportSlotOffsetList),
1460         offsetof(struct CSI_ReportConfig__reportConfigType__aperiodic__reportSlotOffsetList, _asn_ctx),
1461         0,      /* XER encoding is XMLDelimitedItemList */
1462 };
1463 static /* Use -fall-defs-global to expose */
1464 asn_TYPE_descriptor_t asn_DEF_reportSlotOffsetList_29 = {
1465         "reportSlotOffsetList",
1466         "reportSlotOffsetList",
1467         &asn_OP_SEQUENCE_OF,
1468         asn_DEF_reportSlotOffsetList_tags_29,
1469         sizeof(asn_DEF_reportSlotOffsetList_tags_29)
1470                 /sizeof(asn_DEF_reportSlotOffsetList_tags_29[0]) - 1, /* 1 */
1471         asn_DEF_reportSlotOffsetList_tags_29,   /* Same as above */
1472         sizeof(asn_DEF_reportSlotOffsetList_tags_29)
1473                 /sizeof(asn_DEF_reportSlotOffsetList_tags_29[0]), /* 2 */
1474         { &asn_OER_type_reportSlotOffsetList_constr_29, &asn_PER_type_reportSlotOffsetList_constr_29, SEQUENCE_OF_constraint },
1475         asn_MBR_reportSlotOffsetList_29,
1476         1,      /* Single element */
1477         &asn_SPC_reportSlotOffsetList_specs_29  /* Additional specs */
1478 };
1479
1480 static asn_TYPE_member_t asn_MBR_aperiodic_28[] = {
1481         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportConfigType__aperiodic, reportSlotOffsetList),
1482                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1483                 0,
1484                 &asn_DEF_reportSlotOffsetList_29,
1485                 0,
1486                 { &asn_OER_memb_reportSlotOffsetList_constr_29, &asn_PER_memb_reportSlotOffsetList_constr_29,  memb_reportSlotOffsetList_constraint_28 },
1487                 0, 0, /* No default value */
1488                 "reportSlotOffsetList"
1489                 },
1490 };
1491 static const ber_tlv_tag_t asn_DEF_aperiodic_tags_28[] = {
1492         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1493         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1494 };
1495 static const asn_TYPE_tag2member_t asn_MAP_aperiodic_tag2el_28[] = {
1496     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* reportSlotOffsetList */
1497 };
1498 static asn_SEQUENCE_specifics_t asn_SPC_aperiodic_specs_28 = {
1499         sizeof(struct CSI_ReportConfig__reportConfigType__aperiodic),
1500         offsetof(struct CSI_ReportConfig__reportConfigType__aperiodic, _asn_ctx),
1501         asn_MAP_aperiodic_tag2el_28,
1502         1,      /* Count of tags in the map */
1503         0, 0, 0,        /* Optional elements (not needed) */
1504         -1,     /* First extension addition */
1505 };
1506 static /* Use -fall-defs-global to expose */
1507 asn_TYPE_descriptor_t asn_DEF_aperiodic_28 = {
1508         "aperiodic",
1509         "aperiodic",
1510         &asn_OP_SEQUENCE,
1511         asn_DEF_aperiodic_tags_28,
1512         sizeof(asn_DEF_aperiodic_tags_28)
1513                 /sizeof(asn_DEF_aperiodic_tags_28[0]) - 1, /* 1 */
1514         asn_DEF_aperiodic_tags_28,      /* Same as above */
1515         sizeof(asn_DEF_aperiodic_tags_28)
1516                 /sizeof(asn_DEF_aperiodic_tags_28[0]), /* 2 */
1517         { 0, 0, SEQUENCE_constraint },
1518         asn_MBR_aperiodic_28,
1519         1,      /* Elements count */
1520         &asn_SPC_aperiodic_specs_28     /* Additional specs */
1521 };
1522
1523 static asn_TYPE_member_t asn_MBR_reportConfigType_7[] = {
1524         { ATF_POINTER, 0, offsetof(struct CSI_ReportConfig__reportConfigType, choice.periodic),
1525                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1526                 0,
1527                 &asn_DEF_periodic_8,
1528                 0,
1529                 { 0, 0, 0 },
1530                 0, 0, /* No default value */
1531                 "periodic"
1532                 },
1533         { ATF_POINTER, 0, offsetof(struct CSI_ReportConfig__reportConfigType, choice.semiPersistentOnPUCCH),
1534                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1535                 0,
1536                 &asn_DEF_semiPersistentOnPUCCH_12,
1537                 0,
1538                 { 0, 0, 0 },
1539                 0, 0, /* No default value */
1540                 "semiPersistentOnPUCCH"
1541                 },
1542         { ATF_POINTER, 0, offsetof(struct CSI_ReportConfig__reportConfigType, choice.semiPersistentOnPUSCH),
1543                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1544                 0,
1545                 &asn_DEF_semiPersistentOnPUSCH_16,
1546                 0,
1547                 { 0, 0, 0 },
1548                 0, 0, /* No default value */
1549                 "semiPersistentOnPUSCH"
1550                 },
1551         { ATF_POINTER, 0, offsetof(struct CSI_ReportConfig__reportConfigType, choice.aperiodic),
1552                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1553                 0,
1554                 &asn_DEF_aperiodic_28,
1555                 0,
1556                 { 0, 0, 0 },
1557                 0, 0, /* No default value */
1558                 "aperiodic"
1559                 },
1560 };
1561 static const asn_TYPE_tag2member_t asn_MAP_reportConfigType_tag2el_7[] = {
1562     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* periodic */
1563     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* semiPersistentOnPUCCH */
1564     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* semiPersistentOnPUSCH */
1565     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* aperiodic */
1566 };
1567 static asn_CHOICE_specifics_t asn_SPC_reportConfigType_specs_7 = {
1568         sizeof(struct CSI_ReportConfig__reportConfigType),
1569         offsetof(struct CSI_ReportConfig__reportConfigType, _asn_ctx),
1570         offsetof(struct CSI_ReportConfig__reportConfigType, present),
1571         sizeof(((struct CSI_ReportConfig__reportConfigType *)0)->present),
1572         asn_MAP_reportConfigType_tag2el_7,
1573         4,      /* Count of tags in the map */
1574         0, 0,
1575         -1      /* Extensions start */
1576 };
1577 static /* Use -fall-defs-global to expose */
1578 asn_TYPE_descriptor_t asn_DEF_reportConfigType_7 = {
1579         "reportConfigType",
1580         "reportConfigType",
1581         &asn_OP_CHOICE,
1582         0,      /* No effective tags (pointer) */
1583         0,      /* No effective tags (count) */
1584         0,      /* No tags (pointer) */
1585         0,      /* No tags (count) */
1586         { &asn_OER_type_reportConfigType_constr_7, &asn_PER_type_reportConfigType_constr_7, CHOICE_constraint },
1587         asn_MBR_reportConfigType_7,
1588         4,      /* Elements count */
1589         &asn_SPC_reportConfigType_specs_7       /* Additional specs */
1590 };
1591
1592 static const asn_INTEGER_enum_map_t asn_MAP_pdsch_BundleSizeForCSI_value2enum_36[] = {
1593         { 0,    2,      "n2" },
1594         { 1,    2,      "n4" }
1595 };
1596 static const unsigned int asn_MAP_pdsch_BundleSizeForCSI_enum2value_36[] = {
1597         0,      /* n2(0) */
1598         1       /* n4(1) */
1599 };
1600 static const asn_INTEGER_specifics_t asn_SPC_pdsch_BundleSizeForCSI_specs_36 = {
1601         asn_MAP_pdsch_BundleSizeForCSI_value2enum_36,   /* "tag" => N; sorted by tag */
1602         asn_MAP_pdsch_BundleSizeForCSI_enum2value_36,   /* N => "tag"; sorted by N */
1603         2,      /* Number of elements in the maps */
1604         0,      /* Enumeration is not extensible */
1605         1,      /* Strict enumeration */
1606         0,      /* Native long size */
1607         0
1608 };
1609 static const ber_tlv_tag_t asn_DEF_pdsch_BundleSizeForCSI_tags_36[] = {
1610         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1611         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1612 };
1613 static /* Use -fall-defs-global to expose */
1614 asn_TYPE_descriptor_t asn_DEF_pdsch_BundleSizeForCSI_36 = {
1615         "pdsch-BundleSizeForCSI",
1616         "pdsch-BundleSizeForCSI",
1617         &asn_OP_NativeEnumerated,
1618         asn_DEF_pdsch_BundleSizeForCSI_tags_36,
1619         sizeof(asn_DEF_pdsch_BundleSizeForCSI_tags_36)
1620                 /sizeof(asn_DEF_pdsch_BundleSizeForCSI_tags_36[0]) - 1, /* 1 */
1621         asn_DEF_pdsch_BundleSizeForCSI_tags_36, /* Same as above */
1622         sizeof(asn_DEF_pdsch_BundleSizeForCSI_tags_36)
1623                 /sizeof(asn_DEF_pdsch_BundleSizeForCSI_tags_36[0]), /* 2 */
1624         { &asn_OER_type_pdsch_BundleSizeForCSI_constr_36, &asn_PER_type_pdsch_BundleSizeForCSI_constr_36, NativeEnumerated_constraint },
1625         0, 0,   /* Defined elsewhere */
1626         &asn_SPC_pdsch_BundleSizeForCSI_specs_36        /* Additional specs */
1627 };
1628
1629 static asn_TYPE_member_t asn_MBR_cri_RI_i1_CQI_35[] = {
1630         { ATF_POINTER, 1, offsetof(struct CSI_ReportConfig__reportQuantity__cri_RI_i1_CQI, pdsch_BundleSizeForCSI),
1631                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1632                 -1,     /* IMPLICIT tag at current level */
1633                 &asn_DEF_pdsch_BundleSizeForCSI_36,
1634                 0,
1635                 { 0, 0, 0 },
1636                 0, 0, /* No default value */
1637                 "pdsch-BundleSizeForCSI"
1638                 },
1639 };
1640 static const int asn_MAP_cri_RI_i1_CQI_oms_35[] = { 0 };
1641 static const ber_tlv_tag_t asn_DEF_cri_RI_i1_CQI_tags_35[] = {
1642         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1643         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1644 };
1645 static const asn_TYPE_tag2member_t asn_MAP_cri_RI_i1_CQI_tag2el_35[] = {
1646     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* pdsch-BundleSizeForCSI */
1647 };
1648 static asn_SEQUENCE_specifics_t asn_SPC_cri_RI_i1_CQI_specs_35 = {
1649         sizeof(struct CSI_ReportConfig__reportQuantity__cri_RI_i1_CQI),
1650         offsetof(struct CSI_ReportConfig__reportQuantity__cri_RI_i1_CQI, _asn_ctx),
1651         asn_MAP_cri_RI_i1_CQI_tag2el_35,
1652         1,      /* Count of tags in the map */
1653         asn_MAP_cri_RI_i1_CQI_oms_35,   /* Optional members */
1654         1, 0,   /* Root/Additions */
1655         -1,     /* First extension addition */
1656 };
1657 static /* Use -fall-defs-global to expose */
1658 asn_TYPE_descriptor_t asn_DEF_cri_RI_i1_CQI_35 = {
1659         "cri-RI-i1-CQI",
1660         "cri-RI-i1-CQI",
1661         &asn_OP_SEQUENCE,
1662         asn_DEF_cri_RI_i1_CQI_tags_35,
1663         sizeof(asn_DEF_cri_RI_i1_CQI_tags_35)
1664                 /sizeof(asn_DEF_cri_RI_i1_CQI_tags_35[0]) - 1, /* 1 */
1665         asn_DEF_cri_RI_i1_CQI_tags_35,  /* Same as above */
1666         sizeof(asn_DEF_cri_RI_i1_CQI_tags_35)
1667                 /sizeof(asn_DEF_cri_RI_i1_CQI_tags_35[0]), /* 2 */
1668         { 0, 0, SEQUENCE_constraint },
1669         asn_MBR_cri_RI_i1_CQI_35,
1670         1,      /* Elements count */
1671         &asn_SPC_cri_RI_i1_CQI_specs_35 /* Additional specs */
1672 };
1673
1674 static asn_TYPE_member_t asn_MBR_reportQuantity_31[] = {
1675         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportQuantity, choice.none),
1676                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1677                 -1,     /* IMPLICIT tag at current level */
1678                 &asn_DEF_NULL,
1679                 0,
1680                 { 0, 0, 0 },
1681                 0, 0, /* No default value */
1682                 "none"
1683                 },
1684         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportQuantity, choice.cri_RI_PMI_CQI),
1685                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1686                 -1,     /* IMPLICIT tag at current level */
1687                 &asn_DEF_NULL,
1688                 0,
1689                 { 0, 0, 0 },
1690                 0, 0, /* No default value */
1691                 "cri-RI-PMI-CQI"
1692                 },
1693         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportQuantity, choice.cri_RI_i1),
1694                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1695                 -1,     /* IMPLICIT tag at current level */
1696                 &asn_DEF_NULL,
1697                 0,
1698                 { 0, 0, 0 },
1699                 0, 0, /* No default value */
1700                 "cri-RI-i1"
1701                 },
1702         { ATF_POINTER, 0, offsetof(struct CSI_ReportConfig__reportQuantity, choice.cri_RI_i1_CQI),
1703                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1704                 0,
1705                 &asn_DEF_cri_RI_i1_CQI_35,
1706                 0,
1707                 { 0, 0, 0 },
1708                 0, 0, /* No default value */
1709                 "cri-RI-i1-CQI"
1710                 },
1711         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportQuantity, choice.cri_RI_CQI),
1712                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
1713                 -1,     /* IMPLICIT tag at current level */
1714                 &asn_DEF_NULL,
1715                 0,
1716                 { 0, 0, 0 },
1717                 0, 0, /* No default value */
1718                 "cri-RI-CQI"
1719                 },
1720         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportQuantity, choice.cri_RSRP),
1721                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
1722                 -1,     /* IMPLICIT tag at current level */
1723                 &asn_DEF_NULL,
1724                 0,
1725                 { 0, 0, 0 },
1726                 0, 0, /* No default value */
1727                 "cri-RSRP"
1728                 },
1729         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportQuantity, choice.ssb_Index_RSRP),
1730                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
1731                 -1,     /* IMPLICIT tag at current level */
1732                 &asn_DEF_NULL,
1733                 0,
1734                 { 0, 0, 0 },
1735                 0, 0, /* No default value */
1736                 "ssb-Index-RSRP"
1737                 },
1738         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportQuantity, choice.cri_RI_LI_PMI_CQI),
1739                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
1740                 -1,     /* IMPLICIT tag at current level */
1741                 &asn_DEF_NULL,
1742                 0,
1743                 { 0, 0, 0 },
1744                 0, 0, /* No default value */
1745                 "cri-RI-LI-PMI-CQI"
1746                 },
1747 };
1748 static const asn_TYPE_tag2member_t asn_MAP_reportQuantity_tag2el_31[] = {
1749     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* none */
1750     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cri-RI-PMI-CQI */
1751     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* cri-RI-i1 */
1752     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* cri-RI-i1-CQI */
1753     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* cri-RI-CQI */
1754     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* cri-RSRP */
1755     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* ssb-Index-RSRP */
1756     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* cri-RI-LI-PMI-CQI */
1757 };
1758 static asn_CHOICE_specifics_t asn_SPC_reportQuantity_specs_31 = {
1759         sizeof(struct CSI_ReportConfig__reportQuantity),
1760         offsetof(struct CSI_ReportConfig__reportQuantity, _asn_ctx),
1761         offsetof(struct CSI_ReportConfig__reportQuantity, present),
1762         sizeof(((struct CSI_ReportConfig__reportQuantity *)0)->present),
1763         asn_MAP_reportQuantity_tag2el_31,
1764         8,      /* Count of tags in the map */
1765         0, 0,
1766         -1      /* Extensions start */
1767 };
1768 static /* Use -fall-defs-global to expose */
1769 asn_TYPE_descriptor_t asn_DEF_reportQuantity_31 = {
1770         "reportQuantity",
1771         "reportQuantity",
1772         &asn_OP_CHOICE,
1773         0,      /* No effective tags (pointer) */
1774         0,      /* No effective tags (count) */
1775         0,      /* No tags (pointer) */
1776         0,      /* No tags (count) */
1777         { &asn_OER_type_reportQuantity_constr_31, &asn_PER_type_reportQuantity_constr_31, CHOICE_constraint },
1778         asn_MBR_reportQuantity_31,
1779         8,      /* Elements count */
1780         &asn_SPC_reportQuantity_specs_31        /* Additional specs */
1781 };
1782
1783 static const asn_INTEGER_enum_map_t asn_MAP_cqi_FormatIndicator_value2enum_44[] = {
1784         { 0,    11,     "widebandCQI" },
1785         { 1,    10,     "subbandCQI" }
1786 };
1787 static const unsigned int asn_MAP_cqi_FormatIndicator_enum2value_44[] = {
1788         1,      /* subbandCQI(1) */
1789         0       /* widebandCQI(0) */
1790 };
1791 static const asn_INTEGER_specifics_t asn_SPC_cqi_FormatIndicator_specs_44 = {
1792         asn_MAP_cqi_FormatIndicator_value2enum_44,      /* "tag" => N; sorted by tag */
1793         asn_MAP_cqi_FormatIndicator_enum2value_44,      /* N => "tag"; sorted by N */
1794         2,      /* Number of elements in the maps */
1795         0,      /* Enumeration is not extensible */
1796         1,      /* Strict enumeration */
1797         0,      /* Native long size */
1798         0
1799 };
1800 static const ber_tlv_tag_t asn_DEF_cqi_FormatIndicator_tags_44[] = {
1801         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1802         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1803 };
1804 static /* Use -fall-defs-global to expose */
1805 asn_TYPE_descriptor_t asn_DEF_cqi_FormatIndicator_44 = {
1806         "cqi-FormatIndicator",
1807         "cqi-FormatIndicator",
1808         &asn_OP_NativeEnumerated,
1809         asn_DEF_cqi_FormatIndicator_tags_44,
1810         sizeof(asn_DEF_cqi_FormatIndicator_tags_44)
1811                 /sizeof(asn_DEF_cqi_FormatIndicator_tags_44[0]) - 1, /* 1 */
1812         asn_DEF_cqi_FormatIndicator_tags_44,    /* Same as above */
1813         sizeof(asn_DEF_cqi_FormatIndicator_tags_44)
1814                 /sizeof(asn_DEF_cqi_FormatIndicator_tags_44[0]), /* 2 */
1815         { &asn_OER_type_cqi_FormatIndicator_constr_44, &asn_PER_type_cqi_FormatIndicator_constr_44, NativeEnumerated_constraint },
1816         0, 0,   /* Defined elsewhere */
1817         &asn_SPC_cqi_FormatIndicator_specs_44   /* Additional specs */
1818 };
1819
1820 static const asn_INTEGER_enum_map_t asn_MAP_pmi_FormatIndicator_value2enum_47[] = {
1821         { 0,    11,     "widebandPMI" },
1822         { 1,    10,     "subbandPMI" }
1823 };
1824 static const unsigned int asn_MAP_pmi_FormatIndicator_enum2value_47[] = {
1825         1,      /* subbandPMI(1) */
1826         0       /* widebandPMI(0) */
1827 };
1828 static const asn_INTEGER_specifics_t asn_SPC_pmi_FormatIndicator_specs_47 = {
1829         asn_MAP_pmi_FormatIndicator_value2enum_47,      /* "tag" => N; sorted by tag */
1830         asn_MAP_pmi_FormatIndicator_enum2value_47,      /* N => "tag"; sorted by N */
1831         2,      /* Number of elements in the maps */
1832         0,      /* Enumeration is not extensible */
1833         1,      /* Strict enumeration */
1834         0,      /* Native long size */
1835         0
1836 };
1837 static const ber_tlv_tag_t asn_DEF_pmi_FormatIndicator_tags_47[] = {
1838         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1839         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1840 };
1841 static /* Use -fall-defs-global to expose */
1842 asn_TYPE_descriptor_t asn_DEF_pmi_FormatIndicator_47 = {
1843         "pmi-FormatIndicator",
1844         "pmi-FormatIndicator",
1845         &asn_OP_NativeEnumerated,
1846         asn_DEF_pmi_FormatIndicator_tags_47,
1847         sizeof(asn_DEF_pmi_FormatIndicator_tags_47)
1848                 /sizeof(asn_DEF_pmi_FormatIndicator_tags_47[0]) - 1, /* 1 */
1849         asn_DEF_pmi_FormatIndicator_tags_47,    /* Same as above */
1850         sizeof(asn_DEF_pmi_FormatIndicator_tags_47)
1851                 /sizeof(asn_DEF_pmi_FormatIndicator_tags_47[0]), /* 2 */
1852         { &asn_OER_type_pmi_FormatIndicator_constr_47, &asn_PER_type_pmi_FormatIndicator_constr_47, NativeEnumerated_constraint },
1853         0, 0,   /* Defined elsewhere */
1854         &asn_SPC_pmi_FormatIndicator_specs_47   /* Additional specs */
1855 };
1856
1857 static asn_TYPE_member_t asn_MBR_csi_ReportingBand_50[] = {
1858         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands3),
1859                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1860                 -1,     /* IMPLICIT tag at current level */
1861                 &asn_DEF_BIT_STRING,
1862                 0,
1863                 { &asn_OER_memb_subbands3_constr_51, &asn_PER_memb_subbands3_constr_51,  memb_subbands3_constraint_50 },
1864                 0, 0, /* No default value */
1865                 "subbands3"
1866                 },
1867         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands4),
1868                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1869                 -1,     /* IMPLICIT tag at current level */
1870                 &asn_DEF_BIT_STRING,
1871                 0,
1872                 { &asn_OER_memb_subbands4_constr_52, &asn_PER_memb_subbands4_constr_52,  memb_subbands4_constraint_50 },
1873                 0, 0, /* No default value */
1874                 "subbands4"
1875                 },
1876         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands5),
1877                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1878                 -1,     /* IMPLICIT tag at current level */
1879                 &asn_DEF_BIT_STRING,
1880                 0,
1881                 { &asn_OER_memb_subbands5_constr_53, &asn_PER_memb_subbands5_constr_53,  memb_subbands5_constraint_50 },
1882                 0, 0, /* No default value */
1883                 "subbands5"
1884                 },
1885         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands6),
1886                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1887                 -1,     /* IMPLICIT tag at current level */
1888                 &asn_DEF_BIT_STRING,
1889                 0,
1890                 { &asn_OER_memb_subbands6_constr_54, &asn_PER_memb_subbands6_constr_54,  memb_subbands6_constraint_50 },
1891                 0, 0, /* No default value */
1892                 "subbands6"
1893                 },
1894         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands7),
1895                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
1896                 -1,     /* IMPLICIT tag at current level */
1897                 &asn_DEF_BIT_STRING,
1898                 0,
1899                 { &asn_OER_memb_subbands7_constr_55, &asn_PER_memb_subbands7_constr_55,  memb_subbands7_constraint_50 },
1900                 0, 0, /* No default value */
1901                 "subbands7"
1902                 },
1903         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands8),
1904                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
1905                 -1,     /* IMPLICIT tag at current level */
1906                 &asn_DEF_BIT_STRING,
1907                 0,
1908                 { &asn_OER_memb_subbands8_constr_56, &asn_PER_memb_subbands8_constr_56,  memb_subbands8_constraint_50 },
1909                 0, 0, /* No default value */
1910                 "subbands8"
1911                 },
1912         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands9),
1913                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
1914                 -1,     /* IMPLICIT tag at current level */
1915                 &asn_DEF_BIT_STRING,
1916                 0,
1917                 { &asn_OER_memb_subbands9_constr_57, &asn_PER_memb_subbands9_constr_57,  memb_subbands9_constraint_50 },
1918                 0, 0, /* No default value */
1919                 "subbands9"
1920                 },
1921         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands10),
1922                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
1923                 -1,     /* IMPLICIT tag at current level */
1924                 &asn_DEF_BIT_STRING,
1925                 0,
1926                 { &asn_OER_memb_subbands10_constr_58, &asn_PER_memb_subbands10_constr_58,  memb_subbands10_constraint_50 },
1927                 0, 0, /* No default value */
1928                 "subbands10"
1929                 },
1930         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands11),
1931                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
1932                 -1,     /* IMPLICIT tag at current level */
1933                 &asn_DEF_BIT_STRING,
1934                 0,
1935                 { &asn_OER_memb_subbands11_constr_59, &asn_PER_memb_subbands11_constr_59,  memb_subbands11_constraint_50 },
1936                 0, 0, /* No default value */
1937                 "subbands11"
1938                 },
1939         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands12),
1940                 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
1941                 -1,     /* IMPLICIT tag at current level */
1942                 &asn_DEF_BIT_STRING,
1943                 0,
1944                 { &asn_OER_memb_subbands12_constr_60, &asn_PER_memb_subbands12_constr_60,  memb_subbands12_constraint_50 },
1945                 0, 0, /* No default value */
1946                 "subbands12"
1947                 },
1948         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands13),
1949                 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
1950                 -1,     /* IMPLICIT tag at current level */
1951                 &asn_DEF_BIT_STRING,
1952                 0,
1953                 { &asn_OER_memb_subbands13_constr_61, &asn_PER_memb_subbands13_constr_61,  memb_subbands13_constraint_50 },
1954                 0, 0, /* No default value */
1955                 "subbands13"
1956                 },
1957         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands14),
1958                 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
1959                 -1,     /* IMPLICIT tag at current level */
1960                 &asn_DEF_BIT_STRING,
1961                 0,
1962                 { &asn_OER_memb_subbands14_constr_62, &asn_PER_memb_subbands14_constr_62,  memb_subbands14_constraint_50 },
1963                 0, 0, /* No default value */
1964                 "subbands14"
1965                 },
1966         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands15),
1967                 (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
1968                 -1,     /* IMPLICIT tag at current level */
1969                 &asn_DEF_BIT_STRING,
1970                 0,
1971                 { &asn_OER_memb_subbands15_constr_63, &asn_PER_memb_subbands15_constr_63,  memb_subbands15_constraint_50 },
1972                 0, 0, /* No default value */
1973                 "subbands15"
1974                 },
1975         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands16),
1976                 (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
1977                 -1,     /* IMPLICIT tag at current level */
1978                 &asn_DEF_BIT_STRING,
1979                 0,
1980                 { &asn_OER_memb_subbands16_constr_64, &asn_PER_memb_subbands16_constr_64,  memb_subbands16_constraint_50 },
1981                 0, 0, /* No default value */
1982                 "subbands16"
1983                 },
1984         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands17),
1985                 (ASN_TAG_CLASS_CONTEXT | (14 << 2)),
1986                 -1,     /* IMPLICIT tag at current level */
1987                 &asn_DEF_BIT_STRING,
1988                 0,
1989                 { &asn_OER_memb_subbands17_constr_65, &asn_PER_memb_subbands17_constr_65,  memb_subbands17_constraint_50 },
1990                 0, 0, /* No default value */
1991                 "subbands17"
1992                 },
1993         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands18),
1994                 (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
1995                 -1,     /* IMPLICIT tag at current level */
1996                 &asn_DEF_BIT_STRING,
1997                 0,
1998                 { &asn_OER_memb_subbands18_constr_66, &asn_PER_memb_subbands18_constr_66,  memb_subbands18_constraint_50 },
1999                 0, 0, /* No default value */
2000                 "subbands18"
2001                 },
2002         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, choice.subbands19_v1530),
2003                 (ASN_TAG_CLASS_CONTEXT | (16 << 2)),
2004                 -1,     /* IMPLICIT tag at current level */
2005                 &asn_DEF_BIT_STRING,
2006                 0,
2007                 { &asn_OER_memb_subbands19_v1530_constr_68, &asn_PER_memb_subbands19_v1530_constr_68,  memb_subbands19_v1530_constraint_50 },
2008                 0, 0, /* No default value */
2009                 "subbands19-v1530"
2010                 },
2011 };
2012 static const asn_TYPE_tag2member_t asn_MAP_csi_ReportingBand_tag2el_50[] = {
2013     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* subbands3 */
2014     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* subbands4 */
2015     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* subbands5 */
2016     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* subbands6 */
2017     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* subbands7 */
2018     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* subbands8 */
2019     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* subbands9 */
2020     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* subbands10 */
2021     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* subbands11 */
2022     { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* subbands12 */
2023     { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* subbands13 */
2024     { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* subbands14 */
2025     { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* subbands15 */
2026     { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* subbands16 */
2027     { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* subbands17 */
2028     { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* subbands18 */
2029     { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 } /* subbands19-v1530 */
2030 };
2031 static asn_CHOICE_specifics_t asn_SPC_csi_ReportingBand_specs_50 = {
2032         sizeof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand),
2033         offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, _asn_ctx),
2034         offsetof(struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand, present),
2035         sizeof(((struct CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand *)0)->present),
2036         asn_MAP_csi_ReportingBand_tag2el_50,
2037         17,     /* Count of tags in the map */
2038         0, 0,
2039         16      /* Extensions start */
2040 };
2041 static /* Use -fall-defs-global to expose */
2042 asn_TYPE_descriptor_t asn_DEF_csi_ReportingBand_50 = {
2043         "csi-ReportingBand",
2044         "csi-ReportingBand",
2045         &asn_OP_CHOICE,
2046         0,      /* No effective tags (pointer) */
2047         0,      /* No effective tags (count) */
2048         0,      /* No tags (pointer) */
2049         0,      /* No tags (count) */
2050         { &asn_OER_type_csi_ReportingBand_constr_50, &asn_PER_type_csi_ReportingBand_constr_50, CHOICE_constraint },
2051         asn_MBR_csi_ReportingBand_50,
2052         17,     /* Elements count */
2053         &asn_SPC_csi_ReportingBand_specs_50     /* Additional specs */
2054 };
2055
2056 static asn_TYPE_member_t asn_MBR_reportFreqConfiguration_43[] = {
2057         { ATF_POINTER, 3, offsetof(struct CSI_ReportConfig__reportFreqConfiguration, cqi_FormatIndicator),
2058                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2059                 -1,     /* IMPLICIT tag at current level */
2060                 &asn_DEF_cqi_FormatIndicator_44,
2061                 0,
2062                 { 0, 0, 0 },
2063                 0, 0, /* No default value */
2064                 "cqi-FormatIndicator"
2065                 },
2066         { ATF_POINTER, 2, offsetof(struct CSI_ReportConfig__reportFreqConfiguration, pmi_FormatIndicator),
2067                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2068                 -1,     /* IMPLICIT tag at current level */
2069                 &asn_DEF_pmi_FormatIndicator_47,
2070                 0,
2071                 { 0, 0, 0 },
2072                 0, 0, /* No default value */
2073                 "pmi-FormatIndicator"
2074                 },
2075         { ATF_POINTER, 1, offsetof(struct CSI_ReportConfig__reportFreqConfiguration, csi_ReportingBand),
2076                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
2077                 +1,     /* EXPLICIT tag at current level */
2078                 &asn_DEF_csi_ReportingBand_50,
2079                 0,
2080                 { 0, 0, 0 },
2081                 0, 0, /* No default value */
2082                 "csi-ReportingBand"
2083                 },
2084 };
2085 static const int asn_MAP_reportFreqConfiguration_oms_43[] = { 0, 1, 2 };
2086 static const ber_tlv_tag_t asn_DEF_reportFreqConfiguration_tags_43[] = {
2087         (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
2088         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2089 };
2090 static const asn_TYPE_tag2member_t asn_MAP_reportFreqConfiguration_tag2el_43[] = {
2091     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cqi-FormatIndicator */
2092     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pmi-FormatIndicator */
2093     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* csi-ReportingBand */
2094 };
2095 static asn_SEQUENCE_specifics_t asn_SPC_reportFreqConfiguration_specs_43 = {
2096         sizeof(struct CSI_ReportConfig__reportFreqConfiguration),
2097         offsetof(struct CSI_ReportConfig__reportFreqConfiguration, _asn_ctx),
2098         asn_MAP_reportFreqConfiguration_tag2el_43,
2099         3,      /* Count of tags in the map */
2100         asn_MAP_reportFreqConfiguration_oms_43, /* Optional members */
2101         3, 0,   /* Root/Additions */
2102         -1,     /* First extension addition */
2103 };
2104 static /* Use -fall-defs-global to expose */
2105 asn_TYPE_descriptor_t asn_DEF_reportFreqConfiguration_43 = {
2106         "reportFreqConfiguration",
2107         "reportFreqConfiguration",
2108         &asn_OP_SEQUENCE,
2109         asn_DEF_reportFreqConfiguration_tags_43,
2110         sizeof(asn_DEF_reportFreqConfiguration_tags_43)
2111                 /sizeof(asn_DEF_reportFreqConfiguration_tags_43[0]) - 1, /* 1 */
2112         asn_DEF_reportFreqConfiguration_tags_43,        /* Same as above */
2113         sizeof(asn_DEF_reportFreqConfiguration_tags_43)
2114                 /sizeof(asn_DEF_reportFreqConfiguration_tags_43[0]), /* 2 */
2115         { 0, 0, SEQUENCE_constraint },
2116         asn_MBR_reportFreqConfiguration_43,
2117         3,      /* Elements count */
2118         &asn_SPC_reportFreqConfiguration_specs_43       /* Additional specs */
2119 };
2120
2121 static const asn_INTEGER_enum_map_t asn_MAP_timeRestrictionForChannelMeasurements_value2enum_69[] = {
2122         { 0,    10,     "configured" },
2123         { 1,    13,     "notConfigured" }
2124 };
2125 static const unsigned int asn_MAP_timeRestrictionForChannelMeasurements_enum2value_69[] = {
2126         0,      /* configured(0) */
2127         1       /* notConfigured(1) */
2128 };
2129 static const asn_INTEGER_specifics_t asn_SPC_timeRestrictionForChannelMeasurements_specs_69 = {
2130         asn_MAP_timeRestrictionForChannelMeasurements_value2enum_69,    /* "tag" => N; sorted by tag */
2131         asn_MAP_timeRestrictionForChannelMeasurements_enum2value_69,    /* N => "tag"; sorted by N */
2132         2,      /* Number of elements in the maps */
2133         0,      /* Enumeration is not extensible */
2134         1,      /* Strict enumeration */
2135         0,      /* Native long size */
2136         0
2137 };
2138 static const ber_tlv_tag_t asn_DEF_timeRestrictionForChannelMeasurements_tags_69[] = {
2139         (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
2140         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
2141 };
2142 static /* Use -fall-defs-global to expose */
2143 asn_TYPE_descriptor_t asn_DEF_timeRestrictionForChannelMeasurements_69 = {
2144         "timeRestrictionForChannelMeasurements",
2145         "timeRestrictionForChannelMeasurements",
2146         &asn_OP_NativeEnumerated,
2147         asn_DEF_timeRestrictionForChannelMeasurements_tags_69,
2148         sizeof(asn_DEF_timeRestrictionForChannelMeasurements_tags_69)
2149                 /sizeof(asn_DEF_timeRestrictionForChannelMeasurements_tags_69[0]) - 1, /* 1 */
2150         asn_DEF_timeRestrictionForChannelMeasurements_tags_69,  /* Same as above */
2151         sizeof(asn_DEF_timeRestrictionForChannelMeasurements_tags_69)
2152                 /sizeof(asn_DEF_timeRestrictionForChannelMeasurements_tags_69[0]), /* 2 */
2153         { &asn_OER_type_timeRestrictionForChannelMeasurements_constr_69, &asn_PER_type_timeRestrictionForChannelMeasurements_constr_69, NativeEnumerated_constraint },
2154         0, 0,   /* Defined elsewhere */
2155         &asn_SPC_timeRestrictionForChannelMeasurements_specs_69 /* Additional specs */
2156 };
2157
2158 static const asn_INTEGER_enum_map_t asn_MAP_timeRestrictionForInterferenceMeasurements_value2enum_72[] = {
2159         { 0,    10,     "configured" },
2160         { 1,    13,     "notConfigured" }
2161 };
2162 static const unsigned int asn_MAP_timeRestrictionForInterferenceMeasurements_enum2value_72[] = {
2163         0,      /* configured(0) */
2164         1       /* notConfigured(1) */
2165 };
2166 static const asn_INTEGER_specifics_t asn_SPC_timeRestrictionForInterferenceMeasurements_specs_72 = {
2167         asn_MAP_timeRestrictionForInterferenceMeasurements_value2enum_72,       /* "tag" => N; sorted by tag */
2168         asn_MAP_timeRestrictionForInterferenceMeasurements_enum2value_72,       /* N => "tag"; sorted by N */
2169         2,      /* Number of elements in the maps */
2170         0,      /* Enumeration is not extensible */
2171         1,      /* Strict enumeration */
2172         0,      /* Native long size */
2173         0
2174 };
2175 static const ber_tlv_tag_t asn_DEF_timeRestrictionForInterferenceMeasurements_tags_72[] = {
2176         (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
2177         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
2178 };
2179 static /* Use -fall-defs-global to expose */
2180 asn_TYPE_descriptor_t asn_DEF_timeRestrictionForInterferenceMeasurements_72 = {
2181         "timeRestrictionForInterferenceMeasurements",
2182         "timeRestrictionForInterferenceMeasurements",
2183         &asn_OP_NativeEnumerated,
2184         asn_DEF_timeRestrictionForInterferenceMeasurements_tags_72,
2185         sizeof(asn_DEF_timeRestrictionForInterferenceMeasurements_tags_72)
2186                 /sizeof(asn_DEF_timeRestrictionForInterferenceMeasurements_tags_72[0]) - 1, /* 1 */
2187         asn_DEF_timeRestrictionForInterferenceMeasurements_tags_72,     /* Same as above */
2188         sizeof(asn_DEF_timeRestrictionForInterferenceMeasurements_tags_72)
2189                 /sizeof(asn_DEF_timeRestrictionForInterferenceMeasurements_tags_72[0]), /* 2 */
2190         { &asn_OER_type_timeRestrictionForInterferenceMeasurements_constr_72, &asn_PER_type_timeRestrictionForInterferenceMeasurements_constr_72, NativeEnumerated_constraint },
2191         0, 0,   /* Defined elsewhere */
2192         &asn_SPC_timeRestrictionForInterferenceMeasurements_specs_72    /* Additional specs */
2193 };
2194
2195 static const asn_INTEGER_enum_map_t asn_MAP_dummy_value2enum_76[] = {
2196         { 0,    2,      "n1" },
2197         { 1,    2,      "n2" }
2198 };
2199 static const unsigned int asn_MAP_dummy_enum2value_76[] = {
2200         0,      /* n1(0) */
2201         1       /* n2(1) */
2202 };
2203 static const asn_INTEGER_specifics_t asn_SPC_dummy_specs_76 = {
2204         asn_MAP_dummy_value2enum_76,    /* "tag" => N; sorted by tag */
2205         asn_MAP_dummy_enum2value_76,    /* N => "tag"; sorted by N */
2206         2,      /* Number of elements in the maps */
2207         0,      /* Enumeration is not extensible */
2208         1,      /* Strict enumeration */
2209         0,      /* Native long size */
2210         0
2211 };
2212 static const ber_tlv_tag_t asn_DEF_dummy_tags_76[] = {
2213         (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
2214         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
2215 };
2216 static /* Use -fall-defs-global to expose */
2217 asn_TYPE_descriptor_t asn_DEF_dummy_76 = {
2218         "dummy",
2219         "dummy",
2220         &asn_OP_NativeEnumerated,
2221         asn_DEF_dummy_tags_76,
2222         sizeof(asn_DEF_dummy_tags_76)
2223                 /sizeof(asn_DEF_dummy_tags_76[0]) - 1, /* 1 */
2224         asn_DEF_dummy_tags_76,  /* Same as above */
2225         sizeof(asn_DEF_dummy_tags_76)
2226                 /sizeof(asn_DEF_dummy_tags_76[0]), /* 2 */
2227         { &asn_OER_type_dummy_constr_76, &asn_PER_type_dummy_constr_76, NativeEnumerated_constraint },
2228         0, 0,   /* Defined elsewhere */
2229         &asn_SPC_dummy_specs_76 /* Additional specs */
2230 };
2231
2232 static const asn_INTEGER_enum_map_t asn_MAP_nrofReportedRS_value2enum_82[] = {
2233         { 0,    2,      "n1" },
2234         { 1,    2,      "n2" },
2235         { 2,    2,      "n3" },
2236         { 3,    2,      "n4" }
2237 };
2238 static const unsigned int asn_MAP_nrofReportedRS_enum2value_82[] = {
2239         0,      /* n1(0) */
2240         1,      /* n2(1) */
2241         2,      /* n3(2) */
2242         3       /* n4(3) */
2243 };
2244 static const asn_INTEGER_specifics_t asn_SPC_nrofReportedRS_specs_82 = {
2245         asn_MAP_nrofReportedRS_value2enum_82,   /* "tag" => N; sorted by tag */
2246         asn_MAP_nrofReportedRS_enum2value_82,   /* N => "tag"; sorted by N */
2247         4,      /* Number of elements in the maps */
2248         0,      /* Enumeration is not extensible */
2249         1,      /* Strict enumeration */
2250         0,      /* Native long size */
2251         0
2252 };
2253 static const ber_tlv_tag_t asn_DEF_nrofReportedRS_tags_82[] = {
2254         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2255         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
2256 };
2257 static /* Use -fall-defs-global to expose */
2258 asn_TYPE_descriptor_t asn_DEF_nrofReportedRS_82 = {
2259         "nrofReportedRS",
2260         "nrofReportedRS",
2261         &asn_OP_NativeEnumerated,
2262         asn_DEF_nrofReportedRS_tags_82,
2263         sizeof(asn_DEF_nrofReportedRS_tags_82)
2264                 /sizeof(asn_DEF_nrofReportedRS_tags_82[0]) - 1, /* 1 */
2265         asn_DEF_nrofReportedRS_tags_82, /* Same as above */
2266         sizeof(asn_DEF_nrofReportedRS_tags_82)
2267                 /sizeof(asn_DEF_nrofReportedRS_tags_82[0]), /* 2 */
2268         { &asn_OER_type_nrofReportedRS_constr_82, &asn_PER_type_nrofReportedRS_constr_82, NativeEnumerated_constraint },
2269         0, 0,   /* Defined elsewhere */
2270         &asn_SPC_nrofReportedRS_specs_82        /* Additional specs */
2271 };
2272
2273 static asn_TYPE_member_t asn_MBR_disabled_81[] = {
2274         { ATF_POINTER, 1, offsetof(struct CSI_ReportConfig__groupBasedBeamReporting__disabled, nrofReportedRS),
2275                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2276                 -1,     /* IMPLICIT tag at current level */
2277                 &asn_DEF_nrofReportedRS_82,
2278                 0,
2279                 { 0, 0, 0 },
2280                 0, 0, /* No default value */
2281                 "nrofReportedRS"
2282                 },
2283 };
2284 static const int asn_MAP_disabled_oms_81[] = { 0 };
2285 static const ber_tlv_tag_t asn_DEF_disabled_tags_81[] = {
2286         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2287         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2288 };
2289 static const asn_TYPE_tag2member_t asn_MAP_disabled_tag2el_81[] = {
2290     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* nrofReportedRS */
2291 };
2292 static asn_SEQUENCE_specifics_t asn_SPC_disabled_specs_81 = {
2293         sizeof(struct CSI_ReportConfig__groupBasedBeamReporting__disabled),
2294         offsetof(struct CSI_ReportConfig__groupBasedBeamReporting__disabled, _asn_ctx),
2295         asn_MAP_disabled_tag2el_81,
2296         1,      /* Count of tags in the map */
2297         asn_MAP_disabled_oms_81,        /* Optional members */
2298         1, 0,   /* Root/Additions */
2299         -1,     /* First extension addition */
2300 };
2301 static /* Use -fall-defs-global to expose */
2302 asn_TYPE_descriptor_t asn_DEF_disabled_81 = {
2303         "disabled",
2304         "disabled",
2305         &asn_OP_SEQUENCE,
2306         asn_DEF_disabled_tags_81,
2307         sizeof(asn_DEF_disabled_tags_81)
2308                 /sizeof(asn_DEF_disabled_tags_81[0]) - 1, /* 1 */
2309         asn_DEF_disabled_tags_81,       /* Same as above */
2310         sizeof(asn_DEF_disabled_tags_81)
2311                 /sizeof(asn_DEF_disabled_tags_81[0]), /* 2 */
2312         { 0, 0, SEQUENCE_constraint },
2313         asn_MBR_disabled_81,
2314         1,      /* Elements count */
2315         &asn_SPC_disabled_specs_81      /* Additional specs */
2316 };
2317
2318 static asn_TYPE_member_t asn_MBR_groupBasedBeamReporting_79[] = {
2319         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__groupBasedBeamReporting, choice.enabled),
2320                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2321                 -1,     /* IMPLICIT tag at current level */
2322                 &asn_DEF_NULL,
2323                 0,
2324                 { 0, 0, 0 },
2325                 0, 0, /* No default value */
2326                 "enabled"
2327                 },
2328         { ATF_POINTER, 0, offsetof(struct CSI_ReportConfig__groupBasedBeamReporting, choice.disabled),
2329                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2330                 0,
2331                 &asn_DEF_disabled_81,
2332                 0,
2333                 { 0, 0, 0 },
2334                 0, 0, /* No default value */
2335                 "disabled"
2336                 },
2337 };
2338 static const asn_TYPE_tag2member_t asn_MAP_groupBasedBeamReporting_tag2el_79[] = {
2339     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* enabled */
2340     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* disabled */
2341 };
2342 static asn_CHOICE_specifics_t asn_SPC_groupBasedBeamReporting_specs_79 = {
2343         sizeof(struct CSI_ReportConfig__groupBasedBeamReporting),
2344         offsetof(struct CSI_ReportConfig__groupBasedBeamReporting, _asn_ctx),
2345         offsetof(struct CSI_ReportConfig__groupBasedBeamReporting, present),
2346         sizeof(((struct CSI_ReportConfig__groupBasedBeamReporting *)0)->present),
2347         asn_MAP_groupBasedBeamReporting_tag2el_79,
2348         2,      /* Count of tags in the map */
2349         0, 0,
2350         -1      /* Extensions start */
2351 };
2352 static /* Use -fall-defs-global to expose */
2353 asn_TYPE_descriptor_t asn_DEF_groupBasedBeamReporting_79 = {
2354         "groupBasedBeamReporting",
2355         "groupBasedBeamReporting",
2356         &asn_OP_CHOICE,
2357         0,      /* No effective tags (pointer) */
2358         0,      /* No effective tags (count) */
2359         0,      /* No tags (pointer) */
2360         0,      /* No tags (count) */
2361         { &asn_OER_type_groupBasedBeamReporting_constr_79, &asn_PER_type_groupBasedBeamReporting_constr_79, CHOICE_constraint },
2362         asn_MBR_groupBasedBeamReporting_79,
2363         2,      /* Elements count */
2364         &asn_SPC_groupBasedBeamReporting_specs_79       /* Additional specs */
2365 };
2366
2367 static const asn_INTEGER_enum_map_t asn_MAP_cqi_Table_value2enum_87[] = {
2368         { 0,    6,      "table1" },
2369         { 1,    6,      "table2" },
2370         { 2,    6,      "table3" },
2371         { 3,    6,      "spare1" }
2372 };
2373 static const unsigned int asn_MAP_cqi_Table_enum2value_87[] = {
2374         3,      /* spare1(3) */
2375         0,      /* table1(0) */
2376         1,      /* table2(1) */
2377         2       /* table3(2) */
2378 };
2379 static const asn_INTEGER_specifics_t asn_SPC_cqi_Table_specs_87 = {
2380         asn_MAP_cqi_Table_value2enum_87,        /* "tag" => N; sorted by tag */
2381         asn_MAP_cqi_Table_enum2value_87,        /* N => "tag"; sorted by N */
2382         4,      /* Number of elements in the maps */
2383         0,      /* Enumeration is not extensible */
2384         1,      /* Strict enumeration */
2385         0,      /* Native long size */
2386         0
2387 };
2388 static const ber_tlv_tag_t asn_DEF_cqi_Table_tags_87[] = {
2389         (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
2390         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
2391 };
2392 static /* Use -fall-defs-global to expose */
2393 asn_TYPE_descriptor_t asn_DEF_cqi_Table_87 = {
2394         "cqi-Table",
2395         "cqi-Table",
2396         &asn_OP_NativeEnumerated,
2397         asn_DEF_cqi_Table_tags_87,
2398         sizeof(asn_DEF_cqi_Table_tags_87)
2399                 /sizeof(asn_DEF_cqi_Table_tags_87[0]) - 1, /* 1 */
2400         asn_DEF_cqi_Table_tags_87,      /* Same as above */
2401         sizeof(asn_DEF_cqi_Table_tags_87)
2402                 /sizeof(asn_DEF_cqi_Table_tags_87[0]), /* 2 */
2403         { &asn_OER_type_cqi_Table_constr_87, &asn_PER_type_cqi_Table_constr_87, NativeEnumerated_constraint },
2404         0, 0,   /* Defined elsewhere */
2405         &asn_SPC_cqi_Table_specs_87     /* Additional specs */
2406 };
2407
2408 static const asn_INTEGER_enum_map_t asn_MAP_subbandSize_value2enum_92[] = {
2409         { 0,    6,      "value1" },
2410         { 1,    6,      "value2" }
2411 };
2412 static const unsigned int asn_MAP_subbandSize_enum2value_92[] = {
2413         0,      /* value1(0) */
2414         1       /* value2(1) */
2415 };
2416 static const asn_INTEGER_specifics_t asn_SPC_subbandSize_specs_92 = {
2417         asn_MAP_subbandSize_value2enum_92,      /* "tag" => N; sorted by tag */
2418         asn_MAP_subbandSize_enum2value_92,      /* N => "tag"; sorted by N */
2419         2,      /* Number of elements in the maps */
2420         0,      /* Enumeration is not extensible */
2421         1,      /* Strict enumeration */
2422         0,      /* Native long size */
2423         0
2424 };
2425 static const ber_tlv_tag_t asn_DEF_subbandSize_tags_92[] = {
2426         (ASN_TAG_CLASS_CONTEXT | (14 << 2)),
2427         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
2428 };
2429 static /* Use -fall-defs-global to expose */
2430 asn_TYPE_descriptor_t asn_DEF_subbandSize_92 = {
2431         "subbandSize",
2432         "subbandSize",
2433         &asn_OP_NativeEnumerated,
2434         asn_DEF_subbandSize_tags_92,
2435         sizeof(asn_DEF_subbandSize_tags_92)
2436                 /sizeof(asn_DEF_subbandSize_tags_92[0]) - 1, /* 1 */
2437         asn_DEF_subbandSize_tags_92,    /* Same as above */
2438         sizeof(asn_DEF_subbandSize_tags_92)
2439                 /sizeof(asn_DEF_subbandSize_tags_92[0]), /* 2 */
2440         { &asn_OER_type_subbandSize_constr_92, &asn_PER_type_subbandSize_constr_92, NativeEnumerated_constraint },
2441         0, 0,   /* Defined elsewhere */
2442         &asn_SPC_subbandSize_specs_92   /* Additional specs */
2443 };
2444
2445 static asn_TYPE_member_t asn_MBR_non_PMI_PortIndication_95[] = {
2446         { ATF_POINTER, 0, 0,
2447                 -1 /* Ambiguous tag (CHOICE?) */,
2448                 0,
2449                 &asn_DEF_PortIndexFor8Ranks,
2450                 0,
2451                 { 0, 0, 0 },
2452                 0, 0, /* No default value */
2453                 ""
2454                 },
2455 };
2456 static const ber_tlv_tag_t asn_DEF_non_PMI_PortIndication_tags_95[] = {
2457         (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
2458         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2459 };
2460 static asn_SET_OF_specifics_t asn_SPC_non_PMI_PortIndication_specs_95 = {
2461         sizeof(struct CSI_ReportConfig__non_PMI_PortIndication),
2462         offsetof(struct CSI_ReportConfig__non_PMI_PortIndication, _asn_ctx),
2463         2,      /* XER encoding is XMLValueList */
2464 };
2465 static /* Use -fall-defs-global to expose */
2466 asn_TYPE_descriptor_t asn_DEF_non_PMI_PortIndication_95 = {
2467         "non-PMI-PortIndication",
2468         "non-PMI-PortIndication",
2469         &asn_OP_SEQUENCE_OF,
2470         asn_DEF_non_PMI_PortIndication_tags_95,
2471         sizeof(asn_DEF_non_PMI_PortIndication_tags_95)
2472                 /sizeof(asn_DEF_non_PMI_PortIndication_tags_95[0]) - 1, /* 1 */
2473         asn_DEF_non_PMI_PortIndication_tags_95, /* Same as above */
2474         sizeof(asn_DEF_non_PMI_PortIndication_tags_95)
2475                 /sizeof(asn_DEF_non_PMI_PortIndication_tags_95[0]), /* 2 */
2476         { &asn_OER_type_non_PMI_PortIndication_constr_95, &asn_PER_type_non_PMI_PortIndication_constr_95, SEQUENCE_OF_constraint },
2477         asn_MBR_non_PMI_PortIndication_95,
2478         1,      /* Single element */
2479         &asn_SPC_non_PMI_PortIndication_specs_95        /* Additional specs */
2480 };
2481
2482 static const asn_INTEGER_enum_map_t asn_MAP_reportSlotConfig_v1530_value2enum_100[] = {
2483         { 0,    3,      "sl4" },
2484         { 1,    3,      "sl8" },
2485         { 2,    4,      "sl16" }
2486 };
2487 static const unsigned int asn_MAP_reportSlotConfig_v1530_enum2value_100[] = {
2488         2,      /* sl16(2) */
2489         0,      /* sl4(0) */
2490         1       /* sl8(1) */
2491 };
2492 static const asn_INTEGER_specifics_t asn_SPC_reportSlotConfig_v1530_specs_100 = {
2493         asn_MAP_reportSlotConfig_v1530_value2enum_100,  /* "tag" => N; sorted by tag */
2494         asn_MAP_reportSlotConfig_v1530_enum2value_100,  /* N => "tag"; sorted by N */
2495         3,      /* Number of elements in the maps */
2496         0,      /* Enumeration is not extensible */
2497         1,      /* Strict enumeration */
2498         0,      /* Native long size */
2499         0
2500 };
2501 static const ber_tlv_tag_t asn_DEF_reportSlotConfig_v1530_tags_100[] = {
2502         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2503         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
2504 };
2505 static /* Use -fall-defs-global to expose */
2506 asn_TYPE_descriptor_t asn_DEF_reportSlotConfig_v1530_100 = {
2507         "reportSlotConfig-v1530",
2508         "reportSlotConfig-v1530",
2509         &asn_OP_NativeEnumerated,
2510         asn_DEF_reportSlotConfig_v1530_tags_100,
2511         sizeof(asn_DEF_reportSlotConfig_v1530_tags_100)
2512                 /sizeof(asn_DEF_reportSlotConfig_v1530_tags_100[0]) - 1, /* 1 */
2513         asn_DEF_reportSlotConfig_v1530_tags_100,        /* Same as above */
2514         sizeof(asn_DEF_reportSlotConfig_v1530_tags_100)
2515                 /sizeof(asn_DEF_reportSlotConfig_v1530_tags_100[0]), /* 2 */
2516         { &asn_OER_type_reportSlotConfig_v1530_constr_100, &asn_PER_type_reportSlotConfig_v1530_constr_100, NativeEnumerated_constraint },
2517         0, 0,   /* Defined elsewhere */
2518         &asn_SPC_reportSlotConfig_v1530_specs_100       /* Additional specs */
2519 };
2520
2521 static asn_TYPE_member_t asn_MBR_semiPersistentOnPUSCH_v1530_99[] = {
2522         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig__ext1__semiPersistentOnPUSCH_v1530, reportSlotConfig_v1530),
2523                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2524                 -1,     /* IMPLICIT tag at current level */
2525                 &asn_DEF_reportSlotConfig_v1530_100,
2526                 0,
2527                 { 0, 0, 0 },
2528                 0, 0, /* No default value */
2529                 "reportSlotConfig-v1530"
2530                 },
2531 };
2532 static const ber_tlv_tag_t asn_DEF_semiPersistentOnPUSCH_v1530_tags_99[] = {
2533         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2534         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2535 };
2536 static const asn_TYPE_tag2member_t asn_MAP_semiPersistentOnPUSCH_v1530_tag2el_99[] = {
2537     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* reportSlotConfig-v1530 */
2538 };
2539 static asn_SEQUENCE_specifics_t asn_SPC_semiPersistentOnPUSCH_v1530_specs_99 = {
2540         sizeof(struct CSI_ReportConfig__ext1__semiPersistentOnPUSCH_v1530),
2541         offsetof(struct CSI_ReportConfig__ext1__semiPersistentOnPUSCH_v1530, _asn_ctx),
2542         asn_MAP_semiPersistentOnPUSCH_v1530_tag2el_99,
2543         1,      /* Count of tags in the map */
2544         0, 0, 0,        /* Optional elements (not needed) */
2545         -1,     /* First extension addition */
2546 };
2547 static /* Use -fall-defs-global to expose */
2548 asn_TYPE_descriptor_t asn_DEF_semiPersistentOnPUSCH_v1530_99 = {
2549         "semiPersistentOnPUSCH-v1530",
2550         "semiPersistentOnPUSCH-v1530",
2551         &asn_OP_SEQUENCE,
2552         asn_DEF_semiPersistentOnPUSCH_v1530_tags_99,
2553         sizeof(asn_DEF_semiPersistentOnPUSCH_v1530_tags_99)
2554                 /sizeof(asn_DEF_semiPersistentOnPUSCH_v1530_tags_99[0]) - 1, /* 1 */
2555         asn_DEF_semiPersistentOnPUSCH_v1530_tags_99,    /* Same as above */
2556         sizeof(asn_DEF_semiPersistentOnPUSCH_v1530_tags_99)
2557                 /sizeof(asn_DEF_semiPersistentOnPUSCH_v1530_tags_99[0]), /* 2 */
2558         { 0, 0, SEQUENCE_constraint },
2559         asn_MBR_semiPersistentOnPUSCH_v1530_99,
2560         1,      /* Elements count */
2561         &asn_SPC_semiPersistentOnPUSCH_v1530_specs_99   /* Additional specs */
2562 };
2563
2564 static asn_TYPE_member_t asn_MBR_ext1_98[] = {
2565         { ATF_POINTER, 1, offsetof(struct CSI_ReportConfig__ext1, semiPersistentOnPUSCH_v1530),
2566                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2567                 0,
2568                 &asn_DEF_semiPersistentOnPUSCH_v1530_99,
2569                 0,
2570                 { 0, 0, 0 },
2571                 0, 0, /* No default value */
2572                 "semiPersistentOnPUSCH-v1530"
2573                 },
2574 };
2575 static const int asn_MAP_ext1_oms_98[] = { 0 };
2576 static const ber_tlv_tag_t asn_DEF_ext1_tags_98[] = {
2577         (ASN_TAG_CLASS_CONTEXT | (16 << 2)),
2578         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2579 };
2580 static const asn_TYPE_tag2member_t asn_MAP_ext1_tag2el_98[] = {
2581     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* semiPersistentOnPUSCH-v1530 */
2582 };
2583 static asn_SEQUENCE_specifics_t asn_SPC_ext1_specs_98 = {
2584         sizeof(struct CSI_ReportConfig__ext1),
2585         offsetof(struct CSI_ReportConfig__ext1, _asn_ctx),
2586         asn_MAP_ext1_tag2el_98,
2587         1,      /* Count of tags in the map */
2588         asn_MAP_ext1_oms_98,    /* Optional members */
2589         1, 0,   /* Root/Additions */
2590         -1,     /* First extension addition */
2591 };
2592 static /* Use -fall-defs-global to expose */
2593 asn_TYPE_descriptor_t asn_DEF_ext1_98 = {
2594         "ext1",
2595         "ext1",
2596         &asn_OP_SEQUENCE,
2597         asn_DEF_ext1_tags_98,
2598         sizeof(asn_DEF_ext1_tags_98)
2599                 /sizeof(asn_DEF_ext1_tags_98[0]) - 1, /* 1 */
2600         asn_DEF_ext1_tags_98,   /* Same as above */
2601         sizeof(asn_DEF_ext1_tags_98)
2602                 /sizeof(asn_DEF_ext1_tags_98[0]), /* 2 */
2603         { 0, 0, SEQUENCE_constraint },
2604         asn_MBR_ext1_98,
2605         1,      /* Elements count */
2606         &asn_SPC_ext1_specs_98  /* Additional specs */
2607 };
2608
2609 asn_TYPE_member_t asn_MBR_CSI_ReportConfig_1[] = {
2610         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig, reportConfigId),
2611                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
2612                 -1,     /* IMPLICIT tag at current level */
2613                 &asn_DEF_CSI_ReportConfigId,
2614                 0,
2615                 { 0, 0, 0 },
2616                 0, 0, /* No default value */
2617                 "reportConfigId"
2618                 },
2619         { ATF_POINTER, 1, offsetof(struct CSI_ReportConfig, carrier),
2620                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
2621                 -1,     /* IMPLICIT tag at current level */
2622                 &asn_DEF_ServCellIndex,
2623                 0,
2624                 { 0, 0, 0 },
2625                 0, 0, /* No default value */
2626                 "carrier"
2627                 },
2628         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig, resourcesForChannelMeasurement),
2629                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
2630                 -1,     /* IMPLICIT tag at current level */
2631                 &asn_DEF_CSI_ResourceConfigId,
2632                 0,
2633                 { 0, 0, 0 },
2634                 0, 0, /* No default value */
2635                 "resourcesForChannelMeasurement"
2636                 },
2637         { ATF_POINTER, 2, offsetof(struct CSI_ReportConfig, csi_IM_ResourcesForInterference),
2638                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
2639                 -1,     /* IMPLICIT tag at current level */
2640                 &asn_DEF_CSI_ResourceConfigId,
2641                 0,
2642                 { 0, 0, 0 },
2643                 0, 0, /* No default value */
2644                 "csi-IM-ResourcesForInterference"
2645                 },
2646         { ATF_POINTER, 1, offsetof(struct CSI_ReportConfig, nzp_CSI_RS_ResourcesForInterference),
2647                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
2648                 -1,     /* IMPLICIT tag at current level */
2649                 &asn_DEF_CSI_ResourceConfigId,
2650                 0,
2651                 { 0, 0, 0 },
2652                 0, 0, /* No default value */
2653                 "nzp-CSI-RS-ResourcesForInterference"
2654                 },
2655         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig, reportConfigType),
2656                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
2657                 +1,     /* EXPLICIT tag at current level */
2658                 &asn_DEF_reportConfigType_7,
2659                 0,
2660                 { 0, 0, 0 },
2661                 0, 0, /* No default value */
2662                 "reportConfigType"
2663                 },
2664         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig, reportQuantity),
2665                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
2666                 +1,     /* EXPLICIT tag at current level */
2667                 &asn_DEF_reportQuantity_31,
2668                 0,
2669                 { 0, 0, 0 },
2670                 0, 0, /* No default value */
2671                 "reportQuantity"
2672                 },
2673         { ATF_POINTER, 1, offsetof(struct CSI_ReportConfig, reportFreqConfiguration),
2674                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
2675                 0,
2676                 &asn_DEF_reportFreqConfiguration_43,
2677                 0,
2678                 { 0, 0, 0 },
2679                 0, 0, /* No default value */
2680                 "reportFreqConfiguration"
2681                 },
2682         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig, timeRestrictionForChannelMeasurements),
2683                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
2684                 -1,     /* IMPLICIT tag at current level */
2685                 &asn_DEF_timeRestrictionForChannelMeasurements_69,
2686                 0,
2687                 { 0, 0, 0 },
2688                 0, 0, /* No default value */
2689                 "timeRestrictionForChannelMeasurements"
2690                 },
2691         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig, timeRestrictionForInterferenceMeasurements),
2692                 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
2693                 -1,     /* IMPLICIT tag at current level */
2694                 &asn_DEF_timeRestrictionForInterferenceMeasurements_72,
2695                 0,
2696                 { 0, 0, 0 },
2697                 0, 0, /* No default value */
2698                 "timeRestrictionForInterferenceMeasurements"
2699                 },
2700         { ATF_POINTER, 2, offsetof(struct CSI_ReportConfig, codebookConfig),
2701                 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
2702                 -1,     /* IMPLICIT tag at current level */
2703                 &asn_DEF_CodebookConfig,
2704                 0,
2705                 { 0, 0, 0 },
2706                 0, 0, /* No default value */
2707                 "codebookConfig"
2708                 },
2709         { ATF_POINTER, 1, offsetof(struct CSI_ReportConfig, dummy),
2710                 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
2711                 -1,     /* IMPLICIT tag at current level */
2712                 &asn_DEF_dummy_76,
2713                 0,
2714                 { 0, 0, 0 },
2715                 0, 0, /* No default value */
2716                 "dummy"
2717                 },
2718         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig, groupBasedBeamReporting),
2719                 (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
2720                 +1,     /* EXPLICIT tag at current level */
2721                 &asn_DEF_groupBasedBeamReporting_79,
2722                 0,
2723                 { 0, 0, 0 },
2724                 0, 0, /* No default value */
2725                 "groupBasedBeamReporting"
2726                 },
2727         { ATF_POINTER, 1, offsetof(struct CSI_ReportConfig, cqi_Table),
2728                 (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
2729                 -1,     /* IMPLICIT tag at current level */
2730                 &asn_DEF_cqi_Table_87,
2731                 0,
2732                 { 0, 0, 0 },
2733                 0, 0, /* No default value */
2734                 "cqi-Table"
2735                 },
2736         { ATF_NOFLAGS, 0, offsetof(struct CSI_ReportConfig, subbandSize),
2737                 (ASN_TAG_CLASS_CONTEXT | (14 << 2)),
2738                 -1,     /* IMPLICIT tag at current level */
2739                 &asn_DEF_subbandSize_92,
2740                 0,
2741                 { 0, 0, 0 },
2742                 0, 0, /* No default value */
2743                 "subbandSize"
2744                 },
2745         { ATF_POINTER, 2, offsetof(struct CSI_ReportConfig, non_PMI_PortIndication),
2746                 (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
2747                 0,
2748                 &asn_DEF_non_PMI_PortIndication_95,
2749                 0,
2750                 { &asn_OER_memb_non_PMI_PortIndication_constr_95, &asn_PER_memb_non_PMI_PortIndication_constr_95,  memb_non_PMI_PortIndication_constraint_1 },
2751                 0, 0, /* No default value */
2752                 "non-PMI-PortIndication"
2753                 },
2754         { ATF_POINTER, 1, offsetof(struct CSI_ReportConfig, ext1),
2755                 (ASN_TAG_CLASS_CONTEXT | (16 << 2)),
2756                 0,
2757                 &asn_DEF_ext1_98,
2758                 0,
2759                 { 0, 0, 0 },
2760                 0, 0, /* No default value */
2761                 "ext1"
2762                 },
2763 };
2764 static const int asn_MAP_CSI_ReportConfig_oms_1[] = { 1, 3, 4, 7, 10, 11, 13, 15, 16 };
2765 static const ber_tlv_tag_t asn_DEF_CSI_ReportConfig_tags_1[] = {
2766         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2767 };
2768 static const asn_TYPE_tag2member_t asn_MAP_CSI_ReportConfig_tag2el_1[] = {
2769     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* reportConfigId */
2770     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* carrier */
2771     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* resourcesForChannelMeasurement */
2772     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* csi-IM-ResourcesForInterference */
2773     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* nzp-CSI-RS-ResourcesForInterference */
2774     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* reportConfigType */
2775     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* reportQuantity */
2776     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* reportFreqConfiguration */
2777     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* timeRestrictionForChannelMeasurements */
2778     { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* timeRestrictionForInterferenceMeasurements */
2779     { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* codebookConfig */
2780     { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* dummy */
2781     { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* groupBasedBeamReporting */
2782     { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* cqi-Table */
2783     { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* subbandSize */
2784     { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* non-PMI-PortIndication */
2785     { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 } /* ext1 */
2786 };
2787 asn_SEQUENCE_specifics_t asn_SPC_CSI_ReportConfig_specs_1 = {
2788         sizeof(struct CSI_ReportConfig),
2789         offsetof(struct CSI_ReportConfig, _asn_ctx),
2790         asn_MAP_CSI_ReportConfig_tag2el_1,
2791         17,     /* Count of tags in the map */
2792         asn_MAP_CSI_ReportConfig_oms_1, /* Optional members */
2793         8, 1,   /* Root/Additions */
2794         16,     /* First extension addition */
2795 };
2796 asn_TYPE_descriptor_t asn_DEF_CSI_ReportConfig = {
2797         "CSI-ReportConfig",
2798         "CSI-ReportConfig",
2799         &asn_OP_SEQUENCE,
2800         asn_DEF_CSI_ReportConfig_tags_1,
2801         sizeof(asn_DEF_CSI_ReportConfig_tags_1)
2802                 /sizeof(asn_DEF_CSI_ReportConfig_tags_1[0]), /* 1 */
2803         asn_DEF_CSI_ReportConfig_tags_1,        /* Same as above */
2804         sizeof(asn_DEF_CSI_ReportConfig_tags_1)
2805                 /sizeof(asn_DEF_CSI_ReportConfig_tags_1[0]), /* 1 */
2806         { 0, 0, SEQUENCE_constraint },
2807         asn_MBR_CSI_ReportConfig_1,
2808         17,     /* Elements count */
2809         &asn_SPC_CSI_ReportConfig_specs_1       /* Additional specs */
2810 };
2811