X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Fmac_upr_inf_api.c;h=72f816d7c0208773c123f32933386079a26a35e8;hb=e54c2aae19e97065def9e5ab2d1488477b1ea209;hp=fb212da641c528c4256265136f6d3d443a0921bb;hpb=e550b2091fb29289d12a5722b189acbede7862f0;p=o-du%2Fl2.git diff --git a/src/5gnrmac/mac_upr_inf_api.c b/src/5gnrmac/mac_upr_inf_api.c index fb212da64..72f816d7c 100644 --- a/src/5gnrmac/mac_upr_inf_api.c +++ b/src/5gnrmac/mac_upr_inf_api.c @@ -18,41 +18,188 @@ /* This file contains the definitions for Upper Interface APIs that are * invoked from MAC */ - +#include "common_def.h" +#include "du_app_mac_inf.h" +#include "rlc_mac_inf.h" #include "mac_upr_inf_api.h" -/* Funtion pointer options for slot indication */ -DuMacSlotInd packMacSlotIndOpts[] = +/* Funtion pointer options for cell up indication */ +DuMacCellUpInd packMacCellUpIndOpts[] = +{ + packMacCellUpInd, + duHandleCellUpInd, + packMacCellUpInd +}; + +DuMacSlotInd packMacSlotIndOpts[] = { packMacSlotInd, duHandleSlotInd, packMacSlotInd }; +/* Funtion pointer options for stop indication */ +DuMacStopInd packMacStopIndOpts[] = +{ + packMacStopInd, + duHandleStopInd, + packMacStopInd +}; + +/* Funtion pointer options for UL CCCH indication */ +DuMacUlCcchInd packMacUlCcchIndOpts[] = +{ + packMacUlCcchInd, + duHandleUlCcchInd, + packMacUlCcchInd +}; + +/* Function pointer options for UL Data to RLC */ +RlcMacUlDataFunc rlcMacSendUlDataOpts[] = +{ + packRlcUlData, + RlcProcUlData, + packRlcUlData +}; + +/* Funtion pointer options for schedule result reporting */ +RlcMacSchedResultRptFunc rlcMacSchedResultRptOpts[] = +{ + packRlcSchedResultRpt, + RlcProcSchedResultRpt, + packRlcSchedResultRpt +}; + + +/******************************************************************* + * + * @brief Send cell up indication to DU APP + * + * @details + * + * Function : MacDuAppCellUpInd + * + * Functionality: + * Select appropriate function using selector value and + * send cell up indication to DU APP + * + * @params[in] Post structure pointer + * Cell UP info + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t MacDuAppCellUpInd(Pst *pst, OduCellId *cellId) +{ + return (*packMacCellUpIndOpts[pst->selector])(pst, cellId); +} + /******************************************************************* * - * @brief Send slot indication to MAC + * @brief Send slot indication to DU APP * * @details * * Function : MacDuAppSlotInd * * Functionality: + * send slot indication to DU APP + * + * @params[in] Post structure pointer, SlotTimingInfo *slotIndInfo + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t MacDuAppSlotInd(Pst *pst, SlotTimingInfo *slotIndInfo) +{ + return (*packMacSlotIndOpts[pst->selector])(pst, slotIndInfo); +} +/******************************************************************* + * + * @brief Send stop indication to MAC + * + * @details + * + * Function : MacDuAppStopInd + * + * Functionality: + * Sends Stop Indication to MAC + * + * @params[in] Post structure pointer + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t MacDuAppStopInd(Pst *pst, OduCellId *cellId) +{ + return (*packMacStopIndOpts[pst->selector])(pst, cellId); +} + +/******************************************************************* + * + * @brief Send UL CCCH Ind to DU APP + * + * @details + * + * Function :MacDuAppUlCcchInd + * + * Functionality: * Select appropriate function using selector value and - * send to MAC + * send to DU APP * * @params[in] Post structure pointer - * Slot info pointer + * UlCcchInd pointer + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t MacDuAppUlCcchInd(Pst *pst, UlCcchIndInfo *ulCcchIndInfo) +{ + return (*packMacUlCcchIndOpts[pst->selector])(pst, ulCcchIndInfo); +} + +/******************************************************************* + * + * @brief Send UL data to RLC + * + * @details + * + * Function : MacRlcSendUlData + * + * Functionality: Send UL data to RLC + * + * @params[in] + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t MacSendUlDataToRlc(Pst *pst, RlcUlData *ulData) +{ + return (*rlcMacSendUlDataOpts[pst->selector])(pst, ulData); +} + +/******************************************************************* + * + * @brief Send Schedule result report to RLC + * + * @details + * + * Function : MacSendSchedResultRptToRlc + * + * Functionality: Send Schedule result report to RLC + * + * @params[in] Post structure + * Schedule result report * @return ROK - success * RFAILED - failure * * ****************************************************************/ -uint16_t MacDuAppSlotInd(Pst *pst, SlotInfo *slotInfo) +uint8_t MacSendSchedResultRptToRlc(Pst *pst, RlcSchedResultRpt *schedRpt) { - return (*packMacSlotIndOpts[pst->selector])(pst, slotInfo); + return (*rlcMacSchedResultRptOpts[pst->selector])(pst, schedRpt); } /********************************************************************** - End of file -**********************************************************************/ + End of file + **********************************************************************/