2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "../ASN1_Input/rrc_15_3_asn.asn1"
5 * `asn1c -D ../RRC_output_14Nov/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER`
8 #include "CSI-RS-IM-ReceptionForFeedback.h"
11 * This type is implemented using NativeEnumerated,
12 * so here we adjust the DEF accordingly.
15 * This type is implemented using NativeEnumerated,
16 * so here we adjust the DEF accordingly.
19 * This type is implemented using NativeEnumerated,
20 * so here we adjust the DEF accordingly.
23 * This type is implemented using NativeEnumerated,
24 * so here we adjust the DEF accordingly.
27 memb_maxNumberNZP_CSI_RS_PerCC_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
28 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
32 ASN__CTFAIL(app_key, td, sptr,
33 "%s: value not given (%s:%d)",
34 td->name, __FILE__, __LINE__);
38 value = *(const long *)sptr;
40 if((value >= 1 && value <= 32)) {
41 /* Constraint check succeeded */
44 ASN__CTFAIL(app_key, td, sptr,
45 "%s: constraint failed (%s:%d)",
46 td->name, __FILE__, __LINE__);
51 static asn_oer_constraints_t asn_OER_type_maxNumberPortsAcrossNZP_CSI_RS_PerCC_constr_3 CC_NOTUSED = {
54 static asn_per_constraints_t asn_PER_type_maxNumberPortsAcrossNZP_CSI_RS_PerCC_constr_3 CC_NOTUSED = {
55 { APC_CONSTRAINED, 6, 6, 0, 34 } /* (0..34) */,
56 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
57 0, 0 /* No PER value map */
59 static asn_oer_constraints_t asn_OER_type_maxNumberCS_IM_PerCC_constr_39 CC_NOTUSED = {
62 static asn_per_constraints_t asn_PER_type_maxNumberCS_IM_PerCC_constr_39 CC_NOTUSED = {
63 { APC_CONSTRAINED, 3, 3, 0, 5 } /* (0..5) */,
64 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
65 0, 0 /* No PER value map */
67 static asn_oer_constraints_t asn_OER_type_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_constr_46 CC_NOTUSED = {
70 static asn_per_constraints_t asn_PER_type_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_constr_46 CC_NOTUSED = {
71 { APC_CONSTRAINED, 6, 6, 0, 32 } /* (0..32) */,
72 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
73 0, 0 /* No PER value map */
75 static asn_oer_constraints_t asn_OER_type_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_constr_80 CC_NOTUSED = {
78 static asn_per_constraints_t asn_PER_type_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_constr_80 CC_NOTUSED = {
79 { APC_CONSTRAINED, 6, 6, 0, 32 } /* (0..32) */,
80 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
81 0, 0 /* No PER value map */
83 static asn_oer_constraints_t asn_OER_memb_maxNumberNZP_CSI_RS_PerCC_constr_2 CC_NOTUSED = {
84 { 1, 1 } /* (1..32) */,
86 static asn_per_constraints_t asn_PER_memb_maxNumberNZP_CSI_RS_PerCC_constr_2 CC_NOTUSED = {
87 { APC_CONSTRAINED, 5, 5, 1, 32 } /* (1..32) */,
88 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
89 0, 0 /* No PER value map */
91 static const asn_INTEGER_enum_map_t asn_MAP_maxNumberPortsAcrossNZP_CSI_RS_PerCC_value2enum_3[] = {
128 static const unsigned int asn_MAP_maxNumberPortsAcrossNZP_CSI_RS_PerCC_enum2value_3[] = {
165 static const asn_INTEGER_specifics_t asn_SPC_maxNumberPortsAcrossNZP_CSI_RS_PerCC_specs_3 = {
166 asn_MAP_maxNumberPortsAcrossNZP_CSI_RS_PerCC_value2enum_3, /* "tag" => N; sorted by tag */
167 asn_MAP_maxNumberPortsAcrossNZP_CSI_RS_PerCC_enum2value_3, /* N => "tag"; sorted by N */
168 35, /* Number of elements in the maps */
169 0, /* Enumeration is not extensible */
170 1, /* Strict enumeration */
171 0, /* Native long size */
174 static const ber_tlv_tag_t asn_DEF_maxNumberPortsAcrossNZP_CSI_RS_PerCC_tags_3[] = {
175 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
176 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
178 static /* Use -fall-defs-global to expose */
179 asn_TYPE_descriptor_t asn_DEF_maxNumberPortsAcrossNZP_CSI_RS_PerCC_3 = {
180 "maxNumberPortsAcrossNZP-CSI-RS-PerCC",
181 "maxNumberPortsAcrossNZP-CSI-RS-PerCC",
182 &asn_OP_NativeEnumerated,
183 asn_DEF_maxNumberPortsAcrossNZP_CSI_RS_PerCC_tags_3,
184 sizeof(asn_DEF_maxNumberPortsAcrossNZP_CSI_RS_PerCC_tags_3)
185 /sizeof(asn_DEF_maxNumberPortsAcrossNZP_CSI_RS_PerCC_tags_3[0]) - 1, /* 1 */
186 asn_DEF_maxNumberPortsAcrossNZP_CSI_RS_PerCC_tags_3, /* Same as above */
187 sizeof(asn_DEF_maxNumberPortsAcrossNZP_CSI_RS_PerCC_tags_3)
188 /sizeof(asn_DEF_maxNumberPortsAcrossNZP_CSI_RS_PerCC_tags_3[0]), /* 2 */
189 { &asn_OER_type_maxNumberPortsAcrossNZP_CSI_RS_PerCC_constr_3, &asn_PER_type_maxNumberPortsAcrossNZP_CSI_RS_PerCC_constr_3, NativeEnumerated_constraint },
190 0, 0, /* Defined elsewhere */
191 &asn_SPC_maxNumberPortsAcrossNZP_CSI_RS_PerCC_specs_3 /* Additional specs */
194 static const asn_INTEGER_enum_map_t asn_MAP_maxNumberCS_IM_PerCC_value2enum_39[] = {
202 static const unsigned int asn_MAP_maxNumberCS_IM_PerCC_enum2value_39[] = {
210 static const asn_INTEGER_specifics_t asn_SPC_maxNumberCS_IM_PerCC_specs_39 = {
211 asn_MAP_maxNumberCS_IM_PerCC_value2enum_39, /* "tag" => N; sorted by tag */
212 asn_MAP_maxNumberCS_IM_PerCC_enum2value_39, /* N => "tag"; sorted by N */
213 6, /* Number of elements in the maps */
214 0, /* Enumeration is not extensible */
215 1, /* Strict enumeration */
216 0, /* Native long size */
219 static const ber_tlv_tag_t asn_DEF_maxNumberCS_IM_PerCC_tags_39[] = {
220 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
221 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
223 static /* Use -fall-defs-global to expose */
224 asn_TYPE_descriptor_t asn_DEF_maxNumberCS_IM_PerCC_39 = {
225 "maxNumberCS-IM-PerCC",
226 "maxNumberCS-IM-PerCC",
227 &asn_OP_NativeEnumerated,
228 asn_DEF_maxNumberCS_IM_PerCC_tags_39,
229 sizeof(asn_DEF_maxNumberCS_IM_PerCC_tags_39)
230 /sizeof(asn_DEF_maxNumberCS_IM_PerCC_tags_39[0]) - 1, /* 1 */
231 asn_DEF_maxNumberCS_IM_PerCC_tags_39, /* Same as above */
232 sizeof(asn_DEF_maxNumberCS_IM_PerCC_tags_39)
233 /sizeof(asn_DEF_maxNumberCS_IM_PerCC_tags_39[0]), /* 2 */
234 { &asn_OER_type_maxNumberCS_IM_PerCC_constr_39, &asn_PER_type_maxNumberCS_IM_PerCC_constr_39, NativeEnumerated_constraint },
235 0, 0, /* Defined elsewhere */
236 &asn_SPC_maxNumberCS_IM_PerCC_specs_39 /* Additional specs */
239 static const asn_INTEGER_enum_map_t asn_MAP_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_value2enum_46[] = {
274 static const unsigned int asn_MAP_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_enum2value_46[] = {
309 static const asn_INTEGER_specifics_t asn_SPC_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_specs_46 = {
310 asn_MAP_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_value2enum_46, /* "tag" => N; sorted by tag */
311 asn_MAP_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_enum2value_46, /* N => "tag"; sorted by N */
312 33, /* Number of elements in the maps */
313 0, /* Enumeration is not extensible */
314 1, /* Strict enumeration */
315 0, /* Native long size */
318 static const ber_tlv_tag_t asn_DEF_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_tags_46[] = {
319 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
320 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
322 static /* Use -fall-defs-global to expose */
323 asn_TYPE_descriptor_t asn_DEF_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_46 = {
324 "maxNumberSimultaneousCSI-RS-ActBWP-AllCC",
325 "maxNumberSimultaneousCSI-RS-ActBWP-AllCC",
326 &asn_OP_NativeEnumerated,
327 asn_DEF_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_tags_46,
328 sizeof(asn_DEF_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_tags_46)
329 /sizeof(asn_DEF_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_tags_46[0]) - 1, /* 1 */
330 asn_DEF_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_tags_46, /* Same as above */
331 sizeof(asn_DEF_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_tags_46)
332 /sizeof(asn_DEF_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_tags_46[0]), /* 2 */
333 { &asn_OER_type_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_constr_46, &asn_PER_type_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_constr_46, NativeEnumerated_constraint },
334 0, 0, /* Defined elsewhere */
335 &asn_SPC_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_specs_46 /* Additional specs */
338 static const asn_INTEGER_enum_map_t asn_MAP_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_value2enum_80[] = {
373 static const unsigned int asn_MAP_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_enum2value_80[] = {
408 static const asn_INTEGER_specifics_t asn_SPC_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_specs_80 = {
409 asn_MAP_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_value2enum_80, /* "tag" => N; sorted by tag */
410 asn_MAP_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_enum2value_80, /* N => "tag"; sorted by N */
411 33, /* Number of elements in the maps */
412 0, /* Enumeration is not extensible */
413 1, /* Strict enumeration */
414 0, /* Native long size */
417 static const ber_tlv_tag_t asn_DEF_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_tags_80[] = {
418 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
419 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
421 static /* Use -fall-defs-global to expose */
422 asn_TYPE_descriptor_t asn_DEF_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_80 = {
423 "totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC",
424 "totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC",
425 &asn_OP_NativeEnumerated,
426 asn_DEF_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_tags_80,
427 sizeof(asn_DEF_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_tags_80)
428 /sizeof(asn_DEF_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_tags_80[0]) - 1, /* 1 */
429 asn_DEF_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_tags_80, /* Same as above */
430 sizeof(asn_DEF_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_tags_80)
431 /sizeof(asn_DEF_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_tags_80[0]), /* 2 */
432 { &asn_OER_type_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_constr_80, &asn_PER_type_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_constr_80, NativeEnumerated_constraint },
433 0, 0, /* Defined elsewhere */
434 &asn_SPC_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_specs_80 /* Additional specs */
437 asn_TYPE_member_t asn_MBR_CSI_RS_IM_ReceptionForFeedback_1[] = {
438 { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_IM_ReceptionForFeedback, maxNumberNZP_CSI_RS_PerCC),
439 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
440 -1, /* IMPLICIT tag at current level */
441 &asn_DEF_NativeInteger,
443 { &asn_OER_memb_maxNumberNZP_CSI_RS_PerCC_constr_2, &asn_PER_memb_maxNumberNZP_CSI_RS_PerCC_constr_2, memb_maxNumberNZP_CSI_RS_PerCC_constraint_1 },
444 0, 0, /* No default value */
445 "maxNumberNZP-CSI-RS-PerCC"
447 { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_IM_ReceptionForFeedback, maxNumberPortsAcrossNZP_CSI_RS_PerCC),
448 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
449 -1, /* IMPLICIT tag at current level */
450 &asn_DEF_maxNumberPortsAcrossNZP_CSI_RS_PerCC_3,
453 0, 0, /* No default value */
454 "maxNumberPortsAcrossNZP-CSI-RS-PerCC"
456 { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_IM_ReceptionForFeedback, maxNumberCS_IM_PerCC),
457 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
458 -1, /* IMPLICIT tag at current level */
459 &asn_DEF_maxNumberCS_IM_PerCC_39,
462 0, 0, /* No default value */
463 "maxNumberCS-IM-PerCC"
465 { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_IM_ReceptionForFeedback, maxNumberSimultaneousCSI_RS_ActBWP_AllCC),
466 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
467 -1, /* IMPLICIT tag at current level */
468 &asn_DEF_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_46,
471 0, 0, /* No default value */
472 "maxNumberSimultaneousCSI-RS-ActBWP-AllCC"
474 { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_IM_ReceptionForFeedback, totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC),
475 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
476 -1, /* IMPLICIT tag at current level */
477 &asn_DEF_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_80,
480 0, 0, /* No default value */
481 "totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC"
484 static const ber_tlv_tag_t asn_DEF_CSI_RS_IM_ReceptionForFeedback_tags_1[] = {
485 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
487 static const asn_TYPE_tag2member_t asn_MAP_CSI_RS_IM_ReceptionForFeedback_tag2el_1[] = {
488 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* maxNumberNZP-CSI-RS-PerCC */
489 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* maxNumberPortsAcrossNZP-CSI-RS-PerCC */
490 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* maxNumberCS-IM-PerCC */
491 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* maxNumberSimultaneousCSI-RS-ActBWP-AllCC */
492 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC */
494 asn_SEQUENCE_specifics_t asn_SPC_CSI_RS_IM_ReceptionForFeedback_specs_1 = {
495 sizeof(struct CSI_RS_IM_ReceptionForFeedback),
496 offsetof(struct CSI_RS_IM_ReceptionForFeedback, _asn_ctx),
497 asn_MAP_CSI_RS_IM_ReceptionForFeedback_tag2el_1,
498 5, /* Count of tags in the map */
499 0, 0, 0, /* Optional elements (not needed) */
500 -1, /* First extension addition */
502 asn_TYPE_descriptor_t asn_DEF_CSI_RS_IM_ReceptionForFeedback = {
503 "CSI-RS-IM-ReceptionForFeedback",
504 "CSI-RS-IM-ReceptionForFeedback",
506 asn_DEF_CSI_RS_IM_ReceptionForFeedback_tags_1,
507 sizeof(asn_DEF_CSI_RS_IM_ReceptionForFeedback_tags_1)
508 /sizeof(asn_DEF_CSI_RS_IM_ReceptionForFeedback_tags_1[0]), /* 1 */
509 asn_DEF_CSI_RS_IM_ReceptionForFeedback_tags_1, /* Same as above */
510 sizeof(asn_DEF_CSI_RS_IM_ReceptionForFeedback_tags_1)
511 /sizeof(asn_DEF_CSI_RS_IM_ReceptionForFeedback_tags_1[0]), /* 1 */
512 { 0, 0, SEQUENCE_constraint },
513 asn_MBR_CSI_RS_IM_ReceptionForFeedback_1,
514 5, /* Elements count */
515 &asn_SPC_CSI_RS_IM_ReceptionForFeedback_specs_1 /* Additional specs */