[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-441]: Update name of Paging RRC Codec
[o-du/l2.git] / src / codec_utils / RRC / FeatureSetDownlink.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 "FeatureSetDownlink.h"
9
10 #include "CSI-RS-IM-ReceptionForFeedback.h"
11 #include "TypeI-SinglePanelCodebook.h"
12 #include "TypeI-MultiPanelCodebook.h"
13 #include "TypeII-Codebook.h"
14 #include "TypeII-CodebookPortSelection.h"
15 /*
16  * This type is implemented using NativeEnumerated,
17  * so here we adjust the DEF accordingly.
18  */
19 /*
20  * This type is implemented using NativeEnumerated,
21  * so here we adjust the DEF accordingly.
22  */
23 /*
24  * This type is implemented using NativeEnumerated,
25  * so here we adjust the DEF accordingly.
26  */
27 /*
28  * This type is implemented using NativeEnumerated,
29  * so here we adjust the DEF accordingly.
30  */
31 /*
32  * This type is implemented using NativeEnumerated,
33  * so here we adjust the DEF accordingly.
34  */
35 /*
36  * This type is implemented using NativeEnumerated,
37  * so here we adjust the DEF accordingly.
38  */
39 /*
40  * This type is implemented using NativeEnumerated,
41  * so here we adjust the DEF accordingly.
42  */
43 /*
44  * This type is implemented using NativeEnumerated,
45  * so here we adjust the DEF accordingly.
46  */
47 /*
48  * This type is implemented using NativeEnumerated,
49  * so here we adjust the DEF accordingly.
50  */
51 /*
52  * This type is implemented using NativeEnumerated,
53  * so here we adjust the DEF accordingly.
54  */
55 /*
56  * This type is implemented using NativeEnumerated,
57  * so here we adjust the DEF accordingly.
58  */
59 /*
60  * This type is implemented using NativeEnumerated,
61  * so here we adjust the DEF accordingly.
62  */
63 /*
64  * This type is implemented using NativeEnumerated,
65  * so here we adjust the DEF accordingly.
66  */
67 /*
68  * This type is implemented using NativeEnumerated,
69  * so here we adjust the DEF accordingly.
70  */
71 /*
72  * This type is implemented using NativeEnumerated,
73  * so here we adjust the DEF accordingly.
74  */
75 /*
76  * This type is implemented using NativeEnumerated,
77  * so here we adjust the DEF accordingly.
78  */
79 static int
80 memb_featureSetListPerDownlinkCC_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
81                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
82         size_t size;
83         
84         if(!sptr) {
85                 ASN__CTFAIL(app_key, td, sptr,
86                         "%s: value not given (%s:%d)",
87                         td->name, __FILE__, __LINE__);
88                 return -1;
89         }
90         
91         /* Determine the number of elements */
92         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
93         
94         if((size >= 1 && size <= 32)) {
95                 /* Perform validation of the inner elements */
96                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
97         } else {
98                 ASN__CTFAIL(app_key, td, sptr,
99                         "%s: constraint failed (%s:%d)",
100                         td->name, __FILE__, __LINE__);
101                 return -1;
102         }
103 }
104
105 static int
106 memb_typeI_SinglePanelCodebookList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
107                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
108         size_t size;
109         
110         if(!sptr) {
111                 ASN__CTFAIL(app_key, td, sptr,
112                         "%s: value not given (%s:%d)",
113                         td->name, __FILE__, __LINE__);
114                 return -1;
115         }
116         
117         /* Determine the number of elements */
118         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
119         
120         if((size >= 1 && size <= 16)) {
121                 /* Perform validation of the inner elements */
122                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
123         } else {
124                 ASN__CTFAIL(app_key, td, sptr,
125                         "%s: constraint failed (%s:%d)",
126                         td->name, __FILE__, __LINE__);
127                 return -1;
128         }
129 }
130
131 static int
132 memb_typeI_MultiPanelCodebookList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
133                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
134         size_t size;
135         
136         if(!sptr) {
137                 ASN__CTFAIL(app_key, td, sptr,
138                         "%s: value not given (%s:%d)",
139                         td->name, __FILE__, __LINE__);
140                 return -1;
141         }
142         
143         /* Determine the number of elements */
144         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
145         
146         if((size >= 1 && size <= 16)) {
147                 /* Perform validation of the inner elements */
148                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
149         } else {
150                 ASN__CTFAIL(app_key, td, sptr,
151                         "%s: constraint failed (%s:%d)",
152                         td->name, __FILE__, __LINE__);
153                 return -1;
154         }
155 }
156
157 static int
158 memb_typeII_CodebookList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
159                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
160         size_t size;
161         
162         if(!sptr) {
163                 ASN__CTFAIL(app_key, td, sptr,
164                         "%s: value not given (%s:%d)",
165                         td->name, __FILE__, __LINE__);
166                 return -1;
167         }
168         
169         /* Determine the number of elements */
170         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
171         
172         if((size >= 1 && size <= 16)) {
173                 /* Perform validation of the inner elements */
174                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
175         } else {
176                 ASN__CTFAIL(app_key, td, sptr,
177                         "%s: constraint failed (%s:%d)",
178                         td->name, __FILE__, __LINE__);
179                 return -1;
180         }
181 }
182
183 static int
184 memb_typeII_CodebookPortSelectionList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
185                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
186         size_t size;
187         
188         if(!sptr) {
189                 ASN__CTFAIL(app_key, td, sptr,
190                         "%s: value not given (%s:%d)",
191                         td->name, __FILE__, __LINE__);
192                 return -1;
193         }
194         
195         /* Determine the number of elements */
196         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
197         
198         if((size >= 1 && size <= 16)) {
199                 /* Perform validation of the inner elements */
200                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
201         } else {
202                 ASN__CTFAIL(app_key, td, sptr,
203                         "%s: constraint failed (%s:%d)",
204                         td->name, __FILE__, __LINE__);
205                 return -1;
206         }
207 }
208
209 static asn_oer_constraints_t asn_OER_type_featureSetListPerDownlinkCC_constr_2 CC_NOTUSED = {
210         { 0, 0 },
211         -1      /* (SIZE(1..32)) */};
212 static asn_per_constraints_t asn_PER_type_featureSetListPerDownlinkCC_constr_2 CC_NOTUSED = {
213         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
214         { APC_CONSTRAINED,       5,  5,  1,  32 }       /* (SIZE(1..32)) */,
215         0, 0    /* No PER value map */
216 };
217 static asn_oer_constraints_t asn_OER_type_scalingFactor_constr_5 CC_NOTUSED = {
218         { 0, 0 },
219         -1};
220 static asn_per_constraints_t asn_PER_type_scalingFactor_constr_5 CC_NOTUSED = {
221         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
222         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
223         0, 0    /* No PER value map */
224 };
225 static asn_oer_constraints_t asn_OER_type_crossCarrierScheduling_OtherSCS_constr_9 CC_NOTUSED = {
226         { 0, 0 },
227         -1};
228 static asn_per_constraints_t asn_PER_type_crossCarrierScheduling_OtherSCS_constr_9 CC_NOTUSED = {
229         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
230         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
231         0, 0    /* No PER value map */
232 };
233 static asn_oer_constraints_t asn_OER_type_scellWithoutSSB_constr_11 CC_NOTUSED = {
234         { 0, 0 },
235         -1};
236 static asn_per_constraints_t asn_PER_type_scellWithoutSSB_constr_11 CC_NOTUSED = {
237         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
238         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
239         0, 0    /* No PER value map */
240 };
241 static asn_oer_constraints_t asn_OER_type_csi_RS_MeasSCellWithoutSSB_constr_13 CC_NOTUSED = {
242         { 0, 0 },
243         -1};
244 static asn_per_constraints_t asn_PER_type_csi_RS_MeasSCellWithoutSSB_constr_13 CC_NOTUSED = {
245         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
246         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
247         0, 0    /* No PER value map */
248 };
249 static asn_oer_constraints_t asn_OER_type_srs_AssocCSI_RS_constr_15 CC_NOTUSED = {
250         { 0, 0 },
251         -1};
252 static asn_per_constraints_t asn_PER_type_srs_AssocCSI_RS_constr_15 CC_NOTUSED = {
253         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
254         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
255         0, 0    /* No PER value map */
256 };
257 static asn_oer_constraints_t asn_OER_type_type1_3_CSS_constr_17 CC_NOTUSED = {
258         { 0, 0 },
259         -1};
260 static asn_per_constraints_t asn_PER_type_type1_3_CSS_constr_17 CC_NOTUSED = {
261         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
262         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
263         0, 0    /* No PER value map */
264 };
265 static asn_oer_constraints_t asn_OER_type_pdcch_MonitoringAnyOccasions_constr_19 CC_NOTUSED = {
266         { 0, 0 },
267         -1};
268 static asn_per_constraints_t asn_PER_type_pdcch_MonitoringAnyOccasions_constr_19 CC_NOTUSED = {
269         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
270         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
271         0, 0    /* No PER value map */
272 };
273 static asn_oer_constraints_t asn_OER_type_pdcch_MonitoringAnyOccasionsWithSpanGap_constr_22 CC_NOTUSED = {
274         { 0, 0 },
275         -1};
276 static asn_per_constraints_t asn_PER_type_pdcch_MonitoringAnyOccasionsWithSpanGap_constr_22 CC_NOTUSED = {
277         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
278         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
279         0, 0    /* No PER value map */
280 };
281 static asn_oer_constraints_t asn_OER_type_ue_SpecificUL_DL_Assignment_constr_24 CC_NOTUSED = {
282         { 0, 0 },
283         -1};
284 static asn_per_constraints_t asn_PER_type_ue_SpecificUL_DL_Assignment_constr_24 CC_NOTUSED = {
285         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
286         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
287         0, 0    /* No PER value map */
288 };
289 static asn_oer_constraints_t asn_OER_type_searchSpaceSharingCA_DL_constr_26 CC_NOTUSED = {
290         { 0, 0 },
291         -1};
292 static asn_per_constraints_t asn_PER_type_searchSpaceSharingCA_DL_constr_26 CC_NOTUSED = {
293         { APC_CONSTRAINED,       0,  0,  0,  0 }        /* (0..0) */,
294         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
295         0, 0    /* No PER value map */
296 };
297 static asn_oer_constraints_t asn_OER_type_scs_60kHz_constr_29 CC_NOTUSED = {
298         { 0, 0 },
299         -1};
300 static asn_per_constraints_t asn_PER_type_scs_60kHz_constr_29 CC_NOTUSED = {
301         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
302         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
303         0, 0    /* No PER value map */
304 };
305 static asn_oer_constraints_t asn_OER_type_scs_120kHz_constr_33 CC_NOTUSED = {
306         { 0, 0 },
307         -1};
308 static asn_per_constraints_t asn_PER_type_scs_120kHz_constr_33 CC_NOTUSED = {
309         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
310         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
311         0, 0    /* No PER value map */
312 };
313 static asn_oer_constraints_t asn_OER_type_scs_15kHz_constr_37 CC_NOTUSED = {
314         { 0, 0 },
315         -1};
316 static asn_per_constraints_t asn_PER_type_scs_15kHz_constr_37 CC_NOTUSED = {
317         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
318         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
319         0, 0    /* No PER value map */
320 };
321 static asn_oer_constraints_t asn_OER_type_scs_30kHz_constr_41 CC_NOTUSED = {
322         { 0, 0 },
323         -1};
324 static asn_per_constraints_t asn_PER_type_scs_30kHz_constr_41 CC_NOTUSED = {
325         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
326         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
327         0, 0    /* No PER value map */
328 };
329 static asn_oer_constraints_t asn_OER_type_scs_60kHz_constr_45 CC_NOTUSED = {
330         { 0, 0 },
331         -1};
332 static asn_per_constraints_t asn_PER_type_scs_60kHz_constr_45 CC_NOTUSED = {
333         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
334         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
335         0, 0    /* No PER value map */
336 };
337 static asn_oer_constraints_t asn_OER_type_scs_120kHz_constr_49 CC_NOTUSED = {
338         { 0, 0 },
339         -1};
340 static asn_per_constraints_t asn_PER_type_scs_120kHz_constr_49 CC_NOTUSED = {
341         { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
342         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
343         0, 0    /* No PER value map */
344 };
345 static asn_oer_constraints_t asn_OER_type_typeI_SinglePanelCodebookList_constr_54 CC_NOTUSED = {
346         { 0, 0 },
347         -1      /* (SIZE(1..16)) */};
348 static asn_per_constraints_t asn_PER_type_typeI_SinglePanelCodebookList_constr_54 CC_NOTUSED = {
349         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
350         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
351         0, 0    /* No PER value map */
352 };
353 static asn_oer_constraints_t asn_OER_type_typeI_MultiPanelCodebookList_constr_56 CC_NOTUSED = {
354         { 0, 0 },
355         -1      /* (SIZE(1..16)) */};
356 static asn_per_constraints_t asn_PER_type_typeI_MultiPanelCodebookList_constr_56 CC_NOTUSED = {
357         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
358         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
359         0, 0    /* No PER value map */
360 };
361 static asn_oer_constraints_t asn_OER_type_typeII_CodebookList_constr_58 CC_NOTUSED = {
362         { 0, 0 },
363         -1      /* (SIZE(1..16)) */};
364 static asn_per_constraints_t asn_PER_type_typeII_CodebookList_constr_58 CC_NOTUSED = {
365         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
366         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
367         0, 0    /* No PER value map */
368 };
369 static asn_oer_constraints_t asn_OER_type_typeII_CodebookPortSelectionList_constr_60 CC_NOTUSED = {
370         { 0, 0 },
371         -1      /* (SIZE(1..16)) */};
372 static asn_per_constraints_t asn_PER_type_typeII_CodebookPortSelectionList_constr_60 CC_NOTUSED = {
373         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
374         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
375         0, 0    /* No PER value map */
376 };
377 static asn_oer_constraints_t asn_OER_memb_featureSetListPerDownlinkCC_constr_2 CC_NOTUSED = {
378         { 0, 0 },
379         -1      /* (SIZE(1..32)) */};
380 static asn_per_constraints_t asn_PER_memb_featureSetListPerDownlinkCC_constr_2 CC_NOTUSED = {
381         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
382         { APC_CONSTRAINED,       5,  5,  1,  32 }       /* (SIZE(1..32)) */,
383         0, 0    /* No PER value map */
384 };
385 static asn_oer_constraints_t asn_OER_memb_typeI_SinglePanelCodebookList_constr_54 CC_NOTUSED = {
386         { 0, 0 },
387         -1      /* (SIZE(1..16)) */};
388 static asn_per_constraints_t asn_PER_memb_typeI_SinglePanelCodebookList_constr_54 CC_NOTUSED = {
389         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
390         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
391         0, 0    /* No PER value map */
392 };
393 static asn_oer_constraints_t asn_OER_memb_typeI_MultiPanelCodebookList_constr_56 CC_NOTUSED = {
394         { 0, 0 },
395         -1      /* (SIZE(1..16)) */};
396 static asn_per_constraints_t asn_PER_memb_typeI_MultiPanelCodebookList_constr_56 CC_NOTUSED = {
397         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
398         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
399         0, 0    /* No PER value map */
400 };
401 static asn_oer_constraints_t asn_OER_memb_typeII_CodebookList_constr_58 CC_NOTUSED = {
402         { 0, 0 },
403         -1      /* (SIZE(1..16)) */};
404 static asn_per_constraints_t asn_PER_memb_typeII_CodebookList_constr_58 CC_NOTUSED = {
405         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
406         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
407         0, 0    /* No PER value map */
408 };
409 static asn_oer_constraints_t asn_OER_memb_typeII_CodebookPortSelectionList_constr_60 CC_NOTUSED = {
410         { 0, 0 },
411         -1      /* (SIZE(1..16)) */};
412 static asn_per_constraints_t asn_PER_memb_typeII_CodebookPortSelectionList_constr_60 CC_NOTUSED = {
413         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
414         { APC_CONSTRAINED,       4,  4,  1,  16 }       /* (SIZE(1..16)) */,
415         0, 0    /* No PER value map */
416 };
417 static asn_TYPE_member_t asn_MBR_featureSetListPerDownlinkCC_2[] = {
418         { ATF_POINTER, 0, 0,
419                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
420                 0,
421                 &asn_DEF_FeatureSetDownlinkPerCC_Id,
422                 0,
423                 { 0, 0, 0 },
424                 0, 0, /* No default value */
425                 ""
426                 },
427 };
428 static const ber_tlv_tag_t asn_DEF_featureSetListPerDownlinkCC_tags_2[] = {
429         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
430         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
431 };
432 static asn_SET_OF_specifics_t asn_SPC_featureSetListPerDownlinkCC_specs_2 = {
433         sizeof(struct FeatureSetDownlink__featureSetListPerDownlinkCC),
434         offsetof(struct FeatureSetDownlink__featureSetListPerDownlinkCC, _asn_ctx),
435         0,      /* XER encoding is XMLDelimitedItemList */
436 };
437 static /* Use -fall-defs-global to expose */
438 asn_TYPE_descriptor_t asn_DEF_featureSetListPerDownlinkCC_2 = {
439         "featureSetListPerDownlinkCC",
440         "featureSetListPerDownlinkCC",
441         &asn_OP_SEQUENCE_OF,
442         asn_DEF_featureSetListPerDownlinkCC_tags_2,
443         sizeof(asn_DEF_featureSetListPerDownlinkCC_tags_2)
444                 /sizeof(asn_DEF_featureSetListPerDownlinkCC_tags_2[0]) - 1, /* 1 */
445         asn_DEF_featureSetListPerDownlinkCC_tags_2,     /* Same as above */
446         sizeof(asn_DEF_featureSetListPerDownlinkCC_tags_2)
447                 /sizeof(asn_DEF_featureSetListPerDownlinkCC_tags_2[0]), /* 2 */
448         { &asn_OER_type_featureSetListPerDownlinkCC_constr_2, &asn_PER_type_featureSetListPerDownlinkCC_constr_2, SEQUENCE_OF_constraint },
449         asn_MBR_featureSetListPerDownlinkCC_2,
450         1,      /* Single element */
451         &asn_SPC_featureSetListPerDownlinkCC_specs_2    /* Additional specs */
452 };
453
454 static const asn_INTEGER_enum_map_t asn_MAP_scalingFactor_value2enum_5[] = {
455         { 0,    4,      "f0p4" },
456         { 1,    5,      "f0p75" },
457         { 2,    4,      "f0p8" }
458 };
459 static const unsigned int asn_MAP_scalingFactor_enum2value_5[] = {
460         0,      /* f0p4(0) */
461         1,      /* f0p75(1) */
462         2       /* f0p8(2) */
463 };
464 static const asn_INTEGER_specifics_t asn_SPC_scalingFactor_specs_5 = {
465         asn_MAP_scalingFactor_value2enum_5,     /* "tag" => N; sorted by tag */
466         asn_MAP_scalingFactor_enum2value_5,     /* N => "tag"; sorted by N */
467         3,      /* Number of elements in the maps */
468         0,      /* Enumeration is not extensible */
469         1,      /* Strict enumeration */
470         0,      /* Native long size */
471         0
472 };
473 static const ber_tlv_tag_t asn_DEF_scalingFactor_tags_5[] = {
474         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
475         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
476 };
477 static /* Use -fall-defs-global to expose */
478 asn_TYPE_descriptor_t asn_DEF_scalingFactor_5 = {
479         "scalingFactor",
480         "scalingFactor",
481         &asn_OP_NativeEnumerated,
482         asn_DEF_scalingFactor_tags_5,
483         sizeof(asn_DEF_scalingFactor_tags_5)
484                 /sizeof(asn_DEF_scalingFactor_tags_5[0]) - 1, /* 1 */
485         asn_DEF_scalingFactor_tags_5,   /* Same as above */
486         sizeof(asn_DEF_scalingFactor_tags_5)
487                 /sizeof(asn_DEF_scalingFactor_tags_5[0]), /* 2 */
488         { &asn_OER_type_scalingFactor_constr_5, &asn_PER_type_scalingFactor_constr_5, NativeEnumerated_constraint },
489         0, 0,   /* Defined elsewhere */
490         &asn_SPC_scalingFactor_specs_5  /* Additional specs */
491 };
492
493 static const asn_INTEGER_enum_map_t asn_MAP_crossCarrierScheduling_OtherSCS_value2enum_9[] = {
494         { 0,    9,      "supported" }
495 };
496 static const unsigned int asn_MAP_crossCarrierScheduling_OtherSCS_enum2value_9[] = {
497         0       /* supported(0) */
498 };
499 static const asn_INTEGER_specifics_t asn_SPC_crossCarrierScheduling_OtherSCS_specs_9 = {
500         asn_MAP_crossCarrierScheduling_OtherSCS_value2enum_9,   /* "tag" => N; sorted by tag */
501         asn_MAP_crossCarrierScheduling_OtherSCS_enum2value_9,   /* N => "tag"; sorted by N */
502         1,      /* Number of elements in the maps */
503         0,      /* Enumeration is not extensible */
504         1,      /* Strict enumeration */
505         0,      /* Native long size */
506         0
507 };
508 static const ber_tlv_tag_t asn_DEF_crossCarrierScheduling_OtherSCS_tags_9[] = {
509         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
510         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
511 };
512 static /* Use -fall-defs-global to expose */
513 asn_TYPE_descriptor_t asn_DEF_crossCarrierScheduling_OtherSCS_9 = {
514         "crossCarrierScheduling-OtherSCS",
515         "crossCarrierScheduling-OtherSCS",
516         &asn_OP_NativeEnumerated,
517         asn_DEF_crossCarrierScheduling_OtherSCS_tags_9,
518         sizeof(asn_DEF_crossCarrierScheduling_OtherSCS_tags_9)
519                 /sizeof(asn_DEF_crossCarrierScheduling_OtherSCS_tags_9[0]) - 1, /* 1 */
520         asn_DEF_crossCarrierScheduling_OtherSCS_tags_9, /* Same as above */
521         sizeof(asn_DEF_crossCarrierScheduling_OtherSCS_tags_9)
522                 /sizeof(asn_DEF_crossCarrierScheduling_OtherSCS_tags_9[0]), /* 2 */
523         { &asn_OER_type_crossCarrierScheduling_OtherSCS_constr_9, &asn_PER_type_crossCarrierScheduling_OtherSCS_constr_9, NativeEnumerated_constraint },
524         0, 0,   /* Defined elsewhere */
525         &asn_SPC_crossCarrierScheduling_OtherSCS_specs_9        /* Additional specs */
526 };
527
528 static const asn_INTEGER_enum_map_t asn_MAP_scellWithoutSSB_value2enum_11[] = {
529         { 0,    9,      "supported" }
530 };
531 static const unsigned int asn_MAP_scellWithoutSSB_enum2value_11[] = {
532         0       /* supported(0) */
533 };
534 static const asn_INTEGER_specifics_t asn_SPC_scellWithoutSSB_specs_11 = {
535         asn_MAP_scellWithoutSSB_value2enum_11,  /* "tag" => N; sorted by tag */
536         asn_MAP_scellWithoutSSB_enum2value_11,  /* N => "tag"; sorted by N */
537         1,      /* Number of elements in the maps */
538         0,      /* Enumeration is not extensible */
539         1,      /* Strict enumeration */
540         0,      /* Native long size */
541         0
542 };
543 static const ber_tlv_tag_t asn_DEF_scellWithoutSSB_tags_11[] = {
544         (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
545         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
546 };
547 static /* Use -fall-defs-global to expose */
548 asn_TYPE_descriptor_t asn_DEF_scellWithoutSSB_11 = {
549         "scellWithoutSSB",
550         "scellWithoutSSB",
551         &asn_OP_NativeEnumerated,
552         asn_DEF_scellWithoutSSB_tags_11,
553         sizeof(asn_DEF_scellWithoutSSB_tags_11)
554                 /sizeof(asn_DEF_scellWithoutSSB_tags_11[0]) - 1, /* 1 */
555         asn_DEF_scellWithoutSSB_tags_11,        /* Same as above */
556         sizeof(asn_DEF_scellWithoutSSB_tags_11)
557                 /sizeof(asn_DEF_scellWithoutSSB_tags_11[0]), /* 2 */
558         { &asn_OER_type_scellWithoutSSB_constr_11, &asn_PER_type_scellWithoutSSB_constr_11, NativeEnumerated_constraint },
559         0, 0,   /* Defined elsewhere */
560         &asn_SPC_scellWithoutSSB_specs_11       /* Additional specs */
561 };
562
563 static const asn_INTEGER_enum_map_t asn_MAP_csi_RS_MeasSCellWithoutSSB_value2enum_13[] = {
564         { 0,    9,      "supported" }
565 };
566 static const unsigned int asn_MAP_csi_RS_MeasSCellWithoutSSB_enum2value_13[] = {
567         0       /* supported(0) */
568 };
569 static const asn_INTEGER_specifics_t asn_SPC_csi_RS_MeasSCellWithoutSSB_specs_13 = {
570         asn_MAP_csi_RS_MeasSCellWithoutSSB_value2enum_13,       /* "tag" => N; sorted by tag */
571         asn_MAP_csi_RS_MeasSCellWithoutSSB_enum2value_13,       /* N => "tag"; sorted by N */
572         1,      /* Number of elements in the maps */
573         0,      /* Enumeration is not extensible */
574         1,      /* Strict enumeration */
575         0,      /* Native long size */
576         0
577 };
578 static const ber_tlv_tag_t asn_DEF_csi_RS_MeasSCellWithoutSSB_tags_13[] = {
579         (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
580         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
581 };
582 static /* Use -fall-defs-global to expose */
583 asn_TYPE_descriptor_t asn_DEF_csi_RS_MeasSCellWithoutSSB_13 = {
584         "csi-RS-MeasSCellWithoutSSB",
585         "csi-RS-MeasSCellWithoutSSB",
586         &asn_OP_NativeEnumerated,
587         asn_DEF_csi_RS_MeasSCellWithoutSSB_tags_13,
588         sizeof(asn_DEF_csi_RS_MeasSCellWithoutSSB_tags_13)
589                 /sizeof(asn_DEF_csi_RS_MeasSCellWithoutSSB_tags_13[0]) - 1, /* 1 */
590         asn_DEF_csi_RS_MeasSCellWithoutSSB_tags_13,     /* Same as above */
591         sizeof(asn_DEF_csi_RS_MeasSCellWithoutSSB_tags_13)
592                 /sizeof(asn_DEF_csi_RS_MeasSCellWithoutSSB_tags_13[0]), /* 2 */
593         { &asn_OER_type_csi_RS_MeasSCellWithoutSSB_constr_13, &asn_PER_type_csi_RS_MeasSCellWithoutSSB_constr_13, NativeEnumerated_constraint },
594         0, 0,   /* Defined elsewhere */
595         &asn_SPC_csi_RS_MeasSCellWithoutSSB_specs_13    /* Additional specs */
596 };
597
598 static const asn_INTEGER_enum_map_t asn_MAP_srs_AssocCSI_RS_value2enum_15[] = {
599         { 0,    9,      "supported" }
600 };
601 static const unsigned int asn_MAP_srs_AssocCSI_RS_enum2value_15[] = {
602         0       /* supported(0) */
603 };
604 static const asn_INTEGER_specifics_t asn_SPC_srs_AssocCSI_RS_specs_15 = {
605         asn_MAP_srs_AssocCSI_RS_value2enum_15,  /* "tag" => N; sorted by tag */
606         asn_MAP_srs_AssocCSI_RS_enum2value_15,  /* N => "tag"; sorted by N */
607         1,      /* Number of elements in the maps */
608         0,      /* Enumeration is not extensible */
609         1,      /* Strict enumeration */
610         0,      /* Native long size */
611         0
612 };
613 static const ber_tlv_tag_t asn_DEF_srs_AssocCSI_RS_tags_15[] = {
614         (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
615         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
616 };
617 static /* Use -fall-defs-global to expose */
618 asn_TYPE_descriptor_t asn_DEF_srs_AssocCSI_RS_15 = {
619         "srs-AssocCSI-RS",
620         "srs-AssocCSI-RS",
621         &asn_OP_NativeEnumerated,
622         asn_DEF_srs_AssocCSI_RS_tags_15,
623         sizeof(asn_DEF_srs_AssocCSI_RS_tags_15)
624                 /sizeof(asn_DEF_srs_AssocCSI_RS_tags_15[0]) - 1, /* 1 */
625         asn_DEF_srs_AssocCSI_RS_tags_15,        /* Same as above */
626         sizeof(asn_DEF_srs_AssocCSI_RS_tags_15)
627                 /sizeof(asn_DEF_srs_AssocCSI_RS_tags_15[0]), /* 2 */
628         { &asn_OER_type_srs_AssocCSI_RS_constr_15, &asn_PER_type_srs_AssocCSI_RS_constr_15, NativeEnumerated_constraint },
629         0, 0,   /* Defined elsewhere */
630         &asn_SPC_srs_AssocCSI_RS_specs_15       /* Additional specs */
631 };
632
633 static const asn_INTEGER_enum_map_t asn_MAP_type1_3_CSS_value2enum_17[] = {
634         { 0,    9,      "supported" }
635 };
636 static const unsigned int asn_MAP_type1_3_CSS_enum2value_17[] = {
637         0       /* supported(0) */
638 };
639 static const asn_INTEGER_specifics_t asn_SPC_type1_3_CSS_specs_17 = {
640         asn_MAP_type1_3_CSS_value2enum_17,      /* "tag" => N; sorted by tag */
641         asn_MAP_type1_3_CSS_enum2value_17,      /* N => "tag"; sorted by N */
642         1,      /* Number of elements in the maps */
643         0,      /* Enumeration is not extensible */
644         1,      /* Strict enumeration */
645         0,      /* Native long size */
646         0
647 };
648 static const ber_tlv_tag_t asn_DEF_type1_3_CSS_tags_17[] = {
649         (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
650         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
651 };
652 static /* Use -fall-defs-global to expose */
653 asn_TYPE_descriptor_t asn_DEF_type1_3_CSS_17 = {
654         "type1-3-CSS",
655         "type1-3-CSS",
656         &asn_OP_NativeEnumerated,
657         asn_DEF_type1_3_CSS_tags_17,
658         sizeof(asn_DEF_type1_3_CSS_tags_17)
659                 /sizeof(asn_DEF_type1_3_CSS_tags_17[0]) - 1, /* 1 */
660         asn_DEF_type1_3_CSS_tags_17,    /* Same as above */
661         sizeof(asn_DEF_type1_3_CSS_tags_17)
662                 /sizeof(asn_DEF_type1_3_CSS_tags_17[0]), /* 2 */
663         { &asn_OER_type_type1_3_CSS_constr_17, &asn_PER_type_type1_3_CSS_constr_17, NativeEnumerated_constraint },
664         0, 0,   /* Defined elsewhere */
665         &asn_SPC_type1_3_CSS_specs_17   /* Additional specs */
666 };
667
668 static const asn_INTEGER_enum_map_t asn_MAP_pdcch_MonitoringAnyOccasions_value2enum_19[] = {
669         { 0,    14,     "withoutDCI-Gap" },
670         { 1,    11,     "withDCI-Gap" }
671 };
672 static const unsigned int asn_MAP_pdcch_MonitoringAnyOccasions_enum2value_19[] = {
673         1,      /* withDCI-Gap(1) */
674         0       /* withoutDCI-Gap(0) */
675 };
676 static const asn_INTEGER_specifics_t asn_SPC_pdcch_MonitoringAnyOccasions_specs_19 = {
677         asn_MAP_pdcch_MonitoringAnyOccasions_value2enum_19,     /* "tag" => N; sorted by tag */
678         asn_MAP_pdcch_MonitoringAnyOccasions_enum2value_19,     /* N => "tag"; sorted by N */
679         2,      /* Number of elements in the maps */
680         0,      /* Enumeration is not extensible */
681         1,      /* Strict enumeration */
682         0,      /* Native long size */
683         0
684 };
685 static const ber_tlv_tag_t asn_DEF_pdcch_MonitoringAnyOccasions_tags_19[] = {
686         (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
687         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
688 };
689 static /* Use -fall-defs-global to expose */
690 asn_TYPE_descriptor_t asn_DEF_pdcch_MonitoringAnyOccasions_19 = {
691         "pdcch-MonitoringAnyOccasions",
692         "pdcch-MonitoringAnyOccasions",
693         &asn_OP_NativeEnumerated,
694         asn_DEF_pdcch_MonitoringAnyOccasions_tags_19,
695         sizeof(asn_DEF_pdcch_MonitoringAnyOccasions_tags_19)
696                 /sizeof(asn_DEF_pdcch_MonitoringAnyOccasions_tags_19[0]) - 1, /* 1 */
697         asn_DEF_pdcch_MonitoringAnyOccasions_tags_19,   /* Same as above */
698         sizeof(asn_DEF_pdcch_MonitoringAnyOccasions_tags_19)
699                 /sizeof(asn_DEF_pdcch_MonitoringAnyOccasions_tags_19[0]), /* 2 */
700         { &asn_OER_type_pdcch_MonitoringAnyOccasions_constr_19, &asn_PER_type_pdcch_MonitoringAnyOccasions_constr_19, NativeEnumerated_constraint },
701         0, 0,   /* Defined elsewhere */
702         &asn_SPC_pdcch_MonitoringAnyOccasions_specs_19  /* Additional specs */
703 };
704
705 static const asn_INTEGER_enum_map_t asn_MAP_pdcch_MonitoringAnyOccasionsWithSpanGap_value2enum_22[] = {
706         { 0,    9,      "supported" }
707 };
708 static const unsigned int asn_MAP_pdcch_MonitoringAnyOccasionsWithSpanGap_enum2value_22[] = {
709         0       /* supported(0) */
710 };
711 static const asn_INTEGER_specifics_t asn_SPC_pdcch_MonitoringAnyOccasionsWithSpanGap_specs_22 = {
712         asn_MAP_pdcch_MonitoringAnyOccasionsWithSpanGap_value2enum_22,  /* "tag" => N; sorted by tag */
713         asn_MAP_pdcch_MonitoringAnyOccasionsWithSpanGap_enum2value_22,  /* N => "tag"; sorted by N */
714         1,      /* Number of elements in the maps */
715         0,      /* Enumeration is not extensible */
716         1,      /* Strict enumeration */
717         0,      /* Native long size */
718         0
719 };
720 static const ber_tlv_tag_t asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_tags_22[] = {
721         (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
722         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
723 };
724 static /* Use -fall-defs-global to expose */
725 asn_TYPE_descriptor_t asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_22 = {
726         "pdcch-MonitoringAnyOccasionsWithSpanGap",
727         "pdcch-MonitoringAnyOccasionsWithSpanGap",
728         &asn_OP_NativeEnumerated,
729         asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_tags_22,
730         sizeof(asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_tags_22)
731                 /sizeof(asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_tags_22[0]) - 1, /* 1 */
732         asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_tags_22,        /* Same as above */
733         sizeof(asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_tags_22)
734                 /sizeof(asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_tags_22[0]), /* 2 */
735         { &asn_OER_type_pdcch_MonitoringAnyOccasionsWithSpanGap_constr_22, &asn_PER_type_pdcch_MonitoringAnyOccasionsWithSpanGap_constr_22, NativeEnumerated_constraint },
736         0, 0,   /* Defined elsewhere */
737         &asn_SPC_pdcch_MonitoringAnyOccasionsWithSpanGap_specs_22       /* Additional specs */
738 };
739
740 static const asn_INTEGER_enum_map_t asn_MAP_ue_SpecificUL_DL_Assignment_value2enum_24[] = {
741         { 0,    9,      "supported" }
742 };
743 static const unsigned int asn_MAP_ue_SpecificUL_DL_Assignment_enum2value_24[] = {
744         0       /* supported(0) */
745 };
746 static const asn_INTEGER_specifics_t asn_SPC_ue_SpecificUL_DL_Assignment_specs_24 = {
747         asn_MAP_ue_SpecificUL_DL_Assignment_value2enum_24,      /* "tag" => N; sorted by tag */
748         asn_MAP_ue_SpecificUL_DL_Assignment_enum2value_24,      /* N => "tag"; sorted by N */
749         1,      /* Number of elements in the maps */
750         0,      /* Enumeration is not extensible */
751         1,      /* Strict enumeration */
752         0,      /* Native long size */
753         0
754 };
755 static const ber_tlv_tag_t asn_DEF_ue_SpecificUL_DL_Assignment_tags_24[] = {
756         (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
757         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
758 };
759 static /* Use -fall-defs-global to expose */
760 asn_TYPE_descriptor_t asn_DEF_ue_SpecificUL_DL_Assignment_24 = {
761         "ue-SpecificUL-DL-Assignment",
762         "ue-SpecificUL-DL-Assignment",
763         &asn_OP_NativeEnumerated,
764         asn_DEF_ue_SpecificUL_DL_Assignment_tags_24,
765         sizeof(asn_DEF_ue_SpecificUL_DL_Assignment_tags_24)
766                 /sizeof(asn_DEF_ue_SpecificUL_DL_Assignment_tags_24[0]) - 1, /* 1 */
767         asn_DEF_ue_SpecificUL_DL_Assignment_tags_24,    /* Same as above */
768         sizeof(asn_DEF_ue_SpecificUL_DL_Assignment_tags_24)
769                 /sizeof(asn_DEF_ue_SpecificUL_DL_Assignment_tags_24[0]), /* 2 */
770         { &asn_OER_type_ue_SpecificUL_DL_Assignment_constr_24, &asn_PER_type_ue_SpecificUL_DL_Assignment_constr_24, NativeEnumerated_constraint },
771         0, 0,   /* Defined elsewhere */
772         &asn_SPC_ue_SpecificUL_DL_Assignment_specs_24   /* Additional specs */
773 };
774
775 static const asn_INTEGER_enum_map_t asn_MAP_searchSpaceSharingCA_DL_value2enum_26[] = {
776         { 0,    9,      "supported" }
777 };
778 static const unsigned int asn_MAP_searchSpaceSharingCA_DL_enum2value_26[] = {
779         0       /* supported(0) */
780 };
781 static const asn_INTEGER_specifics_t asn_SPC_searchSpaceSharingCA_DL_specs_26 = {
782         asn_MAP_searchSpaceSharingCA_DL_value2enum_26,  /* "tag" => N; sorted by tag */
783         asn_MAP_searchSpaceSharingCA_DL_enum2value_26,  /* N => "tag"; sorted by N */
784         1,      /* Number of elements in the maps */
785         0,      /* Enumeration is not extensible */
786         1,      /* Strict enumeration */
787         0,      /* Native long size */
788         0
789 };
790 static const ber_tlv_tag_t asn_DEF_searchSpaceSharingCA_DL_tags_26[] = {
791         (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
792         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
793 };
794 static /* Use -fall-defs-global to expose */
795 asn_TYPE_descriptor_t asn_DEF_searchSpaceSharingCA_DL_26 = {
796         "searchSpaceSharingCA-DL",
797         "searchSpaceSharingCA-DL",
798         &asn_OP_NativeEnumerated,
799         asn_DEF_searchSpaceSharingCA_DL_tags_26,
800         sizeof(asn_DEF_searchSpaceSharingCA_DL_tags_26)
801                 /sizeof(asn_DEF_searchSpaceSharingCA_DL_tags_26[0]) - 1, /* 1 */
802         asn_DEF_searchSpaceSharingCA_DL_tags_26,        /* Same as above */
803         sizeof(asn_DEF_searchSpaceSharingCA_DL_tags_26)
804                 /sizeof(asn_DEF_searchSpaceSharingCA_DL_tags_26[0]), /* 2 */
805         { &asn_OER_type_searchSpaceSharingCA_DL_constr_26, &asn_PER_type_searchSpaceSharingCA_DL_constr_26, NativeEnumerated_constraint },
806         0, 0,   /* Defined elsewhere */
807         &asn_SPC_searchSpaceSharingCA_DL_specs_26       /* Additional specs */
808 };
809
810 static const asn_INTEGER_enum_map_t asn_MAP_scs_60kHz_value2enum_29[] = {
811         { 0,    2,      "s7" },
812         { 1,    3,      "s14" },
813         { 2,    3,      "s28" }
814 };
815 static const unsigned int asn_MAP_scs_60kHz_enum2value_29[] = {
816         1,      /* s14(1) */
817         2,      /* s28(2) */
818         0       /* s7(0) */
819 };
820 static const asn_INTEGER_specifics_t asn_SPC_scs_60kHz_specs_29 = {
821         asn_MAP_scs_60kHz_value2enum_29,        /* "tag" => N; sorted by tag */
822         asn_MAP_scs_60kHz_enum2value_29,        /* N => "tag"; sorted by N */
823         3,      /* Number of elements in the maps */
824         0,      /* Enumeration is not extensible */
825         1,      /* Strict enumeration */
826         0,      /* Native long size */
827         0
828 };
829 static const ber_tlv_tag_t asn_DEF_scs_60kHz_tags_29[] = {
830         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
831         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
832 };
833 static /* Use -fall-defs-global to expose */
834 asn_TYPE_descriptor_t asn_DEF_scs_60kHz_29 = {
835         "scs-60kHz",
836         "scs-60kHz",
837         &asn_OP_NativeEnumerated,
838         asn_DEF_scs_60kHz_tags_29,
839         sizeof(asn_DEF_scs_60kHz_tags_29)
840                 /sizeof(asn_DEF_scs_60kHz_tags_29[0]) - 1, /* 1 */
841         asn_DEF_scs_60kHz_tags_29,      /* Same as above */
842         sizeof(asn_DEF_scs_60kHz_tags_29)
843                 /sizeof(asn_DEF_scs_60kHz_tags_29[0]), /* 2 */
844         { &asn_OER_type_scs_60kHz_constr_29, &asn_PER_type_scs_60kHz_constr_29, NativeEnumerated_constraint },
845         0, 0,   /* Defined elsewhere */
846         &asn_SPC_scs_60kHz_specs_29     /* Additional specs */
847 };
848
849 static const asn_INTEGER_enum_map_t asn_MAP_scs_120kHz_value2enum_33[] = {
850         { 0,    3,      "s14" },
851         { 1,    3,      "s28" }
852 };
853 static const unsigned int asn_MAP_scs_120kHz_enum2value_33[] = {
854         0,      /* s14(0) */
855         1       /* s28(1) */
856 };
857 static const asn_INTEGER_specifics_t asn_SPC_scs_120kHz_specs_33 = {
858         asn_MAP_scs_120kHz_value2enum_33,       /* "tag" => N; sorted by tag */
859         asn_MAP_scs_120kHz_enum2value_33,       /* N => "tag"; sorted by N */
860         2,      /* Number of elements in the maps */
861         0,      /* Enumeration is not extensible */
862         1,      /* Strict enumeration */
863         0,      /* Native long size */
864         0
865 };
866 static const ber_tlv_tag_t asn_DEF_scs_120kHz_tags_33[] = {
867         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
868         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
869 };
870 static /* Use -fall-defs-global to expose */
871 asn_TYPE_descriptor_t asn_DEF_scs_120kHz_33 = {
872         "scs-120kHz",
873         "scs-120kHz",
874         &asn_OP_NativeEnumerated,
875         asn_DEF_scs_120kHz_tags_33,
876         sizeof(asn_DEF_scs_120kHz_tags_33)
877                 /sizeof(asn_DEF_scs_120kHz_tags_33[0]) - 1, /* 1 */
878         asn_DEF_scs_120kHz_tags_33,     /* Same as above */
879         sizeof(asn_DEF_scs_120kHz_tags_33)
880                 /sizeof(asn_DEF_scs_120kHz_tags_33[0]), /* 2 */
881         { &asn_OER_type_scs_120kHz_constr_33, &asn_PER_type_scs_120kHz_constr_33, NativeEnumerated_constraint },
882         0, 0,   /* Defined elsewhere */
883         &asn_SPC_scs_120kHz_specs_33    /* Additional specs */
884 };
885
886 static asn_TYPE_member_t asn_MBR_timeDurationForQCL_28[] = {
887         { ATF_POINTER, 2, offsetof(struct FeatureSetDownlink__timeDurationForQCL, scs_60kHz),
888                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
889                 -1,     /* IMPLICIT tag at current level */
890                 &asn_DEF_scs_60kHz_29,
891                 0,
892                 { 0, 0, 0 },
893                 0, 0, /* No default value */
894                 "scs-60kHz"
895                 },
896         { ATF_POINTER, 1, offsetof(struct FeatureSetDownlink__timeDurationForQCL, scs_120kHz),
897                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
898                 -1,     /* IMPLICIT tag at current level */
899                 &asn_DEF_scs_120kHz_33,
900                 0,
901                 { 0, 0, 0 },
902                 0, 0, /* No default value */
903                 "scs-120kHz"
904                 },
905 };
906 static const int asn_MAP_timeDurationForQCL_oms_28[] = { 0, 1 };
907 static const ber_tlv_tag_t asn_DEF_timeDurationForQCL_tags_28[] = {
908         (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
909         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
910 };
911 static const asn_TYPE_tag2member_t asn_MAP_timeDurationForQCL_tag2el_28[] = {
912     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-60kHz */
913     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* scs-120kHz */
914 };
915 static asn_SEQUENCE_specifics_t asn_SPC_timeDurationForQCL_specs_28 = {
916         sizeof(struct FeatureSetDownlink__timeDurationForQCL),
917         offsetof(struct FeatureSetDownlink__timeDurationForQCL, _asn_ctx),
918         asn_MAP_timeDurationForQCL_tag2el_28,
919         2,      /* Count of tags in the map */
920         asn_MAP_timeDurationForQCL_oms_28,      /* Optional members */
921         2, 0,   /* Root/Additions */
922         -1,     /* First extension addition */
923 };
924 static /* Use -fall-defs-global to expose */
925 asn_TYPE_descriptor_t asn_DEF_timeDurationForQCL_28 = {
926         "timeDurationForQCL",
927         "timeDurationForQCL",
928         &asn_OP_SEQUENCE,
929         asn_DEF_timeDurationForQCL_tags_28,
930         sizeof(asn_DEF_timeDurationForQCL_tags_28)
931                 /sizeof(asn_DEF_timeDurationForQCL_tags_28[0]) - 1, /* 1 */
932         asn_DEF_timeDurationForQCL_tags_28,     /* Same as above */
933         sizeof(asn_DEF_timeDurationForQCL_tags_28)
934                 /sizeof(asn_DEF_timeDurationForQCL_tags_28[0]), /* 2 */
935         { 0, 0, SEQUENCE_constraint },
936         asn_MBR_timeDurationForQCL_28,
937         2,      /* Elements count */
938         &asn_SPC_timeDurationForQCL_specs_28    /* Additional specs */
939 };
940
941 static const asn_INTEGER_enum_map_t asn_MAP_scs_15kHz_value2enum_37[] = {
942         { 0,    5,      "upto2" },
943         { 1,    5,      "upto4" },
944         { 2,    5,      "upto7" }
945 };
946 static const unsigned int asn_MAP_scs_15kHz_enum2value_37[] = {
947         0,      /* upto2(0) */
948         1,      /* upto4(1) */
949         2       /* upto7(2) */
950 };
951 static const asn_INTEGER_specifics_t asn_SPC_scs_15kHz_specs_37 = {
952         asn_MAP_scs_15kHz_value2enum_37,        /* "tag" => N; sorted by tag */
953         asn_MAP_scs_15kHz_enum2value_37,        /* N => "tag"; sorted by N */
954         3,      /* Number of elements in the maps */
955         0,      /* Enumeration is not extensible */
956         1,      /* Strict enumeration */
957         0,      /* Native long size */
958         0
959 };
960 static const ber_tlv_tag_t asn_DEF_scs_15kHz_tags_37[] = {
961         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
962         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
963 };
964 static /* Use -fall-defs-global to expose */
965 asn_TYPE_descriptor_t asn_DEF_scs_15kHz_37 = {
966         "scs-15kHz",
967         "scs-15kHz",
968         &asn_OP_NativeEnumerated,
969         asn_DEF_scs_15kHz_tags_37,
970         sizeof(asn_DEF_scs_15kHz_tags_37)
971                 /sizeof(asn_DEF_scs_15kHz_tags_37[0]) - 1, /* 1 */
972         asn_DEF_scs_15kHz_tags_37,      /* Same as above */
973         sizeof(asn_DEF_scs_15kHz_tags_37)
974                 /sizeof(asn_DEF_scs_15kHz_tags_37[0]), /* 2 */
975         { &asn_OER_type_scs_15kHz_constr_37, &asn_PER_type_scs_15kHz_constr_37, NativeEnumerated_constraint },
976         0, 0,   /* Defined elsewhere */
977         &asn_SPC_scs_15kHz_specs_37     /* Additional specs */
978 };
979
980 static const asn_INTEGER_enum_map_t asn_MAP_scs_30kHz_value2enum_41[] = {
981         { 0,    5,      "upto2" },
982         { 1,    5,      "upto4" },
983         { 2,    5,      "upto7" }
984 };
985 static const unsigned int asn_MAP_scs_30kHz_enum2value_41[] = {
986         0,      /* upto2(0) */
987         1,      /* upto4(1) */
988         2       /* upto7(2) */
989 };
990 static const asn_INTEGER_specifics_t asn_SPC_scs_30kHz_specs_41 = {
991         asn_MAP_scs_30kHz_value2enum_41,        /* "tag" => N; sorted by tag */
992         asn_MAP_scs_30kHz_enum2value_41,        /* N => "tag"; sorted by N */
993         3,      /* Number of elements in the maps */
994         0,      /* Enumeration is not extensible */
995         1,      /* Strict enumeration */
996         0,      /* Native long size */
997         0
998 };
999 static const ber_tlv_tag_t asn_DEF_scs_30kHz_tags_41[] = {
1000         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1001         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1002 };
1003 static /* Use -fall-defs-global to expose */
1004 asn_TYPE_descriptor_t asn_DEF_scs_30kHz_41 = {
1005         "scs-30kHz",
1006         "scs-30kHz",
1007         &asn_OP_NativeEnumerated,
1008         asn_DEF_scs_30kHz_tags_41,
1009         sizeof(asn_DEF_scs_30kHz_tags_41)
1010                 /sizeof(asn_DEF_scs_30kHz_tags_41[0]) - 1, /* 1 */
1011         asn_DEF_scs_30kHz_tags_41,      /* Same as above */
1012         sizeof(asn_DEF_scs_30kHz_tags_41)
1013                 /sizeof(asn_DEF_scs_30kHz_tags_41[0]), /* 2 */
1014         { &asn_OER_type_scs_30kHz_constr_41, &asn_PER_type_scs_30kHz_constr_41, NativeEnumerated_constraint },
1015         0, 0,   /* Defined elsewhere */
1016         &asn_SPC_scs_30kHz_specs_41     /* Additional specs */
1017 };
1018
1019 static const asn_INTEGER_enum_map_t asn_MAP_scs_60kHz_value2enum_45[] = {
1020         { 0,    5,      "upto2" },
1021         { 1,    5,      "upto4" },
1022         { 2,    5,      "upto7" }
1023 };
1024 static const unsigned int asn_MAP_scs_60kHz_enum2value_45[] = {
1025         0,      /* upto2(0) */
1026         1,      /* upto4(1) */
1027         2       /* upto7(2) */
1028 };
1029 static const asn_INTEGER_specifics_t asn_SPC_scs_60kHz_specs_45 = {
1030         asn_MAP_scs_60kHz_value2enum_45,        /* "tag" => N; sorted by tag */
1031         asn_MAP_scs_60kHz_enum2value_45,        /* N => "tag"; sorted by N */
1032         3,      /* Number of elements in the maps */
1033         0,      /* Enumeration is not extensible */
1034         1,      /* Strict enumeration */
1035         0,      /* Native long size */
1036         0
1037 };
1038 static const ber_tlv_tag_t asn_DEF_scs_60kHz_tags_45[] = {
1039         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1040         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1041 };
1042 static /* Use -fall-defs-global to expose */
1043 asn_TYPE_descriptor_t asn_DEF_scs_60kHz_45 = {
1044         "scs-60kHz",
1045         "scs-60kHz",
1046         &asn_OP_NativeEnumerated,
1047         asn_DEF_scs_60kHz_tags_45,
1048         sizeof(asn_DEF_scs_60kHz_tags_45)
1049                 /sizeof(asn_DEF_scs_60kHz_tags_45[0]) - 1, /* 1 */
1050         asn_DEF_scs_60kHz_tags_45,      /* Same as above */
1051         sizeof(asn_DEF_scs_60kHz_tags_45)
1052                 /sizeof(asn_DEF_scs_60kHz_tags_45[0]), /* 2 */
1053         { &asn_OER_type_scs_60kHz_constr_45, &asn_PER_type_scs_60kHz_constr_45, NativeEnumerated_constraint },
1054         0, 0,   /* Defined elsewhere */
1055         &asn_SPC_scs_60kHz_specs_45     /* Additional specs */
1056 };
1057
1058 static const asn_INTEGER_enum_map_t asn_MAP_scs_120kHz_value2enum_49[] = {
1059         { 0,    5,      "upto2" },
1060         { 1,    5,      "upto4" },
1061         { 2,    5,      "upto7" }
1062 };
1063 static const unsigned int asn_MAP_scs_120kHz_enum2value_49[] = {
1064         0,      /* upto2(0) */
1065         1,      /* upto4(1) */
1066         2       /* upto7(2) */
1067 };
1068 static const asn_INTEGER_specifics_t asn_SPC_scs_120kHz_specs_49 = {
1069         asn_MAP_scs_120kHz_value2enum_49,       /* "tag" => N; sorted by tag */
1070         asn_MAP_scs_120kHz_enum2value_49,       /* N => "tag"; sorted by N */
1071         3,      /* Number of elements in the maps */
1072         0,      /* Enumeration is not extensible */
1073         1,      /* Strict enumeration */
1074         0,      /* Native long size */
1075         0
1076 };
1077 static const ber_tlv_tag_t asn_DEF_scs_120kHz_tags_49[] = {
1078         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1079         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
1080 };
1081 static /* Use -fall-defs-global to expose */
1082 asn_TYPE_descriptor_t asn_DEF_scs_120kHz_49 = {
1083         "scs-120kHz",
1084         "scs-120kHz",
1085         &asn_OP_NativeEnumerated,
1086         asn_DEF_scs_120kHz_tags_49,
1087         sizeof(asn_DEF_scs_120kHz_tags_49)
1088                 /sizeof(asn_DEF_scs_120kHz_tags_49[0]) - 1, /* 1 */
1089         asn_DEF_scs_120kHz_tags_49,     /* Same as above */
1090         sizeof(asn_DEF_scs_120kHz_tags_49)
1091                 /sizeof(asn_DEF_scs_120kHz_tags_49[0]), /* 2 */
1092         { &asn_OER_type_scs_120kHz_constr_49, &asn_PER_type_scs_120kHz_constr_49, NativeEnumerated_constraint },
1093         0, 0,   /* Defined elsewhere */
1094         &asn_SPC_scs_120kHz_specs_49    /* Additional specs */
1095 };
1096
1097 static asn_TYPE_member_t asn_MBR_pdsch_ProcessingType1_DifferentTB_PerSlot_36[] = {
1098         { ATF_POINTER, 4, offsetof(struct FeatureSetDownlink__pdsch_ProcessingType1_DifferentTB_PerSlot, scs_15kHz),
1099                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1100                 -1,     /* IMPLICIT tag at current level */
1101                 &asn_DEF_scs_15kHz_37,
1102                 0,
1103                 { 0, 0, 0 },
1104                 0, 0, /* No default value */
1105                 "scs-15kHz"
1106                 },
1107         { ATF_POINTER, 3, offsetof(struct FeatureSetDownlink__pdsch_ProcessingType1_DifferentTB_PerSlot, scs_30kHz),
1108                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1109                 -1,     /* IMPLICIT tag at current level */
1110                 &asn_DEF_scs_30kHz_41,
1111                 0,
1112                 { 0, 0, 0 },
1113                 0, 0, /* No default value */
1114                 "scs-30kHz"
1115                 },
1116         { ATF_POINTER, 2, offsetof(struct FeatureSetDownlink__pdsch_ProcessingType1_DifferentTB_PerSlot, scs_60kHz),
1117                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1118                 -1,     /* IMPLICIT tag at current level */
1119                 &asn_DEF_scs_60kHz_45,
1120                 0,
1121                 { 0, 0, 0 },
1122                 0, 0, /* No default value */
1123                 "scs-60kHz"
1124                 },
1125         { ATF_POINTER, 1, offsetof(struct FeatureSetDownlink__pdsch_ProcessingType1_DifferentTB_PerSlot, scs_120kHz),
1126                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1127                 -1,     /* IMPLICIT tag at current level */
1128                 &asn_DEF_scs_120kHz_49,
1129                 0,
1130                 { 0, 0, 0 },
1131                 0, 0, /* No default value */
1132                 "scs-120kHz"
1133                 },
1134 };
1135 static const int asn_MAP_pdsch_ProcessingType1_DifferentTB_PerSlot_oms_36[] = { 0, 1, 2, 3 };
1136 static const ber_tlv_tag_t asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_tags_36[] = {
1137         (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
1138         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1139 };
1140 static const asn_TYPE_tag2member_t asn_MAP_pdsch_ProcessingType1_DifferentTB_PerSlot_tag2el_36[] = {
1141     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-15kHz */
1142     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scs-30kHz */
1143     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scs-60kHz */
1144     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* scs-120kHz */
1145 };
1146 static asn_SEQUENCE_specifics_t asn_SPC_pdsch_ProcessingType1_DifferentTB_PerSlot_specs_36 = {
1147         sizeof(struct FeatureSetDownlink__pdsch_ProcessingType1_DifferentTB_PerSlot),
1148         offsetof(struct FeatureSetDownlink__pdsch_ProcessingType1_DifferentTB_PerSlot, _asn_ctx),
1149         asn_MAP_pdsch_ProcessingType1_DifferentTB_PerSlot_tag2el_36,
1150         4,      /* Count of tags in the map */
1151         asn_MAP_pdsch_ProcessingType1_DifferentTB_PerSlot_oms_36,       /* Optional members */
1152         4, 0,   /* Root/Additions */
1153         -1,     /* First extension addition */
1154 };
1155 static /* Use -fall-defs-global to expose */
1156 asn_TYPE_descriptor_t asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_36 = {
1157         "pdsch-ProcessingType1-DifferentTB-PerSlot",
1158         "pdsch-ProcessingType1-DifferentTB-PerSlot",
1159         &asn_OP_SEQUENCE,
1160         asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_tags_36,
1161         sizeof(asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_tags_36)
1162                 /sizeof(asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_tags_36[0]) - 1, /* 1 */
1163         asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_tags_36,      /* Same as above */
1164         sizeof(asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_tags_36)
1165                 /sizeof(asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_tags_36[0]), /* 2 */
1166         { 0, 0, SEQUENCE_constraint },
1167         asn_MBR_pdsch_ProcessingType1_DifferentTB_PerSlot_36,
1168         4,      /* Elements count */
1169         &asn_SPC_pdsch_ProcessingType1_DifferentTB_PerSlot_specs_36     /* Additional specs */
1170 };
1171
1172 static asn_TYPE_member_t asn_MBR_typeI_SinglePanelCodebookList_54[] = {
1173         { ATF_POINTER, 0, 0,
1174                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
1175                 0,
1176                 &asn_DEF_TypeI_SinglePanelCodebook,
1177                 0,
1178                 { 0, 0, 0 },
1179                 0, 0, /* No default value */
1180                 ""
1181                 },
1182 };
1183 static const ber_tlv_tag_t asn_DEF_typeI_SinglePanelCodebookList_tags_54[] = {
1184         (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
1185         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1186 };
1187 static asn_SET_OF_specifics_t asn_SPC_typeI_SinglePanelCodebookList_specs_54 = {
1188         sizeof(struct FeatureSetDownlink__typeI_SinglePanelCodebookList),
1189         offsetof(struct FeatureSetDownlink__typeI_SinglePanelCodebookList, _asn_ctx),
1190         0,      /* XER encoding is XMLDelimitedItemList */
1191 };
1192 static /* Use -fall-defs-global to expose */
1193 asn_TYPE_descriptor_t asn_DEF_typeI_SinglePanelCodebookList_54 = {
1194         "typeI-SinglePanelCodebookList",
1195         "typeI-SinglePanelCodebookList",
1196         &asn_OP_SEQUENCE_OF,
1197         asn_DEF_typeI_SinglePanelCodebookList_tags_54,
1198         sizeof(asn_DEF_typeI_SinglePanelCodebookList_tags_54)
1199                 /sizeof(asn_DEF_typeI_SinglePanelCodebookList_tags_54[0]) - 1, /* 1 */
1200         asn_DEF_typeI_SinglePanelCodebookList_tags_54,  /* Same as above */
1201         sizeof(asn_DEF_typeI_SinglePanelCodebookList_tags_54)
1202                 /sizeof(asn_DEF_typeI_SinglePanelCodebookList_tags_54[0]), /* 2 */
1203         { &asn_OER_type_typeI_SinglePanelCodebookList_constr_54, &asn_PER_type_typeI_SinglePanelCodebookList_constr_54, SEQUENCE_OF_constraint },
1204         asn_MBR_typeI_SinglePanelCodebookList_54,
1205         1,      /* Single element */
1206         &asn_SPC_typeI_SinglePanelCodebookList_specs_54 /* Additional specs */
1207 };
1208
1209 static asn_TYPE_member_t asn_MBR_typeI_MultiPanelCodebookList_56[] = {
1210         { ATF_POINTER, 0, 0,
1211                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
1212                 0,
1213                 &asn_DEF_TypeI_MultiPanelCodebook,
1214                 0,
1215                 { 0, 0, 0 },
1216                 0, 0, /* No default value */
1217                 ""
1218                 },
1219 };
1220 static const ber_tlv_tag_t asn_DEF_typeI_MultiPanelCodebookList_tags_56[] = {
1221         (ASN_TAG_CLASS_CONTEXT | (16 << 2)),
1222         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1223 };
1224 static asn_SET_OF_specifics_t asn_SPC_typeI_MultiPanelCodebookList_specs_56 = {
1225         sizeof(struct FeatureSetDownlink__typeI_MultiPanelCodebookList),
1226         offsetof(struct FeatureSetDownlink__typeI_MultiPanelCodebookList, _asn_ctx),
1227         0,      /* XER encoding is XMLDelimitedItemList */
1228 };
1229 static /* Use -fall-defs-global to expose */
1230 asn_TYPE_descriptor_t asn_DEF_typeI_MultiPanelCodebookList_56 = {
1231         "typeI-MultiPanelCodebookList",
1232         "typeI-MultiPanelCodebookList",
1233         &asn_OP_SEQUENCE_OF,
1234         asn_DEF_typeI_MultiPanelCodebookList_tags_56,
1235         sizeof(asn_DEF_typeI_MultiPanelCodebookList_tags_56)
1236                 /sizeof(asn_DEF_typeI_MultiPanelCodebookList_tags_56[0]) - 1, /* 1 */
1237         asn_DEF_typeI_MultiPanelCodebookList_tags_56,   /* Same as above */
1238         sizeof(asn_DEF_typeI_MultiPanelCodebookList_tags_56)
1239                 /sizeof(asn_DEF_typeI_MultiPanelCodebookList_tags_56[0]), /* 2 */
1240         { &asn_OER_type_typeI_MultiPanelCodebookList_constr_56, &asn_PER_type_typeI_MultiPanelCodebookList_constr_56, SEQUENCE_OF_constraint },
1241         asn_MBR_typeI_MultiPanelCodebookList_56,
1242         1,      /* Single element */
1243         &asn_SPC_typeI_MultiPanelCodebookList_specs_56  /* Additional specs */
1244 };
1245
1246 static asn_TYPE_member_t asn_MBR_typeII_CodebookList_58[] = {
1247         { ATF_POINTER, 0, 0,
1248                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
1249                 0,
1250                 &asn_DEF_TypeII_Codebook,
1251                 0,
1252                 { 0, 0, 0 },
1253                 0, 0, /* No default value */
1254                 ""
1255                 },
1256 };
1257 static const ber_tlv_tag_t asn_DEF_typeII_CodebookList_tags_58[] = {
1258         (ASN_TAG_CLASS_CONTEXT | (17 << 2)),
1259         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1260 };
1261 static asn_SET_OF_specifics_t asn_SPC_typeII_CodebookList_specs_58 = {
1262         sizeof(struct FeatureSetDownlink__typeII_CodebookList),
1263         offsetof(struct FeatureSetDownlink__typeII_CodebookList, _asn_ctx),
1264         0,      /* XER encoding is XMLDelimitedItemList */
1265 };
1266 static /* Use -fall-defs-global to expose */
1267 asn_TYPE_descriptor_t asn_DEF_typeII_CodebookList_58 = {
1268         "typeII-CodebookList",
1269         "typeII-CodebookList",
1270         &asn_OP_SEQUENCE_OF,
1271         asn_DEF_typeII_CodebookList_tags_58,
1272         sizeof(asn_DEF_typeII_CodebookList_tags_58)
1273                 /sizeof(asn_DEF_typeII_CodebookList_tags_58[0]) - 1, /* 1 */
1274         asn_DEF_typeII_CodebookList_tags_58,    /* Same as above */
1275         sizeof(asn_DEF_typeII_CodebookList_tags_58)
1276                 /sizeof(asn_DEF_typeII_CodebookList_tags_58[0]), /* 2 */
1277         { &asn_OER_type_typeII_CodebookList_constr_58, &asn_PER_type_typeII_CodebookList_constr_58, SEQUENCE_OF_constraint },
1278         asn_MBR_typeII_CodebookList_58,
1279         1,      /* Single element */
1280         &asn_SPC_typeII_CodebookList_specs_58   /* Additional specs */
1281 };
1282
1283 static asn_TYPE_member_t asn_MBR_typeII_CodebookPortSelectionList_60[] = {
1284         { ATF_POINTER, 0, 0,
1285                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
1286                 0,
1287                 &asn_DEF_TypeII_CodebookPortSelection,
1288                 0,
1289                 { 0, 0, 0 },
1290                 0, 0, /* No default value */
1291                 ""
1292                 },
1293 };
1294 static const ber_tlv_tag_t asn_DEF_typeII_CodebookPortSelectionList_tags_60[] = {
1295         (ASN_TAG_CLASS_CONTEXT | (18 << 2)),
1296         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1297 };
1298 static asn_SET_OF_specifics_t asn_SPC_typeII_CodebookPortSelectionList_specs_60 = {
1299         sizeof(struct FeatureSetDownlink__typeII_CodebookPortSelectionList),
1300         offsetof(struct FeatureSetDownlink__typeII_CodebookPortSelectionList, _asn_ctx),
1301         0,      /* XER encoding is XMLDelimitedItemList */
1302 };
1303 static /* Use -fall-defs-global to expose */
1304 asn_TYPE_descriptor_t asn_DEF_typeII_CodebookPortSelectionList_60 = {
1305         "typeII-CodebookPortSelectionList",
1306         "typeII-CodebookPortSelectionList",
1307         &asn_OP_SEQUENCE_OF,
1308         asn_DEF_typeII_CodebookPortSelectionList_tags_60,
1309         sizeof(asn_DEF_typeII_CodebookPortSelectionList_tags_60)
1310                 /sizeof(asn_DEF_typeII_CodebookPortSelectionList_tags_60[0]) - 1, /* 1 */
1311         asn_DEF_typeII_CodebookPortSelectionList_tags_60,       /* Same as above */
1312         sizeof(asn_DEF_typeII_CodebookPortSelectionList_tags_60)
1313                 /sizeof(asn_DEF_typeII_CodebookPortSelectionList_tags_60[0]), /* 2 */
1314         { &asn_OER_type_typeII_CodebookPortSelectionList_constr_60, &asn_PER_type_typeII_CodebookPortSelectionList_constr_60, SEQUENCE_OF_constraint },
1315         asn_MBR_typeII_CodebookPortSelectionList_60,
1316         1,      /* Single element */
1317         &asn_SPC_typeII_CodebookPortSelectionList_specs_60      /* Additional specs */
1318 };
1319
1320 asn_TYPE_member_t asn_MBR_FeatureSetDownlink_1[] = {
1321         { ATF_NOFLAGS, 0, offsetof(struct FeatureSetDownlink, featureSetListPerDownlinkCC),
1322                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1323                 0,
1324                 &asn_DEF_featureSetListPerDownlinkCC_2,
1325                 0,
1326                 { &asn_OER_memb_featureSetListPerDownlinkCC_constr_2, &asn_PER_memb_featureSetListPerDownlinkCC_constr_2,  memb_featureSetListPerDownlinkCC_constraint_1 },
1327                 0, 0, /* No default value */
1328                 "featureSetListPerDownlinkCC"
1329                 },
1330         { ATF_POINTER, 18, offsetof(struct FeatureSetDownlink, intraBandFreqSeparationDL),
1331                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1332                 -1,     /* IMPLICIT tag at current level */
1333                 &asn_DEF_FreqSeparationClass,
1334                 0,
1335                 { 0, 0, 0 },
1336                 0, 0, /* No default value */
1337                 "intraBandFreqSeparationDL"
1338                 },
1339         { ATF_POINTER, 17, offsetof(struct FeatureSetDownlink, scalingFactor),
1340                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1341                 -1,     /* IMPLICIT tag at current level */
1342                 &asn_DEF_scalingFactor_5,
1343                 0,
1344                 { 0, 0, 0 },
1345                 0, 0, /* No default value */
1346                 "scalingFactor"
1347                 },
1348         { ATF_POINTER, 16, offsetof(struct FeatureSetDownlink, crossCarrierScheduling_OtherSCS),
1349                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1350                 -1,     /* IMPLICIT tag at current level */
1351                 &asn_DEF_crossCarrierScheduling_OtherSCS_9,
1352                 0,
1353                 { 0, 0, 0 },
1354                 0, 0, /* No default value */
1355                 "crossCarrierScheduling-OtherSCS"
1356                 },
1357         { ATF_POINTER, 15, offsetof(struct FeatureSetDownlink, scellWithoutSSB),
1358                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
1359                 -1,     /* IMPLICIT tag at current level */
1360                 &asn_DEF_scellWithoutSSB_11,
1361                 0,
1362                 { 0, 0, 0 },
1363                 0, 0, /* No default value */
1364                 "scellWithoutSSB"
1365                 },
1366         { ATF_POINTER, 14, offsetof(struct FeatureSetDownlink, csi_RS_MeasSCellWithoutSSB),
1367                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
1368                 -1,     /* IMPLICIT tag at current level */
1369                 &asn_DEF_csi_RS_MeasSCellWithoutSSB_13,
1370                 0,
1371                 { 0, 0, 0 },
1372                 0, 0, /* No default value */
1373                 "csi-RS-MeasSCellWithoutSSB"
1374                 },
1375         { ATF_POINTER, 13, offsetof(struct FeatureSetDownlink, srs_AssocCSI_RS),
1376                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
1377                 -1,     /* IMPLICIT tag at current level */
1378                 &asn_DEF_srs_AssocCSI_RS_15,
1379                 0,
1380                 { 0, 0, 0 },
1381                 0, 0, /* No default value */
1382                 "srs-AssocCSI-RS"
1383                 },
1384         { ATF_POINTER, 12, offsetof(struct FeatureSetDownlink, type1_3_CSS),
1385                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
1386                 -1,     /* IMPLICIT tag at current level */
1387                 &asn_DEF_type1_3_CSS_17,
1388                 0,
1389                 { 0, 0, 0 },
1390                 0, 0, /* No default value */
1391                 "type1-3-CSS"
1392                 },
1393         { ATF_POINTER, 11, offsetof(struct FeatureSetDownlink, pdcch_MonitoringAnyOccasions),
1394                 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
1395                 -1,     /* IMPLICIT tag at current level */
1396                 &asn_DEF_pdcch_MonitoringAnyOccasions_19,
1397                 0,
1398                 { 0, 0, 0 },
1399                 0, 0, /* No default value */
1400                 "pdcch-MonitoringAnyOccasions"
1401                 },
1402         { ATF_POINTER, 10, offsetof(struct FeatureSetDownlink, pdcch_MonitoringAnyOccasionsWithSpanGap),
1403                 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
1404                 -1,     /* IMPLICIT tag at current level */
1405                 &asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_22,
1406                 0,
1407                 { 0, 0, 0 },
1408                 0, 0, /* No default value */
1409                 "pdcch-MonitoringAnyOccasionsWithSpanGap"
1410                 },
1411         { ATF_POINTER, 9, offsetof(struct FeatureSetDownlink, ue_SpecificUL_DL_Assignment),
1412                 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
1413                 -1,     /* IMPLICIT tag at current level */
1414                 &asn_DEF_ue_SpecificUL_DL_Assignment_24,
1415                 0,
1416                 { 0, 0, 0 },
1417                 0, 0, /* No default value */
1418                 "ue-SpecificUL-DL-Assignment"
1419                 },
1420         { ATF_POINTER, 8, offsetof(struct FeatureSetDownlink, searchSpaceSharingCA_DL),
1421                 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
1422                 -1,     /* IMPLICIT tag at current level */
1423                 &asn_DEF_searchSpaceSharingCA_DL_26,
1424                 0,
1425                 { 0, 0, 0 },
1426                 0, 0, /* No default value */
1427                 "searchSpaceSharingCA-DL"
1428                 },
1429         { ATF_POINTER, 7, offsetof(struct FeatureSetDownlink, timeDurationForQCL),
1430                 (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
1431                 0,
1432                 &asn_DEF_timeDurationForQCL_28,
1433                 0,
1434                 { 0, 0, 0 },
1435                 0, 0, /* No default value */
1436                 "timeDurationForQCL"
1437                 },
1438         { ATF_POINTER, 6, offsetof(struct FeatureSetDownlink, pdsch_ProcessingType1_DifferentTB_PerSlot),
1439                 (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
1440                 0,
1441                 &asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_36,
1442                 0,
1443                 { 0, 0, 0 },
1444                 0, 0, /* No default value */
1445                 "pdsch-ProcessingType1-DifferentTB-PerSlot"
1446                 },
1447         { ATF_POINTER, 5, offsetof(struct FeatureSetDownlink, csi_RS_IM_ReceptionForFeedback),
1448                 (ASN_TAG_CLASS_CONTEXT | (14 << 2)),
1449                 -1,     /* IMPLICIT tag at current level */
1450                 &asn_DEF_CSI_RS_IM_ReceptionForFeedback,
1451                 0,
1452                 { 0, 0, 0 },
1453                 0, 0, /* No default value */
1454                 "csi-RS-IM-ReceptionForFeedback"
1455                 },
1456         { ATF_POINTER, 4, offsetof(struct FeatureSetDownlink, typeI_SinglePanelCodebookList),
1457                 (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
1458                 0,
1459                 &asn_DEF_typeI_SinglePanelCodebookList_54,
1460                 0,
1461                 { &asn_OER_memb_typeI_SinglePanelCodebookList_constr_54, &asn_PER_memb_typeI_SinglePanelCodebookList_constr_54,  memb_typeI_SinglePanelCodebookList_constraint_1 },
1462                 0, 0, /* No default value */
1463                 "typeI-SinglePanelCodebookList"
1464                 },
1465         { ATF_POINTER, 3, offsetof(struct FeatureSetDownlink, typeI_MultiPanelCodebookList),
1466                 (ASN_TAG_CLASS_CONTEXT | (16 << 2)),
1467                 0,
1468                 &asn_DEF_typeI_MultiPanelCodebookList_56,
1469                 0,
1470                 { &asn_OER_memb_typeI_MultiPanelCodebookList_constr_56, &asn_PER_memb_typeI_MultiPanelCodebookList_constr_56,  memb_typeI_MultiPanelCodebookList_constraint_1 },
1471                 0, 0, /* No default value */
1472                 "typeI-MultiPanelCodebookList"
1473                 },
1474         { ATF_POINTER, 2, offsetof(struct FeatureSetDownlink, typeII_CodebookList),
1475                 (ASN_TAG_CLASS_CONTEXT | (17 << 2)),
1476                 0,
1477                 &asn_DEF_typeII_CodebookList_58,
1478                 0,
1479                 { &asn_OER_memb_typeII_CodebookList_constr_58, &asn_PER_memb_typeII_CodebookList_constr_58,  memb_typeII_CodebookList_constraint_1 },
1480                 0, 0, /* No default value */
1481                 "typeII-CodebookList"
1482                 },
1483         { ATF_POINTER, 1, offsetof(struct FeatureSetDownlink, typeII_CodebookPortSelectionList),
1484                 (ASN_TAG_CLASS_CONTEXT | (18 << 2)),
1485                 0,
1486                 &asn_DEF_typeII_CodebookPortSelectionList_60,
1487                 0,
1488                 { &asn_OER_memb_typeII_CodebookPortSelectionList_constr_60, &asn_PER_memb_typeII_CodebookPortSelectionList_constr_60,  memb_typeII_CodebookPortSelectionList_constraint_1 },
1489                 0, 0, /* No default value */
1490                 "typeII-CodebookPortSelectionList"
1491                 },
1492 };
1493 static const int asn_MAP_FeatureSetDownlink_oms_1[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 };
1494 static const ber_tlv_tag_t asn_DEF_FeatureSetDownlink_tags_1[] = {
1495         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1496 };
1497 static const asn_TYPE_tag2member_t asn_MAP_FeatureSetDownlink_tag2el_1[] = {
1498     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* featureSetListPerDownlinkCC */
1499     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* intraBandFreqSeparationDL */
1500     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scalingFactor */
1501     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* crossCarrierScheduling-OtherSCS */
1502     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* scellWithoutSSB */
1503     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* csi-RS-MeasSCellWithoutSSB */
1504     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* srs-AssocCSI-RS */
1505     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* type1-3-CSS */
1506     { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* pdcch-MonitoringAnyOccasions */
1507     { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* pdcch-MonitoringAnyOccasionsWithSpanGap */
1508     { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* ue-SpecificUL-DL-Assignment */
1509     { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* searchSpaceSharingCA-DL */
1510     { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* timeDurationForQCL */
1511     { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* pdsch-ProcessingType1-DifferentTB-PerSlot */
1512     { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* csi-RS-IM-ReceptionForFeedback */
1513     { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* typeI-SinglePanelCodebookList */
1514     { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* typeI-MultiPanelCodebookList */
1515     { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 }, /* typeII-CodebookList */
1516     { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 18, 0, 0 } /* typeII-CodebookPortSelectionList */
1517 };
1518 asn_SEQUENCE_specifics_t asn_SPC_FeatureSetDownlink_specs_1 = {
1519         sizeof(struct FeatureSetDownlink),
1520         offsetof(struct FeatureSetDownlink, _asn_ctx),
1521         asn_MAP_FeatureSetDownlink_tag2el_1,
1522         19,     /* Count of tags in the map */
1523         asn_MAP_FeatureSetDownlink_oms_1,       /* Optional members */
1524         18, 0,  /* Root/Additions */
1525         -1,     /* First extension addition */
1526 };
1527 asn_TYPE_descriptor_t asn_DEF_FeatureSetDownlink = {
1528         "FeatureSetDownlink",
1529         "FeatureSetDownlink",
1530         &asn_OP_SEQUENCE,
1531         asn_DEF_FeatureSetDownlink_tags_1,
1532         sizeof(asn_DEF_FeatureSetDownlink_tags_1)
1533                 /sizeof(asn_DEF_FeatureSetDownlink_tags_1[0]), /* 1 */
1534         asn_DEF_FeatureSetDownlink_tags_1,      /* Same as above */
1535         sizeof(asn_DEF_FeatureSetDownlink_tags_1)
1536                 /sizeof(asn_DEF_FeatureSetDownlink_tags_1[0]), /* 1 */
1537         { 0, 0, SEQUENCE_constraint },
1538         asn_MBR_FeatureSetDownlink_1,
1539         19,     /* Elements count */
1540         &asn_SPC_FeatureSetDownlink_specs_1     /* Additional specs */
1541 };
1542