/* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "NR-RRC-Definitions" * found in "./22April22_Paging/rrc_15.3_asn.asn1" * `asn1c -D ./22April22_Paging -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example` */ #include "SRS-Resource.h" #include "SRS-SpatialRelationInfo.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. */ static int memb_combOffset_n2_constraint_11(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 >= 0 && value <= 1)) { /* 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_cyclicShift_n2_constraint_11(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 >= 0 && value <= 7)) { /* 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_combOffset_n4_constraint_14(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 >= 0 && value <= 3)) { /* 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_cyclicShift_n4_constraint_14(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 >= 0 && value <= 11)) { /* 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. */ static int memb_startPosition_constraint_17(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 >= 0 && value <= 5)) { /* 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_c_SRS_constraint_29(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 >= 0 && value <= 63)) { /* 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_b_SRS_constraint_29(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 >= 0 && value <= 3)) { /* 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_b_hop_constraint_29(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 >= 0 && value <= 3)) { /* 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. */ static int memb_freqDomainPosition_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 >= 0 && value <= 67)) { /* 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_freqDomainShift_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 >= 0 && value <= 268)) { /* 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_sequenceId_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 >= 0 && value <= 1023)) { /* 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_nrofSRS_Ports_constr_3 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_nrofSRS_Ports_constr_3 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_ptrs_PortIndex_constr_7 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_ptrs_PortIndex_constr_7 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_memb_combOffset_n2_constr_12 CC_NOTUSED = { { 1, 1 } /* (0..1) */, -1}; static asn_per_constraints_t asn_PER_memb_combOffset_n2_constr_12 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_memb_cyclicShift_n2_constr_13 CC_NOTUSED = { { 1, 1 } /* (0..7) */, -1}; static asn_per_constraints_t asn_PER_memb_cyclicShift_n2_constr_13 CC_NOTUSED = { { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_combOffset_n4_constr_15 CC_NOTUSED = { { 1, 1 } /* (0..3) */, -1}; static asn_per_constraints_t asn_PER_memb_combOffset_n4_constr_15 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_cyclicShift_n4_constr_16 CC_NOTUSED = { { 1, 1 } /* (0..11) */, -1}; static asn_per_constraints_t asn_PER_memb_cyclicShift_n4_constr_16 CC_NOTUSED = { { APC_CONSTRAINED, 4, 4, 0, 11 } /* (0..11) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_transmissionComb_constr_10 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_transmissionComb_constr_10 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_nrofSymbols_constr_19 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_nrofSymbols_constr_19 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_repetitionFactor_constr_23 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_repetitionFactor_constr_23 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_memb_startPosition_constr_18 CC_NOTUSED = { { 1, 1 } /* (0..5) */, -1}; static asn_per_constraints_t asn_PER_memb_startPosition_constr_18 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_memb_c_SRS_constr_30 CC_NOTUSED = { { 1, 1 } /* (0..63) */, -1}; static asn_per_constraints_t asn_PER_memb_c_SRS_constr_30 CC_NOTUSED = { { APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_b_SRS_constr_31 CC_NOTUSED = { { 1, 1 } /* (0..3) */, -1}; static asn_per_constraints_t asn_PER_memb_b_SRS_constr_31 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_b_hop_constr_32 CC_NOTUSED = { { 1, 1 } /* (0..3) */, -1}; static asn_per_constraints_t asn_PER_memb_b_hop_constr_32 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_groupOrSequenceHopping_constr_33 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_groupOrSequenceHopping_constr_33 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_resourceType_constr_37 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_resourceType_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_memb_freqDomainPosition_constr_27 CC_NOTUSED = { { 1, 1 } /* (0..67) */, -1}; static asn_per_constraints_t asn_PER_memb_freqDomainPosition_constr_27 CC_NOTUSED = { { APC_CONSTRAINED, 7, 7, 0, 67 } /* (0..67) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_freqDomainShift_constr_28 CC_NOTUSED = { { 2, 1 } /* (0..268) */, -1}; static asn_per_constraints_t asn_PER_memb_freqDomainShift_constr_28 CC_NOTUSED = { { APC_CONSTRAINED, 9, 9, 0, 268 } /* (0..268) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_sequenceId_constr_46 CC_NOTUSED = { { 2, 1 } /* (0..1023) */, -1}; static asn_per_constraints_t asn_PER_memb_sequenceId_constr_46 CC_NOTUSED = { { APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static const asn_INTEGER_enum_map_t asn_MAP_nrofSRS_Ports_value2enum_3[] = { { 0, 5, "port1" }, { 1, 6, "ports2" }, { 2, 6, "ports4" } }; static const unsigned int asn_MAP_nrofSRS_Ports_enum2value_3[] = { 0, /* port1(0) */ 1, /* ports2(1) */ 2 /* ports4(2) */ }; static const asn_INTEGER_specifics_t asn_SPC_nrofSRS_Ports_specs_3 = { asn_MAP_nrofSRS_Ports_value2enum_3, /* "tag" => N; sorted by tag */ asn_MAP_nrofSRS_Ports_enum2value_3, /* 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_nrofSRS_Ports_tags_3[] = { (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_nrofSRS_Ports_3 = { "nrofSRS-Ports", "nrofSRS-Ports", &asn_OP_NativeEnumerated, asn_DEF_nrofSRS_Ports_tags_3, sizeof(asn_DEF_nrofSRS_Ports_tags_3) /sizeof(asn_DEF_nrofSRS_Ports_tags_3[0]) - 1, /* 1 */ asn_DEF_nrofSRS_Ports_tags_3, /* Same as above */ sizeof(asn_DEF_nrofSRS_Ports_tags_3) /sizeof(asn_DEF_nrofSRS_Ports_tags_3[0]), /* 2 */ { &asn_OER_type_nrofSRS_Ports_constr_3, &asn_PER_type_nrofSRS_Ports_constr_3, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_nrofSRS_Ports_specs_3 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_ptrs_PortIndex_value2enum_7[] = { { 0, 2, "n0" }, { 1, 2, "n1" } }; static const unsigned int asn_MAP_ptrs_PortIndex_enum2value_7[] = { 0, /* n0(0) */ 1 /* n1(1) */ }; static const asn_INTEGER_specifics_t asn_SPC_ptrs_PortIndex_specs_7 = { asn_MAP_ptrs_PortIndex_value2enum_7, /* "tag" => N; sorted by tag */ asn_MAP_ptrs_PortIndex_enum2value_7, /* 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_ptrs_PortIndex_tags_7[] = { (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_ptrs_PortIndex_7 = { "ptrs-PortIndex", "ptrs-PortIndex", &asn_OP_NativeEnumerated, asn_DEF_ptrs_PortIndex_tags_7, sizeof(asn_DEF_ptrs_PortIndex_tags_7) /sizeof(asn_DEF_ptrs_PortIndex_tags_7[0]) - 1, /* 1 */ asn_DEF_ptrs_PortIndex_tags_7, /* Same as above */ sizeof(asn_DEF_ptrs_PortIndex_tags_7) /sizeof(asn_DEF_ptrs_PortIndex_tags_7[0]), /* 2 */ { &asn_OER_type_ptrs_PortIndex_constr_7, &asn_PER_type_ptrs_PortIndex_constr_7, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_ptrs_PortIndex_specs_7 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_n2_11[] = { { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__transmissionComb__n2, combOffset_n2), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_combOffset_n2_constr_12, &asn_PER_memb_combOffset_n2_constr_12, memb_combOffset_n2_constraint_11 }, 0, 0, /* No default value */ "combOffset-n2" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__transmissionComb__n2, cyclicShift_n2), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_cyclicShift_n2_constr_13, &asn_PER_memb_cyclicShift_n2_constr_13, memb_cyclicShift_n2_constraint_11 }, 0, 0, /* No default value */ "cyclicShift-n2" }, }; static const ber_tlv_tag_t asn_DEF_n2_tags_11[] = { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_n2_tag2el_11[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* combOffset-n2 */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cyclicShift-n2 */ }; static asn_SEQUENCE_specifics_t asn_SPC_n2_specs_11 = { sizeof(struct SRS_Resource__transmissionComb__n2), offsetof(struct SRS_Resource__transmissionComb__n2, _asn_ctx), asn_MAP_n2_tag2el_11, 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_n2_11 = { "n2", "n2", &asn_OP_SEQUENCE, asn_DEF_n2_tags_11, sizeof(asn_DEF_n2_tags_11) /sizeof(asn_DEF_n2_tags_11[0]) - 1, /* 1 */ asn_DEF_n2_tags_11, /* Same as above */ sizeof(asn_DEF_n2_tags_11) /sizeof(asn_DEF_n2_tags_11[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_n2_11, 2, /* Elements count */ &asn_SPC_n2_specs_11 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_n4_14[] = { { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__transmissionComb__n4, combOffset_n4), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_combOffset_n4_constr_15, &asn_PER_memb_combOffset_n4_constr_15, memb_combOffset_n4_constraint_14 }, 0, 0, /* No default value */ "combOffset-n4" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__transmissionComb__n4, cyclicShift_n4), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_cyclicShift_n4_constr_16, &asn_PER_memb_cyclicShift_n4_constr_16, memb_cyclicShift_n4_constraint_14 }, 0, 0, /* No default value */ "cyclicShift-n4" }, }; static const ber_tlv_tag_t asn_DEF_n4_tags_14[] = { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_n4_tag2el_14[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* combOffset-n4 */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cyclicShift-n4 */ }; static asn_SEQUENCE_specifics_t asn_SPC_n4_specs_14 = { sizeof(struct SRS_Resource__transmissionComb__n4), offsetof(struct SRS_Resource__transmissionComb__n4, _asn_ctx), asn_MAP_n4_tag2el_14, 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_n4_14 = { "n4", "n4", &asn_OP_SEQUENCE, asn_DEF_n4_tags_14, sizeof(asn_DEF_n4_tags_14) /sizeof(asn_DEF_n4_tags_14[0]) - 1, /* 1 */ asn_DEF_n4_tags_14, /* Same as above */ sizeof(asn_DEF_n4_tags_14) /sizeof(asn_DEF_n4_tags_14[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_n4_14, 2, /* Elements count */ &asn_SPC_n4_specs_14 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_transmissionComb_10[] = { { ATF_POINTER, 0, offsetof(struct SRS_Resource__transmissionComb, choice.n2), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, &asn_DEF_n2_11, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "n2" }, { ATF_POINTER, 0, offsetof(struct SRS_Resource__transmissionComb, choice.n4), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, &asn_DEF_n4_14, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "n4" }, }; static const asn_TYPE_tag2member_t asn_MAP_transmissionComb_tag2el_10[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* n2 */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* n4 */ }; static asn_CHOICE_specifics_t asn_SPC_transmissionComb_specs_10 = { sizeof(struct SRS_Resource__transmissionComb), offsetof(struct SRS_Resource__transmissionComb, _asn_ctx), offsetof(struct SRS_Resource__transmissionComb, present), sizeof(((struct SRS_Resource__transmissionComb *)0)->present), asn_MAP_transmissionComb_tag2el_10, 2, /* Count of tags in the map */ 0, 0, -1 /* Extensions start */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_transmissionComb_10 = { "transmissionComb", "transmissionComb", &asn_OP_CHOICE, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ 0, /* No tags (pointer) */ 0, /* No tags (count) */ { &asn_OER_type_transmissionComb_constr_10, &asn_PER_type_transmissionComb_constr_10, CHOICE_constraint }, asn_MBR_transmissionComb_10, 2, /* Elements count */ &asn_SPC_transmissionComb_specs_10 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_nrofSymbols_value2enum_19[] = { { 0, 2, "n1" }, { 1, 2, "n2" }, { 2, 2, "n4" } }; static const unsigned int asn_MAP_nrofSymbols_enum2value_19[] = { 0, /* n1(0) */ 1, /* n2(1) */ 2 /* n4(2) */ }; static const asn_INTEGER_specifics_t asn_SPC_nrofSymbols_specs_19 = { asn_MAP_nrofSymbols_value2enum_19, /* "tag" => N; sorted by tag */ asn_MAP_nrofSymbols_enum2value_19, /* 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_nrofSymbols_tags_19[] = { (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_nrofSymbols_19 = { "nrofSymbols", "nrofSymbols", &asn_OP_NativeEnumerated, asn_DEF_nrofSymbols_tags_19, sizeof(asn_DEF_nrofSymbols_tags_19) /sizeof(asn_DEF_nrofSymbols_tags_19[0]) - 1, /* 1 */ asn_DEF_nrofSymbols_tags_19, /* Same as above */ sizeof(asn_DEF_nrofSymbols_tags_19) /sizeof(asn_DEF_nrofSymbols_tags_19[0]), /* 2 */ { &asn_OER_type_nrofSymbols_constr_19, &asn_PER_type_nrofSymbols_constr_19, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_nrofSymbols_specs_19 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_repetitionFactor_value2enum_23[] = { { 0, 2, "n1" }, { 1, 2, "n2" }, { 2, 2, "n4" } }; static const unsigned int asn_MAP_repetitionFactor_enum2value_23[] = { 0, /* n1(0) */ 1, /* n2(1) */ 2 /* n4(2) */ }; static const asn_INTEGER_specifics_t asn_SPC_repetitionFactor_specs_23 = { asn_MAP_repetitionFactor_value2enum_23, /* "tag" => N; sorted by tag */ asn_MAP_repetitionFactor_enum2value_23, /* 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_repetitionFactor_tags_23[] = { (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_repetitionFactor_23 = { "repetitionFactor", "repetitionFactor", &asn_OP_NativeEnumerated, asn_DEF_repetitionFactor_tags_23, sizeof(asn_DEF_repetitionFactor_tags_23) /sizeof(asn_DEF_repetitionFactor_tags_23[0]) - 1, /* 1 */ asn_DEF_repetitionFactor_tags_23, /* Same as above */ sizeof(asn_DEF_repetitionFactor_tags_23) /sizeof(asn_DEF_repetitionFactor_tags_23[0]), /* 2 */ { &asn_OER_type_repetitionFactor_constr_23, &asn_PER_type_repetitionFactor_constr_23, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_repetitionFactor_specs_23 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_resourceMapping_17[] = { { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__resourceMapping, startPosition), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_startPosition_constr_18, &asn_PER_memb_startPosition_constr_18, memb_startPosition_constraint_17 }, 0, 0, /* No default value */ "startPosition" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__resourceMapping, nrofSymbols), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_nrofSymbols_19, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "nrofSymbols" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__resourceMapping, repetitionFactor), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_repetitionFactor_23, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "repetitionFactor" }, }; static const ber_tlv_tag_t asn_DEF_resourceMapping_tags_17[] = { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_resourceMapping_tag2el_17[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* startPosition */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nrofSymbols */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* repetitionFactor */ }; static asn_SEQUENCE_specifics_t asn_SPC_resourceMapping_specs_17 = { sizeof(struct SRS_Resource__resourceMapping), offsetof(struct SRS_Resource__resourceMapping, _asn_ctx), asn_MAP_resourceMapping_tag2el_17, 3, /* 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_resourceMapping_17 = { "resourceMapping", "resourceMapping", &asn_OP_SEQUENCE, asn_DEF_resourceMapping_tags_17, sizeof(asn_DEF_resourceMapping_tags_17) /sizeof(asn_DEF_resourceMapping_tags_17[0]) - 1, /* 1 */ asn_DEF_resourceMapping_tags_17, /* Same as above */ sizeof(asn_DEF_resourceMapping_tags_17) /sizeof(asn_DEF_resourceMapping_tags_17[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_resourceMapping_17, 3, /* Elements count */ &asn_SPC_resourceMapping_specs_17 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_freqHopping_29[] = { { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__freqHopping, c_SRS), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_c_SRS_constr_30, &asn_PER_memb_c_SRS_constr_30, memb_c_SRS_constraint_29 }, 0, 0, /* No default value */ "c-SRS" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__freqHopping, b_SRS), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_b_SRS_constr_31, &asn_PER_memb_b_SRS_constr_31, memb_b_SRS_constraint_29 }, 0, 0, /* No default value */ "b-SRS" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__freqHopping, b_hop), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_b_hop_constr_32, &asn_PER_memb_b_hop_constr_32, memb_b_hop_constraint_29 }, 0, 0, /* No default value */ "b-hop" }, }; static const ber_tlv_tag_t asn_DEF_freqHopping_tags_29[] = { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_freqHopping_tag2el_29[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* c-SRS */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* b-SRS */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* b-hop */ }; static asn_SEQUENCE_specifics_t asn_SPC_freqHopping_specs_29 = { sizeof(struct SRS_Resource__freqHopping), offsetof(struct SRS_Resource__freqHopping, _asn_ctx), asn_MAP_freqHopping_tag2el_29, 3, /* 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_freqHopping_29 = { "freqHopping", "freqHopping", &asn_OP_SEQUENCE, asn_DEF_freqHopping_tags_29, sizeof(asn_DEF_freqHopping_tags_29) /sizeof(asn_DEF_freqHopping_tags_29[0]) - 1, /* 1 */ asn_DEF_freqHopping_tags_29, /* Same as above */ sizeof(asn_DEF_freqHopping_tags_29) /sizeof(asn_DEF_freqHopping_tags_29[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_freqHopping_29, 3, /* Elements count */ &asn_SPC_freqHopping_specs_29 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_groupOrSequenceHopping_value2enum_33[] = { { 0, 7, "neither" }, { 1, 12, "groupHopping" }, { 2, 15, "sequenceHopping" } }; static const unsigned int asn_MAP_groupOrSequenceHopping_enum2value_33[] = { 1, /* groupHopping(1) */ 0, /* neither(0) */ 2 /* sequenceHopping(2) */ }; static const asn_INTEGER_specifics_t asn_SPC_groupOrSequenceHopping_specs_33 = { asn_MAP_groupOrSequenceHopping_value2enum_33, /* "tag" => N; sorted by tag */ asn_MAP_groupOrSequenceHopping_enum2value_33, /* 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_groupOrSequenceHopping_tags_33[] = { (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_groupOrSequenceHopping_33 = { "groupOrSequenceHopping", "groupOrSequenceHopping", &asn_OP_NativeEnumerated, asn_DEF_groupOrSequenceHopping_tags_33, sizeof(asn_DEF_groupOrSequenceHopping_tags_33) /sizeof(asn_DEF_groupOrSequenceHopping_tags_33[0]) - 1, /* 1 */ asn_DEF_groupOrSequenceHopping_tags_33, /* Same as above */ sizeof(asn_DEF_groupOrSequenceHopping_tags_33) /sizeof(asn_DEF_groupOrSequenceHopping_tags_33[0]), /* 2 */ { &asn_OER_type_groupOrSequenceHopping_constr_33, &asn_PER_type_groupOrSequenceHopping_constr_33, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_groupOrSequenceHopping_specs_33 /* Additional specs */ }; static const ber_tlv_tag_t asn_DEF_aperiodic_tags_38[] = { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_SEQUENCE_specifics_t asn_SPC_aperiodic_specs_38 = { sizeof(struct SRS_Resource__resourceType__aperiodic), offsetof(struct SRS_Resource__resourceType__aperiodic, _asn_ctx), 0, /* No top level tags */ 0, /* No 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_aperiodic_38 = { "aperiodic", "aperiodic", &asn_OP_SEQUENCE, asn_DEF_aperiodic_tags_38, sizeof(asn_DEF_aperiodic_tags_38) /sizeof(asn_DEF_aperiodic_tags_38[0]) - 1, /* 1 */ asn_DEF_aperiodic_tags_38, /* Same as above */ sizeof(asn_DEF_aperiodic_tags_38) /sizeof(asn_DEF_aperiodic_tags_38[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, 0, 0, /* No members */ &asn_SPC_aperiodic_specs_38 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_semi_persistent_40[] = { { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__resourceType__semi_persistent, periodicityAndOffset_sp), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), +1, /* EXPLICIT tag at current level */ &asn_DEF_SRS_PeriodicityAndOffset, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "periodicityAndOffset-sp" }, }; static const ber_tlv_tag_t asn_DEF_semi_persistent_tags_40[] = { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_semi_persistent_tag2el_40[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* periodicityAndOffset-sp */ }; static asn_SEQUENCE_specifics_t asn_SPC_semi_persistent_specs_40 = { sizeof(struct SRS_Resource__resourceType__semi_persistent), offsetof(struct SRS_Resource__resourceType__semi_persistent, _asn_ctx), asn_MAP_semi_persistent_tag2el_40, 1, /* 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_semi_persistent_40 = { "semi-persistent", "semi-persistent", &asn_OP_SEQUENCE, asn_DEF_semi_persistent_tags_40, sizeof(asn_DEF_semi_persistent_tags_40) /sizeof(asn_DEF_semi_persistent_tags_40[0]) - 1, /* 1 */ asn_DEF_semi_persistent_tags_40, /* Same as above */ sizeof(asn_DEF_semi_persistent_tags_40) /sizeof(asn_DEF_semi_persistent_tags_40[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_semi_persistent_40, 1, /* Elements count */ &asn_SPC_semi_persistent_specs_40 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_periodic_43[] = { { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource__resourceType__periodic, periodicityAndOffset_p), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), +1, /* EXPLICIT tag at current level */ &asn_DEF_SRS_PeriodicityAndOffset, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "periodicityAndOffset-p" }, }; static const ber_tlv_tag_t asn_DEF_periodic_tags_43[] = { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_periodic_tag2el_43[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* periodicityAndOffset-p */ }; static asn_SEQUENCE_specifics_t asn_SPC_periodic_specs_43 = { sizeof(struct SRS_Resource__resourceType__periodic), offsetof(struct SRS_Resource__resourceType__periodic, _asn_ctx), asn_MAP_periodic_tag2el_43, 1, /* 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_periodic_43 = { "periodic", "periodic", &asn_OP_SEQUENCE, asn_DEF_periodic_tags_43, sizeof(asn_DEF_periodic_tags_43) /sizeof(asn_DEF_periodic_tags_43[0]) - 1, /* 1 */ asn_DEF_periodic_tags_43, /* Same as above */ sizeof(asn_DEF_periodic_tags_43) /sizeof(asn_DEF_periodic_tags_43[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_periodic_43, 1, /* Elements count */ &asn_SPC_periodic_specs_43 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_resourceType_37[] = { { ATF_POINTER, 0, offsetof(struct SRS_Resource__resourceType, choice.aperiodic), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, &asn_DEF_aperiodic_38, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "aperiodic" }, { ATF_POINTER, 0, offsetof(struct SRS_Resource__resourceType, choice.semi_persistent), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, &asn_DEF_semi_persistent_40, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "semi-persistent" }, { ATF_POINTER, 0, offsetof(struct SRS_Resource__resourceType, choice.periodic), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, &asn_DEF_periodic_43, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "periodic" }, }; static const asn_TYPE_tag2member_t asn_MAP_resourceType_tag2el_37[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* aperiodic */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* semi-persistent */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* periodic */ }; static asn_CHOICE_specifics_t asn_SPC_resourceType_specs_37 = { sizeof(struct SRS_Resource__resourceType), offsetof(struct SRS_Resource__resourceType, _asn_ctx), offsetof(struct SRS_Resource__resourceType, present), sizeof(((struct SRS_Resource__resourceType *)0)->present), asn_MAP_resourceType_tag2el_37, 3, /* Count of tags in the map */ 0, 0, -1 /* Extensions start */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_resourceType_37 = { "resourceType", "resourceType", &asn_OP_CHOICE, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ 0, /* No tags (pointer) */ 0, /* No tags (count) */ { &asn_OER_type_resourceType_constr_37, &asn_PER_type_resourceType_constr_37, CHOICE_constraint }, asn_MBR_resourceType_37, 3, /* Elements count */ &asn_SPC_resourceType_specs_37 /* Additional specs */ }; asn_TYPE_member_t asn_MBR_SRS_Resource_1[] = { { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, srs_ResourceId), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_SRS_ResourceId, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "srs-ResourceId" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, nrofSRS_Ports), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_nrofSRS_Ports_3, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "nrofSRS-Ports" }, { ATF_POINTER, 1, offsetof(struct SRS_Resource, ptrs_PortIndex), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_ptrs_PortIndex_7, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "ptrs-PortIndex" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, transmissionComb), (ASN_TAG_CLASS_CONTEXT | (3 << 2)), +1, /* EXPLICIT tag at current level */ &asn_DEF_transmissionComb_10, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "transmissionComb" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, resourceMapping), (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 0, &asn_DEF_resourceMapping_17, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "resourceMapping" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, freqDomainPosition), (ASN_TAG_CLASS_CONTEXT | (5 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_freqDomainPosition_constr_27, &asn_PER_memb_freqDomainPosition_constr_27, memb_freqDomainPosition_constraint_1 }, 0, 0, /* No default value */ "freqDomainPosition" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, freqDomainShift), (ASN_TAG_CLASS_CONTEXT | (6 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_freqDomainShift_constr_28, &asn_PER_memb_freqDomainShift_constr_28, memb_freqDomainShift_constraint_1 }, 0, 0, /* No default value */ "freqDomainShift" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, freqHopping), (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 0, &asn_DEF_freqHopping_29, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "freqHopping" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, groupOrSequenceHopping), (ASN_TAG_CLASS_CONTEXT | (8 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_groupOrSequenceHopping_33, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "groupOrSequenceHopping" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, resourceType), (ASN_TAG_CLASS_CONTEXT | (9 << 2)), +1, /* EXPLICIT tag at current level */ &asn_DEF_resourceType_37, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "resourceType" }, { ATF_NOFLAGS, 0, offsetof(struct SRS_Resource, sequenceId), (ASN_TAG_CLASS_CONTEXT | (10 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_sequenceId_constr_46, &asn_PER_memb_sequenceId_constr_46, memb_sequenceId_constraint_1 }, 0, 0, /* No default value */ "sequenceId" }, { ATF_POINTER, 1, offsetof(struct SRS_Resource, spatialRelationInfo), (ASN_TAG_CLASS_CONTEXT | (11 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_SRS_SpatialRelationInfo, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "spatialRelationInfo" }, }; static const int asn_MAP_SRS_Resource_oms_1[] = { 2, 11 }; static const ber_tlv_tag_t asn_DEF_SRS_Resource_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_SRS_Resource_tag2el_1[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* srs-ResourceId */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nrofSRS-Ports */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ptrs-PortIndex */ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* transmissionComb */ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* resourceMapping */ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* freqDomainPosition */ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* freqDomainShift */ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* freqHopping */ { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* groupOrSequenceHopping */ { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* resourceType */ { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* sequenceId */ { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* spatialRelationInfo */ }; asn_SEQUENCE_specifics_t asn_SPC_SRS_Resource_specs_1 = { sizeof(struct SRS_Resource), offsetof(struct SRS_Resource, _asn_ctx), asn_MAP_SRS_Resource_tag2el_1, 12, /* Count of tags in the map */ asn_MAP_SRS_Resource_oms_1, /* Optional members */ 2, 0, /* Root/Additions */ 12, /* First extension addition */ }; asn_TYPE_descriptor_t asn_DEF_SRS_Resource = { "SRS-Resource", "SRS-Resource", &asn_OP_SEQUENCE, asn_DEF_SRS_Resource_tags_1, sizeof(asn_DEF_SRS_Resource_tags_1) /sizeof(asn_DEF_SRS_Resource_tags_1[0]), /* 1 */ asn_DEF_SRS_Resource_tags_1, /* Same as above */ sizeof(asn_DEF_SRS_Resource_tags_1) /sizeof(asn_DEF_SRS_Resource_tags_1[0]), /* 1 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_SRS_Resource_1, 12, /* Elements count */ &asn_SPC_SRS_Resource_specs_1 /* Additional specs */ };