Moving all common header file into common_def.h file
[o-du/l2.git] / src / 5gnrmac / rg_prg_pt.c
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  
21      Name:     LTE-MAC layer
22   
23      Type:     C source file
24   
25      Desc:     C source code for MAC to MAC (PRG) interface 
26   
27      File:     rg_prg_pt.c 
28   
29 **********************************************************************/
30
31 /* header include files -- defines (.h) */
32 #include "common_def.h"
33 #include "lrg.h"           /* layer manager for MAC */
34 #include "crg.h"           /* CRG interface includes*/
35 #include "rgu.h"           /* RGU interface includes*/
36 #include "tfu.h"           /* TFU interface includes*/
37 #include "rg_sch_inf.h"    /* SCH interface includes*/
38 #include "rg_prg.h"        /* PRG interface includes*/
39 #include "rg_env.h"        /* MAC Enviroments includes */
40 #include "rg.h"            /* MAC includes*/
41 #include "rg_err.h"        /* MAC error includes*/
42
43 /* header/extern include files (.x) */
44 #include "rgu.x"           /* RGU types */
45 #include "tfu.x"           /* RGU types */
46 #include "lrg.x"           /* layer management typedefs for MAC */
47 #include "crg.x"           /* layer management typedefs for MAC */
48 #include "rg_sch_inf.x"    /* layer management typedefs for MAC */
49 #include "rg_prg.x"        /* PRG interface typedefs*/
50 #include "du_app_mac_inf.h"
51 #include "rg.x"            /* typedefs for MAC */
52
53 #ifdef LTE_ADV
54 #include "rg_pom_scell.x"
55
56 /* Matrix for Ue SCell Config Req*/
57 PRIVATE CONSTANT RgPrgUeSCellCfgReq RgPrgPMacSMacUeSCellCfgReqMt[RG_PRG_MAX] =
58 {
59 #ifdef LCPRG
60   cmPkPrgPMacSMacUeSCellCfgReq,
61 #else
62    RgPrgPMacSMacUeSCellCfgReq
63 #endif
64 };
65
66 /**
67 * @brief Ue SCell config Req from PMac to SMac 
68 *
69 * @details
70 *
71 *     Function : RgPrgPMacSMacUeSCellCfg
72 *
73 *  @param[in]   Pst         *pst
74 *  @param[in]   RgPrgUeSCellCfgInfo *ueSCellCfgInfo;
75 *  @return   S16
76 *      -# ROK
77 **/
78 #ifdef ANSI
79 PUBLIC S16 RgPrgPMacSMacUeSCellCfg
80 (
81  Pst         *pst,
82  RgPrgUeSCellCfgInfo *ueSCellCfgInfo
83 )
84 #else
85 PUBLIC S16 RgPrgPMacSMacUeSCellCfg(pst, ueSCellCfgInfo)
86  Pst         *pst;
87  RgPrgUeSCellCfgInfo *ueSCellCfgInfo;
88 #endif
89 {
90
91    TRC3(RgPrgPMacSMacUeSCellCfg);
92
93    RETVALUE((*RgPrgPMacSMacUeSCellCfgReqMt[0])(pst, ueSCellCfgInfo));
94 }
95
96 /* Matrix for config confirm from SMac to Pmac*/
97 PRIVATE CONSTANT RgSMacPMacCfgCfm RgPrgSMacPMacCfgCfmMt[RG_PRG_MAX] =
98 {
99 #ifdef LCPRG
100    cmPkPrgSMacPMacCfgCfm,
101 #else
102    RgPrgSMacPMacCfgCfm
103 #endif
104 };
105
106 /**
107 * @brief Config confirm from SMac to PMac for Ue Cell Config Req 
108 *
109 * @details
110 *
111 *     Function :RgPrgSMacPMacCfg
112 *
113 *  @param[in]   Pst              *pst
114 *  @param[in]   RgPrgCfgCfmInfo  *cfmCfm
115 *  @return   S16
116 *      -# ROK
117 **/
118 #ifdef ANSI
119 PUBLIC S16 RgPrgSMacPMacCfg
120 (
121  Pst             *pst,
122  RgPrgCfgCfmInfo *cfgCfm
123 )
124 #else
125 PUBLIC S16 RgPrgSMacPMacCfg(pst, cfgCfm)
126  Pst             *pst;
127  RgPrgCfgCfmInfo *cfgCfm;
128 #endif
129 {
130
131    TRC3(RgPrgSMacPMacCfg);
132
133    RETVALUE((*RgPrgSMacPMacCfgCfmMt[0])(pst, cfgCfm));
134 }
135
136 /* Matrix for Ue SCell delete req/Ue Id change req from PMac to SMac */
137 PRIVATE CONSTANT RgUeSCellDelReq RgPrgPMacSMacUeSCellDelReqMt[RG_PRG_MAX] =
138 {
139 #ifdef LCPRG
140    cmPkPrgPMacSMacUeSCellDelReq,
141 #else
142    RgPrgPMacSMacUeSCellDelReq
143 #endif
144 };
145
146 /**
147 * @brief Ue SCell delete Req/Ue Id change Req from PMac to SMac
148 *
149 * @details
150 *
151 *     Function : RgPrgPMacSMacUeSCellDel 
152 *
153 *  @param[in]   Pst                 *pst
154 *  @param[in]   RgPrgUeSCellDelInfo *ueSCellDelInfo;
155 *  @return   S16
156 *      -# ROK
157 **/
158 #ifdef ANSI
159 PUBLIC S16 RgPrgPMacSMacUeSCellDel
160 (
161  Pst                 *pst,
162  RgPrgUeSCellDelInfo *ueSCellDelInfo
163 )
164 #else
165 PUBLIC S16 RgPrgPMacSMacUeSCellDel(pst, ueSCellDelInfo)
166  Pst                 *pst;
167  RgPrgUeSCellDelInfo *ueSCellDelInfo;
168 #endif
169 {
170
171    TRC3(RgPrgPMacSMacUeSCellDel);
172
173    RETVALUE((*RgPrgPMacSMacUeSCellDelReqMt[0])(pst, ueSCellDelInfo));
174 }
175
176
177
178 /* Matrix for Lch ReConfig Req*/
179 PRIVATE CONSTANT RgPrgUeScellModLchReq RgPrgPMacSMacUeScellModLchReqMt[RG_PRG_MAX] =
180 {
181 #ifdef LCPRG
182   cmPkPrgPMacSMacUeSCellLchModReq,
183 #else
184    RgPrgPMacSMacUeSCellLchModReq
185 #endif
186 };
187
188
189 /**
190 * @brief Ue Lch Reconfig Req from PMac to SMac 
191 *
192 * @details
193 *
194 *     Function : RgPrgPMacSMacUeScellLchMod
195 *
196 *  @param[in]   Pst                      *pst
197 *  @param[in]   RgPrgUeSCellLchModInfo   *lchCfgInfo
198 *  @return   S16
199 *      -# ROK
200 **/
201 #ifdef ANSI
202 PUBLIC S16 RgPrgPMacSMacUeScellLchMod
203 (
204  Pst                      *pst,
205  RgPrgUeSCellLchModInfo   *lchCfgInfo
206 )
207 #else
208 PUBLIC S16 RgPrgPMacSMacUeScellLchMod(pst, lchCfgInfo)
209  Pst                      *pst;
210  RgPrgUeSCellLchModInfo   *lchCfgInfo;
211 #endif
212 {
213
214    TRC3(RgPrgPMacSMacUeScellLchMod);
215
216    RETVALUE((*RgPrgPMacSMacUeScellModLchReqMt[0])(pst, lchCfgInfo));
217 }
218
219
220 /* Matrix for delete Lch Req*/
221 PRIVATE CONSTANT RgPrgUeScellDelLchReq RgPrgPMacSMacUeScellDelLchReqMt[RG_PRG_MAX] =
222 {
223 #ifdef LCPRG
224   cmPkPrgPMacSMacUeSCellLchDelReq,
225 #else
226    RgPrgPMacSMacUeSCellLchDelReq
227 #endif
228 };
229
230
231 /**
232 * @brief Delete Lch Req from PMac to SMac 
233 *
234 * @details
235 *
236 *     Function : RgPrgPMacSMacUeScellLchDel
237 *
238 *  @param[in]   Pst                      *pst
239 *  @param[in]   RgPrgUeSCellLchDelInfo   *delLcCb
240 *  @return   S16
241 *      -# ROK
242 **/
243 #ifdef ANSI
244 PUBLIC S16 RgPrgPMacSMacUeScellLchDel
245 (
246  Pst                       *pst,
247  RgPrgUeSCellLchDelInfo    *delLcCb
248 )
249 #else
250 PUBLIC S16 RgPrgPMacSMacUeScellLchDel(pst, delLcCb)
251  Pst                       *pst;
252  RgPrgUeSCellLchDelInfo    *delLcCb;
253 #endif
254 {
255
256    TRC3(RgPrgPMacSMacUeScellLchDel);
257
258    RETVALUE((*RgPrgPMacSMacUeScellDelLchReqMt[0])(pst, delLcCb));
259 }
260
261
262 /* Matrix for Lch Config Req*/
263 PRIVATE CONSTANT RgPrgUeScellAddLchReq RgPrgPMacSMacUeScellAddLchReqMt[RG_PRG_MAX] =
264 {
265 #ifdef LCPRG
266   cmPkPrgPMacSMacUeSCellLchAddReq,
267 #else
268    RgPrgPMacSMacUeSCellLchAddReq
269 #endif
270 };
271
272
273 /**
274 * @brief Ue Lch config Req from PMac to SMac 
275 *
276 * @details
277 *
278 *     Function : RgPrgPMacSMacUeScellLchAdd
279 *
280 *  @param[in]   Pst                      *pst
281 *  @param[in]   RgPrgUeSCellLchAddInfo   *lchCfgInfo
282 *  @return   S16
283 *      -# ROK
284 **/
285 #ifdef ANSI
286 PUBLIC S16 RgPrgPMacSMacUeScellLchAdd
287 (
288  Pst                      *pst,
289  RgPrgUeSCellLchAddInfo   *lchCfgInfo
290 )
291 #else
292 PUBLIC S16 RgPrgPMacSMacUeScellLchAdd(pst, lchCfgInfo)
293  Pst                      *pst;
294  RgPrgUeSCellLchAddInfo   *lchCfgInfo;
295 #endif
296 {
297
298    TRC3(RgPrgPMacSMacUeScellLchAdd);
299
300    RETVALUE((*RgPrgPMacSMacUeScellAddLchReqMt[0])(pst, lchCfgInfo));
301 }
302
303 #endif /* LTE_ADV */
304
305 /**********************************************************************
306  
307          End of file
308 **********************************************************************/