/** * Copyright 2013-2023 Software Radio Systems Limited * * This file is part of srsRAN. * * srsRAN is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of * the License, or (at your option) any later version. * * srsRAN is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * A copy of the GNU Affero General Public License can be found in * the LICENSE file in the top-level directory of this distribution * and at http://www.gnu.org/licenses/. * */ /******************************************************************************* * * 3GPP TS ASN1 RRC v17.4.0 (2023-03) * ******************************************************************************/ #ifndef SRSASN1_RRC_UECAP_H #define SRSASN1_RRC_UECAP_H #include "common.h" namespace asn1 { namespace rrc { /******************************************************************************* * Struct Definitions ******************************************************************************/ // UECapabilityEnquiry-v1710-IEs ::= SEQUENCE struct ue_cap_enquiry_v1710_ies_s { bool sidelink_request_r17_present = false; bool non_crit_ext_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UECapabilityEnquiry-v1610-IEs ::= SEQUENCE struct ue_cap_enquiry_v1610_ies_s { bool rrc_seg_allowed_r16_present = false; bool non_crit_ext_present = false; ue_cap_enquiry_v1710_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CA-BandwidthClass-r10 ::= ENUMERATED struct ca_bw_class_r10_opts { enum options { a, b, c, d, e, f, /*...*/ nulltype } value; const char* to_string() const; }; typedef enumerated ca_bw_class_r10_e; // UECapabilityEnquiry-v1560-IEs ::= SEQUENCE struct ue_cap_enquiry_v1560_ies_s { bool requested_cap_common_r15_present = false; bool non_crit_ext_present = false; dyn_octstring requested_cap_common_r15; ue_cap_enquiry_v1610_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandIndication-r14 ::= SEQUENCE struct band_ind_r14_s { bool ca_bw_class_ul_r14_present = false; uint16_t band_eutra_r14 = 1; ca_bw_class_r10_e ca_bw_class_dl_r14; ca_bw_class_r10_e ca_bw_class_ul_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UECapabilityEnquiry-v1550-IEs ::= SEQUENCE struct ue_cap_enquiry_v1550_ies_s { bool requested_cap_nr_r15_present = false; bool non_crit_ext_present = false; dyn_octstring requested_cap_nr_r15; ue_cap_enquiry_v1560_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombination-r14 ::= SEQUENCE (SIZE (1..64)) OF BandIndication-r14 using band_combination_r14_l = dyn_array; // UECapabilityEnquiry-v1530-IEs ::= SEQUENCE struct ue_cap_enquiry_v1530_ies_s { bool request_stti_spt_cap_r15_present = false; bool eutra_nr_only_r15_present = false; bool non_crit_ext_present = false; ue_cap_enquiry_v1550_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationList-r14 ::= SEQUENCE (SIZE (1..384)) OF BandCombination-r14 using band_combination_list_r14_l = dyn_array; // UECapabilityEnquiry-v1510-IEs ::= SEQUENCE struct ue_cap_enquiry_v1510_ies_s { bool requested_freq_bands_nr_mrdc_r15_present = false; bool non_crit_ext_present = false; dyn_octstring requested_freq_bands_nr_mrdc_r15; ue_cap_enquiry_v1530_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UECapabilityEnquiry-v1430-IEs ::= SEQUENCE struct ue_cap_enquiry_v1430_ies_s { bool request_diff_fallback_comb_list_r14_present = false; bool non_crit_ext_present = false; band_combination_list_r14_l request_diff_fallback_comb_list_r14; ue_cap_enquiry_v1510_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UECapabilityEnquiry-v1310-IEs ::= SEQUENCE struct ue_cap_enquiry_v1310_ies_s { bool request_reduced_format_r13_present = false; bool request_skip_fallback_comb_r13_present = false; bool requested_max_ccs_dl_r13_present = false; bool requested_max_ccs_ul_r13_present = false; bool request_reduced_int_non_cont_comb_r13_present = false; bool non_crit_ext_present = false; uint8_t requested_max_ccs_dl_r13 = 2; uint8_t requested_max_ccs_ul_r13 = 2; ue_cap_enquiry_v1430_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // RAT-Type ::= ENUMERATED struct rat_type_opts { enum options { eutra, utra, geran_cs, geran_ps, cdma2000_minus1_xrtt, nr, eutra_nr, spare1, /*...*/ nulltype } value; typedef uint16_t number_type; const char* to_string() const; uint16_t to_number() const; }; typedef enumerated rat_type_e; // UECapabilityEnquiry-v1180-IEs ::= SEQUENCE struct ue_cap_enquiry_v1180_ies_s { using requested_freq_bands_r11_l_ = bounded_array; // member variables bool requested_freq_bands_r11_present = false; bool non_crit_ext_present = false; requested_freq_bands_r11_l_ requested_freq_bands_r11; ue_cap_enquiry_v1310_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-CapabilityRequest ::= SEQUENCE (SIZE (1..8)) OF RAT-Type using ue_cap_request_l = bounded_array; // UECapabilityEnquiry-v8a0-IEs ::= SEQUENCE struct ue_cap_enquiry_v8a0_ies_s { bool late_non_crit_ext_present = false; bool non_crit_ext_present = false; dyn_octstring late_non_crit_ext; ue_cap_enquiry_v1180_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UECapabilityEnquiry-r8-IEs ::= SEQUENCE struct ue_cap_enquiry_r8_ies_s { bool non_crit_ext_present = false; ue_cap_request_l ue_cap_request; ue_cap_enquiry_v8a0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UECapabilityEnquiry ::= SEQUENCE struct ue_cap_enquiry_s { struct crit_exts_c_ { struct c1_c_ { struct types_opts { enum options { ue_cap_enquiry_r8, spare3, spare2, spare1, nulltype } value; const char* to_string() const; }; typedef enumerated types; // choice methods c1_c_() = default; void set(types::options e = types::nulltype); types type() const { return type_; } SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; // getters ue_cap_enquiry_r8_ies_s& ue_cap_enquiry_r8() { assert_choice_type(types::ue_cap_enquiry_r8, type_, "c1"); return c; } const ue_cap_enquiry_r8_ies_s& ue_cap_enquiry_r8() const { assert_choice_type(types::ue_cap_enquiry_r8, type_, "c1"); return c; } ue_cap_enquiry_r8_ies_s& set_ue_cap_enquiry_r8(); void set_spare3(); void set_spare2(); void set_spare1(); private: types type_; ue_cap_enquiry_r8_ies_s c; }; using types = c1_or_crit_ext_e; // choice methods crit_exts_c_() = default; void set(types::options e = types::nulltype); types type() const { return type_; } SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; // getters c1_c_& c1() { assert_choice_type(types::c1, type_, "criticalExtensions"); return c; } const c1_c_& c1() const { assert_choice_type(types::c1, type_, "criticalExtensions"); return c; } c1_c_& set_c1(); void set_crit_exts_future(); private: types type_; c1_c_ c; }; // member variables uint8_t rrc_transaction_id = 0; crit_exts_c_ crit_exts; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-RadioPagingInfo-r12 ::= SEQUENCE struct ue_radio_paging_info_r12_s { struct wake_up_signal_min_gap_e_drx_r15_opts { enum options { ms40, ms240, ms1000, ms2000, nulltype } value; typedef uint16_t number_type; const char* to_string() const; uint16_t to_number() const; }; typedef enumerated wake_up_signal_min_gap_e_drx_r15_e_; struct wake_up_signal_min_gap_e_drx_tdd_r15_opts { enum options { ms40, ms240, ms1000, ms2000, nulltype } value; typedef uint16_t number_type; const char* to_string() const; uint16_t to_number() const; }; typedef enumerated wake_up_signal_min_gap_e_drx_tdd_r15_e_; // member variables bool ext = false; bool ue_category_v1250_present = false; uint8_t ue_category_v1250 = 0; // ... // group 0 bool ue_category_dl_v1310_present = false; bool ce_mode_a_r13_present = false; bool ce_mode_b_r13_present = false; // group 1 bool wake_up_signal_r15_present = false; bool wake_up_signal_tdd_r15_present = false; bool wake_up_signal_min_gap_e_drx_r15_present = false; bool wake_up_signal_min_gap_e_drx_tdd_r15_present = false; wake_up_signal_min_gap_e_drx_r15_e_ wake_up_signal_min_gap_e_drx_r15; wake_up_signal_min_gap_e_drx_tdd_r15_e_ wake_up_signal_min_gap_e_drx_tdd_r15; // group 2 bool ue_category_dl_v1610_present = false; bool group_wake_up_signal_r16_present = false; bool group_wake_up_signal_tdd_r16_present = false; bool group_wake_up_signal_alternation_r16_present = false; bool group_wake_up_signal_alternation_tdd_r16_present = false; // group 3 bool inactive_state_po_determination_r17_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-CapabilityRAT-Container ::= SEQUENCE struct ue_cap_rat_container_s { rat_type_e rat_type; dyn_octstring ue_cap_rat_container; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UECapabilityInformation-v1250-IEs ::= SEQUENCE struct ue_cap_info_v1250_ies_s { bool ue_radio_paging_info_r12_present = false; bool non_crit_ext_present = false; ue_radio_paging_info_r12_s ue_radio_paging_info_r12; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-CapabilityRAT-ContainerList ::= SEQUENCE (SIZE (0..8)) OF UE-CapabilityRAT-Container using ue_cap_rat_container_list_l = dyn_array; // UECapabilityInformation-v8a0-IEs ::= SEQUENCE struct ue_cap_info_v8a0_ies_s { bool late_non_crit_ext_present = false; bool non_crit_ext_present = false; dyn_octstring late_non_crit_ext; ue_cap_info_v1250_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UECapabilityInformation-r8-IEs ::= SEQUENCE struct ue_cap_info_r8_ies_s { bool non_crit_ext_present = false; ue_cap_rat_container_list_l ue_cap_rat_container_list; ue_cap_info_v8a0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UECapabilityInformation ::= SEQUENCE struct ue_cap_info_s { struct crit_exts_c_ { struct c1_c_ { struct types_opts { enum options { ue_cap_info_r8, spare7, spare6, spare5, spare4, spare3, spare2, spare1, nulltype } value; const char* to_string() const; }; typedef enumerated types; // choice methods c1_c_() = default; void set(types::options e = types::nulltype); types type() const { return type_; } SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; // getters ue_cap_info_r8_ies_s& ue_cap_info_r8() { assert_choice_type(types::ue_cap_info_r8, type_, "c1"); return c; } const ue_cap_info_r8_ies_s& ue_cap_info_r8() const { assert_choice_type(types::ue_cap_info_r8, type_, "c1"); return c; } ue_cap_info_r8_ies_s& set_ue_cap_info_r8(); void set_spare7(); void set_spare6(); void set_spare5(); void set_spare4(); void set_spare3(); void set_spare2(); void set_spare1(); private: types type_; ue_cap_info_r8_ies_s c; }; using types = c1_or_crit_ext_e; // choice methods crit_exts_c_() = default; void set(types::options e = types::nulltype); types type() const { return type_; } SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; // getters c1_c_& c1() { assert_choice_type(types::c1, type_, "criticalExtensions"); return c; } const c1_c_& c1() const { assert_choice_type(types::c1, type_, "criticalExtensions"); return c; } c1_c_& set_c1(); void set_crit_exts_future(); private: types type_; c1_c_ c; }; // member variables uint8_t rrc_transaction_id = 0; crit_exts_c_ crit_exts; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // InterFreqBandInfo ::= SEQUENCE struct inter_freq_band_info_s { bool inter_freq_need_for_gaps = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // InterRAT-BandInfo ::= SEQUENCE struct inter_rat_band_info_s { bool inter_rat_need_for_gaps = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // InterFreqBandList ::= SEQUENCE (SIZE (1..64)) OF InterFreqBandInfo using inter_freq_band_list_l = dyn_array; // InterRAT-BandList ::= SEQUENCE (SIZE (1..64)) OF InterRAT-BandInfo using inter_rat_band_list_l = dyn_array; // BandInfoEUTRA ::= SEQUENCE struct band_info_eutra_s { bool inter_rat_band_list_present = false; inter_freq_band_list_l inter_freq_band_list; inter_rat_band_list_l inter_rat_band_list; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationListEUTRA-r10 ::= SEQUENCE (SIZE (1..128)) OF BandInfoEUTRA using band_combination_list_eutra_r10_l = dyn_array; // MIMO-CapabilityDL-r10 ::= ENUMERATED struct mimo_cap_dl_r10_opts { enum options { two_layers, four_layers, eight_layers, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated mimo_cap_dl_r10_e; // MIMO-CapabilityUL-r10 ::= ENUMERATED struct mimo_cap_ul_r10_opts { enum options { two_layers, four_layers, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated mimo_cap_ul_r10_e; // CA-MIMO-ParametersDL-r10 ::= SEQUENCE struct ca_mimo_params_dl_r10_s { bool supported_mimo_cap_dl_r10_present = false; ca_bw_class_r10_e ca_bw_class_dl_r10; mimo_cap_dl_r10_e supported_mimo_cap_dl_r10; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CA-MIMO-ParametersUL-r10 ::= SEQUENCE struct ca_mimo_params_ul_r10_s { bool supported_mimo_cap_ul_r10_present = false; ca_bw_class_r10_e ca_bw_class_ul_r10; mimo_cap_ul_r10_e supported_mimo_cap_ul_r10; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParametersDL-r10 ::= SEQUENCE (SIZE (1..16)) OF CA-MIMO-ParametersDL-r10 using band_params_dl_r10_l = dyn_array; // BandParametersUL-r10 ::= SEQUENCE (SIZE (1..16)) OF CA-MIMO-ParametersUL-r10 using band_params_ul_r10_l = dyn_array; // BandParameters-r10 ::= SEQUENCE struct band_params_r10_s { bool band_params_ul_r10_present = false; bool band_params_dl_r10_present = false; uint8_t band_eutra_r10 = 1; band_params_ul_r10_l band_params_ul_r10; band_params_dl_r10_l band_params_dl_r10; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-r10 ::= SEQUENCE (SIZE (1..64)) OF BandParameters-r10 using band_combination_params_r10_l = dyn_array; // BandParameters-r11 ::= SEQUENCE struct band_params_r11_s { struct supported_csi_proc_r11_opts { enum options { n1, n3, n4, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated supported_csi_proc_r11_e_; // member variables bool band_params_ul_r11_present = false; bool band_params_dl_r11_present = false; bool supported_csi_proc_r11_present = false; uint16_t band_eutra_r11 = 1; band_params_ul_r10_l band_params_ul_r11; band_params_dl_r10_l band_params_dl_r11; supported_csi_proc_r11_e_ supported_csi_proc_r11; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-r11 ::= SEQUENCE struct band_combination_params_r11_s { using band_param_list_r11_l_ = dyn_array; // member variables bool ext = false; bool supported_bw_combination_set_r11_present = false; bool multiple_timing_advance_r11_present = false; bool simul_rx_tx_r11_present = false; band_param_list_r11_l_ band_param_list_r11; bounded_bitstring<1, 32> supported_bw_combination_set_r11; band_info_eutra_s band_info_eutra_r11; // ... // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IntraBandContiguousCC-Info-r12 ::= SEQUENCE struct intra_band_contiguous_cc_info_r12_s { struct supported_csi_proc_r12_opts { enum options { n1, n3, n4, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated supported_csi_proc_r12_e_; // member variables bool four_layer_tm3_tm4_per_cc_r12_present = false; bool supported_mimo_cap_dl_r12_present = false; bool supported_csi_proc_r12_present = false; mimo_cap_dl_r10_e supported_mimo_cap_dl_r12; supported_csi_proc_r12_e_ supported_csi_proc_r12; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CA-MIMO-ParametersDL-r13 ::= SEQUENCE struct ca_mimo_params_dl_r13_s { using intra_band_contiguous_cc_info_list_r13_l_ = dyn_array; // member variables bool supported_mimo_cap_dl_r13_present = false; bool four_layer_tm3_tm4_r13_present = false; ca_bw_class_r10_e ca_bw_class_dl_r13; mimo_cap_dl_r10_e supported_mimo_cap_dl_r13; intra_band_contiguous_cc_info_list_r13_l_ intra_band_contiguous_cc_info_list_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParametersDL-r13 ::= CA-MIMO-ParametersDL-r13 using band_params_dl_r13_s = ca_mimo_params_dl_r13_s; // BandParametersUL-r13 ::= CA-MIMO-ParametersUL-r10 using band_params_ul_r13_s = ca_mimo_params_ul_r10_s; // BandParameters-r13 ::= SEQUENCE struct band_params_r13_s { struct supported_csi_proc_r13_opts { enum options { n1, n3, n4, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated supported_csi_proc_r13_e_; // member variables bool band_params_ul_r13_present = false; bool band_params_dl_r13_present = false; bool supported_csi_proc_r13_present = false; uint16_t band_eutra_r13 = 1; band_params_ul_r13_s band_params_ul_r13; band_params_dl_r13_s band_params_dl_r13; supported_csi_proc_r13_e_ supported_csi_proc_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-r13 ::= SEQUENCE struct band_combination_params_r13_s { using band_param_list_r13_l_ = dyn_array; struct dc_support_r13_s_ { struct supported_cell_grouping_r13_c_ { struct types_opts { enum options { three_entries_r13, four_entries_r13, five_entries_r13, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated types; // choice methods supported_cell_grouping_r13_c_() = default; supported_cell_grouping_r13_c_(const supported_cell_grouping_r13_c_& other); supported_cell_grouping_r13_c_& operator=(const supported_cell_grouping_r13_c_& other); ~supported_cell_grouping_r13_c_() { destroy_(); } void set(types::options e = types::nulltype); types type() const { return type_; } SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; // getters fixed_bitstring<3>& three_entries_r13() { assert_choice_type(types::three_entries_r13, type_, "supportedCellGrouping-r13"); return c.get >(); } fixed_bitstring<7>& four_entries_r13() { assert_choice_type(types::four_entries_r13, type_, "supportedCellGrouping-r13"); return c.get >(); } fixed_bitstring<15>& five_entries_r13() { assert_choice_type(types::five_entries_r13, type_, "supportedCellGrouping-r13"); return c.get >(); } const fixed_bitstring<3>& three_entries_r13() const { assert_choice_type(types::three_entries_r13, type_, "supportedCellGrouping-r13"); return c.get >(); } const fixed_bitstring<7>& four_entries_r13() const { assert_choice_type(types::four_entries_r13, type_, "supportedCellGrouping-r13"); return c.get >(); } const fixed_bitstring<15>& five_entries_r13() const { assert_choice_type(types::five_entries_r13, type_, "supportedCellGrouping-r13"); return c.get >(); } fixed_bitstring<3>& set_three_entries_r13(); fixed_bitstring<7>& set_four_entries_r13(); fixed_bitstring<15>& set_five_entries_r13(); private: types type_; choice_buffer_t > c; void destroy_(); }; // member variables bool async_r13_present = false; bool supported_cell_grouping_r13_present = false; supported_cell_grouping_r13_c_ supported_cell_grouping_r13; }; // member variables bool different_fallback_supported_r13_present = false; bool supported_bw_combination_set_r13_present = false; bool multiple_timing_advance_r13_present = false; bool simul_rx_tx_r13_present = false; bool dc_support_r13_present = false; bool supported_naics_minus2_crs_ap_r13_present = false; bool comm_supported_bands_per_bc_r13_present = false; band_param_list_r13_l_ band_param_list_r13; bounded_bitstring<1, 32> supported_bw_combination_set_r13; band_info_eutra_s band_info_eutra_r13; dc_support_r13_s_ dc_support_r13; bounded_bitstring<1, 8> supported_naics_minus2_crs_ap_r13; bounded_bitstring<1, 64> comm_supported_bands_per_bc_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParameters-v1090 ::= SEQUENCE struct band_params_v1090_s { bool ext = false; bool band_eutra_v1090_present = false; uint16_t band_eutra_v1090 = 65; // ... // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-v1090 ::= SEQUENCE (SIZE (1..64)) OF BandParameters-v1090 using band_combination_params_v1090_l = dyn_array; // CA-MIMO-ParametersDL-v10i0 ::= SEQUENCE struct ca_mimo_params_dl_v10i0_s { bool four_layer_tm3_tm4_r10_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParameters-v10i0 ::= SEQUENCE struct band_params_v10i0_s { using band_params_dl_v10i0_l_ = dyn_array; // member variables band_params_dl_v10i0_l_ band_params_dl_v10i0; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-v10i0 ::= SEQUENCE struct band_combination_params_v10i0_s { using band_param_list_v10i0_l_ = dyn_array; // member variables bool band_param_list_v10i0_present = false; band_param_list_v10i0_l_ band_param_list_v10i0; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParameters-v1130 ::= SEQUENCE struct band_params_v1130_s { struct supported_csi_proc_r11_opts { enum options { n1, n3, n4, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated supported_csi_proc_r11_e_; // member variables supported_csi_proc_r11_e_ supported_csi_proc_r11; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-v1130 ::= SEQUENCE struct band_combination_params_v1130_s { using band_param_list_r11_l_ = dyn_array; // member variables bool ext = false; bool multiple_timing_advance_r11_present = false; bool simul_rx_tx_r11_present = false; bool band_param_list_r11_present = false; band_param_list_r11_l_ band_param_list_r11; // ... // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-v1250 ::= SEQUENCE struct band_combination_params_v1250_s { struct dc_support_r12_s_ { struct supported_cell_grouping_r12_c_ { struct types_opts { enum options { three_entries_r12, four_entries_r12, five_entries_r12, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated types; // choice methods supported_cell_grouping_r12_c_() = default; supported_cell_grouping_r12_c_(const supported_cell_grouping_r12_c_& other); supported_cell_grouping_r12_c_& operator=(const supported_cell_grouping_r12_c_& other); ~supported_cell_grouping_r12_c_() { destroy_(); } void set(types::options e = types::nulltype); types type() const { return type_; } SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; // getters fixed_bitstring<3>& three_entries_r12() { assert_choice_type(types::three_entries_r12, type_, "supportedCellGrouping-r12"); return c.get >(); } fixed_bitstring<7>& four_entries_r12() { assert_choice_type(types::four_entries_r12, type_, "supportedCellGrouping-r12"); return c.get >(); } fixed_bitstring<15>& five_entries_r12() { assert_choice_type(types::five_entries_r12, type_, "supportedCellGrouping-r12"); return c.get >(); } const fixed_bitstring<3>& three_entries_r12() const { assert_choice_type(types::three_entries_r12, type_, "supportedCellGrouping-r12"); return c.get >(); } const fixed_bitstring<7>& four_entries_r12() const { assert_choice_type(types::four_entries_r12, type_, "supportedCellGrouping-r12"); return c.get >(); } const fixed_bitstring<15>& five_entries_r12() const { assert_choice_type(types::five_entries_r12, type_, "supportedCellGrouping-r12"); return c.get >(); } fixed_bitstring<3>& set_three_entries_r12(); fixed_bitstring<7>& set_four_entries_r12(); fixed_bitstring<15>& set_five_entries_r12(); private: types type_; choice_buffer_t > c; void destroy_(); }; // member variables bool async_r12_present = false; bool supported_cell_grouping_r12_present = false; supported_cell_grouping_r12_c_ supported_cell_grouping_r12; }; // member variables bool ext = false; bool dc_support_r12_present = false; bool supported_naics_minus2_crs_ap_r12_present = false; bool comm_supported_bands_per_bc_r12_present = false; dc_support_r12_s_ dc_support_r12; bounded_bitstring<1, 8> supported_naics_minus2_crs_ap_r12; bounded_bitstring<1, 64> comm_supported_bands_per_bc_r12; // ... // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CA-MIMO-ParametersDL-v1270 ::= SEQUENCE struct ca_mimo_params_dl_v1270_s { using intra_band_contiguous_cc_info_list_r12_l_ = dyn_array; // member variables intra_band_contiguous_cc_info_list_r12_l_ intra_band_contiguous_cc_info_list_r12; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParameters-v1270 ::= SEQUENCE struct band_params_v1270_s { using band_params_dl_v1270_l_ = dyn_array; // member variables band_params_dl_v1270_l_ band_params_dl_v1270; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-v1270 ::= SEQUENCE struct band_combination_params_v1270_s { using band_param_list_v1270_l_ = dyn_array; // member variables bool band_param_list_v1270_present = false; band_param_list_v1270_l_ band_param_list_v1270; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-BeamformedCapabilities-r13 ::= SEQUENCE struct mimo_bf_cap_r13_s { bool n_max_list_r13_present = false; uint8_t k_max_r13 = 1; bounded_bitstring<1, 7> n_max_list_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-BeamformedCapabilityList-r13 ::= SEQUENCE (SIZE (1..4)) OF MIMO-BeamformedCapabilities-r13 using mimo_bf_cap_list_r13_l = dyn_array; // MIMO-NonPrecodedCapabilities-r13 ::= SEQUENCE struct mimo_non_precoded_cap_r13_s { bool cfg1_r13_present = false; bool cfg2_r13_present = false; bool cfg3_r13_present = false; bool cfg4_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-CA-ParametersPerBoBCPerTM-r13 ::= SEQUENCE struct mimo_ca_params_per_bo_bc_per_tm_r13_s { bool non_precoded_r13_present = false; bool bf_r13_present = false; bool dmrs_enhance_r13_present = false; mimo_non_precoded_cap_r13_s non_precoded_r13; mimo_bf_cap_list_r13_l bf_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-CA-ParametersPerBoBC-r13 ::= SEQUENCE struct mimo_ca_params_per_bo_bc_r13_s { bool params_tm9_r13_present = false; bool params_tm10_r13_present = false; mimo_ca_params_per_bo_bc_per_tm_r13_s params_tm9_r13; mimo_ca_params_per_bo_bc_per_tm_r13_s params_tm10_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParameters-v1320 ::= SEQUENCE struct band_params_v1320_s { mimo_ca_params_per_bo_bc_r13_s band_params_dl_v1320; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-v1320 ::= SEQUENCE struct band_combination_params_v1320_s { using band_param_list_v1320_l_ = dyn_array; // member variables bool band_param_list_v1320_present = false; bool add_rx_tx_performance_req_r13_present = false; band_param_list_v1320_l_ band_param_list_v1320; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParameters-v1380 ::= SEQUENCE struct band_params_v1380_s { bool tx_ant_switch_dl_r13_present = false; bool tx_ant_switch_ul_r13_present = false; uint8_t tx_ant_switch_dl_r13 = 1; uint8_t tx_ant_switch_ul_r13 = 1; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-v1380 ::= SEQUENCE struct band_combination_params_v1380_s { using band_param_list_v1380_l_ = dyn_array; // member variables bool band_param_list_v1380_present = false; band_param_list_v1380_l_ band_param_list_v1380; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-CA-ParametersPerBoBCPerTM-v1430 ::= SEQUENCE struct mimo_ca_params_per_bo_bc_per_tm_v1430_s { bool csi_report_np_r14_present = false; bool csi_report_advanced_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-CA-ParametersPerBoBC-v1430 ::= SEQUENCE struct mimo_ca_params_per_bo_bc_v1430_s { bool params_tm9_v1430_present = false; bool params_tm10_v1430_present = false; mimo_ca_params_per_bo_bc_per_tm_v1430_s params_tm9_v1430; mimo_ca_params_per_bo_bc_per_tm_v1430_s params_tm10_v1430; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SRS-CapabilityPerBandPair-r14 ::= SEQUENCE struct srs_cap_per_band_pair_r14_s { struct retuning_info_s_ { struct rf_retuning_time_dl_r14_opts { enum options { n0, n0dot5, n1, n1dot5, n2, n2dot5, n3, n3dot5, n4, n4dot5, n5, n5dot5, n6, n6dot5, n7, spare1, nulltype } value; typedef float number_type; const char* to_string() const; float to_number() const; const char* to_number_string() const; }; typedef enumerated rf_retuning_time_dl_r14_e_; struct rf_retuning_time_ul_r14_opts { enum options { n0, n0dot5, n1, n1dot5, n2, n2dot5, n3, n3dot5, n4, n4dot5, n5, n5dot5, n6, n6dot5, n7, spare1, nulltype } value; typedef float number_type; const char* to_string() const; float to_number() const; const char* to_number_string() const; }; typedef enumerated rf_retuning_time_ul_r14_e_; // member variables bool rf_retuning_time_dl_r14_present = false; bool rf_retuning_time_ul_r14_present = false; rf_retuning_time_dl_r14_e_ rf_retuning_time_dl_r14; rf_retuning_time_ul_r14_e_ rf_retuning_time_ul_r14; }; // member variables retuning_info_s_ retuning_info; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UL-256QAM-perCC-Info-r14 ::= SEQUENCE struct ul_minus256_qam_per_cc_info_r14_s { bool ul_minus256_qam_per_cc_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParameters-v1430 ::= SEQUENCE struct band_params_v1430_s { using ul_minus256_qam_per_cc_info_list_r14_l_ = dyn_array; using srs_cap_per_band_pair_list_r14_l_ = dyn_array; // member variables bool band_params_dl_v1430_present = false; bool ul_minus256_qam_r14_present = false; bool ul_minus256_qam_per_cc_info_list_r14_present = false; bool srs_cap_per_band_pair_list_r14_present = false; mimo_ca_params_per_bo_bc_v1430_s band_params_dl_v1430; ul_minus256_qam_per_cc_info_list_r14_l_ ul_minus256_qam_per_cc_info_list_r14; srs_cap_per_band_pair_list_r14_l_ srs_cap_per_band_pair_list_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-v1430 ::= SEQUENCE struct band_combination_params_v1430_s { using band_param_list_v1430_l_ = dyn_array; // member variables bool band_param_list_v1430_present = false; bool v2x_supported_tx_band_comb_list_per_bc_r14_present = false; bool v2x_supported_rx_band_comb_list_per_bc_r14_present = false; band_param_list_v1430_l_ band_param_list_v1430; bounded_bitstring<1, 384> v2x_supported_tx_band_comb_list_per_bc_r14; bounded_bitstring<1, 384> v2x_supported_rx_band_comb_list_per_bc_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MUST-Parameters-r14 ::= SEQUENCE struct must_params_r14_s { bool must_tm234_up_to2_tx_r14_present = false; bool must_tm89_up_to_one_interfering_layer_r14_present = false; bool must_tm10_up_to_one_interfering_layer_r14_present = false; bool must_tm89_up_to_three_interfering_layers_r14_present = false; bool must_tm10_up_to_three_interfering_layers_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParameters-v1450 ::= SEQUENCE struct band_params_v1450_s { bool must_cap_per_band_r14_present = false; must_params_r14_s must_cap_per_band_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-v1450 ::= SEQUENCE struct band_combination_params_v1450_s { using band_param_list_v1450_l_ = dyn_array; // member variables bool band_param_list_v1450_present = false; band_param_list_v1450_l_ band_param_list_v1450; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-CA-ParametersPerBoBCPerTM-v1470 ::= SEQUENCE struct mimo_ca_params_per_bo_bc_per_tm_v1470_s { struct csi_report_advanced_max_ports_r14_opts { enum options { n8, n12, n16, n20, n24, n28, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated csi_report_advanced_max_ports_r14_e_; // member variables bool csi_report_advanced_max_ports_r14_present = false; csi_report_advanced_max_ports_r14_e_ csi_report_advanced_max_ports_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-CA-ParametersPerBoBC-v1470 ::= SEQUENCE struct mimo_ca_params_per_bo_bc_v1470_s { mimo_ca_params_per_bo_bc_per_tm_v1470_s params_tm9_v1470; mimo_ca_params_per_bo_bc_per_tm_v1470_s params_tm10_v1470; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParameters-v1470 ::= SEQUENCE struct band_params_v1470_s { bool band_params_dl_v1470_present = false; mimo_ca_params_per_bo_bc_v1470_s band_params_dl_v1470; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-v1470 ::= SEQUENCE struct band_combination_params_v1470_s { using band_param_list_v1470_l_ = dyn_array; // member variables bool band_param_list_v1470_present = false; bool srs_max_simul_ccs_r14_present = false; band_param_list_v1470_l_ band_param_list_v1470; uint8_t srs_max_simul_ccs_r14 = 1; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SRS-CapabilityPerBandPair-v14b0 ::= SEQUENCE struct srs_cap_per_band_pair_v14b0_s { bool srs_flex_timing_r14_present = false; bool srs_harq_ref_cfg_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParameters-v14b0 ::= SEQUENCE struct band_params_v14b0_s { using srs_cap_per_band_pair_list_v14b0_l_ = dyn_array; // member variables bool srs_cap_per_band_pair_list_v14b0_present = false; srs_cap_per_band_pair_list_v14b0_l_ srs_cap_per_band_pair_list_v14b0; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-v14b0 ::= SEQUENCE struct band_combination_params_v14b0_s { using band_param_list_v14b0_l_ = dyn_array; // member variables bool band_param_list_v14b0_present = false; band_param_list_v14b0_l_ band_param_list_v14b0; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // DL-UL-CCs-r15 ::= SEQUENCE struct dl_ul_ccs_r15_s { bool max_num_dl_ccs_r15_present = false; bool max_num_ul_ccs_r15_present = false; uint8_t max_num_dl_ccs_r15 = 1; uint8_t max_num_ul_ccs_r15 = 1; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CA-MIMO-ParametersDL-r15 ::= SEQUENCE struct ca_mimo_params_dl_r15_s { using intra_band_contiguous_cc_info_list_r15_l_ = dyn_array; // member variables bool supported_mimo_cap_dl_r15_present = false; bool four_layer_tm3_tm4_r15_present = false; bool intra_band_contiguous_cc_info_list_r15_present = false; mimo_cap_dl_r10_e supported_mimo_cap_dl_r15; intra_band_contiguous_cc_info_list_r15_l_ intra_band_contiguous_cc_info_list_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CA-MIMO-ParametersUL-r15 ::= SEQUENCE struct ca_mimo_params_ul_r15_s { bool supported_mimo_cap_ul_r15_present = false; mimo_cap_ul_r10_e supported_mimo_cap_ul_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // STTI-SupportedCombinations-r15 ::= SEQUENCE struct stti_supported_combinations_r15_s { using combination_minus22_minus27_r15_l_ = dyn_array; using combination_minus77_minus22_r15_l_ = dyn_array; using combination_minus77_minus27_r15_l_ = dyn_array; // member variables bool combination_minus22_r15_present = false; bool combination_minus77_r15_present = false; bool combination_minus27_r15_present = false; bool combination_minus22_minus27_r15_present = false; bool combination_minus77_minus22_r15_present = false; bool combination_minus77_minus27_r15_present = false; dl_ul_ccs_r15_s combination_minus22_r15; dl_ul_ccs_r15_s combination_minus77_r15; dl_ul_ccs_r15_s combination_minus27_r15; combination_minus22_minus27_r15_l_ combination_minus22_minus27_r15; combination_minus77_minus22_r15_l_ combination_minus77_minus22_r15; combination_minus77_minus27_r15_l_ combination_minus77_minus27_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // STTI-SPT-BandParameters-r15 ::= SEQUENCE struct stti_spt_band_params_r15_s { struct stti_supported_csi_proc_r15_opts { enum options { n1, n3, n4, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated stti_supported_csi_proc_r15_e_; // member variables bool ext = false; bool dl_minus1024_qam_slot_r15_present = false; bool dl_minus1024_qam_subslot_ta_minus1_r15_present = false; bool dl_minus1024_qam_subslot_ta_minus2_r15_present = false; bool simul_tx_different_tx_dur_r15_present = false; bool stti_ca_mimo_params_dl_r15_present = false; bool stti_fd_mimo_coexistence_present = false; bool stti_mimo_ca_params_per_bo_bcs_r15_present = false; bool stti_mimo_ca_params_per_bo_bcs_v1530_present = false; bool stti_supported_combinations_r15_present = false; bool stti_supported_csi_proc_r15_present = false; bool ul_minus256_qam_slot_r15_present = false; bool ul_minus256_qam_subslot_r15_present = false; ca_mimo_params_dl_r15_s stti_ca_mimo_params_dl_r15; ca_mimo_params_ul_r15_s stti_ca_mimo_params_ul_r15; mimo_ca_params_per_bo_bc_r13_s stti_mimo_ca_params_per_bo_bcs_r15; mimo_ca_params_per_bo_bc_v1430_s stti_mimo_ca_params_per_bo_bcs_v1530; stti_supported_combinations_r15_s stti_supported_combinations_r15; stti_supported_csi_proc_r15_e_ stti_supported_csi_proc_r15; // ... // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParameters-v1530 ::= SEQUENCE struct band_params_v1530_s { bool ue_tx_ant_sel_srs_minus1_t4_r_r15_present = false; bool ue_tx_ant_sel_srs_minus2_t4_r_minus2_pairs_r15_present = false; bool ue_tx_ant_sel_srs_minus2_t4_r_minus3_pairs_r15_present = false; bool dl_minus1024_qam_r15_present = false; bool qcl_type_c_operation_r15_present = false; bool qcl_cri_based_csi_report_r15_present = false; bool stti_spt_band_params_r15_present = false; stti_spt_band_params_r15_s stti_spt_band_params_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SPT-Parameters-r15 ::= SEQUENCE struct spt_params_r15_s { bool frame_structure_type_spt_r15_present = false; bool max_num_ccs_spt_r15_present = false; fixed_bitstring<3> frame_structure_type_spt_r15; uint8_t max_num_ccs_spt_r15 = 1; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-v1530 ::= SEQUENCE struct band_combination_params_v1530_s { using band_param_list_v1530_l_ = dyn_array; // member variables bool band_param_list_v1530_present = false; bool spt_params_r15_present = false; band_param_list_v1530_l_ band_param_list_v1530; spt_params_r15_s spt_params_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // InterRAT-BandInfoNR-r16 ::= SEQUENCE struct inter_rat_band_info_nr_r16_s { bool inter_rat_need_for_gaps_nr_r16 = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // InterRAT-BandListNR-r16 ::= SEQUENCE (SIZE (1..1024)) OF InterRAT-BandInfoNR-r16 using inter_rat_band_list_nr_r16_l = dyn_array; // SRS-CapabilityPerBandPair-v1610 ::= SEQUENCE struct srs_cap_per_band_pair_v1610_s { bool add_srs_carrier_switching_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParameters-v1610 ::= SEQUENCE struct band_params_v1610_s { struct intra_freq_daps_r16_s_ { bool intra_freq_async_daps_r16_present = false; bool dummy_present = false; bool intra_freq_two_tags_daps_r16_present = false; }; struct add_srs_ant_switching_r16_s_ { bool add_srs_minus1_t2_r_r16_present = false; bool add_srs_minus1_t4_r_r16_present = false; bool add_srs_minus2_t4_r_minus2pairs_r16_present = false; bool add_srs_minus2_t4_r_minus3pairs_r16_present = false; }; using srs_cap_per_band_pair_list_v1610_l_ = dyn_array; // member variables bool intra_freq_daps_r16_present = false; bool add_srs_freq_hop_r16_present = false; bool add_srs_ant_switching_r16_present = false; bool srs_cap_per_band_pair_list_v1610_present = false; intra_freq_daps_r16_s_ intra_freq_daps_r16; add_srs_ant_switching_r16_s_ add_srs_ant_switching_r16; srs_cap_per_band_pair_list_v1610_l_ srs_cap_per_band_pair_list_v1610; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MeasGapInfoNR-r16 ::= SEQUENCE struct meas_gap_info_nr_r16_s { bool inter_rat_band_list_nr_en_dc_r16_present = false; bool inter_rat_band_list_nr_sa_r16_present = false; inter_rat_band_list_nr_r16_l inter_rat_band_list_nr_en_dc_r16; inter_rat_band_list_nr_r16_l inter_rat_band_list_nr_sa_r16; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-v1610 ::= SEQUENCE struct band_combination_params_v1610_s { using band_param_list_v1610_l_ = dyn_array; struct inter_freq_daps_r16_s_ { bool inter_freq_async_daps_r16_present = false; bool inter_freq_multi_ul_tx_daps_r16_present = false; }; // member variables bool meas_gap_info_nr_r16_present = false; bool band_param_list_v1610_present = false; bool inter_freq_daps_r16_present = false; meas_gap_info_nr_r16_s meas_gap_info_nr_r16; band_param_list_v1610_l_ band_param_list_v1610; inter_freq_daps_r16_s_ inter_freq_daps_r16; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // ScalingFactorSidelink-r16 ::= ENUMERATED struct scaling_factor_sidelink_r16_opts { enum options { f0p4, f0p75, f0p8, f1, nulltype } value; const char* to_string() const; }; typedef enumerated scaling_factor_sidelink_r16_e; // BandCombinationParameters-v1630 ::= SEQUENCE struct band_combination_params_v1630_s { using scaling_factor_tx_sidelink_r16_l_ = dyn_array; using scaling_factor_rx_sidelink_r16_l_ = dyn_array; // member variables bool v2x_supported_tx_band_comb_list_per_bc_v1630_present = false; bool v2x_supported_rx_band_comb_list_per_bc_v1630_present = false; bool scaling_factor_tx_sidelink_r16_present = false; bool scaling_factor_rx_sidelink_r16_present = false; bool inter_band_pwr_sharing_sync_daps_r16_present = false; bool inter_band_pwr_sharing_async_daps_r16_present = false; bounded_bitstring<1, 512> v2x_supported_tx_band_comb_list_per_bc_v1630; bounded_bitstring<1, 512> v2x_supported_rx_band_comb_list_per_bc_v1630; scaling_factor_tx_sidelink_r16_l_ scaling_factor_tx_sidelink_r16; scaling_factor_rx_sidelink_r16_l_ scaling_factor_rx_sidelink_r16; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParametersExt-r10 ::= SEQUENCE struct band_combination_params_ext_r10_s { bool supported_bw_combination_set_r10_present = false; bounded_bitstring<1, 32> supported_bw_combination_set_r10; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandListEUTRA ::= SEQUENCE (SIZE (1..64)) OF BandInfoEUTRA using band_list_eutra_l = dyn_array; // V2X-BandwidthClass-r14 ::= ENUMERATED struct v2x_bw_class_r14_opts { enum options { a, b, c, d, e, f, /*...*/ c1_v1530, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated v2x_bw_class_r14_e; // V2X-BandwidthClassSL-r14 ::= SEQUENCE (SIZE (1..16)) OF V2X-BandwidthClass-r14 using v2x_bw_class_sl_r14_l = bounded_array; // BandParametersRxSL-r14 ::= SEQUENCE struct band_params_rx_sl_r14_s { bool v2x_high_reception_r14_present = false; v2x_bw_class_sl_r14_l v2x_bw_class_rx_sl_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandParametersTxSL-r14 ::= SEQUENCE struct band_params_tx_sl_r14_s { bool v2x_enb_sched_r14_present = false; bool v2x_high_pwr_r14_present = false; v2x_bw_class_sl_r14_l v2x_bw_class_tx_sl_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // FeatureSetDL-PerCC-r15 ::= SEQUENCE struct feature_set_dl_per_cc_r15_s { struct supported_csi_proc_r15_opts { enum options { n1, n3, n4, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated supported_csi_proc_r15_e_; // member variables bool four_layer_tm3_tm4_r15_present = false; bool supported_mimo_cap_dl_mrdc_r15_present = false; bool supported_csi_proc_r15_present = false; mimo_cap_dl_r10_e supported_mimo_cap_dl_mrdc_r15; supported_csi_proc_r15_e_ supported_csi_proc_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-CA-ParametersPerBoBCPerTM-r15 ::= SEQUENCE struct mimo_ca_params_per_bo_bc_per_tm_r15_s { bool non_precoded_r13_present = false; bool bf_r13_present = false; bool dmrs_enhance_r13_present = false; bool csi_report_np_r14_present = false; bool csi_report_advanced_r14_present = false; mimo_non_precoded_cap_r13_s non_precoded_r13; mimo_bf_cap_list_r13_l bf_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-CA-ParametersPerBoBC-r15 ::= SEQUENCE struct mimo_ca_params_per_bo_bc_r15_s { bool params_tm9_r15_present = false; bool params_tm10_r15_present = false; mimo_ca_params_per_bo_bc_per_tm_r15_s params_tm9_r15; mimo_ca_params_per_bo_bc_per_tm_r15_s params_tm10_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // FeatureSetDL-r15 ::= SEQUENCE struct feature_set_dl_r15_s { using feature_set_per_cc_list_dl_r15_l_ = bounded_array; // member variables bool mimo_ca_params_per_bo_bc_r15_present = false; mimo_ca_params_per_bo_bc_r15_s mimo_ca_params_per_bo_bc_r15; feature_set_per_cc_list_dl_r15_l_ feature_set_per_cc_list_dl_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // FeatureSetUL-PerCC-r15 ::= SEQUENCE struct feature_set_ul_per_cc_r15_s { bool supported_mimo_cap_ul_r15_present = false; bool ul_minus256_qam_r15_present = false; mimo_cap_ul_r10_e supported_mimo_cap_ul_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // FeatureSetUL-r15 ::= SEQUENCE struct feature_set_ul_r15_s { using feature_set_per_cc_list_ul_r15_l_ = bounded_array; // member variables feature_set_per_cc_list_ul_r15_l_ feature_set_per_cc_list_ul_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // FeatureSetDL-v1550 ::= SEQUENCE struct feature_set_dl_v1550_s { bool dl_minus1024_qam_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // FeatureSetsEUTRA-r15 ::= SEQUENCE struct feature_sets_eutra_r15_s { using feature_sets_dl_r15_l_ = dyn_array; using feature_sets_dl_per_cc_r15_l_ = dyn_array; using feature_sets_ul_r15_l_ = dyn_array; using feature_sets_ul_per_cc_r15_l_ = dyn_array; using feature_sets_dl_v1550_l_ = dyn_array; // member variables bool ext = false; bool feature_sets_dl_r15_present = false; bool feature_sets_dl_per_cc_r15_present = false; bool feature_sets_ul_r15_present = false; bool feature_sets_ul_per_cc_r15_present = false; feature_sets_dl_r15_l_ feature_sets_dl_r15; feature_sets_dl_per_cc_r15_l_ feature_sets_dl_per_cc_r15; feature_sets_ul_r15_l_ feature_sets_ul_r15; feature_sets_ul_per_cc_r15_l_ feature_sets_ul_per_cc_r15; // ... // group 0 copy_ptr feature_sets_dl_v1550; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // FreqBandIndicatorListEUTRA-r12 ::= SEQUENCE (SIZE (1..64)) OF INTEGER (1..256) using freq_band_ind_list_eutra_r12_l = dyn_array; // SupportedBandList1XRTT ::= SEQUENCE (SIZE (1..32)) OF BandclassCDMA2000 using supported_band_list1_xrtt_l = bounded_array; // IRAT-ParametersCDMA2000-1XRTT ::= SEQUENCE struct irat_params_cdma2000_minus1_xrtt_s { struct tx_cfg1_xrtt_opts { enum options { single, dual, nulltype } value; const char* to_string() const; }; typedef enumerated tx_cfg1_xrtt_e_; struct rx_cfg1_xrtt_opts { enum options { single, dual, nulltype } value; const char* to_string() const; }; typedef enumerated rx_cfg1_xrtt_e_; // member variables supported_band_list1_xrtt_l supported_band_list1_xrtt; tx_cfg1_xrtt_e_ tx_cfg1_xrtt; rx_cfg1_xrtt_e_ rx_cfg1_xrtt; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandListHRPD ::= SEQUENCE (SIZE (1..32)) OF BandclassCDMA2000 using supported_band_list_hrpd_l = bounded_array; // IRAT-ParametersCDMA2000-HRPD ::= SEQUENCE struct irat_params_cdma2000_hrpd_s { struct tx_cfg_hrpd_opts { enum options { single, dual, nulltype } value; const char* to_string() const; }; typedef enumerated tx_cfg_hrpd_e_; struct rx_cfg_hrpd_opts { enum options { single, dual, nulltype } value; const char* to_string() const; }; typedef enumerated rx_cfg_hrpd_e_; // member variables supported_band_list_hrpd_l supported_band_list_hrpd; tx_cfg_hrpd_e_ tx_cfg_hrpd; rx_cfg_hrpd_e_ rx_cfg_hrpd; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandGERAN ::= ENUMERATED struct supported_band_geran_opts { enum options { gsm450, gsm480, gsm710, gsm750, gsm810, gsm850, gsm900_p, gsm900_e, gsm900_r, gsm1800, gsm1900, spare5, spare4, spare3, spare2, spare1, // ... nulltype } value; const char* to_string() const; }; typedef enumerated supported_band_geran_e; // SupportedBandListGERAN ::= SEQUENCE (SIZE (1..64)) OF SupportedBandGERAN using supported_band_list_geran_l = dyn_array; // IRAT-ParametersGERAN ::= SEQUENCE struct irat_params_geran_s { supported_band_list_geran_l supported_band_list_geran; bool inter_rat_ps_ho_to_geran = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandNR-r15 ::= SEQUENCE struct supported_band_nr_r15_s { uint16_t band_nr_r15 = 1; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandListNR-r15 ::= SEQUENCE (SIZE (1..1024)) OF SupportedBandNR-r15 using supported_band_list_nr_r15_l = dyn_array; // IRAT-ParametersNR-r15 ::= SEQUENCE struct irat_params_nr_r15_s { bool en_dc_r15_present = false; bool event_b2_r15_present = false; bool supported_band_list_en_dc_r15_present = false; supported_band_list_nr_r15_l supported_band_list_en_dc_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersNR-v1540 ::= SEQUENCE struct irat_params_nr_v1540_s { bool eutra_minus5_gc_ho_to_nr_fdd_fr1_r15_present = false; bool eutra_minus5_gc_ho_to_nr_tdd_fr1_r15_present = false; bool eutra_minus5_gc_ho_to_nr_fdd_fr2_r15_present = false; bool eutra_minus5_gc_ho_to_nr_tdd_fr2_r15_present = false; bool eutra_epc_ho_to_nr_fdd_fr1_r15_present = false; bool eutra_epc_ho_to_nr_tdd_fr1_r15_present = false; bool eutra_epc_ho_to_nr_fdd_fr2_r15_present = false; bool eutra_epc_ho_to_nr_tdd_fr2_r15_present = false; bool ims_voice_over_nr_fr1_r15_present = false; bool ims_voice_over_nr_fr2_r15_present = false; bool sa_nr_r15_present = false; bool supported_band_list_nr_sa_r15_present = false; supported_band_list_nr_r15_l supported_band_list_nr_sa_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandUTRA-FDD ::= ENUMERATED struct supported_band_utra_fdd_opts { enum options { band_i, band_ii, band_iii, band_iv, band_v, band_vi, band_vii, band_viii, band_ix, band_x, band_xi, band_xii, band_xiii, band_xiv, band_xv, band_xvi, // ... band_xvii_minus8a0, band_xviii_minus8a0, band_xix_minus8a0, band_xx_minus8a0, band_xxi_minus8a0, band_xxii_minus8a0, band_xxiii_minus8a0, band_xxiv_minus8a0, band_xxv_minus8a0, band_xxvi_minus8a0, band_xxvii_minus8a0, band_xxviii_minus8a0, band_xxix_minus8a0, band_xxx_minus8a0, band_xxxi_minus8a0, band_xxxii_minus8a0, nulltype } value; const char* to_string() const; }; typedef enumerated supported_band_utra_fdd_e; // SupportedBandListUTRA-FDD ::= SEQUENCE (SIZE (1..64)) OF SupportedBandUTRA-FDD using supported_band_list_utra_fdd_l = dyn_array; // IRAT-ParametersUTRA-FDD ::= SEQUENCE struct irat_params_utra_fdd_s { supported_band_list_utra_fdd_l supported_band_list_utra_fdd; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandUTRA-TDD128 ::= ENUMERATED struct supported_band_utra_tdd128_opts { enum options { a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, /*...*/ nulltype } value; const char* to_string() const; }; typedef enumerated supported_band_utra_tdd128_e; // SupportedBandListUTRA-TDD128 ::= SEQUENCE (SIZE (1..64)) OF SupportedBandUTRA-TDD128 using supported_band_list_utra_tdd128_l = dyn_array; // IRAT-ParametersUTRA-TDD128 ::= SEQUENCE struct irat_params_utra_tdd128_s { supported_band_list_utra_tdd128_l supported_band_list_utra_tdd128; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandUTRA-TDD384 ::= ENUMERATED struct supported_band_utra_tdd384_opts { enum options { a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, /*...*/ nulltype } value; const char* to_string() const; }; typedef enumerated supported_band_utra_tdd384_e; // SupportedBandListUTRA-TDD384 ::= SEQUENCE (SIZE (1..64)) OF SupportedBandUTRA-TDD384 using supported_band_list_utra_tdd384_l = dyn_array; // IRAT-ParametersUTRA-TDD384 ::= SEQUENCE struct irat_params_utra_tdd384_s { supported_band_list_utra_tdd384_l supported_band_list_utra_tdd384; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandUTRA-TDD768 ::= ENUMERATED struct supported_band_utra_tdd768_opts { enum options { a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, /*...*/ nulltype } value; const char* to_string() const; }; typedef enumerated supported_band_utra_tdd768_e; // SupportedBandListUTRA-TDD768 ::= SEQUENCE (SIZE (1..64)) OF SupportedBandUTRA-TDD768 using supported_band_list_utra_tdd768_l = dyn_array; // IRAT-ParametersUTRA-TDD768 ::= SEQUENCE struct irat_params_utra_tdd768_s { supported_band_list_utra_tdd768_l supported_band_list_utra_tdd768; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersWLAN-r13 ::= SEQUENCE struct irat_params_wlan_r13_s { using supported_band_list_wlan_r13_l_ = bounded_array; // member variables bool supported_band_list_wlan_r13_present = false; supported_band_list_wlan_r13_l_ supported_band_list_wlan_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // ProcessingTimelineSet-r15 ::= ENUMERATED struct processing_timeline_set_r15_opts { enum options { set1, set2, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated processing_timeline_set_r15_e; // SkipSubframeProcessing-r15 ::= SEQUENCE struct skip_sf_processing_r15_s { bool skip_processing_dl_slot_r15_present = false; bool skip_processing_dl_sub_slot_r15_present = false; bool skip_processing_ul_slot_r15_present = false; bool skip_processing_ul_sub_slot_r15_present = false; uint8_t skip_processing_dl_slot_r15 = 0; uint8_t skip_processing_dl_sub_slot_r15 = 0; uint8_t skip_processing_ul_slot_r15 = 0; uint8_t skip_processing_ul_sub_slot_r15 = 0; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MAC-Parameters-v1530 ::= SEQUENCE struct mac_params_v1530_s { using min_proc_timeline_subslot_r15_l_ = bounded_array; // member variables bool min_proc_timeline_subslot_r15_present = false; bool skip_sf_processing_r15_present = false; bool early_data_up_r15_present = false; bool dormant_scell_state_r15_present = false; bool direct_scell_activation_r15_present = false; bool direct_scell_hibernation_r15_present = false; bool extended_lcid_dupl_r15_present = false; bool sps_serving_cell_r15_present = false; min_proc_timeline_subslot_r15_l_ min_proc_timeline_subslot_r15; skip_sf_processing_r15_s skip_sf_processing_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MBMS-SupportedBandInfo-r16 ::= SEQUENCE struct mbms_supported_band_info_r16_s { struct subcarrier_spacing_mbms_khz0dot37_r16_s_ { bool time_separation_slot2_r16_present = false; bool time_separation_slot4_r16_present = false; }; // member variables bool subcarrier_spacing_mbms_khz2dot5_r16_present = false; bool subcarrier_spacing_mbms_khz0dot37_r16_present = false; subcarrier_spacing_mbms_khz0dot37_r16_s_ subcarrier_spacing_mbms_khz0dot37_r16; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MBMS-Parameters-v1610 ::= SEQUENCE struct mbms_params_v1610_s { struct mbms_scaling_factor2dot5_r16_opts { enum options { n2, n4, n6, n8, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated mbms_scaling_factor2dot5_r16_e_; struct mbms_scaling_factor0dot37_r16_opts { enum options { n12, n16, n20, n24, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated mbms_scaling_factor0dot37_r16_e_; using mbms_supported_band_info_list_r16_l_ = dyn_array; // member variables bool mbms_scaling_factor2dot5_r16_present = false; bool mbms_scaling_factor0dot37_r16_present = false; mbms_scaling_factor2dot5_r16_e_ mbms_scaling_factor2dot5_r16; mbms_scaling_factor0dot37_r16_e_ mbms_scaling_factor0dot37_r16; mbms_supported_band_info_list_r16_l_ mbms_supported_band_info_list_r16; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MBMS-SupportedBandInfo-v1700 ::= SEQUENCE struct mbms_supported_band_info_v1700_s { bool pmch_bw_n40_r17_present = false; bool pmch_bw_n35_r17_present = false; bool pmch_bw_n30_r17_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MBMS-Parameters-v1700 ::= SEQUENCE struct mbms_params_v1700_s { using mbms_supported_band_info_list_v1700_l_ = dyn_array; // member variables bool mbms_supported_band_info_list_v1700_present = false; mbms_supported_band_info_list_v1700_l_ mbms_supported_band_info_list_v1700; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-UE-BeamformedCapabilities-r13 ::= SEQUENCE struct mimo_ue_bf_cap_r13_s { bool alt_codebook_r13_present = false; mimo_bf_cap_list_r13_l mimo_bf_cap_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-UE-ParametersPerTM-r13 ::= SEQUENCE struct mimo_ue_params_per_tm_r13_s { bool non_precoded_r13_present = false; bool bf_r13_present = false; bool ch_meas_restrict_r13_present = false; bool dmrs_enhance_r13_present = false; bool csi_rs_enhance_tdd_r13_present = false; mimo_non_precoded_cap_r13_s non_precoded_r13; mimo_ue_bf_cap_r13_s bf_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-UE-Parameters-r13 ::= SEQUENCE struct mimo_ue_params_r13_s { bool params_tm9_r13_present = false; bool params_tm10_r13_present = false; bool srs_enhance_tdd_r13_present = false; bool srs_enhance_r13_present = false; bool interference_meas_restrict_r13_present = false; mimo_ue_params_per_tm_r13_s params_tm9_r13; mimo_ue_params_per_tm_r13_s params_tm10_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-UE-ParametersPerTM-v1430 ::= SEQUENCE struct mimo_ue_params_per_tm_v1430_s { struct nzp_csi_rs_aperiodic_info_r14_s_ { struct nmax_res_r14_opts { enum options { n1, n2, n4, n8, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated nmax_res_r14_e_; // member variables uint8_t nmax_proc_r14 = 5; nmax_res_r14_e_ nmax_res_r14; }; struct nzp_csi_rs_periodic_info_r14_s_ { struct nmax_res_r14_opts { enum options { n1, n2, n4, n8, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated nmax_res_r14_e_; // member variables nmax_res_r14_e_ nmax_res_r14; }; // member variables bool nzp_csi_rs_aperiodic_info_r14_present = false; bool nzp_csi_rs_periodic_info_r14_present = false; bool zp_csi_rs_aperiodic_info_r14_present = false; bool ul_dmrs_enhance_r14_present = false; bool density_reduction_np_r14_present = false; bool density_reduction_bf_r14_present = false; bool hybrid_csi_r14_present = false; bool semi_ol_r14_present = false; bool csi_report_np_r14_present = false; bool csi_report_advanced_r14_present = false; nzp_csi_rs_aperiodic_info_r14_s_ nzp_csi_rs_aperiodic_info_r14; nzp_csi_rs_periodic_info_r14_s_ nzp_csi_rs_periodic_info_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-UE-Parameters-v1430 ::= SEQUENCE struct mimo_ue_params_v1430_s { bool params_tm9_v1430_present = false; bool params_tm10_v1430_present = false; mimo_ue_params_per_tm_v1430_s params_tm9_v1430; mimo_ue_params_per_tm_v1430_s params_tm10_v1430; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-UE-ParametersPerTM-v1470 ::= SEQUENCE struct mimo_ue_params_per_tm_v1470_s { struct csi_report_advanced_max_ports_r14_opts { enum options { n8, n12, n16, n20, n24, n28, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated csi_report_advanced_max_ports_r14_e_; // member variables bool csi_report_advanced_max_ports_r14_present = false; csi_report_advanced_max_ports_r14_e_ csi_report_advanced_max_ports_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MIMO-UE-Parameters-v1470 ::= SEQUENCE struct mimo_ue_params_v1470_s { mimo_ue_params_per_tm_v1470_s params_tm9_v1470; mimo_ue_params_per_tm_v1470_s params_tm10_v1470; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MeasParameters ::= SEQUENCE struct meas_params_s { band_list_eutra_l band_list_eutra; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MeasParameters-v1020 ::= SEQUENCE struct meas_params_v1020_s { band_combination_list_eutra_r10_l band_combination_list_eutra_r10; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MeasParameters-v1610 ::= SEQUENCE struct meas_params_v1610_s { using band_info_nr_v1610_l_ = dyn_array; // member variables bool band_info_nr_v1610_present = false; bool alt_freq_prio_r16_present = false; bool ce_dl_ch_quality_report_r16_present = false; bool ce_meas_rss_ded_r16_present = false; bool eutra_idle_inactive_meass_r16_present = false; bool nr_idle_inactive_meas_fr1_r16_present = false; bool nr_idle_inactive_meas_fr2_r16_present = false; bool idle_inactive_validity_area_list_r16_present = false; bool meas_gap_patterns_nronly_r16_present = false; bool meas_gap_patterns_nronly_endc_r16_present = false; band_info_nr_v1610_l_ band_info_nr_v1610; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SharedSpectrumMeasNR-r17 ::= SEQUENCE struct shared_spec_meas_nr_r17_s { bool nr_rssi_ch_occupancy_report_r17 = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MeasParameters-v1700 ::= SEQUENCE struct meas_params_v1700_s { using shared_spec_meas_nr_en_dc_r17_l_ = dyn_array; using shared_spec_meas_nr_sa_r17_l_ = dyn_array; // member variables bool shared_spec_meas_nr_en_dc_r17_present = false; bool shared_spec_meas_nr_sa_r17_present = false; shared_spec_meas_nr_en_dc_r17_l_ shared_spec_meas_nr_en_dc_r17; shared_spec_meas_nr_sa_r17_l_ shared_spec_meas_nr_sa_r17; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // NAICS-Capability-Entry-r12 ::= SEQUENCE struct naics_cap_entry_r12_s { struct nof_aggregated_prb_r12_opts { enum options { n50, n75, n100, n125, n150, n175, n200, n225, n250, n275, n300, n350, n400, n450, n500, spare, nulltype } value; typedef uint16_t number_type; const char* to_string() const; uint16_t to_number() const; }; typedef enumerated nof_aggregated_prb_r12_e_; // member variables bool ext = false; uint8_t nof_naics_capable_cc_r12 = 1; nof_aggregated_prb_r12_e_ nof_aggregated_prb_r12; // ... // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // NAICS-Capability-List-r12 ::= SEQUENCE (SIZE (1..8)) OF NAICS-Capability-Entry-r12 using naics_cap_list_r12_l = dyn_array; // NonContiguousUL-RA-WithinCC-r10 ::= SEQUENCE struct non_contiguous_ul_ra_within_cc_r10_s { bool non_contiguous_ul_ra_within_cc_info_r10_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // NonContiguousUL-RA-WithinCC-List-r10 ::= SEQUENCE (SIZE (1..64)) OF NonContiguousUL-RA-WithinCC-r10 using non_contiguous_ul_ra_within_cc_list_r10_l = dyn_array; // ROHC-ProfileSupportList-r15 ::= SEQUENCE struct rohc_profile_support_list_r15_s { bool profile0x0001_r15 = false; bool profile0x0002_r15 = false; bool profile0x0003_r15 = false; bool profile0x0004_r15 = false; bool profile0x0006_r15 = false; bool profile0x0101_r15 = false; bool profile0x0102_r15 = false; bool profile0x0103_r15 = false; bool profile0x0104_r15 = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PDCP-Parameters ::= SEQUENCE struct pdcp_params_s { struct max_num_rohc_context_sessions_opts { enum options { cs2, cs4, cs8, cs12, cs16, cs24, cs32, cs48, cs64, cs128, cs256, cs512, cs1024, cs16384, spare2, spare1, nulltype } value; typedef uint16_t number_type; const char* to_string() const; uint16_t to_number() const; }; typedef enumerated max_num_rohc_context_sessions_e_; // member variables bool ext = false; bool max_num_rohc_context_sessions_present = false; rohc_profile_support_list_r15_s supported_rohc_profiles; max_num_rohc_context_sessions_e_ max_num_rohc_context_sessions; // ... // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedOperatorDic-r15 ::= SEQUENCE struct supported_operator_dic_r15_s { uint8_t version_of_dictionary_r15 = 0; plmn_id_s associated_plmn_id_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedUDC-r15 ::= SEQUENCE struct supported_udc_r15_s { bool supported_standard_dic_r15_present = false; bool supported_operator_dic_r15_present = false; supported_operator_dic_r15_s supported_operator_dic_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PDCP-Parameters-v1530 ::= SEQUENCE struct pdcp_params_v1530_s { bool supported_udc_r15_present = false; bool pdcp_dupl_r15_present = false; supported_udc_r15_s supported_udc_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PDCP-ParametersNR-r15 ::= SEQUENCE struct pdcp_params_nr_r15_s { struct rohc_context_max_sessions_r15_opts { enum options { cs2, cs4, cs8, cs12, cs16, cs24, cs32, cs48, cs64, cs128, cs256, cs512, cs1024, cs16384, spare2, spare1, nulltype } value; typedef uint16_t number_type; const char* to_string() const; uint16_t to_number() const; }; typedef enumerated rohc_context_max_sessions_r15_e_; struct rohc_profiles_ul_only_r15_s_ { bool profile0x0006_r15 = false; }; // member variables bool rohc_context_max_sessions_r15_present = false; bool rohc_context_continue_r15_present = false; bool out_of_order_delivery_r15_present = false; bool sn_size_lo_r15_present = false; bool ims_voice_over_nr_pdcp_mcg_bearer_r15_present = false; bool ims_voice_over_nr_pdcp_scg_bearer_r15_present = false; rohc_profile_support_list_r15_s rohc_profiles_r15; rohc_context_max_sessions_r15_e_ rohc_context_max_sessions_r15; rohc_profiles_ul_only_r15_s_ rohc_profiles_ul_only_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1020 ::= SEQUENCE struct phy_layer_params_v1020_s { bool two_ant_ports_for_pucch_r10_present = false; bool tm9_with_minus8_tx_fdd_r10_present = false; bool pmi_disabling_r10_present = false; bool cross_carrier_sched_r10_present = false; bool simul_pucch_pusch_r10_present = false; bool multi_cluster_pusch_within_cc_r10_present = false; bool non_contiguous_ul_ra_within_cc_list_r10_present = false; non_contiguous_ul_ra_within_cc_list_r10_l non_contiguous_ul_ra_within_cc_list_r10; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1250 ::= SEQUENCE struct phy_layer_params_v1250_s { bool e_harq_pattern_fdd_r12_present = false; bool enhanced_minus4_tx_codebook_r12_present = false; bool tdd_fdd_ca_pcell_duplex_r12_present = false; bool phy_tdd_re_cfg_tdd_pcell_r12_present = false; bool phy_tdd_re_cfg_fdd_pcell_r12_present = false; bool pusch_feedback_mode_r12_present = false; bool pusch_srs_pwr_ctrl_sf_set_r12_present = false; bool csi_sf_set_r12_present = false; bool no_res_restrict_for_tti_bundling_r12_present = false; bool discovery_signals_in_deact_scell_r12_present = false; bool naics_cap_list_r12_present = false; fixed_bitstring<2> tdd_fdd_ca_pcell_duplex_r12; naics_cap_list_r12_l naics_cap_list_r12; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1320 ::= SEQUENCE struct phy_layer_params_v1320_s { bool mimo_ue_params_r13_present = false; mimo_ue_params_r13_s mimo_ue_params_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1330 ::= SEQUENCE struct phy_layer_params_v1330_s { bool cch_interf_mitigation_ref_rec_type_a_r13_present = false; bool cch_interf_mitigation_ref_rec_type_b_r13_present = false; bool cch_interf_mitigation_max_num_ccs_r13_present = false; bool crs_interf_mitigation_tm1to_tm9_r13_present = false; uint8_t cch_interf_mitigation_max_num_ccs_r13 = 1; uint8_t crs_interf_mitigation_tm1to_tm9_r13 = 1; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // FeMBMS-Unicast-Parameters-r14 ::= SEQUENCE struct fe_mbms_unicast_params_r14_s { bool unicast_fembms_mixed_scell_r14_present = false; bool empty_unicast_region_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1430 ::= SEQUENCE struct phy_layer_params_v1430_s { struct ce_pdsch_pusch_max_bw_r14_opts { enum options { bw5, bw20, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated ce_pdsch_pusch_max_bw_r14_e_; struct ce_retuning_symbols_r14_opts { enum options { n0, n1, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated ce_retuning_symbols_r14_e_; // member variables bool ce_pusch_nb_max_tbs_r14_present = false; bool ce_pdsch_pusch_max_bw_r14_present = false; bool ce_harq_ack_bundling_r14_present = false; bool ce_pdsch_ten_processes_r14_present = false; bool ce_retuning_symbols_r14_present = false; bool ce_pdsch_pusch_enhancement_r14_present = false; bool ce_sched_enhancement_r14_present = false; bool ce_srs_enhancement_r14_present = false; bool ce_pucch_enhancement_r14_present = false; bool ce_closed_loop_tx_ant_sel_r14_present = false; bool tdd_special_sf_r14_present = false; bool tdd_tti_bundling_r14_present = false; bool dmrs_less_up_pts_r14_present = false; bool mimo_ue_params_v1430_present = false; bool alt_tbs_idx_r14_present = false; bool fe_mbms_unicast_params_r14_present = false; ce_pdsch_pusch_max_bw_r14_e_ ce_pdsch_pusch_max_bw_r14; ce_retuning_symbols_r14_e_ ce_retuning_symbols_r14; mimo_ue_params_v1430_s mimo_ue_params_v1430; fe_mbms_unicast_params_r14_s fe_mbms_unicast_params_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1470 ::= SEQUENCE struct phy_layer_params_v1470_s { bool mimo_ue_params_v1470_present = false; bool srs_up_pts_minus6sym_r14_present = false; mimo_ue_params_v1470_s mimo_ue_params_v1470; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1530 ::= SEQUENCE struct phy_layer_params_v1530_s { struct stti_spt_cap_r15_s_ { struct max_layers_slot_or_subslot_pusch_r15_opts { enum options { one_layer, two_layers, four_layers, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated max_layers_slot_or_subslot_pusch_r15_e_; struct sps_stti_r15_opts { enum options { slot, subslot, slot_and_subslot, nulltype } value; const char* to_string() const; }; typedef enumerated sps_stti_r15_e_; // member variables bool aperiodic_csi_report_stti_r15_present = false; bool dmrs_based_spdcch_mbsfn_r15_present = false; bool dmrs_based_spdcch_non_mbsfn_r15_present = false; bool dmrs_position_pattern_r15_present = false; bool dmrs_sharing_subslot_pdsch_r15_present = false; bool dmrs_repeat_subslot_pdsch_r15_present = false; bool epdcch_spt_different_cells_r15_present = false; bool epdcch_stti_different_cells_r15_present = false; bool max_layers_slot_or_subslot_pusch_r15_present = false; bool max_num_upd_csi_proc_spt_r15_present = false; bool max_num_upd_csi_proc_stti_comb77_r15_present = false; bool max_num_upd_csi_proc_stti_comb27_r15_present = false; bool max_num_upd_csi_proc_stti_comb22_set1_r15_present = false; bool max_num_upd_csi_proc_stti_comb22_set2_r15_present = false; bool mimo_ue_params_stti_r15_present = false; bool mimo_ue_params_stti_v1530_present = false; bool nof_blind_decodes_uss_r15_present = false; bool pdsch_slot_subslot_pdsch_decoding_r15_present = false; bool pwr_uci_slot_pusch_present = false; bool pwr_uci_subslot_pusch_present = false; bool slot_pdsch_tx_div_tm9and10_present = false; bool subslot_pdsch_tx_div_tm9and10_present = false; bool spdcch_different_rs_types_r15_present = false; bool srs_dci7_trigger_fs2_r15_present = false; bool sps_cyclic_shift_r15_present = false; bool spdcch_reuse_r15_present = false; bool sps_stti_r15_present = false; bool tm8_slot_pdsch_r15_present = false; bool tm9_slot_subslot_r15_present = false; bool tm9_slot_subslot_mbsfn_r15_present = false; bool tm10_slot_subslot_r15_present = false; bool tm10_slot_subslot_mbsfn_r15_present = false; bool tx_div_spucch_r15_present = false; bool ul_async_harq_sharing_diff_tti_lens_r15_present = false; max_layers_slot_or_subslot_pusch_r15_e_ max_layers_slot_or_subslot_pusch_r15; uint8_t max_num_upd_csi_proc_spt_r15 = 5; uint8_t max_num_upd_csi_proc_stti_comb77_r15 = 1; uint8_t max_num_upd_csi_proc_stti_comb27_r15 = 1; uint8_t max_num_upd_csi_proc_stti_comb22_set1_r15 = 1; uint8_t max_num_upd_csi_proc_stti_comb22_set2_r15 = 1; mimo_ue_params_r13_s mimo_ue_params_stti_r15; mimo_ue_params_v1430_s mimo_ue_params_stti_v1530; uint8_t nof_blind_decodes_uss_r15 = 4; sps_stti_r15_e_ sps_stti_r15; }; struct ce_cap_r15_s_ { bool ce_crs_intf_mitig_r15_present = false; bool ce_cqi_alt_table_r15_present = false; bool ce_pdsch_flex_start_prb_ce_mode_a_r15_present = false; bool ce_pdsch_flex_start_prb_ce_mode_b_r15_present = false; bool ce_pdsch_minus64_qam_r15_present = false; bool ce_pusch_flex_start_prb_ce_mode_a_r15_present = false; bool ce_pusch_flex_start_prb_ce_mode_b_r15_present = false; bool ce_pusch_sub_prb_alloc_r15_present = false; bool ce_ul_harq_ack_feedback_r15_present = false; }; struct urllc_cap_r15_s_ { bool pdsch_rep_sf_r15_present = false; bool pdsch_rep_slot_r15_present = false; bool pdsch_rep_subslot_r15_present = false; bool pusch_sps_multi_cfg_sf_r15_present = false; bool pusch_sps_max_cfg_sf_r15_present = false; bool pusch_sps_multi_cfg_slot_r15_present = false; bool pusch_sps_max_cfg_slot_r15_present = false; bool pusch_sps_multi_cfg_subslot_r15_present = false; bool pusch_sps_max_cfg_subslot_r15_present = false; bool pusch_sps_slot_rep_pcell_r15_present = false; bool pusch_sps_slot_rep_ps_cell_r15_present = false; bool pusch_sps_slot_rep_scell_r15_present = false; bool pusch_sps_sf_rep_pcell_r15_present = false; bool pusch_sps_sf_rep_ps_cell_r15_present = false; bool pusch_sps_sf_rep_scell_r15_present = false; bool pusch_sps_subslot_rep_pcell_r15_present = false; bool pusch_sps_subslot_rep_ps_cell_r15_present = false; bool pusch_sps_subslot_rep_scell_r15_present = false; bool semi_static_cfi_r15_present = false; bool semi_static_cfi_pattern_r15_present = false; uint8_t pusch_sps_multi_cfg_sf_r15 = 0; uint8_t pusch_sps_max_cfg_sf_r15 = 0; uint8_t pusch_sps_multi_cfg_slot_r15 = 0; uint8_t pusch_sps_max_cfg_slot_r15 = 0; uint8_t pusch_sps_multi_cfg_subslot_r15 = 0; uint8_t pusch_sps_max_cfg_subslot_r15 = 0; }; // member variables bool stti_spt_cap_r15_present = false; bool ce_cap_r15_present = false; bool short_cqi_for_scell_activation_r15_present = false; bool mimo_cbsr_advanced_csi_r15_present = false; bool crs_intf_mitig_r15_present = false; bool ul_pwr_ctrl_enhance_r15_present = false; bool urllc_cap_r15_present = false; bool alt_mcs_table_r15_present = false; stti_spt_cap_r15_s_ stti_spt_cap_r15; ce_cap_r15_s_ ce_cap_r15; urllc_cap_r15_s_ urllc_cap_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CE-MultiTB-Parameters-r16 ::= SEQUENCE struct ce_multi_tb_params_r16_s { bool pdsch_multi_tb_ce_mode_a_r16_present = false; bool pdsch_multi_tb_ce_mode_b_r16_present = false; bool pusch_multi_tb_ce_mode_a_r16_present = false; bool pusch_multi_tb_ce_mode_b_r16_present = false; bool ce_multi_tb_minus64_qam_r16_present = false; bool ce_multi_tb_early_termination_r16_present = false; bool ce_multi_tb_freq_hop_r16_present = false; bool ce_multi_tb_harq_ack_bundling_r16_present = false; bool ce_multi_tb_interleaving_r16_present = false; bool ce_multi_tb_sub_prb_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CE-ResourceResvParameters-r16 ::= SEQUENCE struct ce_res_resv_params_r16_s { bool sf_res_resv_dl_ce_mode_a_r16_present = false; bool sf_res_resv_dl_ce_mode_b_r16_present = false; bool sf_res_resv_ul_ce_mode_a_r16_present = false; bool sf_res_resv_ul_ce_mode_b_r16_present = false; bool slot_symbol_res_resv_dl_ce_mode_a_r16_present = false; bool slot_symbol_res_resv_dl_ce_mode_b_r16_present = false; bool slot_symbol_res_resv_ul_ce_mode_a_r16_present = false; bool slot_symbol_res_resv_ul_ce_mode_b_r16_present = false; bool subcarrier_puncturing_ce_mode_a_r16_present = false; bool subcarrier_puncturing_ce_mode_b_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1610 ::= SEQUENCE struct phy_layer_params_v1610_s { struct ce_cap_v1610_s_ { bool ce_csi_rs_feedback_r16_present = false; bool ce_csi_rs_feedback_codebook_restrict_r16_present = false; bool crs_ch_est_mpdcch_ce_mode_a_r16_present = false; bool crs_ch_est_mpdcch_ce_mode_b_r16_present = false; bool crs_ch_est_mpdcch_csi_r16_present = false; bool crs_ch_est_mpdcch_reciprocity_tdd_r16_present = false; bool etws_cmas_rx_in_conn_ce_mode_a_r16_present = false; bool etws_cmas_rx_in_conn_ce_mode_b_r16_present = false; bool mpdcch_in_lte_ctrl_region_ce_mode_a_r16_present = false; bool mpdcch_in_lte_ctrl_region_ce_mode_b_r16_present = false; bool pdsch_in_lte_ctrl_region_ce_mode_a_r16_present = false; bool pdsch_in_lte_ctrl_region_ce_mode_b_r16_present = false; bool multi_tb_params_r16_present = false; bool res_resv_params_r16_present = false; ce_multi_tb_params_r16_s multi_tb_params_r16; ce_res_resv_params_r16_s res_resv_params_r16; }; struct add_srs_r16_s_ { bool add_srs_freq_hop_r16_present = false; bool add_srs_ant_switching_r16_present = false; bool add_srs_carrier_switching_r16_present = false; }; // member variables bool ce_cap_v1610_present = false; bool wideband_prg_slot_r16_present = false; bool wideband_prg_subslot_r16_present = false; bool wideband_prg_sf_r16_present = false; bool add_srs_r16_present = false; bool virtual_cell_id_basic_srs_r16_present = false; bool virtual_cell_id_add_srs_r16_present = false; ce_cap_v1610_s_ ce_cap_v1610; add_srs_r16_s_ add_srs_r16; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandEUTRA ::= SEQUENCE struct supported_band_eutra_s { uint8_t band_eutra = 1; bool half_duplex = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandListEUTRA ::= SEQUENCE (SIZE (1..64)) OF SupportedBandEUTRA using supported_band_list_eutra_l = dyn_array; // RF-Parameters ::= SEQUENCE struct rf_params_s { supported_band_list_eutra_l supported_band_list_eutra; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-r10 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-r10 using supported_band_combination_r10_l = dyn_array; // RF-Parameters-v1020 ::= SEQUENCE struct rf_params_v1020_s { supported_band_combination_r10_l supported_band_combination_r10; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombinationExt-r10 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParametersExt-r10 using supported_band_combination_ext_r10_l = dyn_array; // RF-Parameters-v1060 ::= SEQUENCE struct rf_params_v1060_s { supported_band_combination_ext_r10_l supported_band_combination_ext_r10; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v1090 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v1090 using supported_band_combination_v1090_l = dyn_array; // RF-Parameters-v1090 ::= SEQUENCE struct rf_params_v1090_s { bool supported_band_combination_v1090_present = false; supported_band_combination_v1090_l supported_band_combination_v1090; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v10i0 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v10i0 using supported_band_combination_v10i0_l = dyn_array; // RF-Parameters-v10i0 ::= SEQUENCE struct rf_params_v10i0_s { bool supported_band_combination_v10i0_present = false; supported_band_combination_v10i0_l supported_band_combination_v10i0; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v1130 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v1130 using supported_band_combination_v1130_l = dyn_array; // RF-Parameters-v1130 ::= SEQUENCE struct rf_params_v1130_s { bool supported_band_combination_v1130_present = false; supported_band_combination_v1130_l supported_band_combination_v1130; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombinationAdd-r11 ::= SEQUENCE (SIZE (1..256)) OF BandCombinationParameters-r11 using supported_band_combination_add_r11_l = dyn_array; // RF-Parameters-v1180 ::= SEQUENCE struct rf_params_v1180_s { using requested_bands_r11_l_ = dyn_array; // member variables bool freq_band_retrieval_r11_present = false; bool requested_bands_r11_present = false; bool supported_band_combination_add_r11_present = false; requested_bands_r11_l_ requested_bands_r11; supported_band_combination_add_r11_l supported_band_combination_add_r11; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombinationAdd-v11d0 ::= SEQUENCE (SIZE (1..256)) OF BandCombinationParameters-v10i0 using supported_band_combination_add_v11d0_l = dyn_array; // RF-Parameters-v11d0 ::= SEQUENCE struct rf_params_v11d0_s { bool supported_band_combination_add_v11d0_present = false; supported_band_combination_add_v11d0_l supported_band_combination_add_v11d0; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandEUTRA-v1250 ::= SEQUENCE struct supported_band_eutra_v1250_s { bool dl_minus256_qam_r12_present = false; bool ul_minus64_qam_r12_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v1250 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v1250 using supported_band_combination_v1250_l = dyn_array; // SupportedBandCombinationAdd-v1250 ::= SEQUENCE (SIZE (1..256)) OF BandCombinationParameters-v1250 using supported_band_combination_add_v1250_l = dyn_array; // SupportedBandListEUTRA-v1250 ::= SEQUENCE (SIZE (1..64)) OF SupportedBandEUTRA-v1250 using supported_band_list_eutra_v1250_l = dyn_array; // RF-Parameters-v1250 ::= SEQUENCE struct rf_params_v1250_s { bool supported_band_list_eutra_v1250_present = false; bool supported_band_combination_v1250_present = false; bool supported_band_combination_add_v1250_present = false; bool freq_band_prio_adjustment_r12_present = false; supported_band_list_eutra_v1250_l supported_band_list_eutra_v1250; supported_band_combination_v1250_l supported_band_combination_v1250; supported_band_combination_add_v1250_l supported_band_combination_add_v1250; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v1270 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v1270 using supported_band_combination_v1270_l = dyn_array; // SupportedBandCombinationAdd-v1270 ::= SEQUENCE (SIZE (1..256)) OF BandCombinationParameters-v1270 using supported_band_combination_add_v1270_l = dyn_array; // RF-Parameters-v1270 ::= SEQUENCE struct rf_params_v1270_s { bool supported_band_combination_v1270_present = false; bool supported_band_combination_add_v1270_present = false; supported_band_combination_v1270_l supported_band_combination_v1270; supported_band_combination_add_v1270_l supported_band_combination_add_v1270; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandEUTRA-v1310 ::= SEQUENCE struct supported_band_eutra_v1310_s { bool ue_pwr_class_minus5_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombinationReduced-r13 ::= SEQUENCE (SIZE (1..384)) OF BandCombinationParameters-r13 using supported_band_combination_reduced_r13_l = dyn_array; // SupportedBandListEUTRA-v1310 ::= SEQUENCE (SIZE (1..64)) OF SupportedBandEUTRA-v1310 using supported_band_list_eutra_v1310_l = dyn_array; // RF-Parameters-v1310 ::= SEQUENCE struct rf_params_v1310_s { struct enb_requested_params_r13_s_ { bool reduced_int_non_cont_comb_requested_r13_present = false; bool requested_ccs_dl_r13_present = false; bool requested_ccs_ul_r13_present = false; bool skip_fallback_comb_requested_r13_present = false; uint8_t requested_ccs_dl_r13 = 2; uint8_t requested_ccs_ul_r13 = 2; }; // member variables bool enb_requested_params_r13_present = false; bool maximum_ccs_retrieval_r13_present = false; bool skip_fallback_combinations_r13_present = false; bool reduced_int_non_cont_comb_r13_present = false; bool supported_band_list_eutra_v1310_present = false; bool supported_band_combination_reduced_r13_present = false; enb_requested_params_r13_s_ enb_requested_params_r13; supported_band_list_eutra_v1310_l supported_band_list_eutra_v1310; supported_band_combination_reduced_r13_l supported_band_combination_reduced_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandEUTRA-v1320 ::= SEQUENCE struct supported_band_eutra_v1320_s { struct ue_pwr_class_n_r13_opts { enum options { class1, class2, class4, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated ue_pwr_class_n_r13_e_; // member variables bool intra_freq_ce_need_for_gaps_r13_present = false; bool ue_pwr_class_n_r13_present = false; ue_pwr_class_n_r13_e_ ue_pwr_class_n_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v1320 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v1320 using supported_band_combination_v1320_l = dyn_array; // SupportedBandCombinationAdd-v1320 ::= SEQUENCE (SIZE (1..256)) OF BandCombinationParameters-v1320 using supported_band_combination_add_v1320_l = dyn_array; // SupportedBandCombinationReduced-v1320 ::= SEQUENCE (SIZE (1..384)) OF BandCombinationParameters-v1320 using supported_band_combination_reduced_v1320_l = dyn_array; // SupportedBandListEUTRA-v1320 ::= SEQUENCE (SIZE (1..64)) OF SupportedBandEUTRA-v1320 using supported_band_list_eutra_v1320_l = dyn_array; // RF-Parameters-v1320 ::= SEQUENCE struct rf_params_v1320_s { bool supported_band_list_eutra_v1320_present = false; bool supported_band_combination_v1320_present = false; bool supported_band_combination_add_v1320_present = false; bool supported_band_combination_reduced_v1320_present = false; supported_band_list_eutra_v1320_l supported_band_list_eutra_v1320; supported_band_combination_v1320_l supported_band_combination_v1320; supported_band_combination_add_v1320_l supported_band_combination_add_v1320; supported_band_combination_reduced_v1320_l supported_band_combination_reduced_v1320; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v1380 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v1380 using supported_band_combination_v1380_l = dyn_array; // SupportedBandCombinationAdd-v1380 ::= SEQUENCE (SIZE (1..256)) OF BandCombinationParameters-v1380 using supported_band_combination_add_v1380_l = dyn_array; // SupportedBandCombinationReduced-v1380 ::= SEQUENCE (SIZE (1..384)) OF BandCombinationParameters-v1380 using supported_band_combination_reduced_v1380_l = dyn_array; // RF-Parameters-v1380 ::= SEQUENCE struct rf_params_v1380_s { bool supported_band_combination_v1380_present = false; bool supported_band_combination_add_v1380_present = false; bool supported_band_combination_reduced_v1380_present = false; supported_band_combination_v1380_l supported_band_combination_v1380; supported_band_combination_add_v1380_l supported_band_combination_add_v1380; supported_band_combination_reduced_v1380_l supported_band_combination_reduced_v1380; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // BandCombinationParameters-v1390 ::= SEQUENCE struct band_combination_params_v1390_s { bool ue_ca_pwr_class_n_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v1390 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v1390 using supported_band_combination_v1390_l = dyn_array; // SupportedBandCombinationAdd-v1390 ::= SEQUENCE (SIZE (1..256)) OF BandCombinationParameters-v1390 using supported_band_combination_add_v1390_l = dyn_array; // SupportedBandCombinationReduced-v1390 ::= SEQUENCE (SIZE (1..384)) OF BandCombinationParameters-v1390 using supported_band_combination_reduced_v1390_l = dyn_array; // RF-Parameters-v1390 ::= SEQUENCE struct rf_params_v1390_s { bool supported_band_combination_v1390_present = false; bool supported_band_combination_add_v1390_present = false; bool supported_band_combination_reduced_v1390_present = false; supported_band_combination_v1390_l supported_band_combination_v1390; supported_band_combination_add_v1390_l supported_band_combination_add_v1390; supported_band_combination_reduced_v1390_l supported_band_combination_reduced_v1390; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v1430 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v1430 using supported_band_combination_v1430_l = dyn_array; // SupportedBandCombinationAdd-v1430 ::= SEQUENCE (SIZE (1..256)) OF BandCombinationParameters-v1430 using supported_band_combination_add_v1430_l = dyn_array; // SupportedBandCombinationReduced-v1430 ::= SEQUENCE (SIZE (1..384)) OF BandCombinationParameters-v1430 using supported_band_combination_reduced_v1430_l = dyn_array; // RF-Parameters-v1430 ::= SEQUENCE struct rf_params_v1430_s { struct enb_requested_params_v1430_s_ { band_combination_list_r14_l requested_diff_fallback_comb_list_r14; }; // member variables bool supported_band_combination_v1430_present = false; bool supported_band_combination_add_v1430_present = false; bool supported_band_combination_reduced_v1430_present = false; bool enb_requested_params_v1430_present = false; bool diff_fallback_comb_report_r14_present = false; supported_band_combination_v1430_l supported_band_combination_v1430; supported_band_combination_add_v1430_l supported_band_combination_add_v1430; supported_band_combination_reduced_v1430_l supported_band_combination_reduced_v1430; enb_requested_params_v1430_s_ enb_requested_params_v1430; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v1450 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v1450 using supported_band_combination_v1450_l = dyn_array; // SupportedBandCombinationAdd-v1450 ::= SEQUENCE (SIZE (1..256)) OF BandCombinationParameters-v1450 using supported_band_combination_add_v1450_l = dyn_array; // SupportedBandCombinationReduced-v1450 ::= SEQUENCE (SIZE (1..384)) OF BandCombinationParameters-v1450 using supported_band_combination_reduced_v1450_l = dyn_array; // RF-Parameters-v1450 ::= SEQUENCE struct rf_params_v1450_s { bool supported_band_combination_v1450_present = false; bool supported_band_combination_add_v1450_present = false; bool supported_band_combination_reduced_v1450_present = false; supported_band_combination_v1450_l supported_band_combination_v1450; supported_band_combination_add_v1450_l supported_band_combination_add_v1450; supported_band_combination_reduced_v1450_l supported_band_combination_reduced_v1450; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v1470 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v1470 using supported_band_combination_v1470_l = dyn_array; // SupportedBandCombinationAdd-v1470 ::= SEQUENCE (SIZE (1..256)) OF BandCombinationParameters-v1470 using supported_band_combination_add_v1470_l = dyn_array; // SupportedBandCombinationReduced-v1470 ::= SEQUENCE (SIZE (1..384)) OF BandCombinationParameters-v1470 using supported_band_combination_reduced_v1470_l = dyn_array; // RF-Parameters-v1470 ::= SEQUENCE struct rf_params_v1470_s { bool supported_band_combination_v1470_present = false; bool supported_band_combination_add_v1470_present = false; bool supported_band_combination_reduced_v1470_present = false; supported_band_combination_v1470_l supported_band_combination_v1470; supported_band_combination_add_v1470_l supported_band_combination_add_v1470; supported_band_combination_reduced_v1470_l supported_band_combination_reduced_v1470; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v14b0 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v14b0 using supported_band_combination_v14b0_l = dyn_array; // SupportedBandCombinationAdd-v14b0 ::= SEQUENCE (SIZE (1..256)) OF BandCombinationParameters-v14b0 using supported_band_combination_add_v14b0_l = dyn_array; // SupportedBandCombinationReduced-v14b0 ::= SEQUENCE (SIZE (1..384)) OF BandCombinationParameters-v14b0 using supported_band_combination_reduced_v14b0_l = dyn_array; // RF-Parameters-v14b0 ::= SEQUENCE struct rf_params_v14b0_s { bool supported_band_combination_v14b0_present = false; bool supported_band_combination_add_v14b0_present = false; bool supported_band_combination_reduced_v14b0_present = false; supported_band_combination_v14b0_l supported_band_combination_v14b0; supported_band_combination_add_v14b0_l supported_band_combination_add_v14b0; supported_band_combination_reduced_v14b0_l supported_band_combination_reduced_v14b0; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v1530 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v1530 using supported_band_combination_v1530_l = dyn_array; // SupportedBandCombinationAdd-v1530 ::= SEQUENCE (SIZE (1..256)) OF BandCombinationParameters-v1530 using supported_band_combination_add_v1530_l = dyn_array; // SupportedBandCombinationReduced-v1530 ::= SEQUENCE (SIZE (1..384)) OF BandCombinationParameters-v1530 using supported_band_combination_reduced_v1530_l = dyn_array; // RF-Parameters-v1530 ::= SEQUENCE struct rf_params_v1530_s { bool stti_spt_supported_r15_present = false; bool supported_band_combination_v1530_present = false; bool supported_band_combination_add_v1530_present = false; bool supported_band_combination_reduced_v1530_present = false; bool pwr_class_minus14dbm_r15_present = false; supported_band_combination_v1530_l supported_band_combination_v1530; supported_band_combination_add_v1530_l supported_band_combination_add_v1530; supported_band_combination_reduced_v1530_l supported_band_combination_reduced_v1530; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v1610 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v1610 using supported_band_combination_v1610_l = dyn_array; // SupportedBandCombinationAdd-v1610 ::= SEQUENCE (SIZE (1..256)) OF BandCombinationParameters-v1610 using supported_band_combination_add_v1610_l = dyn_array; // SupportedBandCombinationReduced-v1610 ::= SEQUENCE (SIZE (1..384)) OF BandCombinationParameters-v1610 using supported_band_combination_reduced_v1610_l = dyn_array; // RF-Parameters-v1610 ::= SEQUENCE struct rf_params_v1610_s { bool supported_band_combination_v1610_present = false; bool supported_band_combination_add_v1610_present = false; bool supported_band_combination_reduced_v1610_present = false; supported_band_combination_v1610_l supported_band_combination_v1610; supported_band_combination_add_v1610_l supported_band_combination_add_v1610; supported_band_combination_reduced_v1610_l supported_band_combination_reduced_v1610; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandCombination-v1630 ::= SEQUENCE (SIZE (1..128)) OF BandCombinationParameters-v1630 using supported_band_combination_v1630_l = dyn_array; // SupportedBandCombinationAdd-v1630 ::= SEQUENCE (SIZE (1..256)) OF BandCombinationParameters-v1630 using supported_band_combination_add_v1630_l = dyn_array; // SupportedBandCombinationReduced-v1630 ::= SEQUENCE (SIZE (1..384)) OF BandCombinationParameters-v1630 using supported_band_combination_reduced_v1630_l = dyn_array; // RF-Parameters-v1630 ::= SEQUENCE struct rf_params_v1630_s { bool supported_band_combination_v1630_present = false; bool supported_band_combination_add_v1630_present = false; bool supported_band_combination_reduced_v1630_present = false; supported_band_combination_v1630_l supported_band_combination_v1630; supported_band_combination_add_v1630_l supported_band_combination_add_v1630; supported_band_combination_reduced_v1630_l supported_band_combination_reduced_v1630; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandEUTRA-v9e0 ::= SEQUENCE struct supported_band_eutra_v9e0_s { bool band_eutra_v9e0_present = false; uint16_t band_eutra_v9e0 = 65; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandListEUTRA-v9e0 ::= SEQUENCE (SIZE (1..64)) OF SupportedBandEUTRA-v9e0 using supported_band_list_eutra_v9e0_l = dyn_array; // RF-Parameters-v9e0 ::= SEQUENCE struct rf_params_v9e0_s { bool supported_band_list_eutra_v9e0_present = false; supported_band_list_eutra_v9e0_l supported_band_list_eutra_v9e0; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandInfo-r12 ::= SEQUENCE struct supported_band_info_r12_s { bool support_r12_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SupportedBandInfoList-r12 ::= SEQUENCE (SIZE (1..64)) OF SupportedBandInfo-r12 using supported_band_info_list_r12_l = dyn_array; // SL-Parameters-r12 ::= SEQUENCE struct sl_params_r12_s { struct disc_supported_proc_r12_opts { enum options { n50, n400, nulltype } value; typedef uint16_t number_type; const char* to_string() const; uint16_t to_number() const; }; typedef enumerated disc_supported_proc_r12_e_; // member variables bool comm_simul_tx_r12_present = false; bool comm_supported_bands_r12_present = false; bool disc_supported_bands_r12_present = false; bool disc_sched_res_alloc_r12_present = false; bool disc_ue_sel_res_alloc_r12_present = false; bool disc_slss_r12_present = false; bool disc_supported_proc_r12_present = false; freq_band_ind_list_eutra_r12_l comm_supported_bands_r12; supported_band_info_list_r12_l disc_supported_bands_r12; disc_supported_proc_r12_e_ disc_supported_proc_r12; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // V2X-BandParameters-r14 ::= SEQUENCE struct v2x_band_params_r14_s { bool band_params_tx_sl_r14_present = false; bool band_params_rx_sl_r14_present = false; uint16_t v2x_freq_band_eutra_r14 = 1; band_params_tx_sl_r14_s band_params_tx_sl_r14; band_params_rx_sl_r14_s band_params_rx_sl_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // V2X-BandCombinationParameters-r14 ::= SEQUENCE (SIZE (1..64)) OF V2X-BandParameters-r14 using v2x_band_combination_params_r14_l = dyn_array; // V2X-SupportedBandCombination-r14 ::= SEQUENCE (SIZE (1..384)) OF V2X-BandCombinationParameters-r14 using v2x_supported_band_combination_r14_l = dyn_array; // SL-Parameters-v1430 ::= SEQUENCE struct sl_params_v1430_s { bool zone_based_pool_sel_r14_present = false; bool ue_autonomous_with_full_sensing_r14_present = false; bool ue_autonomous_with_partial_sensing_r14_present = false; bool sl_congestion_ctrl_r14_present = false; bool v2x_tx_with_short_resv_interv_r14_present = false; bool v2x_num_tx_rx_timing_r14_present = false; bool v2x_non_adjacent_pscch_pssch_r14_present = false; bool slss_tx_rx_r14_present = false; bool v2x_supported_band_combination_list_r14_present = false; uint8_t v2x_num_tx_rx_timing_r14 = 1; v2x_supported_band_combination_r14_l v2x_supported_band_combination_list_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // V2X-BandParameters-v1530 ::= SEQUENCE struct v2x_band_params_v1530_s { bool v2x_enhanced_high_reception_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // V2X-BandCombinationParameters-v1530 ::= SEQUENCE (SIZE (1..64)) OF V2X-BandParameters-v1530 using v2x_band_combination_params_v1530_l = dyn_array; // UE-CategorySL-r15 ::= SEQUENCE struct ue_category_sl_r15_s { uint8_t ue_category_sl_c_tx_r15 = 1; uint8_t ue_category_sl_c_rx_r15 = 1; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // V2X-SupportedBandCombination-v1530 ::= SEQUENCE (SIZE (1..384)) OF V2X-BandCombinationParameters-v1530 using v2x_supported_band_combination_v1530_l = dyn_array; // SL-Parameters-v1530 ::= SEQUENCE struct sl_params_v1530_s { struct slss_supported_tx_freq_r15_opts { enum options { single, multiple, nulltype } value; const char* to_string() const; }; typedef enumerated slss_supported_tx_freq_r15_e_; // member variables bool slss_supported_tx_freq_r15_present = false; bool sl_minus64_qam_tx_r15_present = false; bool sl_tx_diversity_r15_present = false; bool ue_category_sl_r15_present = false; bool v2x_supported_band_combination_list_v1530_present = false; slss_supported_tx_freq_r15_e_ slss_supported_tx_freq_r15; ue_category_sl_r15_s ue_category_sl_r15; v2x_supported_band_combination_v1530_l v2x_supported_band_combination_list_v1530; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // V2X-BandParametersEUTRA-NR-r16 ::= CHOICE struct v2x_band_params_eutra_nr_r16_c { struct eutra_s_ { bool v2x_band_params1_r16_present = false; bool v2x_band_params2_r16_present = false; v2x_band_params_r14_s v2x_band_params1_r16; v2x_band_params_v1530_s v2x_band_params2_r16; }; struct nr_s_ { bool v2x_band_params_nr_r16_present = false; dyn_octstring v2x_band_params_nr_r16; }; struct types_opts { enum options { eutra, nr, nulltype } value; const char* to_string() const; }; typedef enumerated types; // choice methods v2x_band_params_eutra_nr_r16_c() = default; v2x_band_params_eutra_nr_r16_c(const v2x_band_params_eutra_nr_r16_c& other); v2x_band_params_eutra_nr_r16_c& operator=(const v2x_band_params_eutra_nr_r16_c& other); ~v2x_band_params_eutra_nr_r16_c() { destroy_(); } void set(types::options e = types::nulltype); types type() const { return type_; } SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; // getters eutra_s_& eutra() { assert_choice_type(types::eutra, type_, "V2X-BandParametersEUTRA-NR-r16"); return c.get(); } nr_s_& nr() { assert_choice_type(types::nr, type_, "V2X-BandParametersEUTRA-NR-r16"); return c.get(); } const eutra_s_& eutra() const { assert_choice_type(types::eutra, type_, "V2X-BandParametersEUTRA-NR-r16"); return c.get(); } const nr_s_& nr() const { assert_choice_type(types::nr, type_, "V2X-BandParametersEUTRA-NR-r16"); return c.get(); } eutra_s_& set_eutra(); nr_s_& set_nr(); private: types type_; choice_buffer_t c; void destroy_(); }; // V2X-SupportedBandCombinationEUTRA-NR-r16 ::= SEQUENCE (SIZE (1..512)) OF V2X-BandParametersEUTRA-NR-r16 using v2x_supported_band_combination_eutra_nr_r16_l = dyn_array; // SL-Parameters-v1610 ::= SEQUENCE struct sl_params_v1610_s { bool sl_param_nr_r16_present = false; bool dummy_present = false; dyn_octstring sl_param_nr_r16; v2x_supported_band_combination_eutra_nr_r16_l dummy; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // V2X-BandParametersEUTRA-NR-v1630 ::= CHOICE struct v2x_band_params_eutra_nr_v1630_c { struct nr_s_ { bool tx_sidelink_r16_present = false; bool rx_sidelink_r16_present = false; }; struct types_opts { enum options { eutra, nr, nulltype } value; const char* to_string() const; }; typedef enumerated types; // choice methods v2x_band_params_eutra_nr_v1630_c() = default; void set(types::options e = types::nulltype); types type() const { return type_; } SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; // getters nr_s_& nr() { assert_choice_type(types::nr, type_, "V2X-BandParametersEUTRA-NR-v1630"); return c; } const nr_s_& nr() const { assert_choice_type(types::nr, type_, "V2X-BandParametersEUTRA-NR-v1630"); return c; } void set_eutra(); nr_s_& set_nr(); private: types type_; nr_s_ c; }; // V2X-BandCombinationParametersEUTRA-NR-v1630 ::= SEQUENCE struct v2x_band_combination_params_eutra_nr_v1630_s { using band_list_sidelink_eutra_nr_r16_l_ = dyn_array; using band_list_sidelink_eutra_nr_v1630_l_ = dyn_array; // member variables band_list_sidelink_eutra_nr_r16_l_ band_list_sidelink_eutra_nr_r16; band_list_sidelink_eutra_nr_v1630_l_ band_list_sidelink_eutra_nr_v1630; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // V2X-SupportedBandCombinationEUTRA-NR-v1630 ::= SEQUENCE (SIZE (1..512)) OF // V2X-BandCombinationParametersEUTRA-NR-v1630 using v2x_supported_band_combination_eutra_nr_v1630_l = dyn_array; // SL-Parameters-v1630 ::= SEQUENCE struct sl_params_v1630_s { bool v2x_supported_band_combination_list_eutra_nr_r16_present = false; v2x_supported_band_combination_eutra_nr_v1630_l v2x_supported_band_combination_list_eutra_nr_r16; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // V2X-BandParametersEUTRA-NR-v1710 ::= SEQUENCE struct v2x_band_params_eutra_nr_v1710_s { bool v2x_band_params_eutra_nr_v1710_present = false; dyn_octstring v2x_band_params_eutra_nr_v1710; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // V2X-BandCombinationParametersEUTRA-NR-v1710 ::= SEQUENCE (SIZE (1..64)) OF V2X-BandParametersEUTRA-NR-v1710 using v2x_band_combination_params_eutra_nr_v1710_l = dyn_array; // V2X-SupportedBandCombinationEUTRA-NR-v1710 ::= SEQUENCE (SIZE (1..512)) OF // V2X-BandCombinationParametersEUTRA-NR-v1710 using v2x_supported_band_combination_eutra_nr_v1710_l = dyn_array; // SL-Parameters-v1710 ::= SEQUENCE struct sl_params_v1710_s { bool v2x_supported_band_combination_list_eutra_nr_v1710_present = false; v2x_supported_band_combination_eutra_nr_v1710_l v2x_supported_band_combination_list_eutra_nr_v1710; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1730 ::= SEQUENCE struct phy_layer_params_v1730_s { bool csi_sf_set2_for_dormant_scell_r17_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // NTN-Parameters-v1720 ::= SEQUENCE struct ntn_params_v1720_s { struct ntn_segmented_precompensation_gaps_r17_opts { enum options { sym1, sl1, sf1, nulltype } value; const char* to_string() const; }; typedef enumerated ntn_segmented_precompensation_gaps_r17_e_; // member variables bool ntn_segmented_precompensation_gaps_r17_present = false; ntn_segmented_precompensation_gaps_r17_e_ ntn_segmented_precompensation_gaps_r17; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1730-IEs ::= SEQUENCE struct ue_eutra_cap_v1730_ies_s { bool non_crit_ext_present = false; phy_layer_params_v1730_s phy_layer_params_v1730; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersNR-v1710 ::= SEQUENCE struct irat_params_nr_v1710_s { bool extended_band_n77_minus2_r17_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // NeighCellSI-AcquisitionParameters-v1710 ::= SEQUENCE struct neigh_cell_si_acquisition_params_v1710_s { bool gnb_id_len_report_nr_en_dc_r17_present = false; bool gnb_id_len_report_nr_no_en_dc_r17_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1720-IEs ::= SEQUENCE struct ue_eutra_cap_v1720_ies_s { bool non_crit_ext_present = false; ntn_params_v1720_s ntn_params_v1720; ue_eutra_cap_v1730_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersNR-v1700 ::= SEQUENCE struct irat_params_nr_v1700_s { bool eutra_minus5_gc_ho_to_nr_tdd_fr2_minus2_r17_present = false; bool eutra_epc_ho_to_nr_tdd_fr2_minus2_r17_present = false; bool ce_eutra_minus5_gc_ho_to_nr_tdd_fr2_minus2_r17_present = false; bool ims_voice_over_nr_fr2_minus2_r17_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // NTN-Parameters-r17 ::= SEQUENCE struct ntn_params_r17_s { struct ntn_scenario_support_r17_opts { enum options { ngso, gso, nulltype } value; const char* to_string() const; }; typedef enumerated ntn_scenario_support_r17_e_; // member variables bool ntn_connect_epc_r17_present = false; bool ntn_ta_report_r17_present = false; bool ntn_pur_timer_delay_r17_present = false; bool ntn_offset_timing_enh_r17_present = false; bool ntn_scenario_support_r17_present = false; ntn_scenario_support_r17_e_ ntn_scenario_support_r17; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1700 ::= SEQUENCE struct phy_layer_params_v1700_s { struct ce_cap_v1700_s_ { bool ce_pdsch_minus14_harq_processes_r17_present = false; bool ce_pdsch_minus14_harq_processes_alt2_r17_present = false; bool ce_pdsch_max_tbs_r17_present = false; }; // member variables bool ce_cap_v1700_present = false; ce_cap_v1700_s_ ce_cap_v1700; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-BasedNetwPerfMeasParameters-v1700 ::= SEQUENCE struct ue_based_netw_perf_meas_params_v1700_s { bool logged_meas_idle_event_l1_r17_present = false; bool logged_meas_idle_event_out_of_coverage_r17_present = false; bool logged_meas_uncom_bar_pre_r17_present = false; bool imm_meas_uncom_bar_pre_r17_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1710-IEs ::= SEQUENCE struct ue_eutra_cap_v1710_ies_s { bool neigh_cell_si_acquisition_params_v1710_present = false; bool sl_params_v1710_present = false; bool sidelink_requested_r17_present = false; bool non_crit_ext_present = false; irat_params_nr_v1710_s irat_params_nr_v1710; neigh_cell_si_acquisition_params_v1710_s neigh_cell_si_acquisition_params_v1710; sl_params_v1710_s sl_params_v1710; ue_eutra_cap_v1720_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // Other-Parameters-v1690 ::= SEQUENCE struct other_params_v1690_s { bool ul_rrc_segmentation_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1700-IEs ::= SEQUENCE struct ue_eutra_cap_v1700_ies_s { bool meas_params_v1700_present = false; bool ue_based_netw_perf_meas_params_v1700_present = false; bool ntn_params_r17_present = false; bool irat_params_nr_v1700_present = false; bool non_crit_ext_present = false; meas_params_v1700_s meas_params_v1700; ue_based_netw_perf_meas_params_v1700_s ue_based_netw_perf_meas_params_v1700; phy_layer_params_v1700_s phy_layer_params_v1700; ntn_params_r17_s ntn_params_r17; irat_params_nr_v1700_s irat_params_nr_v1700; mbms_params_v1700_s mbms_params_v1700; ue_eutra_cap_v1710_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersNR-v1660 ::= SEQUENCE struct irat_params_nr_v1660_s { bool extended_band_n77_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1690-IEs ::= SEQUENCE struct ue_eutra_cap_v1690_ies_s { bool non_crit_ext_present = false; other_params_v1690_s other_params_v1690; ue_eutra_cap_v1700_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MeasParameters-v1630 ::= SEQUENCE struct meas_params_v1630_s { bool nr_idle_inactive_beam_meas_fr1_r16_present = false; bool nr_idle_inactive_beam_meas_fr2_r16_present = false; bool ce_meas_rss_ded_same_rbs_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // Other-Parameters-v1650 ::= SEQUENCE struct other_params_v1650_s { bool mps_prio_ind_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1660-IEs ::= SEQUENCE struct ue_eutra_cap_v1660_ies_s { bool non_crit_ext_present = false; irat_params_nr_v1660_s irat_params_nr_v1660; ue_eutra_cap_v1690_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // EUTRA-5GC-Parameters-v1610 ::= SEQUENCE struct eutra_minus5_gc_params_v1610_s { bool ce_inactive_state_r16_present = false; bool ce_eutra_minus5_gc_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersNR-v1610 ::= SEQUENCE struct irat_params_nr_v1610_s { bool nr_ho_to_en_dc_r16_present = false; bool ce_eutra_minus5_gc_ho_to_nr_fdd_fr1_r16_present = false; bool ce_eutra_minus5_gc_ho_to_nr_tdd_fr1_r16_present = false; bool ce_eutra_minus5_gc_ho_to_nr_fdd_fr2_r16_present = false; bool ce_eutra_minus5_gc_ho_to_nr_tdd_fr2_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MAC-Parameters-v1630 ::= SEQUENCE struct mac_params_v1630_s { bool direct_scg_scell_activation_nedc_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MobilityParameters-v1610 ::= SEQUENCE struct mob_params_v1610_s { bool cho_r16_present = false; bool cho_fdd_tdd_r16_present = false; bool cho_fail_r16_present = false; bool cho_two_trigger_events_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // NeighCellSI-AcquisitionParameters-v1610 ::= SEQUENCE struct neigh_cell_si_acquisition_params_v1610_s { bool eutra_si_acquisition_for_ho_endc_r16_present = false; bool nr_autonomous_gaps_endc_fr1_r16_present = false; bool nr_autonomous_gaps_endc_fr2_r16_present = false; bool nr_autonomous_gaps_fr1_r16_present = false; bool nr_autonomous_gaps_fr2_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PUR-Parameters-r16 ::= SEQUENCE struct pur_params_r16_s { bool pur_cp_minus5_gc_ce_mode_a_r16_present = false; bool pur_cp_minus5_gc_ce_mode_b_r16_present = false; bool pur_up_minus5_gc_ce_mode_a_r16_present = false; bool pur_up_minus5_gc_ce_mode_b_r16_present = false; bool pur_cp_epc_ce_mode_a_r16_present = false; bool pur_cp_epc_ce_mode_b_r16_present = false; bool pur_up_epc_ce_mode_a_r16_present = false; bool pur_up_epc_ce_mode_b_r16_present = false; bool pur_cp_l1_ack_r16_present = false; bool pur_freq_hop_r16_present = false; bool pur_pusch_nb_max_tbs_r16_present = false; bool pur_rsrp_validation_r16_present = false; bool pur_sub_prb_ce_mode_a_r16_present = false; bool pur_sub_prb_ce_mode_b_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1650-IEs ::= SEQUENCE struct ue_eutra_cap_v1650_ies_s { bool other_params_v1650_present = false; bool non_crit_ext_present = false; other_params_v1650_s other_params_v1650; ue_eutra_cap_v1660_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1630 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1630_s { meas_params_v1630_s meas_params_v1630; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // HighSpeedEnhParameters-v1610 ::= SEQUENCE struct high_speed_enh_params_v1610_s { bool meas_enhance_scell_r16_present = false; bool meas_enhance2_r16_present = false; bool demod_enhance2_r16_present = false; bool inter_rat_enhancement_nr_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MAC-Parameters-v1610 ::= SEQUENCE struct mac_params_v1610_s { bool direct_mcg_scell_activation_resume_r16_present = false; bool direct_scg_scell_activation_resume_r16_present = false; bool early_data_up_minus5_gc_r16_present = false; bool rai_support_enh_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MMTEL-Parameters-v1610 ::= SEQUENCE struct mmtel_params_v1610_s { bool recommended_bit_rate_multiplier_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // NeighCellSI-AcquisitionParameters-v15a0 ::= SEQUENCE struct neigh_cell_si_acquisition_params_v15a0_s { bool eutra_cgi_report_nedc_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // Other-Parameters-v1610 ::= SEQUENCE struct other_params_v1610_s { bool resume_with_stored_mcg_scells_r16_present = false; bool resume_with_mcg_scell_cfg_r16_present = false; bool resume_with_stored_scg_r16_present = false; bool resume_with_scg_cfg_r16_present = false; bool mcg_rlf_recovery_via_scg_r16_present = false; bool overheat_ind_for_scg_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PDCP-Parameters-v1610 ::= SEQUENCE struct pdcp_params_v1610_s { struct max_num_ehc_contexts_r16_opts { enum options { cs2, cs4, cs8, cs16, cs32, cs64, cs128, cs256, cs512, cs1024, cs2048, cs4096, cs8192, cs16384, cs32768, cs65536, nulltype } value; typedef uint32_t number_type; const char* to_string() const; uint32_t to_number() const; }; typedef enumerated max_num_ehc_contexts_r16_e_; // member variables bool pdcp_version_change_without_ho_r16_present = false; bool ehc_r16_present = false; bool continue_ehc_context_r16_present = false; bool max_num_ehc_contexts_r16_present = false; bool joint_ehc_rohc_cfg_r16_present = false; max_num_ehc_contexts_r16_e_ max_num_ehc_contexts_r16; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1540 ::= SEQUENCE struct phy_layer_params_v1540_s { struct stti_spt_cap_v1540_s_ {}; // member variables bool stti_spt_cap_v1540_present = false; bool crs_im_tm1_to_tm9_one_rx_port_v1540_present = false; bool cch_im_ref_rec_type_a_one_rx_port_v1540_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1550 ::= SEQUENCE struct phy_layer_params_v1550_s { bool dmrs_overhead_reduction_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-BasedNetwPerfMeasParameters-v1610 ::= SEQUENCE struct ue_based_netw_perf_meas_params_v1610_s { bool ul_pdcp_avg_delay_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1630-IEs ::= SEQUENCE struct ue_eutra_cap_v1630_ies_s { bool rf_params_v1630_present = false; bool sl_params_v1630_present = false; bool early_security_reactivation_r16_present = false; bool meas_params_v1630_present = false; bool non_crit_ext_present = false; rf_params_v1630_s rf_params_v1630; sl_params_v1630_s sl_params_v1630; mac_params_v1630_s mac_params_v1630; meas_params_v1630_s meas_params_v1630; ue_eutra_cap_add_xdd_mode_v1630_s fdd_add_ue_eutra_cap_v1630; ue_eutra_cap_add_xdd_mode_v1630_s tdd_add_ue_eutra_cap_v1630; ue_eutra_cap_v1650_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1610 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1610_s { bool phy_layer_params_v1610_present = false; bool pur_params_r16_present = false; bool meas_params_v1610_present = false; bool eutra_minus5_gc_params_v1610_present = false; bool irat_params_nr_v1610_present = false; bool neigh_cell_si_acquisition_params_v1610_present = false; bool mob_params_v1610_present = false; phy_layer_params_v1610_s phy_layer_params_v1610; pur_params_r16_s pur_params_r16; meas_params_v1610_s meas_params_v1610; eutra_minus5_gc_params_v1610_s eutra_minus5_gc_params_v1610; irat_params_nr_v1610_s irat_params_nr_v1610; neigh_cell_si_acquisition_params_v1610_s neigh_cell_si_acquisition_params_v1610; mob_params_v1610_s mob_params_v1610; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // EUTRA-5GC-Parameters-r15 ::= SEQUENCE struct eutra_minus5_gc_params_r15_s { bool eutra_minus5_gc_r15_present = false; bool eutra_epc_ho_eutra_minus5_gc_r15_present = false; bool ho_eutra_minus5_gc_fdd_tdd_r15_present = false; bool ho_interfreq_eutra_minus5_gc_r15_present = false; bool ims_voice_over_mcg_bearer_eutra_minus5_gc_r15_present = false; bool inactive_state_r15_present = false; bool reflective_qos_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1610-IEs ::= SEQUENCE struct ue_eutra_cap_v1610_ies_s { bool high_speed_enh_params_v1610_present = false; bool neigh_cell_si_acquisition_params_v1610_present = false; bool mbms_params_v1610_present = false; bool pdcp_params_v1610_present = false; bool mac_params_v1610_present = false; bool phy_layer_params_v1610_present = false; bool meas_params_v1610_present = false; bool pur_params_r16_present = false; bool eutra_minus5_gc_params_v1610_present = false; bool other_params_v1610_present = false; bool dl_ded_msg_segmentation_r16_present = false; bool irat_params_nr_v1610_present = false; bool rf_params_v1610_present = false; bool mob_params_v1610_present = false; bool sl_params_v1610_present = false; bool fdd_add_ue_eutra_cap_v1610_present = false; bool tdd_add_ue_eutra_cap_v1610_present = false; bool non_crit_ext_present = false; high_speed_enh_params_v1610_s high_speed_enh_params_v1610; neigh_cell_si_acquisition_params_v1610_s neigh_cell_si_acquisition_params_v1610; mbms_params_v1610_s mbms_params_v1610; pdcp_params_v1610_s pdcp_params_v1610; mac_params_v1610_s mac_params_v1610; phy_layer_params_v1610_s phy_layer_params_v1610; meas_params_v1610_s meas_params_v1610; pur_params_r16_s pur_params_r16; eutra_minus5_gc_params_v1610_s eutra_minus5_gc_params_v1610; other_params_v1610_s other_params_v1610; mmtel_params_v1610_s mmtel_params_v1610; irat_params_nr_v1610_s irat_params_nr_v1610; rf_params_v1610_s rf_params_v1610; mob_params_v1610_s mob_params_v1610; ue_based_netw_perf_meas_params_v1610_s ue_based_netw_perf_meas_params_v1610; sl_params_v1610_s sl_params_v1610; ue_eutra_cap_add_xdd_mode_v1610_s fdd_add_ue_eutra_cap_v1610; ue_eutra_cap_add_xdd_mode_v1610_s tdd_add_ue_eutra_cap_v1610; ue_eutra_cap_v1630_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v15a0 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v15a0_s { bool phy_layer_params_v1530_present = false; bool phy_layer_params_v1540_present = false; bool phy_layer_params_v1550_present = false; phy_layer_params_v1530_s phy_layer_params_v1530; phy_layer_params_v1540_s phy_layer_params_v1540; phy_layer_params_v1550_s phy_layer_params_v1550; neigh_cell_si_acquisition_params_v15a0_s neigh_cell_si_acquisition_params_v15a0; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersNR-v1570 ::= SEQUENCE struct irat_params_nr_v1570_s { bool ss_sinr_meas_nr_fr1_r15_present = false; bool ss_sinr_meas_nr_fr2_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PDCP-ParametersNR-v1560 ::= SEQUENCE struct pdcp_params_nr_v1560_s { bool ims_vo_nr_pdcp_scg_ngendc_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // RF-Parameters-v1570 ::= SEQUENCE struct rf_params_v1570_s { struct dl_minus1024_qam_scaling_factor_r15_opts { enum options { v1, v1dot2, v1dot25, nulltype } value; typedef float number_type; const char* to_string() const; float to_number() const; const char* to_number_string() const; }; typedef enumerated dl_minus1024_qam_scaling_factor_r15_e_; // member variables dl_minus1024_qam_scaling_factor_r15_e_ dl_minus1024_qam_scaling_factor_r15; uint8_t dl_minus1024_qam_total_weighted_layers_r15 = 0; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v15a0-IEs ::= SEQUENCE struct ue_eutra_cap_v15a0_ies_s { bool eutra_minus5_gc_params_r15_present = false; bool fdd_add_ue_eutra_cap_v15a0_present = false; bool tdd_add_ue_eutra_cap_v15a0_present = false; bool non_crit_ext_present = false; neigh_cell_si_acquisition_params_v15a0_s neigh_cell_si_acquisition_params_v15a0; eutra_minus5_gc_params_r15_s eutra_minus5_gc_params_r15; ue_eutra_cap_add_xdd_mode_v15a0_s fdd_add_ue_eutra_cap_v15a0; ue_eutra_cap_add_xdd_mode_v15a0_s tdd_add_ue_eutra_cap_v15a0; ue_eutra_cap_v1610_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersNR-v1560 ::= SEQUENCE struct irat_params_nr_v1560_s { bool ng_en_dc_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // NeighCellSI-AcquisitionParameters-v1550 ::= SEQUENCE struct neigh_cell_si_acquisition_params_v1550_s { bool eutra_cgi_report_endc_r15_present = false; bool utra_geran_cgi_report_endc_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1570-IEs ::= SEQUENCE struct ue_eutra_cap_v1570_ies_s { bool rf_params_v1570_present = false; bool irat_params_nr_v1570_present = false; bool non_crit_ext_present = false; rf_params_v1570_s rf_params_v1570; irat_params_nr_v1570_s irat_params_nr_v1570; ue_eutra_cap_v15a0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1560 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1560_s { pdcp_params_nr_v1560_s pdcp_params_nr_v1560; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MAC-Parameters-v1550 ::= SEQUENCE struct mac_params_v1550_s { bool elcid_support_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1560-IEs ::= SEQUENCE struct ue_eutra_cap_v1560_ies_s { bool applied_cap_filt_common_r15_present = false; bool non_crit_ext_present = false; pdcp_params_nr_v1560_s pdcp_params_nr_v1560; irat_params_nr_v1560_s irat_params_nr_v1560; dyn_octstring applied_cap_filt_common_r15; ue_eutra_cap_add_xdd_mode_v1560_s fdd_add_ue_eutra_cap_v1560; ue_eutra_cap_add_xdd_mode_v1560_s tdd_add_ue_eutra_cap_v1560; ue_eutra_cap_v1570_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1550 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1550_s { bool neigh_cell_si_acquisition_params_v1550_present = false; neigh_cell_si_acquisition_params_v1550_s neigh_cell_si_acquisition_params_v1550; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // NeighCellSI-AcquisitionParameters-v1530 ::= SEQUENCE struct neigh_cell_si_acquisition_params_v1530_s { bool report_cgi_nr_en_dc_r15_present = false; bool report_cgi_nr_no_en_dc_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // Other-Parameters-v1540 ::= SEQUENCE struct other_params_v1540_s { bool in_dev_coex_ind_endc_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SL-Parameters-v1540 ::= SEQUENCE struct sl_params_v1540_s { bool sl_minus64_qam_rx_r15_present = false; bool sl_rate_matching_tbs_scaling_r15_present = false; bool sl_low_t2min_r15_present = false; bool v2x_sensing_report_mode3_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1550-IEs ::= SEQUENCE struct ue_eutra_cap_v1550_ies_s { bool neigh_cell_si_acquisition_params_v1550_present = false; bool non_crit_ext_present = false; neigh_cell_si_acquisition_params_v1550_s neigh_cell_si_acquisition_params_v1550; phy_layer_params_v1550_s phy_layer_params_v1550; mac_params_v1550_s mac_params_v1550; ue_eutra_cap_add_xdd_mode_v1550_s fdd_add_ue_eutra_cap_v1550; ue_eutra_cap_add_xdd_mode_v1550_s tdd_add_ue_eutra_cap_v1550; ue_eutra_cap_v1560_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1540 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1540_s { bool eutra_minus5_gc_params_r15_present = false; bool irat_params_nr_v1540_present = false; eutra_minus5_gc_params_r15_s eutra_minus5_gc_params_r15; irat_params_nr_v1540_s irat_params_nr_v1540; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // LAA-Parameters-v1530 ::= SEQUENCE struct laa_params_v1530_s { bool aul_r15_present = false; bool laa_pusch_mode1_r15_present = false; bool laa_pusch_mode2_r15_present = false; bool laa_pusch_mode3_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MeasParameters-v1530 ::= SEQUENCE struct meas_params_v1530_s { bool qoe_meas_report_r15_present = false; bool qoe_mtsi_meas_report_r15_present = false; bool ca_idle_mode_meass_r15_present = false; bool ca_idle_mode_validity_area_r15_present = false; bool height_meas_r15_present = false; bool multiple_cells_meas_ext_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // Other-Parameters-v1530 ::= SEQUENCE struct other_params_v1530_s { bool assist_info_bit_for_lc_r15_present = false; bool time_ref_provision_r15_present = false; bool flight_path_plan_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // RLC-Parameters-v1530 ::= SEQUENCE struct rlc_params_v1530_s { bool flex_um_am_combinations_r15_present = false; bool rlc_am_ooo_delivery_r15_present = false; bool rlc_um_ooo_delivery_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-BasedNetwPerfMeasParameters-v1530 ::= SEQUENCE struct ue_based_netw_perf_meas_params_v1530_s { bool logged_meas_bt_r15_present = false; bool logged_meas_wlan_r15_present = false; bool imm_meas_bt_r15_present = false; bool imm_meas_wlan_r15_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1540-IEs ::= SEQUENCE struct ue_eutra_cap_v1540_ies_s { bool phy_layer_params_v1540_present = false; bool fdd_add_ue_eutra_cap_v1540_present = false; bool tdd_add_ue_eutra_cap_v1540_present = false; bool sl_params_v1540_present = false; bool irat_params_nr_v1540_present = false; bool non_crit_ext_present = false; phy_layer_params_v1540_s phy_layer_params_v1540; other_params_v1540_s other_params_v1540; ue_eutra_cap_add_xdd_mode_v1540_s fdd_add_ue_eutra_cap_v1540; ue_eutra_cap_add_xdd_mode_v1540_s tdd_add_ue_eutra_cap_v1540; sl_params_v1540_s sl_params_v1540; irat_params_nr_v1540_s irat_params_nr_v1540; ue_eutra_cap_v1550_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1530 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1530_s { bool neigh_cell_si_acquisition_params_v1530_present = false; bool reduced_cp_latency_r15_present = false; neigh_cell_si_acquisition_params_v1530_s neigh_cell_si_acquisition_params_v1530; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MeasParameters-v1520 ::= SEQUENCE struct meas_params_v1520_s { bool meas_gap_patterns_r15_present = false; fixed_bitstring<8> meas_gap_patterns_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1530-IEs ::= SEQUENCE struct ue_eutra_cap_v1530_ies_s { bool meas_params_v1530_present = false; bool other_params_v1530_present = false; bool neigh_cell_si_acquisition_params_v1530_present = false; bool mac_params_v1530_present = false; bool phy_layer_params_v1530_present = false; bool rf_params_v1530_present = false; bool pdcp_params_v1530_present = false; bool ue_category_dl_v1530_present = false; bool ue_based_netw_perf_meas_params_v1530_present = false; bool rlc_params_v1530_present = false; bool sl_params_v1530_present = false; bool extended_nof_drbs_r15_present = false; bool reduced_cp_latency_r15_present = false; bool laa_params_v1530_present = false; bool ue_category_ul_v1530_present = false; bool fdd_add_ue_eutra_cap_v1530_present = false; bool tdd_add_ue_eutra_cap_v1530_present = false; bool non_crit_ext_present = false; meas_params_v1530_s meas_params_v1530; other_params_v1530_s other_params_v1530; neigh_cell_si_acquisition_params_v1530_s neigh_cell_si_acquisition_params_v1530; mac_params_v1530_s mac_params_v1530; phy_layer_params_v1530_s phy_layer_params_v1530; rf_params_v1530_s rf_params_v1530; pdcp_params_v1530_s pdcp_params_v1530; uint8_t ue_category_dl_v1530 = 22; ue_based_netw_perf_meas_params_v1530_s ue_based_netw_perf_meas_params_v1530; rlc_params_v1530_s rlc_params_v1530; sl_params_v1530_s sl_params_v1530; laa_params_v1530_s laa_params_v1530; uint8_t ue_category_ul_v1530 = 22; ue_eutra_cap_add_xdd_mode_v1530_s fdd_add_ue_eutra_cap_v1530; ue_eutra_cap_add_xdd_mode_v1530_s tdd_add_ue_eutra_cap_v1530; ue_eutra_cap_v1540_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1520-IEs ::= SEQUENCE struct ue_eutra_cap_v1520_ies_s { bool non_crit_ext_present = false; meas_params_v1520_s meas_params_v1520; ue_eutra_cap_v1530_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1510 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1510_s { bool pdcp_params_nr_r15_present = false; pdcp_params_nr_r15_s pdcp_params_nr_r15; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // Other-Parameters-v1460 ::= SEQUENCE struct other_params_v1460_s { bool non_csg_si_report_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1510-IEs ::= SEQUENCE struct ue_eutra_cap_v1510_ies_s { bool irat_params_nr_r15_present = false; bool feature_sets_eutra_r15_present = false; bool pdcp_params_nr_r15_present = false; bool fdd_add_ue_eutra_cap_v1510_present = false; bool tdd_add_ue_eutra_cap_v1510_present = false; bool non_crit_ext_present = false; irat_params_nr_r15_s irat_params_nr_r15; feature_sets_eutra_r15_s feature_sets_eutra_r15; pdcp_params_nr_r15_s pdcp_params_nr_r15; ue_eutra_cap_add_xdd_mode_v1510_s fdd_add_ue_eutra_cap_v1510; ue_eutra_cap_add_xdd_mode_v1510_s tdd_add_ue_eutra_cap_v1510; ue_eutra_cap_v1520_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // OtherParameters-v1450 ::= SEQUENCE struct other_params_v1450_s { bool overheat_ind_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1450 ::= SEQUENCE struct phy_layer_params_v1450_s { bool ce_srs_enhancement_without_comb4_r14_present = false; bool crs_less_dw_pts_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1460-IEs ::= SEQUENCE struct ue_eutra_cap_v1460_ies_s { bool ue_category_dl_v1460_present = false; bool non_crit_ext_present = false; uint8_t ue_category_dl_v1460 = 21; other_params_v1460_s other_params_v1460; ue_eutra_cap_v1510_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // LWA-Parameters-v1440 ::= SEQUENCE struct lwa_params_v1440_s { bool lwa_rlc_um_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MAC-Parameters-v1440 ::= SEQUENCE struct mac_params_v1440_s { bool rai_support_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MMTEL-Parameters-r14 ::= SEQUENCE struct mmtel_params_r14_s { bool delay_budget_report_r14_present = false; bool pusch_enhance_r14_present = false; bool recommended_bit_rate_r14_present = false; bool recommended_bit_rate_query_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1450-IEs ::= SEQUENCE struct ue_eutra_cap_v1450_ies_s { bool phy_layer_params_v1450_present = false; bool rf_params_v1450_present = false; bool ue_category_dl_v1450_present = false; bool non_crit_ext_present = false; phy_layer_params_v1450_s phy_layer_params_v1450; rf_params_v1450_s rf_params_v1450; other_params_v1450_s other_params_v1450; uint8_t ue_category_dl_v1450 = 20; ue_eutra_cap_v1460_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CE-Parameters-v1430 ::= SEQUENCE struct ce_params_v1430_s { bool ce_switch_without_ho_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // HighSpeedEnhParameters-r14 ::= SEQUENCE struct high_speed_enh_params_r14_s { bool meas_enhance_r14_present = false; bool demod_enhance_r14_present = false; bool prach_enhance_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // LAA-Parameters-v1430 ::= SEQUENCE struct laa_params_v1430_s { struct two_step_sched_timing_info_r14_opts { enum options { nplus1, nplus2, nplus3, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated two_step_sched_timing_info_r14_e_; // member variables bool cross_carrier_sched_laa_ul_r14_present = false; bool ul_laa_r14_present = false; bool two_step_sched_timing_info_r14_present = false; bool uss_blind_decoding_adjustment_r14_present = false; bool uss_blind_decoding_reduction_r14_present = false; bool out_of_seq_grant_handling_r14_present = false; two_step_sched_timing_info_r14_e_ two_step_sched_timing_info_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // LWA-Parameters-v1430 ::= SEQUENCE struct lwa_params_v1430_s { bool lwa_ho_without_wt_change_r14_present = false; bool lwa_ul_r14_present = false; bool wlan_periodic_meas_r14_present = false; bool wlan_report_any_wlan_r14_present = false; bool wlan_supported_data_rate_r14_present = false; uint16_t wlan_supported_data_rate_r14 = 1; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // LWIP-Parameters-v1430 ::= SEQUENCE struct lwip_params_v1430_s { bool lwip_aggregation_dl_r14_present = false; bool lwip_aggregation_ul_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MAC-Parameters-v1430 ::= SEQUENCE struct mac_params_v1430_s { bool short_sps_interv_fdd_r14_present = false; bool short_sps_interv_tdd_r14_present = false; bool skip_ul_dynamic_r14_present = false; bool skip_ul_sps_r14_present = false; bool multiple_ul_sps_r14_present = false; bool data_inact_mon_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MBMS-Parameters-v1430 ::= SEQUENCE struct mbms_params_v1430_s { bool fembms_ded_cell_r14_present = false; bool fembms_mixed_cell_r14_present = false; bool subcarrier_spacing_mbms_khz7dot5_r14_present = false; bool subcarrier_spacing_mbms_khz1dot25_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MeasParameters-v1430 ::= SEQUENCE struct meas_params_v1430_s { bool ce_meass_r14_present = false; bool ncsg_r14_present = false; bool short_meas_gap_r14_present = false; bool per_serving_cell_meas_gap_r14_present = false; bool non_uniform_gap_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MobilityParameters-r14 ::= SEQUENCE struct mob_params_r14_s { bool make_before_break_r14_present = false; bool rach_less_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // Other-Parameters-v1430 ::= SEQUENCE struct other_params_v1430_s { bool bw_pref_ind_r14_present = false; bool rlm_report_support_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PDCP-Parameters-v1430 ::= SEQUENCE struct pdcp_params_v1430_s { struct supported_ul_only_rohc_profiles_r14_s_ { bool profile0x0006_r14 = false; }; struct max_num_rohc_context_sessions_r14_opts { enum options { cs2, cs4, cs8, cs12, cs16, cs24, cs32, cs48, cs64, cs128, cs256, cs512, cs1024, cs16384, spare2, spare1, nulltype } value; typedef uint16_t number_type; const char* to_string() const; uint16_t to_number() const; }; typedef enumerated max_num_rohc_context_sessions_r14_e_; // member variables bool max_num_rohc_context_sessions_r14_present = false; supported_ul_only_rohc_profiles_r14_s_ supported_ul_only_rohc_profiles_r14; max_num_rohc_context_sessions_r14_e_ max_num_rohc_context_sessions_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // RLC-Parameters-v1430 ::= SEQUENCE struct rlc_params_v1430_s { bool extended_poll_byte_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-BasedNetwPerfMeasParameters-v1430 ::= SEQUENCE struct ue_based_netw_perf_meas_params_v1430_s { bool location_report_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1440-IEs ::= SEQUENCE struct ue_eutra_cap_v1440_ies_s { bool non_crit_ext_present = false; lwa_params_v1440_s lwa_params_v1440; mac_params_v1440_s mac_params_v1440; ue_eutra_cap_v1450_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1430 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1430_s { bool phy_layer_params_v1430_present = false; bool mmtel_params_r14_present = false; phy_layer_params_v1430_s phy_layer_params_v1430; mmtel_params_r14_s mmtel_params_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // Other-Parameters-v1360 ::= SEQUENCE struct other_params_v1360_s { bool in_dev_coex_ind_hardware_sharing_ind_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1430-IEs ::= SEQUENCE struct ue_eutra_cap_v1430_ies_s { struct ue_category_ul_v1430_opts { enum options { n16, n17, n18, n19, n20, m2, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated ue_category_ul_v1430_e_; // member variables bool ue_category_dl_v1430_present = false; bool ue_category_ul_v1430_present = false; bool ue_category_ul_v1430b_present = false; bool mac_params_v1430_present = false; bool meas_params_v1430_present = false; bool pdcp_params_v1430_present = false; bool rf_params_v1430_present = false; bool laa_params_v1430_present = false; bool lwa_params_v1430_present = false; bool lwip_params_v1430_present = false; bool mmtel_params_r14_present = false; bool mob_params_r14_present = false; bool fdd_add_ue_eutra_cap_v1430_present = false; bool tdd_add_ue_eutra_cap_v1430_present = false; bool mbms_params_v1430_present = false; bool sl_params_v1430_present = false; bool ue_based_netw_perf_meas_params_v1430_present = false; bool high_speed_enh_params_r14_present = false; bool non_crit_ext_present = false; phy_layer_params_v1430_s phy_layer_params_v1430; ue_category_ul_v1430_e_ ue_category_ul_v1430; mac_params_v1430_s mac_params_v1430; meas_params_v1430_s meas_params_v1430; pdcp_params_v1430_s pdcp_params_v1430; rlc_params_v1430_s rlc_params_v1430; rf_params_v1430_s rf_params_v1430; laa_params_v1430_s laa_params_v1430; lwa_params_v1430_s lwa_params_v1430; lwip_params_v1430_s lwip_params_v1430; other_params_v1430_s other_params_v1430; mmtel_params_r14_s mmtel_params_r14; mob_params_r14_s mob_params_r14; ce_params_v1430_s ce_params_v1430; ue_eutra_cap_add_xdd_mode_v1430_s fdd_add_ue_eutra_cap_v1430; ue_eutra_cap_add_xdd_mode_v1430_s tdd_add_ue_eutra_cap_v1430; mbms_params_v1430_s mbms_params_v1430; sl_params_v1430_s sl_params_v1430; ue_based_netw_perf_meas_params_v1430_s ue_based_netw_perf_meas_params_v1430; high_speed_enh_params_r14_s high_speed_enh_params_r14; ue_eutra_cap_v1440_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CE-Parameters-v1350 ::= SEQUENCE struct ce_params_v1350_s { bool unicast_freq_hop_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1360-IEs ::= SEQUENCE struct ue_eutra_cap_v1360_ies_s { bool other_params_v1360_present = false; bool non_crit_ext_present = false; other_params_v1360_s other_params_v1360; ue_eutra_cap_v1430_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1350-IEs ::= SEQUENCE struct ue_eutra_cap_v1350_ies_s { bool ue_category_dl_v1350_present = false; bool ue_category_ul_v1350_present = false; bool non_crit_ext_present = false; ce_params_v1350_s ce_params_v1350; ue_eutra_cap_v1360_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SCPTM-Parameters-r13 ::= SEQUENCE struct scptm_params_r13_s { bool scptm_parallel_reception_r13_present = false; bool scptm_scell_r13_present = false; bool scptm_non_serving_cell_r13_present = false; bool scptm_async_dc_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1340-IEs ::= SEQUENCE struct ue_eutra_cap_v1340_ies_s { bool ue_category_ul_v1340_present = false; bool non_crit_ext_present = false; uint8_t ue_category_ul_v1340 = 15; ue_eutra_cap_v1350_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CE-Parameters-v1320 ::= SEQUENCE struct ce_params_v1320_s { bool intra_freq_a3_ce_mode_a_r13_present = false; bool intra_freq_a3_ce_mode_b_r13_present = false; bool intra_freq_ho_ce_mode_a_r13_present = false; bool intra_freq_ho_ce_mode_b_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1310 ::= SEQUENCE struct phy_layer_params_v1310_s { struct supported_blind_decoding_r13_s_ { bool max_num_decoding_r13_present = false; bool pdcch_candidate_reductions_r13_present = false; bool skip_monitoring_dci_format0_minus1_a_r13_present = false; uint8_t max_num_decoding_r13 = 1; }; // member variables bool aperiodic_csi_report_r13_present = false; bool codebook_harq_ack_r13_present = false; bool cross_carrier_sched_b5_c_r13_present = false; bool fdd_harq_timing_tdd_r13_present = false; bool max_num_upd_csi_proc_r13_present = false; bool pucch_format4_r13_present = false; bool pucch_format5_r13_present = false; bool pucch_scell_r13_present = false; bool spatial_bundling_harq_ack_r13_present = false; bool supported_blind_decoding_r13_present = false; bool uci_pusch_ext_r13_present = false; bool crs_interf_mitigation_tm10_r13_present = false; bool pdsch_collision_handling_r13_present = false; fixed_bitstring<2> aperiodic_csi_report_r13; fixed_bitstring<2> codebook_harq_ack_r13; uint8_t max_num_upd_csi_proc_r13 = 5; supported_blind_decoding_r13_s_ supported_blind_decoding_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1330-IEs ::= SEQUENCE struct ue_eutra_cap_v1330_ies_s { bool ue_category_dl_v1330_present = false; bool phy_layer_params_v1330_present = false; bool ue_ce_need_ul_gaps_r13_present = false; bool non_crit_ext_present = false; uint8_t ue_category_dl_v1330 = 18; phy_layer_params_v1330_s phy_layer_params_v1330; ue_eutra_cap_v1340_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1320 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1320_s { bool phy_layer_params_v1320_present = false; bool scptm_params_r13_present = false; phy_layer_params_v1320_s phy_layer_params_v1320; scptm_params_r13_s scptm_params_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CE-Parameters-r13 ::= SEQUENCE struct ce_params_r13_s { bool ce_mode_a_r13_present = false; bool ce_mode_b_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // DC-Parameters-v1310 ::= SEQUENCE struct dc_params_v1310_s { bool pdcp_transfer_split_ul_r13_present = false; bool ue_sstd_meas_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // LAA-Parameters-r13 ::= SEQUENCE struct laa_params_r13_s { bool cross_carrier_sched_laa_dl_r13_present = false; bool csi_rs_drs_rrm_meass_laa_r13_present = false; bool dl_laa_r13_present = false; bool ending_dw_pts_r13_present = false; bool second_slot_start_position_r13_present = false; bool tm9_laa_r13_present = false; bool tm10_laa_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // LWA-Parameters-r13 ::= SEQUENCE struct lwa_params_r13_s { bool lwa_r13_present = false; bool lwa_split_bearer_r13_present = false; bool wlan_mac_address_r13_present = false; bool lwa_buffer_size_r13_present = false; fixed_octstring<6> wlan_mac_address_r13; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // LWIP-Parameters-r13 ::= SEQUENCE struct lwip_params_r13_s { bool lwip_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MAC-Parameters-v1310 ::= SEQUENCE struct mac_params_v1310_s { bool extended_mac_len_field_r13_present = false; bool extended_long_drx_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MeasParameters-v1310 ::= SEQUENCE struct meas_params_v1310_s { bool rs_sinr_meas_r13_present = false; bool allowed_cell_list_r13_present = false; bool extended_max_obj_id_r13_present = false; bool ul_pdcp_delay_r13_present = false; bool extended_freq_priorities_r13_present = false; bool multi_band_info_report_r13_present = false; bool rssi_and_ch_occupancy_report_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PDCP-Parameters-v1310 ::= SEQUENCE struct pdcp_params_v1310_s { bool pdcp_sn_ext_minus18bits_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // RLC-Parameters-v1310 ::= SEQUENCE struct rlc_params_v1310_s { bool extended_rlc_sn_so_field_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SL-Parameters-v1310 ::= SEQUENCE struct sl_params_v1310_s { bool disc_sys_info_report_r13_present = false; bool comm_multiple_tx_r13_present = false; bool disc_inter_freq_tx_r13_present = false; bool disc_periodic_slss_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1320-IEs ::= SEQUENCE struct ue_eutra_cap_v1320_ies_s { bool ce_params_v1320_present = false; bool phy_layer_params_v1320_present = false; bool rf_params_v1320_present = false; bool fdd_add_ue_eutra_cap_v1320_present = false; bool tdd_add_ue_eutra_cap_v1320_present = false; bool non_crit_ext_present = false; ce_params_v1320_s ce_params_v1320; phy_layer_params_v1320_s phy_layer_params_v1320; rf_params_v1320_s rf_params_v1320; ue_eutra_cap_add_xdd_mode_v1320_s fdd_add_ue_eutra_cap_v1320; ue_eutra_cap_add_xdd_mode_v1320_s tdd_add_ue_eutra_cap_v1320; ue_eutra_cap_v1330_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1310 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1310_s { bool phy_layer_params_v1310_present = false; phy_layer_params_v1310_s phy_layer_params_v1310; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // WLAN-IW-Parameters-v1310 ::= SEQUENCE struct wlan_iw_params_v1310_s { bool rclwi_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1280 ::= SEQUENCE struct phy_layer_params_v1280_s { bool alt_tbs_indices_r12_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1310-IEs ::= SEQUENCE struct ue_eutra_cap_v1310_ies_s { struct ue_category_dl_v1310_opts { enum options { n17, m1, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated ue_category_dl_v1310_e_; struct ue_category_ul_v1310_opts { enum options { n14, m1, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated ue_category_ul_v1310_e_; // member variables bool ue_category_dl_v1310_present = false; bool ue_category_ul_v1310_present = false; bool mac_params_v1310_present = false; bool phy_layer_params_v1310_present = false; bool rf_params_v1310_present = false; bool meas_params_v1310_present = false; bool dc_params_v1310_present = false; bool sl_params_v1310_present = false; bool scptm_params_r13_present = false; bool ce_params_r13_present = false; bool laa_params_r13_present = false; bool lwa_params_r13_present = false; bool fdd_add_ue_eutra_cap_v1310_present = false; bool tdd_add_ue_eutra_cap_v1310_present = false; bool non_crit_ext_present = false; ue_category_dl_v1310_e_ ue_category_dl_v1310; ue_category_ul_v1310_e_ ue_category_ul_v1310; pdcp_params_v1310_s pdcp_params_v1310; rlc_params_v1310_s rlc_params_v1310; mac_params_v1310_s mac_params_v1310; phy_layer_params_v1310_s phy_layer_params_v1310; rf_params_v1310_s rf_params_v1310; meas_params_v1310_s meas_params_v1310; dc_params_v1310_s dc_params_v1310; sl_params_v1310_s sl_params_v1310; scptm_params_r13_s scptm_params_r13; ce_params_r13_s ce_params_r13; irat_params_wlan_r13_s inter_rat_params_wlan_r13; laa_params_r13_s laa_params_r13; lwa_params_r13_s lwa_params_r13; wlan_iw_params_v1310_s wlan_iw_params_v1310; lwip_params_r13_s lwip_params_r13; ue_eutra_cap_add_xdd_mode_v1310_s fdd_add_ue_eutra_cap_v1310; ue_eutra_cap_add_xdd_mode_v1310_s tdd_add_ue_eutra_cap_v1310; ue_eutra_cap_v1320_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1280-IEs ::= SEQUENCE struct ue_eutra_cap_v1280_ies_s { bool phy_layer_params_v1280_present = false; bool non_crit_ext_present = false; phy_layer_params_v1280_s phy_layer_params_v1280; ue_eutra_cap_v1310_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MeasParameters-v1250 ::= SEQUENCE struct meas_params_v1250_s { bool timer_t312_r12_present = false; bool alt_time_to_trigger_r12_present = false; bool inc_mon_eutra_r12_present = false; bool inc_mon_utra_r12_present = false; bool extended_max_meas_id_r12_present = false; bool extended_rsrq_lower_range_r12_present = false; bool rsrq_on_all_symbols_r12_present = false; bool crs_discovery_signals_meas_r12_present = false; bool csi_rs_discovery_signals_meas_r12_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1270-IEs ::= SEQUENCE struct ue_eutra_cap_v1270_ies_s { bool rf_params_v1270_present = false; bool non_crit_ext_present = false; rf_params_v1270_s rf_params_v1270; ue_eutra_cap_v1280_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // DC-Parameters-r12 ::= SEQUENCE struct dc_params_r12_s { bool drb_type_split_r12_present = false; bool drb_type_scg_r12_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MAC-Parameters-r12 ::= SEQUENCE struct mac_params_r12_s { bool lc_ch_sr_prohibit_timer_r12_present = false; bool long_drx_cmd_r12_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MBMS-Parameters-v1250 ::= SEQUENCE struct mbms_params_v1250_s { bool mbms_async_dc_r12_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // RLC-Parameters-r12 ::= SEQUENCE struct rlc_params_r12_s { // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-BasedNetwPerfMeasParameters-v1250 ::= SEQUENCE struct ue_based_netw_perf_meas_params_v1250_s { // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1260-IEs ::= SEQUENCE struct ue_eutra_cap_v1260_ies_s { bool ue_category_dl_v1260_present = false; bool non_crit_ext_present = false; uint8_t ue_category_dl_v1260 = 15; ue_eutra_cap_v1270_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1250 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1250_s { bool phy_layer_params_v1250_present = false; bool meas_params_v1250_present = false; phy_layer_params_v1250_s phy_layer_params_v1250; meas_params_v1250_s meas_params_v1250; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // WLAN-IW-Parameters-r12 ::= SEQUENCE struct wlan_iw_params_r12_s { bool wlan_iw_ran_rules_r12_present = false; bool wlan_iw_andsf_policies_r12_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MBMS-Parameters-r11 ::= SEQUENCE struct mbms_params_r11_s { bool mbms_scell_r11_present = false; bool mbms_non_serving_cell_r11_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MeasParameters-v11a0 ::= SEQUENCE struct meas_params_v11a0_s { bool benefits_from_interruption_r11_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1250-IEs ::= SEQUENCE struct ue_eutra_cap_v1250_ies_s { bool phy_layer_params_v1250_present = false; bool rf_params_v1250_present = false; bool rlc_params_r12_present = false; bool ue_based_netw_perf_meas_params_v1250_present = false; bool ue_category_dl_r12_present = false; bool ue_category_ul_r12_present = false; bool wlan_iw_params_r12_present = false; bool meas_params_v1250_present = false; bool dc_params_r12_present = false; bool mbms_params_v1250_present = false; bool mac_params_r12_present = false; bool fdd_add_ue_eutra_cap_v1250_present = false; bool tdd_add_ue_eutra_cap_v1250_present = false; bool sl_params_r12_present = false; bool non_crit_ext_present = false; phy_layer_params_v1250_s phy_layer_params_v1250; rf_params_v1250_s rf_params_v1250; rlc_params_r12_s rlc_params_r12; ue_based_netw_perf_meas_params_v1250_s ue_based_netw_perf_meas_params_v1250; uint8_t ue_category_dl_r12 = 0; uint8_t ue_category_ul_r12 = 0; wlan_iw_params_r12_s wlan_iw_params_r12; meas_params_v1250_s meas_params_v1250; dc_params_r12_s dc_params_r12; mbms_params_v1250_s mbms_params_v1250; mac_params_r12_s mac_params_r12; ue_eutra_cap_add_xdd_mode_v1250_s fdd_add_ue_eutra_cap_v1250; ue_eutra_cap_add_xdd_mode_v1250_s tdd_add_ue_eutra_cap_v1250; sl_params_r12_s sl_params_r12; ue_eutra_cap_v1260_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v11a0-IEs ::= SEQUENCE struct ue_eutra_cap_v11a0_ies_s { bool ue_category_v11a0_present = false; bool meas_params_v11a0_present = false; bool non_crit_ext_present = false; uint8_t ue_category_v11a0 = 11; meas_params_v11a0_s meas_params_v11a0; ue_eutra_cap_v1250_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1180 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1180_s { mbms_params_r11_s mbms_params_r11; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MeasParameters-v1130 ::= SEQUENCE struct meas_params_v1130_s { bool rsrq_meas_wideband_r11_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // Other-Parameters-r11 ::= SEQUENCE struct other_params_r11_s { bool in_dev_coex_ind_r11_present = false; bool pwr_pref_ind_r11_present = false; bool ue_rx_tx_time_diff_meass_r11_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1130 ::= SEQUENCE struct phy_layer_params_v1130_s { bool crs_interf_handl_r11_present = false; bool epdcch_r11_present = false; bool multi_ack_csi_report_r11_present = false; bool ss_cch_interf_handl_r11_present = false; bool tdd_special_sf_r11_present = false; bool tx_div_pucch1b_ch_select_r11_present = false; bool ul_co_mp_r11_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v1170 ::= SEQUENCE struct phy_layer_params_v1170_s { bool inter_band_tdd_ca_with_different_cfg_r11_present = false; fixed_bitstring<2> inter_band_tdd_ca_with_different_cfg_r11; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1180-IEs ::= SEQUENCE struct ue_eutra_cap_v1180_ies_s { bool rf_params_v1180_present = false; bool mbms_params_r11_present = false; bool fdd_add_ue_eutra_cap_v1180_present = false; bool tdd_add_ue_eutra_cap_v1180_present = false; bool non_crit_ext_present = false; rf_params_v1180_s rf_params_v1180; mbms_params_r11_s mbms_params_r11; ue_eutra_cap_add_xdd_mode_v1180_s fdd_add_ue_eutra_cap_v1180; ue_eutra_cap_add_xdd_mode_v1180_s tdd_add_ue_eutra_cap_v1180; ue_eutra_cap_v11a0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersCDMA2000-v1130 ::= SEQUENCE struct irat_params_cdma2000_v1130_s { bool cdma2000_nw_sharing_r11_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PDCP-Parameters-v1130 ::= SEQUENCE struct pdcp_params_v1130_s { bool pdcp_sn_ext_r11_present = false; bool support_rohc_context_continue_r11_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1170-IEs ::= SEQUENCE struct ue_eutra_cap_v1170_ies_s { bool phy_layer_params_v1170_present = false; bool ue_category_v1170_present = false; bool non_crit_ext_present = false; phy_layer_params_v1170_s phy_layer_params_v1170; uint8_t ue_category_v1170 = 9; ue_eutra_cap_v1180_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1130 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1130_s { bool ext = false; bool phy_layer_params_v1130_present = false; bool meas_params_v1130_present = false; bool other_params_r11_present = false; phy_layer_params_v1130_s phy_layer_params_v1130; meas_params_v1130_s meas_params_v1130; other_params_r11_s other_params_r11; // ... // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersCDMA2000-1XRTT-v1020 ::= SEQUENCE struct irat_params_cdma2000_minus1_xrtt_v1020_s { // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersUTRA-TDD-v1020 ::= SEQUENCE struct irat_params_utra_tdd_v1020_s { // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // OTDOA-PositioningCapabilities-r10 ::= SEQUENCE struct otdoa_positioning_cap_r10_s { bool inter_freq_rstd_meas_r10_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1130-IEs ::= SEQUENCE struct ue_eutra_cap_v1130_ies_s { bool phy_layer_params_v1130_present = false; bool fdd_add_ue_eutra_cap_v1130_present = false; bool tdd_add_ue_eutra_cap_v1130_present = false; bool non_crit_ext_present = false; pdcp_params_v1130_s pdcp_params_v1130; phy_layer_params_v1130_s phy_layer_params_v1130; rf_params_v1130_s rf_params_v1130; meas_params_v1130_s meas_params_v1130; irat_params_cdma2000_v1130_s inter_rat_params_cdma2000_v1130; other_params_r11_s other_params_r11; ue_eutra_cap_add_xdd_mode_v1130_s fdd_add_ue_eutra_cap_v1130; ue_eutra_cap_add_xdd_mode_v1130_s tdd_add_ue_eutra_cap_v1130; ue_eutra_cap_v1170_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1090-IEs ::= SEQUENCE struct ue_eutra_cap_v1090_ies_s { bool rf_params_v1090_present = false; bool non_crit_ext_present = false; rf_params_v1090_s rf_params_v1090; ue_eutra_cap_v1130_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1060 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1060_s { bool ext = false; bool phy_layer_params_v1060_present = false; bool feature_group_ind_rel10_v1060_present = false; bool inter_rat_params_cdma2000_v1060_present = false; bool inter_rat_params_utra_tdd_v1060_present = false; phy_layer_params_v1020_s phy_layer_params_v1060; fixed_bitstring<32> feature_group_ind_rel10_v1060; irat_params_cdma2000_minus1_xrtt_v1020_s inter_rat_params_cdma2000_v1060; irat_params_utra_tdd_v1020_s inter_rat_params_utra_tdd_v1060; // ... // group 0 copy_ptr otdoa_positioning_cap_r10; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-BasedNetwPerfMeasParameters-r10 ::= SEQUENCE struct ue_based_netw_perf_meas_params_r10_s { bool logged_meass_idle_r10_present = false; bool standalone_gnss_location_r10_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1060-IEs ::= SEQUENCE struct ue_eutra_cap_v1060_ies_s { bool fdd_add_ue_eutra_cap_v1060_present = false; bool tdd_add_ue_eutra_cap_v1060_present = false; bool rf_params_v1060_present = false; bool non_crit_ext_present = false; ue_eutra_cap_add_xdd_mode_v1060_s fdd_add_ue_eutra_cap_v1060; ue_eutra_cap_add_xdd_mode_v1060_s tdd_add_ue_eutra_cap_v1060; rf_params_v1060_s rf_params_v1060; ue_eutra_cap_v1090_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1020-IEs ::= SEQUENCE struct ue_eutra_cap_v1020_ies_s { bool ue_category_v1020_present = false; bool phy_layer_params_v1020_present = false; bool rf_params_v1020_present = false; bool meas_params_v1020_present = false; bool feature_group_ind_rel10_r10_present = false; bool inter_rat_params_cdma2000_v1020_present = false; bool ue_based_netw_perf_meas_params_r10_present = false; bool inter_rat_params_utra_tdd_v1020_present = false; bool non_crit_ext_present = false; uint8_t ue_category_v1020 = 6; phy_layer_params_v1020_s phy_layer_params_v1020; rf_params_v1020_s rf_params_v1020; meas_params_v1020_s meas_params_v1020; fixed_bitstring<32> feature_group_ind_rel10_r10; irat_params_cdma2000_minus1_xrtt_v1020_s inter_rat_params_cdma2000_v1020; ue_based_netw_perf_meas_params_r10_s ue_based_netw_perf_meas_params_r10; irat_params_utra_tdd_v1020_s inter_rat_params_utra_tdd_v1020; ue_eutra_cap_v1060_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CSG-ProximityIndicationParameters-r9 ::= SEQUENCE struct csg_proximity_ind_params_r9_s { bool intra_freq_proximity_ind_r9_present = false; bool inter_freq_proximity_ind_r9_present = false; bool utran_proximity_ind_r9_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersCDMA2000-1XRTT-v920 ::= SEQUENCE struct irat_params_cdma2000_minus1_xrtt_v920_s { bool e_csfb_conc_ps_mob1_xrtt_r9_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersGERAN-v920 ::= SEQUENCE struct irat_params_geran_v920_s { bool dtm_r9_present = false; bool e_redirection_geran_r9_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersUTRA-v920 ::= SEQUENCE struct irat_params_utra_v920_s { // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // NeighCellSI-AcquisitionParameters-r9 ::= SEQUENCE struct neigh_cell_si_acquisition_params_r9_s { bool intra_freq_si_acquisition_for_ho_r9_present = false; bool inter_freq_si_acquisition_for_ho_r9_present = false; bool utran_si_acquisition_for_ho_r9_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v920 ::= SEQUENCE struct phy_layer_params_v920_s { bool enhanced_dual_layer_fdd_r9_present = false; bool enhanced_dual_layer_tdd_r9_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // SON-Parameters-r9 ::= SEQUENCE struct son_params_r9_s { bool rach_report_r9_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v940-IEs ::= SEQUENCE struct ue_eutra_cap_v940_ies_s { bool late_non_crit_ext_present = false; bool non_crit_ext_present = false; dyn_octstring late_non_crit_ext; ue_eutra_cap_v1020_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // AccessStratumRelease ::= ENUMERATED struct access_stratum_release_opts { enum options { rel8, rel9, rel10, rel11, rel12, rel13, rel14, rel15, /*...*/ rel16, rel17, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated access_stratum_release_e; // PhyLayerParameters ::= SEQUENCE struct phy_layer_params_s { bool ue_tx_ant_sel_supported = false; bool ue_specific_ref_sigs_supported = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v920-IEs ::= SEQUENCE struct ue_eutra_cap_v920_ies_s { bool inter_rat_params_utra_v920_present = false; bool inter_rat_params_cdma2000_v920_present = false; bool dev_type_r9_present = false; bool non_crit_ext_present = false; phy_layer_params_v920_s phy_layer_params_v920; irat_params_geran_v920_s inter_rat_params_geran_v920; irat_params_utra_v920_s inter_rat_params_utra_v920; irat_params_cdma2000_minus1_xrtt_v920_s inter_rat_params_cdma2000_v920; csg_proximity_ind_params_r9_s csg_proximity_ind_params_r9; neigh_cell_si_acquisition_params_r9_s neigh_cell_si_acquisition_params_r9; son_params_r9_s son_params_r9; ue_eutra_cap_v940_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability ::= SEQUENCE struct ue_eutra_cap_s { struct inter_rat_params_s_ { bool utra_fdd_present = false; bool utra_tdd128_present = false; bool utra_tdd384_present = false; bool utra_tdd768_present = false; bool geran_present = false; bool cdma2000_hrpd_present = false; bool cdma2000_minus1x_rtt_present = false; irat_params_utra_fdd_s utra_fdd; irat_params_utra_tdd128_s utra_tdd128; irat_params_utra_tdd384_s utra_tdd384; irat_params_utra_tdd768_s utra_tdd768; irat_params_geran_s geran; irat_params_cdma2000_hrpd_s cdma2000_hrpd; irat_params_cdma2000_minus1_xrtt_s cdma2000_minus1x_rtt; }; // member variables bool feature_group_inds_present = false; bool non_crit_ext_present = false; access_stratum_release_e access_stratum_release; uint8_t ue_category = 1; pdcp_params_s pdcp_params; phy_layer_params_s phy_layer_params; rf_params_s rf_params; meas_params_s meas_params; fixed_bitstring<32> feature_group_inds; inter_rat_params_s_ inter_rat_params; ue_eutra_cap_v920_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MeasParameters-v16c0 ::= SEQUENCE struct meas_params_v16c0_s { bool nr_cell_individual_offset_r16_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v16c0-IEs ::= SEQUENCE struct ue_eutra_cap_v16c0_ies_s { bool late_non_crit_ext_present = false; bool non_crit_ext_present = false; meas_params_v16c0_s meas_params_v16c0; dyn_octstring late_non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v15x0-IEs ::= SEQUENCE struct ue_eutra_cap_v15x0_ies_s { bool late_non_crit_ext_present = false; bool non_crit_ext_present = false; dyn_octstring late_non_crit_ext; ue_eutra_cap_v16c0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v14x0-IEs ::= SEQUENCE struct ue_eutra_cap_v14x0_ies_s { bool late_non_crit_ext_present = false; bool non_crit_ext_present = false; dyn_octstring late_non_crit_ext; ue_eutra_cap_v15x0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v14a0 ::= SEQUENCE struct phy_layer_params_v14a0_s { bool ssp10_tdd_only_r14_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v14b0-IEs ::= SEQUENCE struct ue_eutra_cap_v14b0_ies_s { bool rf_params_v14b0_present = false; bool non_crit_ext_present = false; rf_params_v14b0_s rf_params_v14b0; ue_eutra_cap_v14x0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // MBMS-Parameters-v1470 ::= SEQUENCE struct mbms_params_v1470_s { struct mbms_max_bw_r14_c_ { struct types_opts { enum options { implicit_value, explicit_value, nulltype } value; const char* to_string() const; }; typedef enumerated types; // choice methods mbms_max_bw_r14_c_() = default; void set(types::options e = types::nulltype); types type() const { return type_; } SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; // getters uint8_t& explicit_value() { assert_choice_type(types::explicit_value, type_, "mbms-MaxBW-r14"); return c; } const uint8_t& explicit_value() const { assert_choice_type(types::explicit_value, type_, "mbms-MaxBW-r14"); return c; } void set_implicit_value(); uint8_t& set_explicit_value(); private: types type_; uint8_t c; }; struct mbms_scaling_factor1dot25_r14_opts { enum options { n3, n6, n9, n12, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated mbms_scaling_factor1dot25_r14_e_; struct mbms_scaling_factor7dot5_r14_opts { enum options { n1, n2, n3, n4, nulltype } value; typedef uint8_t number_type; const char* to_string() const; uint8_t to_number() const; }; typedef enumerated mbms_scaling_factor7dot5_r14_e_; // member variables bool mbms_scaling_factor1dot25_r14_present = false; bool mbms_scaling_factor7dot5_r14_present = false; mbms_max_bw_r14_c_ mbms_max_bw_r14; mbms_scaling_factor1dot25_r14_e_ mbms_scaling_factor1dot25_r14; mbms_scaling_factor7dot5_r14_e_ mbms_scaling_factor7dot5_r14; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v14a0-IEs ::= SEQUENCE struct ue_eutra_cap_v14a0_ies_s { bool non_crit_ext_present = false; phy_layer_params_v14a0_s phy_layer_params_v14a0; ue_eutra_cap_v14b0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1470-IEs ::= SEQUENCE struct ue_eutra_cap_v1470_ies_s { bool mbms_params_v1470_present = false; bool phy_layer_params_v1470_present = false; bool rf_params_v1470_present = false; bool non_crit_ext_present = false; mbms_params_v1470_s mbms_params_v1470; phy_layer_params_v1470_s phy_layer_params_v1470; rf_params_v1470_s rf_params_v1470; ue_eutra_cap_v14a0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CE-Parameters-v1380 ::= SEQUENCE struct ce_params_v1380_s { bool tm6_ce_mode_a_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v13e0a-IEs ::= SEQUENCE struct ue_eutra_cap_v13e0a_ies_s { bool late_non_crit_ext_present = false; bool non_crit_ext_present = false; dyn_octstring late_non_crit_ext; ue_eutra_cap_v1470_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // CE-Parameters-v1370 ::= SEQUENCE struct ce_params_v1370_s { bool tm9_ce_mode_a_r13_present = false; bool tm9_ce_mode_b_r13_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1390-IEs ::= SEQUENCE struct ue_eutra_cap_v1390_ies_s { bool rf_params_v1390_present = false; bool non_crit_ext_present = false; rf_params_v1390_s rf_params_v1390; ue_eutra_cap_v13e0a_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1380 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1380_s { ce_params_v1380_s ce_params_v1380; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1380-IEs ::= SEQUENCE struct ue_eutra_cap_v1380_ies_s { bool rf_params_v1380_present = false; bool non_crit_ext_present = false; rf_params_v1380_s rf_params_v1380; ce_params_v1380_s ce_params_v1380; ue_eutra_cap_add_xdd_mode_v1380_s fdd_add_ue_eutra_cap_v1380; ue_eutra_cap_add_xdd_mode_v1380_s tdd_add_ue_eutra_cap_v1380; ue_eutra_cap_v1390_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-v1370 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_v1370_s { bool ce_params_v1370_present = false; ce_params_v1370_s ce_params_v1370; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v1370-IEs ::= SEQUENCE struct ue_eutra_cap_v1370_ies_s { bool ce_params_v1370_present = false; bool fdd_add_ue_eutra_cap_v1370_present = false; bool tdd_add_ue_eutra_cap_v1370_present = false; bool non_crit_ext_present = false; ce_params_v1370_s ce_params_v1370; ue_eutra_cap_add_xdd_mode_v1370_s fdd_add_ue_eutra_cap_v1370; ue_eutra_cap_add_xdd_mode_v1370_s tdd_add_ue_eutra_cap_v1370; ue_eutra_cap_v1380_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // RF-Parameters-v12b0 ::= SEQUENCE struct rf_params_v12b0_s { bool max_layers_mimo_ind_r12_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v12x0-IEs ::= SEQUENCE struct ue_eutra_cap_v12x0_ies_s { bool late_non_crit_ext_present = false; bool non_crit_ext_present = false; dyn_octstring late_non_crit_ext; ue_eutra_cap_v1370_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v12b0-IEs ::= SEQUENCE struct ue_eutra_cap_v12b0_ies_s { bool rf_params_v12b0_present = false; bool non_crit_ext_present = false; rf_params_v12b0_s rf_params_v12b0; ue_eutra_cap_v12x0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // Other-Parameters-v11d0 ::= SEQUENCE struct other_params_v11d0_s { bool in_dev_coex_ind_ul_ca_r11_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v11x0-IEs ::= SEQUENCE struct ue_eutra_cap_v11x0_ies_s { bool late_non_crit_ext_present = false; bool non_crit_ext_present = false; dyn_octstring late_non_crit_ext; ue_eutra_cap_v12b0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v11d0-IEs ::= SEQUENCE struct ue_eutra_cap_v11d0_ies_s { bool rf_params_v11d0_present = false; bool other_params_v11d0_present = false; bool non_crit_ext_present = false; rf_params_v11d0_s rf_params_v11d0; other_params_v11d0_s other_params_v11d0; ue_eutra_cap_v11x0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // RF-Parameters-v10f0 ::= SEQUENCE struct rf_params_v10f0_s { bool modified_mpr_behavior_r10_present = false; fixed_bitstring<32> modified_mpr_behavior_r10; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v10i0-IEs ::= SEQUENCE struct ue_eutra_cap_v10i0_ies_s { bool rf_params_v10i0_present = false; bool late_non_crit_ext_present = false; bool non_crit_ext_present = false; rf_params_v10i0_s rf_params_v10i0; dyn_octstring late_non_crit_ext; ue_eutra_cap_v11d0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v10f0-IEs ::= SEQUENCE struct ue_eutra_cap_v10f0_ies_s { bool rf_params_v10f0_present = false; bool non_crit_ext_present = false; rf_params_v10f0_s rf_params_v10f0; ue_eutra_cap_v10i0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v10c0-IEs ::= SEQUENCE struct ue_eutra_cap_v10c0_ies_s { bool otdoa_positioning_cap_r10_present = false; bool non_crit_ext_present = false; otdoa_positioning_cap_r10_s otdoa_positioning_cap_r10; ue_eutra_cap_v10f0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // RF-Parameters-v10j0 ::= SEQUENCE struct rf_params_v10j0_s { bool multi_ns_pmax_r10_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v10j0-IEs ::= SEQUENCE struct ue_eutra_cap_v10j0_ies_s { bool rf_params_v10j0_present = false; bool non_crit_ext_present = false; rf_params_v10j0_s rf_params_v10j0; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersUTRA-v9h0 ::= SEQUENCE struct irat_params_utra_v9h0_s { // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v9h0-IEs ::= SEQUENCE struct ue_eutra_cap_v9h0_ies_s { bool inter_rat_params_utra_v9h0_present = false; bool late_non_crit_ext_present = false; bool non_crit_ext_present = false; irat_params_utra_v9h0_s inter_rat_params_utra_v9h0; dyn_octstring late_non_crit_ext; ue_eutra_cap_v10c0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // PhyLayerParameters-v9d0 ::= SEQUENCE struct phy_layer_params_v9d0_s { bool tm5_fdd_r9_present = false; bool tm5_tdd_r9_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v9e0-IEs ::= SEQUENCE struct ue_eutra_cap_v9e0_ies_s { bool rf_params_v9e0_present = false; bool non_crit_ext_present = false; rf_params_v9e0_s rf_params_v9e0; ue_eutra_cap_v9h0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // IRAT-ParametersUTRA-v9c0 ::= SEQUENCE struct irat_params_utra_v9c0_s { bool voice_over_ps_hs_utra_fdd_r9_present = false; bool voice_over_ps_hs_utra_tdd128_r9_present = false; bool srvcc_from_utra_fdd_to_utra_fdd_r9_present = false; bool srvcc_from_utra_fdd_to_geran_r9_present = false; bool srvcc_from_utra_tdd128_to_utra_tdd128_r9_present = false; bool srvcc_from_utra_tdd128_to_geran_r9_present = false; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v9d0-IEs ::= SEQUENCE struct ue_eutra_cap_v9d0_ies_s { bool phy_layer_params_v9d0_present = false; bool non_crit_ext_present = false; phy_layer_params_v9d0_s phy_layer_params_v9d0; ue_eutra_cap_v9e0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v9c0-IEs ::= SEQUENCE struct ue_eutra_cap_v9c0_ies_s { bool inter_rat_params_utra_v9c0_present = false; bool non_crit_ext_present = false; irat_params_utra_v9c0_s inter_rat_params_utra_v9c0; ue_eutra_cap_v9d0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-CapabilityAddXDD-Mode-r9 ::= SEQUENCE struct ue_eutra_cap_add_xdd_mode_r9_s { bool ext = false; bool phy_layer_params_r9_present = false; bool feature_group_inds_r9_present = false; bool feature_group_ind_rel9_add_r9_present = false; bool inter_rat_params_geran_r9_present = false; bool inter_rat_params_utra_r9_present = false; bool inter_rat_params_cdma2000_r9_present = false; bool neigh_cell_si_acquisition_params_r9_present = false; phy_layer_params_s phy_layer_params_r9; fixed_bitstring<32> feature_group_inds_r9; fixed_bitstring<32> feature_group_ind_rel9_add_r9; irat_params_geran_s inter_rat_params_geran_r9; irat_params_utra_v920_s inter_rat_params_utra_r9; irat_params_cdma2000_minus1_xrtt_v920_s inter_rat_params_cdma2000_r9; neigh_cell_si_acquisition_params_r9_s neigh_cell_si_acquisition_params_r9; // ... // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UE-EUTRA-Capability-v9a0-IEs ::= SEQUENCE struct ue_eutra_cap_v9a0_ies_s { bool feature_group_ind_rel9_add_r9_present = false; bool fdd_add_ue_eutra_cap_r9_present = false; bool tdd_add_ue_eutra_cap_r9_present = false; bool non_crit_ext_present = false; fixed_bitstring<32> feature_group_ind_rel9_add_r9; ue_eutra_cap_add_xdd_mode_r9_s fdd_add_ue_eutra_cap_r9; ue_eutra_cap_add_xdd_mode_r9_s tdd_add_ue_eutra_cap_r9; ue_eutra_cap_v9c0_ies_s non_crit_ext; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UERadioAccessCapabilityInformation-r8-IEs ::= SEQUENCE struct ue_radio_access_cap_info_r8_ies_s { bool non_crit_ext_present = false; dyn_octstring ue_radio_access_cap_info; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; // UERadioAccessCapabilityInformation ::= SEQUENCE struct ue_radio_access_cap_info_s { struct crit_exts_c_ { struct c1_c_ { struct types_opts { enum options { ue_radio_access_cap_info_r8, spare7, spare6, spare5, spare4, spare3, spare2, spare1, nulltype } value; const char* to_string() const; }; typedef enumerated types; // choice methods c1_c_() = default; void set(types::options e = types::nulltype); types type() const { return type_; } SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; // getters ue_radio_access_cap_info_r8_ies_s& ue_radio_access_cap_info_r8() { assert_choice_type(types::ue_radio_access_cap_info_r8, type_, "c1"); return c; } const ue_radio_access_cap_info_r8_ies_s& ue_radio_access_cap_info_r8() const { assert_choice_type(types::ue_radio_access_cap_info_r8, type_, "c1"); return c; } ue_radio_access_cap_info_r8_ies_s& set_ue_radio_access_cap_info_r8(); void set_spare7(); void set_spare6(); void set_spare5(); void set_spare4(); void set_spare3(); void set_spare2(); void set_spare1(); private: types type_; ue_radio_access_cap_info_r8_ies_s c; }; using types = c1_or_crit_ext_e; // choice methods crit_exts_c_() = default; void set(types::options e = types::nulltype); types type() const { return type_; } SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; // getters c1_c_& c1() { assert_choice_type(types::c1, type_, "criticalExtensions"); return c; } const c1_c_& c1() const { assert_choice_type(types::c1, type_, "criticalExtensions"); return c; } c1_c_& set_c1(); void set_crit_exts_future(); private: types type_; c1_c_ c; }; // member variables crit_exts_c_ crit_exts; // sequence methods SRSASN_CODE pack(bit_ref& bref) const; SRSASN_CODE unpack(cbit_ref& bref); void to_json(json_writer& j) const; }; } // namespace rrc } // namespace asn1 #endif // SRSASN1_RRC_UECAP_H