2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "../../../rrc_15.3_asn.asn1"
5 * `asn1c -D ./25_02_2022_RRC/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "FeatureSetUplink.h"
10 #include "SRS-TxSwitch.h"
11 #include "SRS-Resources.h"
12 #include "CSI-ReportFramework.h"
14 * This type is implemented using NativeEnumerated,
15 * so here we adjust the DEF accordingly.
18 * This type is implemented using NativeEnumerated,
19 * so here we adjust the DEF accordingly.
22 * This type is implemented using NativeEnumerated,
23 * so here we adjust the DEF accordingly.
26 * This type is implemented using NativeEnumerated,
27 * so here we adjust the DEF accordingly.
30 * This type is implemented using NativeEnumerated,
31 * so here we adjust the DEF accordingly.
34 * This type is implemented using NativeEnumerated,
35 * so here we adjust the DEF accordingly.
38 * This type is implemented using NativeEnumerated,
39 * so here we adjust the DEF accordingly.
42 * This type is implemented using NativeEnumerated,
43 * so here we adjust the DEF accordingly.
46 * This type is implemented using NativeEnumerated,
47 * so here we adjust the DEF accordingly.
50 * This type is implemented using NativeEnumerated,
51 * so here we adjust the DEF accordingly.
54 memb_featureSetListPerUplinkCC_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
55 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
59 ASN__CTFAIL(app_key, td, sptr,
60 "%s: value not given (%s:%d)",
61 td->name, __FILE__, __LINE__);
65 /* Determine the number of elements */
66 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
68 if((size >= 1 && size <= 32)) {
69 /* Perform validation of the inner elements */
70 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
72 ASN__CTFAIL(app_key, td, sptr,
73 "%s: constraint failed (%s:%d)",
74 td->name, __FILE__, __LINE__);
79 static asn_oer_constraints_t asn_OER_type_featureSetListPerUplinkCC_constr_2 CC_NOTUSED = {
81 -1 /* (SIZE(1..32)) */};
82 static asn_per_constraints_t asn_PER_type_featureSetListPerUplinkCC_constr_2 CC_NOTUSED = {
83 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
84 { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
85 0, 0 /* No PER value map */
87 static asn_oer_constraints_t asn_OER_type_scalingFactor_constr_4 CC_NOTUSED = {
90 static asn_per_constraints_t asn_PER_type_scalingFactor_constr_4 CC_NOTUSED = {
91 { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
92 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
93 0, 0 /* No PER value map */
95 static asn_oer_constraints_t asn_OER_type_crossCarrierScheduling_OtherSCS_constr_8 CC_NOTUSED = {
98 static asn_per_constraints_t asn_PER_type_crossCarrierScheduling_OtherSCS_constr_8 CC_NOTUSED = {
99 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
100 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
101 0, 0 /* No PER value map */
103 static asn_oer_constraints_t asn_OER_type_searchSpaceSharingCA_UL_constr_11 CC_NOTUSED = {
106 static asn_per_constraints_t asn_PER_type_searchSpaceSharingCA_UL_constr_11 CC_NOTUSED = {
107 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
108 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
109 0, 0 /* No PER value map */
111 static asn_oer_constraints_t asn_OER_type_twoPUCCH_Group_constr_15 CC_NOTUSED = {
114 static asn_per_constraints_t asn_PER_type_twoPUCCH_Group_constr_15 CC_NOTUSED = {
115 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
116 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
117 0, 0 /* No PER value map */
119 static asn_oer_constraints_t asn_OER_type_dynamicSwitchSUL_constr_17 CC_NOTUSED = {
122 static asn_per_constraints_t asn_PER_type_dynamicSwitchSUL_constr_17 CC_NOTUSED = {
123 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
124 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
125 0, 0 /* No PER value map */
127 static asn_oer_constraints_t asn_OER_type_simultaneousTxSUL_NonSUL_constr_19 CC_NOTUSED = {
130 static asn_per_constraints_t asn_PER_type_simultaneousTxSUL_NonSUL_constr_19 CC_NOTUSED = {
131 { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */,
132 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
133 0, 0 /* No PER value map */
135 static asn_oer_constraints_t asn_OER_type_scs_15kHz_constr_22 CC_NOTUSED = {
138 static asn_per_constraints_t asn_PER_type_scs_15kHz_constr_22 CC_NOTUSED = {
139 { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
140 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
141 0, 0 /* No PER value map */
143 static asn_oer_constraints_t asn_OER_type_scs_30kHz_constr_26 CC_NOTUSED = {
146 static asn_per_constraints_t asn_PER_type_scs_30kHz_constr_26 CC_NOTUSED = {
147 { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
148 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
149 0, 0 /* No PER value map */
151 static asn_oer_constraints_t asn_OER_type_scs_60kHz_constr_30 CC_NOTUSED = {
154 static asn_per_constraints_t asn_PER_type_scs_60kHz_constr_30 CC_NOTUSED = {
155 { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
156 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
157 0, 0 /* No PER value map */
159 static asn_oer_constraints_t asn_OER_type_scs_120kHz_constr_34 CC_NOTUSED = {
162 static asn_per_constraints_t asn_PER_type_scs_120kHz_constr_34 CC_NOTUSED = {
163 { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
164 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
165 0, 0 /* No PER value map */
167 static asn_oer_constraints_t asn_OER_memb_featureSetListPerUplinkCC_constr_2 CC_NOTUSED = {
169 -1 /* (SIZE(1..32)) */};
170 static asn_per_constraints_t asn_PER_memb_featureSetListPerUplinkCC_constr_2 CC_NOTUSED = {
171 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
172 { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
173 0, 0 /* No PER value map */
175 static asn_TYPE_member_t asn_MBR_featureSetListPerUplinkCC_2[] = {
177 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
179 &asn_DEF_FeatureSetUplinkPerCC_Id,
182 0, 0, /* No default value */
186 static const ber_tlv_tag_t asn_DEF_featureSetListPerUplinkCC_tags_2[] = {
187 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
188 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
190 static asn_SET_OF_specifics_t asn_SPC_featureSetListPerUplinkCC_specs_2 = {
191 sizeof(struct FeatureSetUplink__featureSetListPerUplinkCC),
192 offsetof(struct FeatureSetUplink__featureSetListPerUplinkCC, _asn_ctx),
193 0, /* XER encoding is XMLDelimitedItemList */
195 static /* Use -fall-defs-global to expose */
196 asn_TYPE_descriptor_t asn_DEF_featureSetListPerUplinkCC_2 = {
197 "featureSetListPerUplinkCC",
198 "featureSetListPerUplinkCC",
200 asn_DEF_featureSetListPerUplinkCC_tags_2,
201 sizeof(asn_DEF_featureSetListPerUplinkCC_tags_2)
202 /sizeof(asn_DEF_featureSetListPerUplinkCC_tags_2[0]) - 1, /* 1 */
203 asn_DEF_featureSetListPerUplinkCC_tags_2, /* Same as above */
204 sizeof(asn_DEF_featureSetListPerUplinkCC_tags_2)
205 /sizeof(asn_DEF_featureSetListPerUplinkCC_tags_2[0]), /* 2 */
206 { &asn_OER_type_featureSetListPerUplinkCC_constr_2, &asn_PER_type_featureSetListPerUplinkCC_constr_2, SEQUENCE_OF_constraint },
207 asn_MBR_featureSetListPerUplinkCC_2,
208 1, /* Single element */
209 &asn_SPC_featureSetListPerUplinkCC_specs_2 /* Additional specs */
212 static const asn_INTEGER_enum_map_t asn_MAP_scalingFactor_value2enum_4[] = {
217 static const unsigned int asn_MAP_scalingFactor_enum2value_4[] = {
222 static const asn_INTEGER_specifics_t asn_SPC_scalingFactor_specs_4 = {
223 asn_MAP_scalingFactor_value2enum_4, /* "tag" => N; sorted by tag */
224 asn_MAP_scalingFactor_enum2value_4, /* N => "tag"; sorted by N */
225 3, /* Number of elements in the maps */
226 0, /* Enumeration is not extensible */
227 1, /* Strict enumeration */
228 0, /* Native long size */
231 static const ber_tlv_tag_t asn_DEF_scalingFactor_tags_4[] = {
232 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
233 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
235 static /* Use -fall-defs-global to expose */
236 asn_TYPE_descriptor_t asn_DEF_scalingFactor_4 = {
239 &asn_OP_NativeEnumerated,
240 asn_DEF_scalingFactor_tags_4,
241 sizeof(asn_DEF_scalingFactor_tags_4)
242 /sizeof(asn_DEF_scalingFactor_tags_4[0]) - 1, /* 1 */
243 asn_DEF_scalingFactor_tags_4, /* Same as above */
244 sizeof(asn_DEF_scalingFactor_tags_4)
245 /sizeof(asn_DEF_scalingFactor_tags_4[0]), /* 2 */
246 { &asn_OER_type_scalingFactor_constr_4, &asn_PER_type_scalingFactor_constr_4, NativeEnumerated_constraint },
247 0, 0, /* Defined elsewhere */
248 &asn_SPC_scalingFactor_specs_4 /* Additional specs */
251 static const asn_INTEGER_enum_map_t asn_MAP_crossCarrierScheduling_OtherSCS_value2enum_8[] = {
252 { 0, 9, "supported" }
254 static const unsigned int asn_MAP_crossCarrierScheduling_OtherSCS_enum2value_8[] = {
257 static const asn_INTEGER_specifics_t asn_SPC_crossCarrierScheduling_OtherSCS_specs_8 = {
258 asn_MAP_crossCarrierScheduling_OtherSCS_value2enum_8, /* "tag" => N; sorted by tag */
259 asn_MAP_crossCarrierScheduling_OtherSCS_enum2value_8, /* N => "tag"; sorted by N */
260 1, /* Number of elements in the maps */
261 0, /* Enumeration is not extensible */
262 1, /* Strict enumeration */
263 0, /* Native long size */
266 static const ber_tlv_tag_t asn_DEF_crossCarrierScheduling_OtherSCS_tags_8[] = {
267 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
268 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
270 static /* Use -fall-defs-global to expose */
271 asn_TYPE_descriptor_t asn_DEF_crossCarrierScheduling_OtherSCS_8 = {
272 "crossCarrierScheduling-OtherSCS",
273 "crossCarrierScheduling-OtherSCS",
274 &asn_OP_NativeEnumerated,
275 asn_DEF_crossCarrierScheduling_OtherSCS_tags_8,
276 sizeof(asn_DEF_crossCarrierScheduling_OtherSCS_tags_8)
277 /sizeof(asn_DEF_crossCarrierScheduling_OtherSCS_tags_8[0]) - 1, /* 1 */
278 asn_DEF_crossCarrierScheduling_OtherSCS_tags_8, /* Same as above */
279 sizeof(asn_DEF_crossCarrierScheduling_OtherSCS_tags_8)
280 /sizeof(asn_DEF_crossCarrierScheduling_OtherSCS_tags_8[0]), /* 2 */
281 { &asn_OER_type_crossCarrierScheduling_OtherSCS_constr_8, &asn_PER_type_crossCarrierScheduling_OtherSCS_constr_8, NativeEnumerated_constraint },
282 0, 0, /* Defined elsewhere */
283 &asn_SPC_crossCarrierScheduling_OtherSCS_specs_8 /* Additional specs */
286 static const asn_INTEGER_enum_map_t asn_MAP_searchSpaceSharingCA_UL_value2enum_11[] = {
287 { 0, 9, "supported" }
289 static const unsigned int asn_MAP_searchSpaceSharingCA_UL_enum2value_11[] = {
292 static const asn_INTEGER_specifics_t asn_SPC_searchSpaceSharingCA_UL_specs_11 = {
293 asn_MAP_searchSpaceSharingCA_UL_value2enum_11, /* "tag" => N; sorted by tag */
294 asn_MAP_searchSpaceSharingCA_UL_enum2value_11, /* N => "tag"; sorted by N */
295 1, /* Number of elements in the maps */
296 0, /* Enumeration is not extensible */
297 1, /* Strict enumeration */
298 0, /* Native long size */
301 static const ber_tlv_tag_t asn_DEF_searchSpaceSharingCA_UL_tags_11[] = {
302 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
303 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
305 static /* Use -fall-defs-global to expose */
306 asn_TYPE_descriptor_t asn_DEF_searchSpaceSharingCA_UL_11 = {
307 "searchSpaceSharingCA-UL",
308 "searchSpaceSharingCA-UL",
309 &asn_OP_NativeEnumerated,
310 asn_DEF_searchSpaceSharingCA_UL_tags_11,
311 sizeof(asn_DEF_searchSpaceSharingCA_UL_tags_11)
312 /sizeof(asn_DEF_searchSpaceSharingCA_UL_tags_11[0]) - 1, /* 1 */
313 asn_DEF_searchSpaceSharingCA_UL_tags_11, /* Same as above */
314 sizeof(asn_DEF_searchSpaceSharingCA_UL_tags_11)
315 /sizeof(asn_DEF_searchSpaceSharingCA_UL_tags_11[0]), /* 2 */
316 { &asn_OER_type_searchSpaceSharingCA_UL_constr_11, &asn_PER_type_searchSpaceSharingCA_UL_constr_11, NativeEnumerated_constraint },
317 0, 0, /* Defined elsewhere */
318 &asn_SPC_searchSpaceSharingCA_UL_specs_11 /* Additional specs */
321 static const asn_INTEGER_enum_map_t asn_MAP_twoPUCCH_Group_value2enum_15[] = {
322 { 0, 9, "supported" }
324 static const unsigned int asn_MAP_twoPUCCH_Group_enum2value_15[] = {
327 static const asn_INTEGER_specifics_t asn_SPC_twoPUCCH_Group_specs_15 = {
328 asn_MAP_twoPUCCH_Group_value2enum_15, /* "tag" => N; sorted by tag */
329 asn_MAP_twoPUCCH_Group_enum2value_15, /* N => "tag"; sorted by N */
330 1, /* Number of elements in the maps */
331 0, /* Enumeration is not extensible */
332 1, /* Strict enumeration */
333 0, /* Native long size */
336 static const ber_tlv_tag_t asn_DEF_twoPUCCH_Group_tags_15[] = {
337 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
338 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
340 static /* Use -fall-defs-global to expose */
341 asn_TYPE_descriptor_t asn_DEF_twoPUCCH_Group_15 = {
344 &asn_OP_NativeEnumerated,
345 asn_DEF_twoPUCCH_Group_tags_15,
346 sizeof(asn_DEF_twoPUCCH_Group_tags_15)
347 /sizeof(asn_DEF_twoPUCCH_Group_tags_15[0]) - 1, /* 1 */
348 asn_DEF_twoPUCCH_Group_tags_15, /* Same as above */
349 sizeof(asn_DEF_twoPUCCH_Group_tags_15)
350 /sizeof(asn_DEF_twoPUCCH_Group_tags_15[0]), /* 2 */
351 { &asn_OER_type_twoPUCCH_Group_constr_15, &asn_PER_type_twoPUCCH_Group_constr_15, NativeEnumerated_constraint },
352 0, 0, /* Defined elsewhere */
353 &asn_SPC_twoPUCCH_Group_specs_15 /* Additional specs */
356 static const asn_INTEGER_enum_map_t asn_MAP_dynamicSwitchSUL_value2enum_17[] = {
357 { 0, 9, "supported" }
359 static const unsigned int asn_MAP_dynamicSwitchSUL_enum2value_17[] = {
362 static const asn_INTEGER_specifics_t asn_SPC_dynamicSwitchSUL_specs_17 = {
363 asn_MAP_dynamicSwitchSUL_value2enum_17, /* "tag" => N; sorted by tag */
364 asn_MAP_dynamicSwitchSUL_enum2value_17, /* N => "tag"; sorted by N */
365 1, /* Number of elements in the maps */
366 0, /* Enumeration is not extensible */
367 1, /* Strict enumeration */
368 0, /* Native long size */
371 static const ber_tlv_tag_t asn_DEF_dynamicSwitchSUL_tags_17[] = {
372 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
373 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
375 static /* Use -fall-defs-global to expose */
376 asn_TYPE_descriptor_t asn_DEF_dynamicSwitchSUL_17 = {
379 &asn_OP_NativeEnumerated,
380 asn_DEF_dynamicSwitchSUL_tags_17,
381 sizeof(asn_DEF_dynamicSwitchSUL_tags_17)
382 /sizeof(asn_DEF_dynamicSwitchSUL_tags_17[0]) - 1, /* 1 */
383 asn_DEF_dynamicSwitchSUL_tags_17, /* Same as above */
384 sizeof(asn_DEF_dynamicSwitchSUL_tags_17)
385 /sizeof(asn_DEF_dynamicSwitchSUL_tags_17[0]), /* 2 */
386 { &asn_OER_type_dynamicSwitchSUL_constr_17, &asn_PER_type_dynamicSwitchSUL_constr_17, NativeEnumerated_constraint },
387 0, 0, /* Defined elsewhere */
388 &asn_SPC_dynamicSwitchSUL_specs_17 /* Additional specs */
391 static const asn_INTEGER_enum_map_t asn_MAP_simultaneousTxSUL_NonSUL_value2enum_19[] = {
392 { 0, 9, "supported" }
394 static const unsigned int asn_MAP_simultaneousTxSUL_NonSUL_enum2value_19[] = {
397 static const asn_INTEGER_specifics_t asn_SPC_simultaneousTxSUL_NonSUL_specs_19 = {
398 asn_MAP_simultaneousTxSUL_NonSUL_value2enum_19, /* "tag" => N; sorted by tag */
399 asn_MAP_simultaneousTxSUL_NonSUL_enum2value_19, /* N => "tag"; sorted by N */
400 1, /* Number of elements in the maps */
401 0, /* Enumeration is not extensible */
402 1, /* Strict enumeration */
403 0, /* Native long size */
406 static const ber_tlv_tag_t asn_DEF_simultaneousTxSUL_NonSUL_tags_19[] = {
407 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
408 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
410 static /* Use -fall-defs-global to expose */
411 asn_TYPE_descriptor_t asn_DEF_simultaneousTxSUL_NonSUL_19 = {
412 "simultaneousTxSUL-NonSUL",
413 "simultaneousTxSUL-NonSUL",
414 &asn_OP_NativeEnumerated,
415 asn_DEF_simultaneousTxSUL_NonSUL_tags_19,
416 sizeof(asn_DEF_simultaneousTxSUL_NonSUL_tags_19)
417 /sizeof(asn_DEF_simultaneousTxSUL_NonSUL_tags_19[0]) - 1, /* 1 */
418 asn_DEF_simultaneousTxSUL_NonSUL_tags_19, /* Same as above */
419 sizeof(asn_DEF_simultaneousTxSUL_NonSUL_tags_19)
420 /sizeof(asn_DEF_simultaneousTxSUL_NonSUL_tags_19[0]), /* 2 */
421 { &asn_OER_type_simultaneousTxSUL_NonSUL_constr_19, &asn_PER_type_simultaneousTxSUL_NonSUL_constr_19, NativeEnumerated_constraint },
422 0, 0, /* Defined elsewhere */
423 &asn_SPC_simultaneousTxSUL_NonSUL_specs_19 /* Additional specs */
426 static const asn_INTEGER_enum_map_t asn_MAP_scs_15kHz_value2enum_22[] = {
431 static const unsigned int asn_MAP_scs_15kHz_enum2value_22[] = {
436 static const asn_INTEGER_specifics_t asn_SPC_scs_15kHz_specs_22 = {
437 asn_MAP_scs_15kHz_value2enum_22, /* "tag" => N; sorted by tag */
438 asn_MAP_scs_15kHz_enum2value_22, /* N => "tag"; sorted by N */
439 3, /* Number of elements in the maps */
440 0, /* Enumeration is not extensible */
441 1, /* Strict enumeration */
442 0, /* Native long size */
445 static const ber_tlv_tag_t asn_DEF_scs_15kHz_tags_22[] = {
446 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
447 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
449 static /* Use -fall-defs-global to expose */
450 asn_TYPE_descriptor_t asn_DEF_scs_15kHz_22 = {
453 &asn_OP_NativeEnumerated,
454 asn_DEF_scs_15kHz_tags_22,
455 sizeof(asn_DEF_scs_15kHz_tags_22)
456 /sizeof(asn_DEF_scs_15kHz_tags_22[0]) - 1, /* 1 */
457 asn_DEF_scs_15kHz_tags_22, /* Same as above */
458 sizeof(asn_DEF_scs_15kHz_tags_22)
459 /sizeof(asn_DEF_scs_15kHz_tags_22[0]), /* 2 */
460 { &asn_OER_type_scs_15kHz_constr_22, &asn_PER_type_scs_15kHz_constr_22, NativeEnumerated_constraint },
461 0, 0, /* Defined elsewhere */
462 &asn_SPC_scs_15kHz_specs_22 /* Additional specs */
465 static const asn_INTEGER_enum_map_t asn_MAP_scs_30kHz_value2enum_26[] = {
470 static const unsigned int asn_MAP_scs_30kHz_enum2value_26[] = {
475 static const asn_INTEGER_specifics_t asn_SPC_scs_30kHz_specs_26 = {
476 asn_MAP_scs_30kHz_value2enum_26, /* "tag" => N; sorted by tag */
477 asn_MAP_scs_30kHz_enum2value_26, /* N => "tag"; sorted by N */
478 3, /* Number of elements in the maps */
479 0, /* Enumeration is not extensible */
480 1, /* Strict enumeration */
481 0, /* Native long size */
484 static const ber_tlv_tag_t asn_DEF_scs_30kHz_tags_26[] = {
485 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
486 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
488 static /* Use -fall-defs-global to expose */
489 asn_TYPE_descriptor_t asn_DEF_scs_30kHz_26 = {
492 &asn_OP_NativeEnumerated,
493 asn_DEF_scs_30kHz_tags_26,
494 sizeof(asn_DEF_scs_30kHz_tags_26)
495 /sizeof(asn_DEF_scs_30kHz_tags_26[0]) - 1, /* 1 */
496 asn_DEF_scs_30kHz_tags_26, /* Same as above */
497 sizeof(asn_DEF_scs_30kHz_tags_26)
498 /sizeof(asn_DEF_scs_30kHz_tags_26[0]), /* 2 */
499 { &asn_OER_type_scs_30kHz_constr_26, &asn_PER_type_scs_30kHz_constr_26, NativeEnumerated_constraint },
500 0, 0, /* Defined elsewhere */
501 &asn_SPC_scs_30kHz_specs_26 /* Additional specs */
504 static const asn_INTEGER_enum_map_t asn_MAP_scs_60kHz_value2enum_30[] = {
509 static const unsigned int asn_MAP_scs_60kHz_enum2value_30[] = {
514 static const asn_INTEGER_specifics_t asn_SPC_scs_60kHz_specs_30 = {
515 asn_MAP_scs_60kHz_value2enum_30, /* "tag" => N; sorted by tag */
516 asn_MAP_scs_60kHz_enum2value_30, /* N => "tag"; sorted by N */
517 3, /* Number of elements in the maps */
518 0, /* Enumeration is not extensible */
519 1, /* Strict enumeration */
520 0, /* Native long size */
523 static const ber_tlv_tag_t asn_DEF_scs_60kHz_tags_30[] = {
524 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
525 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
527 static /* Use -fall-defs-global to expose */
528 asn_TYPE_descriptor_t asn_DEF_scs_60kHz_30 = {
531 &asn_OP_NativeEnumerated,
532 asn_DEF_scs_60kHz_tags_30,
533 sizeof(asn_DEF_scs_60kHz_tags_30)
534 /sizeof(asn_DEF_scs_60kHz_tags_30[0]) - 1, /* 1 */
535 asn_DEF_scs_60kHz_tags_30, /* Same as above */
536 sizeof(asn_DEF_scs_60kHz_tags_30)
537 /sizeof(asn_DEF_scs_60kHz_tags_30[0]), /* 2 */
538 { &asn_OER_type_scs_60kHz_constr_30, &asn_PER_type_scs_60kHz_constr_30, NativeEnumerated_constraint },
539 0, 0, /* Defined elsewhere */
540 &asn_SPC_scs_60kHz_specs_30 /* Additional specs */
543 static const asn_INTEGER_enum_map_t asn_MAP_scs_120kHz_value2enum_34[] = {
548 static const unsigned int asn_MAP_scs_120kHz_enum2value_34[] = {
553 static const asn_INTEGER_specifics_t asn_SPC_scs_120kHz_specs_34 = {
554 asn_MAP_scs_120kHz_value2enum_34, /* "tag" => N; sorted by tag */
555 asn_MAP_scs_120kHz_enum2value_34, /* N => "tag"; sorted by N */
556 3, /* Number of elements in the maps */
557 0, /* Enumeration is not extensible */
558 1, /* Strict enumeration */
559 0, /* Native long size */
562 static const ber_tlv_tag_t asn_DEF_scs_120kHz_tags_34[] = {
563 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
564 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
566 static /* Use -fall-defs-global to expose */
567 asn_TYPE_descriptor_t asn_DEF_scs_120kHz_34 = {
570 &asn_OP_NativeEnumerated,
571 asn_DEF_scs_120kHz_tags_34,
572 sizeof(asn_DEF_scs_120kHz_tags_34)
573 /sizeof(asn_DEF_scs_120kHz_tags_34[0]) - 1, /* 1 */
574 asn_DEF_scs_120kHz_tags_34, /* Same as above */
575 sizeof(asn_DEF_scs_120kHz_tags_34)
576 /sizeof(asn_DEF_scs_120kHz_tags_34[0]), /* 2 */
577 { &asn_OER_type_scs_120kHz_constr_34, &asn_PER_type_scs_120kHz_constr_34, NativeEnumerated_constraint },
578 0, 0, /* Defined elsewhere */
579 &asn_SPC_scs_120kHz_specs_34 /* Additional specs */
582 static asn_TYPE_member_t asn_MBR_pusch_DifferentTB_PerSlot_21[] = {
583 { ATF_POINTER, 4, offsetof(struct FeatureSetUplink__pusch_DifferentTB_PerSlot, scs_15kHz),
584 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
585 -1, /* IMPLICIT tag at current level */
586 &asn_DEF_scs_15kHz_22,
589 0, 0, /* No default value */
592 { ATF_POINTER, 3, offsetof(struct FeatureSetUplink__pusch_DifferentTB_PerSlot, scs_30kHz),
593 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
594 -1, /* IMPLICIT tag at current level */
595 &asn_DEF_scs_30kHz_26,
598 0, 0, /* No default value */
601 { ATF_POINTER, 2, offsetof(struct FeatureSetUplink__pusch_DifferentTB_PerSlot, scs_60kHz),
602 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
603 -1, /* IMPLICIT tag at current level */
604 &asn_DEF_scs_60kHz_30,
607 0, 0, /* No default value */
610 { ATF_POINTER, 1, offsetof(struct FeatureSetUplink__pusch_DifferentTB_PerSlot, scs_120kHz),
611 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
612 -1, /* IMPLICIT tag at current level */
613 &asn_DEF_scs_120kHz_34,
616 0, 0, /* No default value */
620 static const int asn_MAP_pusch_DifferentTB_PerSlot_oms_21[] = { 0, 1, 2, 3 };
621 static const ber_tlv_tag_t asn_DEF_pusch_DifferentTB_PerSlot_tags_21[] = {
622 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
623 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
625 static const asn_TYPE_tag2member_t asn_MAP_pusch_DifferentTB_PerSlot_tag2el_21[] = {
626 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-15kHz */
627 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scs-30kHz */
628 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scs-60kHz */
629 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* scs-120kHz */
631 static asn_SEQUENCE_specifics_t asn_SPC_pusch_DifferentTB_PerSlot_specs_21 = {
632 sizeof(struct FeatureSetUplink__pusch_DifferentTB_PerSlot),
633 offsetof(struct FeatureSetUplink__pusch_DifferentTB_PerSlot, _asn_ctx),
634 asn_MAP_pusch_DifferentTB_PerSlot_tag2el_21,
635 4, /* Count of tags in the map */
636 asn_MAP_pusch_DifferentTB_PerSlot_oms_21, /* Optional members */
637 4, 0, /* Root/Additions */
638 -1, /* First extension addition */
640 static /* Use -fall-defs-global to expose */
641 asn_TYPE_descriptor_t asn_DEF_pusch_DifferentTB_PerSlot_21 = {
642 "pusch-DifferentTB-PerSlot",
643 "pusch-DifferentTB-PerSlot",
645 asn_DEF_pusch_DifferentTB_PerSlot_tags_21,
646 sizeof(asn_DEF_pusch_DifferentTB_PerSlot_tags_21)
647 /sizeof(asn_DEF_pusch_DifferentTB_PerSlot_tags_21[0]) - 1, /* 1 */
648 asn_DEF_pusch_DifferentTB_PerSlot_tags_21, /* Same as above */
649 sizeof(asn_DEF_pusch_DifferentTB_PerSlot_tags_21)
650 /sizeof(asn_DEF_pusch_DifferentTB_PerSlot_tags_21[0]), /* 2 */
651 { 0, 0, SEQUENCE_constraint },
652 asn_MBR_pusch_DifferentTB_PerSlot_21,
653 4, /* Elements count */
654 &asn_SPC_pusch_DifferentTB_PerSlot_specs_21 /* Additional specs */
657 asn_TYPE_member_t asn_MBR_FeatureSetUplink_1[] = {
658 { ATF_NOFLAGS, 0, offsetof(struct FeatureSetUplink, featureSetListPerUplinkCC),
659 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
661 &asn_DEF_featureSetListPerUplinkCC_2,
663 { &asn_OER_memb_featureSetListPerUplinkCC_constr_2, &asn_PER_memb_featureSetListPerUplinkCC_constr_2, memb_featureSetListPerUplinkCC_constraint_1 },
664 0, 0, /* No default value */
665 "featureSetListPerUplinkCC"
667 { ATF_POINTER, 11, offsetof(struct FeatureSetUplink, scalingFactor),
668 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
669 -1, /* IMPLICIT tag at current level */
670 &asn_DEF_scalingFactor_4,
673 0, 0, /* No default value */
676 { ATF_POINTER, 10, offsetof(struct FeatureSetUplink, crossCarrierScheduling_OtherSCS),
677 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
678 -1, /* IMPLICIT tag at current level */
679 &asn_DEF_crossCarrierScheduling_OtherSCS_8,
682 0, 0, /* No default value */
683 "crossCarrierScheduling-OtherSCS"
685 { ATF_POINTER, 9, offsetof(struct FeatureSetUplink, intraBandFreqSeparationUL),
686 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
687 -1, /* IMPLICIT tag at current level */
688 &asn_DEF_FreqSeparationClass,
691 0, 0, /* No default value */
692 "intraBandFreqSeparationUL"
694 { ATF_POINTER, 8, offsetof(struct FeatureSetUplink, searchSpaceSharingCA_UL),
695 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
696 -1, /* IMPLICIT tag at current level */
697 &asn_DEF_searchSpaceSharingCA_UL_11,
700 0, 0, /* No default value */
701 "searchSpaceSharingCA-UL"
703 { ATF_POINTER, 7, offsetof(struct FeatureSetUplink, srs_TxSwitch),
704 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
705 -1, /* IMPLICIT tag at current level */
706 &asn_DEF_SRS_TxSwitch,
709 0, 0, /* No default value */
712 { ATF_POINTER, 6, offsetof(struct FeatureSetUplink, supportedSRS_Resources),
713 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
714 -1, /* IMPLICIT tag at current level */
715 &asn_DEF_SRS_Resources,
718 0, 0, /* No default value */
719 "supportedSRS-Resources"
721 { ATF_POINTER, 5, offsetof(struct FeatureSetUplink, twoPUCCH_Group),
722 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
723 -1, /* IMPLICIT tag at current level */
724 &asn_DEF_twoPUCCH_Group_15,
727 0, 0, /* No default value */
730 { ATF_POINTER, 4, offsetof(struct FeatureSetUplink, dynamicSwitchSUL),
731 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
732 -1, /* IMPLICIT tag at current level */
733 &asn_DEF_dynamicSwitchSUL_17,
736 0, 0, /* No default value */
739 { ATF_POINTER, 3, offsetof(struct FeatureSetUplink, simultaneousTxSUL_NonSUL),
740 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
741 -1, /* IMPLICIT tag at current level */
742 &asn_DEF_simultaneousTxSUL_NonSUL_19,
745 0, 0, /* No default value */
746 "simultaneousTxSUL-NonSUL"
748 { ATF_POINTER, 2, offsetof(struct FeatureSetUplink, pusch_DifferentTB_PerSlot),
749 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
751 &asn_DEF_pusch_DifferentTB_PerSlot_21,
754 0, 0, /* No default value */
755 "pusch-DifferentTB-PerSlot"
757 { ATF_POINTER, 1, offsetof(struct FeatureSetUplink, csi_ReportFramework),
758 (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
759 -1, /* IMPLICIT tag at current level */
760 &asn_DEF_CSI_ReportFramework,
763 0, 0, /* No default value */
764 "csi-ReportFramework"
767 static const int asn_MAP_FeatureSetUplink_oms_1[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
768 static const ber_tlv_tag_t asn_DEF_FeatureSetUplink_tags_1[] = {
769 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
771 static const asn_TYPE_tag2member_t asn_MAP_FeatureSetUplink_tag2el_1[] = {
772 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* featureSetListPerUplinkCC */
773 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scalingFactor */
774 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* crossCarrierScheduling-OtherSCS */
775 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* intraBandFreqSeparationUL */
776 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* searchSpaceSharingCA-UL */
777 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* srs-TxSwitch */
778 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* supportedSRS-Resources */
779 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* twoPUCCH-Group */
780 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* dynamicSwitchSUL */
781 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* simultaneousTxSUL-NonSUL */
782 { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* pusch-DifferentTB-PerSlot */
783 { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* csi-ReportFramework */
785 asn_SEQUENCE_specifics_t asn_SPC_FeatureSetUplink_specs_1 = {
786 sizeof(struct FeatureSetUplink),
787 offsetof(struct FeatureSetUplink, _asn_ctx),
788 asn_MAP_FeatureSetUplink_tag2el_1,
789 12, /* Count of tags in the map */
790 asn_MAP_FeatureSetUplink_oms_1, /* Optional members */
791 11, 0, /* Root/Additions */
792 -1, /* First extension addition */
794 asn_TYPE_descriptor_t asn_DEF_FeatureSetUplink = {
798 asn_DEF_FeatureSetUplink_tags_1,
799 sizeof(asn_DEF_FeatureSetUplink_tags_1)
800 /sizeof(asn_DEF_FeatureSetUplink_tags_1[0]), /* 1 */
801 asn_DEF_FeatureSetUplink_tags_1, /* Same as above */
802 sizeof(asn_DEF_FeatureSetUplink_tags_1)
803 /sizeof(asn_DEF_FeatureSetUplink_tags_1[0]), /* 1 */
804 { 0, 0, SEQUENCE_constraint },
805 asn_MBR_FeatureSetUplink_1,
806 12, /* Elements count */
807 &asn_SPC_FeatureSetUplink_specs_1 /* Additional specs */