rrc_messages_types.h 9.67 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*
 * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The OpenAirInterface Software Alliance licenses this file to You under
 * the OAI Public License, Version 1.0  (the "License"); you may not use this file
 * except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.openairinterface.org/?page_id=698
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *-------------------------------------------------------------------------------
 * For more information about the OpenAirInterface (OAI) Software Alliance:
 *      contact@openairinterface.org
 */
nikaeinn's avatar
nikaeinn committed
21

22
23
24
25
/*
 * rrc_messages_types.h
 *
 *  Created on: Oct 24, 2013
nikaeinn's avatar
nikaeinn committed
26
 *      Author: winckel and Navid Nikaein
27
28
29
30
31
 */

#ifndef RRC_MESSAGES_TYPES_H_
#define RRC_MESSAGES_TYPES_H_

winckel's avatar
RRC:    
winckel committed
32
#include "as_message.h"
winckel's avatar
winckel committed
33
#include "rrc_types.h"
34
#include "s1ap_messages_types.h"
35
36
37
#ifdef CMAKER
#include "SystemInformationBlockType2.h"
#else
knopp's avatar
   
knopp committed
38
#include "RRC/LITE/MESSAGES/SystemInformationBlockType2.h"
39
#endif
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
40
41
42
43
44
#include "SL-OffsetIndicator-r12.h"
#include "SubframeBitmapSL-r12.h"
#include "SL-CP-Len-r12.h"
#include "SL-PeriodComm-r12.h"

winckel's avatar
RRC:    
winckel committed
45
46
47

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

56
57
58
59
60
61
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;
62
#endif
63
64

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

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

70
#define NAS_KENB_REFRESH_REQ(mSGpTR)    (mSGpTR)->ittiMsg.nas_kenb_refresh_req
winckel's avatar
winckel committed
71
72
73
#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
74

winckel's avatar
winckel committed
75
76
77
78
79
80
81
82
83
#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
84
85

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

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

95
  uint16_t            tac;
winckel's avatar
winckel committed
96

97
98
99
  uint16_t            mcc;
  uint16_t            mnc;
  uint8_t             mnc_digit_length;
100

101
102
  
  paging_drx_t            default_drx;
knopp's avatar
   
knopp committed
103
104
105
106
107
  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];
108
  uint8_t                 pbch_repetition[MAX_NUM_CCs];
knopp's avatar
   
knopp committed
109
110
111
112
113
  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
114
  int                     nb_antenna_ports[MAX_NUM_CCs];
115
116
117
118
119
120
121
  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];
knopp's avatar
   
knopp committed
122
  long                    pucch_nCS_AN[MAX_NUM_CCs];
Cedric Roux's avatar
Cedric Roux committed
123
#if !defined(Rel10) && !defined(Rel14)
124
  long                    pucch_n1_AN[MAX_NUM_CCs];
knopp's avatar
   
knopp committed
125
#endif
126
127
  long                    pdsch_referenceSignalPower[MAX_NUM_CCs];
  long                    pdsch_p_b[MAX_NUM_CCs];
knopp's avatar
   
knopp committed
128
129
130
  long                    pusch_n_SB[MAX_NUM_CCs];
  long                    pusch_hoppingMode[MAX_NUM_CCs];
  long                    pusch_hoppingOffset[MAX_NUM_CCs];
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
  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];
knopp's avatar
   
knopp committed
147
  long                    ul_CyclicPrefixLength[MAX_NUM_CCs];
148
149
150
151
152
153
  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];
knopp's avatar
   
knopp committed
154
  BOOLEAN_t               rach_preamblesGroupAConfig[MAX_NUM_CCs];
155
156
157
158
159
160
161
  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];
knopp's avatar
   
knopp committed
162
163
164
165
166
167
168
169
170
171
172
  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];
173
  long                    ue_TransmissionMode[MAX_NUM_CCs];
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190

//TTN - for D2D
  e_SL_CP_Len_r12     rxPool_sc_CP_Len[MAX_NUM_CCs];
  e_SL_PeriodComm_r12     rxPool_sc_Period[MAX_NUM_CCs];
  e_SL_CP_Len_r12     rxPool_data_CP_Len[MAX_NUM_CCs];
  long     rxPool_ResourceConfig_prb_Num[MAX_NUM_CCs];
  long     rxPool_ResourceConfig_prb_Start[MAX_NUM_CCs];
  long     rxPool_ResourceConfig_prb_End[MAX_NUM_CCs];
  SL_OffsetIndicator_r12_PR      rxPool_ResourceConfig_offsetIndicator_present[MAX_NUM_CCs];
  long     rxPool_ResourceConfig_offsetIndicator_choice[MAX_NUM_CCs];
  SubframeBitmapSL_r12_PR       rxPool_ResourceConfig_subframeBitmap_present[MAX_NUM_CCs];
  char*       rxPool_ResourceConfig_subframeBitmap_choice_bs_buf[MAX_NUM_CCs];
  long     rxPool_ResourceConfig_subframeBitmap_choice_bs_size[MAX_NUM_CCs];
  long     rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused[MAX_NUM_CCs];



winckel's avatar
winckel committed
191
192
} RrcConfigurationReq;

winckel's avatar
winckel committed
193
// UE: NAS -> RRC messages
194
typedef kenb_refresh_req_t      NasKenbRefreshReq;
winckel's avatar
winckel committed
195
196
197
198
typedef cell_info_req_t         NasCellSelectionReq;
typedef nas_establish_req_t     NasConnEstabliReq;
typedef ul_info_transfer_req_t  NasUlDataReq;

199
200
typedef rab_establish_rsp_t     NasRabEstRsp;

winckel's avatar
winckel committed
201
202
203
204
205
206
207
208
// 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;
209
210

#endif /* RRC_MESSAGES_TYPES_H_ */