#include "common_def.h"
#include "du_app_mac_inf.h"
+/********************* Global Variable ********************/
+uint64_t ueBitMapPerCell[MAX_NUM_CELL]; /* Bit Map to store used/free UE-IDX per Cell */
/**************************************************************************
* @brief Function to pack Loose Coupled
}
/* pack the transaction ID in CNF structure */
- CMCHKPK(oduUnpackUInt16, macCellCfgCfm->cellId, mBuf);
- CMCHKPK(oduUnpackUInt8, macCellCfgCfm->rsp, mBuf);
+ CMCHKPK(oduPackUInt16, macCellCfgCfm->cellId, mBuf);
+ CMCHKPK(oduPackUInt8, macCellCfgCfm->rsp, mBuf);
return ODU_POST_TASK(pst,mBuf);
}
if(pst->selector == ODU_SELECTOR_LC)
{
/* unpack the transaction ID in CNF structure */
- CMCHKUNPK(oduPackUInt8, &(macCellCfgCfm.rsp), mBuf);
- CMCHKUNPK(oduPackUInt16, &(macCellCfgCfm.cellId), mBuf);
+ CMCHKUNPK(oduUnpackUInt8, &(macCellCfgCfm.rsp), mBuf);
+ CMCHKUNPK(oduUnpackUInt16, &(macCellCfgCfm.cellId), mBuf);
return (*func)(pst, &macCellCfgCfm);
}
else
if(pst->selector == ODU_SELECTOR_LC)
{
- CMCHKPK(oduUnpackUInt16, cellId->cellId, mBuf);
+ CMCHKPK(oduPackUInt16, cellId->cellId, mBuf);
CM_FREE_SHRABL_BUF(pst->region, pst->pool, cellId, sizeof(OduCellId));
cellId = NULL;
}
else if(pst->selector == ODU_SELECTOR_LC)
{
OduCellId cellId;
- CMCHKUNPK(oduPackUInt16, &cellId.cellId, mBuf);
+ CMCHKUNPK(oduUnpackUInt16, &cellId.cellId, mBuf);
ODU_PUT_MSG_BUF(mBuf);
return (*func)(pst, &cellId);
}
if(pst->selector == ODU_SELECTOR_LC)
{
/*pack the payload here*/
- CMCHKPK(oduUnpackUInt16, cellId->cellId, mBuf);
+ CMCHKPK(oduPackUInt16, cellId->cellId, mBuf);
CM_FREE_SHRABL_BUF(pst->region, pst->pool, cellId, sizeof(OduCellId));
cellId = NULL;
}
else if(pst->selector == ODU_SELECTOR_LC)
{
OduCellId cellId;
- CMCHKUNPK(oduPackUInt16, &(cellId.cellId), mBuf);
+ CMCHKUNPK(oduUnpackUInt16, &(cellId.cellId), mBuf);
ODU_PUT_MSG_BUF(mBuf);
return (*func)(pst, &cellId);
return RFAILED;
}
+/*******************************************************************
+*
+* @brief Packs and Sends Statistics Modification Request from DUAPP to MAC
+*
+* @details
+*
+* Function : packDuMacStatsModificationReq
+*
+* Functionality:
+* Packs and Sends statistics Modification request from DUAPP to MAC
+*
+*
+* @params[in] Post structure pointer
+* StatsModificationReq pointer
+* @return ROK - success
+* RFAILED - failure
+*
+* ****************************************************************/
+uint8_t packDuMacStatsModificationReq(Pst *pst, MacStatsModificationReq *statsModificationReq)
+{
+ Buffer *mBuf = NULLP;
+
+ if(pst->selector == ODU_SELECTOR_LWLC)
+ {
+ if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK)
+ {
+ DU_LOG("\nERROR --> MAC : Memory allocation failed at packDuMacStatsModificationReq");
+ return RFAILED;
+ }
+ /* pack the address of the structure */
+ CMCHKPK(oduPackPointer,(PTR)statsModificationReq, mBuf);
+ }
+ else
+ {
+ DU_LOG("\nERROR --> MAC: Only LWLC supported for packDuMacStatsModificationReq");
+ return RFAILED;
+ }
+ return ODU_POST_TASK(pst,mBuf);
+}
+
+/*******************************************************************
+*
+* @brief Unpacks Statistics Modification Request received from DU APP
+*
+* @details
+*
+* Function : unpackMacStatsModificationReq
+*
+* Functionality:
+* Unpacks Statistics Modification Request received from DU APP
+*
+* @params[in] Pointer to Handler
+* Post structure pointer
+* Message Buffer
+* @return ROK - success
+* RFAILED - failure
+*
+* ****************************************************************/
+uint8_t unpackMacStatsModificationReq(DuMacStatsModificationReqFunc func, Pst *pst, Buffer *mBuf)
+{
+ if(pst->selector == ODU_SELECTOR_LWLC)
+ {
+ MacStatsModificationReq *statsModificationReq=NULLP;
+
+ /* unpack the address of the structure */
+ CMCHKUNPK(oduUnpackPointer, (PTR *)&statsModificationReq, mBuf);
+ ODU_PUT_MSG_BUF(mBuf);
+ return (*func)(pst, statsModificationReq);
+ }
+ else
+ {
+ /* Nothing to do for other selectors */
+ DU_LOG("\nERROR --> DU APP : Only LWLC supported for Statistics Modification Request ");
+ ODU_PUT_MSG_BUF(mBuf);
+ }
+
+ return RFAILED;
+}
+
+/*******************************************************************
+*
+* @brief Packs and Sends Statistics Modification Response from MAC to DUAPP
+*
+* @details
+*
+* Function : packDuMacStatsModificationRsp
+*
+* Functionality:
+* Packs and Sends statistics Modification response from MAC to DUAPP
+*
+*
+* @params[in] Post structure pointer
+* StatsModificationRsp pointer
+* @return ROK - success
+* RFAILED - failure
+*
+* ****************************************************************/
+uint8_t packDuMacStatsModificationRsp(Pst *pst, MacStatsModificationRsp *statsModificationRsp)
+{
+ Buffer *mBuf = NULLP;
+
+ if(pst->selector == ODU_SELECTOR_LWLC)
+ {
+ if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK)
+ {
+ DU_LOG("\nERROR --> MAC : Memory allocation failed at packDuMacStatsModificationRsp");
+ return RFAILED;
+ }
+ /* pack the address of the structure */
+ CMCHKPK(oduPackPointer,(PTR)statsModificationRsp, mBuf);
+ }
+ else
+ {
+ DU_LOG("\nERROR --> MAC: Only LWLC supported for packDuMacStatsModificationRsp");
+ return RFAILED;
+ }
+ return ODU_POST_TASK(pst,mBuf);
+}
+
+/*******************************************************************
+*
+* @brief Unpacks Statistics Modification Response received from MAC
+*
+* @details
+*
+* Function : unpackDuMacStatsModificationRsp
+*
+* Functionality:
+* Unpacks Statistics Modification Response received from MAC
+*
+* @params[in] Pointer to Handler
+* Post structure pointer
+* Message Buffer
+* @return ROK - success
+* RFAILED - failure
+*
+* ****************************************************************/
+uint8_t unpackDuMacStatsModificationRsp(MacDuStatsModificationRspFunc func, Pst *pst, Buffer *mBuf)
+{
+ if(pst->selector == ODU_SELECTOR_LWLC)
+ {
+ MacStatsModificationRsp *statsModificationRsp=NULLP;
+
+ /* unpack the address of the structure */
+ CMCHKUNPK(oduUnpackPointer, (PTR *)&statsModificationRsp, mBuf);
+ ODU_PUT_MSG_BUF(mBuf);
+ return (*func)(pst, statsModificationRsp);
+ }
+ else
+ {
+ /* Nothing to do for other selectors */
+ DU_LOG("\nERROR --> DU APP : Only LWLC supported for Statistics Modification Response ");
+ ODU_PUT_MSG_BUF(mBuf);
+ }
+
+ return RFAILED;
+}
+
/**********************************************************************
End of file
**********************************************************************/