/** * * \section COPYRIGHT * * Copyright 2013-2021 Software Radio Systems Limited * * By using this file, you agree to the terms and conditions set * forth in the LICENSE file which can be found at the top level of * the distribution. * */ #ifndef SRSRAN_S1AP_UTILS_H #define SRSRAN_S1AP_UTILS_H #include "asn1_utils.h" /************************ * Forward declarations ***********************/ namespace asn1 { namespace s1ap { struct init_context_setup_request_ies_container; using init_context_setup_request_s = elementary_procedure_option; struct ue_context_mod_request_ies_container; using ue_context_mod_request_s = elementary_procedure_option; struct erab_setup_request_ies_container; using erab_setup_request_s = elementary_procedure_option; struct erab_release_cmd_ies_container; using erab_release_cmd_s = elementary_procedure_option; struct erab_modify_request_ies_container; using erab_modify_request_s = elementary_procedure_option; struct ue_paging_id_c; struct ho_request_ies_container; using ho_request_s = elementary_procedure_option; struct sourceenb_to_targetenb_transparent_container_s; struct init_context_setup_resp_ies_container; using init_context_setup_resp_s = elementary_procedure_option; struct erab_setup_resp_ies_container; using erab_setup_resp_s = elementary_procedure_option; struct rrc_establishment_cause_opts; struct cause_radio_network_opts; struct bearers_subject_to_status_transfer_item_ies_o; struct erab_level_qos_params_s; struct ho_cmd_ies_container; using ho_cmd_s = elementary_procedure_option; struct erab_admitted_item_s; struct erab_to_be_modified_item_bearer_mod_req_s; struct cause_c; struct erab_item_s; struct ue_aggregate_maximum_bitrate_s; using bearers_subject_to_status_transfer_list_l = dyn_array >; using rrc_establishment_cause_e = enumerated; using cause_radio_network_e = enumerated; /************************** * S1AP Obj Id *************************/ template uint32_t get_obj_id(const T& obj); template bool lower_obj_id(const T& lhs, const T& rhs) { return get_obj_id(lhs) < get_obj_id(rhs); } template bool equal_obj_id(const T& lhs, const T& rhs) { return get_obj_id(lhs) == get_obj_id(rhs); } } // namespace s1ap } // namespace asn1 namespace srsenb { using transp_addr_t = asn1::bounded_bitstring<1, 160, true, true>; } #endif // SRSRAN_S1AP_UTILS_H