Moving all common header file into common_def.h file
[o-du/l2.git] / src / 5gnrmac / mac_msg_hdl.c
index 5f75dc7..7ed544a 100644 (file)
 *******************************************************************************/
 
 /* header include files -- defines (.h)  */
-#include "envopt.h"        /* environment options */
-#include "envdep.h"        /* environment dependent */
-#include "envind.h"        /* environment independent */
-#include "gen.h"           /* general layer */
-#include "ssi.h"           /* system services */
-#include "cm5.h"           /* common timers defines */
-#include "cm_hash.h"       /* common hash list defines */
-#include "cm_llist.h"      /* common linked list defines */
-#include "cm_mblk.h"       /* memory management */
-#include "cm_tkns.h"       /* common tokens */
-#include "cm_lte.h"        /* common tokens */
+#include "common_def.h"
 #include "rgu.h"
 #include "tfu.h"
 #include "rg_sch_inf.h"
 #include "lwr_mac.h"
 
 /* header/extern include files (.x) */
-#include "gen.x"           /* general layer typedefs */
-#include "ssi.x"           /* system services typedefs */
-#include "cm5.x"           /* common timers */
-#include "cm_hash.x"       /* common hash list */
-#include "cm_lib.x"        /* common library */
-#include "cm_llist.x"      /* common linked list */
-#include "cm_mblk.x"       /* memory management */
-#include "cm_tkns.x"       /* common tokens */
-#include "cm_lte.x"        /* common tokens */
 #include "rgu.x"
 #include "tfu.x"
 #include "rg_sch_inf.x"
@@ -294,10 +275,10 @@ uint16_t MacHdlCellStartReq(Pst *pst, MacCellStartInfo  *cellStartInfo)
  * ****************************************************************/
 uint16_t MacHdlCellStopReq(Pst *pst, MacCellStopInfo  *cellStopInfo)
 {
-   #ifdef FAPI
+#ifdef INTEL_FAPI
    DU_LOG("\nMAC : Sending cell stop request to Lower Mac");
    sendToLowerMac(FAPI_STOP_REQUEST, 0, cellStopInfo);
-   #endif
+#endif
 
    MAC_FREE_SHRABL_BUF(pst->region, pst->pool, cellStopInfo, \
           sizeof(MacCellStopInfo));
@@ -324,7 +305,9 @@ uint16_t MacHdlCellStopReq(Pst *pst, MacCellStopInfo  *cellStopInfo)
  * ****************************************************************/
 uint16_t MacHdlDlCcchInd(Pst *pst, DlCcchIndInfo *dlCcchIndInfo)
 {
+   uint16_t idx;
    DlRlcBOInfo  dlBoInfo;
+       memset(&dlBoInfo, 0, sizeof(DlRlcBOInfo));
 
    DU_LOG("\nMAC : Handling DL CCCH IND");
    
@@ -335,29 +318,31 @@ uint16_t MacHdlDlCcchInd(Pst *pst, DlCcchIndInfo *dlCcchIndInfo)
    
    if(dlCcchIndInfo->msgType == RRC_SETUP)
    {
+      dlBoInfo.boInfo[dlBoInfo.numLc].lcId = SRB_ID_0;    // SRB ID 0 for msg4
+      dlBoInfo.boInfo[SRB_ID_0].dataVolume = \
+        dlCcchIndInfo->dlCcchMsgLen;
       dlBoInfo.numLc++;
-      dlBoInfo.boInfo[dlBoInfo.numLc].lcId = 0;    // SRB 0 for msg4
-      dlBoInfo.boInfo[dlBoInfo.numLc].dataVolume = \
-      strlen((const char*)dlCcchIndInfo->dlCcchMsg);
 
       /* storing Msg4 Pdu in raCb */
       if(macCb.macCell->macRaCb[0].crnti == dlCcchIndInfo->crnti)
       {
-         macCb.macCell->macRaCb[0].msg4PduLen = strlen((const char*)dlCcchIndInfo\
-         ->dlCcchMsg);
+         macCb.macCell->macRaCb[0].msg4PduLen = dlCcchIndInfo->dlCcchMsgLen;
          MAC_ALLOC(macCb.macCell->macRaCb[0].msg4Pdu, macCb.macCell->macRaCb[0]\
          .msg4PduLen);
          if(macCb.macCell->macRaCb[0].msg4Pdu)
          {
-            memcpy(macCb.macCell->macRaCb[0].msg4Pdu, dlCcchIndInfo->dlCcchMsg,\
-            macCb.macCell->macRaCb[0].msg4PduLen);
+                          for(idx = 0; idx < dlCcchIndInfo->dlCcchMsgLen; idx++)
+                               {
+               macCb.macCell->macRaCb[0].msg4Pdu[idx] =\
+                                         dlCcchIndInfo->dlCcchMsg[idx];
+                          }
          }
       }
    }
    sendDlRlcBoInfoMacToSch(&dlBoInfo);
    
    MAC_FREE_SHRABL_BUF(pst->region, pst->pool, dlCcchIndInfo->dlCcchMsg, \
-      strlen((const char*)dlCcchIndInfo->dlCcchMsg));
+      dlCcchIndInfo->dlCcchMsgLen);
    MAC_FREE_SHRABL_BUF(pst->region, pst->pool, dlCcchIndInfo, sizeof(DlCcchIndInfo));
    return ROK;
 
@@ -398,7 +383,7 @@ uint16_t macSendUlCcchInd(uint8_t *rrcContainer, uint16_t cellId, uint16_t crnti
        ulCcchIndInfo->ulCcchMsg = rrcContainer;
 
        /* Fill Pst */
-       pst.selector  = DU_MAC_LWLC;
+       pst.selector  = ODU_SELECTOR_LWLC;
        pst.srcEnt    = ENTRG;
        pst.dstEnt    = ENTDUAPP;
        pst.dstInst   = 0;
@@ -423,6 +408,33 @@ uint16_t macSendUlCcchInd(uint8_t *rrcContainer, uint16_t cellId, uint16_t crnti
        return ret;
 }
 
+/*******************************************************************
+ *
+ * @brief Handles Ue Create Request from DU APP
+ *
+ * @details
+ *
+ *    Function : MacHdlUeCreateReq
+ *
+ *    Functionality:
+ *      Handles Ue create Request from DU APP
+ *
+ * @params[in] Post structure pointer
+ *             MacUeCfg pointer 
+ * @return ROK     - success
+ *         RFAILED - failure
+ *
+ * ****************************************************************/
+uint8_t MacHdlUeCreateReq(Pst *pst, MacUeCfg *ueCfg)
+{
+   /* TODO : Create MAC UE Context.
+                 Copy Tx Pdu from raCb
+                                Delete RaCb
+                                Send MacUeContext to SCH */
+   MAC_FREE_SHRABL_BUF(pst->region, pst->pool, ueCfg, sizeof(MacUeCfg));
+   return ROK;
+}
+
 /**********************************************************************
          End of file
 **********************************************************************/