+
+/*******************************************************************
+ *
+ * @brief Send slot indication to DU APP
+ *
+ * @details
+ *
+ * Function : sendSlotIndMacToDuApp
+ *
+ * Functionality:
+ * Send slot indication to DU APP
+ *
+ * @params[in] Slot indication info
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ * ****************************************************************/
+int sendSlotIndMacToDuApp(SlotIndInfo *slotInd)
+{
+ Pst pst;
+ uint16_t ret;
+ SlotInfo *slotInfo;
+
+ /* Allocate sharable memory */
+ MAC_ALLOC_SHRABL_BUF(slotInfo, sizeof(SlotInfo));
+ if(!slotInfo)
+ {
+ DU_LOG("\nMAC : Slot Indication memory allocation failed");
+ return RFAILED;
+ }
+
+ slotInfo->cellId = macCb.macCell->cellId;
+ slotInfo->sfn = slotInd->sfn;
+ slotInfo->slot = slotInd->slot;
+
+ /* Fill Pst */
+ pst.selector = DU_MAC_LWLC;
+ pst.srcEnt = ENTRG;
+ pst.dstEnt = ENTDUAPP;
+ pst.dstInst = 0;
+ pst.srcInst = macCb.macInst;
+ pst.dstProcId = rgCb[pst.srcInst].rgInit.procId;
+ pst.srcProcId = rgCb[pst.srcInst].rgInit.procId;
+ pst.region = MAC_MEM_REGION;
+ pst.pool = MAC_POOL;
+ pst.event = EVENT_MAC_SLOT_IND;
+ pst.route = 0;
+ pst.prior = 0;
+ pst.intfVer = 0;
+
+ ret = MacDuAppSlotInd(&pst, slotInfo);
+ if(ret != ROK)
+ {
+ DU_LOG("\nMAC: Failed to send slot indication to DU APP");
+ MAC_FREE_SHRABL_BUF(MAC_MEM_REGION, MAC_POOL, slotInfo, sizeof(SlotInfo));
+ }
+
+ return ret;
+}
+