- CMCHKUNPK(oduPackUInt16, &(param->ceLevelInfo[i].raEmtcWinSize), mBuf);
- CMCHKUNPK(oduPackUInt8,&(param->ceLevelInfo[i].emtcRarHopping), mBuf);
- }
- CMCHKUNPK(oduPackUInt8, ¶m->emtcCeLvlSupported, mBuf);
- return ROK;
-}
-
-
-S16 cmUnpkRgrEmtcPdschCfg
-(
-RgrEmtcPdschCfg*param,
-Buffer *mBuf
-)
-{
-
- CMCHKUNPK(oduPackUInt16, ¶m->emtcMaxRepCeModeB, mBuf);
- CMCHKUNPK(oduPackUInt16, ¶m->emtcMaxRepCeModeA, mBuf);
- return ROK;
-}
-
-S16 cmUnpkRgrEmtcPuschCfg
-(
-RgrEmtcPuschCfg*param,
-Buffer *mBuf
-)
-{
- CMCHKUNPK(oduPackUInt8, ¶m->emtcHoppingOffset, mBuf);
- CMCHKUNPK(oduPackUInt16, ¶m->emtcMaxRepCeModeB, mBuf);
- CMCHKUNPK(oduPackUInt16, ¶m->emtcMaxRepCeModeA, mBuf);
- return ROK;
-}
-
-
-
-S16 cmUnpkRgrEmtcPucchCfg
-(
-RgrEmtcPucchCfg *param,
-Buffer *mBuf
-)
-{
-
- S32 i;
-
-
- CMCHKUNPK(oduPackUInt8, ¶m->emtcPucchNumRepCEMsg4Lvl3, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->emtcPucchNumRepCEMsg4Lvl2, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->emtcPucchNumRepCEMsg4Lvl1, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->emtcPucchNumRepCEMsg4Lvl0, mBuf);
-
- for (i=0; i < RGR_MAX_CE_LEVEL ; i++) {
- CMCHKUNPK(oduPackUInt16, ¶m->emtcN1pucchAnInfoLst[i], mBuf);
- }
- return ROK;
-}
-
-
-S16 cmUnpkRgrEmtcPrachCeParamCfg
-(
-RgrEmtcPrachCEParamLst *param,
-Buffer *mBuf
-)
-{
- CMCHKUNPK(oduPackUInt8, ¶m->emtcPrachHoppingCfg, mBuf);
- CMCHKUNPK(oduPackUInt16, ¶m->emtcMpdcchNumRep, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->emtcMpdcchNBtoMonitor[1], mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->emtcMpdcchNBtoMonitor[0], mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->emtcNumMpdcchNBtoMonitor, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->emtcNumRepPerPreambleAtt, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->emtcMaxPremAttemptCE, mBuf);
- CMCHKUNPK(oduPackUInt16, ¶m->emtcPrachStartSubFrame, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->emtcPrachFreqOffset, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->emtcPrachCfgIdx, mBuf);
- return ROK;
-}
-
-
-
-S16 cmUnpkRgrEmtcPrachCfg
-(
-RgrEmtcPrachCfg *param,
-Buffer *mBuf
-)
-{
-
- S32 i;
- for (i=0; i < RGR_MAX_CE_LEVEL; i++) {
- CMCHKUNPK(cmUnpkRgrEmtcPrachCeParamCfg, ¶m->emtcPrachCEparmLst[i], mBuf);
- }
- CMCHKUNPK(oduPackUInt8, ¶m->emtcInitialCElevel, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->emtcPrachHopingOffset, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->emtcMpdcchStartSFCssRaFdd, mBuf);
-
- return ROK;
-}
-
-S16 cmUnpkRgrEmtcCfg
-(
-RgrEmtcCellCfg *param,
-Buffer *mBuf
-)
-{
-
- CMCHKUNPK(oduPackUInt8, ¶m->emtcPuschNbIdx, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->emtcMpdcchNbIdx, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->emtcPdschNbIdx, mBuf);
- CMCHKUNPK(cmUnpkRgrEmtcRntiCfg, ¶m->emtcMacRnti, mBuf);
- CMCHKUNPK(cmUnpkRgrEmtcPucchCfg, ¶m->emtcPucchCfg, mBuf);
- CMCHKUNPK(cmUnpkRgrEmtcPrachCfg, ¶m->emtcPrachCfg, mBuf);
- CMCHKUNPK(cmUnpkRgrEmtcPuschCfg, ¶m->emtcPuschCfg, mBuf);
- CMCHKUNPK(cmUnpkRgrEmtcPdschCfg, ¶m->emtcPdschCfg, mBuf);
- CMCHKUNPK(cmUnpkRgrEmtcRachCfg, ¶m->emtcRachCfg, mBuf);
- CMCHKUNPK(cmUnpkRgrEmtcSiCfg, ¶m->emtcSiCfg, mBuf);
- CMCHKUNPK(oduPackUInt32,¶m->emtcT301Tmr, mBuf);
- CMCHKUNPK(oduPackUInt32, ¶m->emtcT300Tmr, mBuf);
- CMCHKUNPK(oduPackUInt16, ¶m->pci, mBuf);
-
-
-
-
-
- return ROK;
-}
-
-/* EMTC related unpack changes end*/
-
-
-#endif
-
-\f
-/***********************************************************
-*
-* Func : cmUnpkRgrBwCfg
-*
-*
-* Desc : Bandwidth configuration per cell
-*
-*
-* Ret : S16
-*
-* Notes:
-*
-* File :
-*
-**********************************************************/
-S16 cmUnpkRgrBwCfg
-(
-RgrBwCfg *param,
-Buffer *mBuf
-)
-{
-
- CMCHKUNPK(oduPackUInt8, ¶m->dlTotalBw, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->ulTotalBw, mBuf);
- return ROK;
-}
-
-
-\f
-/***********************************************************
-*
-* Func : cmPkRgrPhichCfg
-*
-*
-* Desc : PHICH configuration per cell
-*
-*
-* Ret : S16
-*
-* Notes:
-*
-* File :
-*
-**********************************************************/
-S16 cmPkRgrPhichCfg
-(
-RgrPhichCfg *param,
-Buffer *mBuf
-)
-{
-
- CMCHKPK(oduUnpackUInt8, param->isDurExtend, mBuf);
- CMCHKPK(oduUnpackUInt32, param->ngEnum, mBuf);
- return ROK;
-}
-
-
-\f
-/***********************************************************
-*
-* Func : cmUnpkRgrPhichCfg
-*
-*
-* Desc : PHICH configuration per cell
-*
-*
-* Ret : S16
-*
-* Notes:
-*
-* File :
-*
-**********************************************************/
-S16 cmUnpkRgrPhichCfg
-(
-RgrPhichCfg *param,
-Buffer *mBuf
-)
-{
- uint32_t tmpEnum;
-
-
- CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf);
- param->ngEnum = (RgrPhichNg) tmpEnum;
- CMCHKUNPK(oduPackUInt8, ¶m->isDurExtend, mBuf);
- return ROK;
-}
-
-
-\f
-/***********************************************************
-*
-* Func : cmPkRgrPucchCfg
-*
-*
-* Desc : PUCCH configuration per cell
-*
-*
-* Ret : S16
-*
-* Notes:
-*
-* File :
-*
-**********************************************************/
-S16 cmPkRgrPucchCfg
-(
-RgrPucchCfg *param,
-Buffer *mBuf
-)
-{
-
- CMCHKPK(oduUnpackUInt8, param->maxPucchRb, mBuf);
- CMCHKPK(oduUnpackUInt8, param->cyclicShift, mBuf);
- CMCHKPK(oduUnpackUInt8, param->deltaShift, mBuf);
- CMCHKPK(oduUnpackUInt16, param->n1PucchAn, mBuf);
- CMCHKPK(oduUnpackUInt8, param->resourceSize, mBuf);
-
- return ROK;
-}
-
-
-\f
-/***********************************************************
-*
-* Func : cmUnpkRgrPucchCfg
-*
-*
-* Desc : PUCCH configuration per cell
-*
-*
-* Ret : S16
-*
-* Notes:
-*
-* File :
-*
-**********************************************************/
-S16 cmUnpkRgrPucchCfg
-(
-RgrPucchCfg *param,
-Buffer *mBuf
-)
-{
-
- CMCHKUNPK(oduPackUInt8, ¶m->resourceSize, mBuf);
- CMCHKUNPK(oduPackUInt16, ¶m->n1PucchAn, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->deltaShift, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->cyclicShift, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->maxPucchRb, mBuf);
-
- return ROK;
-}
-
-
-\f
-/***********************************************************
-*
-* Func : cmPkRgrSrsCfg
-*
-*
-* Desc : SRS configuration per cell
-*
-*
-* Ret : S16
-*
-* Notes:
-*
-* File :
-*
-**********************************************************/
-S16 cmPkRgrSrsCfg
-(
-RgrSrsCfg *param,
-Buffer *mBuf
-)
-{
-
-
- CMCHKPK(oduUnpackUInt8, param->srsSubFrameCfg, mBuf);
- CMCHKPK(oduUnpackUInt32, param->srsBwEnum, mBuf);
- CMCHKPK(oduUnpackUInt32, param->srsCfgPrdEnum, mBuf);
- CMCHKPK(oduUnpackUInt8, param->isSrsCfgSetup, mBuf);
- return ROK;
-}
-
-
-\f
-/***********************************************************
-*
-* Func : cmUnpkRgrSrsCfg
-*
-*
-* Desc : SRS configuration per cell
-*
-*
-* Ret : S16
-*
-* Notes:
-*
-* File :
-*
-**********************************************************/
-S16 cmUnpkRgrSrsCfg
-(
-RgrSrsCfg *param,
-Buffer *mBuf
-)
-{
- uint32_t tmpEnum;
-
- CMCHKUNPK(oduPackUInt8, ¶m->isSrsCfgSetup, mBuf);
- CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf);
- param->srsCfgPrdEnum = (RgrSrsCfgPrd) tmpEnum;
- CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf);
- param->srsBwEnum = (RgrSrsBwCfg) tmpEnum;
- CMCHKUNPK(oduPackUInt8, ¶m->srsSubFrameCfg, mBuf);
- return ROK;
-}
-
-
-\f
-/***********************************************************
-*
-* Func : cmPkRgrRachCfg
-*
-*
-* Desc : RACH configuration per cell
-*
-*
-* Ret : S16
-*
-* Notes:
-*
-* File :
-*
-**********************************************************/
-S16 cmPkRgrRachCfg
-(
-RgrRachCfg *param,
-Buffer *mBuf
-)
-{
-
- S32 i;
-
- CMCHKPK(oduUnpackUInt8, param->prachResource, mBuf);
- CMCHKPK(oduUnpackUInt16, param->msgSizeGrpA, mBuf);
- CMCHKPK(oduUnpackUInt8, param->sizeRaPreambleGrpA, mBuf);
- CMCHKPK(oduUnpackUInt8, param->numRaPreamble, mBuf);
- CMCHKPK(oduUnpackUInt8, param->maxMsg3Tx, mBuf);
- for (i=param->raOccasion.size-1; i >= 0; i--) {
- CMCHKPK(oduUnpackUInt8, param->raOccasion.subFrameNum[i], mBuf);
- }
- CMCHKPK(oduUnpackUInt32, param->raOccasion.sfnEnum, mBuf);
- CMCHKPK(oduUnpackUInt8, param->raOccasion.size, mBuf);
- CMCHKPK(oduUnpackUInt8, param->raWinSize, mBuf);
- CMCHKPK(oduUnpackUInt8, param->preambleFormat, mBuf);
-#ifdef RGR_V1
- /* rgr_c_001.main_5: cccpu00112372: Added contention resolution
- * timer configuration */
- CMCHKPK(oduUnpackUInt8, param->contResTmr, mBuf);
-#endif
- return ROK;
-}
-
-
-\f
-/***********************************************************
-*
-* Func : cmUnpkRgrRachCfg
-*
-*
-* Desc : RACH configuration per cell
-*
-*
-* Ret : S16
-*
-* Notes:
-*
-* File :
-*
-**********************************************************/
-S16 cmUnpkRgrRachCfg
-(
-RgrRachCfg *param,
-Buffer *mBuf
-)
-{
- uint32_t tmpEnum;
-
- S32 i;
-#ifdef RGR_V1
- /* rgr_c_001.main_5: cccpu00112372: Added contention resolution
- * timer configuration */
- CMCHKUNPK(oduPackUInt8, ¶m->contResTmr, mBuf);
-#endif
- CMCHKUNPK(oduPackUInt8, ¶m->preambleFormat, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->raWinSize, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->raOccasion.size, mBuf);
- CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf);
- param->raOccasion.sfnEnum = (RgrRaSfn) tmpEnum;
- for (i=0; i<param->raOccasion.size; i++) {
- CMCHKUNPK(oduPackUInt8, ¶m->raOccasion.subFrameNum[i], mBuf);
- }
- CMCHKUNPK(oduPackUInt8, ¶m->maxMsg3Tx, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->numRaPreamble, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->sizeRaPreambleGrpA, mBuf);
- CMCHKUNPK(oduPackUInt16, ¶m->msgSizeGrpA, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->prachResource, mBuf);
- return ROK;
-}
-
-
-\f
-/***********************************************************
-*
-* Func : cmPkRgrSiCfg
-*
-*
-* Desc : SI Configuration per cell
-*
-*
-* Ret : S16
-*
-* Notes:
-*
-* File :
-*
-**********************************************************/
-S16 cmPkRgrSiCfg
-(
-RgrSiCfg *param,
-Buffer *mBuf
-)
-{
- /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */
-#ifdef RGR_SI_SCH
- S16 idx;
-#endif/*RGR_SI_SCH*/
-
-
-#ifdef RGR_SI_SCH
- if(param->numSi > sizeof(param->siPeriodicity)/
- sizeof(param->siPeriodicity[0]))
- param->numSi = sizeof(param->siPeriodicity)/
- sizeof(param->siPeriodicity[0]);
-
- for (idx=param->numSi-1; idx >= 0; idx--) {
- /* Enum to be packed/unpacked as uint32_t instead of S32 */
- CMCHKPK(oduUnpackUInt32, param->siPeriodicity[idx], mBuf);
- }
- CMCHKPK(oduUnpackUInt8, param->numSi, mBuf);
- /*rgr_c_001.main_9 ccpu00115364 MOD changed modPrd to enum*/
- CMCHKPK(oduUnpackUInt32, (uint32_t)param->modPrd, mBuf);
-#endif/*RGR_SI_SCH*/
- CMCHKPK(oduUnpackUInt8, param->retxCnt, mBuf);
- CMCHKPK(oduUnpackUInt8, param->siWinSize, mBuf);
- return ROK;
-}
-
-
-\f
-/***********************************************************
-*
-* Func : cmUnpkRgrSiCfg
-*
-*
-* Desc : SI Configuration per cell
-*
-*
-* Ret : S16
-*
-* Notes:
-*
-* File :
-*
-**********************************************************/
-S16 cmUnpkRgrSiCfg
-(
-RgrSiCfg *param,
-Buffer *mBuf
-)
-{
- uint32_t tmpEnum;
- /* rgr_c_001.main_4:MOD-Modified for SI Enhancement. */
-#ifdef RGR_SI_SCH
- S16 idx;
-#endif/*RGR_SI_SCH*/
-
-
- CMCHKUNPK(oduPackUInt8, ¶m->siWinSize, mBuf);
- CMCHKUNPK(oduPackUInt8, ¶m->retxCnt, mBuf);
-#ifdef RGR_SI_SCH
- /*rgr_c_001.main_9 ccpu00115364 MOD changed modPrd to enum*/
- CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf);
- param->modPrd = (RgrModPeriodicity) tmpEnum;
- CMCHKUNPK(oduPackUInt8, ¶m->numSi, mBuf);
-
- if(param->numSi > sizeof(param->siPeriodicity)/
- sizeof(param->siPeriodicity[0]))
- param->numSi = sizeof(param->siPeriodicity)/
- sizeof(param->siPeriodicity[0]);
-
- /* Enum to be packed/unpacked as uint32_t instead of S32 */
- for (idx=0; idx < param->numSi; idx++) {
- CMCHKUNPK(oduPackUInt32, (uint32_t *)&tmpEnum, mBuf);
- param->siPeriodicity[idx] = (RgrSiPeriodicity) tmpEnum;
- }
-#endif/*RGR_SI_SCH*/
-
- return ROK;