X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcodec_utils%2FSYSINFO%2FSIB1.c;fp=src%2Fcodec_utils%2FSYSINFO%2FSIB1.c;h=8f444e0dae9d45098f6ec6dd7e2632dead941cd9;hb=3235ecfc7414aa0b72d0ad50db63ae8b5626045b;hp=0000000000000000000000000000000000000000;hpb=997e3f26d55352586a1d4d0c46c41a98452af88a;p=o-du%2Fl2.git diff --git a/src/codec_utils/SYSINFO/SIB1.c b/src/codec_utils/SYSINFO/SIB1.c new file mode 100644 index 000000000..8f444e0da --- /dev/null +++ b/src/codec_utils/SYSINFO/SIB1.c @@ -0,0 +1,699 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "NR-RRC-Definitions" + * found in "../../mib_sib1.asn1" + * `asn1c -D ./mib_sib_out/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example` + */ + +#include "SIB1.h" + +#include "ConnEstFailureControl.h" +#include "SI-SchedulingInfo.h" +#include "ServingCellConfigCommonSIB.h" +#include "UE-TimersAndConstants.h" +#include "UAC-BarringPerCatList.h" +#include "UAC-BarringPerPLMN-List.h" +static int +memb_q_RxLevMinOffset_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 8)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_q_QualMinOffset_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1 && value <= 8)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static int +memb_individualPLMNList_constraint_21(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 >= 2 && size <= 12)) { + /* 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; + } +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static asn_oer_constraints_t asn_OER_memb_q_RxLevMinOffset_constr_4 CC_NOTUSED = { + { 1, 1 } /* (1..8) */, + -1}; +static asn_per_constraints_t asn_PER_memb_q_RxLevMinOffset_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (1..8) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_q_QualMinOffset_constr_7 CC_NOTUSED = { + { 1, 1 } /* (1..8) */, + -1}; +static asn_per_constraints_t asn_PER_memb_q_QualMinOffset_constr_7 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (1..8) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_ims_EmergencySupport_constr_12 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_ims_EmergencySupport_constr_12 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_eCallOverIMS_Support_constr_14 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_eCallOverIMS_Support_constr_14 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_individualPLMNList_constr_23 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(2..12)) */}; +static asn_per_constraints_t asn_PER_type_individualPLMNList_constr_23 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 2, 12 } /* (SIZE(2..12)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_memb_individualPLMNList_constr_23 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(2..12)) */}; +static asn_per_constraints_t asn_PER_memb_individualPLMNList_constr_23 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 2, 12 } /* (SIZE(2..12)) */, + 0, 0 /* No PER value map */ +}; +static asn_oer_constraints_t asn_OER_type_uac_AccessCategory1_SelectionAssistanceInfo_constr_21 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_uac_AccessCategory1_SelectionAssistanceInfo_constr_21 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_useFullResumeID_constr_25 CC_NOTUSED = { + { 0, 0 }, + -1}; +static asn_per_constraints_t asn_PER_type_useFullResumeID_constr_25 CC_NOTUSED = { + { APC_CONSTRAINED, 0, 0, 0, 0 } /* (0..0) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_cellSelectionInfo_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct SIB1__cellSelectionInfo, q_RxLevMin), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Q_RxLevMin, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "q-RxLevMin" + }, + { ATF_POINTER, 4, offsetof(struct SIB1__cellSelectionInfo, q_RxLevMinOffset), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_q_RxLevMinOffset_constr_4, &asn_PER_memb_q_RxLevMinOffset_constr_4, memb_q_RxLevMinOffset_constraint_2 }, + 0, 0, /* No default value */ + "q-RxLevMinOffset" + }, + { ATF_POINTER, 3, offsetof(struct SIB1__cellSelectionInfo, q_RxLevMinSUL), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Q_RxLevMin, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "q-RxLevMinSUL" + }, + { ATF_POINTER, 2, offsetof(struct SIB1__cellSelectionInfo, q_QualMin), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Q_QualMin, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "q-QualMin" + }, + { ATF_POINTER, 1, offsetof(struct SIB1__cellSelectionInfo, q_QualMinOffset), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { &asn_OER_memb_q_QualMinOffset_constr_7, &asn_PER_memb_q_QualMinOffset_constr_7, memb_q_QualMinOffset_constraint_2 }, + 0, 0, /* No default value */ + "q-QualMinOffset" + }, +}; +static const int asn_MAP_cellSelectionInfo_oms_2[] = { 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_cellSelectionInfo_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_cellSelectionInfo_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* q-RxLevMin */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* q-RxLevMinOffset */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* q-RxLevMinSUL */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* q-QualMin */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* q-QualMinOffset */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_cellSelectionInfo_specs_2 = { + sizeof(struct SIB1__cellSelectionInfo), + offsetof(struct SIB1__cellSelectionInfo, _asn_ctx), + asn_MAP_cellSelectionInfo_tag2el_2, + 5, /* Count of tags in the map */ + asn_MAP_cellSelectionInfo_oms_2, /* Optional members */ + 4, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_cellSelectionInfo_2 = { + "cellSelectionInfo", + "cellSelectionInfo", + &asn_OP_SEQUENCE, + asn_DEF_cellSelectionInfo_tags_2, + sizeof(asn_DEF_cellSelectionInfo_tags_2) + /sizeof(asn_DEF_cellSelectionInfo_tags_2[0]) - 1, /* 1 */ + asn_DEF_cellSelectionInfo_tags_2, /* Same as above */ + sizeof(asn_DEF_cellSelectionInfo_tags_2) + /sizeof(asn_DEF_cellSelectionInfo_tags_2[0]), /* 2 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_cellSelectionInfo_2, + 5, /* Elements count */ + &asn_SPC_cellSelectionInfo_specs_2 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_ims_EmergencySupport_value2enum_12[] = { + { 0, 4, "true" } +}; +static const unsigned int asn_MAP_ims_EmergencySupport_enum2value_12[] = { + 0 /* true(0) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_ims_EmergencySupport_specs_12 = { + asn_MAP_ims_EmergencySupport_value2enum_12, /* "tag" => N; sorted by tag */ + asn_MAP_ims_EmergencySupport_enum2value_12, /* 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_ims_EmergencySupport_tags_12[] = { + (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_ims_EmergencySupport_12 = { + "ims-EmergencySupport", + "ims-EmergencySupport", + &asn_OP_NativeEnumerated, + asn_DEF_ims_EmergencySupport_tags_12, + sizeof(asn_DEF_ims_EmergencySupport_tags_12) + /sizeof(asn_DEF_ims_EmergencySupport_tags_12[0]) - 1, /* 1 */ + asn_DEF_ims_EmergencySupport_tags_12, /* Same as above */ + sizeof(asn_DEF_ims_EmergencySupport_tags_12) + /sizeof(asn_DEF_ims_EmergencySupport_tags_12[0]), /* 2 */ + { &asn_OER_type_ims_EmergencySupport_constr_12, &asn_PER_type_ims_EmergencySupport_constr_12, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ims_EmergencySupport_specs_12 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_eCallOverIMS_Support_value2enum_14[] = { + { 0, 4, "true" } +}; +static const unsigned int asn_MAP_eCallOverIMS_Support_enum2value_14[] = { + 0 /* true(0) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_eCallOverIMS_Support_specs_14 = { + asn_MAP_eCallOverIMS_Support_value2enum_14, /* "tag" => N; sorted by tag */ + asn_MAP_eCallOverIMS_Support_enum2value_14, /* 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_eCallOverIMS_Support_tags_14[] = { + (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_eCallOverIMS_Support_14 = { + "eCallOverIMS-Support", + "eCallOverIMS-Support", + &asn_OP_NativeEnumerated, + asn_DEF_eCallOverIMS_Support_tags_14, + sizeof(asn_DEF_eCallOverIMS_Support_tags_14) + /sizeof(asn_DEF_eCallOverIMS_Support_tags_14[0]) - 1, /* 1 */ + asn_DEF_eCallOverIMS_Support_tags_14, /* Same as above */ + sizeof(asn_DEF_eCallOverIMS_Support_tags_14) + /sizeof(asn_DEF_eCallOverIMS_Support_tags_14[0]), /* 2 */ + { &asn_OER_type_eCallOverIMS_Support_constr_14, &asn_PER_type_eCallOverIMS_Support_constr_14, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_eCallOverIMS_Support_specs_14 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_individualPLMNList_23[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_UAC_AccessCategory1_SelectionAssistanceInfo, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_individualPLMNList_tags_23[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_individualPLMNList_specs_23 = { + sizeof(struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo__individualPLMNList), + offsetof(struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo__individualPLMNList, _asn_ctx), + 1, /* XER encoding is XMLValueList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_individualPLMNList_23 = { + "individualPLMNList", + "individualPLMNList", + &asn_OP_SEQUENCE_OF, + asn_DEF_individualPLMNList_tags_23, + sizeof(asn_DEF_individualPLMNList_tags_23) + /sizeof(asn_DEF_individualPLMNList_tags_23[0]) - 1, /* 1 */ + asn_DEF_individualPLMNList_tags_23, /* Same as above */ + sizeof(asn_DEF_individualPLMNList_tags_23) + /sizeof(asn_DEF_individualPLMNList_tags_23[0]), /* 2 */ + { &asn_OER_type_individualPLMNList_constr_23, &asn_PER_type_individualPLMNList_constr_23, SEQUENCE_OF_constraint }, + asn_MBR_individualPLMNList_23, + 1, /* Single element */ + &asn_SPC_individualPLMNList_specs_23 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_uac_AccessCategory1_SelectionAssistanceInfo_21[] = { + { ATF_NOFLAGS, 0, offsetof(struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo, choice.plmnCommon), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UAC_AccessCategory1_SelectionAssistanceInfo, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "plmnCommon" + }, + { ATF_POINTER, 0, offsetof(struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo, choice.individualPLMNList), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_individualPLMNList_23, + 0, + { &asn_OER_memb_individualPLMNList_constr_23, &asn_PER_memb_individualPLMNList_constr_23, memb_individualPLMNList_constraint_21 }, + 0, 0, /* No default value */ + "individualPLMNList" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_uac_AccessCategory1_SelectionAssistanceInfo_tag2el_21[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* plmnCommon */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* individualPLMNList */ +}; +static asn_CHOICE_specifics_t asn_SPC_uac_AccessCategory1_SelectionAssistanceInfo_specs_21 = { + sizeof(struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo), + offsetof(struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo, _asn_ctx), + offsetof(struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo, present), + sizeof(((struct SIB1__uac_BarringInfo__uac_AccessCategory1_SelectionAssistanceInfo *)0)->present), + asn_MAP_uac_AccessCategory1_SelectionAssistanceInfo_tag2el_21, + 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_uac_AccessCategory1_SelectionAssistanceInfo_21 = { + "uac-AccessCategory1-SelectionAssistanceInfo", + "uac-AccessCategory1-SelectionAssistanceInfo", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { &asn_OER_type_uac_AccessCategory1_SelectionAssistanceInfo_constr_21, &asn_PER_type_uac_AccessCategory1_SelectionAssistanceInfo_constr_21, CHOICE_constraint }, + asn_MBR_uac_AccessCategory1_SelectionAssistanceInfo_21, + 2, /* Elements count */ + &asn_SPC_uac_AccessCategory1_SelectionAssistanceInfo_specs_21 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_uac_BarringInfo_17[] = { + { ATF_POINTER, 2, offsetof(struct SIB1__uac_BarringInfo, uac_BarringForCommon), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UAC_BarringPerCatList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uac-BarringForCommon" + }, + { ATF_POINTER, 1, offsetof(struct SIB1__uac_BarringInfo, uac_BarringPerPLMN_List), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UAC_BarringPerPLMN_List, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uac-BarringPerPLMN-List" + }, + { ATF_NOFLAGS, 0, offsetof(struct SIB1__uac_BarringInfo, uac_BarringInfoSetList), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UAC_BarringInfoSetList, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uac-BarringInfoSetList" + }, + { ATF_POINTER, 1, offsetof(struct SIB1__uac_BarringInfo, uac_AccessCategory1_SelectionAssistanceInfo), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_uac_AccessCategory1_SelectionAssistanceInfo_21, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uac-AccessCategory1-SelectionAssistanceInfo" + }, +}; +static const int asn_MAP_uac_BarringInfo_oms_17[] = { 0, 1, 3 }; +static const ber_tlv_tag_t asn_DEF_uac_BarringInfo_tags_17[] = { + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_uac_BarringInfo_tag2el_17[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uac-BarringForCommon */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uac-BarringPerPLMN-List */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* uac-BarringInfoSetList */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* uac-AccessCategory1-SelectionAssistanceInfo */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_uac_BarringInfo_specs_17 = { + sizeof(struct SIB1__uac_BarringInfo), + offsetof(struct SIB1__uac_BarringInfo, _asn_ctx), + asn_MAP_uac_BarringInfo_tag2el_17, + 4, /* Count of tags in the map */ + asn_MAP_uac_BarringInfo_oms_17, /* Optional members */ + 3, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_uac_BarringInfo_17 = { + "uac-BarringInfo", + "uac-BarringInfo", + &asn_OP_SEQUENCE, + asn_DEF_uac_BarringInfo_tags_17, + sizeof(asn_DEF_uac_BarringInfo_tags_17) + /sizeof(asn_DEF_uac_BarringInfo_tags_17[0]) - 1, /* 1 */ + asn_DEF_uac_BarringInfo_tags_17, /* Same as above */ + sizeof(asn_DEF_uac_BarringInfo_tags_17) + /sizeof(asn_DEF_uac_BarringInfo_tags_17[0]), /* 2 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_uac_BarringInfo_17, + 4, /* Elements count */ + &asn_SPC_uac_BarringInfo_specs_17 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_useFullResumeID_value2enum_25[] = { + { 0, 4, "true" } +}; +static const unsigned int asn_MAP_useFullResumeID_enum2value_25[] = { + 0 /* true(0) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_useFullResumeID_specs_25 = { + asn_MAP_useFullResumeID_value2enum_25, /* "tag" => N; sorted by tag */ + asn_MAP_useFullResumeID_enum2value_25, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_useFullResumeID_tags_25[] = { + (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_useFullResumeID_25 = { + "useFullResumeID", + "useFullResumeID", + &asn_OP_NativeEnumerated, + asn_DEF_useFullResumeID_tags_25, + sizeof(asn_DEF_useFullResumeID_tags_25) + /sizeof(asn_DEF_useFullResumeID_tags_25[0]) - 1, /* 1 */ + asn_DEF_useFullResumeID_tags_25, /* Same as above */ + sizeof(asn_DEF_useFullResumeID_tags_25) + /sizeof(asn_DEF_useFullResumeID_tags_25[0]), /* 2 */ + { &asn_OER_type_useFullResumeID_constr_25, &asn_PER_type_useFullResumeID_constr_25, NativeEnumerated_constraint }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_useFullResumeID_specs_25 /* Additional specs */ +}; + +static const ber_tlv_tag_t asn_DEF_nonCriticalExtension_tags_28[] = { + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SEQUENCE_specifics_t asn_SPC_nonCriticalExtension_specs_28 = { + sizeof(struct SIB1__nonCriticalExtension), + offsetof(struct SIB1__nonCriticalExtension, _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_nonCriticalExtension_28 = { + "nonCriticalExtension", + "nonCriticalExtension", + &asn_OP_SEQUENCE, + asn_DEF_nonCriticalExtension_tags_28, + sizeof(asn_DEF_nonCriticalExtension_tags_28) + /sizeof(asn_DEF_nonCriticalExtension_tags_28[0]) - 1, /* 1 */ + asn_DEF_nonCriticalExtension_tags_28, /* Same as above */ + sizeof(asn_DEF_nonCriticalExtension_tags_28) + /sizeof(asn_DEF_nonCriticalExtension_tags_28[0]), /* 2 */ + { 0, 0, SEQUENCE_constraint }, + 0, 0, /* No members */ + &asn_SPC_nonCriticalExtension_specs_28 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_SIB1_1[] = { + { ATF_POINTER, 1, offsetof(struct SIB1, cellSelectionInfo), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_cellSelectionInfo_2, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cellSelectionInfo" + }, + { ATF_NOFLAGS, 0, offsetof(struct SIB1, cellAccessRelatedInfo), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CellAccessRelatedInfo, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "cellAccessRelatedInfo" + }, + { ATF_POINTER, 10, offsetof(struct SIB1, connEstFailureControl), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ConnEstFailureControl, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "connEstFailureControl" + }, + { ATF_POINTER, 9, offsetof(struct SIB1, si_SchedulingInfo), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SI_SchedulingInfo, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "si-SchedulingInfo" + }, + { ATF_POINTER, 8, offsetof(struct SIB1, servingCellConfigCommon), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ServingCellConfigCommonSIB, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "servingCellConfigCommon" + }, + { ATF_POINTER, 7, offsetof(struct SIB1, ims_EmergencySupport), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ims_EmergencySupport_12, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ims-EmergencySupport" + }, + { ATF_POINTER, 6, offsetof(struct SIB1, eCallOverIMS_Support), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_eCallOverIMS_Support_14, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "eCallOverIMS-Support" + }, + { ATF_POINTER, 5, offsetof(struct SIB1, ue_TimersAndConstants), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UE_TimersAndConstants, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ue-TimersAndConstants" + }, + { ATF_POINTER, 4, offsetof(struct SIB1, uac_BarringInfo), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + 0, + &asn_DEF_uac_BarringInfo_17, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "uac-BarringInfo" + }, + { ATF_POINTER, 3, offsetof(struct SIB1, useFullResumeID), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_useFullResumeID_25, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "useFullResumeID" + }, + { ATF_POINTER, 2, offsetof(struct SIB1, lateNonCriticalExtension), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "lateNonCriticalExtension" + }, + { ATF_POINTER, 1, offsetof(struct SIB1, nonCriticalExtension), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + 0, + &asn_DEF_nonCriticalExtension_28, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "nonCriticalExtension" + }, +}; +static const int asn_MAP_SIB1_oms_1[] = { 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; +static const ber_tlv_tag_t asn_DEF_SIB1_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SIB1_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellSelectionInfo */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellAccessRelatedInfo */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* connEstFailureControl */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* si-SchedulingInfo */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* servingCellConfigCommon */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* ims-EmergencySupport */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* eCallOverIMS-Support */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* ue-TimersAndConstants */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* uac-BarringInfo */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* useFullResumeID */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* lateNonCriticalExtension */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* nonCriticalExtension */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_SIB1_specs_1 = { + sizeof(struct SIB1), + offsetof(struct SIB1, _asn_ctx), + asn_MAP_SIB1_tag2el_1, + 12, /* Count of tags in the map */ + asn_MAP_SIB1_oms_1, /* Optional members */ + 11, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SIB1 = { + "SIB1", + "SIB1", + &asn_OP_SEQUENCE, + asn_DEF_SIB1_tags_1, + sizeof(asn_DEF_SIB1_tags_1) + /sizeof(asn_DEF_SIB1_tags_1[0]), /* 1 */ + asn_DEF_SIB1_tags_1, /* Same as above */ + sizeof(asn_DEF_SIB1_tags_1) + /sizeof(asn_DEF_SIB1_tags_1[0]), /* 1 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_SIB1_1, + 12, /* Elements count */ + &asn_SPC_SIB1_specs_1 /* Additional specs */ +}; +