diff --git a/openair2/COMMON/messages_def.h b/openair2/COMMON/messages_def.h index cf5302dda34d1313cfd612521e67641269d954f4..4e7980482222b8c5e792fbbab2e77f3a56f56caf 100644 --- a/openair2/COMMON/messages_def.h +++ b/openair2/COMMON/messages_def.h @@ -11,4 +11,5 @@ #include "sctp_messages_def.h" #include "x2ap_messages_def.h" #include "ral_messages_def.h" +#include "rlc_messages_def.h" diff --git a/openair2/COMMON/messages_types.h b/openair2/COMMON/messages_types.h index 6a64f451840ad42c33dc5ec98167a65a30b17846..6a7cbf52ac98fb89aecf3a0cbdc72614793a13a9 100644 --- a/openair2/COMMON/messages_types.h +++ b/openair2/COMMON/messages_types.h @@ -19,5 +19,6 @@ #include "sctp_messages_types.h" #include "x2ap_messages_types.h" #include "ral_messages_types.h" +#include "rlc_messages_types.h" #endif /* MESSAGES_TYPES_H_ */ diff --git a/openair2/COMMON/phy_messages_types.h b/openair2/COMMON/phy_messages_types.h index a079b8877b08eb00076d5f1ca1a56a3394f415bc..fb0913b5c0534916d9ecd9e5b0f963b9bf42a32f 100644 --- a/openair2/COMMON/phy_messages_types.h +++ b/openair2/COMMON/phy_messages_types.h @@ -67,7 +67,7 @@ typedef struct PhyMeasThresholdReq_s { typedef struct PhyMeasReportInd_s { ral_threshold_t threshold; - ral_link_param_type_t link_param_type; + ral_link_param_t link_param; } PhyMeasReportInd; // UE: PHY -> RRC messages diff --git a/openair2/COMMON/ral_messages_types.h b/openair2/COMMON/ral_messages_types.h index 00c2748d8103522e7d92e51ba77c6c4f9763b60f..b46067365eced52ef147268a8cf8ba7b7e9b22c9 100755 --- a/openair2/COMMON/ral_messages_types.h +++ b/openair2/COMMON/ral_messages_types.h @@ -173,6 +173,7 @@ typedef struct rrc_ral_connection_reconfiguration_ho_ind_s { #define RAL_ABOVE_THRESHOLD MIH_C_ABOVE_THRESHOLD #define RAL_BELOW_THRESHOLD MIH_C_BELOW_THRESHOLD +#define RAL_NO_THRESHOLD 0xFF typedef struct ral_threshold_s { uint16_t threshold_val; uint8_t threshold_xdir; @@ -224,6 +225,37 @@ typedef struct ral_link_param_type_s { } _union; } ral_link_param_type_t; +typedef uint16_t ral_link_param_val_t; +typedef MIH_C_NUM_COS_TYPES_T ral_num_cos_types_t ; + +typedef struct ral_qos_param_val_s { + ral_choice_t choice; + union { + ral_num_cos_types_t num_qos_types; + LIST(MIH_C_MIN_PK_TX_DELAY, min_pk_tx_delay) + LIST(MIH_C_AVG_PK_TX_DELAY, avg_pk_tx_delay) + LIST(MIH_C_MAX_PK_TX_DELAY, max_pk_tx_delay) + LIST(MIH_C_PK_DELAY_JITTER, pk_delay_jitter) + LIST(MIH_C_PK_LOSS_RATE, pk_loss_rate) + } _union; +} ral_qos_param_val_t; +#define RAL_QOS_PARAM_VAL_CHOICE_NUM_QOS_TYPES MIH_C_QOS_PARAM_VAL_CHOICE_NUM_QOS_TYPES +#define RAL_QOS_PARAM_VAL_CHOICE_MIN_PK_TX_DELAY MIH_C_QOS_PARAM_VAL_CHOICE_MIN_PK_TX_DELAY +#define RAL_QOS_PARAM_VAL_CHOICE_AVG_PK_TX_DELAY MIH_C_QOS_PARAM_VAL_CHOICE_AVG_PK_TX_DELAY +#define RAL_QOS_PARAM_VAL_CHOICE_MAX_PK_TX_DELAY MIH_C_QOS_PARAM_VAL_CHOICE_MAX_PK_TX_DELAY +#define RAL_QOS_PARAM_VAL_CHOICE_PK_DELAY_JITTER MIH_C_QOS_PARAM_VAL_CHOICE_PK_DELAY_JITTER +#define RAL_QOS_PARAM_VAL_CHOICE_PK_LOSS_RATE MIH_C_QOS_PARAM_VAL_CHOICE_PK_LOSS_RATE + +typedef struct ral_link_param_s { + ral_link_param_type_t link_param_type; + ral_choice_t choice; + union { + ral_link_param_val_t link_param_val; + ral_qos_param_val_t qos_param_val; + } _union; +} ral_link_param_t; +#define RAL_LINK_PARAM_CHOICE_LINK_PARAM_VAL MIH_C_LINK_PARAM_CHOICE_LINK_PARAM_VAL +#define RAL_LINK_PARAM_CHOICE_QOS_PARAM_VAL MIH_C_LINK_PARAM_CHOICE_QOS_PARAM_VAL typedef struct ral_link_cfg_param_s { ral_link_param_type_t link_param_type; @@ -275,7 +307,7 @@ typedef struct rrc_ral_configure_threshold_conf_s { typedef struct rrc_ral_measurement_report_ind_s{ ral_threshold_t threshold; - ral_link_param_type_t link_param_type; + ral_link_param_t link_param; }rrc_ral_measurement_report_ind_t;