RLC BO, BO response and DL Data handling. [Issue-ID: ODUHIGH-181]
[o-du/l2.git] / src / 5gnrmac / mac_upr_inf_api.c
index b37b6ab..6992add 100644 (file)
@@ -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 */
@@ -36,6 +38,31 @@ DuMacStopInd packMacStopIndOpts[] =
    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 slot indication to MAC
@@ -54,7 +81,7 @@ DuMacStopInd packMacStopIndOpts[] =
  *         RFAILED - failure
  *
  * ****************************************************************/
-uint16_t MacDuAppSlotInd(Pst *pst, SlotInfo *slotInfo)
+uint8_t MacDuAppSlotInd(Pst *pst, SlotIndInfo *slotInfo)
 {
    return (*packMacSlotIndOpts[pst->selector])(pst, slotInfo);
 }
@@ -75,12 +102,76 @@ uint16_t MacDuAppSlotInd(Pst *pst, SlotInfo *slotInfo)
  *         RFAILED - failure
  *
  * ****************************************************************/
-uint16_t MacDuAppStopInd(Pst *pst, MacCellStopInfo *cellStopId)
+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
+ **********************************************************************/