final round of warning fixes to compile nr softmodems
This commit is contained in:
@@ -64,6 +64,9 @@ typedef struct itti_lte_time_s {
|
|||||||
|
|
||||||
|
|
||||||
typedef struct IttiMsgEmpty_s {
|
typedef struct IttiMsgEmpty_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} IttiMsgEmpty;
|
} IttiMsgEmpty;
|
||||||
|
|
||||||
typedef struct IttiMsgText_s {
|
typedef struct IttiMsgText_s {
|
||||||
|
|||||||
@@ -1897,6 +1897,9 @@ typedef struct {
|
|||||||
} nfapi_ul_config_periodic_cqi_pmi_ri_report_re13_t;
|
} nfapi_ul_config_periodic_cqi_pmi_ri_report_re13_t;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} nfapi_ul_config_aperiodic_cqi_pmi_ri_report_re13_t;
|
} nfapi_ul_config_aperiodic_cqi_pmi_ri_report_re13_t;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@@ -3020,9 +3023,15 @@ typedef struct {
|
|||||||
#define NFAPI_LBT_DL_INDICATION_BODY_TAG 0x2058
|
#define NFAPI_LBT_DL_INDICATION_BODY_TAG 0x2058
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} nfapi_error_indication_msg_invalid_state;
|
} nfapi_error_indication_msg_invalid_state;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} nfapi_error_indication_msg_bch_missing;
|
} nfapi_error_indication_msg_bch_missing;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|||||||
@@ -1225,7 +1225,7 @@ int main(int argc, char **argv)
|
|||||||
tx_offset = frame_parms->get_samples_slot_timestamp(slot, frame_parms, 0);
|
tx_offset = frame_parms->get_samples_slot_timestamp(slot, frame_parms, 0);
|
||||||
txlev_sum = 0;
|
txlev_sum = 0;
|
||||||
for (int aa = 0; aa < UE->frame_parms.nb_antennas_tx; aa++) {
|
for (int aa = 0; aa < UE->frame_parms.nb_antennas_tx; aa++) {
|
||||||
atxlev[aa] = signal_energy((int32_t*)&UE->common_vars.txdata[aa][tx_offset + 5 * frame_parms->ofdm_symbol_size + 4 * frame_parms->nb_prefix_samples + frame_parms->nb_prefix_samples0],
|
atxlev[aa] = signal_energy((int32_t *)&UE->common_vars.txdata[aa][tx_offset + 5 * frame_parms->ofdm_symbol_size + 4 * frame_parms->nb_prefix_samples + frame_parms->nb_prefix_samples0],
|
||||||
frame_parms->ofdm_symbol_size + frame_parms->nb_prefix_samples);
|
frame_parms->ofdm_symbol_size + frame_parms->nb_prefix_samples);
|
||||||
|
|
||||||
txlev_sum += atxlev[aa];
|
txlev_sum += atxlev[aa];
|
||||||
|
|||||||
@@ -469,7 +469,11 @@ typedef ul_info_transfer_ind_t dl_info_transfer_ind_t;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* TODO: Quality of Service parameters */
|
/* TODO: Quality of Service parameters */
|
||||||
typedef struct {} as_qos_t;
|
typedef struct {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
|
} as_qos_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* NAS->AS - Radio access bearer establishment request
|
* NAS->AS - Radio access bearer establishment request
|
||||||
|
|||||||
@@ -73,7 +73,9 @@ typedef struct f1ap_net_ip_address_s {
|
|||||||
} f1ap_net_ip_address_t;
|
} f1ap_net_ip_address_t;
|
||||||
|
|
||||||
typedef struct f1ap_cu_setup_req_s {
|
typedef struct f1ap_cu_setup_req_s {
|
||||||
//
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} f1ap_cu_setup_req_t;
|
} f1ap_cu_setup_req_t;
|
||||||
|
|
||||||
typedef struct cellIDs_s {
|
typedef struct cellIDs_s {
|
||||||
|
|||||||
@@ -90,7 +90,9 @@ typedef struct m2ap_net_ip_address_s {
|
|||||||
} m2ap_net_ip_address_t;
|
} m2ap_net_ip_address_t;
|
||||||
|
|
||||||
typedef struct m2ap_enb_setup_req_s {
|
typedef struct m2ap_enb_setup_req_s {
|
||||||
//
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_enb_setup_req_t;
|
} m2ap_enb_setup_req_t;
|
||||||
|
|
||||||
|
|
||||||
@@ -449,6 +451,9 @@ typedef struct m2ap_register_enb_req_s {
|
|||||||
|
|
||||||
typedef struct m2ap_subframe_process_s {
|
typedef struct m2ap_subframe_process_s {
|
||||||
/* nothing, we simply use the module ID in the header */
|
/* nothing, we simply use the module ID in the header */
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_subframe_process_t;
|
} m2ap_subframe_process_t;
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------//
|
//-------------------------------------------------------------------------------------------//
|
||||||
@@ -533,48 +538,114 @@ typedef struct m2ap_enb_sctp_req_s {
|
|||||||
|
|
||||||
|
|
||||||
typedef struct m2ap_mbms_scheduling_information_resp_s {
|
typedef struct m2ap_mbms_scheduling_information_resp_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_mbms_scheduling_information_resp_t;
|
} m2ap_mbms_scheduling_information_resp_t;
|
||||||
typedef struct m2ap_session_start_req_s {
|
typedef struct m2ap_session_start_req_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_session_start_req_t;
|
} m2ap_session_start_req_t;
|
||||||
typedef struct m2ap_session_start_resp_s {
|
typedef struct m2ap_session_start_resp_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_session_start_resp_t;
|
} m2ap_session_start_resp_t;
|
||||||
typedef struct m2ap_session_start_failure_s {
|
typedef struct m2ap_session_start_failure_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_session_start_failure_t;
|
} m2ap_session_start_failure_t;
|
||||||
typedef struct m2ap_session_stop_req_s {
|
typedef struct m2ap_session_stop_req_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_session_stop_req_t;
|
} m2ap_session_stop_req_t;
|
||||||
typedef struct m2ap_session_stop_resp_s {
|
typedef struct m2ap_session_stop_resp_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_session_stop_resp_t;
|
} m2ap_session_stop_resp_t;
|
||||||
typedef struct m2ap_reset_s {
|
typedef struct m2ap_reset_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_reset_t;
|
} m2ap_reset_t;
|
||||||
typedef struct m2ap_enb_configuration_update_s {
|
typedef struct m2ap_enb_configuration_update_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_enb_configuration_update_t;
|
} m2ap_enb_configuration_update_t;
|
||||||
typedef struct m2ap_enb_configuration_update_ack_s {
|
typedef struct m2ap_enb_configuration_update_ack_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_enb_configuration_update_ack_t;
|
} m2ap_enb_configuration_update_ack_t;
|
||||||
typedef struct m2ap_enb_configuration_update_failure_s {
|
typedef struct m2ap_enb_configuration_update_failure_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_enb_configuration_update_failure_t;
|
} m2ap_enb_configuration_update_failure_t;
|
||||||
typedef struct m2ap_mce_configuration_update_s {
|
typedef struct m2ap_mce_configuration_update_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_mce_configuration_update_t;
|
} m2ap_mce_configuration_update_t;
|
||||||
typedef struct m2ap_mce_configuration_update_ack_s {
|
typedef struct m2ap_mce_configuration_update_ack_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_mce_configuration_update_ack_t;
|
} m2ap_mce_configuration_update_ack_t;
|
||||||
typedef struct m2ap_mce_configuration_update_failure_s {
|
typedef struct m2ap_mce_configuration_update_failure_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_mce_configuration_update_failure_t;
|
} m2ap_mce_configuration_update_failure_t;
|
||||||
typedef struct m2ap_error_indication_s {
|
typedef struct m2ap_error_indication_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m2ap_error_indication_t;
|
}m2ap_error_indication_t;
|
||||||
typedef struct m2ap_mbms_session_update_req_s {
|
typedef struct m2ap_mbms_session_update_req_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_mbms_session_update_req_t;
|
} m2ap_mbms_session_update_req_t;
|
||||||
typedef struct m2ap_mbms_session_update_resp_s {
|
typedef struct m2ap_mbms_session_update_resp_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_mbms_session_update_resp_t;
|
} m2ap_mbms_session_update_resp_t;
|
||||||
typedef struct m2ap_mbms_session_update_failure_s {
|
typedef struct m2ap_mbms_session_update_failure_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_mbms_session_update_failure_t;
|
} m2ap_mbms_session_update_failure_t;
|
||||||
typedef struct m2ap_mbms_service_counting_report_s {
|
typedef struct m2ap_mbms_service_counting_report_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_mbms_service_counting_report_t;
|
} m2ap_mbms_service_counting_report_t;
|
||||||
typedef struct m2ap_mbms_overload_notification_s {
|
typedef struct m2ap_mbms_overload_notification_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_mbms_overload_notification_t;
|
} m2ap_mbms_overload_notification_t;
|
||||||
typedef struct m2ap_mbms_service_counting_req_s {
|
typedef struct m2ap_mbms_service_counting_req_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_mbms_service_counting_req_t;
|
} m2ap_mbms_service_counting_req_t;
|
||||||
typedef struct m2ap_mbms_service_counting_resp_s {
|
typedef struct m2ap_mbms_service_counting_resp_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_mbms_service_counting_resp_t;
|
} m2ap_mbms_service_counting_resp_t;
|
||||||
typedef struct m2ap_mbms_service_counting_failure_s {
|
typedef struct m2ap_mbms_service_counting_failure_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m2ap_mbms_service_counting_failure_t;
|
} m2ap_mbms_service_counting_failure_t;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -160,6 +160,9 @@ typedef struct m3ap_register_mce_req_s {
|
|||||||
|
|
||||||
typedef struct m3ap_subframe_process_s {
|
typedef struct m3ap_subframe_process_s {
|
||||||
/* nothing, we simply use the module ID in the header */
|
/* nothing, we simply use the module ID in the header */
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} m3ap_subframe_process_t;
|
} m3ap_subframe_process_t;
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------//
|
//-------------------------------------------------------------------------------------------//
|
||||||
@@ -270,28 +273,64 @@ typedef struct m3ap_mme_sctp_req_s {
|
|||||||
|
|
||||||
|
|
||||||
typedef struct m3ap_session_start_req_s{
|
typedef struct m3ap_session_start_req_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_session_start_req_t;
|
}m3ap_session_start_req_t;
|
||||||
typedef struct m3ap_session_start_resp_s{
|
typedef struct m3ap_session_start_resp_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_session_start_resp_t;
|
}m3ap_session_start_resp_t;
|
||||||
typedef struct m3ap_session_start_failure_s{
|
typedef struct m3ap_session_start_failure_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_session_start_failure_t;
|
}m3ap_session_start_failure_t;
|
||||||
typedef struct m3ap_session_stop_req_s{
|
typedef struct m3ap_session_stop_req_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_session_stop_req_t;
|
}m3ap_session_stop_req_t;
|
||||||
typedef struct m3ap_session_stop_resp_s{
|
typedef struct m3ap_session_stop_resp_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_session_stop_resp_t;
|
}m3ap_session_stop_resp_t;
|
||||||
typedef struct m3ap_session_stop_failure_s{
|
typedef struct m3ap_session_stop_failure_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_session_stop_failure_t;
|
}m3ap_session_stop_failure_t;
|
||||||
typedef struct m3ap_error_indication_s{
|
typedef struct m3ap_error_indication_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_error_indication_t;
|
}m3ap_error_indication_t;
|
||||||
typedef struct m3ap_reset_s{
|
typedef struct m3ap_reset_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_reset_t;
|
}m3ap_reset_t;
|
||||||
typedef struct m3ap_reset_ack_s{
|
typedef struct m3ap_reset_ack_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_reset_ack_t;
|
}m3ap_reset_ack_t;
|
||||||
typedef struct m3ap_mbms_session_update_req_s{
|
typedef struct m3ap_mbms_session_update_req_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_mbms_session_update_req_t;
|
}m3ap_mbms_session_update_req_t;
|
||||||
typedef struct m3ap_mbms_session_update_resp_s{
|
typedef struct m3ap_mbms_session_update_resp_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_mbms_session_update_resp_t;
|
}m3ap_mbms_session_update_resp_t;
|
||||||
typedef struct m3ap_mbms_session_update_failure_s{
|
typedef struct m3ap_mbms_session_update_failure_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_mbms_session_update_failure_t;
|
}m3ap_mbms_session_update_failure_t;
|
||||||
typedef struct m3ap_setup_req_s{
|
typedef struct m3ap_setup_req_s{
|
||||||
/* Connexion id used between SCTP/M3AP */
|
/* Connexion id used between SCTP/M3AP */
|
||||||
@@ -306,14 +345,29 @@ typedef struct m3ap_setup_req_s{
|
|||||||
uint16_t default_sctp_stream_id;
|
uint16_t default_sctp_stream_id;
|
||||||
}m3ap_setup_req_t;
|
}m3ap_setup_req_t;
|
||||||
typedef struct m3ap_setup_resp_s{
|
typedef struct m3ap_setup_resp_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_setup_resp_t;
|
}m3ap_setup_resp_t;
|
||||||
typedef struct m3ap_setup_failure_s{
|
typedef struct m3ap_setup_failure_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_setup_failure_t;
|
}m3ap_setup_failure_t;
|
||||||
typedef struct m3ap_mce_configuration_update_s{
|
typedef struct m3ap_mce_configuration_update_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_mce_configuration_update_t;
|
}m3ap_mce_configuration_update_t;
|
||||||
typedef struct m3ap_mce_configuration_update_ack_s{
|
typedef struct m3ap_mce_configuration_update_ack_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_mce_configuration_update_ack_t;
|
}m3ap_mce_configuration_update_ack_t;
|
||||||
typedef struct m3ap_mce_configuration_update_failure_s{
|
typedef struct m3ap_mce_configuration_update_failure_s{
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
}m3ap_mce_configuration_update_failure_t;
|
}m3ap_mce_configuration_update_failure_t;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -82,6 +82,9 @@ typedef struct PhyConfigurationReq_s {
|
|||||||
|
|
||||||
// UE: RRC -> PHY messages
|
// UE: RRC -> PHY messages
|
||||||
typedef struct PhyDeactivateReq_s {
|
typedef struct PhyDeactivateReq_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} PhyDeactivateReq;
|
} PhyDeactivateReq;
|
||||||
|
|
||||||
typedef struct PhyFindCellReq_s {
|
typedef struct PhyFindCellReq_s {
|
||||||
@@ -93,9 +96,15 @@ typedef struct PhyFindCellReq_s {
|
|||||||
} PhyFindCellReq;
|
} PhyFindCellReq;
|
||||||
|
|
||||||
typedef struct PhyFindNextCellReq_s {
|
typedef struct PhyFindNextCellReq_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} PhyFindNextCellReq;
|
} PhyFindNextCellReq;
|
||||||
|
|
||||||
typedef struct PhyMeasThresholdReq_s {
|
typedef struct PhyMeasThresholdReq_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
# if ENABLE_RAL
|
# if ENABLE_RAL
|
||||||
ral_transaction_id_t transaction_id;
|
ral_transaction_id_t transaction_id;
|
||||||
ral_link_cfg_param_t cfg_param;
|
ral_link_cfg_param_t cfg_param;
|
||||||
@@ -103,6 +112,9 @@ typedef struct PhyMeasThresholdReq_s {
|
|||||||
} PhyMeasThresholdReq;
|
} PhyMeasThresholdReq;
|
||||||
|
|
||||||
typedef struct PhyMeasReportInd_s {
|
typedef struct PhyMeasReportInd_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
# if ENABLE_RAL
|
# if ENABLE_RAL
|
||||||
ral_threshold_t threshold;
|
ral_threshold_t threshold;
|
||||||
ral_link_param_t link_param;
|
ral_link_param_t link_param;
|
||||||
@@ -119,6 +131,9 @@ typedef struct PhyFindCellInd_s {
|
|||||||
} PhyFindCellInd;
|
} PhyFindCellInd;
|
||||||
|
|
||||||
typedef struct PhyMeasThresholdConf_s {
|
typedef struct PhyMeasThresholdConf_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
# if ENABLE_RAL
|
# if ENABLE_RAL
|
||||||
ral_transaction_id_t transaction_id;
|
ral_transaction_id_t transaction_id;
|
||||||
ral_status_t status;
|
ral_status_t status;
|
||||||
|
|||||||
@@ -174,6 +174,9 @@ typedef struct x2ap_register_enb_req_s {
|
|||||||
|
|
||||||
typedef struct x2ap_subframe_process_s {
|
typedef struct x2ap_subframe_process_s {
|
||||||
/* nothing, we simply use the module ID in the header */
|
/* nothing, we simply use the module ID in the header */
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} x2ap_subframe_process_t;
|
} x2ap_subframe_process_t;
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------//
|
//-------------------------------------------------------------------------------------------//
|
||||||
|
|||||||
@@ -45,9 +45,9 @@
|
|||||||
#define MME_CONFIG_STRING_MME_M3 "enable_mme_m3"
|
#define MME_CONFIG_STRING_MME_M3 "enable_mme_m3"
|
||||||
|
|
||||||
#define MMEPARAMS_DESC {\
|
#define MMEPARAMS_DESC {\
|
||||||
{MME_CONFIG_STRING_MME_ID, NULL, 0, uptr:NULL, defintval:0, TYPE_UINT, 0}, \
|
{MME_CONFIG_STRING_MME_ID, NULL, 0, .uptr=NULL, .defintval=0, TYPE_UINT, 0}, \
|
||||||
{MME_CONFIG_STRING_MME_NAME, NULL, 0, strptr:NULL, defstrval:"OAIMME", TYPE_STRING, 0}, \
|
{MME_CONFIG_STRING_MME_NAME, NULL, 0, .strptr=NULL, .defstrval="OAIMME", TYPE_STRING, 0}, \
|
||||||
{MME_CONFIG_STRING_MME_M3, NULL, 0, strptr:NULL, defstrval:"no", TYPE_STRING, 0}, \
|
{MME_CONFIG_STRING_MME_M3, NULL, 0, .strptr=NULL, .defstrval="no", TYPE_STRING, 0}, \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define MME_MME_ID_IDX 0
|
#define MME_MME_ID_IDX 0
|
||||||
@@ -75,9 +75,9 @@
|
|||||||
|
|
||||||
|
|
||||||
#define MME_NETPARAMS_DESC { \
|
#define MME_NETPARAMS_DESC { \
|
||||||
{MME_CONFIG_STRING_MME_INTERFACE_NAME_FOR_M3_MCE, NULL, 0, strptr:&mme_interface_name_for_m3_mce, defstrval:"lo", TYPE_STRING, 0}, \
|
{MME_CONFIG_STRING_MME_INTERFACE_NAME_FOR_M3_MCE, NULL, 0, .strptr=&mme_interface_name_for_m3_mce, .defstrval="lo", TYPE_STRING, 0}, \
|
||||||
{MME_CONFIG_STRING_MME_IPV4_ADDRESS_FOR_M3C, NULL, 0, strptr:&mme_ipv4_address_for_m3c, defstrval:"127.0.0.18/24", TYPE_STRING, 0}, \
|
{MME_CONFIG_STRING_MME_IPV4_ADDRESS_FOR_M3C, NULL, 0, .strptr=&mme_ipv4_address_for_m3c, .defstrval="127.0.0.18/24", TYPE_STRING, 0}, \
|
||||||
{MME_CONFIG_STRING_MME_PORT_FOR_M3C, NULL, 0, uptr:&mme_port_for_m3c, defintval:36444L, TYPE_UINT, 0}, \
|
{MME_CONFIG_STRING_MME_PORT_FOR_M3C, NULL, 0, .uptr=&mme_port_for_m3c, .defintval=36444L, TYPE_UINT, 0}, \
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -946,7 +946,7 @@ static void set_SR_periodandoffset(NR_SchedulingRequestResourceConfig_t *schedul
|
|||||||
schedulingRequestResourceConfig->periodicityAndOffset->choice.sl160 = sr_slot;
|
schedulingRequestResourceConfig->periodicityAndOffset->choice.sl160 = sr_slot;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if(sr_slot < 320 || NR_SubcarrierSpacing_kHz60){
|
else if(sr_slot < 320 || scs == NR_SubcarrierSpacing_kHz60){
|
||||||
schedulingRequestResourceConfig->periodicityAndOffset->present = NR_SchedulingRequestResourceConfig__periodicityAndOffset_PR_sl320;
|
schedulingRequestResourceConfig->periodicityAndOffset->present = NR_SchedulingRequestResourceConfig__periodicityAndOffset_PR_sl320;
|
||||||
schedulingRequestResourceConfig->periodicityAndOffset->choice.sl320 = sr_slot;
|
schedulingRequestResourceConfig->periodicityAndOffset->choice.sl320 = sr_slot;
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -96,7 +96,11 @@ typedef struct {
|
|||||||
* and "no TFT operation" shall be empty.
|
* and "no TFT operation" shall be empty.
|
||||||
* ---------------------------------------------------------------
|
* ---------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
typedef struct {} NoPacketFilter;
|
typedef struct {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
|
} NoPacketFilter;
|
||||||
|
|
||||||
typedef NoPacketFilter DeleteExistingTft;
|
typedef NoPacketFilter DeleteExistingTft;
|
||||||
typedef NoPacketFilter NoTftOperation;
|
typedef NoPacketFilter NoTftOperation;
|
||||||
@@ -155,7 +159,9 @@ typedef union {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* TODO */
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
} ParameterList;
|
} ParameterList;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -160,7 +160,11 @@ typedef enum {
|
|||||||
|
|
||||||
/* CGSN AT command type */
|
/* CGSN AT command type */
|
||||||
#define AT_COMMAND_CGSN_MASK AT_COMMAND_NO_PARAM
|
#define AT_COMMAND_CGSN_MASK AT_COMMAND_NO_PARAM
|
||||||
typedef struct at_cgsn_s {} at_cgsn_t;
|
typedef struct at_cgsn_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
|
} at_cgsn_t;
|
||||||
|
|
||||||
/* CGMI: Request manufacturer identification
|
/* CGMI: Request manufacturer identification
|
||||||
* -----------------------------------------
|
* -----------------------------------------
|
||||||
@@ -172,7 +176,11 @@ typedef struct at_cgsn_s {} at_cgsn_t;
|
|||||||
|
|
||||||
/* CGMI AT command type */
|
/* CGMI AT command type */
|
||||||
#define AT_COMMAND_CGMI_MASK AT_COMMAND_NO_PARAM
|
#define AT_COMMAND_CGMI_MASK AT_COMMAND_NO_PARAM
|
||||||
typedef struct at_cgmi_s {} at_cgmi_t;
|
typedef struct at_cgmi_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
|
} at_cgmi_t;
|
||||||
|
|
||||||
/* CGMM: Request model identification
|
/* CGMM: Request model identification
|
||||||
* ----------------------------------
|
* ----------------------------------
|
||||||
@@ -184,7 +192,11 @@ typedef struct at_cgmi_s {} at_cgmi_t;
|
|||||||
|
|
||||||
/* CGMM AT command type */
|
/* CGMM AT command type */
|
||||||
#define AT_COMMAND_CGMM_MASK AT_COMMAND_NO_PARAM
|
#define AT_COMMAND_CGMM_MASK AT_COMMAND_NO_PARAM
|
||||||
typedef struct at_cgmm_s {} at_cgmm_t;
|
typedef struct at_cgmm_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
|
} at_cgmm_t;
|
||||||
|
|
||||||
/* CGMR: Request revision identification
|
/* CGMR: Request revision identification
|
||||||
* -------------------------------------
|
* -------------------------------------
|
||||||
@@ -197,7 +209,11 @@ typedef struct at_cgmm_s {} at_cgmm_t;
|
|||||||
|
|
||||||
/* CGMR AT command type */
|
/* CGMR AT command type */
|
||||||
#define AT_COMMAND_CGMR_MASK AT_COMMAND_NO_PARAM
|
#define AT_COMMAND_CGMR_MASK AT_COMMAND_NO_PARAM
|
||||||
typedef struct at_cgmr_s {} at_cgmr_t;
|
typedef struct at_cgmr_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
|
} at_cgmr_t;
|
||||||
|
|
||||||
/* CIMI: Request International Mobile Subscriber Identity
|
/* CIMI: Request International Mobile Subscriber Identity
|
||||||
* ------------------------------------------------------
|
* ------------------------------------------------------
|
||||||
@@ -210,7 +226,11 @@ typedef struct at_cgmr_s {} at_cgmr_t;
|
|||||||
|
|
||||||
/* CIMI AT command type */
|
/* CIMI AT command type */
|
||||||
#define AT_COMMAND_CIMI_MASK AT_COMMAND_NO_PARAM
|
#define AT_COMMAND_CIMI_MASK AT_COMMAND_NO_PARAM
|
||||||
typedef struct at_cimi_s {} at_cimi_t;
|
typedef struct at_cimi_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
|
} at_cimi_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ==============================================
|
* ==============================================
|
||||||
@@ -288,7 +308,11 @@ typedef struct {
|
|||||||
|
|
||||||
/* CSQ AT command type */
|
/* CSQ AT command type */
|
||||||
#define AT_COMMAND_CSQ_MASK AT_COMMAND_NO_PARAM
|
#define AT_COMMAND_CSQ_MASK AT_COMMAND_NO_PARAM
|
||||||
typedef struct at_csq_s {} at_csq_t;
|
typedef struct at_csq_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
|
} at_csq_t;
|
||||||
|
|
||||||
/* CESQ: Extented signal quality
|
/* CESQ: Extented signal quality
|
||||||
* -----------------------------
|
* -----------------------------
|
||||||
@@ -299,7 +323,11 @@ typedef struct at_csq_s {} at_csq_t;
|
|||||||
|
|
||||||
/* CESQ AT command type */
|
/* CESQ AT command type */
|
||||||
#define AT_COMMAND_CESQ_MASK AT_COMMAND_NO_PARAM
|
#define AT_COMMAND_CESQ_MASK AT_COMMAND_NO_PARAM
|
||||||
typedef struct at_cesq_s {} at_cesq_t;
|
typedef struct at_cesq_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
|
} at_cesq_t;
|
||||||
|
|
||||||
/* CLAC: List all available AT commands
|
/* CLAC: List all available AT commands
|
||||||
* ------------------------------------
|
* ------------------------------------
|
||||||
@@ -310,7 +338,11 @@ typedef struct at_cesq_s {} at_cesq_t;
|
|||||||
|
|
||||||
/* CLAC AT command type */
|
/* CLAC AT command type */
|
||||||
#define AT_COMMAND_CLAC_MASK AT_COMMAND_NO_PARAM
|
#define AT_COMMAND_CLAC_MASK AT_COMMAND_NO_PARAM
|
||||||
typedef struct at_clac_s {} at_clac_t;
|
typedef struct at_clac_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
|
} at_clac_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* =========================
|
* =========================
|
||||||
@@ -363,7 +395,11 @@ typedef struct {
|
|||||||
|
|
||||||
/* CNUM AT command type */
|
/* CNUM AT command type */
|
||||||
#define AT_COMMAND_CNUM_MASK AT_COMMAND_NO_PARAM
|
#define AT_COMMAND_CNUM_MASK AT_COMMAND_NO_PARAM
|
||||||
typedef struct at_cnum_s {} at_cnum_t;
|
typedef struct at_cnum_s {
|
||||||
|
// This dummy element is to avoid CLANG warning: empty struct has size 0 in C, size 1 in C++
|
||||||
|
// To be removed if the structure is filled
|
||||||
|
uint32_t dummy;
|
||||||
|
} at_cnum_t;
|
||||||
|
|
||||||
/* CLCK: Facility lock
|
/* CLCK: Facility lock
|
||||||
* -------------------
|
* -------------------
|
||||||
|
|||||||
@@ -188,8 +188,31 @@ int ngap_ue_context_release_req(instance_t instance,
|
|||||||
ie->criticality = NGAP_Criticality_ignore;
|
ie->criticality = NGAP_Criticality_ignore;
|
||||||
ie->value.present = NGAP_UEContextReleaseRequest_IEs__value_PR_Cause;
|
ie->value.present = NGAP_UEContextReleaseRequest_IEs__value_PR_Cause;
|
||||||
DevAssert(ue_release_req_p->cause <= NGAP_Cause_PR_choice_ExtensionS);
|
DevAssert(ue_release_req_p->cause <= NGAP_Cause_PR_choice_ExtensionS);
|
||||||
ie->value.choice.Cause.present = ue_release_req_p->cause;
|
switch(ue_release_req_p->cause){
|
||||||
ie->value.choice.Cause.choice.misc = ue_release_req_p->cause_value;
|
case NGAP_CAUSE_RADIO_NETWORK:
|
||||||
|
ie->value.choice.Cause.present = NGAP_Cause_PR_radioNetwork;
|
||||||
|
ie->value.choice.Cause.choice.radioNetwork = ue_release_req_p->cause_value;
|
||||||
|
break;
|
||||||
|
case NGAP_CAUSE_TRANSPORT:
|
||||||
|
ie->value.choice.Cause.present = NGAP_Cause_PR_transport;
|
||||||
|
ie->value.choice.Cause.choice.transport = ue_release_req_p->cause_value;
|
||||||
|
break;
|
||||||
|
case NGAP_CAUSE_NAS:
|
||||||
|
ie->value.choice.Cause.present = NGAP_Cause_PR_nas;
|
||||||
|
ie->value.choice.Cause.choice.nas = ue_release_req_p->cause_value;
|
||||||
|
break;
|
||||||
|
case NGAP_CAUSE_PROTOCOL:
|
||||||
|
ie->value.choice.Cause.present = NGAP_Cause_PR_protocol;
|
||||||
|
ie->value.choice.Cause.choice.protocol = ue_release_req_p->cause_value;
|
||||||
|
break;
|
||||||
|
case NGAP_CAUSE_MISC:
|
||||||
|
ie->value.choice.Cause.present = NGAP_Cause_PR_misc;
|
||||||
|
ie->value.choice.Cause.choice.misc = ue_release_req_p->cause_value;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
NGAP_WARN("Received NG Error indication cause NGAP_Cause_PR_choice_Extensions\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ngap_gNB_encode_pdu(&pdu, &buffer, &length) < 0) {
|
if (ngap_gNB_encode_pdu(&pdu, &buffer, &length) < 0) {
|
||||||
|
|||||||
@@ -665,25 +665,29 @@ int ngap_gNB_initial_ctxt_resp(instance_t instance, ngap_initial_context_setup_r
|
|||||||
item->pDUSessionID = initial_ctxt_resp_p->pdusessions_failed[i].pdusession_id;
|
item->pDUSessionID = initial_ctxt_resp_p->pdusessions_failed[i].pdusession_id;
|
||||||
|
|
||||||
/* cause */
|
/* cause */
|
||||||
pdusessionUnTransfer.cause.present = initial_ctxt_resp_p->pdusessions_failed[i].cause;
|
switch(initial_ctxt_resp_p->pdusessions_failed[i].cause) {
|
||||||
switch (pdusessionUnTransfer.cause.present) {
|
|
||||||
case NGAP_CAUSE_RADIO_NETWORK:
|
case NGAP_CAUSE_RADIO_NETWORK:
|
||||||
|
pdusessionUnTransfer.cause.present = NGAP_Cause_PR_radioNetwork;
|
||||||
pdusessionUnTransfer.cause.choice.radioNetwork = initial_ctxt_resp_p->pdusessions_failed[i].cause_value;
|
pdusessionUnTransfer.cause.choice.radioNetwork = initial_ctxt_resp_p->pdusessions_failed[i].cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NGAP_CAUSE_TRANSPORT:
|
case NGAP_CAUSE_TRANSPORT:
|
||||||
|
pdusessionUnTransfer.cause.present = NGAP_Cause_PR_transport;
|
||||||
pdusessionUnTransfer.cause.choice.transport = initial_ctxt_resp_p->pdusessions_failed[i].cause_value;
|
pdusessionUnTransfer.cause.choice.transport = initial_ctxt_resp_p->pdusessions_failed[i].cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NGAP_CAUSE_NAS:
|
case NGAP_CAUSE_NAS:
|
||||||
|
pdusessionUnTransfer.cause.present = NGAP_Cause_PR_nas;
|
||||||
pdusessionUnTransfer.cause.choice.nas = initial_ctxt_resp_p->pdusessions_failed[i].cause_value;
|
pdusessionUnTransfer.cause.choice.nas = initial_ctxt_resp_p->pdusessions_failed[i].cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NGAP_CAUSE_PROTOCOL:
|
case NGAP_CAUSE_PROTOCOL:
|
||||||
|
pdusessionUnTransfer.cause.present = NGAP_Cause_PR_protocol;
|
||||||
pdusessionUnTransfer.cause.choice.protocol = initial_ctxt_resp_p->pdusessions_failed[i].cause_value;
|
pdusessionUnTransfer.cause.choice.protocol = initial_ctxt_resp_p->pdusessions_failed[i].cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NGAP_CAUSE_MISC:
|
case NGAP_CAUSE_MISC:
|
||||||
|
pdusessionUnTransfer.cause.present = NGAP_Cause_PR_misc;
|
||||||
pdusessionUnTransfer.cause.choice.misc = initial_ctxt_resp_p->pdusessions_failed[i].cause_value;
|
pdusessionUnTransfer.cause.choice.misc = initial_ctxt_resp_p->pdusessions_failed[i].cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -928,25 +932,29 @@ int ngap_gNB_pdusession_setup_resp(instance_t instance, ngap_pdusession_setup_re
|
|||||||
item->pDUSessionID = pdusession_failed->pdusession_id;
|
item->pDUSessionID = pdusession_failed->pdusession_id;
|
||||||
|
|
||||||
/* cause */
|
/* cause */
|
||||||
pdusessionUnTransfer_p.cause.present = pdusession_failed->cause;
|
switch(pdusession_failed->cause) {
|
||||||
switch (pdusessionUnTransfer_p.cause.present) {
|
|
||||||
case NGAP_CAUSE_RADIO_NETWORK:
|
case NGAP_CAUSE_RADIO_NETWORK:
|
||||||
|
pdusessionUnTransfer_p.cause.present = NGAP_Cause_PR_radioNetwork;
|
||||||
pdusessionUnTransfer_p.cause.choice.radioNetwork = pdusession_failed->cause_value;
|
pdusessionUnTransfer_p.cause.choice.radioNetwork = pdusession_failed->cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NGAP_CAUSE_TRANSPORT:
|
case NGAP_CAUSE_TRANSPORT:
|
||||||
|
pdusessionUnTransfer_p.cause.present = NGAP_Cause_PR_transport;
|
||||||
pdusessionUnTransfer_p.cause.choice.transport = pdusession_failed->cause_value;
|
pdusessionUnTransfer_p.cause.choice.transport = pdusession_failed->cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NGAP_CAUSE_NAS:
|
case NGAP_CAUSE_NAS:
|
||||||
|
pdusessionUnTransfer_p.cause.present = NGAP_Cause_PR_nas;
|
||||||
pdusessionUnTransfer_p.cause.choice.nas = pdusession_failed->cause_value;
|
pdusessionUnTransfer_p.cause.choice.nas = pdusession_failed->cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NGAP_CAUSE_PROTOCOL:
|
case NGAP_CAUSE_PROTOCOL:
|
||||||
|
pdusessionUnTransfer_p.cause.present = NGAP_Cause_PR_protocol;
|
||||||
pdusessionUnTransfer_p.cause.choice.protocol = pdusession_failed->cause_value;
|
pdusessionUnTransfer_p.cause.choice.protocol = pdusession_failed->cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NGAP_CAUSE_MISC:
|
case NGAP_CAUSE_MISC:
|
||||||
|
pdusessionUnTransfer_p.cause.present = NGAP_Cause_PR_misc;
|
||||||
pdusessionUnTransfer_p.cause.choice.misc = pdusession_failed->cause_value;
|
pdusessionUnTransfer_p.cause.choice.misc = pdusession_failed->cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -954,7 +962,6 @@ int ngap_gNB_pdusession_setup_resp(instance_t instance, ngap_pdusession_setup_re
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
NGAP_DEBUG("pdusession setup response: failed pdusession ID %ld\n", item->pDUSessionID);
|
NGAP_DEBUG("pdusession setup response: failed pdusession ID %ld\n", item->pDUSessionID);
|
||||||
|
|
||||||
asn_encode_to_new_buffer_result_t res = asn_encode_to_new_buffer(NULL, ATS_ALIGNED_CANONICAL_PER, &asn_DEF_NGAP_PDUSessionResourceSetupUnsuccessfulTransfer, &pdusessionUnTransfer_p);
|
asn_encode_to_new_buffer_result_t res = asn_encode_to_new_buffer(NULL, ATS_ALIGNED_CANONICAL_PER, &asn_DEF_NGAP_PDUSessionResourceSetupUnsuccessfulTransfer, &pdusessionUnTransfer_p);
|
||||||
@@ -1087,26 +1094,30 @@ int ngap_gNB_pdusession_modify_resp(instance_t instance, ngap_pdusession_modify_
|
|||||||
item->pDUSessionID = pdusession_modify_resp_p->pdusessions_failed[i].pdusession_id;
|
item->pDUSessionID = pdusession_modify_resp_p->pdusessions_failed[i].pdusession_id;
|
||||||
|
|
||||||
NGAP_PDUSessionResourceModifyUnsuccessfulTransfer_t pdusessionTransfer = {0};
|
NGAP_PDUSessionResourceModifyUnsuccessfulTransfer_t pdusessionTransfer = {0};
|
||||||
pdusessionTransfer.cause.present = pdusession_modify_resp_p->pdusessions_failed[i].cause;
|
|
||||||
|
|
||||||
switch (pdusessionTransfer.cause.present) {
|
switch(pdusession_modify_resp_p->pdusessions_failed[i].cause) {
|
||||||
case NGAP_CAUSE_RADIO_NETWORK:
|
case NGAP_CAUSE_RADIO_NETWORK:
|
||||||
pdusessionTransfer.cause.choice.radioNetwork = pdusession_modify_resp_p->pdusessions_failed[i].cause_value;
|
pdusessionTransfer.cause.present = NGAP_Cause_PR_radioNetwork;
|
||||||
|
pdusessionTransfer.cause.choice.radioNetwork = pdusession_modify_resp_p->pdusessions_failed[i].cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NGAP_CAUSE_TRANSPORT:
|
case NGAP_CAUSE_TRANSPORT:
|
||||||
|
pdusessionTransfer.cause.present = NGAP_Cause_PR_transport;
|
||||||
pdusessionTransfer.cause.choice.transport = pdusession_modify_resp_p->pdusessions_failed[i].cause_value;
|
pdusessionTransfer.cause.choice.transport = pdusession_modify_resp_p->pdusessions_failed[i].cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NGAP_CAUSE_NAS:
|
case NGAP_CAUSE_NAS:
|
||||||
|
pdusessionTransfer.cause.present = NGAP_Cause_PR_nas;
|
||||||
pdusessionTransfer.cause.choice.nas = pdusession_modify_resp_p->pdusessions_failed[i].cause_value;
|
pdusessionTransfer.cause.choice.nas = pdusession_modify_resp_p->pdusessions_failed[i].cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NGAP_CAUSE_PROTOCOL:
|
case NGAP_CAUSE_PROTOCOL:
|
||||||
|
pdusessionTransfer.cause.present = NGAP_Cause_PR_protocol;
|
||||||
pdusessionTransfer.cause.choice.protocol = pdusession_modify_resp_p->pdusessions_failed[i].cause_value;
|
pdusessionTransfer.cause.choice.protocol = pdusession_modify_resp_p->pdusessions_failed[i].cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NGAP_CAUSE_MISC:
|
case NGAP_CAUSE_MISC:
|
||||||
|
pdusessionTransfer.cause.present = NGAP_Cause_PR_misc;
|
||||||
pdusessionTransfer.cause.choice.misc = pdusession_modify_resp_p->pdusessions_failed[i].cause_value;
|
pdusessionTransfer.cause.choice.misc = pdusession_modify_resp_p->pdusessions_failed[i].cause_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user