[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-428]Slot Indication at DUAPP
[o-du/l2.git] / src / 5gnrmac / mac_upr_inf_api.c
index 273ce4e..4b1f776 100644 (file)
 
 /* 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[] =
 {
@@ -44,29 +54,66 @@ DuMacUlCcchInd packMacUlCcchIndOpts[] =
    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
+ * @brief Send cell up indication to DU APP
  *
  * @details
  *
- *    Function : MacDuAppSlotInd
+ *    Function : MacDuAppCellUpInd
  *
  *    Functionality:
  *       Select appropriate function using selector value and
- *       send to MAC
+ *       send cell up indication to DU APP
  *
  * @params[in]  Post structure pointer
- *              Slot info pointer 
+ *              Cell UP info
  * @return ROK     - success
  *         RFAILED - failure
  *
  * ****************************************************************/
-uint16_t MacDuAppSlotInd(Pst *pst, SlotInfo *slotInfo)
+uint8_t MacDuAppCellUpInd(Pst *pst, OduCellId *cellId)
 {
-   return (*packMacSlotIndOpts[pst->selector])(pst, slotInfo);
+   return (*packMacCellUpIndOpts[pst->selector])(pst, cellId);
 }
 
+/*******************************************************************
+ *
+ * @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
@@ -83,9 +130,9 @@ uint16_t MacDuAppSlotInd(Pst *pst, SlotInfo *slotInfo)
  *         RFAILED - failure
  *
  * ****************************************************************/
-uint16_t MacDuAppStopInd(Pst *pst, MacCellStopInfo *cellStopId)
+uint8_t MacDuAppStopInd(Pst *pst, OduCellId *cellId)
 {
-   return (*packMacStopIndOpts[pst->selector])(pst, cellStopId);
+   return (*packMacStopIndOpts[pst->selector])(pst, cellId);
 }
 
 /*******************************************************************
@@ -106,13 +153,53 @@ uint16_t MacDuAppStopInd(Pst *pst, MacCellStopInfo *cellStopId)
  *         RFAILED - failure
  *
  * ****************************************************************/
-uint16_t MacDuAppUlCcchInd(Pst *pst, UlCcchIndInfo *ulCcchIndInfo)
+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
+ **********************************************************************/