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 /* This file contains the definitions for Upper Interface APIs that are
21 #include "common_def.h"
22 #include "du_app_mac_inf.h"
23 #include "rlc_mac_inf.h"
24 #include "mac_upr_inf_api.h"
26 /* Funtion pointer options for cell up indication */
27 DuMacCellUpInd packMacCellUpIndOpts[] =
33 /* Funtion pointer options for stop indication */
34 DuMacStopInd packMacStopIndOpts[] =
41 /* Funtion pointer options for UL CCCH indication */
42 DuMacUlCcchInd packMacUlCcchIndOpts[] =
49 /* Function pointer options for UL Data to RLC */
50 RlcMacUlDataFunc rlcMacSendUlDataOpts[] =
57 /* Funtion pointer options for schedule result reporting */
58 RlcMacSchedResultRptFunc rlcMacSchedResultRptOpts[] =
60 packRlcSchedResultRpt,
61 RlcProcSchedResultRpt,
66 /*******************************************************************
68 * @brief Send cell up indication to DU APP
72 * Function : MacDuAppCellUpInd
75 * Select appropriate function using selector value and
76 * send cell up indication to DU APP
78 * @params[in] Post structure pointer
80 * @return ROK - success
83 * ****************************************************************/
84 uint8_t MacDuAppCellUpInd(Pst *pst, OduCellId *cellId)
86 return (*packMacCellUpIndOpts[pst->selector])(pst, cellId);
89 /*******************************************************************
91 * @brief Send stop indication to MAC
95 * Function : MacDuAppStopInd
98 * Sends Stop Indication to MAC
100 * @params[in] Post structure pointer
101 * @return ROK - success
104 * ****************************************************************/
105 uint8_t MacDuAppStopInd(Pst *pst, OduCellId *cellId)
107 return (*packMacStopIndOpts[pst->selector])(pst, cellId);
110 /*******************************************************************
112 * @brief Send UL CCCH Ind to DU APP
116 * Function :MacDuAppUlCcchInd
119 * Select appropriate function using selector value and
122 * @params[in] Post structure pointer
124 * @return ROK - success
127 * ****************************************************************/
128 uint8_t MacDuAppUlCcchInd(Pst *pst, UlCcchIndInfo *ulCcchIndInfo)
130 return (*packMacUlCcchIndOpts[pst->selector])(pst, ulCcchIndInfo);
133 /*******************************************************************
135 * @brief Send UL data to RLC
139 * Function : MacRlcSendUlData
141 * Functionality: Send UL data to RLC
144 * @return ROK - success
147 * ****************************************************************/
148 uint8_t MacSendUlDataToRlc(Pst *pst, RlcData *ulData)
150 return (*rlcMacSendUlDataOpts[pst->selector])(pst, ulData);
153 /*******************************************************************
155 * @brief Send Schedule result report to RLC
159 * Function : MacSendSchedResultRptToRlc
161 * Functionality: Send Schedule result report to RLC
163 * @params[in] Post structure
164 * Schedule result report
165 * @return ROK - success
168 * ****************************************************************/
169 uint8_t MacSendSchedResultRptToRlc(Pst *pst, RlcSchedResultRpt *schedRpt)
171 return (*rlcMacSchedResultRptOpts[pst->selector])(pst, schedRpt);
174 /**********************************************************************
176 **********************************************************************/