X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fcrg.c;h=0d7ffbe92ae5a92e63eb243ce155e63091e48a12;hb=dfe84998d9dba8389ee232aa184bc3b5ae383db3;hp=d6c0c79fc2dbe28fa11d371b854133253c3db376;hpb=87c35884595a3166121854c3ae6e6e856f004ff4;p=o-du%2Fl2.git diff --git a/src/cm/crg.c b/src/cm/crg.c index d6c0c79fc..0d7ffbe92 100755 --- a/src/cm/crg.c +++ b/src/cm/crg.c @@ -344,155 +344,6 @@ Buffer *mBuf } -/** -* @brief Configuration Request from RRC to MAC for - * configuring Cell/Ue/Lc -* -* @details -* -* Function : cmPkCrgCfgReq -* -* @param[in] Pst* pst -* @param[in] SpId spId -* @param[in] CrgCfgTransId transId -* @param[in] CrgCfgReqInfo * cfgReqInfo -* @return S16 -* -# ROK -**/ -S16 cmPkCrgCfgReq -( -Pst* pst, -SpId spId, -CrgCfgTransId transId, -CrgCfgReqInfo * cfgReqInfo -) -{ - Buffer *mBuf = NULLP; - - if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ECRG016, (ErrVal)0, "Packing failed"); -#endif - SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(CrgCfgReqInfo)); - return RFAILED; - } - if (cmPkCrgCfgReqInfo(cfgReqInfo, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ECRG017, (ErrVal)0, "Packing failed"); -#endif - SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(CrgCfgReqInfo)); - SPutMsg(mBuf); - return RFAILED; - } -/* crg_c_001.main_5: MOD - Updating ERR code */ - if (cmPkCrgCfgTransId(&transId, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ECRG018, (ErrVal)0, "Packing failed"); -#endif - SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(CrgCfgReqInfo)); - SPutMsg(mBuf); - return RFAILED; - } - if (SPkS16(spId, mBuf) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ECRG019, (ErrVal)0, "Packing failed"); -#endif - SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(CrgCfgReqInfo)); - SPutMsg(mBuf); - return RFAILED; - } - if (SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(CrgCfgReqInfo)) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ECRG020, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - pst->event = (Event) EVTCRGCFGREQ; - return (SPstTsk(pst,mBuf)); -} - - -/** -* @brief Configuration Request from RRC to MAC for - * configuring Cell/Ue/Lc -* -* @details -* -* Function : cmUnpkCrgCfgReq -* -* @param[in] Pst* pst -* @param[in] SpId spId -* @param[in] CrgCfgTransId transId -* @param[in] CrgCfgReqInfo * cfgReqInfo -* @return S16 -* -# ROK -**/ -S16 cmUnpkCrgCfgReq -( -CrgCfgReq func, -Pst *pst, -Buffer *mBuf -) -{ - SpId spId; - CrgCfgTransId transId; - CrgCfgReqInfo *cfgReqInfo; - - - if (SUnpkS16(&spId, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ECRG021, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if (cmUnpkCrgCfgTransId(&transId, mBuf) != ROK) { - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ECRG022, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - if ((SGetSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data **)&cfgReqInfo, sizeof(CrgCfgReqInfo))) != ROK) { -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ECRG023, (ErrVal)0, "Packing failed"); -#endif - SPutMsg(mBuf); - return RFAILED; - } - - if (cmUnpkCrgCfgReqInfo(cfgReqInfo, mBuf) != ROK) { - SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)cfgReqInfo, sizeof(CrgCfgReqInfo)); - SPutMsg(mBuf); -#if (ERRCLASS & ERRCLS_ADD_RES) - SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId, - __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES, - (ErrVal)ECRG024, (ErrVal)0, "Packing failed"); -#endif - return RFAILED; - } - SPutMsg(mBuf); - return ((*func)(pst, spId, transId, cfgReqInfo)); -} - - /** * @brief Configuration Confirm from MAC to RRC * @@ -682,10 +533,10 @@ Buffer *mBuf /*********************************************************** * -* Func : cmPkCrgBwCfg +* Func : cmPkCrgUeUlHqCfg * * -* Desc : Bandwidth configuration per cell +* Desc : Uplink HARQ configuration per UE * * * Ret : S16 @@ -695,27 +546,25 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkCrgBwCfg +S16 cmPkCrgUeUlHqCfg ( -CrgBwCfg *param, +CrgUeUlHqCfg *param, Buffer *mBuf ) { - CMCHKPK(oduUnpackUInt8, param->ulTotalBw, mBuf); - CMCHKPK(oduUnpackUInt8, param->dlTotalBw, mBuf); + CMCHKPK(oduUnpackUInt8, param->maxUlHqTx, mBuf); return ROK; } - - +#ifdef LTE_ADV /*********************************************************** * -* Func : cmUnpkCrgBwCfg +* Func : cmPkCrgUeSCellCfg * * -* Desc : Bandwidth configuration per cell +* Desc : Secondary Cell information of the UE * * * Ret : S16 @@ -725,27 +574,25 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkCrgBwCfg +static S16 cmPkCrgUeSCellCfg ( -CrgBwCfg *param, +CrgUeSCellInfo *param, Buffer *mBuf ) { + CMCHKPK(SPkS16, param->rguDlSapId, mBuf); + CMCHKPK(SPkS16, param->rguUlSapId, mBuf); + CMCHKPK(oduUnpackUInt8, param->macInst, mBuf); + CMCHKPK(oduUnpackUInt16, param->sCellId, mBuf); - - CMCHKUNPK(oduPackUInt8, ¶m->dlTotalBw, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->ulTotalBw, mBuf); return ROK; } - - - /*********************************************************** * -* Func : cmPkCrgRachCfg +* Func : cmUnpkCrgUeSCellCfg * * -* Desc : RACH configuration per cell +* Desc : Secondary Cell information of the UE * * * Ret : S16 @@ -755,26 +602,24 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkCrgRachCfg +static S16 cmUnpkCrgUeSCellCfg ( -CrgRachCfg *param, +CrgUeSCellInfo *param, Buffer *mBuf ) { - - - CMCHKPK(oduUnpackUInt8, param->maxMsg3Tx, mBuf); + CMCHKUNPK(oduPackUInt16, ¶m->sCellId, mBuf); + CMCHKUNPK(oduPackUInt8, ¶m->macInst, mBuf); + CMCHKUNPK(SUnpkS16, ¶m->rguUlSapId, mBuf); + CMCHKUNPK(SUnpkS16, ¶m->rguDlSapId, mBuf); return ROK; } - - - /*********************************************************** * -* Func : cmUnpkCrgRachCfg +* Func : cmPkCrgUeSecCellInfo * * -* Desc : RACH configuration per cell +* Desc : Secondary Cell information of the UE * * * Ret : S16 @@ -784,26 +629,30 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmUnpkCrgRachCfg +S16 cmPkCrgUeSecCellInfo ( -CrgRachCfg *param, +CrgUeSecCellInfo *param, Buffer *mBuf ) { + S8 idx; + for(idx = param->numSCells - 1; idx >= 0; idx--) + { + CMCHKPK(cmPkCrgUeSCellCfg, ¶m->ueSCellCfg[(uint8_t)idx], mBuf); + } + CMCHKPK(oduUnpackUInt8, param->numSCells, mBuf); + CMCHKPK(oduUnpackUInt8, param->isSCellCfgPres, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->maxMsg3Tx, mBuf); return ROK; } - - /*********************************************************** * -* Func : cmPkCrgCellCfg +* Func : cmUnpkCrgUeSecCellInfo * * -* Desc : Cell configuration +* Desc : Secondary Cell information of the UE * * * Ret : S16 @@ -813,1133 +662,31 @@ Buffer *mBuf * File : * **********************************************************/ -S16 cmPkCrgCellCfg +S16 cmUnpkCrgUeSecCellInfo ( -CrgCellCfg *param, +CrgUeSecCellInfo *param, Buffer *mBuf ) { + uint8_t idx; -#ifdef EMTC_ENABLE - CMCHKPK(oduUnpackUInt8, param->emtcEnable, mBuf); -#endif -#ifdef TENB_MULT_CELL_SUPPRT - CMCHKPK(SPkS16, param->rguDlSapId, mBuf); - CMCHKPK(SPkS16, param->rguUlSapId, mBuf); -#endif - CMCHKPK(cmPkCrgBwCfg, ¶m->bwCfg, mBuf); - CMCHKPK(cmPkCrgRachCfg, ¶m->rachCfg, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkCrgCellCfg -* -* -* Desc : Cell configuration -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgCellCfg -( -CrgCellCfg *param, -Buffer *mBuf -) -{ + CMCHKUNPK(oduPackUInt8, ¶m->isSCellCfgPres, mBuf); + if(TRUE == param->isSCellCfgPres) + { + CMCHKUNPK(oduPackUInt8, ¶m->numSCells, mBuf); + for(idx = 0; idx < param->numSCells; idx++) + { + CMCHKUNPK(cmUnpkCrgUeSCellCfg, ¶m->ueSCellCfg[idx],mBuf); + } + } - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkCrgRachCfg, ¶m->rachCfg, mBuf); - CMCHKUNPK(cmUnpkCrgBwCfg, ¶m->bwCfg, mBuf); -#ifdef TENB_MULT_CELL_SUPPRT - CMCHKUNPK(SUnpkS16, ¶m->rguUlSapId, mBuf); - CMCHKUNPK(SUnpkS16, ¶m->rguDlSapId, mBuf); -#endif -#ifdef EMTC_ENABLE - CMCHKUNPK(oduPackUInt8, ¶m->emtcEnable, mBuf); -#endif return ROK; } +#endif /* LTE_ADV */ - -/*********************************************************** -* -* Func : cmPkCrgUeUlHqCfg -* -* -* Desc : Uplink HARQ configuration per UE -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkCrgUeUlHqCfg -( -CrgUeUlHqCfg *param, -Buffer *mBuf -) -{ - - - CMCHKPK(oduUnpackUInt8, param->maxUlHqTx, mBuf); - return ROK; -} - -#ifdef LTE_ADV -/*********************************************************** -* -* Func : cmPkCrgUeSCellCfg -* -* -* Desc : Secondary Cell information of the UE -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -static S16 cmPkCrgUeSCellCfg -( -CrgUeSCellInfo *param, -Buffer *mBuf -) -{ - CMCHKPK(SPkS16, param->rguDlSapId, mBuf); - CMCHKPK(SPkS16, param->rguUlSapId, mBuf); - CMCHKPK(oduUnpackUInt8, param->macInst, mBuf); - CMCHKPK(oduUnpackUInt16, param->sCellId, mBuf); - - return ROK; -} -/*********************************************************** -* -* Func : cmUnpkCrgUeSCellCfg -* -* -* Desc : Secondary Cell information of the UE -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -static S16 cmUnpkCrgUeSCellCfg -( -CrgUeSCellInfo *param, -Buffer *mBuf -) -{ - CMCHKUNPK(oduPackUInt16, ¶m->sCellId, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->macInst, mBuf); - CMCHKUNPK(SUnpkS16, ¶m->rguUlSapId, mBuf); - CMCHKUNPK(SUnpkS16, ¶m->rguDlSapId, mBuf); - return ROK; -} -/*********************************************************** -* -* Func : cmPkCrgUeSecCellInfo -* -* -* Desc : Secondary Cell information of the UE -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkCrgUeSecCellInfo -( -CrgUeSecCellInfo *param, -Buffer *mBuf -) -{ - S8 idx; - for(idx = param->numSCells - 1; idx >= 0; idx--) - { - CMCHKPK(cmPkCrgUeSCellCfg, ¶m->ueSCellCfg[(uint8_t)idx], mBuf); - } - - CMCHKPK(oduUnpackUInt8, param->numSCells, mBuf); - CMCHKPK(oduUnpackUInt8, param->isSCellCfgPres, mBuf); - - return ROK; -} - -/*********************************************************** -* -* Func : cmUnpkCrgUeSecCellInfo -* -* -* Desc : Secondary Cell information of the UE -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgUeSecCellInfo -( -CrgUeSecCellInfo *param, -Buffer *mBuf -) -{ - uint8_t idx; - - CMCHKUNPK(oduPackUInt8, ¶m->isSCellCfgPres, mBuf); - if(TRUE == param->isSCellCfgPres) - { - CMCHKUNPK(oduPackUInt8, ¶m->numSCells, mBuf); - - for(idx = 0; idx < param->numSCells; idx++) - { - CMCHKUNPK(cmUnpkCrgUeSCellCfg, ¶m->ueSCellCfg[idx],mBuf); - } - } - - return ROK; -} - -#endif /* LTE_ADV */ - - -/*********************************************************** -* -* Func : cmUnpkCrgUeUlHqCfg -* -* -* Desc : Uplink HARQ configuration per UE -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgUeUlHqCfg -( -CrgUeUlHqCfg *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(oduPackUInt8, ¶m->maxUlHqTx, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkCrgUeCfg -* -* -* Desc : UE configuration -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkCrgUeCfg -( -CrgUeCfg *param, -Buffer *mBuf -) -{ - -#ifdef TENB_MULT_CELL_SUPPRT - CMCHKPK(SPkS16, param->rguDlSapId, mBuf); - CMCHKPK(SPkS16, param->rguUlSapId, mBuf); -#endif - CMCHKPK(oduUnpackUInt32, param->txMode.tm, mBuf); - CMCHKPK(oduUnpackUInt8, param->txMode.pres, mBuf); - CMCHKPK(cmPkCrgUeUlHqCfg, ¶m->ueUlHqCfg, mBuf); - CMCHKPK(cmPkLteRnti, param->crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkCrgUeCfg -* -* -* Desc : UE configuration -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgUeCfg -( -CrgUeCfg *param, -Buffer *mBuf -) -{ - uint32_t tmpEnum; - - - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); - CMCHKUNPK(cmUnpkCrgUeUlHqCfg, ¶m->ueUlHqCfg, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->txMode.pres, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf); - param->txMode.tm = (CrgTxMode) tmpEnum; -#ifdef TENB_MULT_CELL_SUPPRT - CMCHKUNPK(SUnpkS16, ¶m->rguUlSapId, mBuf); - CMCHKUNPK(SUnpkS16, ¶m->rguDlSapId, mBuf); -#endif - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkCrgDlLchCfg -* -* -* Desc : Logical channel configuration info for downlink logical channels -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkCrgDlLchCfg -( -CrgDlLchCfg *param, -Buffer *mBuf -) -{ - - - CMCHKPK(oduUnpackUInt8, param->dlTrchType, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkCrgDlLchCfg -* -* -* Desc : Logical channel configuration info for downlink logical channels -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgDlLchCfg -( -CrgDlLchCfg *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(oduPackUInt8, ¶m->dlTrchType, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkCrgUlLchCfg -* -* -* Desc : Logical channel configuration info for uplink logical channels -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkCrgUlLchCfg -( -CrgUlLchCfg *param, -Buffer *mBuf -) -{ - - CMCHKPK(oduUnpackUInt8, param->lcgId, mBuf); - CMCHKPK(oduUnpackUInt8, param->ulTrchType, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkCrgUlLchCfg -* -* -* Desc : Logical channel configuration info for uplink logical channels -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgUlLchCfg -( -CrgUlLchCfg *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(oduPackUInt8, ¶m->ulTrchType, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->lcgId, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkCrgLchCfg -* -* -* Desc : Logical channel configuration info for common and dedicated channels -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkCrgLchCfg -( -CrgLchCfg *param, -Buffer *mBuf -) -{ - -/* crg_c_001.main_5 - ADD - Added the packing for LTE_L2_MEAS. */ -#ifdef LTE_L2_MEAS - CMCHKPK(oduUnpackUInt8, param->qci, mBuf); -#endif - CMCHKPK(cmPkCrgUlLchCfg, ¶m->ulInfo, mBuf); - CMCHKPK(cmPkCrgDlLchCfg, ¶m->dlInfo, mBuf); - CMCHKPK(oduUnpackUInt8, param->dir, mBuf); - CMCHKPK(cmPkLteLcType, param->lcType, mBuf); - CMCHKPK(cmPkLteLcId, param->lcId, mBuf); - CMCHKPK(cmPkLteRnti, param->crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkCrgLchCfg -* -* -* Desc : Logical channel configuration info for common and dedicated channels -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgLchCfg -( -CrgLchCfg *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); - CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); - CMCHKUNPK(cmUnpkLteLcType, ¶m->lcType, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->dir, mBuf); - CMCHKUNPK(cmUnpkCrgDlLchCfg, ¶m->dlInfo, mBuf); - CMCHKUNPK(cmUnpkCrgUlLchCfg, ¶m->ulInfo, mBuf); -/* crg_c_001.main_5 - ADD - Added the unpacking for LTE_L2_MEAS. */ -#ifdef LTE_L2_MEAS - CMCHKUNPK(oduPackUInt8, ¶m->qci, mBuf); -#endif - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkCrgCfg -* -* -* Desc : Basic configuration info for MAC -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkCrgCfg -( -CrgCfg *param, -Buffer *mBuf -) -{ - - - switch(param->cfgType) { - case CRG_LCH_CFG: - CMCHKPK(cmPkCrgLchCfg, ¶m->u.lchCfg, mBuf); - break; - case CRG_UE_CFG: - CMCHKPK(cmPkCrgUeCfg, ¶m->u.ueCfg, mBuf); - break; - case CRG_CELL_CFG: - CMCHKPK(cmPkCrgCellCfg, ¶m->u.cellCfg, mBuf); - break; - default : - return RFAILED; - } - CMCHKPK(oduUnpackUInt8, param->cfgType, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkCrgCfg -* -* -* Desc : Basic configuration info for MAC -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgCfg -( -CrgCfg *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(oduPackUInt8, ¶m->cfgType, mBuf); - switch(param->cfgType) { - case CRG_CELL_CFG: - CMCHKUNPK(cmUnpkCrgCellCfg, ¶m->u.cellCfg, mBuf); - break; - case CRG_UE_CFG: - CMCHKUNPK(cmUnpkCrgUeCfg, ¶m->u.ueCfg, mBuf); - break; - case CRG_LCH_CFG: - CMCHKUNPK(cmUnpkCrgLchCfg, ¶m->u.lchCfg, mBuf); - break; - default : - return RFAILED; - } - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkCrgCellRecfg -* -* -* Desc : Cell reconfiguration info -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkCrgCellRecfg -( -CrgCellRecfg *param, -Buffer *mBuf -) -{ - - - CMCHKPK(cmPkCrgRachCfg, ¶m->rachRecfg, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkCrgCellRecfg -* -* -* Desc : Cell reconfiguration info -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgCellRecfg -( -CrgCellRecfg *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkCrgRachCfg, ¶m->rachRecfg, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkCrgUeRecfg -* -* -* Desc : UE reconfiguration info -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkCrgUeRecfg -( -CrgUeRecfg *param, -Buffer *mBuf -) -{ - -#ifdef LTE_ADV - if(TRUE == param->crgSCellCfg.isSCellCfgPres) - { - CMCHKPK(cmPkCrgUeSecCellInfo, ¶m->crgSCellCfg, mBuf); - } - else - { - CMCHKPK(oduUnpackUInt8, param->crgSCellCfg.isSCellCfgPres, mBuf); - } -#endif /* LTE_ADV */ - CMCHKPK(oduUnpackUInt32, param->txMode.tm, mBuf); - CMCHKPK(oduUnpackUInt8, param->txMode.pres, mBuf); - CMCHKPK(cmPkCrgUeUlHqCfg, ¶m->ueUlHqRecfg, mBuf); - CMCHKPK(cmPkLteRnti, param->newCrnti, mBuf); - CMCHKPK(cmPkLteRnti, param->oldCrnti, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkCrgUeRecfg -* -* -* Desc : UE reconfiguration info -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgUeRecfg -( -CrgUeRecfg *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->oldCrnti, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->newCrnti, mBuf); - CMCHKUNPK(cmUnpkCrgUeUlHqCfg, ¶m->ueUlHqRecfg, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->txMode.pres, mBuf); - CMCHKUNPK(oduPackUInt32, (uint32_t *)¶m->txMode.tm, mBuf); -#ifdef LTE_ADV - CMCHKUNPK(cmUnpkCrgUeSecCellInfo, ¶m->crgSCellCfg, mBuf); -#endif /* LTE_ADV */ - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkCrgLchRecfg -* -* -* Desc : Logical channel reconfiguration info for dedicated channels only -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkCrgLchRecfg -( -CrgLchRecfg *param, -Buffer *mBuf -) -{ - - - CMCHKPK(oduUnpackUInt8, param->ulRecfg.lcgId, mBuf); - CMCHKPK(cmPkLteLcId, param->lcId, mBuf); - CMCHKPK(cmPkLteRnti, param->crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkCrgLchRecfg -* -* -* Desc : Logical channel reconfiguration info for dedicated channels only -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgLchRecfg -( -CrgLchRecfg *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); - CMCHKUNPK(cmUnpkLteLcId, ¶m->lcId, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->ulRecfg.lcgId, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkCrgRecfg -* -* -* Desc : Basic reconfiguration info for MAC -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkCrgRecfg -( -CrgRecfg *param, -Buffer *mBuf -) -{ - - - switch(param->recfgType) { - case CRG_LCH_CFG: - CMCHKPK(cmPkCrgLchRecfg, ¶m->u.lchRecfg, mBuf); - break; - case CRG_UE_CFG: - CMCHKPK(cmPkCrgUeRecfg, ¶m->u.ueRecfg, mBuf); - break; - case CRG_CELL_CFG: - CMCHKPK(cmPkCrgCellRecfg, ¶m->u.cellRecfg, mBuf); - break; - default : - return RFAILED; - } - CMCHKPK(oduUnpackUInt8, param->recfgType, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkCrgRecfg -* -* -* Desc : Basic reconfiguration info for MAC -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgRecfg -( -CrgRecfg *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(oduPackUInt8, ¶m->recfgType, mBuf); - switch(param->recfgType) { - case CRG_CELL_CFG: - CMCHKUNPK(cmUnpkCrgCellRecfg, ¶m->u.cellRecfg, mBuf); - break; - case CRG_UE_CFG: - CMCHKUNPK(cmUnpkCrgUeRecfg, ¶m->u.ueRecfg, mBuf); - break; - case CRG_LCH_CFG: - CMCHKUNPK(cmUnpkCrgLchRecfg, ¶m->u.lchRecfg, mBuf); - break; - default : - return RFAILED; - } - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkCrgDel -* -* -* Desc : Basic Delete info for MAC -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkCrgDel -( -CrgDel *param, -Buffer *mBuf -) -{ - - - switch(param->delType) { - case CRG_LCH_CFG: - CMCHKPK(oduUnpackUInt8, param->u.lchDel.dir, mBuf); - CMCHKPK(cmPkLteLcId, param->u.lchDel.lcId, mBuf); - CMCHKPK(cmPkLteRnti, param->u.lchDel.crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->u.lchDel.cellId, mBuf); - break; - case CRG_UE_CFG: - CMCHKPK(cmPkLteRnti, param->u.ueDel.crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->u.ueDel.cellId, mBuf); - break; - case CRG_CELL_CFG: - CMCHKPK(cmPkLteCellId, param->u.cellDel.cellId, mBuf); - break; - default : - return RFAILED; - } - CMCHKPK(oduUnpackUInt8, param->delType, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkCrgDel -* -* -* Desc : Basic Delete info for MAC -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgDel -( -CrgDel *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(oduPackUInt8, ¶m->delType, mBuf); - switch(param->delType) { - case CRG_CELL_CFG: - CMCHKUNPK(cmUnpkLteCellId, ¶m->u.cellDel.cellId, mBuf); - break; - case CRG_UE_CFG: - CMCHKUNPK(cmUnpkLteCellId, ¶m->u.ueDel.cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->u.ueDel.crnti, mBuf); - break; - case CRG_LCH_CFG: - CMCHKUNPK(cmUnpkLteCellId, ¶m->u.lchDel.cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->u.lchDel.crnti, mBuf); - CMCHKUNPK(cmUnpkLteLcId, ¶m->u.lchDel.lcId, mBuf); - CMCHKUNPK(oduPackUInt8, ¶m->u.lchDel.dir, mBuf); - break; - default : - return RFAILED; - } - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkCrgRst -* -* -* Desc : UE RESET info for MAC -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkCrgRst -( -CrgRst *param, -Buffer *mBuf -) -{ - - - CMCHKPK(cmPkLteRnti, param->crnti, mBuf); - CMCHKPK(cmPkLteCellId, param->cellId, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkCrgRst -* -* -* Desc : UE RESET info for MAC -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgRst -( -CrgRst *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(cmUnpkLteCellId, ¶m->cellId, mBuf); - CMCHKUNPK(cmUnpkLteRnti, ¶m->crnti, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmPkCrgCfgReqInfo -* -* -* Desc : Config/Reconfig/Delete info for MAC -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmPkCrgCfgReqInfo -( -CrgCfgReqInfo *param, -Buffer *mBuf -) -{ - - - switch(param->action) { - case CRG_RESET: - CMCHKPK(cmPkCrgRst, ¶m->u.rstInfo, mBuf); - break; - case CRG_DELETE: - CMCHKPK(cmPkCrgDel, ¶m->u.delInfo, mBuf); - break; - case CRG_RECONFIG: - CMCHKPK(cmPkCrgRecfg, ¶m->u.recfgInfo, mBuf); - break; - case CRG_CONFIG: - CMCHKPK(cmPkCrgCfg, ¶m->u.cfgInfo, mBuf); - break; - default : - return RFAILED; - } - CMCHKPK(oduUnpackUInt8, param->action, mBuf); - return ROK; -} - - - -/*********************************************************** -* -* Func : cmUnpkCrgCfgReqInfo -* -* -* Desc : Config/Reconfig/Delete info for MAC -* -* -* Ret : S16 -* -* Notes: -* -* File : -* -**********************************************************/ -S16 cmUnpkCrgCfgReqInfo -( -CrgCfgReqInfo *param, -Buffer *mBuf -) -{ - - - CMCHKUNPK(oduPackUInt8, ¶m->action, mBuf); - switch(param->action) { - case CRG_CONFIG: - CMCHKUNPK(cmUnpkCrgCfg, ¶m->u.cfgInfo, mBuf); - break; - case CRG_RECONFIG: - CMCHKUNPK(cmUnpkCrgRecfg, ¶m->u.recfgInfo, mBuf); - break; - case CRG_DELETE: - CMCHKUNPK(cmUnpkCrgDel, ¶m->u.delInfo, mBuf); - break; - case CRG_RESET: - CMCHKUNPK(cmUnpkCrgRst, ¶m->u.rstInfo, mBuf); - break; - default : - return RFAILED; - } - return ROK; -} #endif - /********************************************************************** End of file **********************************************************************/