Files
openairinterface5g/openair2/RRC/CELLULAR/rrc_rg_entity.h
T
2013-09-26 09:55:17 +00:00

116 lines
3.7 KiB
C
Executable File

/***************************************************************************
rrc_rg_entity.h -
-------------------
begin : Someday 2001
copyright : (C) 2001, 2010 by Eurecom
created by : Lionel.Gauthier@eurecom.fr
modified by : Michelle.Wetterwald@eurecom.fr
**************************************************************************
Data structure with RRC RG protocol parameters
***************************************************************************/
#ifndef __RRC_RG_ENTITY_H__
#define __RRC_RG_ENTITY_H__
//-----------------------------------------------------------------------------
#include "rrc_platform_types.h"
#include "rrc_constant.h"
#include "rrc_rg_bch_variables.h"
#include "rrc_rg_variables.h"
#include "rrc_rg_rrm_variables.h"
#include "rrc_rg_mbms_variables.h"
#include "rrc_rg_L2_intf_variables.h"
//-----------------------------------------------------------------------------
#include "rrm_config_structs.h"
// #include "rrc_rg_data.h"
// #include "rrc_rg_rrm_intf.h"
/******************************************************************************
* Protocol variables *
******************************************************************************/
struct rrc_rg_entity {
//-----------------------------------------------------------------------------
int current_SFN;
u8 protocol_state[maxUsers];
// Table to be changed into a list??
struct Mobile_Node Mobile_List[maxUsers];
u8 establishment_cause; // For NAS - A Revoir
// u8 release_cause;
u32 next_MUI; // for RLC AM
//External missing components simulation (debug)
int simulator;
int sim_counter;
// platform configuration
RRM_VARS saved_configuration;
int curr_transaction_id;
//rrc_md_qos_table md_qos_table;
int rrc_currently_updating; // RRC is updating rb configuration
int rrc_UE_updating;
int rrc_multicast_bearer;
u8 curr_config_action;
int curr_rb_failure_code;
// link to L1
int rrc_rg_pending_UE;
u8 rrc_rg_synch_ind;
u8 rrc_rg_cctrch_synch[maxCCTrCH_rg];
u8 rrc_rg_outsynch_ind;
u8 rrc_rg_cctrch_outsynch[maxCCTrCH_rg];
int rrc_rg_cctrch_crnti[maxCCTrCH_rg];
/* ** OAI compatible part - begin **/
// Control block for Broadcast asn1-compliant
struct rrc_rg_bch_asn1 rg_bch_asn1;
// Control block for srb-drb asn1-compliant
struct rrc_srb_drb_asn1 rg_rb_asn1;
int mod_id;
int ccch_current_UE_Id; //incremented each time a new UE sends ConnReq through CCH
/* ** OAI compatible part - end **/
// Control block for Broadcast
struct rrc_rg_bch_blocks rg_bch_blocks;
int rg_broadcast_counter;
// 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;
// RG configuration
u16 rg_cell_id;
int num_cells;
char ccch_buffer[100];
int ccch_buffer_size;
// RG measures
struct rrc_rg_meas_blocks rg_meas_blocks;
// Control block for MBMS
struct rrc_rg_mbms_variables mbms;
// RT-fifo descriptors
int rrc_rg_GC_fifo;
int rrc_rg_NT_fifo;
int rrc_rg_DCIn_fifo[maxUsers];
int rrc_rg_DCOut_fifo[maxUsers];
// Control Block RRM interface
struct rrc_rg_rrm_variables rc_rrm;
//Added for Medieval demo 3 - MW
int eNB_measures_flag;
// hard-coded values for testing demo3 (set in main)
int conf_rlcBufferOccupancy[maxUsers];
int conf_scheduledPRB[maxUsers];
int conf_totalDataVolume[maxUsers];
// storage of last values measured
int num_connected_UEs;
int current_rlcBufferOccupancy[maxUsers];
int current_scheduledPRB[maxUsers];
int current_totalDataVolume[maxUsers];
int current_totalNumPRBs;
};
#endif