[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-428]Slot Indication at DUAPP
[o-du/l2.git] / src / 5gnrmac / mac_upr_inf_api.c
index fb212da..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[] =
+{
+   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, 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
  *
  * ****************************************************************/
-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
+ **********************************************************************/