/* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "NR-RRC-Definitions" * found in "../../../rrc_15.3_asn.asn1" * `asn1c -D ./25_02_2022_RRC/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example` */ #include "MIMO-ParametersPerBand.h" #include "BeamManagementSSB-CSI-RS.h" #include "SRS-Resources.h" #include "CSI-RS-ForTracking.h" #include "PTRS-DensityRecommendationDL.h" #include "PTRS-DensityRecommendationUL.h" /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ static int memb_maxNumberSRS_ResourceSet_constraint_60(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key) { long value; if(!sptr) { ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } value = *(const long *)sptr; if((value >= 1 && value <= 8)) { /* Constraint check succeeded */ return 0; } else { ASN__CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)", td->name, __FILE__, __LINE__); return -1; } } /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ static int memb_maxNumberRxBeam_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key) { long value; if(!sptr) { ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } value = *(const long *)sptr; if((value >= 2 && value <= 8)) { /* Constraint check succeeded */ return 0; } else { ASN__CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)", td->name, __FILE__, __LINE__); return -1; } } static int memb_maxNumberCSI_RS_BFR_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key) { long value; if(!sptr) { ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } value = *(const long *)sptr; if((value >= 1 && value <= 64)) { /* Constraint check succeeded */ return 0; } else { ASN__CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)", td->name, __FILE__, __LINE__); return -1; } } static int memb_maxNumberSSB_BFR_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key) { long value; if(!sptr) { ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } value = *(const long *)sptr; if((value >= 1 && value <= 64)) { /* Constraint check succeeded */ return 0; } else { ASN__CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)", td->name, __FILE__, __LINE__); return -1; } } static int memb_maxNumberCSI_RS_SSB_BFR_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key) { long value; if(!sptr) { ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } value = *(const long *)sptr; if((value >= 1 && value <= 256)) { /* Constraint check succeeded */ return 0; } else { ASN__CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)", td->name, __FILE__, __LINE__); return -1; } } static int memb_maxNumberSimultaneousSRS_PerCC_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key) { long value; if(!sptr) { ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } value = *(const long *)sptr; if((value >= 1 && value <= 4)) { /* Constraint check succeeded */ return 0; } else { ASN__CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)", td->name, __FILE__, __LINE__); return -1; } } static asn_oer_constraints_t asn_OER_type_maxNumberConfiguredTCIstatesPerCC_constr_3 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_maxNumberConfiguredTCIstatesPerCC_constr_3 CC_NOTUSED = { { APC_CONSTRAINED, 3, 3, 0, 5 } /* (0..5) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_maxNumberActiveTCI_PerBWP_constr_10 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_maxNumberActiveTCI_PerBWP_constr_10 CC_NOTUSED = { { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_additionalActiveTCI_StatePDCCH_constr_15 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_additionalActiveTCI_StatePDCCH_constr_15 CC_NOTUSED = { { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_pusch_TransCoherence_constr_17 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_pusch_TransCoherence_constr_17 CC_NOTUSED = { { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_beamCorrespondence_constr_21 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_beamCorrespondence_constr_21 CC_NOTUSED = { { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_periodicBeamReport_constr_23 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_periodicBeamReport_constr_23 CC_NOTUSED = { { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_aperiodicBeamReport_constr_25 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_aperiodicBeamReport_constr_25 CC_NOTUSED = { { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_sp_BeamReportPUCCH_constr_27 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_sp_BeamReportPUCCH_constr_27 CC_NOTUSED = { { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_sp_BeamReportPUSCH_constr_29 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_sp_BeamReportPUSCH_constr_29 CC_NOTUSED = { { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_scs_15kHz_constr_34 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_15kHz_constr_34 CC_NOTUSED = { { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_scs_30kHz_constr_38 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_30kHz_constr_38 CC_NOTUSED = { { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_scs_60kHz_constr_42 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_60kHz_constr_42 CC_NOTUSED = { { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_scs_120kHz_constr_46 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_120kHz_constr_46 CC_NOTUSED = { { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_scs_240kHz_constr_50 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_240kHz_constr_50 CC_NOTUSED = { { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_maxNumberNonGroupBeamReporting_constr_54 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_maxNumberNonGroupBeamReporting_constr_54 CC_NOTUSED = { { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_groupBeamReporting_constr_58 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_groupBeamReporting_constr_58 CC_NOTUSED = { { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_maxNumberSRS_ResourcePerSet_BM_constr_61 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_maxNumberSRS_ResourcePerSet_BM_constr_61 CC_NOTUSED = { { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_maxNumberSRS_ResourceSet_constr_66 CC_NOTUSED = { { 1, 1 } /* (1..8) */, -1}; static asn_per_constraints_t asn_PER_memb_maxNumberSRS_ResourceSet_constr_66 CC_NOTUSED = { { APC_CONSTRAINED, 3, 3, 1, 8 } /* (1..8) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_twoPortsPTRS_DL_constr_70 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_twoPortsPTRS_DL_constr_70 CC_NOTUSED = { { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_twoPortsPTRS_UL_constr_72 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_twoPortsPTRS_UL_constr_72 CC_NOTUSED = { { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_scs_15kHz_constr_77 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_15kHz_constr_77 CC_NOTUSED = { { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_scs_30kHz_constr_81 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_30kHz_constr_81 CC_NOTUSED = { { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_scs_60kHz_constr_86 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_60kHz_constr_86 CC_NOTUSED = { { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_scs_120kHz_constr_90 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_120kHz_constr_90 CC_NOTUSED = { { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_aperiodicTRS_constr_105 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_aperiodicTRS_constr_105 CC_NOTUSED = { { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_maxNumberRxBeam_constr_32 CC_NOTUSED = { { 1, 1 } /* (2..8) */, -1}; static asn_per_constraints_t asn_PER_memb_maxNumberRxBeam_constr_32 CC_NOTUSED = { { APC_CONSTRAINED, 3, 3, 2, 8 } /* (2..8) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_maxNumberCSI_RS_BFR_constr_67 CC_NOTUSED = { { 1, 1 } /* (1..64) */, -1}; static asn_per_constraints_t asn_PER_memb_maxNumberCSI_RS_BFR_constr_67 CC_NOTUSED = { { APC_CONSTRAINED, 6, 6, 1, 64 } /* (1..64) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_maxNumberSSB_BFR_constr_68 CC_NOTUSED = { { 1, 1 } /* (1..64) */, -1}; static asn_per_constraints_t asn_PER_memb_maxNumberSSB_BFR_constr_68 CC_NOTUSED = { { APC_CONSTRAINED, 6, 6, 1, 64 } /* (1..64) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_maxNumberCSI_RS_SSB_BFR_constr_69 CC_NOTUSED = { { 2, 1 } /* (1..256) */, -1}; static asn_per_constraints_t asn_PER_memb_maxNumberCSI_RS_SSB_BFR_constr_69 CC_NOTUSED = { { APC_CONSTRAINED, 8, 8, 1, 256 } /* (1..256) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_maxNumberSimultaneousSRS_PerCC_constr_75 CC_NOTUSED = { { 1, 1 } /* (1..4) */, -1}; static asn_per_constraints_t asn_PER_memb_maxNumberSimultaneousSRS_PerCC_constr_75 CC_NOTUSED = { { APC_CONSTRAINED, 2, 2, 1, 4 } /* (1..4) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static const asn_INTEGER_enum_map_t asn_MAP_maxNumberConfiguredTCIstatesPerCC_value2enum_3[] = { { 0, 2, "n4" }, { 1, 2, "n8" }, { 2, 3, "n16" }, { 3, 3, "n32" }, { 4, 3, "n64" }, { 5, 4, "n128" } }; static const unsigned int asn_MAP_maxNumberConfiguredTCIstatesPerCC_enum2value_3[] = { 5, /* n128(5) */ 2, /* n16(2) */ 3, /* n32(3) */ 0, /* n4(0) */ 4, /* n64(4) */ 1 /* n8(1) */ }; static const asn_INTEGER_specifics_t asn_SPC_maxNumberConfiguredTCIstatesPerCC_specs_3 = { asn_MAP_maxNumberConfiguredTCIstatesPerCC_value2enum_3, /* "tag" => N; sorted by tag */ asn_MAP_maxNumberConfiguredTCIstatesPerCC_enum2value_3, /* N => "tag"; sorted by N */ 6, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_maxNumberConfiguredTCIstatesPerCC_tags_3[] = { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_maxNumberConfiguredTCIstatesPerCC_3 = { "maxNumberConfiguredTCIstatesPerCC", "maxNumberConfiguredTCIstatesPerCC", &asn_OP_NativeEnumerated, asn_DEF_maxNumberConfiguredTCIstatesPerCC_tags_3, sizeof(asn_DEF_maxNumberConfiguredTCIstatesPerCC_tags_3) /sizeof(asn_DEF_maxNumberConfiguredTCIstatesPerCC_tags_3[0]) - 1, /* 1 */ asn_DEF_maxNumberConfiguredTCIstatesPerCC_tags_3, /* Same as above */ sizeof(asn_DEF_maxNumberConfiguredTCIstatesPerCC_tags_3) /sizeof(asn_DEF_maxNumberConfiguredTCIstatesPerCC_tags_3[0]), /* 2 */ { &asn_OER_type_maxNumberConfiguredTCIstatesPerCC_constr_3, &asn_PER_type_maxNumberConfiguredTCIstatesPerCC_constr_3, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_maxNumberConfiguredTCIstatesPerCC_specs_3 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_maxNumberActiveTCI_PerBWP_value2enum_10[] = { { 0, 2, "n1" }, { 1, 2, "n2" }, { 2, 2, "n4" }, { 3, 2, "n8" } }; static const unsigned int asn_MAP_maxNumberActiveTCI_PerBWP_enum2value_10[] = { 0, /* n1(0) */ 1, /* n2(1) */ 2, /* n4(2) */ 3 /* n8(3) */ }; static const asn_INTEGER_specifics_t asn_SPC_maxNumberActiveTCI_PerBWP_specs_10 = { asn_MAP_maxNumberActiveTCI_PerBWP_value2enum_10, /* "tag" => N; sorted by tag */ asn_MAP_maxNumberActiveTCI_PerBWP_enum2value_10, /* N => "tag"; sorted by N */ 4, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_maxNumberActiveTCI_PerBWP_tags_10[] = { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_maxNumberActiveTCI_PerBWP_10 = { "maxNumberActiveTCI-PerBWP", "maxNumberActiveTCI-PerBWP", &asn_OP_NativeEnumerated, asn_DEF_maxNumberActiveTCI_PerBWP_tags_10, sizeof(asn_DEF_maxNumberActiveTCI_PerBWP_tags_10) /sizeof(asn_DEF_maxNumberActiveTCI_PerBWP_tags_10[0]) - 1, /* 1 */ asn_DEF_maxNumberActiveTCI_PerBWP_tags_10, /* Same as above */ sizeof(asn_DEF_maxNumberActiveTCI_PerBWP_tags_10) /sizeof(asn_DEF_maxNumberActiveTCI_PerBWP_tags_10[0]), /* 2 */ { &asn_OER_type_maxNumberActiveTCI_PerBWP_constr_10, &asn_PER_type_maxNumberActiveTCI_PerBWP_constr_10, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_maxNumberActiveTCI_PerBWP_specs_10 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_tci_StatePDSCH_2[] = { { ATF_POINTER, 2, offsetof(struct MIMO_ParametersPerBand__tci_StatePDSCH, maxNumberConfiguredTCIstatesPerCC), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_maxNumberConfiguredTCIstatesPerCC_3, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "maxNumberConfiguredTCIstatesPerCC" }, { ATF_POINTER, 1, offsetof(struct MIMO_ParametersPerBand__tci_StatePDSCH, maxNumberActiveTCI_PerBWP), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_maxNumberActiveTCI_PerBWP_10, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "maxNumberActiveTCI-PerBWP" }, }; static const int asn_MAP_tci_StatePDSCH_oms_2[] = { 0, 1 }; static const ber_tlv_tag_t asn_DEF_tci_StatePDSCH_tags_2[] = { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_tci_StatePDSCH_tag2el_2[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* maxNumberConfiguredTCIstatesPerCC */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* maxNumberActiveTCI-PerBWP */ }; static asn_SEQUENCE_specifics_t asn_SPC_tci_StatePDSCH_specs_2 = { sizeof(struct MIMO_ParametersPerBand__tci_StatePDSCH), offsetof(struct MIMO_ParametersPerBand__tci_StatePDSCH, _asn_ctx), asn_MAP_tci_StatePDSCH_tag2el_2, 2, /* Count of tags in the map */ asn_MAP_tci_StatePDSCH_oms_2, /* Optional members */ 2, 0, /* Root/Additions */ -1, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_tci_StatePDSCH_2 = { "tci-StatePDSCH", "tci-StatePDSCH", &asn_OP_SEQUENCE, asn_DEF_tci_StatePDSCH_tags_2, sizeof(asn_DEF_tci_StatePDSCH_tags_2) /sizeof(asn_DEF_tci_StatePDSCH_tags_2[0]) - 1, /* 1 */ asn_DEF_tci_StatePDSCH_tags_2, /* Same as above */ sizeof(asn_DEF_tci_StatePDSCH_tags_2) /sizeof(asn_DEF_tci_StatePDSCH_tags_2[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_tci_StatePDSCH_2, 2, /* Elements count */ &asn_SPC_tci_StatePDSCH_specs_2 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_additionalActiveTCI_StatePDCCH_value2enum_15[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_additionalActiveTCI_StatePDCCH_enum2value_15[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_additionalActiveTCI_StatePDCCH_specs_15 = { asn_MAP_additionalActiveTCI_StatePDCCH_value2enum_15, /* "tag" => N; sorted by tag */ asn_MAP_additionalActiveTCI_StatePDCCH_enum2value_15, /* N => "tag"; sorted by N */ 1, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_additionalActiveTCI_StatePDCCH_tags_15[] = { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_additionalActiveTCI_StatePDCCH_15 = { "additionalActiveTCI-StatePDCCH", "additionalActiveTCI-StatePDCCH", &asn_OP_NativeEnumerated, asn_DEF_additionalActiveTCI_StatePDCCH_tags_15, sizeof(asn_DEF_additionalActiveTCI_StatePDCCH_tags_15) /sizeof(asn_DEF_additionalActiveTCI_StatePDCCH_tags_15[0]) - 1, /* 1 */ asn_DEF_additionalActiveTCI_StatePDCCH_tags_15, /* Same as above */ sizeof(asn_DEF_additionalActiveTCI_StatePDCCH_tags_15) /sizeof(asn_DEF_additionalActiveTCI_StatePDCCH_tags_15[0]), /* 2 */ { &asn_OER_type_additionalActiveTCI_StatePDCCH_constr_15, &asn_PER_type_additionalActiveTCI_StatePDCCH_constr_15, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_additionalActiveTCI_StatePDCCH_specs_15 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_pusch_TransCoherence_value2enum_17[] = { { 0, 11, "nonCoherent" }, { 1, 15, "partialCoherent" }, { 2, 12, "fullCoherent" } }; static const unsigned int asn_MAP_pusch_TransCoherence_enum2value_17[] = { 2, /* fullCoherent(2) */ 0, /* nonCoherent(0) */ 1 /* partialCoherent(1) */ }; static const asn_INTEGER_specifics_t asn_SPC_pusch_TransCoherence_specs_17 = { asn_MAP_pusch_TransCoherence_value2enum_17, /* "tag" => N; sorted by tag */ asn_MAP_pusch_TransCoherence_enum2value_17, /* N => "tag"; sorted by N */ 3, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_pusch_TransCoherence_tags_17[] = { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_pusch_TransCoherence_17 = { "pusch-TransCoherence", "pusch-TransCoherence", &asn_OP_NativeEnumerated, asn_DEF_pusch_TransCoherence_tags_17, sizeof(asn_DEF_pusch_TransCoherence_tags_17) /sizeof(asn_DEF_pusch_TransCoherence_tags_17[0]) - 1, /* 1 */ asn_DEF_pusch_TransCoherence_tags_17, /* Same as above */ sizeof(asn_DEF_pusch_TransCoherence_tags_17) /sizeof(asn_DEF_pusch_TransCoherence_tags_17[0]), /* 2 */ { &asn_OER_type_pusch_TransCoherence_constr_17, &asn_PER_type_pusch_TransCoherence_constr_17, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_pusch_TransCoherence_specs_17 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_beamCorrespondence_value2enum_21[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_beamCorrespondence_enum2value_21[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_beamCorrespondence_specs_21 = { asn_MAP_beamCorrespondence_value2enum_21, /* "tag" => N; sorted by tag */ asn_MAP_beamCorrespondence_enum2value_21, /* N => "tag"; sorted by N */ 1, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_beamCorrespondence_tags_21[] = { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_beamCorrespondence_21 = { "beamCorrespondence", "beamCorrespondence", &asn_OP_NativeEnumerated, asn_DEF_beamCorrespondence_tags_21, sizeof(asn_DEF_beamCorrespondence_tags_21) /sizeof(asn_DEF_beamCorrespondence_tags_21[0]) - 1, /* 1 */ asn_DEF_beamCorrespondence_tags_21, /* Same as above */ sizeof(asn_DEF_beamCorrespondence_tags_21) /sizeof(asn_DEF_beamCorrespondence_tags_21[0]), /* 2 */ { &asn_OER_type_beamCorrespondence_constr_21, &asn_PER_type_beamCorrespondence_constr_21, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_beamCorrespondence_specs_21 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_periodicBeamReport_value2enum_23[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_periodicBeamReport_enum2value_23[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_periodicBeamReport_specs_23 = { asn_MAP_periodicBeamReport_value2enum_23, /* "tag" => N; sorted by tag */ asn_MAP_periodicBeamReport_enum2value_23, /* N => "tag"; sorted by N */ 1, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_periodicBeamReport_tags_23[] = { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_periodicBeamReport_23 = { "periodicBeamReport", "periodicBeamReport", &asn_OP_NativeEnumerated, asn_DEF_periodicBeamReport_tags_23, sizeof(asn_DEF_periodicBeamReport_tags_23) /sizeof(asn_DEF_periodicBeamReport_tags_23[0]) - 1, /* 1 */ asn_DEF_periodicBeamReport_tags_23, /* Same as above */ sizeof(asn_DEF_periodicBeamReport_tags_23) /sizeof(asn_DEF_periodicBeamReport_tags_23[0]), /* 2 */ { &asn_OER_type_periodicBeamReport_constr_23, &asn_PER_type_periodicBeamReport_constr_23, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_periodicBeamReport_specs_23 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_aperiodicBeamReport_value2enum_25[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_aperiodicBeamReport_enum2value_25[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_aperiodicBeamReport_specs_25 = { asn_MAP_aperiodicBeamReport_value2enum_25, /* "tag" => N; sorted by tag */ asn_MAP_aperiodicBeamReport_enum2value_25, /* N => "tag"; sorted by N */ 1, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_aperiodicBeamReport_tags_25[] = { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_aperiodicBeamReport_25 = { "aperiodicBeamReport", "aperiodicBeamReport", &asn_OP_NativeEnumerated, asn_DEF_aperiodicBeamReport_tags_25, sizeof(asn_DEF_aperiodicBeamReport_tags_25) /sizeof(asn_DEF_aperiodicBeamReport_tags_25[0]) - 1, /* 1 */ asn_DEF_aperiodicBeamReport_tags_25, /* Same as above */ sizeof(asn_DEF_aperiodicBeamReport_tags_25) /sizeof(asn_DEF_aperiodicBeamReport_tags_25[0]), /* 2 */ { &asn_OER_type_aperiodicBeamReport_constr_25, &asn_PER_type_aperiodicBeamReport_constr_25, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_aperiodicBeamReport_specs_25 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_sp_BeamReportPUCCH_value2enum_27[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_sp_BeamReportPUCCH_enum2value_27[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_sp_BeamReportPUCCH_specs_27 = { asn_MAP_sp_BeamReportPUCCH_value2enum_27, /* "tag" => N; sorted by tag */ asn_MAP_sp_BeamReportPUCCH_enum2value_27, /* N => "tag"; sorted by N */ 1, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_sp_BeamReportPUCCH_tags_27[] = { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_sp_BeamReportPUCCH_27 = { "sp-BeamReportPUCCH", "sp-BeamReportPUCCH", &asn_OP_NativeEnumerated, asn_DEF_sp_BeamReportPUCCH_tags_27, sizeof(asn_DEF_sp_BeamReportPUCCH_tags_27) /sizeof(asn_DEF_sp_BeamReportPUCCH_tags_27[0]) - 1, /* 1 */ asn_DEF_sp_BeamReportPUCCH_tags_27, /* Same as above */ sizeof(asn_DEF_sp_BeamReportPUCCH_tags_27) /sizeof(asn_DEF_sp_BeamReportPUCCH_tags_27[0]), /* 2 */ { &asn_OER_type_sp_BeamReportPUCCH_constr_27, &asn_PER_type_sp_BeamReportPUCCH_constr_27, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_sp_BeamReportPUCCH_specs_27 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_sp_BeamReportPUSCH_value2enum_29[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_sp_BeamReportPUSCH_enum2value_29[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_sp_BeamReportPUSCH_specs_29 = { asn_MAP_sp_BeamReportPUSCH_value2enum_29, /* "tag" => N; sorted by tag */ asn_MAP_sp_BeamReportPUSCH_enum2value_29, /* N => "tag"; sorted by N */ 1, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_sp_BeamReportPUSCH_tags_29[] = { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_sp_BeamReportPUSCH_29 = { "sp-BeamReportPUSCH", "sp-BeamReportPUSCH", &asn_OP_NativeEnumerated, asn_DEF_sp_BeamReportPUSCH_tags_29, sizeof(asn_DEF_sp_BeamReportPUSCH_tags_29) /sizeof(asn_DEF_sp_BeamReportPUSCH_tags_29[0]) - 1, /* 1 */ asn_DEF_sp_BeamReportPUSCH_tags_29, /* Same as above */ sizeof(asn_DEF_sp_BeamReportPUSCH_tags_29) /sizeof(asn_DEF_sp_BeamReportPUSCH_tags_29[0]), /* 2 */ { &asn_OER_type_sp_BeamReportPUSCH_constr_29, &asn_PER_type_sp_BeamReportPUSCH_constr_29, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_sp_BeamReportPUSCH_specs_29 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_15kHz_value2enum_34[] = { { 0, 2, "n4" }, { 1, 2, "n7" }, { 2, 3, "n14" } }; static const unsigned int asn_MAP_scs_15kHz_enum2value_34[] = { 2, /* n14(2) */ 0, /* n4(0) */ 1 /* n7(1) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_15kHz_specs_34 = { asn_MAP_scs_15kHz_value2enum_34, /* "tag" => N; sorted by tag */ asn_MAP_scs_15kHz_enum2value_34, /* N => "tag"; sorted by N */ 3, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_scs_15kHz_tags_34[] = { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_scs_15kHz_34 = { "scs-15kHz", "scs-15kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_15kHz_tags_34, sizeof(asn_DEF_scs_15kHz_tags_34) /sizeof(asn_DEF_scs_15kHz_tags_34[0]) - 1, /* 1 */ asn_DEF_scs_15kHz_tags_34, /* Same as above */ sizeof(asn_DEF_scs_15kHz_tags_34) /sizeof(asn_DEF_scs_15kHz_tags_34[0]), /* 2 */ { &asn_OER_type_scs_15kHz_constr_34, &asn_PER_type_scs_15kHz_constr_34, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_15kHz_specs_34 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_30kHz_value2enum_38[] = { { 0, 2, "n4" }, { 1, 2, "n7" }, { 2, 3, "n14" } }; static const unsigned int asn_MAP_scs_30kHz_enum2value_38[] = { 2, /* n14(2) */ 0, /* n4(0) */ 1 /* n7(1) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_30kHz_specs_38 = { asn_MAP_scs_30kHz_value2enum_38, /* "tag" => N; sorted by tag */ asn_MAP_scs_30kHz_enum2value_38, /* N => "tag"; sorted by N */ 3, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_scs_30kHz_tags_38[] = { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_scs_30kHz_38 = { "scs-30kHz", "scs-30kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_30kHz_tags_38, sizeof(asn_DEF_scs_30kHz_tags_38) /sizeof(asn_DEF_scs_30kHz_tags_38[0]) - 1, /* 1 */ asn_DEF_scs_30kHz_tags_38, /* Same as above */ sizeof(asn_DEF_scs_30kHz_tags_38) /sizeof(asn_DEF_scs_30kHz_tags_38[0]), /* 2 */ { &asn_OER_type_scs_30kHz_constr_38, &asn_PER_type_scs_30kHz_constr_38, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_30kHz_specs_38 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_60kHz_value2enum_42[] = { { 0, 2, "n4" }, { 1, 2, "n7" }, { 2, 3, "n14" } }; static const unsigned int asn_MAP_scs_60kHz_enum2value_42[] = { 2, /* n14(2) */ 0, /* n4(0) */ 1 /* n7(1) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_60kHz_specs_42 = { asn_MAP_scs_60kHz_value2enum_42, /* "tag" => N; sorted by tag */ asn_MAP_scs_60kHz_enum2value_42, /* N => "tag"; sorted by N */ 3, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_scs_60kHz_tags_42[] = { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_scs_60kHz_42 = { "scs-60kHz", "scs-60kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_60kHz_tags_42, sizeof(asn_DEF_scs_60kHz_tags_42) /sizeof(asn_DEF_scs_60kHz_tags_42[0]) - 1, /* 1 */ asn_DEF_scs_60kHz_tags_42, /* Same as above */ sizeof(asn_DEF_scs_60kHz_tags_42) /sizeof(asn_DEF_scs_60kHz_tags_42[0]), /* 2 */ { &asn_OER_type_scs_60kHz_constr_42, &asn_PER_type_scs_60kHz_constr_42, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_60kHz_specs_42 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_120kHz_value2enum_46[] = { { 0, 2, "n4" }, { 1, 2, "n7" }, { 2, 3, "n14" } }; static const unsigned int asn_MAP_scs_120kHz_enum2value_46[] = { 2, /* n14(2) */ 0, /* n4(0) */ 1 /* n7(1) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_120kHz_specs_46 = { asn_MAP_scs_120kHz_value2enum_46, /* "tag" => N; sorted by tag */ asn_MAP_scs_120kHz_enum2value_46, /* N => "tag"; sorted by N */ 3, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_scs_120kHz_tags_46[] = { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_scs_120kHz_46 = { "scs-120kHz", "scs-120kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_120kHz_tags_46, sizeof(asn_DEF_scs_120kHz_tags_46) /sizeof(asn_DEF_scs_120kHz_tags_46[0]) - 1, /* 1 */ asn_DEF_scs_120kHz_tags_46, /* Same as above */ sizeof(asn_DEF_scs_120kHz_tags_46) /sizeof(asn_DEF_scs_120kHz_tags_46[0]), /* 2 */ { &asn_OER_type_scs_120kHz_constr_46, &asn_PER_type_scs_120kHz_constr_46, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_120kHz_specs_46 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_240kHz_value2enum_50[] = { { 0, 2, "n4" }, { 1, 2, "n7" }, { 2, 3, "n14" } }; static const unsigned int asn_MAP_scs_240kHz_enum2value_50[] = { 2, /* n14(2) */ 0, /* n4(0) */ 1 /* n7(1) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_240kHz_specs_50 = { asn_MAP_scs_240kHz_value2enum_50, /* "tag" => N; sorted by tag */ asn_MAP_scs_240kHz_enum2value_50, /* N => "tag"; sorted by N */ 3, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_scs_240kHz_tags_50[] = { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_scs_240kHz_50 = { "scs-240kHz", "scs-240kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_240kHz_tags_50, sizeof(asn_DEF_scs_240kHz_tags_50) /sizeof(asn_DEF_scs_240kHz_tags_50[0]) - 1, /* 1 */ asn_DEF_scs_240kHz_tags_50, /* Same as above */ sizeof(asn_DEF_scs_240kHz_tags_50) /sizeof(asn_DEF_scs_240kHz_tags_50[0]), /* 2 */ { &asn_OER_type_scs_240kHz_constr_50, &asn_PER_type_scs_240kHz_constr_50, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_240kHz_specs_50 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_maxNumberRxTxBeamSwitchDL_33[] = { { ATF_POINTER, 5, offsetof(struct MIMO_ParametersPerBand__maxNumberRxTxBeamSwitchDL, scs_15kHz), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_15kHz_34, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-15kHz" }, { ATF_POINTER, 4, offsetof(struct MIMO_ParametersPerBand__maxNumberRxTxBeamSwitchDL, scs_30kHz), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_30kHz_38, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-30kHz" }, { ATF_POINTER, 3, offsetof(struct MIMO_ParametersPerBand__maxNumberRxTxBeamSwitchDL, scs_60kHz), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_60kHz_42, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-60kHz" }, { ATF_POINTER, 2, offsetof(struct MIMO_ParametersPerBand__maxNumberRxTxBeamSwitchDL, scs_120kHz), (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_120kHz_46, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-120kHz" }, { ATF_POINTER, 1, offsetof(struct MIMO_ParametersPerBand__maxNumberRxTxBeamSwitchDL, scs_240kHz), (ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_240kHz_50, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-240kHz" }, }; static const int asn_MAP_maxNumberRxTxBeamSwitchDL_oms_33[] = { 0, 1, 2, 3, 4 }; static const ber_tlv_tag_t asn_DEF_maxNumberRxTxBeamSwitchDL_tags_33[] = { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_maxNumberRxTxBeamSwitchDL_tag2el_33[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-15kHz */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scs-30kHz */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scs-60kHz */ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* scs-120kHz */ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* scs-240kHz */ }; static asn_SEQUENCE_specifics_t asn_SPC_maxNumberRxTxBeamSwitchDL_specs_33 = { sizeof(struct MIMO_ParametersPerBand__maxNumberRxTxBeamSwitchDL), offsetof(struct MIMO_ParametersPerBand__maxNumberRxTxBeamSwitchDL, _asn_ctx), asn_MAP_maxNumberRxTxBeamSwitchDL_tag2el_33, 5, /* Count of tags in the map */ asn_MAP_maxNumberRxTxBeamSwitchDL_oms_33, /* Optional members */ 5, 0, /* Root/Additions */ -1, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_maxNumberRxTxBeamSwitchDL_33 = { "maxNumberRxTxBeamSwitchDL", "maxNumberRxTxBeamSwitchDL", &asn_OP_SEQUENCE, asn_DEF_maxNumberRxTxBeamSwitchDL_tags_33, sizeof(asn_DEF_maxNumberRxTxBeamSwitchDL_tags_33) /sizeof(asn_DEF_maxNumberRxTxBeamSwitchDL_tags_33[0]) - 1, /* 1 */ asn_DEF_maxNumberRxTxBeamSwitchDL_tags_33, /* Same as above */ sizeof(asn_DEF_maxNumberRxTxBeamSwitchDL_tags_33) /sizeof(asn_DEF_maxNumberRxTxBeamSwitchDL_tags_33[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_maxNumberRxTxBeamSwitchDL_33, 5, /* Elements count */ &asn_SPC_maxNumberRxTxBeamSwitchDL_specs_33 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_maxNumberNonGroupBeamReporting_value2enum_54[] = { { 0, 2, "n1" }, { 1, 2, "n2" }, { 2, 2, "n4" } }; static const unsigned int asn_MAP_maxNumberNonGroupBeamReporting_enum2value_54[] = { 0, /* n1(0) */ 1, /* n2(1) */ 2 /* n4(2) */ }; static const asn_INTEGER_specifics_t asn_SPC_maxNumberNonGroupBeamReporting_specs_54 = { asn_MAP_maxNumberNonGroupBeamReporting_value2enum_54, /* "tag" => N; sorted by tag */ asn_MAP_maxNumberNonGroupBeamReporting_enum2value_54, /* N => "tag"; sorted by N */ 3, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_maxNumberNonGroupBeamReporting_tags_54[] = { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_maxNumberNonGroupBeamReporting_54 = { "maxNumberNonGroupBeamReporting", "maxNumberNonGroupBeamReporting", &asn_OP_NativeEnumerated, asn_DEF_maxNumberNonGroupBeamReporting_tags_54, sizeof(asn_DEF_maxNumberNonGroupBeamReporting_tags_54) /sizeof(asn_DEF_maxNumberNonGroupBeamReporting_tags_54[0]) - 1, /* 1 */ asn_DEF_maxNumberNonGroupBeamReporting_tags_54, /* Same as above */ sizeof(asn_DEF_maxNumberNonGroupBeamReporting_tags_54) /sizeof(asn_DEF_maxNumberNonGroupBeamReporting_tags_54[0]), /* 2 */ { &asn_OER_type_maxNumberNonGroupBeamReporting_constr_54, &asn_PER_type_maxNumberNonGroupBeamReporting_constr_54, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_maxNumberNonGroupBeamReporting_specs_54 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_groupBeamReporting_value2enum_58[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_groupBeamReporting_enum2value_58[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_groupBeamReporting_specs_58 = { asn_MAP_groupBeamReporting_value2enum_58, /* "tag" => N; sorted by tag */ asn_MAP_groupBeamReporting_enum2value_58, /* N => "tag"; sorted by N */ 1, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_groupBeamReporting_tags_58[] = { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_groupBeamReporting_58 = { "groupBeamReporting", "groupBeamReporting", &asn_OP_NativeEnumerated, asn_DEF_groupBeamReporting_tags_58, sizeof(asn_DEF_groupBeamReporting_tags_58) /sizeof(asn_DEF_groupBeamReporting_tags_58[0]) - 1, /* 1 */ asn_DEF_groupBeamReporting_tags_58, /* Same as above */ sizeof(asn_DEF_groupBeamReporting_tags_58) /sizeof(asn_DEF_groupBeamReporting_tags_58[0]), /* 2 */ { &asn_OER_type_groupBeamReporting_constr_58, &asn_PER_type_groupBeamReporting_constr_58, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_groupBeamReporting_specs_58 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_maxNumberSRS_ResourcePerSet_BM_value2enum_61[] = { { 0, 2, "n2" }, { 1, 2, "n4" }, { 2, 2, "n8" }, { 3, 3, "n16" } }; static const unsigned int asn_MAP_maxNumberSRS_ResourcePerSet_BM_enum2value_61[] = { 3, /* n16(3) */ 0, /* n2(0) */ 1, /* n4(1) */ 2 /* n8(2) */ }; static const asn_INTEGER_specifics_t asn_SPC_maxNumberSRS_ResourcePerSet_BM_specs_61 = { asn_MAP_maxNumberSRS_ResourcePerSet_BM_value2enum_61, /* "tag" => N; sorted by tag */ asn_MAP_maxNumberSRS_ResourcePerSet_BM_enum2value_61, /* N => "tag"; sorted by N */ 4, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_maxNumberSRS_ResourcePerSet_BM_tags_61[] = { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_maxNumberSRS_ResourcePerSet_BM_61 = { "maxNumberSRS-ResourcePerSet-BM", "maxNumberSRS-ResourcePerSet-BM", &asn_OP_NativeEnumerated, asn_DEF_maxNumberSRS_ResourcePerSet_BM_tags_61, sizeof(asn_DEF_maxNumberSRS_ResourcePerSet_BM_tags_61) /sizeof(asn_DEF_maxNumberSRS_ResourcePerSet_BM_tags_61[0]) - 1, /* 1 */ asn_DEF_maxNumberSRS_ResourcePerSet_BM_tags_61, /* Same as above */ sizeof(asn_DEF_maxNumberSRS_ResourcePerSet_BM_tags_61) /sizeof(asn_DEF_maxNumberSRS_ResourcePerSet_BM_tags_61[0]), /* 2 */ { &asn_OER_type_maxNumberSRS_ResourcePerSet_BM_constr_61, &asn_PER_type_maxNumberSRS_ResourcePerSet_BM_constr_61, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_maxNumberSRS_ResourcePerSet_BM_specs_61 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_uplinkBeamManagement_60[] = { { ATF_NOFLAGS, 0, offsetof(struct MIMO_ParametersPerBand__uplinkBeamManagement, maxNumberSRS_ResourcePerSet_BM), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_maxNumberSRS_ResourcePerSet_BM_61, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "maxNumberSRS-ResourcePerSet-BM" }, { ATF_NOFLAGS, 0, offsetof(struct MIMO_ParametersPerBand__uplinkBeamManagement, maxNumberSRS_ResourceSet), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_maxNumberSRS_ResourceSet_constr_66, &asn_PER_memb_maxNumberSRS_ResourceSet_constr_66, memb_maxNumberSRS_ResourceSet_constraint_60 }, 0, 0, /* No default value */ "maxNumberSRS-ResourceSet" }, }; static const ber_tlv_tag_t asn_DEF_uplinkBeamManagement_tags_60[] = { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_uplinkBeamManagement_tag2el_60[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* maxNumberSRS-ResourcePerSet-BM */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* maxNumberSRS-ResourceSet */ }; static asn_SEQUENCE_specifics_t asn_SPC_uplinkBeamManagement_specs_60 = { sizeof(struct MIMO_ParametersPerBand__uplinkBeamManagement), offsetof(struct MIMO_ParametersPerBand__uplinkBeamManagement, _asn_ctx), asn_MAP_uplinkBeamManagement_tag2el_60, 2, /* Count of tags in the map */ 0, 0, 0, /* Optional elements (not needed) */ -1, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_uplinkBeamManagement_60 = { "uplinkBeamManagement", "uplinkBeamManagement", &asn_OP_SEQUENCE, asn_DEF_uplinkBeamManagement_tags_60, sizeof(asn_DEF_uplinkBeamManagement_tags_60) /sizeof(asn_DEF_uplinkBeamManagement_tags_60[0]) - 1, /* 1 */ asn_DEF_uplinkBeamManagement_tags_60, /* Same as above */ sizeof(asn_DEF_uplinkBeamManagement_tags_60) /sizeof(asn_DEF_uplinkBeamManagement_tags_60[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_uplinkBeamManagement_60, 2, /* Elements count */ &asn_SPC_uplinkBeamManagement_specs_60 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_twoPortsPTRS_DL_value2enum_70[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_twoPortsPTRS_DL_enum2value_70[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_twoPortsPTRS_DL_specs_70 = { asn_MAP_twoPortsPTRS_DL_value2enum_70, /* "tag" => N; sorted by tag */ asn_MAP_twoPortsPTRS_DL_enum2value_70, /* N => "tag"; sorted by N */ 1, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_twoPortsPTRS_DL_tags_70[] = { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_twoPortsPTRS_DL_70 = { "twoPortsPTRS-DL", "twoPortsPTRS-DL", &asn_OP_NativeEnumerated, asn_DEF_twoPortsPTRS_DL_tags_70, sizeof(asn_DEF_twoPortsPTRS_DL_tags_70) /sizeof(asn_DEF_twoPortsPTRS_DL_tags_70[0]) - 1, /* 1 */ asn_DEF_twoPortsPTRS_DL_tags_70, /* Same as above */ sizeof(asn_DEF_twoPortsPTRS_DL_tags_70) /sizeof(asn_DEF_twoPortsPTRS_DL_tags_70[0]), /* 2 */ { &asn_OER_type_twoPortsPTRS_DL_constr_70, &asn_PER_type_twoPortsPTRS_DL_constr_70, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_twoPortsPTRS_DL_specs_70 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_twoPortsPTRS_UL_value2enum_72[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_twoPortsPTRS_UL_enum2value_72[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_twoPortsPTRS_UL_specs_72 = { asn_MAP_twoPortsPTRS_UL_value2enum_72, /* "tag" => N; sorted by tag */ asn_MAP_twoPortsPTRS_UL_enum2value_72, /* N => "tag"; sorted by N */ 1, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_twoPortsPTRS_UL_tags_72[] = { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_twoPortsPTRS_UL_72 = { "twoPortsPTRS-UL", "twoPortsPTRS-UL", &asn_OP_NativeEnumerated, asn_DEF_twoPortsPTRS_UL_tags_72, sizeof(asn_DEF_twoPortsPTRS_UL_tags_72) /sizeof(asn_DEF_twoPortsPTRS_UL_tags_72[0]) - 1, /* 1 */ asn_DEF_twoPortsPTRS_UL_tags_72, /* Same as above */ sizeof(asn_DEF_twoPortsPTRS_UL_tags_72) /sizeof(asn_DEF_twoPortsPTRS_UL_tags_72[0]), /* 2 */ { &asn_OER_type_twoPortsPTRS_UL_constr_72, &asn_PER_type_twoPortsPTRS_UL_constr_72, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_twoPortsPTRS_UL_specs_72 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_15kHz_value2enum_77[] = { { 0, 4, "sym2" }, { 1, 4, "sym4" }, { 2, 4, "sym8" } }; static const unsigned int asn_MAP_scs_15kHz_enum2value_77[] = { 0, /* sym2(0) */ 1, /* sym4(1) */ 2 /* sym8(2) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_15kHz_specs_77 = { asn_MAP_scs_15kHz_value2enum_77, /* "tag" => N; sorted by tag */ asn_MAP_scs_15kHz_enum2value_77, /* N => "tag"; sorted by N */ 3, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_scs_15kHz_tags_77[] = { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_scs_15kHz_77 = { "scs-15kHz", "scs-15kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_15kHz_tags_77, sizeof(asn_DEF_scs_15kHz_tags_77) /sizeof(asn_DEF_scs_15kHz_tags_77[0]) - 1, /* 1 */ asn_DEF_scs_15kHz_tags_77, /* Same as above */ sizeof(asn_DEF_scs_15kHz_tags_77) /sizeof(asn_DEF_scs_15kHz_tags_77[0]), /* 2 */ { &asn_OER_type_scs_15kHz_constr_77, &asn_PER_type_scs_15kHz_constr_77, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_15kHz_specs_77 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_30kHz_value2enum_81[] = { { 0, 4, "sym4" }, { 1, 4, "sym8" }, { 2, 5, "sym14" }, { 3, 5, "sym28" } }; static const unsigned int asn_MAP_scs_30kHz_enum2value_81[] = { 2, /* sym14(2) */ 3, /* sym28(3) */ 0, /* sym4(0) */ 1 /* sym8(1) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_30kHz_specs_81 = { asn_MAP_scs_30kHz_value2enum_81, /* "tag" => N; sorted by tag */ asn_MAP_scs_30kHz_enum2value_81, /* N => "tag"; sorted by N */ 4, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_scs_30kHz_tags_81[] = { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_scs_30kHz_81 = { "scs-30kHz", "scs-30kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_30kHz_tags_81, sizeof(asn_DEF_scs_30kHz_tags_81) /sizeof(asn_DEF_scs_30kHz_tags_81[0]) - 1, /* 1 */ asn_DEF_scs_30kHz_tags_81, /* Same as above */ sizeof(asn_DEF_scs_30kHz_tags_81) /sizeof(asn_DEF_scs_30kHz_tags_81[0]), /* 2 */ { &asn_OER_type_scs_30kHz_constr_81, &asn_PER_type_scs_30kHz_constr_81, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_30kHz_specs_81 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_60kHz_value2enum_86[] = { { 0, 4, "sym8" }, { 1, 5, "sym14" }, { 2, 5, "sym28" } }; static const unsigned int asn_MAP_scs_60kHz_enum2value_86[] = { 1, /* sym14(1) */ 2, /* sym28(2) */ 0 /* sym8(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_60kHz_specs_86 = { asn_MAP_scs_60kHz_value2enum_86, /* "tag" => N; sorted by tag */ asn_MAP_scs_60kHz_enum2value_86, /* N => "tag"; sorted by N */ 3, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_scs_60kHz_tags_86[] = { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_scs_60kHz_86 = { "scs-60kHz", "scs-60kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_60kHz_tags_86, sizeof(asn_DEF_scs_60kHz_tags_86) /sizeof(asn_DEF_scs_60kHz_tags_86[0]) - 1, /* 1 */ asn_DEF_scs_60kHz_tags_86, /* Same as above */ sizeof(asn_DEF_scs_60kHz_tags_86) /sizeof(asn_DEF_scs_60kHz_tags_86[0]), /* 2 */ { &asn_OER_type_scs_60kHz_constr_86, &asn_PER_type_scs_60kHz_constr_86, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_60kHz_specs_86 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_120kHz_value2enum_90[] = { { 0, 5, "sym14" }, { 1, 5, "sym28" }, { 2, 5, "sym56" } }; static const unsigned int asn_MAP_scs_120kHz_enum2value_90[] = { 0, /* sym14(0) */ 1, /* sym28(1) */ 2 /* sym56(2) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_120kHz_specs_90 = { asn_MAP_scs_120kHz_value2enum_90, /* "tag" => N; sorted by tag */ asn_MAP_scs_120kHz_enum2value_90, /* N => "tag"; sorted by N */ 3, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_scs_120kHz_tags_90[] = { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_scs_120kHz_90 = { "scs-120kHz", "scs-120kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_120kHz_tags_90, sizeof(asn_DEF_scs_120kHz_tags_90) /sizeof(asn_DEF_scs_120kHz_tags_90[0]) - 1, /* 1 */ asn_DEF_scs_120kHz_tags_90, /* Same as above */ sizeof(asn_DEF_scs_120kHz_tags_90) /sizeof(asn_DEF_scs_120kHz_tags_90[0]), /* 2 */ { &asn_OER_type_scs_120kHz_constr_90, &asn_PER_type_scs_120kHz_constr_90, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_120kHz_specs_90 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_beamReportTiming_76[] = { { ATF_POINTER, 4, offsetof(struct MIMO_ParametersPerBand__beamReportTiming, scs_15kHz), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_15kHz_77, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-15kHz" }, { ATF_POINTER, 3, offsetof(struct MIMO_ParametersPerBand__beamReportTiming, scs_30kHz), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_30kHz_81, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-30kHz" }, { ATF_POINTER, 2, offsetof(struct MIMO_ParametersPerBand__beamReportTiming, scs_60kHz), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_60kHz_86, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-60kHz" }, { ATF_POINTER, 1, offsetof(struct MIMO_ParametersPerBand__beamReportTiming, scs_120kHz), (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_120kHz_90, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-120kHz" }, }; static const int asn_MAP_beamReportTiming_oms_76[] = { 0, 1, 2, 3 }; static const ber_tlv_tag_t asn_DEF_beamReportTiming_tags_76[] = { (ASN_TAG_CLASS_CONTEXT | (21 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_beamReportTiming_tag2el_76[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-15kHz */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scs-30kHz */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scs-60kHz */ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* scs-120kHz */ }; static asn_SEQUENCE_specifics_t asn_SPC_beamReportTiming_specs_76 = { sizeof(struct MIMO_ParametersPerBand__beamReportTiming), offsetof(struct MIMO_ParametersPerBand__beamReportTiming, _asn_ctx), asn_MAP_beamReportTiming_tag2el_76, 4, /* Count of tags in the map */ asn_MAP_beamReportTiming_oms_76, /* Optional members */ 4, 0, /* Root/Additions */ -1, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_beamReportTiming_76 = { "beamReportTiming", "beamReportTiming", &asn_OP_SEQUENCE, asn_DEF_beamReportTiming_tags_76, sizeof(asn_DEF_beamReportTiming_tags_76) /sizeof(asn_DEF_beamReportTiming_tags_76[0]) - 1, /* 1 */ asn_DEF_beamReportTiming_tags_76, /* Same as above */ sizeof(asn_DEF_beamReportTiming_tags_76) /sizeof(asn_DEF_beamReportTiming_tags_76[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_beamReportTiming_76, 4, /* Elements count */ &asn_SPC_beamReportTiming_specs_76 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_ptrs_DensityRecommendationSetDL_94[] = { { ATF_POINTER, 4, offsetof(struct MIMO_ParametersPerBand__ptrs_DensityRecommendationSetDL, scs_15kHz), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_PTRS_DensityRecommendationDL, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-15kHz" }, { ATF_POINTER, 3, offsetof(struct MIMO_ParametersPerBand__ptrs_DensityRecommendationSetDL, scs_30kHz), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_PTRS_DensityRecommendationDL, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-30kHz" }, { ATF_POINTER, 2, offsetof(struct MIMO_ParametersPerBand__ptrs_DensityRecommendationSetDL, scs_60kHz), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_PTRS_DensityRecommendationDL, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-60kHz" }, { ATF_POINTER, 1, offsetof(struct MIMO_ParametersPerBand__ptrs_DensityRecommendationSetDL, scs_120kHz), (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_PTRS_DensityRecommendationDL, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-120kHz" }, }; static const int asn_MAP_ptrs_DensityRecommendationSetDL_oms_94[] = { 0, 1, 2, 3 }; static const ber_tlv_tag_t asn_DEF_ptrs_DensityRecommendationSetDL_tags_94[] = { (ASN_TAG_CLASS_CONTEXT | (22 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_ptrs_DensityRecommendationSetDL_tag2el_94[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-15kHz */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scs-30kHz */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scs-60kHz */ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* scs-120kHz */ }; static asn_SEQUENCE_specifics_t asn_SPC_ptrs_DensityRecommendationSetDL_specs_94 = { sizeof(struct MIMO_ParametersPerBand__ptrs_DensityRecommendationSetDL), offsetof(struct MIMO_ParametersPerBand__ptrs_DensityRecommendationSetDL, _asn_ctx), asn_MAP_ptrs_DensityRecommendationSetDL_tag2el_94, 4, /* Count of tags in the map */ asn_MAP_ptrs_DensityRecommendationSetDL_oms_94, /* Optional members */ 4, 0, /* Root/Additions */ -1, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_ptrs_DensityRecommendationSetDL_94 = { "ptrs-DensityRecommendationSetDL", "ptrs-DensityRecommendationSetDL", &asn_OP_SEQUENCE, asn_DEF_ptrs_DensityRecommendationSetDL_tags_94, sizeof(asn_DEF_ptrs_DensityRecommendationSetDL_tags_94) /sizeof(asn_DEF_ptrs_DensityRecommendationSetDL_tags_94[0]) - 1, /* 1 */ asn_DEF_ptrs_DensityRecommendationSetDL_tags_94, /* Same as above */ sizeof(asn_DEF_ptrs_DensityRecommendationSetDL_tags_94) /sizeof(asn_DEF_ptrs_DensityRecommendationSetDL_tags_94[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_ptrs_DensityRecommendationSetDL_94, 4, /* Elements count */ &asn_SPC_ptrs_DensityRecommendationSetDL_specs_94 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_ptrs_DensityRecommendationSetUL_99[] = { { ATF_POINTER, 4, offsetof(struct MIMO_ParametersPerBand__ptrs_DensityRecommendationSetUL, scs_15kHz), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_PTRS_DensityRecommendationUL, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-15kHz" }, { ATF_POINTER, 3, offsetof(struct MIMO_ParametersPerBand__ptrs_DensityRecommendationSetUL, scs_30kHz), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_PTRS_DensityRecommendationUL, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-30kHz" }, { ATF_POINTER, 2, offsetof(struct MIMO_ParametersPerBand__ptrs_DensityRecommendationSetUL, scs_60kHz), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_PTRS_DensityRecommendationUL, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-60kHz" }, { ATF_POINTER, 1, offsetof(struct MIMO_ParametersPerBand__ptrs_DensityRecommendationSetUL, scs_120kHz), (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_PTRS_DensityRecommendationUL, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-120kHz" }, }; static const int asn_MAP_ptrs_DensityRecommendationSetUL_oms_99[] = { 0, 1, 2, 3 }; static const ber_tlv_tag_t asn_DEF_ptrs_DensityRecommendationSetUL_tags_99[] = { (ASN_TAG_CLASS_CONTEXT | (23 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_ptrs_DensityRecommendationSetUL_tag2el_99[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-15kHz */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scs-30kHz */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scs-60kHz */ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* scs-120kHz */ }; static asn_SEQUENCE_specifics_t asn_SPC_ptrs_DensityRecommendationSetUL_specs_99 = { sizeof(struct MIMO_ParametersPerBand__ptrs_DensityRecommendationSetUL), offsetof(struct MIMO_ParametersPerBand__ptrs_DensityRecommendationSetUL, _asn_ctx), asn_MAP_ptrs_DensityRecommendationSetUL_tag2el_99, 4, /* Count of tags in the map */ asn_MAP_ptrs_DensityRecommendationSetUL_oms_99, /* Optional members */ 4, 0, /* Root/Additions */ -1, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_ptrs_DensityRecommendationSetUL_99 = { "ptrs-DensityRecommendationSetUL", "ptrs-DensityRecommendationSetUL", &asn_OP_SEQUENCE, asn_DEF_ptrs_DensityRecommendationSetUL_tags_99, sizeof(asn_DEF_ptrs_DensityRecommendationSetUL_tags_99) /sizeof(asn_DEF_ptrs_DensityRecommendationSetUL_tags_99[0]) - 1, /* 1 */ asn_DEF_ptrs_DensityRecommendationSetUL_tags_99, /* Same as above */ sizeof(asn_DEF_ptrs_DensityRecommendationSetUL_tags_99) /sizeof(asn_DEF_ptrs_DensityRecommendationSetUL_tags_99[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_ptrs_DensityRecommendationSetUL_99, 4, /* Elements count */ &asn_SPC_ptrs_DensityRecommendationSetUL_specs_99 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_aperiodicTRS_value2enum_105[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_aperiodicTRS_enum2value_105[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_aperiodicTRS_specs_105 = { asn_MAP_aperiodicTRS_value2enum_105, /* "tag" => N; sorted by tag */ asn_MAP_aperiodicTRS_enum2value_105, /* N => "tag"; sorted by N */ 1, /* Number of elements in the maps */ 0, /* Enumeration is not extensible */ 1, /* Strict enumeration */ 0, /* Native long size */ 0 }; static const ber_tlv_tag_t asn_DEF_aperiodicTRS_tags_105[] = { (ASN_TAG_CLASS_CONTEXT | (25 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_aperiodicTRS_105 = { "aperiodicTRS", "aperiodicTRS", &asn_OP_NativeEnumerated, asn_DEF_aperiodicTRS_tags_105, sizeof(asn_DEF_aperiodicTRS_tags_105) /sizeof(asn_DEF_aperiodicTRS_tags_105[0]) - 1, /* 1 */ asn_DEF_aperiodicTRS_tags_105, /* Same as above */ sizeof(asn_DEF_aperiodicTRS_tags_105) /sizeof(asn_DEF_aperiodicTRS_tags_105[0]), /* 2 */ { &asn_OER_type_aperiodicTRS_constr_105, &asn_PER_type_aperiodicTRS_constr_105, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_aperiodicTRS_specs_105 /* Additional specs */ }; asn_TYPE_member_t asn_MBR_MIMO_ParametersPerBand_1[] = { { ATF_POINTER, 26, offsetof(struct MIMO_ParametersPerBand, tci_StatePDSCH), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, &asn_DEF_tci_StatePDSCH_2, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "tci-StatePDSCH" }, { ATF_POINTER, 25, offsetof(struct MIMO_ParametersPerBand, additionalActiveTCI_StatePDCCH), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_additionalActiveTCI_StatePDCCH_15, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "additionalActiveTCI-StatePDCCH" }, { ATF_POINTER, 24, offsetof(struct MIMO_ParametersPerBand, pusch_TransCoherence), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_pusch_TransCoherence_17, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "pusch-TransCoherence" }, { ATF_POINTER, 23, offsetof(struct MIMO_ParametersPerBand, beamCorrespondence), (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_beamCorrespondence_21, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "beamCorrespondence" }, { ATF_POINTER, 22, offsetof(struct MIMO_ParametersPerBand, periodicBeamReport), (ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_periodicBeamReport_23, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "periodicBeamReport" }, { ATF_POINTER, 21, offsetof(struct MIMO_ParametersPerBand, aperiodicBeamReport), (ASN_TAG_CLASS_CONTEXT | (5 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_aperiodicBeamReport_25, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "aperiodicBeamReport" }, { ATF_POINTER, 20, offsetof(struct MIMO_ParametersPerBand, sp_BeamReportPUCCH), (ASN_TAG_CLASS_CONTEXT | (6 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_sp_BeamReportPUCCH_27, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "sp-BeamReportPUCCH" }, { ATF_POINTER, 19, offsetof(struct MIMO_ParametersPerBand, sp_BeamReportPUSCH), (ASN_TAG_CLASS_CONTEXT | (7 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_sp_BeamReportPUSCH_29, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "sp-BeamReportPUSCH" }, { ATF_POINTER, 18, offsetof(struct MIMO_ParametersPerBand, beamManagementSSB_CSI_RS), (ASN_TAG_CLASS_CONTEXT | (8 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_BeamManagementSSB_CSI_RS, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "beamManagementSSB-CSI-RS" }, { ATF_POINTER, 17, offsetof(struct MIMO_ParametersPerBand, maxNumberRxBeam), (ASN_TAG_CLASS_CONTEXT | (9 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_maxNumberRxBeam_constr_32, &asn_PER_memb_maxNumberRxBeam_constr_32, memb_maxNumberRxBeam_constraint_1 }, 0, 0, /* No default value */ "maxNumberRxBeam" }, { ATF_POINTER, 16, offsetof(struct MIMO_ParametersPerBand, maxNumberRxTxBeamSwitchDL), (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 0, &asn_DEF_maxNumberRxTxBeamSwitchDL_33, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "maxNumberRxTxBeamSwitchDL" }, { ATF_POINTER, 15, offsetof(struct MIMO_ParametersPerBand, maxNumberNonGroupBeamReporting), (ASN_TAG_CLASS_CONTEXT | (11 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_maxNumberNonGroupBeamReporting_54, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "maxNumberNonGroupBeamReporting" }, { ATF_POINTER, 14, offsetof(struct MIMO_ParametersPerBand, groupBeamReporting), (ASN_TAG_CLASS_CONTEXT | (12 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_groupBeamReporting_58, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "groupBeamReporting" }, { ATF_POINTER, 13, offsetof(struct MIMO_ParametersPerBand, uplinkBeamManagement), (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 0, &asn_DEF_uplinkBeamManagement_60, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "uplinkBeamManagement" }, { ATF_POINTER, 12, offsetof(struct MIMO_ParametersPerBand, maxNumberCSI_RS_BFR), (ASN_TAG_CLASS_CONTEXT | (14 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_maxNumberCSI_RS_BFR_constr_67, &asn_PER_memb_maxNumberCSI_RS_BFR_constr_67, memb_maxNumberCSI_RS_BFR_constraint_1 }, 0, 0, /* No default value */ "maxNumberCSI-RS-BFR" }, { ATF_POINTER, 11, offsetof(struct MIMO_ParametersPerBand, maxNumberSSB_BFR), (ASN_TAG_CLASS_CONTEXT | (15 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_maxNumberSSB_BFR_constr_68, &asn_PER_memb_maxNumberSSB_BFR_constr_68, memb_maxNumberSSB_BFR_constraint_1 }, 0, 0, /* No default value */ "maxNumberSSB-BFR" }, { ATF_POINTER, 10, offsetof(struct MIMO_ParametersPerBand, maxNumberCSI_RS_SSB_BFR), (ASN_TAG_CLASS_CONTEXT | (16 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_maxNumberCSI_RS_SSB_BFR_constr_69, &asn_PER_memb_maxNumberCSI_RS_SSB_BFR_constr_69, memb_maxNumberCSI_RS_SSB_BFR_constraint_1 }, 0, 0, /* No default value */ "maxNumberCSI-RS-SSB-BFR" }, { ATF_POINTER, 9, offsetof(struct MIMO_ParametersPerBand, twoPortsPTRS_DL), (ASN_TAG_CLASS_CONTEXT | (17 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_twoPortsPTRS_DL_70, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "twoPortsPTRS-DL" }, { ATF_POINTER, 8, offsetof(struct MIMO_ParametersPerBand, twoPortsPTRS_UL), (ASN_TAG_CLASS_CONTEXT | (18 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_twoPortsPTRS_UL_72, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "twoPortsPTRS-UL" }, { ATF_POINTER, 7, offsetof(struct MIMO_ParametersPerBand, supportedSRS_Resources), (ASN_TAG_CLASS_CONTEXT | (19 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_SRS_Resources, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "supportedSRS-Resources" }, { ATF_POINTER, 6, offsetof(struct MIMO_ParametersPerBand, maxNumberSimultaneousSRS_PerCC), (ASN_TAG_CLASS_CONTEXT | (20 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_maxNumberSimultaneousSRS_PerCC_constr_75, &asn_PER_memb_maxNumberSimultaneousSRS_PerCC_constr_75, memb_maxNumberSimultaneousSRS_PerCC_constraint_1 }, 0, 0, /* No default value */ "maxNumberSimultaneousSRS-PerCC" }, { ATF_POINTER, 5, offsetof(struct MIMO_ParametersPerBand, beamReportTiming), (ASN_TAG_CLASS_CONTEXT | (21 << 2)), 0, &asn_DEF_beamReportTiming_76, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "beamReportTiming" }, { ATF_POINTER, 4, offsetof(struct MIMO_ParametersPerBand, ptrs_DensityRecommendationSetDL), (ASN_TAG_CLASS_CONTEXT | (22 << 2)), 0, &asn_DEF_ptrs_DensityRecommendationSetDL_94, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "ptrs-DensityRecommendationSetDL" }, { ATF_POINTER, 3, offsetof(struct MIMO_ParametersPerBand, ptrs_DensityRecommendationSetUL), (ASN_TAG_CLASS_CONTEXT | (23 << 2)), 0, &asn_DEF_ptrs_DensityRecommendationSetUL_99, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "ptrs-DensityRecommendationSetUL" }, { ATF_POINTER, 2, offsetof(struct MIMO_ParametersPerBand, csi_RS_ForTracking), (ASN_TAG_CLASS_CONTEXT | (24 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_CSI_RS_ForTracking, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "csi-RS-ForTracking" }, { ATF_POINTER, 1, offsetof(struct MIMO_ParametersPerBand, aperiodicTRS), (ASN_TAG_CLASS_CONTEXT | (25 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_aperiodicTRS_105, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "aperiodicTRS" }, }; static const int asn_MAP_MIMO_ParametersPerBand_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }; static const ber_tlv_tag_t asn_DEF_MIMO_ParametersPerBand_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_MIMO_ParametersPerBand_tag2el_1[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tci-StatePDSCH */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* additionalActiveTCI-StatePDCCH */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pusch-TransCoherence */ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* beamCorrespondence */ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* periodicBeamReport */ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* aperiodicBeamReport */ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* sp-BeamReportPUCCH */ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* sp-BeamReportPUSCH */ { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* beamManagementSSB-CSI-RS */ { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* maxNumberRxBeam */ { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* maxNumberRxTxBeamSwitchDL */ { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* maxNumberNonGroupBeamReporting */ { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* groupBeamReporting */ { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* uplinkBeamManagement */ { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* maxNumberCSI-RS-BFR */ { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* maxNumberSSB-BFR */ { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* maxNumberCSI-RS-SSB-BFR */ { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 }, /* twoPortsPTRS-DL */ { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 18, 0, 0 }, /* twoPortsPTRS-UL */ { (ASN_TAG_CLASS_CONTEXT | (19 << 2)), 19, 0, 0 }, /* supportedSRS-Resources */ { (ASN_TAG_CLASS_CONTEXT | (20 << 2)), 20, 0, 0 }, /* maxNumberSimultaneousSRS-PerCC */ { (ASN_TAG_CLASS_CONTEXT | (21 << 2)), 21, 0, 0 }, /* beamReportTiming */ { (ASN_TAG_CLASS_CONTEXT | (22 << 2)), 22, 0, 0 }, /* ptrs-DensityRecommendationSetDL */ { (ASN_TAG_CLASS_CONTEXT | (23 << 2)), 23, 0, 0 }, /* ptrs-DensityRecommendationSetUL */ { (ASN_TAG_CLASS_CONTEXT | (24 << 2)), 24, 0, 0 }, /* csi-RS-ForTracking */ { (ASN_TAG_CLASS_CONTEXT | (25 << 2)), 25, 0, 0 } /* aperiodicTRS */ }; asn_SEQUENCE_specifics_t asn_SPC_MIMO_ParametersPerBand_specs_1 = { sizeof(struct MIMO_ParametersPerBand), offsetof(struct MIMO_ParametersPerBand, _asn_ctx), asn_MAP_MIMO_ParametersPerBand_tag2el_1, 26, /* Count of tags in the map */ asn_MAP_MIMO_ParametersPerBand_oms_1, /* Optional members */ 26, 0, /* Root/Additions */ 26, /* First extension addition */ }; asn_TYPE_descriptor_t asn_DEF_MIMO_ParametersPerBand = { "MIMO-ParametersPerBand", "MIMO-ParametersPerBand", &asn_OP_SEQUENCE, asn_DEF_MIMO_ParametersPerBand_tags_1, sizeof(asn_DEF_MIMO_ParametersPerBand_tags_1) /sizeof(asn_DEF_MIMO_ParametersPerBand_tags_1[0]), /* 1 */ asn_DEF_MIMO_ParametersPerBand_tags_1, /* Same as above */ sizeof(asn_DEF_MIMO_ParametersPerBand_tags_1) /sizeof(asn_DEF_MIMO_ParametersPerBand_tags_1[0]), /* 1 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_MIMO_ParametersPerBand_1, 26, /* Elements count */ &asn_SPC_MIMO_ParametersPerBand_specs_1 /* Additional specs */ };