/* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "NR-RRC-Definitions" * found in "/home/labadmin/hlal/rrc_15.3_asn.asn1" * `asn1c -D ./15_3_rrc/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example` */ #include "FeatureSetDownlink.h" #include "CSI-RS-IM-ReceptionForFeedback.h" #include "TypeI-SinglePanelCodebook.h" #include "TypeI-MultiPanelCodebook.h" #include "TypeII-Codebook.h" #include "TypeII-CodebookPortSelection.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. */ static int memb_featureSetListPerDownlinkCC_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key) { size_t size; if(!sptr) { ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } /* Determine the number of elements */ size = _A_CSEQUENCE_FROM_VOID(sptr)->count; if((size >= 1 && size <= 32)) { /* Perform validation of the inner elements */ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); } else { ASN__CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)", td->name, __FILE__, __LINE__); return -1; } } static int memb_typeI_SinglePanelCodebookList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key) { size_t size; if(!sptr) { ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } /* Determine the number of elements */ size = _A_CSEQUENCE_FROM_VOID(sptr)->count; if((size >= 1 && size <= 16)) { /* Perform validation of the inner elements */ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); } else { ASN__CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)", td->name, __FILE__, __LINE__); return -1; } } static int memb_typeI_MultiPanelCodebookList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key) { size_t size; if(!sptr) { ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } /* Determine the number of elements */ size = _A_CSEQUENCE_FROM_VOID(sptr)->count; if((size >= 1 && size <= 16)) { /* Perform validation of the inner elements */ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); } else { ASN__CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)", td->name, __FILE__, __LINE__); return -1; } } static int memb_typeII_CodebookList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key) { size_t size; if(!sptr) { ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } /* Determine the number of elements */ size = _A_CSEQUENCE_FROM_VOID(sptr)->count; if((size >= 1 && size <= 16)) { /* Perform validation of the inner elements */ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); } else { ASN__CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)", td->name, __FILE__, __LINE__); return -1; } } static int memb_typeII_CodebookPortSelectionList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key) { size_t size; if(!sptr) { ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } /* Determine the number of elements */ size = _A_CSEQUENCE_FROM_VOID(sptr)->count; if((size >= 1 && size <= 16)) { /* Perform validation of the inner elements */ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); } 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_featureSetListPerDownlinkCC_constr_2 CC_NOTUSED = { { 0, 0 }, -1 /* (SIZE(1..32)) */}; static asn_per_constraints_t asn_PER_type_featureSetListPerDownlinkCC_constr_2 CC_NOTUSED = { { APC_UNCONSTRAINED, -1, -1, 0, 0 }, { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_scalingFactor_constr_5 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scalingFactor_constr_5 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_crossCarrierScheduling_OtherSCS_constr_9 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_crossCarrierScheduling_OtherSCS_constr_9 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_scellWithoutSSB_constr_11 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scellWithoutSSB_constr_11 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_csi_RS_MeasSCellWithoutSSB_constr_13 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_csi_RS_MeasSCellWithoutSSB_constr_13 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_srs_AssocCSI_RS_constr_15 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_srs_AssocCSI_RS_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_type1_3_CSS_constr_17 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_type1_3_CSS_constr_17 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_pdcch_MonitoringAnyOccasions_constr_19 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_pdcch_MonitoringAnyOccasions_constr_19 CC_NOTUSED = { { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_pdcch_MonitoringAnyOccasionsWithSpanGap_constr_22 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_pdcch_MonitoringAnyOccasionsWithSpanGap_constr_22 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_ue_SpecificUL_DL_Assignment_constr_24 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_ue_SpecificUL_DL_Assignment_constr_24 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_searchSpaceSharingCA_DL_constr_26 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_searchSpaceSharingCA_DL_constr_26 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_60kHz_constr_29 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_60kHz_constr_29 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_33 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_120kHz_constr_33 CC_NOTUSED = { { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_scs_15kHz_constr_37 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_15kHz_constr_37 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_41 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_30kHz_constr_41 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_45 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_60kHz_constr_45 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_49 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_scs_120kHz_constr_49 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_typeI_SinglePanelCodebookList_constr_54 CC_NOTUSED = { { 0, 0 }, -1 /* (SIZE(1..16)) */}; static asn_per_constraints_t asn_PER_type_typeI_SinglePanelCodebookList_constr_54 CC_NOTUSED = { { APC_UNCONSTRAINED, -1, -1, 0, 0 }, { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_typeI_MultiPanelCodebookList_constr_56 CC_NOTUSED = { { 0, 0 }, -1 /* (SIZE(1..16)) */}; static asn_per_constraints_t asn_PER_type_typeI_MultiPanelCodebookList_constr_56 CC_NOTUSED = { { APC_UNCONSTRAINED, -1, -1, 0, 0 }, { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_typeII_CodebookList_constr_58 CC_NOTUSED = { { 0, 0 }, -1 /* (SIZE(1..16)) */}; static asn_per_constraints_t asn_PER_type_typeII_CodebookList_constr_58 CC_NOTUSED = { { APC_UNCONSTRAINED, -1, -1, 0, 0 }, { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_typeII_CodebookPortSelectionList_constr_60 CC_NOTUSED = { { 0, 0 }, -1 /* (SIZE(1..16)) */}; static asn_per_constraints_t asn_PER_type_typeII_CodebookPortSelectionList_constr_60 CC_NOTUSED = { { APC_UNCONSTRAINED, -1, -1, 0, 0 }, { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_featureSetListPerDownlinkCC_constr_2 CC_NOTUSED = { { 0, 0 }, -1 /* (SIZE(1..32)) */}; static asn_per_constraints_t asn_PER_memb_featureSetListPerDownlinkCC_constr_2 CC_NOTUSED = { { APC_UNCONSTRAINED, -1, -1, 0, 0 }, { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_typeI_SinglePanelCodebookList_constr_54 CC_NOTUSED = { { 0, 0 }, -1 /* (SIZE(1..16)) */}; static asn_per_constraints_t asn_PER_memb_typeI_SinglePanelCodebookList_constr_54 CC_NOTUSED = { { APC_UNCONSTRAINED, -1, -1, 0, 0 }, { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_typeI_MultiPanelCodebookList_constr_56 CC_NOTUSED = { { 0, 0 }, -1 /* (SIZE(1..16)) */}; static asn_per_constraints_t asn_PER_memb_typeI_MultiPanelCodebookList_constr_56 CC_NOTUSED = { { APC_UNCONSTRAINED, -1, -1, 0, 0 }, { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_typeII_CodebookList_constr_58 CC_NOTUSED = { { 0, 0 }, -1 /* (SIZE(1..16)) */}; static asn_per_constraints_t asn_PER_memb_typeII_CodebookList_constr_58 CC_NOTUSED = { { APC_UNCONSTRAINED, -1, -1, 0, 0 }, { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_typeII_CodebookPortSelectionList_constr_60 CC_NOTUSED = { { 0, 0 }, -1 /* (SIZE(1..16)) */}; static asn_per_constraints_t asn_PER_memb_typeII_CodebookPortSelectionList_constr_60 CC_NOTUSED = { { APC_UNCONSTRAINED, -1, -1, 0, 0 }, { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, 0, 0 /* No PER value map */ }; static asn_TYPE_member_t asn_MBR_featureSetListPerDownlinkCC_2[] = { { ATF_POINTER, 0, 0, (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, &asn_DEF_FeatureSetDownlinkPerCC_Id, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "" }, }; static const ber_tlv_tag_t asn_DEF_featureSetListPerDownlinkCC_tags_2[] = { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_SET_OF_specifics_t asn_SPC_featureSetListPerDownlinkCC_specs_2 = { sizeof(struct FeatureSetDownlink__featureSetListPerDownlinkCC), offsetof(struct FeatureSetDownlink__featureSetListPerDownlinkCC, _asn_ctx), 0, /* XER encoding is XMLDelimitedItemList */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_featureSetListPerDownlinkCC_2 = { "featureSetListPerDownlinkCC", "featureSetListPerDownlinkCC", &asn_OP_SEQUENCE_OF, asn_DEF_featureSetListPerDownlinkCC_tags_2, sizeof(asn_DEF_featureSetListPerDownlinkCC_tags_2) /sizeof(asn_DEF_featureSetListPerDownlinkCC_tags_2[0]) - 1, /* 1 */ asn_DEF_featureSetListPerDownlinkCC_tags_2, /* Same as above */ sizeof(asn_DEF_featureSetListPerDownlinkCC_tags_2) /sizeof(asn_DEF_featureSetListPerDownlinkCC_tags_2[0]), /* 2 */ { &asn_OER_type_featureSetListPerDownlinkCC_constr_2, &asn_PER_type_featureSetListPerDownlinkCC_constr_2, SEQUENCE_OF_constraint }, asn_MBR_featureSetListPerDownlinkCC_2, 1, /* Single element */ &asn_SPC_featureSetListPerDownlinkCC_specs_2 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scalingFactor_value2enum_5[] = { { 0, 4, "f0p4" }, { 1, 5, "f0p75" }, { 2, 4, "f0p8" } }; static const unsigned int asn_MAP_scalingFactor_enum2value_5[] = { 0, /* f0p4(0) */ 1, /* f0p75(1) */ 2 /* f0p8(2) */ }; static const asn_INTEGER_specifics_t asn_SPC_scalingFactor_specs_5 = { asn_MAP_scalingFactor_value2enum_5, /* "tag" => N; sorted by tag */ asn_MAP_scalingFactor_enum2value_5, /* 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_scalingFactor_tags_5[] = { (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_scalingFactor_5 = { "scalingFactor", "scalingFactor", &asn_OP_NativeEnumerated, asn_DEF_scalingFactor_tags_5, sizeof(asn_DEF_scalingFactor_tags_5) /sizeof(asn_DEF_scalingFactor_tags_5[0]) - 1, /* 1 */ asn_DEF_scalingFactor_tags_5, /* Same as above */ sizeof(asn_DEF_scalingFactor_tags_5) /sizeof(asn_DEF_scalingFactor_tags_5[0]), /* 2 */ { &asn_OER_type_scalingFactor_constr_5, &asn_PER_type_scalingFactor_constr_5, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scalingFactor_specs_5 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_crossCarrierScheduling_OtherSCS_value2enum_9[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_crossCarrierScheduling_OtherSCS_enum2value_9[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_crossCarrierScheduling_OtherSCS_specs_9 = { asn_MAP_crossCarrierScheduling_OtherSCS_value2enum_9, /* "tag" => N; sorted by tag */ asn_MAP_crossCarrierScheduling_OtherSCS_enum2value_9, /* 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_crossCarrierScheduling_OtherSCS_tags_9[] = { (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_crossCarrierScheduling_OtherSCS_9 = { "crossCarrierScheduling-OtherSCS", "crossCarrierScheduling-OtherSCS", &asn_OP_NativeEnumerated, asn_DEF_crossCarrierScheduling_OtherSCS_tags_9, sizeof(asn_DEF_crossCarrierScheduling_OtherSCS_tags_9) /sizeof(asn_DEF_crossCarrierScheduling_OtherSCS_tags_9[0]) - 1, /* 1 */ asn_DEF_crossCarrierScheduling_OtherSCS_tags_9, /* Same as above */ sizeof(asn_DEF_crossCarrierScheduling_OtherSCS_tags_9) /sizeof(asn_DEF_crossCarrierScheduling_OtherSCS_tags_9[0]), /* 2 */ { &asn_OER_type_crossCarrierScheduling_OtherSCS_constr_9, &asn_PER_type_crossCarrierScheduling_OtherSCS_constr_9, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_crossCarrierScheduling_OtherSCS_specs_9 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scellWithoutSSB_value2enum_11[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_scellWithoutSSB_enum2value_11[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_scellWithoutSSB_specs_11 = { asn_MAP_scellWithoutSSB_value2enum_11, /* "tag" => N; sorted by tag */ asn_MAP_scellWithoutSSB_enum2value_11, /* 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_scellWithoutSSB_tags_11[] = { (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_scellWithoutSSB_11 = { "scellWithoutSSB", "scellWithoutSSB", &asn_OP_NativeEnumerated, asn_DEF_scellWithoutSSB_tags_11, sizeof(asn_DEF_scellWithoutSSB_tags_11) /sizeof(asn_DEF_scellWithoutSSB_tags_11[0]) - 1, /* 1 */ asn_DEF_scellWithoutSSB_tags_11, /* Same as above */ sizeof(asn_DEF_scellWithoutSSB_tags_11) /sizeof(asn_DEF_scellWithoutSSB_tags_11[0]), /* 2 */ { &asn_OER_type_scellWithoutSSB_constr_11, &asn_PER_type_scellWithoutSSB_constr_11, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scellWithoutSSB_specs_11 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_csi_RS_MeasSCellWithoutSSB_value2enum_13[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_csi_RS_MeasSCellWithoutSSB_enum2value_13[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_csi_RS_MeasSCellWithoutSSB_specs_13 = { asn_MAP_csi_RS_MeasSCellWithoutSSB_value2enum_13, /* "tag" => N; sorted by tag */ asn_MAP_csi_RS_MeasSCellWithoutSSB_enum2value_13, /* 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_csi_RS_MeasSCellWithoutSSB_tags_13[] = { (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_csi_RS_MeasSCellWithoutSSB_13 = { "csi-RS-MeasSCellWithoutSSB", "csi-RS-MeasSCellWithoutSSB", &asn_OP_NativeEnumerated, asn_DEF_csi_RS_MeasSCellWithoutSSB_tags_13, sizeof(asn_DEF_csi_RS_MeasSCellWithoutSSB_tags_13) /sizeof(asn_DEF_csi_RS_MeasSCellWithoutSSB_tags_13[0]) - 1, /* 1 */ asn_DEF_csi_RS_MeasSCellWithoutSSB_tags_13, /* Same as above */ sizeof(asn_DEF_csi_RS_MeasSCellWithoutSSB_tags_13) /sizeof(asn_DEF_csi_RS_MeasSCellWithoutSSB_tags_13[0]), /* 2 */ { &asn_OER_type_csi_RS_MeasSCellWithoutSSB_constr_13, &asn_PER_type_csi_RS_MeasSCellWithoutSSB_constr_13, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_csi_RS_MeasSCellWithoutSSB_specs_13 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_srs_AssocCSI_RS_value2enum_15[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_srs_AssocCSI_RS_enum2value_15[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_srs_AssocCSI_RS_specs_15 = { asn_MAP_srs_AssocCSI_RS_value2enum_15, /* "tag" => N; sorted by tag */ asn_MAP_srs_AssocCSI_RS_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_srs_AssocCSI_RS_tags_15[] = { (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_srs_AssocCSI_RS_15 = { "srs-AssocCSI-RS", "srs-AssocCSI-RS", &asn_OP_NativeEnumerated, asn_DEF_srs_AssocCSI_RS_tags_15, sizeof(asn_DEF_srs_AssocCSI_RS_tags_15) /sizeof(asn_DEF_srs_AssocCSI_RS_tags_15[0]) - 1, /* 1 */ asn_DEF_srs_AssocCSI_RS_tags_15, /* Same as above */ sizeof(asn_DEF_srs_AssocCSI_RS_tags_15) /sizeof(asn_DEF_srs_AssocCSI_RS_tags_15[0]), /* 2 */ { &asn_OER_type_srs_AssocCSI_RS_constr_15, &asn_PER_type_srs_AssocCSI_RS_constr_15, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_srs_AssocCSI_RS_specs_15 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_type1_3_CSS_value2enum_17[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_type1_3_CSS_enum2value_17[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_type1_3_CSS_specs_17 = { asn_MAP_type1_3_CSS_value2enum_17, /* "tag" => N; sorted by tag */ asn_MAP_type1_3_CSS_enum2value_17, /* 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_type1_3_CSS_tags_17[] = { (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_type1_3_CSS_17 = { "type1-3-CSS", "type1-3-CSS", &asn_OP_NativeEnumerated, asn_DEF_type1_3_CSS_tags_17, sizeof(asn_DEF_type1_3_CSS_tags_17) /sizeof(asn_DEF_type1_3_CSS_tags_17[0]) - 1, /* 1 */ asn_DEF_type1_3_CSS_tags_17, /* Same as above */ sizeof(asn_DEF_type1_3_CSS_tags_17) /sizeof(asn_DEF_type1_3_CSS_tags_17[0]), /* 2 */ { &asn_OER_type_type1_3_CSS_constr_17, &asn_PER_type_type1_3_CSS_constr_17, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_type1_3_CSS_specs_17 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_pdcch_MonitoringAnyOccasions_value2enum_19[] = { { 0, 14, "withoutDCI-Gap" }, { 1, 11, "withDCI-Gap" } }; static const unsigned int asn_MAP_pdcch_MonitoringAnyOccasions_enum2value_19[] = { 1, /* withDCI-Gap(1) */ 0 /* withoutDCI-Gap(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_pdcch_MonitoringAnyOccasions_specs_19 = { asn_MAP_pdcch_MonitoringAnyOccasions_value2enum_19, /* "tag" => N; sorted by tag */ asn_MAP_pdcch_MonitoringAnyOccasions_enum2value_19, /* N => "tag"; sorted by N */ 2, /* 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_pdcch_MonitoringAnyOccasions_tags_19[] = { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_pdcch_MonitoringAnyOccasions_19 = { "pdcch-MonitoringAnyOccasions", "pdcch-MonitoringAnyOccasions", &asn_OP_NativeEnumerated, asn_DEF_pdcch_MonitoringAnyOccasions_tags_19, sizeof(asn_DEF_pdcch_MonitoringAnyOccasions_tags_19) /sizeof(asn_DEF_pdcch_MonitoringAnyOccasions_tags_19[0]) - 1, /* 1 */ asn_DEF_pdcch_MonitoringAnyOccasions_tags_19, /* Same as above */ sizeof(asn_DEF_pdcch_MonitoringAnyOccasions_tags_19) /sizeof(asn_DEF_pdcch_MonitoringAnyOccasions_tags_19[0]), /* 2 */ { &asn_OER_type_pdcch_MonitoringAnyOccasions_constr_19, &asn_PER_type_pdcch_MonitoringAnyOccasions_constr_19, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_pdcch_MonitoringAnyOccasions_specs_19 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_pdcch_MonitoringAnyOccasionsWithSpanGap_value2enum_22[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_pdcch_MonitoringAnyOccasionsWithSpanGap_enum2value_22[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_pdcch_MonitoringAnyOccasionsWithSpanGap_specs_22 = { asn_MAP_pdcch_MonitoringAnyOccasionsWithSpanGap_value2enum_22, /* "tag" => N; sorted by tag */ asn_MAP_pdcch_MonitoringAnyOccasionsWithSpanGap_enum2value_22, /* 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_pdcch_MonitoringAnyOccasionsWithSpanGap_tags_22[] = { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_22 = { "pdcch-MonitoringAnyOccasionsWithSpanGap", "pdcch-MonitoringAnyOccasionsWithSpanGap", &asn_OP_NativeEnumerated, asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_tags_22, sizeof(asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_tags_22) /sizeof(asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_tags_22[0]) - 1, /* 1 */ asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_tags_22, /* Same as above */ sizeof(asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_tags_22) /sizeof(asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_tags_22[0]), /* 2 */ { &asn_OER_type_pdcch_MonitoringAnyOccasionsWithSpanGap_constr_22, &asn_PER_type_pdcch_MonitoringAnyOccasionsWithSpanGap_constr_22, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_pdcch_MonitoringAnyOccasionsWithSpanGap_specs_22 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_ue_SpecificUL_DL_Assignment_value2enum_24[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_ue_SpecificUL_DL_Assignment_enum2value_24[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_ue_SpecificUL_DL_Assignment_specs_24 = { asn_MAP_ue_SpecificUL_DL_Assignment_value2enum_24, /* "tag" => N; sorted by tag */ asn_MAP_ue_SpecificUL_DL_Assignment_enum2value_24, /* 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_ue_SpecificUL_DL_Assignment_tags_24[] = { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_ue_SpecificUL_DL_Assignment_24 = { "ue-SpecificUL-DL-Assignment", "ue-SpecificUL-DL-Assignment", &asn_OP_NativeEnumerated, asn_DEF_ue_SpecificUL_DL_Assignment_tags_24, sizeof(asn_DEF_ue_SpecificUL_DL_Assignment_tags_24) /sizeof(asn_DEF_ue_SpecificUL_DL_Assignment_tags_24[0]) - 1, /* 1 */ asn_DEF_ue_SpecificUL_DL_Assignment_tags_24, /* Same as above */ sizeof(asn_DEF_ue_SpecificUL_DL_Assignment_tags_24) /sizeof(asn_DEF_ue_SpecificUL_DL_Assignment_tags_24[0]), /* 2 */ { &asn_OER_type_ue_SpecificUL_DL_Assignment_constr_24, &asn_PER_type_ue_SpecificUL_DL_Assignment_constr_24, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_ue_SpecificUL_DL_Assignment_specs_24 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_searchSpaceSharingCA_DL_value2enum_26[] = { { 0, 9, "supported" } }; static const unsigned int asn_MAP_searchSpaceSharingCA_DL_enum2value_26[] = { 0 /* supported(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_searchSpaceSharingCA_DL_specs_26 = { asn_MAP_searchSpaceSharingCA_DL_value2enum_26, /* "tag" => N; sorted by tag */ asn_MAP_searchSpaceSharingCA_DL_enum2value_26, /* 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_searchSpaceSharingCA_DL_tags_26[] = { (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_searchSpaceSharingCA_DL_26 = { "searchSpaceSharingCA-DL", "searchSpaceSharingCA-DL", &asn_OP_NativeEnumerated, asn_DEF_searchSpaceSharingCA_DL_tags_26, sizeof(asn_DEF_searchSpaceSharingCA_DL_tags_26) /sizeof(asn_DEF_searchSpaceSharingCA_DL_tags_26[0]) - 1, /* 1 */ asn_DEF_searchSpaceSharingCA_DL_tags_26, /* Same as above */ sizeof(asn_DEF_searchSpaceSharingCA_DL_tags_26) /sizeof(asn_DEF_searchSpaceSharingCA_DL_tags_26[0]), /* 2 */ { &asn_OER_type_searchSpaceSharingCA_DL_constr_26, &asn_PER_type_searchSpaceSharingCA_DL_constr_26, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_searchSpaceSharingCA_DL_specs_26 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_60kHz_value2enum_29[] = { { 0, 2, "s7" }, { 1, 3, "s14" }, { 2, 3, "s28" } }; static const unsigned int asn_MAP_scs_60kHz_enum2value_29[] = { 1, /* s14(1) */ 2, /* s28(2) */ 0 /* s7(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_60kHz_specs_29 = { asn_MAP_scs_60kHz_value2enum_29, /* "tag" => N; sorted by tag */ asn_MAP_scs_60kHz_enum2value_29, /* 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_29[] = { (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_60kHz_29 = { "scs-60kHz", "scs-60kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_60kHz_tags_29, sizeof(asn_DEF_scs_60kHz_tags_29) /sizeof(asn_DEF_scs_60kHz_tags_29[0]) - 1, /* 1 */ asn_DEF_scs_60kHz_tags_29, /* Same as above */ sizeof(asn_DEF_scs_60kHz_tags_29) /sizeof(asn_DEF_scs_60kHz_tags_29[0]), /* 2 */ { &asn_OER_type_scs_60kHz_constr_29, &asn_PER_type_scs_60kHz_constr_29, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_60kHz_specs_29 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_120kHz_value2enum_33[] = { { 0, 3, "s14" }, { 1, 3, "s28" } }; static const unsigned int asn_MAP_scs_120kHz_enum2value_33[] = { 0, /* s14(0) */ 1 /* s28(1) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_120kHz_specs_33 = { asn_MAP_scs_120kHz_value2enum_33, /* "tag" => N; sorted by tag */ asn_MAP_scs_120kHz_enum2value_33, /* N => "tag"; sorted by N */ 2, /* 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_33[] = { (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_120kHz_33 = { "scs-120kHz", "scs-120kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_120kHz_tags_33, sizeof(asn_DEF_scs_120kHz_tags_33) /sizeof(asn_DEF_scs_120kHz_tags_33[0]) - 1, /* 1 */ asn_DEF_scs_120kHz_tags_33, /* Same as above */ sizeof(asn_DEF_scs_120kHz_tags_33) /sizeof(asn_DEF_scs_120kHz_tags_33[0]), /* 2 */ { &asn_OER_type_scs_120kHz_constr_33, &asn_PER_type_scs_120kHz_constr_33, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_120kHz_specs_33 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_timeDurationForQCL_28[] = { { ATF_POINTER, 2, offsetof(struct FeatureSetDownlink__timeDurationForQCL, scs_60kHz), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_60kHz_29, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-60kHz" }, { ATF_POINTER, 1, offsetof(struct FeatureSetDownlink__timeDurationForQCL, scs_120kHz), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_120kHz_33, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-120kHz" }, }; static const int asn_MAP_timeDurationForQCL_oms_28[] = { 0, 1 }; static const ber_tlv_tag_t asn_DEF_timeDurationForQCL_tags_28[] = { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_timeDurationForQCL_tag2el_28[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-60kHz */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* scs-120kHz */ }; static asn_SEQUENCE_specifics_t asn_SPC_timeDurationForQCL_specs_28 = { sizeof(struct FeatureSetDownlink__timeDurationForQCL), offsetof(struct FeatureSetDownlink__timeDurationForQCL, _asn_ctx), asn_MAP_timeDurationForQCL_tag2el_28, 2, /* Count of tags in the map */ asn_MAP_timeDurationForQCL_oms_28, /* Optional members */ 2, 0, /* Root/Additions */ -1, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_timeDurationForQCL_28 = { "timeDurationForQCL", "timeDurationForQCL", &asn_OP_SEQUENCE, asn_DEF_timeDurationForQCL_tags_28, sizeof(asn_DEF_timeDurationForQCL_tags_28) /sizeof(asn_DEF_timeDurationForQCL_tags_28[0]) - 1, /* 1 */ asn_DEF_timeDurationForQCL_tags_28, /* Same as above */ sizeof(asn_DEF_timeDurationForQCL_tags_28) /sizeof(asn_DEF_timeDurationForQCL_tags_28[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_timeDurationForQCL_28, 2, /* Elements count */ &asn_SPC_timeDurationForQCL_specs_28 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_15kHz_value2enum_37[] = { { 0, 5, "upto2" }, { 1, 5, "upto4" }, { 2, 5, "upto7" } }; static const unsigned int asn_MAP_scs_15kHz_enum2value_37[] = { 0, /* upto2(0) */ 1, /* upto4(1) */ 2 /* upto7(2) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_15kHz_specs_37 = { asn_MAP_scs_15kHz_value2enum_37, /* "tag" => N; sorted by tag */ asn_MAP_scs_15kHz_enum2value_37, /* 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_37[] = { (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_37 = { "scs-15kHz", "scs-15kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_15kHz_tags_37, sizeof(asn_DEF_scs_15kHz_tags_37) /sizeof(asn_DEF_scs_15kHz_tags_37[0]) - 1, /* 1 */ asn_DEF_scs_15kHz_tags_37, /* Same as above */ sizeof(asn_DEF_scs_15kHz_tags_37) /sizeof(asn_DEF_scs_15kHz_tags_37[0]), /* 2 */ { &asn_OER_type_scs_15kHz_constr_37, &asn_PER_type_scs_15kHz_constr_37, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_15kHz_specs_37 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_30kHz_value2enum_41[] = { { 0, 5, "upto2" }, { 1, 5, "upto4" }, { 2, 5, "upto7" } }; static const unsigned int asn_MAP_scs_30kHz_enum2value_41[] = { 0, /* upto2(0) */ 1, /* upto4(1) */ 2 /* upto7(2) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_30kHz_specs_41 = { asn_MAP_scs_30kHz_value2enum_41, /* "tag" => N; sorted by tag */ asn_MAP_scs_30kHz_enum2value_41, /* 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_41[] = { (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_41 = { "scs-30kHz", "scs-30kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_30kHz_tags_41, sizeof(asn_DEF_scs_30kHz_tags_41) /sizeof(asn_DEF_scs_30kHz_tags_41[0]) - 1, /* 1 */ asn_DEF_scs_30kHz_tags_41, /* Same as above */ sizeof(asn_DEF_scs_30kHz_tags_41) /sizeof(asn_DEF_scs_30kHz_tags_41[0]), /* 2 */ { &asn_OER_type_scs_30kHz_constr_41, &asn_PER_type_scs_30kHz_constr_41, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_30kHz_specs_41 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_60kHz_value2enum_45[] = { { 0, 5, "upto2" }, { 1, 5, "upto4" }, { 2, 5, "upto7" } }; static const unsigned int asn_MAP_scs_60kHz_enum2value_45[] = { 0, /* upto2(0) */ 1, /* upto4(1) */ 2 /* upto7(2) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_60kHz_specs_45 = { asn_MAP_scs_60kHz_value2enum_45, /* "tag" => N; sorted by tag */ asn_MAP_scs_60kHz_enum2value_45, /* 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_45[] = { (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_45 = { "scs-60kHz", "scs-60kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_60kHz_tags_45, sizeof(asn_DEF_scs_60kHz_tags_45) /sizeof(asn_DEF_scs_60kHz_tags_45[0]) - 1, /* 1 */ asn_DEF_scs_60kHz_tags_45, /* Same as above */ sizeof(asn_DEF_scs_60kHz_tags_45) /sizeof(asn_DEF_scs_60kHz_tags_45[0]), /* 2 */ { &asn_OER_type_scs_60kHz_constr_45, &asn_PER_type_scs_60kHz_constr_45, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_60kHz_specs_45 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_scs_120kHz_value2enum_49[] = { { 0, 5, "upto2" }, { 1, 5, "upto4" }, { 2, 5, "upto7" } }; static const unsigned int asn_MAP_scs_120kHz_enum2value_49[] = { 0, /* upto2(0) */ 1, /* upto4(1) */ 2 /* upto7(2) */ }; static const asn_INTEGER_specifics_t asn_SPC_scs_120kHz_specs_49 = { asn_MAP_scs_120kHz_value2enum_49, /* "tag" => N; sorted by tag */ asn_MAP_scs_120kHz_enum2value_49, /* 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_49[] = { (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_49 = { "scs-120kHz", "scs-120kHz", &asn_OP_NativeEnumerated, asn_DEF_scs_120kHz_tags_49, sizeof(asn_DEF_scs_120kHz_tags_49) /sizeof(asn_DEF_scs_120kHz_tags_49[0]) - 1, /* 1 */ asn_DEF_scs_120kHz_tags_49, /* Same as above */ sizeof(asn_DEF_scs_120kHz_tags_49) /sizeof(asn_DEF_scs_120kHz_tags_49[0]), /* 2 */ { &asn_OER_type_scs_120kHz_constr_49, &asn_PER_type_scs_120kHz_constr_49, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_scs_120kHz_specs_49 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_pdsch_ProcessingType1_DifferentTB_PerSlot_36[] = { { ATF_POINTER, 4, offsetof(struct FeatureSetDownlink__pdsch_ProcessingType1_DifferentTB_PerSlot, scs_15kHz), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_15kHz_37, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-15kHz" }, { ATF_POINTER, 3, offsetof(struct FeatureSetDownlink__pdsch_ProcessingType1_DifferentTB_PerSlot, scs_30kHz), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_30kHz_41, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-30kHz" }, { ATF_POINTER, 2, offsetof(struct FeatureSetDownlink__pdsch_ProcessingType1_DifferentTB_PerSlot, scs_60kHz), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_60kHz_45, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-60kHz" }, { ATF_POINTER, 1, offsetof(struct FeatureSetDownlink__pdsch_ProcessingType1_DifferentTB_PerSlot, scs_120kHz), (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scs_120kHz_49, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scs-120kHz" }, }; static const int asn_MAP_pdsch_ProcessingType1_DifferentTB_PerSlot_oms_36[] = { 0, 1, 2, 3 }; static const ber_tlv_tag_t asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_tags_36[] = { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_pdsch_ProcessingType1_DifferentTB_PerSlot_tag2el_36[] = { { (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_pdsch_ProcessingType1_DifferentTB_PerSlot_specs_36 = { sizeof(struct FeatureSetDownlink__pdsch_ProcessingType1_DifferentTB_PerSlot), offsetof(struct FeatureSetDownlink__pdsch_ProcessingType1_DifferentTB_PerSlot, _asn_ctx), asn_MAP_pdsch_ProcessingType1_DifferentTB_PerSlot_tag2el_36, 4, /* Count of tags in the map */ asn_MAP_pdsch_ProcessingType1_DifferentTB_PerSlot_oms_36, /* Optional members */ 4, 0, /* Root/Additions */ -1, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_36 = { "pdsch-ProcessingType1-DifferentTB-PerSlot", "pdsch-ProcessingType1-DifferentTB-PerSlot", &asn_OP_SEQUENCE, asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_tags_36, sizeof(asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_tags_36) /sizeof(asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_tags_36[0]) - 1, /* 1 */ asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_tags_36, /* Same as above */ sizeof(asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_tags_36) /sizeof(asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_tags_36[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_pdsch_ProcessingType1_DifferentTB_PerSlot_36, 4, /* Elements count */ &asn_SPC_pdsch_ProcessingType1_DifferentTB_PerSlot_specs_36 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_typeI_SinglePanelCodebookList_54[] = { { ATF_POINTER, 0, 0, (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, &asn_DEF_TypeI_SinglePanelCodebook, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "" }, }; static const ber_tlv_tag_t asn_DEF_typeI_SinglePanelCodebookList_tags_54[] = { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_SET_OF_specifics_t asn_SPC_typeI_SinglePanelCodebookList_specs_54 = { sizeof(struct FeatureSetDownlink__typeI_SinglePanelCodebookList), offsetof(struct FeatureSetDownlink__typeI_SinglePanelCodebookList, _asn_ctx), 0, /* XER encoding is XMLDelimitedItemList */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_typeI_SinglePanelCodebookList_54 = { "typeI-SinglePanelCodebookList", "typeI-SinglePanelCodebookList", &asn_OP_SEQUENCE_OF, asn_DEF_typeI_SinglePanelCodebookList_tags_54, sizeof(asn_DEF_typeI_SinglePanelCodebookList_tags_54) /sizeof(asn_DEF_typeI_SinglePanelCodebookList_tags_54[0]) - 1, /* 1 */ asn_DEF_typeI_SinglePanelCodebookList_tags_54, /* Same as above */ sizeof(asn_DEF_typeI_SinglePanelCodebookList_tags_54) /sizeof(asn_DEF_typeI_SinglePanelCodebookList_tags_54[0]), /* 2 */ { &asn_OER_type_typeI_SinglePanelCodebookList_constr_54, &asn_PER_type_typeI_SinglePanelCodebookList_constr_54, SEQUENCE_OF_constraint }, asn_MBR_typeI_SinglePanelCodebookList_54, 1, /* Single element */ &asn_SPC_typeI_SinglePanelCodebookList_specs_54 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_typeI_MultiPanelCodebookList_56[] = { { ATF_POINTER, 0, 0, (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, &asn_DEF_TypeI_MultiPanelCodebook, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "" }, }; static const ber_tlv_tag_t asn_DEF_typeI_MultiPanelCodebookList_tags_56[] = { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_SET_OF_specifics_t asn_SPC_typeI_MultiPanelCodebookList_specs_56 = { sizeof(struct FeatureSetDownlink__typeI_MultiPanelCodebookList), offsetof(struct FeatureSetDownlink__typeI_MultiPanelCodebookList, _asn_ctx), 0, /* XER encoding is XMLDelimitedItemList */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_typeI_MultiPanelCodebookList_56 = { "typeI-MultiPanelCodebookList", "typeI-MultiPanelCodebookList", &asn_OP_SEQUENCE_OF, asn_DEF_typeI_MultiPanelCodebookList_tags_56, sizeof(asn_DEF_typeI_MultiPanelCodebookList_tags_56) /sizeof(asn_DEF_typeI_MultiPanelCodebookList_tags_56[0]) - 1, /* 1 */ asn_DEF_typeI_MultiPanelCodebookList_tags_56, /* Same as above */ sizeof(asn_DEF_typeI_MultiPanelCodebookList_tags_56) /sizeof(asn_DEF_typeI_MultiPanelCodebookList_tags_56[0]), /* 2 */ { &asn_OER_type_typeI_MultiPanelCodebookList_constr_56, &asn_PER_type_typeI_MultiPanelCodebookList_constr_56, SEQUENCE_OF_constraint }, asn_MBR_typeI_MultiPanelCodebookList_56, 1, /* Single element */ &asn_SPC_typeI_MultiPanelCodebookList_specs_56 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_typeII_CodebookList_58[] = { { ATF_POINTER, 0, 0, (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, &asn_DEF_TypeII_Codebook, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "" }, }; static const ber_tlv_tag_t asn_DEF_typeII_CodebookList_tags_58[] = { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_SET_OF_specifics_t asn_SPC_typeII_CodebookList_specs_58 = { sizeof(struct FeatureSetDownlink__typeII_CodebookList), offsetof(struct FeatureSetDownlink__typeII_CodebookList, _asn_ctx), 0, /* XER encoding is XMLDelimitedItemList */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_typeII_CodebookList_58 = { "typeII-CodebookList", "typeII-CodebookList", &asn_OP_SEQUENCE_OF, asn_DEF_typeII_CodebookList_tags_58, sizeof(asn_DEF_typeII_CodebookList_tags_58) /sizeof(asn_DEF_typeII_CodebookList_tags_58[0]) - 1, /* 1 */ asn_DEF_typeII_CodebookList_tags_58, /* Same as above */ sizeof(asn_DEF_typeII_CodebookList_tags_58) /sizeof(asn_DEF_typeII_CodebookList_tags_58[0]), /* 2 */ { &asn_OER_type_typeII_CodebookList_constr_58, &asn_PER_type_typeII_CodebookList_constr_58, SEQUENCE_OF_constraint }, asn_MBR_typeII_CodebookList_58, 1, /* Single element */ &asn_SPC_typeII_CodebookList_specs_58 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_typeII_CodebookPortSelectionList_60[] = { { ATF_POINTER, 0, 0, (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, &asn_DEF_TypeII_CodebookPortSelection, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "" }, }; static const ber_tlv_tag_t asn_DEF_typeII_CodebookPortSelectionList_tags_60[] = { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_SET_OF_specifics_t asn_SPC_typeII_CodebookPortSelectionList_specs_60 = { sizeof(struct FeatureSetDownlink__typeII_CodebookPortSelectionList), offsetof(struct FeatureSetDownlink__typeII_CodebookPortSelectionList, _asn_ctx), 0, /* XER encoding is XMLDelimitedItemList */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_typeII_CodebookPortSelectionList_60 = { "typeII-CodebookPortSelectionList", "typeII-CodebookPortSelectionList", &asn_OP_SEQUENCE_OF, asn_DEF_typeII_CodebookPortSelectionList_tags_60, sizeof(asn_DEF_typeII_CodebookPortSelectionList_tags_60) /sizeof(asn_DEF_typeII_CodebookPortSelectionList_tags_60[0]) - 1, /* 1 */ asn_DEF_typeII_CodebookPortSelectionList_tags_60, /* Same as above */ sizeof(asn_DEF_typeII_CodebookPortSelectionList_tags_60) /sizeof(asn_DEF_typeII_CodebookPortSelectionList_tags_60[0]), /* 2 */ { &asn_OER_type_typeII_CodebookPortSelectionList_constr_60, &asn_PER_type_typeII_CodebookPortSelectionList_constr_60, SEQUENCE_OF_constraint }, asn_MBR_typeII_CodebookPortSelectionList_60, 1, /* Single element */ &asn_SPC_typeII_CodebookPortSelectionList_specs_60 /* Additional specs */ }; asn_TYPE_member_t asn_MBR_FeatureSetDownlink_1[] = { { ATF_NOFLAGS, 0, offsetof(struct FeatureSetDownlink, featureSetListPerDownlinkCC), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, &asn_DEF_featureSetListPerDownlinkCC_2, 0, { &asn_OER_memb_featureSetListPerDownlinkCC_constr_2, &asn_PER_memb_featureSetListPerDownlinkCC_constr_2, memb_featureSetListPerDownlinkCC_constraint_1 }, 0, 0, /* No default value */ "featureSetListPerDownlinkCC" }, { ATF_POINTER, 18, offsetof(struct FeatureSetDownlink, intraBandFreqSeparationDL), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_FreqSeparationClass, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "intraBandFreqSeparationDL" }, { ATF_POINTER, 17, offsetof(struct FeatureSetDownlink, scalingFactor), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scalingFactor_5, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scalingFactor" }, { ATF_POINTER, 16, offsetof(struct FeatureSetDownlink, crossCarrierScheduling_OtherSCS), (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_crossCarrierScheduling_OtherSCS_9, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "crossCarrierScheduling-OtherSCS" }, { ATF_POINTER, 15, offsetof(struct FeatureSetDownlink, scellWithoutSSB), (ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_scellWithoutSSB_11, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "scellWithoutSSB" }, { ATF_POINTER, 14, offsetof(struct FeatureSetDownlink, csi_RS_MeasSCellWithoutSSB), (ASN_TAG_CLASS_CONTEXT | (5 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_csi_RS_MeasSCellWithoutSSB_13, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "csi-RS-MeasSCellWithoutSSB" }, { ATF_POINTER, 13, offsetof(struct FeatureSetDownlink, srs_AssocCSI_RS), (ASN_TAG_CLASS_CONTEXT | (6 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_srs_AssocCSI_RS_15, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "srs-AssocCSI-RS" }, { ATF_POINTER, 12, offsetof(struct FeatureSetDownlink, type1_3_CSS), (ASN_TAG_CLASS_CONTEXT | (7 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_type1_3_CSS_17, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "type1-3-CSS" }, { ATF_POINTER, 11, offsetof(struct FeatureSetDownlink, pdcch_MonitoringAnyOccasions), (ASN_TAG_CLASS_CONTEXT | (8 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_pdcch_MonitoringAnyOccasions_19, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "pdcch-MonitoringAnyOccasions" }, { ATF_POINTER, 10, offsetof(struct FeatureSetDownlink, pdcch_MonitoringAnyOccasionsWithSpanGap), (ASN_TAG_CLASS_CONTEXT | (9 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_pdcch_MonitoringAnyOccasionsWithSpanGap_22, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "pdcch-MonitoringAnyOccasionsWithSpanGap" }, { ATF_POINTER, 9, offsetof(struct FeatureSetDownlink, ue_SpecificUL_DL_Assignment), (ASN_TAG_CLASS_CONTEXT | (10 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_ue_SpecificUL_DL_Assignment_24, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "ue-SpecificUL-DL-Assignment" }, { ATF_POINTER, 8, offsetof(struct FeatureSetDownlink, searchSpaceSharingCA_DL), (ASN_TAG_CLASS_CONTEXT | (11 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_searchSpaceSharingCA_DL_26, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "searchSpaceSharingCA-DL" }, { ATF_POINTER, 7, offsetof(struct FeatureSetDownlink, timeDurationForQCL), (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 0, &asn_DEF_timeDurationForQCL_28, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "timeDurationForQCL" }, { ATF_POINTER, 6, offsetof(struct FeatureSetDownlink, pdsch_ProcessingType1_DifferentTB_PerSlot), (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 0, &asn_DEF_pdsch_ProcessingType1_DifferentTB_PerSlot_36, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "pdsch-ProcessingType1-DifferentTB-PerSlot" }, { ATF_POINTER, 5, offsetof(struct FeatureSetDownlink, csi_RS_IM_ReceptionForFeedback), (ASN_TAG_CLASS_CONTEXT | (14 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_CSI_RS_IM_ReceptionForFeedback, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "csi-RS-IM-ReceptionForFeedback" }, { ATF_POINTER, 4, offsetof(struct FeatureSetDownlink, typeI_SinglePanelCodebookList), (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 0, &asn_DEF_typeI_SinglePanelCodebookList_54, 0, { &asn_OER_memb_typeI_SinglePanelCodebookList_constr_54, &asn_PER_memb_typeI_SinglePanelCodebookList_constr_54, memb_typeI_SinglePanelCodebookList_constraint_1 }, 0, 0, /* No default value */ "typeI-SinglePanelCodebookList" }, { ATF_POINTER, 3, offsetof(struct FeatureSetDownlink, typeI_MultiPanelCodebookList), (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 0, &asn_DEF_typeI_MultiPanelCodebookList_56, 0, { &asn_OER_memb_typeI_MultiPanelCodebookList_constr_56, &asn_PER_memb_typeI_MultiPanelCodebookList_constr_56, memb_typeI_MultiPanelCodebookList_constraint_1 }, 0, 0, /* No default value */ "typeI-MultiPanelCodebookList" }, { ATF_POINTER, 2, offsetof(struct FeatureSetDownlink, typeII_CodebookList), (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 0, &asn_DEF_typeII_CodebookList_58, 0, { &asn_OER_memb_typeII_CodebookList_constr_58, &asn_PER_memb_typeII_CodebookList_constr_58, memb_typeII_CodebookList_constraint_1 }, 0, 0, /* No default value */ "typeII-CodebookList" }, { ATF_POINTER, 1, offsetof(struct FeatureSetDownlink, typeII_CodebookPortSelectionList), (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 0, &asn_DEF_typeII_CodebookPortSelectionList_60, 0, { &asn_OER_memb_typeII_CodebookPortSelectionList_constr_60, &asn_PER_memb_typeII_CodebookPortSelectionList_constr_60, memb_typeII_CodebookPortSelectionList_constraint_1 }, 0, 0, /* No default value */ "typeII-CodebookPortSelectionList" }, }; static const int asn_MAP_FeatureSetDownlink_oms_1[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 }; static const ber_tlv_tag_t asn_DEF_FeatureSetDownlink_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_FeatureSetDownlink_tag2el_1[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* featureSetListPerDownlinkCC */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* intraBandFreqSeparationDL */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scalingFactor */ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* crossCarrierScheduling-OtherSCS */ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* scellWithoutSSB */ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* csi-RS-MeasSCellWithoutSSB */ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* srs-AssocCSI-RS */ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* type1-3-CSS */ { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* pdcch-MonitoringAnyOccasions */ { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* pdcch-MonitoringAnyOccasionsWithSpanGap */ { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* ue-SpecificUL-DL-Assignment */ { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* searchSpaceSharingCA-DL */ { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* timeDurationForQCL */ { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* pdsch-ProcessingType1-DifferentTB-PerSlot */ { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* csi-RS-IM-ReceptionForFeedback */ { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* typeI-SinglePanelCodebookList */ { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* typeI-MultiPanelCodebookList */ { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 }, /* typeII-CodebookList */ { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 18, 0, 0 } /* typeII-CodebookPortSelectionList */ }; asn_SEQUENCE_specifics_t asn_SPC_FeatureSetDownlink_specs_1 = { sizeof(struct FeatureSetDownlink), offsetof(struct FeatureSetDownlink, _asn_ctx), asn_MAP_FeatureSetDownlink_tag2el_1, 19, /* Count of tags in the map */ asn_MAP_FeatureSetDownlink_oms_1, /* Optional members */ 18, 0, /* Root/Additions */ -1, /* First extension addition */ }; asn_TYPE_descriptor_t asn_DEF_FeatureSetDownlink = { "FeatureSetDownlink", "FeatureSetDownlink", &asn_OP_SEQUENCE, asn_DEF_FeatureSetDownlink_tags_1, sizeof(asn_DEF_FeatureSetDownlink_tags_1) /sizeof(asn_DEF_FeatureSetDownlink_tags_1[0]), /* 1 */ asn_DEF_FeatureSetDownlink_tags_1, /* Same as above */ sizeof(asn_DEF_FeatureSetDownlink_tags_1) /sizeof(asn_DEF_FeatureSetDownlink_tags_1[0]), /* 1 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_FeatureSetDownlink_1, 19, /* Elements count */ &asn_SPC_FeatureSetDownlink_specs_1 /* Additional specs */ };