From 7a74bf28d18a2cc1a3d52467832d6688b7cfa7b5 Mon Sep 17 00:00:00 2001 From: Francisco Date: Sat, 21 Nov 2020 12:55:55 +0000 Subject: [PATCH] forward declare s1ap types in enb interfaces --- lib/include/srslte/asn1/s1ap_utils.h | 56 +++++++++++++++++++ .../srslte/interfaces/enb_interfaces.h | 2 +- srsenb/hdr/stack/rrc/rrc_bearer_cfg.h | 1 + srsenb/hdr/stack/upper/s1ap.h | 1 + 4 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 lib/include/srslte/asn1/s1ap_utils.h diff --git a/lib/include/srslte/asn1/s1ap_utils.h b/lib/include/srslte/asn1/s1ap_utils.h new file mode 100644 index 000000000..3c8791aff --- /dev/null +++ b/lib/include/srslte/asn1/s1ap_utils.h @@ -0,0 +1,56 @@ +/* + * Copyright 2013-2020 Software Radio Systems Limited + * + * This file is part of srsLTE. + * + * srsLTE 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. + * + * srsLTE 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/. + * + */ + +#ifndef SRSLTE_S1AP_UTILS_H +#define SRSLTE_S1AP_UTILS_H + +#include "asn1_utils.h" + +/************************ + * Forward declarations + ***********************/ + +namespace asn1 { +namespace s1ap { + +struct init_context_setup_request_s; +struct ue_context_mod_request_s; +struct erab_setup_request_s; +struct ue_paging_id_c; +struct ho_request_s; +struct sourceenb_to_targetenb_transparent_container_s; +struct init_context_setup_resp_s; +struct erab_setup_resp_s; +struct rrc_establishment_cause_opts; +struct cause_radio_network_opts; +struct bearers_subject_to_status_transfer_item_ies_o; + +template +struct protocol_ie_single_container_s; +using bearers_subject_to_status_transfer_list_l = + dyn_array >; +using rrc_establishment_cause_e = enumerated; +using cause_radio_network_e = enumerated; + +} // namespace s1ap +} // namespace asn1 + +#endif // SRSLTE_S1AP_UTILS_H diff --git a/lib/include/srslte/interfaces/enb_interfaces.h b/lib/include/srslte/interfaces/enb_interfaces.h index e3665673e..30df53d92 100644 --- a/lib/include/srslte/interfaces/enb_interfaces.h +++ b/lib/include/srslte/interfaces/enb_interfaces.h @@ -25,7 +25,7 @@ #include "rlc_interface_types.h" #include "rrc_interface_types.h" #include "srslte/asn1/rrc_utils.h" -#include "srslte/asn1/s1ap.h" +#include "srslte/asn1/s1ap_utils.h" #include "srslte/common/common.h" #include "srslte/common/interfaces_common.h" #include "srslte/common/security.h" diff --git a/srsenb/hdr/stack/rrc/rrc_bearer_cfg.h b/srsenb/hdr/stack/rrc/rrc_bearer_cfg.h index 5ba8543ef..feb1446f9 100644 --- a/srsenb/hdr/stack/rrc/rrc_bearer_cfg.h +++ b/srsenb/hdr/stack/rrc/rrc_bearer_cfg.h @@ -23,6 +23,7 @@ #define SRSLTE_RRC_BEARER_CFG_H #include "srsenb/hdr/stack/rrc/rrc_config.h" +#include "srslte/asn1/s1ap.h" #include "srslte/common/logmap.h" #include "srslte/interfaces/enb_interfaces.h" #include "srslte/interfaces/enb_rrc_interface_types.h" diff --git a/srsenb/hdr/stack/upper/s1ap.h b/srsenb/hdr/stack/upper/s1ap.h index f4104d3dc..f13e98026 100644 --- a/srsenb/hdr/stack/upper/s1ap.h +++ b/srsenb/hdr/stack/upper/s1ap.h @@ -33,6 +33,7 @@ #include "srslte/interfaces/enb_interfaces.h" #include "s1ap_metrics.h" +#include "srslte/asn1/s1ap.h" #include "srslte/common/network_utils.h" #include "srslte/common/stack_procedure.h" #include "srslte/common/task_scheduler.h"