/* * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) * From ASN.1 module "NR-RRC-Definitions" * found in "../../../rrc_15.3_asn.asn1" * `asn1c -D ./25_02_2022_RRC/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example` */ #include "PDCP-Config.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. */ static int memb_maxCID_constraint_28(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key) { long value; if(!sptr) { ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } value = *(const long *)sptr; if((value >= 1 && value <= 16383)) { /* 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_maxCID_constraint_42(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key) { long value; if(!sptr) { ASN__CTFAIL(app_key, td, sptr, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } value = *(const long *)sptr; if((value >= 1 && value <= 16383)) { /* Constraint check succeeded */ return 0; } else { ASN__CTFAIL(app_key, td, sptr, "%s: constraint failed (%s:%d)", td->name, __FILE__, __LINE__); return -1; } } /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ /* * This type is implemented using NativeEnumerated, * so here we adjust the DEF accordingly. */ static asn_oer_constraints_t asn_OER_type_discardTimer_constr_3 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_discardTimer_constr_3 CC_NOTUSED = { { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_pdcp_SN_SizeUL_constr_20 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_pdcp_SN_SizeUL_constr_20 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_pdcp_SN_SizeDL_constr_23 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_pdcp_SN_SizeDL_constr_23 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_drb_ContinueROHC_constr_40 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_drb_ContinueROHC_constr_40 CC_NOTUSED = { { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_maxCID_constr_29 CC_NOTUSED = { { 2, 1 } /* (1..16383) */, -1}; static asn_per_constraints_t asn_PER_memb_maxCID_constr_29 CC_NOTUSED = { { APC_CONSTRAINED, 14, 14, 1, 16383 } /* (1..16383) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_drb_ContinueROHC_constr_46 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_drb_ContinueROHC_constr_46 CC_NOTUSED = { { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_memb_maxCID_constr_43 CC_NOTUSED = { { 2, 1 } /* (1..16383) */, -1}; static asn_per_constraints_t asn_PER_memb_maxCID_constr_43 CC_NOTUSED = { { APC_CONSTRAINED, 14, 14, 1, 16383 } /* (1..16383) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static asn_oer_constraints_t asn_OER_type_headerCompression_constr_26 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_headerCompression_constr_26 CC_NOTUSED = { { APC_CONSTRAINED | APC_EXTENSIBLE, 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_integrityProtection_constr_49 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_integrityProtection_constr_49 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_statusReportRequired_constr_51 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_statusReportRequired_constr_51 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_outOfOrderDelivery_constr_53 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_outOfOrderDelivery_constr_53 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_t_Reordering_constr_61 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_t_Reordering_constr_61 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_type_cipheringDisabled_constr_128 CC_NOTUSED = { { 0, 0 }, -1}; static asn_per_constraints_t asn_PER_type_cipheringDisabled_constr_128 CC_NOTUSED = { { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */, { APC_UNCONSTRAINED, -1, -1, 0, 0 }, 0, 0 /* No PER value map */ }; static const asn_INTEGER_enum_map_t asn_MAP_discardTimer_value2enum_3[] = { { 0, 4, "ms10" }, { 1, 4, "ms20" }, { 2, 4, "ms30" }, { 3, 4, "ms40" }, { 4, 4, "ms50" }, { 5, 4, "ms60" }, { 6, 4, "ms75" }, { 7, 5, "ms100" }, { 8, 5, "ms150" }, { 9, 5, "ms200" }, { 10, 5, "ms250" }, { 11, 5, "ms300" }, { 12, 5, "ms500" }, { 13, 5, "ms750" }, { 14, 6, "ms1500" }, { 15, 8, "infinity" } }; static const unsigned int asn_MAP_discardTimer_enum2value_3[] = { 15, /* infinity(15) */ 0, /* ms10(0) */ 7, /* ms100(7) */ 8, /* ms150(8) */ 14, /* ms1500(14) */ 1, /* ms20(1) */ 9, /* ms200(9) */ 10, /* ms250(10) */ 2, /* ms30(2) */ 11, /* ms300(11) */ 3, /* ms40(3) */ 4, /* ms50(4) */ 12, /* ms500(12) */ 5, /* ms60(5) */ 6, /* ms75(6) */ 13 /* ms750(13) */ }; static const asn_INTEGER_specifics_t asn_SPC_discardTimer_specs_3 = { asn_MAP_discardTimer_value2enum_3, /* "tag" => N; sorted by tag */ asn_MAP_discardTimer_enum2value_3, /* N => "tag"; sorted by N */ 16, /* 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_discardTimer_tags_3[] = { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_discardTimer_3 = { "discardTimer", "discardTimer", &asn_OP_NativeEnumerated, asn_DEF_discardTimer_tags_3, sizeof(asn_DEF_discardTimer_tags_3) /sizeof(asn_DEF_discardTimer_tags_3[0]) - 1, /* 1 */ asn_DEF_discardTimer_tags_3, /* Same as above */ sizeof(asn_DEF_discardTimer_tags_3) /sizeof(asn_DEF_discardTimer_tags_3[0]), /* 2 */ { &asn_OER_type_discardTimer_constr_3, &asn_PER_type_discardTimer_constr_3, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_discardTimer_specs_3 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_pdcp_SN_SizeUL_value2enum_20[] = { { 0, 9, "len12bits" }, { 1, 9, "len18bits" } }; static const unsigned int asn_MAP_pdcp_SN_SizeUL_enum2value_20[] = { 0, /* len12bits(0) */ 1 /* len18bits(1) */ }; static const asn_INTEGER_specifics_t asn_SPC_pdcp_SN_SizeUL_specs_20 = { asn_MAP_pdcp_SN_SizeUL_value2enum_20, /* "tag" => N; sorted by tag */ asn_MAP_pdcp_SN_SizeUL_enum2value_20, /* 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_pdcp_SN_SizeUL_tags_20[] = { (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_pdcp_SN_SizeUL_20 = { "pdcp-SN-SizeUL", "pdcp-SN-SizeUL", &asn_OP_NativeEnumerated, asn_DEF_pdcp_SN_SizeUL_tags_20, sizeof(asn_DEF_pdcp_SN_SizeUL_tags_20) /sizeof(asn_DEF_pdcp_SN_SizeUL_tags_20[0]) - 1, /* 1 */ asn_DEF_pdcp_SN_SizeUL_tags_20, /* Same as above */ sizeof(asn_DEF_pdcp_SN_SizeUL_tags_20) /sizeof(asn_DEF_pdcp_SN_SizeUL_tags_20[0]), /* 2 */ { &asn_OER_type_pdcp_SN_SizeUL_constr_20, &asn_PER_type_pdcp_SN_SizeUL_constr_20, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_pdcp_SN_SizeUL_specs_20 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_pdcp_SN_SizeDL_value2enum_23[] = { { 0, 9, "len12bits" }, { 1, 9, "len18bits" } }; static const unsigned int asn_MAP_pdcp_SN_SizeDL_enum2value_23[] = { 0, /* len12bits(0) */ 1 /* len18bits(1) */ }; static const asn_INTEGER_specifics_t asn_SPC_pdcp_SN_SizeDL_specs_23 = { asn_MAP_pdcp_SN_SizeDL_value2enum_23, /* "tag" => N; sorted by tag */ asn_MAP_pdcp_SN_SizeDL_enum2value_23, /* 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_pdcp_SN_SizeDL_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_pdcp_SN_SizeDL_23 = { "pdcp-SN-SizeDL", "pdcp-SN-SizeDL", &asn_OP_NativeEnumerated, asn_DEF_pdcp_SN_SizeDL_tags_23, sizeof(asn_DEF_pdcp_SN_SizeDL_tags_23) /sizeof(asn_DEF_pdcp_SN_SizeDL_tags_23[0]) - 1, /* 1 */ asn_DEF_pdcp_SN_SizeDL_tags_23, /* Same as above */ sizeof(asn_DEF_pdcp_SN_SizeDL_tags_23) /sizeof(asn_DEF_pdcp_SN_SizeDL_tags_23[0]), /* 2 */ { &asn_OER_type_pdcp_SN_SizeDL_constr_23, &asn_PER_type_pdcp_SN_SizeDL_constr_23, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_pdcp_SN_SizeDL_specs_23 /* Additional specs */ }; static int asn_DFL_29_cmp_15(const void *sptr) { const long *st = sptr; if(!st) { return -1; /* No value is not a default value */ } /* Test default value 15 */ return (*st != 15); } static int asn_DFL_29_set_15(void **sptr) { long *st = *sptr; if(!st) { st = (*sptr = CALLOC(1, sizeof(*st))); if(!st) return -1; } /* Install default value 15 */ *st = 15; return 0; } static asn_TYPE_member_t asn_MBR_profiles_30[] = { { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__drb__headerCompression__rohc__profiles, profile0x0001), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_BOOLEAN, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "profile0x0001" }, { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__drb__headerCompression__rohc__profiles, profile0x0002), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_BOOLEAN, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "profile0x0002" }, { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__drb__headerCompression__rohc__profiles, profile0x0003), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_BOOLEAN, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "profile0x0003" }, { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__drb__headerCompression__rohc__profiles, profile0x0004), (ASN_TAG_CLASS_CONTEXT | (3 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_BOOLEAN, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "profile0x0004" }, { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__drb__headerCompression__rohc__profiles, profile0x0006), (ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_BOOLEAN, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "profile0x0006" }, { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__drb__headerCompression__rohc__profiles, profile0x0101), (ASN_TAG_CLASS_CONTEXT | (5 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_BOOLEAN, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "profile0x0101" }, { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__drb__headerCompression__rohc__profiles, profile0x0102), (ASN_TAG_CLASS_CONTEXT | (6 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_BOOLEAN, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "profile0x0102" }, { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__drb__headerCompression__rohc__profiles, profile0x0103), (ASN_TAG_CLASS_CONTEXT | (7 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_BOOLEAN, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "profile0x0103" }, { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__drb__headerCompression__rohc__profiles, profile0x0104), (ASN_TAG_CLASS_CONTEXT | (8 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_BOOLEAN, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "profile0x0104" }, }; static const ber_tlv_tag_t asn_DEF_profiles_tags_30[] = { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_profiles_tag2el_30[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* profile0x0001 */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* profile0x0002 */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* profile0x0003 */ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* profile0x0004 */ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* profile0x0006 */ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* profile0x0101 */ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* profile0x0102 */ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* profile0x0103 */ { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* profile0x0104 */ }; static asn_SEQUENCE_specifics_t asn_SPC_profiles_specs_30 = { sizeof(struct PDCP_Config__drb__headerCompression__rohc__profiles), offsetof(struct PDCP_Config__drb__headerCompression__rohc__profiles, _asn_ctx), asn_MAP_profiles_tag2el_30, 9, /* 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_profiles_30 = { "profiles", "profiles", &asn_OP_SEQUENCE, asn_DEF_profiles_tags_30, sizeof(asn_DEF_profiles_tags_30) /sizeof(asn_DEF_profiles_tags_30[0]) - 1, /* 1 */ asn_DEF_profiles_tags_30, /* Same as above */ sizeof(asn_DEF_profiles_tags_30) /sizeof(asn_DEF_profiles_tags_30[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_profiles_30, 9, /* Elements count */ &asn_SPC_profiles_specs_30 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_drb_ContinueROHC_value2enum_40[] = { { 0, 4, "true" } }; static const unsigned int asn_MAP_drb_ContinueROHC_enum2value_40[] = { 0 /* true(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_drb_ContinueROHC_specs_40 = { asn_MAP_drb_ContinueROHC_value2enum_40, /* "tag" => N; sorted by tag */ asn_MAP_drb_ContinueROHC_enum2value_40, /* 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_drb_ContinueROHC_tags_40[] = { (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_drb_ContinueROHC_40 = { "drb-ContinueROHC", "drb-ContinueROHC", &asn_OP_NativeEnumerated, asn_DEF_drb_ContinueROHC_tags_40, sizeof(asn_DEF_drb_ContinueROHC_tags_40) /sizeof(asn_DEF_drb_ContinueROHC_tags_40[0]) - 1, /* 1 */ asn_DEF_drb_ContinueROHC_tags_40, /* Same as above */ sizeof(asn_DEF_drb_ContinueROHC_tags_40) /sizeof(asn_DEF_drb_ContinueROHC_tags_40[0]), /* 2 */ { &asn_OER_type_drb_ContinueROHC_constr_40, &asn_PER_type_drb_ContinueROHC_constr_40, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_drb_ContinueROHC_specs_40 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_rohc_28[] = { { ATF_POINTER, 1, offsetof(struct PDCP_Config__drb__headerCompression__rohc, maxCID), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_maxCID_constr_29, &asn_PER_memb_maxCID_constr_29, memb_maxCID_constraint_28 }, &asn_DFL_29_cmp_15, /* Compare DEFAULT 15 */ &asn_DFL_29_set_15, /* Set DEFAULT 15 */ "maxCID" }, { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__drb__headerCompression__rohc, profiles), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, &asn_DEF_profiles_30, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "profiles" }, { ATF_POINTER, 1, offsetof(struct PDCP_Config__drb__headerCompression__rohc, drb_ContinueROHC), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_drb_ContinueROHC_40, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "drb-ContinueROHC" }, }; static const int asn_MAP_rohc_oms_28[] = { 0, 2 }; static const ber_tlv_tag_t asn_DEF_rohc_tags_28[] = { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_rohc_tag2el_28[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* maxCID */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* profiles */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* drb-ContinueROHC */ }; static asn_SEQUENCE_specifics_t asn_SPC_rohc_specs_28 = { sizeof(struct PDCP_Config__drb__headerCompression__rohc), offsetof(struct PDCP_Config__drb__headerCompression__rohc, _asn_ctx), asn_MAP_rohc_tag2el_28, 3, /* Count of tags in the map */ asn_MAP_rohc_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_rohc_28 = { "rohc", "rohc", &asn_OP_SEQUENCE, asn_DEF_rohc_tags_28, sizeof(asn_DEF_rohc_tags_28) /sizeof(asn_DEF_rohc_tags_28[0]) - 1, /* 1 */ asn_DEF_rohc_tags_28, /* Same as above */ sizeof(asn_DEF_rohc_tags_28) /sizeof(asn_DEF_rohc_tags_28[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_rohc_28, 3, /* Elements count */ &asn_SPC_rohc_specs_28 /* Additional specs */ }; static int asn_DFL_43_cmp_15(const void *sptr) { const long *st = sptr; if(!st) { return -1; /* No value is not a default value */ } /* Test default value 15 */ return (*st != 15); } static int asn_DFL_43_set_15(void **sptr) { long *st = *sptr; if(!st) { st = (*sptr = CALLOC(1, sizeof(*st))); if(!st) return -1; } /* Install default value 15 */ *st = 15; return 0; } static asn_TYPE_member_t asn_MBR_profiles_44[] = { { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__drb__headerCompression__uplinkOnlyROHC__profiles, profile0x0006), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_BOOLEAN, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "profile0x0006" }, }; static const ber_tlv_tag_t asn_DEF_profiles_tags_44[] = { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_profiles_tag2el_44[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* profile0x0006 */ }; static asn_SEQUENCE_specifics_t asn_SPC_profiles_specs_44 = { sizeof(struct PDCP_Config__drb__headerCompression__uplinkOnlyROHC__profiles), offsetof(struct PDCP_Config__drb__headerCompression__uplinkOnlyROHC__profiles, _asn_ctx), asn_MAP_profiles_tag2el_44, 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_profiles_44 = { "profiles", "profiles", &asn_OP_SEQUENCE, asn_DEF_profiles_tags_44, sizeof(asn_DEF_profiles_tags_44) /sizeof(asn_DEF_profiles_tags_44[0]) - 1, /* 1 */ asn_DEF_profiles_tags_44, /* Same as above */ sizeof(asn_DEF_profiles_tags_44) /sizeof(asn_DEF_profiles_tags_44[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_profiles_44, 1, /* Elements count */ &asn_SPC_profiles_specs_44 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_drb_ContinueROHC_value2enum_46[] = { { 0, 4, "true" } }; static const unsigned int asn_MAP_drb_ContinueROHC_enum2value_46[] = { 0 /* true(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_drb_ContinueROHC_specs_46 = { asn_MAP_drb_ContinueROHC_value2enum_46, /* "tag" => N; sorted by tag */ asn_MAP_drb_ContinueROHC_enum2value_46, /* 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_drb_ContinueROHC_tags_46[] = { (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_drb_ContinueROHC_46 = { "drb-ContinueROHC", "drb-ContinueROHC", &asn_OP_NativeEnumerated, asn_DEF_drb_ContinueROHC_tags_46, sizeof(asn_DEF_drb_ContinueROHC_tags_46) /sizeof(asn_DEF_drb_ContinueROHC_tags_46[0]) - 1, /* 1 */ asn_DEF_drb_ContinueROHC_tags_46, /* Same as above */ sizeof(asn_DEF_drb_ContinueROHC_tags_46) /sizeof(asn_DEF_drb_ContinueROHC_tags_46[0]), /* 2 */ { &asn_OER_type_drb_ContinueROHC_constr_46, &asn_PER_type_drb_ContinueROHC_constr_46, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_drb_ContinueROHC_specs_46 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_uplinkOnlyROHC_42[] = { { ATF_POINTER, 1, offsetof(struct PDCP_Config__drb__headerCompression__uplinkOnlyROHC, maxCID), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NativeInteger, 0, { &asn_OER_memb_maxCID_constr_43, &asn_PER_memb_maxCID_constr_43, memb_maxCID_constraint_42 }, &asn_DFL_43_cmp_15, /* Compare DEFAULT 15 */ &asn_DFL_43_set_15, /* Set DEFAULT 15 */ "maxCID" }, { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__drb__headerCompression__uplinkOnlyROHC, profiles), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, &asn_DEF_profiles_44, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "profiles" }, { ATF_POINTER, 1, offsetof(struct PDCP_Config__drb__headerCompression__uplinkOnlyROHC, drb_ContinueROHC), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_drb_ContinueROHC_46, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "drb-ContinueROHC" }, }; static const int asn_MAP_uplinkOnlyROHC_oms_42[] = { 0, 2 }; static const ber_tlv_tag_t asn_DEF_uplinkOnlyROHC_tags_42[] = { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_uplinkOnlyROHC_tag2el_42[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* maxCID */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* profiles */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* drb-ContinueROHC */ }; static asn_SEQUENCE_specifics_t asn_SPC_uplinkOnlyROHC_specs_42 = { sizeof(struct PDCP_Config__drb__headerCompression__uplinkOnlyROHC), offsetof(struct PDCP_Config__drb__headerCompression__uplinkOnlyROHC, _asn_ctx), asn_MAP_uplinkOnlyROHC_tag2el_42, 3, /* Count of tags in the map */ asn_MAP_uplinkOnlyROHC_oms_42, /* Optional members */ 2, 0, /* Root/Additions */ -1, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_uplinkOnlyROHC_42 = { "uplinkOnlyROHC", "uplinkOnlyROHC", &asn_OP_SEQUENCE, asn_DEF_uplinkOnlyROHC_tags_42, sizeof(asn_DEF_uplinkOnlyROHC_tags_42) /sizeof(asn_DEF_uplinkOnlyROHC_tags_42[0]) - 1, /* 1 */ asn_DEF_uplinkOnlyROHC_tags_42, /* Same as above */ sizeof(asn_DEF_uplinkOnlyROHC_tags_42) /sizeof(asn_DEF_uplinkOnlyROHC_tags_42[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_uplinkOnlyROHC_42, 3, /* Elements count */ &asn_SPC_uplinkOnlyROHC_specs_42 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_headerCompression_26[] = { { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__drb__headerCompression, choice.notUsed), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_NULL, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "notUsed" }, { ATF_POINTER, 0, offsetof(struct PDCP_Config__drb__headerCompression, choice.rohc), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, &asn_DEF_rohc_28, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "rohc" }, { ATF_POINTER, 0, offsetof(struct PDCP_Config__drb__headerCompression, choice.uplinkOnlyROHC), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, &asn_DEF_uplinkOnlyROHC_42, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "uplinkOnlyROHC" }, }; static const asn_TYPE_tag2member_t asn_MAP_headerCompression_tag2el_26[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* notUsed */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rohc */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* uplinkOnlyROHC */ }; static asn_CHOICE_specifics_t asn_SPC_headerCompression_specs_26 = { sizeof(struct PDCP_Config__drb__headerCompression), offsetof(struct PDCP_Config__drb__headerCompression, _asn_ctx), offsetof(struct PDCP_Config__drb__headerCompression, present), sizeof(((struct PDCP_Config__drb__headerCompression *)0)->present), asn_MAP_headerCompression_tag2el_26, 3, /* Count of tags in the map */ 0, 0, 3 /* Extensions start */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_headerCompression_26 = { "headerCompression", "headerCompression", &asn_OP_CHOICE, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ 0, /* No tags (pointer) */ 0, /* No tags (count) */ { &asn_OER_type_headerCompression_constr_26, &asn_PER_type_headerCompression_constr_26, CHOICE_constraint }, asn_MBR_headerCompression_26, 3, /* Elements count */ &asn_SPC_headerCompression_specs_26 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_integrityProtection_value2enum_49[] = { { 0, 7, "enabled" } }; static const unsigned int asn_MAP_integrityProtection_enum2value_49[] = { 0 /* enabled(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_integrityProtection_specs_49 = { asn_MAP_integrityProtection_value2enum_49, /* "tag" => N; sorted by tag */ asn_MAP_integrityProtection_enum2value_49, /* 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_integrityProtection_tags_49[] = { (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_integrityProtection_49 = { "integrityProtection", "integrityProtection", &asn_OP_NativeEnumerated, asn_DEF_integrityProtection_tags_49, sizeof(asn_DEF_integrityProtection_tags_49) /sizeof(asn_DEF_integrityProtection_tags_49[0]) - 1, /* 1 */ asn_DEF_integrityProtection_tags_49, /* Same as above */ sizeof(asn_DEF_integrityProtection_tags_49) /sizeof(asn_DEF_integrityProtection_tags_49[0]), /* 2 */ { &asn_OER_type_integrityProtection_constr_49, &asn_PER_type_integrityProtection_constr_49, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_integrityProtection_specs_49 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_statusReportRequired_value2enum_51[] = { { 0, 4, "true" } }; static const unsigned int asn_MAP_statusReportRequired_enum2value_51[] = { 0 /* true(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_statusReportRequired_specs_51 = { asn_MAP_statusReportRequired_value2enum_51, /* "tag" => N; sorted by tag */ asn_MAP_statusReportRequired_enum2value_51, /* 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_statusReportRequired_tags_51[] = { (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_statusReportRequired_51 = { "statusReportRequired", "statusReportRequired", &asn_OP_NativeEnumerated, asn_DEF_statusReportRequired_tags_51, sizeof(asn_DEF_statusReportRequired_tags_51) /sizeof(asn_DEF_statusReportRequired_tags_51[0]) - 1, /* 1 */ asn_DEF_statusReportRequired_tags_51, /* Same as above */ sizeof(asn_DEF_statusReportRequired_tags_51) /sizeof(asn_DEF_statusReportRequired_tags_51[0]), /* 2 */ { &asn_OER_type_statusReportRequired_constr_51, &asn_PER_type_statusReportRequired_constr_51, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_statusReportRequired_specs_51 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_outOfOrderDelivery_value2enum_53[] = { { 0, 4, "true" } }; static const unsigned int asn_MAP_outOfOrderDelivery_enum2value_53[] = { 0 /* true(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_outOfOrderDelivery_specs_53 = { asn_MAP_outOfOrderDelivery_value2enum_53, /* "tag" => N; sorted by tag */ asn_MAP_outOfOrderDelivery_enum2value_53, /* 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_outOfOrderDelivery_tags_53[] = { (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_outOfOrderDelivery_53 = { "outOfOrderDelivery", "outOfOrderDelivery", &asn_OP_NativeEnumerated, asn_DEF_outOfOrderDelivery_tags_53, sizeof(asn_DEF_outOfOrderDelivery_tags_53) /sizeof(asn_DEF_outOfOrderDelivery_tags_53[0]) - 1, /* 1 */ asn_DEF_outOfOrderDelivery_tags_53, /* Same as above */ sizeof(asn_DEF_outOfOrderDelivery_tags_53) /sizeof(asn_DEF_outOfOrderDelivery_tags_53[0]), /* 2 */ { &asn_OER_type_outOfOrderDelivery_constr_53, &asn_PER_type_outOfOrderDelivery_constr_53, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_outOfOrderDelivery_specs_53 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_drb_2[] = { { ATF_POINTER, 3, offsetof(struct PDCP_Config__drb, discardTimer), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_discardTimer_3, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "discardTimer" }, { ATF_POINTER, 2, offsetof(struct PDCP_Config__drb, pdcp_SN_SizeUL), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_pdcp_SN_SizeUL_20, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "pdcp-SN-SizeUL" }, { ATF_POINTER, 1, offsetof(struct PDCP_Config__drb, pdcp_SN_SizeDL), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_pdcp_SN_SizeDL_23, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "pdcp-SN-SizeDL" }, { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__drb, headerCompression), (ASN_TAG_CLASS_CONTEXT | (3 << 2)), +1, /* EXPLICIT tag at current level */ &asn_DEF_headerCompression_26, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "headerCompression" }, { ATF_POINTER, 3, offsetof(struct PDCP_Config__drb, integrityProtection), (ASN_TAG_CLASS_CONTEXT | (4 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_integrityProtection_49, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "integrityProtection" }, { ATF_POINTER, 2, offsetof(struct PDCP_Config__drb, statusReportRequired), (ASN_TAG_CLASS_CONTEXT | (5 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_statusReportRequired_51, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "statusReportRequired" }, { ATF_POINTER, 1, offsetof(struct PDCP_Config__drb, outOfOrderDelivery), (ASN_TAG_CLASS_CONTEXT | (6 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_outOfOrderDelivery_53, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "outOfOrderDelivery" }, }; static const int asn_MAP_drb_oms_2[] = { 0, 1, 2, 4, 5, 6 }; static const ber_tlv_tag_t asn_DEF_drb_tags_2[] = { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_drb_tag2el_2[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* discardTimer */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pdcp-SN-SizeUL */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pdcp-SN-SizeDL */ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* headerCompression */ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* integrityProtection */ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* statusReportRequired */ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* outOfOrderDelivery */ }; static asn_SEQUENCE_specifics_t asn_SPC_drb_specs_2 = { sizeof(struct PDCP_Config__drb), offsetof(struct PDCP_Config__drb, _asn_ctx), asn_MAP_drb_tag2el_2, 7, /* Count of tags in the map */ asn_MAP_drb_oms_2, /* Optional members */ 6, 0, /* Root/Additions */ -1, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_drb_2 = { "drb", "drb", &asn_OP_SEQUENCE, asn_DEF_drb_tags_2, sizeof(asn_DEF_drb_tags_2) /sizeof(asn_DEF_drb_tags_2[0]) - 1, /* 1 */ asn_DEF_drb_tags_2, /* Same as above */ sizeof(asn_DEF_drb_tags_2) /sizeof(asn_DEF_drb_tags_2[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_drb_2, 7, /* Elements count */ &asn_SPC_drb_specs_2 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_primaryPath_56[] = { { ATF_POINTER, 2, offsetof(struct PDCP_Config__moreThanOneRLC__primaryPath, cellGroup), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_CellGroupId, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "cellGroup" }, { ATF_POINTER, 1, offsetof(struct PDCP_Config__moreThanOneRLC__primaryPath, logicalChannel), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_LogicalChannelIdentity, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "logicalChannel" }, }; static const int asn_MAP_primaryPath_oms_56[] = { 0, 1 }; static const ber_tlv_tag_t asn_DEF_primaryPath_tags_56[] = { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_primaryPath_tag2el_56[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellGroup */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* logicalChannel */ }; static asn_SEQUENCE_specifics_t asn_SPC_primaryPath_specs_56 = { sizeof(struct PDCP_Config__moreThanOneRLC__primaryPath), offsetof(struct PDCP_Config__moreThanOneRLC__primaryPath, _asn_ctx), asn_MAP_primaryPath_tag2el_56, 2, /* Count of tags in the map */ asn_MAP_primaryPath_oms_56, /* Optional members */ 2, 0, /* Root/Additions */ -1, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_primaryPath_56 = { "primaryPath", "primaryPath", &asn_OP_SEQUENCE, asn_DEF_primaryPath_tags_56, sizeof(asn_DEF_primaryPath_tags_56) /sizeof(asn_DEF_primaryPath_tags_56[0]) - 1, /* 1 */ asn_DEF_primaryPath_tags_56, /* Same as above */ sizeof(asn_DEF_primaryPath_tags_56) /sizeof(asn_DEF_primaryPath_tags_56[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_primaryPath_56, 2, /* Elements count */ &asn_SPC_primaryPath_specs_56 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_moreThanOneRLC_55[] = { { ATF_NOFLAGS, 0, offsetof(struct PDCP_Config__moreThanOneRLC, primaryPath), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, &asn_DEF_primaryPath_56, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "primaryPath" }, { ATF_POINTER, 2, offsetof(struct PDCP_Config__moreThanOneRLC, ul_DataSplitThreshold), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_UL_DataSplitThreshold, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "ul-DataSplitThreshold" }, { ATF_POINTER, 1, offsetof(struct PDCP_Config__moreThanOneRLC, pdcp_Duplication), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_BOOLEAN, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "pdcp-Duplication" }, }; static const int asn_MAP_moreThanOneRLC_oms_55[] = { 1, 2 }; static const ber_tlv_tag_t asn_DEF_moreThanOneRLC_tags_55[] = { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_moreThanOneRLC_tag2el_55[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* primaryPath */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ul-DataSplitThreshold */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* pdcp-Duplication */ }; static asn_SEQUENCE_specifics_t asn_SPC_moreThanOneRLC_specs_55 = { sizeof(struct PDCP_Config__moreThanOneRLC), offsetof(struct PDCP_Config__moreThanOneRLC, _asn_ctx), asn_MAP_moreThanOneRLC_tag2el_55, 3, /* Count of tags in the map */ asn_MAP_moreThanOneRLC_oms_55, /* Optional members */ 2, 0, /* Root/Additions */ -1, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_moreThanOneRLC_55 = { "moreThanOneRLC", "moreThanOneRLC", &asn_OP_SEQUENCE, asn_DEF_moreThanOneRLC_tags_55, sizeof(asn_DEF_moreThanOneRLC_tags_55) /sizeof(asn_DEF_moreThanOneRLC_tags_55[0]) - 1, /* 1 */ asn_DEF_moreThanOneRLC_tags_55, /* Same as above */ sizeof(asn_DEF_moreThanOneRLC_tags_55) /sizeof(asn_DEF_moreThanOneRLC_tags_55[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_moreThanOneRLC_55, 3, /* Elements count */ &asn_SPC_moreThanOneRLC_specs_55 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_t_Reordering_value2enum_61[] = { { 0, 3, "ms0" }, { 1, 3, "ms1" }, { 2, 3, "ms2" }, { 3, 3, "ms4" }, { 4, 3, "ms5" }, { 5, 3, "ms8" }, { 6, 4, "ms10" }, { 7, 4, "ms15" }, { 8, 4, "ms20" }, { 9, 4, "ms30" }, { 10, 4, "ms40" }, { 11, 4, "ms50" }, { 12, 4, "ms60" }, { 13, 4, "ms80" }, { 14, 5, "ms100" }, { 15, 5, "ms120" }, { 16, 5, "ms140" }, { 17, 5, "ms160" }, { 18, 5, "ms180" }, { 19, 5, "ms200" }, { 20, 5, "ms220" }, { 21, 5, "ms240" }, { 22, 5, "ms260" }, { 23, 5, "ms280" }, { 24, 5, "ms300" }, { 25, 5, "ms500" }, { 26, 5, "ms750" }, { 27, 6, "ms1000" }, { 28, 6, "ms1250" }, { 29, 6, "ms1500" }, { 30, 6, "ms1750" }, { 31, 6, "ms2000" }, { 32, 6, "ms2250" }, { 33, 6, "ms2500" }, { 34, 6, "ms2750" }, { 35, 6, "ms3000" }, { 36, 7, "spare28" }, { 37, 7, "spare27" }, { 38, 7, "spare26" }, { 39, 7, "spare25" }, { 40, 7, "spare24" }, { 41, 7, "spare23" }, { 42, 7, "spare22" }, { 43, 7, "spare21" }, { 44, 7, "spare20" }, { 45, 7, "spare19" }, { 46, 7, "spare18" }, { 47, 7, "spare17" }, { 48, 7, "spare16" }, { 49, 7, "spare15" }, { 50, 7, "spare14" }, { 51, 7, "spare13" }, { 52, 7, "spare12" }, { 53, 7, "spare11" }, { 54, 7, "spare10" }, { 55, 7, "spare09" }, { 56, 7, "spare08" }, { 57, 7, "spare07" }, { 58, 7, "spare06" }, { 59, 7, "spare05" }, { 60, 7, "spare04" }, { 61, 7, "spare03" }, { 62, 7, "spare02" }, { 63, 7, "spare01" } }; static const unsigned int asn_MAP_t_Reordering_enum2value_61[] = { 0, /* ms0(0) */ 1, /* ms1(1) */ 6, /* ms10(6) */ 14, /* ms100(14) */ 27, /* ms1000(27) */ 15, /* ms120(15) */ 28, /* ms1250(28) */ 16, /* ms140(16) */ 7, /* ms15(7) */ 29, /* ms1500(29) */ 17, /* ms160(17) */ 30, /* ms1750(30) */ 18, /* ms180(18) */ 2, /* ms2(2) */ 8, /* ms20(8) */ 19, /* ms200(19) */ 31, /* ms2000(31) */ 20, /* ms220(20) */ 32, /* ms2250(32) */ 21, /* ms240(21) */ 33, /* ms2500(33) */ 22, /* ms260(22) */ 34, /* ms2750(34) */ 23, /* ms280(23) */ 9, /* ms30(9) */ 24, /* ms300(24) */ 35, /* ms3000(35) */ 3, /* ms4(3) */ 10, /* ms40(10) */ 4, /* ms5(4) */ 11, /* ms50(11) */ 25, /* ms500(25) */ 12, /* ms60(12) */ 26, /* ms750(26) */ 5, /* ms8(5) */ 13, /* ms80(13) */ 63, /* spare01(63) */ 62, /* spare02(62) */ 61, /* spare03(61) */ 60, /* spare04(60) */ 59, /* spare05(59) */ 58, /* spare06(58) */ 57, /* spare07(57) */ 56, /* spare08(56) */ 55, /* spare09(55) */ 54, /* spare10(54) */ 53, /* spare11(53) */ 52, /* spare12(52) */ 51, /* spare13(51) */ 50, /* spare14(50) */ 49, /* spare15(49) */ 48, /* spare16(48) */ 47, /* spare17(47) */ 46, /* spare18(46) */ 45, /* spare19(45) */ 44, /* spare20(44) */ 43, /* spare21(43) */ 42, /* spare22(42) */ 41, /* spare23(41) */ 40, /* spare24(40) */ 39, /* spare25(39) */ 38, /* spare26(38) */ 37, /* spare27(37) */ 36 /* spare28(36) */ }; static const asn_INTEGER_specifics_t asn_SPC_t_Reordering_specs_61 = { asn_MAP_t_Reordering_value2enum_61, /* "tag" => N; sorted by tag */ asn_MAP_t_Reordering_enum2value_61, /* N => "tag"; sorted by N */ 64, /* 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_t_Reordering_tags_61[] = { (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_t_Reordering_61 = { "t-Reordering", "t-Reordering", &asn_OP_NativeEnumerated, asn_DEF_t_Reordering_tags_61, sizeof(asn_DEF_t_Reordering_tags_61) /sizeof(asn_DEF_t_Reordering_tags_61[0]) - 1, /* 1 */ asn_DEF_t_Reordering_tags_61, /* Same as above */ sizeof(asn_DEF_t_Reordering_tags_61) /sizeof(asn_DEF_t_Reordering_tags_61[0]), /* 2 */ { &asn_OER_type_t_Reordering_constr_61, &asn_PER_type_t_Reordering_constr_61, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_t_Reordering_specs_61 /* Additional specs */ }; static const asn_INTEGER_enum_map_t asn_MAP_cipheringDisabled_value2enum_128[] = { { 0, 4, "true" } }; static const unsigned int asn_MAP_cipheringDisabled_enum2value_128[] = { 0 /* true(0) */ }; static const asn_INTEGER_specifics_t asn_SPC_cipheringDisabled_specs_128 = { asn_MAP_cipheringDisabled_value2enum_128, /* "tag" => N; sorted by tag */ asn_MAP_cipheringDisabled_enum2value_128, /* 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_cipheringDisabled_tags_128[] = { (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_cipheringDisabled_128 = { "cipheringDisabled", "cipheringDisabled", &asn_OP_NativeEnumerated, asn_DEF_cipheringDisabled_tags_128, sizeof(asn_DEF_cipheringDisabled_tags_128) /sizeof(asn_DEF_cipheringDisabled_tags_128[0]) - 1, /* 1 */ asn_DEF_cipheringDisabled_tags_128, /* Same as above */ sizeof(asn_DEF_cipheringDisabled_tags_128) /sizeof(asn_DEF_cipheringDisabled_tags_128[0]), /* 2 */ { &asn_OER_type_cipheringDisabled_constr_128, &asn_PER_type_cipheringDisabled_constr_128, NativeEnumerated_constraint }, 0, 0, /* Defined elsewhere */ &asn_SPC_cipheringDisabled_specs_128 /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_ext1_127[] = { { ATF_POINTER, 1, offsetof(struct PDCP_Config__ext1, cipheringDisabled), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_cipheringDisabled_128, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "cipheringDisabled" }, }; static const int asn_MAP_ext1_oms_127[] = { 0 }; static const ber_tlv_tag_t asn_DEF_ext1_tags_127[] = { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_ext1_tag2el_127[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cipheringDisabled */ }; static asn_SEQUENCE_specifics_t asn_SPC_ext1_specs_127 = { sizeof(struct PDCP_Config__ext1), offsetof(struct PDCP_Config__ext1, _asn_ctx), asn_MAP_ext1_tag2el_127, 1, /* Count of tags in the map */ asn_MAP_ext1_oms_127, /* Optional members */ 1, 0, /* Root/Additions */ -1, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_ext1_127 = { "ext1", "ext1", &asn_OP_SEQUENCE, asn_DEF_ext1_tags_127, sizeof(asn_DEF_ext1_tags_127) /sizeof(asn_DEF_ext1_tags_127[0]) - 1, /* 1 */ asn_DEF_ext1_tags_127, /* Same as above */ sizeof(asn_DEF_ext1_tags_127) /sizeof(asn_DEF_ext1_tags_127[0]), /* 2 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_ext1_127, 1, /* Elements count */ &asn_SPC_ext1_specs_127 /* Additional specs */ }; asn_TYPE_member_t asn_MBR_PDCP_Config_1[] = { { ATF_POINTER, 4, offsetof(struct PDCP_Config, drb), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, &asn_DEF_drb_2, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "drb" }, { ATF_POINTER, 3, offsetof(struct PDCP_Config, moreThanOneRLC), (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, &asn_DEF_moreThanOneRLC_55, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "moreThanOneRLC" }, { ATF_POINTER, 2, offsetof(struct PDCP_Config, t_Reordering), (ASN_TAG_CLASS_CONTEXT | (2 << 2)), -1, /* IMPLICIT tag at current level */ &asn_DEF_t_Reordering_61, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "t-Reordering" }, { ATF_POINTER, 1, offsetof(struct PDCP_Config, ext1), (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, &asn_DEF_ext1_127, 0, { 0, 0, 0 }, 0, 0, /* No default value */ "ext1" }, }; static const int asn_MAP_PDCP_Config_oms_1[] = { 0, 1, 2, 3 }; static const ber_tlv_tag_t asn_DEF_PDCP_Config_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_PDCP_Config_tag2el_1[] = { { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* drb */ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* moreThanOneRLC */ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* t-Reordering */ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ext1 */ }; asn_SEQUENCE_specifics_t asn_SPC_PDCP_Config_specs_1 = { sizeof(struct PDCP_Config), offsetof(struct PDCP_Config, _asn_ctx), asn_MAP_PDCP_Config_tag2el_1, 4, /* Count of tags in the map */ asn_MAP_PDCP_Config_oms_1, /* Optional members */ 3, 1, /* Root/Additions */ 3, /* First extension addition */ }; asn_TYPE_descriptor_t asn_DEF_PDCP_Config = { "PDCP-Config", "PDCP-Config", &asn_OP_SEQUENCE, asn_DEF_PDCP_Config_tags_1, sizeof(asn_DEF_PDCP_Config_tags_1) /sizeof(asn_DEF_PDCP_Config_tags_1[0]), /* 1 */ asn_DEF_PDCP_Config_tags_1, /* Same as above */ sizeof(asn_DEF_PDCP_Config_tags_1) /sizeof(asn_DEF_PDCP_Config_tags_1[0]), /* 1 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_PDCP_Config_1, 4, /* Elements count */ &asn_SPC_PDCP_Config_specs_1 /* Additional specs */ };