Docs and build updates along with prachCfgTableIdx completion
[o-du/l2.git] / src / cm / ckw.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**
20   
21         Name:    CKW RRC Control Interface
22     
23         Type:    C include file
24   
25         Desc:    This file Contains the Data structures for and prototypes
26                   CKW Interface
27  
28         File:    ckw.h
29   
30 *********************************************************************21*/
31
32 #ifndef __CKW_H__
33 #define __CKW_H__
34
35 #ifdef __cplusplus
36 EXTERN "C" {
37 #endif  /*for extern "C"*/
38
39 /** @file ckw.h
40     @brief CKW Interface File (ckw.h)
41 */
42  
43 /* CKW Interface Hash Defines */
44
45 /* Loose Coupling define */
46 #define CKW_SEL_LC            0     /*!< Loose Coupling Option */
47 #define CKW_SEL_TC            1     /*!< Tight Coupling Option */
48 #define CKW_SEL_LWLC          2     /*!< Light Weight Loose Coupling */
49
50 /* CKW Interface defines */
51 #define CKW_MAX_ENT_CFG       24    /*!< Maximum number of entities to configure */
52 /* ckw_h_001.main_3 added support for L2 Measurement */   
53 #ifdef LTE_L2_MEAS
54 #define CKW_MAX_QCI           10
55 #endif
56 /* CKW Interface configuration type */
57 #define CKW_CFG_ADD           1     /*!< Add RLC Entity */
58 #define CKW_CFG_MODIFY        2     /*!< Modify RLC Entity */
59 #define CKW_CFG_DELETE        3     /*!< Delete RLC entity */
60 #define CKW_CFG_REESTABLISH   4     /*!< Re-establish RLC entity */
61 #define CKW_CFG_DELETE_UE     5     /*!< Release RLC entities per UE */
62 #define CKW_CFG_DELETE_CELL   6     /*!< Release RLC entities per Cell */
63
64 /* CKW RLC entity direction configuration */
65 #define CKW_CFG_DIR_UL        1     /*!< Unlink direction */
66 #define CKW_CFG_DIR_DL        2     /*!< Downlink direction */
67 #define CKW_CFG_DIR_BOTH      3     /*!< Both Downlink and Unlink */
68
69 /* CKW Configuration confirmations */
70 #define CKW_CFG_CFM_OK        1     /*!< Configuration confirmation success */
71 #define CKW_CFG_CFM_NOK       2     /*!< Configuration confirmation failed */
72
73 /* CKW Configuration Failure Reasons */
74 #define CKW_CFG_REAS_NONE              0  /*!< No Failure */
75 #define CKW_CFG_REAS_RB_CREAT_FAIL     1  /*!< RB CB creation Failure */
76 #define CKW_CFG_REAS_UE_CREAT_FAIL     2  /*!< UE CB creation Failure */
77 #define CKW_CFG_REAS_CELL_CREAT_FAIL   3  /*!< CELL CB creation Failure */
78 #define CKW_CFG_REAS_RB_PRSNT          4  /*!< RB CB already present */
79 #define CKW_CFG_REAS_LCHTYPE_MIS       5  /*!< Logical channel type mismatch
80                                            with mode */
81 #define CKW_CFG_REAS_RB_UNKWN          6  /*!< RB Cb unknown */
82 #define CKW_CFG_REAS_UE_UNKWN          7  /*!< UE Cb unknown */
83 #define CKW_CFG_REAS_CELL_UNKWN        8  /*!< Cell Cb unknown */
84 #define CKW_CFG_REAS_RB_DEL_FAIL       9  /*!< RB Cb Deletion Failure */
85 #define CKW_CFG_REAS_UE_DEL_FAIL      10  /*!< UE Cb Deletion Failure */
86 #define CKW_CFG_REAS_RB_REEST_FAIL    11  /*!< RB Cb Re establish Failure */
87 #define CKW_CFG_REAS_RB_MODE_MIS      12  /*!< RB Cb Mode mismatch */
88 #define CKW_CFG_REAS_REEST_FAIL       13  /*!< RB Cb Re-establishment Failed */
89 #define CKW_CFG_REAS_RECFG_FAIL       14  /*!< RB Cb Re-configuration Failed */
90 #define CKW_CFG_REAS_INVALID_CFG      15  /*!< Invalid Configuration Type */
91 #define CKW_CFG_REAS_SAME_UEID        16  /*!< UE Ids match in ChngUeId Request */
92 #define CKW_CFG_REAS_CELL_DEL_FAIL    17  /*!< Cell Cb Deletion Failure */
93 #define CKW_CFG_REAS_INVALID_LCHID    18  /*!< Invalid LChId */
94 #define CKW_CFG_REAS_INVALID_DIR      19  /*!< Invalid Direction */
95 #define CKW_CFG_REAS_UE_EXISTS        20  /*!< UE ID already exists */
96 #define CKW_CFG_REAS_INVALID_SNLEN    21  /*!< Invalid SN Length */
97 #define CKW_CFG_REAS_SNLEN_MIS        22  /*!< SN Length mismatch */
98 #define CKW_CFG_REAS_INVALID_RGUSAP   23  /*!< Invalid RGU SAP ID */
99
100 /***********************************************************************
101         Defines for  CKW Interface Events
102  ***********************************************************************/
103 #define CKW_EVT_BND_REQ       0x01     /*!< Bind Request */
104 #define CKW_EVT_BND_CFM       0x02     /*!< Bind Confirm */
105 #define CKW_EVT_UBND_REQ      0x03     /*!< Unbind Request */
106 #define RLC_EVT_UE_CREATE_REQ       0x04     /*!< UE Create Request */
107 #define CKW_EVT_CFG_CFM       0x05     /*!< Config Confirm */
108 #define CKW_EVT_UEIDCHG_REQ   0x06     /*!< UE Id Change Request */
109 #define CKW_EVT_UEIDCHG_CFM   0x07     /*!< UE Id Change Confirm */
110
111 /* Error Codes */
112 #define   ERRCKW 0
113 #define   ECKWXXX 0
114 #define   ECKW001      (ERRCKW +    1)    /*        ckw.c: 162 */
115 #define   ECKW002      (ERRCKW +    2)    /*        ckw.c: 167 */
116 #define   ECKW003      (ERRCKW +    3)    /*        ckw.c: 168 */
117 #define   ECKW004      (ERRCKW +    4)    /*        ckw.c: 213 */
118 #define   ECKW005      (ERRCKW +    5)    /*        ckw.c: 218 */
119 #define   ECKW006      (ERRCKW +    6)    /*        ckw.c: 219 */
120 #define   ECKW007      (ERRCKW +    7)    /*        ckw.c: 264 */
121 #define   ECKW008      (ERRCKW +    8)    /*        ckw.c: 270 */
122 #define   ECKW009      (ERRCKW +    9)    /*        ckw.c: 271 */
123 #define   ECKW010      (ERRCKW +   10)    /*        ckw.c: 543 */
124 #define   ECKW011      (ERRCKW +   11)    /*        ckw.c: 588 */
125 #define   ECKW012      (ERRCKW +   12)    /*        ckw.c: 606 */
126 #define   ECKW013      (ERRCKW +   13)    /*        ckw.c: 622 */
127 #define   ECKW014      (ERRCKW +   14)    /*        ckw.c: 702 */
128 #define   ECKW015      (ERRCKW +   15)    /*        ckw.c: 747 */
129 #define   ECKW016      (ERRCKW +   16)    /*        ckw.c: 765 */
130 #define   ECKW017      (ERRCKW +   17)    /*        ckw.c: 781 */
131 #define   ECKW018      (ERRCKW +   18)    /*        ckw.c: 863 */
132 #define   ECKW019      (ERRCKW +   19)    /*        ckw.c: 884 */
133 #define   ECKW020      (ERRCKW +   20)    /*        ckw.c: 885 */
134 #define   ECKW021      (ERRCKW +   21)    /*        ckw.c: 935 */
135 #define   ECKW022      (ERRCKW +   22)    /*        ckw.c: 950 */
136 #define   ECKW023      (ERRCKW +   23)    /*        ckw.c: 951 */
137 #define   ECKW024      (ERRCKW +   24)    /*        ckw.c: 995 */
138 #define   ECKW025      (ERRCKW +   25)    /*        ckw.c: 996 */
139 #define   ECKW026      (ERRCKW +   26)    /*        ckw.c:1034 */
140 #define   ECKW027      (ERRCKW +   27)    /*        ckw.c:1035 */
141 #define   ECKW028      (ERRCKW +   28)    /*        ckw.c:1072 */
142 #define   ECKW029      (ERRCKW +   29)    /*        ckw.c:1073 */
143 #define   ECKW030      (ERRCKW +   30)    /*        ckw.c:1299 */
144 #define   ECKW031      (ERRCKW +   31)    /*        ckw.c:1417 */
145 #define   ECKW032      (ERRCKW +   32)    /*        ckw.c:1424 */
146 #define   ECKW033      (ERRCKW +   33)    /*        ckw.c:1472 */
147 #define   ECKW034      (ERRCKW +   34)    /*        ckw.c:1493 */
148 #define   ECKW035      (ERRCKW +   35)    /*        ckw.c:1548 */
149 #define   ECKW036      (ERRCKW +   36)    /*        ckw.c:1570 */
150 #define   ECKW037      (ERRCKW +   37)    /*        ckw.c:1653 */
151 #define   ECKW038      (ERRCKW +   38)    /*        ckw.c:1663 */
152 #define   ECKW039      (ERRCKW +   39)    /*        ckw.c:1678 */
153 #define   ECKW040      (ERRCKW +   40)    /*        ckw.c:1691 */
154 #define   ECKW041      (ERRCKW +   41)    /*        ckw.c:1706 */
155 #define   ECKW042      (ERRCKW +   42)    /*        ckw.c:1755 */
156 #define   ECKW043      (ERRCKW +   43)    /*        ckw.c:1765 */
157 #define   ECKW044      (ERRCKW +   44)    /*        ckw.c:1780 */
158
159 #ifdef __cplusplus
160 }
161 #endif /* __cplusplus */
162 #endif /* __CKW_H__ */
163
164
165 \f  
166 /********************************************************************30**
167          End of file
168 **********************************************************************/