X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Fmac_upr_inf_api.c;h=6992add6c67278e40411c5f642ee5a0bbd342fe5;hb=2193e4cf01012809495be026097e8d7eacb9f0ac;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..6992add6c 100644 --- a/src/5gnrmac/mac_upr_inf_api.c +++ b/src/5gnrmac/mac_upr_inf_api.c @@ -18,7 +18,9 @@ /* 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 */ @@ -28,6 +30,38 @@ DuMacSlotInd packMacSlotIndOpts[] = 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 +}; + /******************************************************************* * @@ -47,12 +81,97 @@ DuMacSlotInd packMacSlotIndOpts[] = * RFAILED - failure * * ****************************************************************/ -uint16_t MacDuAppSlotInd(Pst *pst, SlotInfo *slotInfo) +uint8_t MacDuAppSlotInd(Pst *pst, SlotIndInfo *slotInfo) { return (*packMacSlotIndOpts[pst->selector])(pst, slotInfo); } +/******************************************************************* + * + * @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, MacCellStopInfo *cellStopId) +{ + return (*packMacStopIndOpts[pst->selector])(pst, cellStopId); +} + +/******************************************************************* + * + * @brief Send UL CCCH Ind to DU APP + * + * @details + * + * Function :MacDuAppUlCcchInd + * + * Functionality: + * Select appropriate function using selector value and + * send to DU APP + * + * @params[in] Post structure 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, RlcData *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 + * + * ****************************************************************/ +uint8_t MacSendSchedResultRptToRlc(Pst *pst, RlcSchedResultRpt *schedRpt) +{ + return (*rlcMacSchedResultRptOpts[pst->selector])(pst, schedRpt); +} + /********************************************************************** - End of file -**********************************************************************/ + End of file + **********************************************************************/