rrc_messages_types.h 8.88 KB
Newer Older
nikaeinn's avatar
nikaeinn committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*******************************************************************************
    OpenAirInterface
    Copyright(c) 1999 - 2014 Eurecom

    OpenAirInterface is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.


    OpenAirInterface is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with OpenAirInterface.The full GNU General Public License is
   included in this distribution in the file called "COPYING". If not,
   see <http://www.gnu.org/licenses/>.

  Contact Information
  OpenAirInterface Admin: openair_admin@eurecom.fr
  OpenAirInterface Tech : openair_tech@eurecom.fr
  OpenAirInterface Dev  : openair4g-devel@eurecom.fr

ghaddab's avatar
ghaddab committed
26
  Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
nikaeinn's avatar
nikaeinn committed
27
28
29

*******************************************************************************/

30
31
32
33
/*
 * rrc_messages_types.h
 *
 *  Created on: Oct 24, 2013
nikaeinn's avatar
nikaeinn committed
34
 *      Author: winckel and Navid Nikaein
35
36
37
38
39
 */

#ifndef RRC_MESSAGES_TYPES_H_
#define RRC_MESSAGES_TYPES_H_

winckel's avatar
RRC:    
winckel committed
40
#include "as_message.h"
winckel's avatar
winckel committed
41
#include "rrc_types.h"
42
#include "s1ap_messages_types.h"
knopp's avatar
   
knopp committed
43
#include "RRC/LITE/MESSAGES/SystemInformationBlockType2.h"
winckel's avatar
RRC:    
winckel committed
44
45
46

//-------------------------------------------------------------------------------------------//
// Messages for RRC logging
47
#if defined(DISABLE_ITTI_XER_PRINT)
48
49
50
#include "BCCH-DL-SCH-Message.h"
#include "DL-CCCH-Message.h"
#include "DL-DCCH-Message.h"
51
#include "UE-EUTRA-Capability.h"
52
53
#include "UL-CCCH-Message.h"
#include "UL-DCCH-Message.h"
54

55
56
57
58
59
60
typedef BCCH_DL_SCH_Message_t   RrcDlBcchMessage;
typedef DL_CCCH_Message_t       RrcDlCcchMessage;
typedef DL_DCCH_Message_t       RrcDlDcchMessage;
typedef UE_EUTRA_Capability_t   RrcUeEutraCapability;
typedef UL_CCCH_Message_t       RrcUlCcchMessage;
typedef UL_DCCH_Message_t       RrcUlDcchMessage;
61
#endif
62
63

//-------------------------------------------------------------------------------------------//
winckel's avatar
RRC:    
winckel committed
64
// Defines to access message fields.
winckel's avatar
winckel committed
65
66
#define RRC_STATE_IND(mSGpTR)           (mSGpTR)->ittiMsg.rrc_state_ind

winckel's avatar
winckel committed
67
#define RRC_CONFIGURATION_REQ(mSGpTR)   (mSGpTR)->ittiMsg.rrc_configuration_req
winckel's avatar
winckel committed
68

winckel's avatar
winckel committed
69
70
71
#define NAS_CELL_SELECTION_REQ(mSGpTR)  (mSGpTR)->ittiMsg.nas_cell_selection_req
#define NAS_CONN_ESTABLI_REQ(mSGpTR)    (mSGpTR)->ittiMsg.nas_conn_establi_req
#define NAS_UPLINK_DATA_REQ(mSGpTR)     (mSGpTR)->ittiMsg.nas_ul_data_req
72

winckel's avatar
winckel committed
73
74
75
76
77
78
79
80
81
#define NAS_RAB_ESTABLI_RSP(mSGpTR)     (mSGpTR)->ittiMsg.nas_rab_est_rsp

