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
53 typedef struct rgmPrbRptPerQci
56 uint8_t bAvgPrbUlUsage;
57 uint8_t bAvgPrbDlUsage;
60 typedef struct rgmPrbRprtInd
62 RgmPrbRptPerQci stQciPrbRpts[RGM_MAX_QCI_REPORTS];
65 /* TDD: DL PRB Usage pres = 2 and
66 * UL PRB Usage pres = 1
67 * FDD: DL and UL Usage Pres = 3
69 uint8_t bPrbUsageMask;
84 typedef struct rgmTransModeInd
86 RgmTxnMode eMode; /* Indicate TM Mode */
87 uint16_t usCrnti; /* UE Crnti value */
88 uint8_t bCellId; /* Cell Id */
90 /***********************************************************************
91 type definitions for upper layer interface - RLC primitives
92 ***********************************************************************/
93 /** @brief Data Indication from MAC to RLC to
94 * * forward the data received for common channels */
95 typedef S16 (*RgmPrbRprtIndFptr) ARGS((
98 RgmPrbRprtInd * prbRprtInd));
99 /** @brief Data Indication from MAC to RLC to
100 * forward the data received for common channels */
101 typedef S16 (*RgmTransModeIndFptr) ARGS((
104 RgmTransModeInd * transModeInd));
107 /** @brief Data Indication from MAC to RRM to
108 * change the transmission mode*/
109 S16 RmLiRgmTransModeInd ARGS((
112 RgmTransModeInd* transModeInd
116 /** @brief Data Indication from MAC to RLC to
117 * * forward the data received for common channels*/
118 S16 cmPkRgmPrbRprtInd ARGS((
121 RgmPrbRprtInd * prbRprtInd
125 S16 cmUnpkPrbRprtInd ARGS((
126 RgmPrbRprtInd * prbRprtInd,
130 S16 cmPkTransModeInd ARGS((
131 RgmTransModeInd *transModeInd,
135 S16 cmUnpkTransModeInd ARGS((
136 RgmTransModeInd *transModeInd,
139 S16 cmPkRgmTransModeInd ARGS((
142 RgmTransModeInd *transModeInd
146 S16 cmUnpkRgmTransModeInd ARGS((
147 RgmTransModeIndFptr func,
152 /** @brief Data Indication from MAC to RLC to
153 * forward the data received for common channels*/
154 S16 cmUnpkRgmPrbRprtInd ARGS((
155 RgmPrbRprtIndFptr func,
160 S16 cmPkRgmPrbQciRpt ARGS((
161 RgmPrbRptPerQci *qciPrbRprt,
165 S16 cmUnpkRgmPrbQciRpt ARGS((
166 RgmPrbRptPerQci *qciPrbRprt,
173 #endif /* __RGUX__ */
175 /********************************************************************30**
178 **********************************************************************/