1 /*******************************************************************************
2 ################################################################################
3 # Copyright (c) [2017-2019] [Radisys] #
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 #
9 # http://www.apache.org/licenses/LICENSE-2.0 #
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 *******************************************************************************/
19 /**********************************************************************
20 Name: Upper Layer Interface
24 Desc: Structures, variables and typedefs required by
29 *********************************************************************21*/
40 @brief Structure declarations and definitions for RGU interface.
43 /***********************************************************************
44 typedefs and data structures
45 ***********************************************************************/
47 #define RGM_PRB_REPORT_STOP 0
48 #define RGM_PRB_REPORT_START 1
50 #define RGM_MAX_QCI_REPORTS 4
52 typedef struct rgmPrbRprtCfg
54 U16 usPrbAvgPeriodicty; /* It is in milli sec */
60 typedef struct rgmPrbRptPerQci
67 typedef struct rgmPrbRprtInd
69 RgmPrbRptPerQci stQciPrbRpts[RGM_MAX_QCI_REPORTS];
72 /* TDD: DL PRB Usage pres = 2 and
73 * UL PRB Usage pres = 1
74 * FDD: DL and UL Usage Pres = 3
91 typedef struct rgmTransModeInd
93 RgmTxnMode eMode; /* Indicate TM Mode */
94 U16 usCrnti; /* UE Crnti value */
95 U8 bCellId; /* Cell Id */
97 /***********************************************************************
98 type definitions for upper layer interface - RLC primitives
99 ***********************************************************************/
100 /** @brief Bind Request from RLC to MAC to bind the interface SAPs */
101 typedef S16 (*RgmBndReq) ARGS((
105 /** @brief Unbind Request from RLC to MAC to unbind the interface SAPs */
106 typedef S16 (*RgmUbndReq) ARGS((
110 /** @brief Bind Confirmation from MAC to RLC for the bind/unbind
111 * request for the interface SAPs */
112 typedef S16 (*RgmBndCfm) ARGS((
116 /** @brief Data Request from RLC to MAC for forwarding SDUs on common
117 * channel for transmission */
118 typedef S16 (*RgmCfgPrbRprtFptr) ARGS((
121 RgmPrbRprtCfg * prbRprtCfg));
122 /** @brief Data Indication from MAC to RLC to
123 * forward the data received for common channels */
124 typedef S16 (*RgmPrbRprtIndFptr) ARGS((
127 RgmPrbRprtInd * prbRprtInd));
129 typedef S16 (*RgmTransModeIndFptr) ARGS((
132 RgmTransModeInd * transModeInd));
134 /** @brief Bind Request from RLC to MAC to bind the interface SAPs
135 * @param pst Pointer to the post structure.
136 * @param suId SAP ID of the service user.
137 * @param spId SAP ID of the service provider.
138 * @return ROK/RFAILED
140 EXTERN S16 RgUiRgmBndReq ARGS((Pst* pst,SuId suId,SpId spId));
141 /** @brief Unbind Request from RLC to MAC to unbind the interface SAPs
142 * @param pst Pointer to the post structure.
143 * @param spId SAP ID of the service provider.
144 * @param reason Reason for unbind request.
145 * @return ROK/RFAILED
147 EXTERN S16 RgUiRgmUbndReq ARGS((Pst* pst,SpId spId,Reason reason));
148 /** @brief Bind Confirmation from MAC to RLC for the bind and unbind
149 * request for the interface SAPs
150 * @param pst Pointer to the post structure.
151 * @param suId SAP ID of the service user.
152 * @param status Status of the bind request.
153 * @return ROK/RFAILED
155 EXTERN S16 RgUiRgmBndCfm ARGS((Pst* pst,SuId suId,U8 status));
156 /** @brief Data Request from RLC to MAC for forwarding SDUs on common
157 * channel for transmission
158 * @param pst Pointer to the post structure.
159 * @param spId SAP ID of the service provider.
160 * @param prbRprtCfg Data request for common channels (BCCH, PCCH and CCCH).
161 * @return ROK/RFAILED
163 EXTERN S16 RgUiRgmCfgPrbRprt ARGS((Pst* pst,SuId suId,RgmPrbRprtCfg *prbRprtCfg));
164 /** @brief Data Indication from MAC to RLC to
165 * forward the data received for common channels
166 * @param pst Pointer to the post structure.
167 * @param suId SAP ID of the service user.
168 * @param prbRprtInd Data indication on CCCH.
169 * @return ROK/RFAILED
171 EXTERN S16 RgUiRgmPrbRprtInd ARGS((Pst* pst,SuId suId,RgmPrbRprtInd *prbRprtInd));
176 /** @brief Request from RLC to MAC to bind the interface saps */
177 EXTERN S16 RmLiRgmBndReq ARGS((
182 /** @brief Request from RLC to MAC to Unbind the interface saps */
183 EXTERN S16 RmLiRgmUbndReq ARGS((
188 /** @brief Confirmation from MAC to RLC for the bind/Unbind
189 * request for the interface saps */
190 EXTERN S16 RmLiRgmBndCfm ARGS((
195 /** @brief Request from RLC to MAC for forwarding SDUs on common
196 * channel for transmission */
197 EXTERN S16 RmLiRgmCfgPrbRprt ARGS((
200 RgmPrbRprtCfg* prbRprtCfg
202 /** @brief Data Indication from MAC to RLC to
203 * forward the data received for common channels*/
204 EXTERN S16 RmLiRgmPrbRprtInd ARGS((
207 RgmPrbRprtInd* prbRprtInd
209 /** @brief Data Indication from MAC to RRM to
210 * change the transmission mode*/
211 EXTERN S16 RmLiRgmTransModeInd ARGS((
214 RgmTransModeInd* transModeInd
219 /** @brief Request from RLC to MAC to bind the interface saps */
220 EXTERN S16 cmPkLwLcRgmBndReq ARGS((
225 /** @brief Request from RLC to MAC to bind the interface saps */
226 EXTERN S16 cmUnpkLwLcRgmBndReq ARGS((
231 /** @brief Request from RLC to MAC to Unbind the interface saps */
232 EXTERN S16 cmPkLwLcRgmUbndReq ARGS((
237 /** @brief Request from RLC to MAC to Unbind the interface saps */
238 EXTERN S16 cmUnpkLwLcRgmUbndReq ARGS((
243 /** @brief Confirmation from MAC to RLC for the bind/Unbind
244 * request for the interface saps */
245 EXTERN S16 cmPkLwLcRgmBndCfm ARGS((
250 /** @brief Confirmation from MAC to RLC for the bind/Unbind
251 * request for the interface saps */
252 EXTERN S16 cmUnpkLwLcRgmBndCfm ARGS((
257 /** @brief Request from RLC to MAC for forwarding SDUs on common
258 * channel for transmission */
259 EXTERN S16 cmPkLwLcRgmCfgPrbRprt ARGS((
262 RgmPrbRprtCfg * prbRprtCfg
264 /** @brief Request from RLC to MAC for forwarding SDUs on common
265 * channel for transmission */
266 EXTERN S16 cmUnpkLwLcRgmCfgPrbRprt ARGS((
267 RgmCfgPrbRprtFptr func,
271 /** @brief Data Indication from MAC to RLC to
272 * forward the data received for common channels*/
273 EXTERN S16 cmPkLwLcRgmPrbRprtInd ARGS((
276 RgmPrbRprtInd * prbRprtInd
278 /** @brief Data Indication from MAC to RLC to
279 * forward the data received for common channels*/
280 EXTERN S16 cmUnpkLwLcRgmPrbRprtInd ARGS((
281 RgmPrbRprtIndFptr func,
288 /** @brief Request from RLC to MAC to bind the interface saps */
289 EXTERN S16 cmPkRgmBndReq ARGS((
294 /** @brief Request from RLC to MAC to bind the interface saps */
295 EXTERN S16 cmUnpkRgmBndReq ARGS((
300 /** @brief Request from RLC to MAC to Unbind the interface saps */
301 EXTERN S16 cmPkRgmUbndReq ARGS((
306 /** @brief Request from RLC to MAC to Unbind the interface saps */
307 EXTERN S16 cmUnpkRgmUbndReq ARGS((
312 /** @brief Confirmation from MAC to RLC for the bind/Unbind
313 * request for the interface saps */
314 EXTERN S16 cmPkRgmBndCfm ARGS((
319 /** @brief Confirmation from MAC to RLC for the bind/Unbind
320 * request for the interface saps */
321 EXTERN S16 cmUnpkRgmBndCfm ARGS((
326 /** @brief Request from RLC to MAC for forwarding SDUs on common
327 * channel for transmission */
328 EXTERN S16 cmPkRgmCfgPrbRprt ARGS((
331 RgmPrbRprtCfg * prbRprtCfg
335 EXTERN S16 cmPkCfgPrbRprt ARGS((
336 RgmPrbRprtCfg * prbRprtCfg,
340 EXTERN S16 cmPkPrbRprtInd ARGS((
341 RgmPrbRprtInd * prbRprtInd,
345 /** @brief Request from RLC to MAC for forwarding SDUs on common
346 * channel for transmission */
347 EXTERN S16 cmUnpkRgmCfgPrbRprt ARGS((
348 RgmCfgPrbRprtFptr func,
353 EXTERN S16 cmUnPkCfgPrbRprt ARGS((
354 RgmPrbRprtCfg * prbRprtCfg,
358 /** @brief Data Indication from MAC to RLC to
359 * forward the data received for common channels*/
360 EXTERN S16 cmPkRgmPrbRprtInd ARGS((
363 RgmPrbRprtInd * prbRprtInd
367 EXTERN S16 cmUnpkPrbRprtInd ARGS((
368 RgmPrbRprtInd * prbRprtInd,
372 EXTERN S16 cmPkTransModeInd ARGS((
373 RgmTransModeInd *transModeInd,
377 EXTERN S16 cmUnpkTransModeInd ARGS((
378 RgmTransModeInd *transModeInd,
381 EXTERN S16 cmPkRgmTransModeInd ARGS((
384 RgmTransModeInd *transModeInd
388 EXTERN S16 cmUnpkRgmTransModeInd ARGS((
389 RgmTransModeIndFptr func,
394 /** @brief Data Indication from MAC to RLC to
395 * forward the data received for common channels*/
396 EXTERN S16 cmUnpkRgmPrbRprtInd ARGS((
397 RgmPrbRprtIndFptr func,
402 EXTERN S16 cmPkRgmPrbQciRpt ARGS((
403 RgmPrbRptPerQci *qciPrbRprt,
407 EXTERN S16 cmUnpkRgmPrbQciRpt ARGS((
408 RgmPrbRptPerQci *qciPrbRprt,
415 #endif /* __RGUX__ */
417 /********************************************************************30**
420 **********************************************************************/