4a8e169d012864da3ed68aaf72475e77a681f9c9
[o-du/l2.git] / src / cm / ctf.h
1 /*******************************************************************************
2 ################################################################################
3 #   Copyright (c) [2017-2019] [Radisys]                                        #
4 #                                                                              #
5 #   Licensed under the Apache License, Version 2.0 (the "License");            #
6 #   you may not use this file except in compliance with the License.           #
7 #   You may obtain a copy of the License at                                    #
8 #                                                                              #
9 #       http://www.apache.org/licenses/LICENSE-2.0                             #
10 #                                                                              #
11 #   Unless required by applicable law or agreed to in writing, software        #
12 #   distributed under the License is distributed on an "AS IS" BASIS,          #
13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
14 #   See the License for the specific language governing permissions and        #
15 #   limitations under the License.                                             #
16 ################################################################################
17 *******************************************************************************/
18
19 /**********************************************************************
20      Name:     LTE-PHY layer 
21   
22      Type:     C include file 
23   
24      Desc:     Defines required by the LTE PHY-RRC control (CTF) interface.
25
26      File:     ctf.h 
27
28 **********************************************************************/
29 #ifndef __CTF_H__
30 #define __CTF_H__
31
32 /** 
33  * @file
34  * @brief Defines for CTF interface.
35 */
36 /* ctf_h_001.main_1  Wireshark Compilation issue */
37 #ifdef WIRESHARK_LOG
38 #define EVTCTFWIRESHARK 8
39 #endif
40 /* selva end*/
41 /** Bind request event */
42 #define EVTCTFBNDREQ   1
43 /** Bind confirm event */
44 #define EVTCTFBNDCFM   2
45 /** Unbind request event */
46 #define EVTCTFUBNDREQ  3
47 /** Configuration request event */
48 #define EVTCTFCFGREQ   4
49 /** Configuration Confirm event */
50 #define EVTCTFCFGCFM   5
51 /** UE Id Change Request event */
52 #define EVTCTFUEIDCHGREQ  6
53 /** UE Id Change Request event */
54 #define EVTCTFUEIDCHGCFM  7
55 #ifdef TENB_AS_SECURITY
56 /**Data Request event*/
57 /** key derivation primitive request event */
58 #define EVTCTFKDFREQ   8
59 /** Configuration Confirm event */
60 #define EVTCTFKDFCFM   9
61 #endif
62 /* ENB STOP indication from PHY to ENB-APP*/
63 #define EVTCTFENBSTOPIND 10
64
65 /* Maximum NMM Message Length */
66 #define MAX_NMM_MSG_LEN 1024
67 /* Sniffer control response event */
68 #define EVTCTFSNFCNTRSP 10
69 /* sniffer RTWP response event */
70 #define EVTCTFSNFRTWRSP 11
71 /* Sniffer cell search respo event*/
72 #define EVTCTFSNFCELSERSP 12
73 /* Sniffer read sib1 respo event */
74 #define EVTCTFSNFRDSIB1RSP 13 
75 /* Sniffer read sib response event */
76 #define EVTCTFSNFRDSIBRSP 14
77 /* Sniffer read sib indication event */
78 #define EVTCTFSNFRDSIBIND 15
79 /*Sniffer stop read sib response event */
80 #define EVTCTFSNFSTRDSIBRSP 16
81
82 /* Sniffer msg */
83 #define EVTCTFSNFREQMSGS 17
84 #define EVTCTFSNFRSPMSGS 18
85
86 #define EVTCTFBTCHPROCTICK 19
87 #define EVTCTFNRTRBUFCLEAN 20
88
89 /* CNM feature start */
90 #define EVTCTFCNMINITSYNCREQ 21
91 #define EVTCTFCNMINITSYNCRSP 22
92
93 #define EVTCTFCNMSYNCREQ 23
94 #define EVTCTFCNMSYNCRSP 24
95 #define EVTCTFCNMSYNCIND 25
96 /* CNM feature end */
97 #define EVTL2LOGBUF 28
98 /* Periodic REM for TPM */
99 #define EVTCTFPREMCELLSRCHRSP 26
100 /* Periodic REM for TPM End */
101
102 #ifdef RSYS_WIRESHARK
103 #define EVTCTFWIRESHARKMSG 27
104 #endif
105
106 #define OAM_LTE_MAX_CARRIER_LIST 100
107 #define MAX_NO_OF_NEIGHBOURS 16
108 #define CPHY_MAX_BCCH_SIZE 2048
109 #define SI_PERIODICITY_CNT 32
110 #define OAM_LTE_MAX_PCI_LIST 51
111
112 /** Configuration Confirm - Positive confirmation: config successful. */
113 #define CTF_CFG_CFM_OK  1
114 /** Configuration Confirm - Negative confirmation: config failed. */
115 #define CTF_CFG_CFM_NOK 2
116
117 /** Configuration type : CONFIG/SETUP (cfgType in CtfCfgReq). */
118 #define CTF_CONFIG   1
119 /** Configuration type : RECONFIG/MODIFY (cfgType in CtfCfgReq). */
120 #define CTF_RECONFIG 2
121 /** Configuration type : DELETE/RELEASE (cfgType in CtfCfgReq). */
122 #define CTF_DELETE   3
123
124 #ifdef TENB_AS_SECURITY
125 #define CTF_KDF_TYPE1 0
126 #define CTF_KDF_TYPE2 1
127 #define CTF_KDF_TYPE3 2
128 #ifdef SS_RBUF
129 #define CTF_KDF_TYPE4 3
130 #define CTF_KDF_TYPE5 4
131 #endif
132 #endif
133
134 /* CNM Feature start */
135 #define CTF_CNM_MAX_CELL_SEARCH 16
136 #define CTF_CNM_MAX_VENDOR_PARAMS 8
137 /* CNM Feature end*/
138
139 /* Periodic REM for TPM */
140 #define CTF_REM_MAX_CELL_SEARCH 16
141 /* Periodic REM for TPM End */
142
143 /** Configuration element type : Cell (cfgElem in CtfCfgInfo/CtfReCfgInfo). */
144 #define CTF_CELL_CFG 1
145 /** Configuration element type : UE (cfgElem in CtfCfgInfo/CtfReCfgInfo). */
146 #define CTF_UE_CFG   2
147
148 /* Starts - Fix for CR ccpu00123185 */
149 #define CTF_TX_PWR_CFG 3
150 /* Ends - Fix for CR ccpu00123185 */
151
152 #define CTF_CELL_STOP 4
153
154 /** Configuration type for any sub-element : Setup */
155 #define CTF_IE_CFG_SETUP     1
156 /** Configuration type for any sub-element : Release */
157 #define CTF_IE_CFG_RELEASE   2
158
159 /** CQI reporting mode configuration type : Periodic
160  *  (reportingMode in CtfCqiReportCfgInfo).
161 */
162 #define CTF_CQI_RPTMODE_PRDIOC   1
163 /** CQI reporting mode configuration type : Aperiodic
164  *  (reportingMode in CtfCqiReportCfgInfo).
165 */
166 #define CTF_CQI_RPTMODE_APRDIOC  2
167
168 /** Periodic CQI format indicator configuration type : Wideband 
169  *  (formatIndicator in CtfCqiRptModePeriodic).
170 */
171 #define CTF_CQI_PRDIC_FMT_IND_WIDEBAND    1
172 /** Periodic CQI format indicator configuration type : Subband 
173  *  (formatIndicator in CtfCqiRptModePeriodic).
174 */
175 #define CTF_CQI_PRDIC_FMT_IND_SUBBAND     2
176
177
178 #define CTF_CFG_TRANSID_SIZE 9  /*!< Macro for Transaction ID size */
179
180 /* selector(coupling) values */
181 #define CTF_SEL_LC     0     /*!< Macro for Light Coupling */
182 #define CTF_SEL_TC     1     /*!< Macro for Tight Coupling */
183 #define CTF_SEL_LWLC   2     /*!< Macro for Light Weight Loose Coupling */
184
185 /* Amit */
186 #define CTF_MAX_SCELL_PER_UE         7
187 #ifdef TENB_AS_SECURITY
188 #define CTF_MEM_SDU_SIZE            512
189 /*Security related information*/
190 #define CTF_SEC_KEY_LEN 32
191 #define CTF_DER_KEY_LEN 32
192 #define CTF_STRING_S_LEN 7
193 #endif
194
195 /*EMTC */
196 #ifdef EMTC_ENABLE 
197 #define CTF_MAX_CE_LEVEL     4       /*max number of CE LEVEL */
198 #endif
199 /*EMTC*/
200
201 #define CTF_LTEU_MAX_EARFCN   10
202 #ifdef ENABLE_CNM
203 #define  EVTCTFCNMMSG 90/* Added for CNM Feature */
204 #endif
205 #ifdef L2_L3_SPLIT
206 #define  EVTCTFNMMMSG 91/* Added for CNM Feature */
207 #endif
208
209 /* pack unpack error code */
210 #define   ECTFXXX      0 /* reserved */
211
212 #define ERRCTF                  0
213
214 #define ECTF001         (ERRCTF + 1)
215 #define ECTF002         (ERRCTF + 2)
216 #define ECTF003         (ERRCTF + 3)
217 #define ECTF004         (ERRCTF + 4)
218 #define ECTF005         (ERRCTF + 5)
219 #define ECTF006         (ERRCTF + 6)
220 #define ECTF007         (ERRCTF + 7)
221 #define ECTF008         (ERRCTF + 8)
222 #define ECTF009         (ERRCTF + 9)
223 #define ECTF010         (ERRCTF + 10)
224 #define ECTF011         (ERRCTF + 11)
225 #define ECTF012         (ERRCTF + 12)
226 #define ECTF013         (ERRCTF + 13)
227 #define ECTF014         (ERRCTF + 14)
228 #define ECTF015         (ERRCTF + 15)
229 #define ECTF016         (ERRCTF + 16)
230 #define ECTF017         (ERRCTF + 17)
231 #define ECTF018         (ERRCTF + 18)
232 #define ECTF019         (ERRCTF + 19)
233 #define ECTF020         (ERRCTF + 20)
234 #define ECTF021         (ERRCTF + 21)
235 #define ECTF022         (ERRCTF + 22)
236 #define ECTF023         (ERRCTF + 23)
237 #define ECTF024         (ERRCTF + 24)
238 #define ECTF025         (ERRCTF + 25)
239 #define ECTF026         (ERRCTF + 26)
240 #define ECTF027         (ERRCTF + 27)
241 #define ECTF028         (ERRCTF + 28)
242 #define ECTF029         (ERRCTF + 29)
243 #define ECTF030         (ERRCTF + 30)
244 #define ECTF031         (ERRCTF + 31)
245 #define ECTF032         (ERRCTF + 32)
246 #define ECTF033         (ERRCTF + 33)
247 #define ECTF034         (ERRCTF + 34)
248 #define ECTF035         (ERRCTF + 35)
249 #define ECTF036         (ERRCTF + 36)
250 #define ECTF037         (ERRCTF + 37)
251 #define ECTF038         (ERRCTF + 38)
252 #define ECTF039         (ERRCTF + 39)
253 #define ECTF040         (ERRCTF + 40)
254 #define ECTF041         (ERRCTF + 41)
255 #define ECTF042         (ERRCTF + 42)
256 #define ECTF043         (ERRCTF + 43)
257 #define ECTF044         (ERRCTF + 44)
258 #define ECTF045         (ERRCTF + 45)
259 #define ECTF046         (ERRCTF + 46)
260 #define ECTF047         (ERRCTF + 47)
261 #define ECTF048         (ERRCTF + 48)
262 #define ECTF049         (ERRCTF + 49)
263 #define ECTF050         (ERRCTF + 50)
264 #define ECTF051         (ERRCTF + 51)
265 #define ECTF052         (ERRCTF + 52)
266 #define ECTF053         (ERRCTF + 53)
267 #define ECTF054         (ERRCTF + 54)
268 #define ECTF055         (ERRCTF + 55)
269 #define ECTF056         (ERRCTF + 56)
270 #define ECTF057         (ERRCTF + 57)
271 #define ECTF058         (ERRCTF + 58)
272 #define ECTF059         (ERRCTF + 59)
273 /* ctf_h_001.main_2: Added new error code. */
274 #define ECTF060         (ERRCTF + 60)
275 #define ECTF061         (ERRCTF + 61)
276
277 #endif /* __CTF_H__ */
278
279
280 /**********************************************************************
281   
282          End of file
283 **********************************************************************/