#define NAS_CELL_SELECTION_CNF(mSGpTR)  (mSGpTR)->ittiMsg.nas_cell_selection_cnf
#define NAS_CELL_SELECTION_IND(mSGpTR)  (mSGpTR)->ittiMsg.nas_cell_selection_ind
#define NAS_PAGING_IND(mSGpTR)          (mSGpTR)->ittiMsg.nas_paging_ind
#define NAS_CONN_ESTABLI_CNF(mSGpTR)    (mSGpTR)->ittiMsg.nas_conn_establi_cnf
#define NAS_CONN_RELEASE_IND(mSGpTR)    (mSGpTR)->ittiMsg.nas_conn_release_ind
#define NAS_UPLINK_DATA_CNF(mSGpTR)     (mSGpTR)->ittiMsg.nas_ul_data_cnf
#define NAS_DOWNLINK_DATA_IND(mSGpTR)   (mSGpTR)->ittiMsg.nas_dl_data_ind
82
83

//-------------------------------------------------------------------------------------------//
winckel's avatar
winckel committed
84
85
86
87
88
typedef struct RrcStateInd_s{
    Rrc_State_t     state;
    Rrc_Sub_State_t sub_state;
} RrcStateInd;

winckel's avatar
winckel committed
89
90
// eNB: ENB_APP -> RRC messages
typedef struct RrcConfigurationReq_s {
91
    uint32_t            cell_identity;
winckel's avatar
winckel committed
92

93
    uint16_t            tac;
winckel's avatar
winckel committed
94

95
96
    uint16_t            mcc;
    uint16_t            mnc;
nikaeinn's avatar
nikaeinn committed
97
    uint8_t             mnc_digit_length;
98

knopp's avatar
   
knopp committed
99
  /*
100
101
102
    paging_drx_t        default_drx;

    lte_frame_type_t    frame_type;
103
104
    uint8_t             tdd_config;
    uint8_t             tdd_config_s;
105
    int16_t             eutra_band;
knopp's avatar
   
knopp committed
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
  */
  int16_t                 nb_cc;
  lte_frame_type_t        frame_type[MAX_NUM_CCs];
  uint8_t                 tdd_config[MAX_NUM_CCs];
  uint8_t                 tdd_config_s[MAX_NUM_CCs];
  lte_prefix_type_t       prefix_type[MAX_NUM_CCs];
  int16_t                 eutra_band[MAX_NUM_CCs];
  uint32_t                downlink_frequency[MAX_NUM_CCs];
  int32_t                 uplink_frequency_offset[MAX_NUM_CCs];

  int16_t                 Nid_cell[MAX_NUM_CCs];// for testing, change later
  int16_t                 N_RB_DL[MAX_NUM_CCs];// for testing, change later
  int	                  nb_antennas_tx[MAX_NUM_CCs];   
  int                     nb_antennas_rx[MAX_NUM_CCs];   
  long                    prach_root[MAX_NUM_CCs];   
  long                    prach_config_index[MAX_NUM_CCs]; 
  BOOLEAN_t               prach_high_speed[MAX_NUM_CCs]; 
  long                    prach_zero_correlation[MAX_NUM_CCs]; 
  long                    prach_freq_offset[MAX_NUM_CCs]; 
  long                    pucch_delta_shift[MAX_NUM_CCs]; 
  long                    pucch_nRB_CQI[MAX_NUM_CCs]; 
  long                    pucch_nCS_AN[MAX_NUM_CCs];
#ifndef Rel10 
  long                    pucch_n1_AN[MAX_NUM_CCs]; 
#endif
  long                    pdsch_referenceSignalPower[MAX_NUM_CCs]; 
  long                    pdsch_p_b[MAX_NUM_CCs]; 
  long                    pusch_n_SB[MAX_NUM_CCs];
  long                    pusch_hoppingMode[MAX_NUM_CCs];
  long                    pusch_hoppingOffset[MAX_NUM_CCs];
  BOOLEAN_t               pusch_enable64QAM[MAX_NUM_CCs]; 
  BOOLEAN_t               pusch_groupHoppingEnabled[MAX_NUM_CCs]; 
  long                    pusch_groupAssignment[MAX_NUM_CCs]; 
  BOOLEAN_t               pusch_sequenceHoppingEnabled[MAX_NUM_CCs]; 
  long                    pusch_nDMRS1[MAX_NUM_CCs]; 
  long                    phich_duration[MAX_NUM_CCs]; 
  long                    phich_resource[MAX_NUM_CCs]; 
  BOOLEAN_t               srs_enable[MAX_NUM_CCs]; 
  long                    srs_BandwidthConfig[MAX_NUM_CCs]; 
  long                    srs_SubframeConfig[MAX_NUM_CCs]; 
  BOOLEAN_t               srs_ackNackST[MAX_NUM_CCs]; 
  BOOLEAN_t               srs_MaxUpPts[MAX_NUM_CCs]; 
  long                    pusch_p0_Nominal[MAX_NUM_CCs]; 
  long                    pusch_alpha[MAX_NUM_CCs]; 
  long                    pucch_p0_Nominal[MAX_NUM_CCs]; 
  long                    msg3_delta_Preamble[MAX_NUM_CCs]; 
  long                    ul_CyclicPrefixLength[MAX_NUM_CCs];
  e_DeltaFList_PUCCH__deltaF_PUCCH_Format1                    pucch_deltaF_Format1[MAX_NUM_CCs]; 
  e_DeltaFList_PUCCH__deltaF_PUCCH_Format1b                   pucch_deltaF_Format1b[MAX_NUM_CCs]; 
  e_DeltaFList_PUCCH__deltaF_PUCCH_Format2                    pucch_deltaF_Format2[MAX_NUM_CCs]; 
  e_DeltaFList_PUCCH__deltaF_PUCCH_Format2a                   pucch_deltaF_Format2a[MAX_NUM_CCs]; 
  e_DeltaFList_PUCCH__deltaF_PUCCH_Format2b                   pucch_deltaF_Format2b[MAX_NUM_CCs]; 
  long                    rach_numberOfRA_Preambles[MAX_NUM_CCs]; 
  BOOLEAN_t               rach_preamblesGroupAConfig[MAX_NUM_CCs];
  long	                  rach_sizeOfRA_PreamblesGroupA[MAX_NUM_CCs];
  long	                  rach_messageSizeGroupA[MAX_NUM_CCs];
  e_RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB	                  rach_messagePowerOffsetGroupB[MAX_NUM_CCs];
  long                    rach_powerRampingStep[MAX_NUM_CCs]; 
  long                    rach_preambleInitialReceivedTargetPower[MAX_NUM_CCs]; 
  long                    rach_preambleTransMax[MAX_NUM_CCs]; 
  long                    rach_raResponseWindowSize[MAX_NUM_CCs]; 
  long                    rach_macContentionResolutionTimer[MAX_NUM_CCs];
  long                    rach_maxHARQ_Msg3Tx[MAX_NUM_CCs];
  long                    bcch_modificationPeriodCoeff[MAX_NUM_CCs];
  long                    pcch_defaultPagingCycle[MAX_NUM_CCs];
  long                    pcch_nB[MAX_NUM_CCs];
  long                    ue_TimersAndConstants_t300[MAX_NUM_CCs];
  long                    ue_TimersAndConstants_t301[MAX_NUM_CCs];
  long                    ue_TimersAndConstants_t310[MAX_NUM_CCs];
  long                    ue_TimersAndConstants_t311[MAX_NUM_CCs];
  long                    ue_TimersAndConstants_n310[MAX_NUM_CCs];
  long                    ue_TimersAndConstants_n311[MAX_NUM_CCs];
  
winckel's avatar
winckel committed
179
180
} RrcConfigurationReq;

winckel's avatar
winckel committed
181
182
183
184
185
// UE: NAS -> RRC messages
typedef cell_info_req_t         NasCellSelectionReq;
typedef nas_establish_req_t     NasConnEstabliReq;
typedef ul_info_transfer_req_t  NasUlDataReq;

186
187
typedef rab_establish_rsp_t     NasRabEstRsp;

winckel's avatar
winckel committed
188
189
190
191
192
193
194
195
// UE: RRC -> NAS messages
typedef cell_info_cnf_t         NasCellSelectionCnf;
typedef cell_info_ind_t         NasCellSelectionInd;
typedef paging_ind_t            NasPagingInd;
typedef nas_establish_cnf_t     NasConnEstabCnf;
typedef nas_release_ind_t       NasConnReleaseInd;
typedef ul_info_transfer_cnf_t  NasUlDataCnf;
typedef dl_info_transfer_ind_t  NasDlDataInd;
196
197

#endif /* RRC_MESSAGES_TYPES_H_ */