*******************************************************************************/
/* 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"
* ****************************************************************/
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));
* ****************************************************************/
uint16_t MacHdlDlCcchInd(Pst *pst, DlCcchIndInfo *dlCcchIndInfo)
{
+ uint16_t idx;
DlRlcBOInfo dlBoInfo;
+ memset(&dlBoInfo, 0, sizeof(DlRlcBOInfo));
DU_LOG("\nMAC : Handling DL CCCH IND");
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;
ulCcchIndInfo->ulCcchMsg = rrcContainer;
/* Fill Pst */
- pst.selector = DU_MAC_LWLC;
+ pst.selector = ODU_SELECTOR_LWLC;
pst.srcEnt = ENTRG;
pst.dstEnt = ENTDUAPP;
pst.dstInst = 0;
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
**********************************************************************/