VOS_UINT32 USIMM_SetFileReq_Instance( MODEM_ID_ENUM_UINT16 enModemID, VOS_UINT32 ulSenderPid, VOS_UINT32 ulSendPara, USIMM_SET_FILE_INFO_STRU *pstSetFileInfo) { if (MODEM_ID_0 == enModemID) { USIMM_NORMAL_LOG("USIMM_SetFileReq_Instance: call USIMM_SetFileReq"); return USIMM_SetFileReq(ulSenderPid, ulSendPara, pstSetFileInfo); } #if (FEATURE_MULTI_MODEM == FEATURE_ON) if (MODEM_ID_1 == enModemID) { USIMM_NORMAL_LOG("USIMM_SetFileReq_Instance: call I1_USIMM_SetFileReq"); return I1_USIMM_SetFileReq(ulSenderPid, ulSendPara, pstSetFileInfo); } #endif USIMM_ERROR_LOG("USIMM_SetFileReq_Instance: Para is Error"); return USIMM_API_WRONG_PARA; }
/*lint -e961*/ VOS_UINT32 NAS_LMM_NvimWrite( NAS_LMM_ITEM_TYPE_ENUM_UINT32 ulNVItemType, VOS_VOID *pData, VOS_UINT16 usDataLen ) { VOS_UINT32 ulRslt = NAS_LMM_NVIM_FAIL; NAS_NVIM_CTRL_TBL stNvCtrlTbl; VOS_UINT32 i; NAS_LMM_NV_ACTION_FUN pActFun = NAS_LMM_NULL_PTR; VOS_UINT16 usEfId = 0; USIMM_SET_FILE_INFO_STRU stSetFileInfo ={0}; /*check input params*/ if((NAS_NVIM_NULL_PTR == pData) || (usDataLen == VOS_NULL) || (ulNVItemType > EN_NV_ID_PS_END)) { NAS_LMM_NVIM_LOG_ERR("NAS_LMM_NvimWrite:input para ERR"); return NAS_LMM_NVIM_FAIL; } /*Initalize NVIM ctrl tbl*/ stNvCtrlTbl.pData = pData; stNvCtrlTbl.pNvData = g_aucNvimBuff; stNvCtrlTbl.usDataLen = usDataLen; stNvCtrlTbl.usNvDataLen = 0; /* 在g_astNvDataMap中查找对应的NV TYPE*/ for(i = 0; i < g_ulNvDataMapNum; i++) { /* 若NV类型相同,则找到了,返回当前的NV动作函数,退出循环 */ if(ulNVItemType == g_astNvDataMap[i].ulEventType) { pActFun = g_astNvDataMap[i].pfEncodeActionFun; usEfId = g_astNvDataMap[i].usUsimFileId; break; } } if (NAS_LMM_NULL_PTR == pActFun) { /* 如果找不到处理函数,表示当前没有该处理函数 */ NAS_LMM_NVIM_LOG_ERR("NAS_LMM_NvimWrite:Action functin is ERR"); return NAS_LMM_NVIM_FAIL; } ulRslt = (*pActFun) (&stNvCtrlTbl); if ( NAS_LMM_NVIM_WRITTEN_UNNEEDED == ulRslt) { NAS_LMM_NVIM_LOG_INFO("NAS_LMM_NvimWrite: Don't need to write usim."); return NAS_LMM_NVIM_WRITTEN_UNNEEDED; } if(ulRslt != NAS_LMM_NVIM_OK) { NAS_LMM_NVIM_LOG_ERR("NAS_LMM_NvimWrite:Encode is ERR"); return NAS_LMM_NVIM_FAIL; } /*硬USIM下,并且NV ITEM属于USIM的范围,则向USIM中写文件*/ if((EN_NV_ID_USIM_BEGIN < ulNVItemType) &&(EN_NV_ID_USIM_END > ulNVItemType)) { NAS_LMM_NVIM_LOG1_INFO("NAS_LMM_NvimWrite:USIMM_SetFileReq, ulNVItemType = ", ulNVItemType); /*ucRecordNum默认为1,NAS目前涉及的文件是线形文件,且只有一个记录*/ stSetFileInfo.enAppType = USIMM_UMTS_APP; stSetFileInfo.ucRecordNum = 1; stSetFileInfo.usEfId = usEfId; stSetFileInfo.ulEfLen = stNvCtrlTbl.usNvDataLen; stSetFileInfo.pucEfContent = stNvCtrlTbl.pNvData; /* ulRslt = USIMM_SetFileReq( PS_USIM_CLIENT_LMM, usEfId, (VOS_UINT8*)stNvCtrlTbl.pNvData, (VOS_UINT8 )stNvCtrlTbl.usNvDataLen, ucRecordNum );*/ ulRslt = USIMM_SetFileReq( PS_PID_MM, 0, &stSetFileInfo ); NAS_LMM_NVIM_LOG3_INFO("usNvDataLen = , len = , usEfId = ", stNvCtrlTbl.usNvDataLen, stNvCtrlTbl.usNvDataLen, usEfId); NAS_COMM_PrintArray(NAS_COMM_GET_MM_PRINT_BUF(), (VOS_UINT8*)stNvCtrlTbl.pNvData,stNvCtrlTbl.usNvDataLen); return ulRslt; } /*其他情况向NV中写信息*/ /*lint -e718*/ /*lint -e516*/ /*lint -e732*/ ulRslt = LPs_NvimItem_Write( ulNVItemType, stNvCtrlTbl.pNvData, stNvCtrlTbl.usNvDataLen); /*lint +e732*/ /*lint +e516*/ /*lint +e718*/ return ulRslt; }