Pre-ci test passed git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4000 818b1a75-f10b-46b9-bf7c-635c3b92a50f
135 lines
4.1 KiB
C
Executable File
135 lines
4.1 KiB
C
Executable File
/********************************************************************
|
|
rrc_ue_entity.h -
|
|
-------------------
|
|
copyright : (C) 2001, 2010 by Eurecom
|
|
created by : Lionel.Gauthier@eurecom.fr
|
|
modified by : Michelle.Wetterwald@eurecom.fr
|
|
********************************************************************
|
|
Data structure with RRC UE protocol parameters
|
|
*******************************************************************/
|
|
|
|
#ifndef __RRC_UE_ENTITY_H__
|
|
#define __RRC_UE_ENTITY_H__
|
|
//-------------------------------------------------------------------
|
|
#include "rrc_platform_types.h"
|
|
#include "rrc_constant.h"
|
|
#include "rrc_ue_bch_variables.h"
|
|
#include "rrm_config_structs.h"
|
|
#include "rrc_ue_variables.h"
|
|
#include "rrc_ue_mbms_variables.h"
|
|
#include "rrc_ue_L2_intf_variables.h"
|
|
|
|
/********************************************************************
|
|
* Protocol variables *
|
|
********************************************************************/
|
|
|
|
struct rrc_ue_entity {
|
|
//-------------------------------------------------------------------
|
|
// implementation variables
|
|
int protocol_state; //values in rrc_constant.h
|
|
int ue_initial_id;
|
|
u32 local_connection_ref;
|
|
u16 cell_id;
|
|
int current_SFN;
|
|
|
|
struct rrc_neighbor_cells rg_ngbr_list;
|
|
char IMEI[14];
|
|
u8 establishment_cause;
|
|
u8 release_cause;
|
|
// u8 failure_cause; // not mw
|
|
// u8 failure_indicator; // boolean - not mw
|
|
u32 next_MUI; // for RLC AM
|
|
int idata_xfer; // flag for Initial data transfer
|
|
|
|
int last_message_sent;
|
|
//Added MSG1
|
|
u8 prot_error_indicator; // boolean
|
|
u16 nextActivationTime;
|
|
int next_state;
|
|
struct rrc_ue_msg_infos ue_msg_infos;
|
|
struct rrc_ue_trans accepted_trans[MAXTRANS];
|
|
struct rrc_ue_trans rejected_trans[MAXTRANS];
|
|
struct rrc_ue_trans rcved_trans; //transaction id received in last message
|
|
u16 c_rnti;
|
|
u16 u_rnti;
|
|
//Added MSG2
|
|
u8 am_RLC_ErrorIndicationRb2_3or4;
|
|
u8 am_RLC_ErrorIndicationRb5orAbove;
|
|
u8 rlc_Re_establishIndicatorRb2_3or4;
|
|
u8 rlc_Re_establishIndicatorRb5orAbove;
|
|
u8 cellUpdateCause;
|
|
u8 rejectWaitTime;
|
|
u16 ul_nas_message_lgth;
|
|
mem_block_t *ul_nas_message_ptr;
|
|
u16 dl_nas_message_lgth;
|
|
u8 *dl_nas_message_ptr;
|
|
u16 paging_message_lgth;
|
|
u8 *paging_message_ptr;
|
|
struct rrc_ue_rb_information ue_established_rbs[maxRB];
|
|
u16 num_rb;
|
|
// u8 qos_classes[MAXURAB];
|
|
// u8 dscp_codes[MAXURAB];
|
|
u16 requested_rbId;
|
|
u16 requested_QoSclass;
|
|
u16 requested_dscp;
|
|
u16 requested_sapid;
|
|
|
|
// platform configuration
|
|
int rrc_currently_updating;
|
|
RRM_VARS saved_configuration;
|
|
|
|
// link to L1
|
|
u8 rrc_ue_synch_ind;
|
|
u8 rrc_ue_cctrch_synch[maxCCTrCH];
|
|
u8 rrc_ue_cctrch[maxCCTrCH];
|
|
u8 rrc_ue_outsynch_ind;
|
|
u8 rrc_ue_cctrch_outsynch[maxCCTrCH];
|
|
|
|
/* ** OAI compatible part - begin **/
|
|
// Control block for srb-drb asn1-compliant
|
|
struct rrc_srb_drb_asn1 ue_rb_asn1;
|
|
|
|
// Control block for Broadcast asn1-compliant
|
|
struct rrc_ue_bch_asn1 ue_bch_asn1;
|
|
int mod_id;
|
|
/* ** OAI compatible part - end **/
|
|
|
|
// Control block for Broadcast
|
|
struct rrc_ue_bch_blocks ue_bch_blocks;
|
|
|
|
// Control blocks for measures
|
|
int rrc_ue_last_measurement;
|
|
int rrc_ue_meas_to_activate;
|
|
struct rrc_ue_meas_cmd ue_meas_cmd[MAXMEASTYPES];
|
|
struct rrc_ue_meas_rep ue_meas_rep[MAXMEASTYPES];
|
|
|
|
// Control block for MBMS
|
|
rrc_ue_mbms_variables mbms;
|
|
|
|
// pointer to next message to transmit to NAS
|
|
// this is actually the start of a linked list
|
|
mem_block_t *NASMessageToXmit;
|
|
int ip_rx_irq;
|
|
|
|
// RT-fifo descriptors
|
|
int rrc_ue_GC_fifo;
|
|
int rrc_ue_NT_fifo;
|
|
int rrc_ue_DCIn_fifo;
|
|
int rrc_ue_DCOut_fifo;
|
|
|
|
//internal parameters
|
|
unsigned int ue_broadcast_counter; // temp for sending broadcast to NAS
|
|
int ue_wait_establish_req; // possible values = 0 (init), 1 (SIB5 OK), 2 (SIB5 Not OK, SIB1 OK)
|
|
int L2_ccch_status; // possible values = 0 (OFF), 1 (IN_PROGRESS), 2 (ON)
|
|
char ccch_buffer[100];
|
|
int ccch_buffer_size;
|
|
int rrc_ue_t300_target;
|
|
int rrc_ue_t300_retry;
|
|
int rrc_ue_ackSimu_flag;
|
|
unsigned int rrc_ue_ackSimu_mui;
|
|
unsigned int rrc_ue_ackSimu_srbid;
|
|
//list2_t rrc_timers;
|
|
};
|
|
|
|
#endif
|