VOS_VOID TAF_APS_InitPdpActLimitInfo(VOS_VOID) { TAF_APS_PDP_ACT_LIMIT_INFO_STRU *pstPdpActLimitInfo = VOS_NULL_PTR; pstPdpActLimitInfo = TAF_APS_GetPdpActLimitInfoAddr(); /* 初始化PDP激活限制功能开启flag */ pstPdpActLimitInfo->ucPdpActLimitFlg = VOS_FALSE; /* 初始化激活失败次数计数器 */ pstPdpActLimitInfo->ucPdpActFailCount = 0; /* 先对flag初始化,再读取nv项值 */ TAF_APS_ReadPdpActLimitFlgFromNv(); return; }
VOS_VOID TAF_APS_ReadPdpActLimitFlgFromNv(VOS_VOID) { TAF_APS_NVIM_PDP_ACT_LIMIT_STRU stNvPdpActLimit; TAF_APS_PDP_ACT_LIMIT_INFO_STRU *pstPdpActLimitInfo = VOS_NULL_PTR; VOS_UINT32 ulLength; ulLength = 0; PS_MEM_SET(&stNvPdpActLimit, 0x00, sizeof(TAF_APS_NVIM_PDP_ACT_LIMIT_STRU)); NV_GetLength(en_NV_Item_Pdp_Act_Limit_Para, &ulLength); if (ulLength > sizeof(stNvPdpActLimit)) { return; } /* 从en_NV_Item_Pdp_Act_Limit_Para中读取PDP激活受限标志 */ if (NV_OK != NV_Read(en_NV_Item_Pdp_Act_Limit_Para, &stNvPdpActLimit, ulLength)) { TAF_ERROR_LOG(WUEPS_PID_TAF, "TAF_APS_ReadPdpActLimitFlgFromNv:NVIM Read Failed"); return; } /* PDP激活受限标志有效性检查 */ if ((stNvPdpActLimit.ucNvimActiveFlg != VOS_TRUE) && (stNvPdpActLimit.ucNvimActiveFlg != VOS_FALSE)) { TAF_ERROR_LOG(WUEPS_PID_TAF, "TAF_APS_ReadPdpActLimitFlgFromNv:NVIM Is Anavil"); return; } pstPdpActLimitInfo = TAF_APS_GetPdpActLimitInfoAddr(); pstPdpActLimitInfo->ucPdpActLimitFlg = stNvPdpActLimit.ucNvimActiveFlg; return; }