Files
openairinterface5g/openair2/RRC/CELLULAR/rrc_rg_variables.h
T
2013-06-25 09:05:02 +00:00

185 lines
4.6 KiB
C
Executable File

/***************************************************************************
rrc_rg_variables.h - description
-------------------
begin : Jan 6, 2003
copyright : (C) 2003, 2010 by Eurecom
email : Michelle.Wetterwald@eurecom.fr
**************************************************************************
Some additional definitions for RG variables
***************************************************************************/
#ifndef __RRC_RG_VARIABLES_H__
#define __RRC_RG_VARIABLES_H__
#include "rrc_platform_types.h"
#include "rrc_msg_class.h"
#include "rrc_mbms_constant.h"
struct rrc_rg_msg_infos {
int msg_Id;
int msg_length;
void *msg_ptr;
mem_block_t *mem_block_ptr;
};
struct rrc_rg_trans {
int msg_type;
int transaction_Id;
};
struct rrc_rg_rb_information {
u16 rb_identity;
u16 rb_started;
u16 qos_class;
u16 dscp_code;
u16 sap_id;
u8 rbsetup_status;
};
//Structure for measurements in UE
struct rrc_rg_mt_meas_cmd {
u16 identity;
u16 command;
u16 xfer_mode;
u16 trigger;
u16 type;
u16 if_coeff;
u8 if_cellIdentity_ri;
u8 if_timeslotISCP_ri;
u8 if_BCH_RSCP_ri;
u8 if_pathloss_ri;
u16 if_validity;
u16 tv_validity;
u8 tv_payload_ri;
u8 tv_average_ri;
u8 tv_variance_ri;
u16 q_dl_trch_bler_ri;
u16 q_sir_TFCSid[MAXMEASTFCS];
u16 int_quantity;
u16 int_coeff;
u8 int_rep_ue_TransmittedPower;
u8 int_rep_appliedTA;
u16 criteria_type;
u16 rep_amount;
u16 rep_interval;
};
struct rrc_rg_mt_meas_rep {
u16 identity;
u16 meas_results_type;
u16 if_num_cells;
u16 if_cell_id[maxCells];
u16 if_cell_parms_id[maxCells];
u16 if_BCH_RSCP[maxCells];
u16 if_pathloss[maxCells];
u16 if_slot_iscp[maxCells][maxTS];
u16 tv_num_rbs;
u16 tv_rbid[MAXMEASRBS];
u16 tv_rb_payload[MAXMEASRBS];
u16 tv_rb_average[MAXMEASRBS];
u16 tv_rb_variance[MAXMEASRBS];
u16 q_num_TrCH;
u16 q_dl_TrCH_id[MAXMEASTRCH];
u16 q_dl_TrCH_BLER[MAXMEASTRCH];
u16 q_num_tfcs;
u16 q_tfcs_id[MAXMEASTFCS];
u16 q_sir[MAXMEASTFCS][maxTS];
u16 int_xmit_power[maxTS];
u16 int_timing_advance;
};
struct Mobile_Node {
int mt_id;
int state;
char IMEI[14];
int local_connection_ref;
int release_cause;
int u_rnti;
u8 establishment_cause;
u8 prot_error_indicator; // boolean
int conn_complete_timer;
struct rrc_rg_msg_infos rg_msg_infos;
struct rrc_rg_trans xmit_trans[MAXTRANS];
//Added MSG2
u8 am_RLC_ErrorIndicationRb2_3or4;
u8 am_RLC_ErrorIndicationRb5orAbove;
u8 cellUpdateCause;
u16 ul_nas_message_lgth;
u8 *ul_nas_message_ptr;
u16 dl_nas_message_lgth;
mem_block_t *dl_nas_message_ptr;
u16 paging_message_lgth;
mem_block_t *paging_message_ptr;
// int rb_id;
// u8 qos_classes[MAXURAB];
// u8 dscp_codes[MAXURAB];
struct rrc_rg_rb_information rg_established_rbs[maxRB];
u16 num_rb;
int established_background;
u16 requested_rbId;
u16 requested_MTrbId;
u16 requested_QoSclass;
u16 requested_dscp;
u16 requested_sapid;
// u8 rbsetup_status;
// Control blocks for measures
int rrc_rg_last_measurement;
struct rrc_rg_mt_meas_cmd rg_meas_cmd;
struct rrc_rg_mt_meas_rep rg_meas_rep[MAXMEASTYPES];
// UE Capability Information
u8 ind_accessStratumRelease;
u8 ind_eurecomKernelRelease; //An adaptation for Eurecom TD-CDMA
// List of services for MBMS
o3 act_serviceIdentity [maxMBMSServices]; /** OctetString(3), @see MBMS_ServiceIdentity */
u8 act_numService;
};
struct rrc_rg_nas_neighbor_list {
char sub_type;
int num_rg;
char *ng_list; // transparent to RRC
};
//Structure for measurements in BS
struct rrc_rg_bs_meas_cmd {
u16 identity;
u16 command;
u16 UE_Id;
u16 trigger;
u16 type;
u16 criteria_type;
u16 rep_amount;
u16 rep_interval;
};
struct rrc_rg_bs_meas_rep {
int meas_counter;
int meas_interval;
int meas_start;
u16 identity;
u16 meas_results_type;
u16 tv_num_rbs;
u16 tv_rbid[MAXMEASRBS];
u16 tv_rb_payload[MAXMEASRBS];
u16 tv_rb_average[MAXMEASRBS];
u16 tv_rb_variance[MAXMEASRBS];
u16 q_num_TrCH;
u16 q_dl_TrCH_id[MAXMEASTRCH];
u16 q_dl_TrCH_BLER[MAXMEASTRCH];
u16 q_num_tfcs;
u16 q_tfcs_id[MAXMEASTFCS];
u16 q_sir[MAXMEASTFCS][maxTS];
s32 int_xmit_power[numANTENNAS][maxTS];
s32 int_rscp[maxTS][MAXCH];
s32 int_rssi_rf[numANTENNAS][maxTS];
u16 int_spare[NUMSPARE];
};
//BS Measures
struct rrc_rg_meas_blocks {
struct rrc_rg_bs_meas_cmd bs_meas_cmd[2 * maxUsers + 1];
struct rrc_rg_bs_meas_rep bs_meas_rep[2 * maxUsers + 1];
int rrc_rg_bs_meas_next[2 * maxUsers + 1];
};
#endif