VOS_VOID TAF_MMA_RcvUsimmReadRuimidFile( USIMM_READFILE_CNF_STRU *pstUsimmReadCnfMsg ) { /* Read file fail */ if (MMA_SUCCESS != pstUsimmReadCnfMsg->stCmdResult.ulResult) { MMA_ERRORLOG("TAF_MMA_RcvUsimmReadRuimidFile: Read RUIMID FAIL"); return; } if (0 == pstUsimmReadCnfMsg->usEfLen) { MMA_ERRORLOG("TAF_MMA_RcvUsimmReadRuimidFile(): Parse Content Failed! usEfLen is 0"); return; } if (pstUsimmReadCnfMsg->usEfLen > TAF_SDC_EFRUIMID_OCTET_LEN_EIGHT) { MMA_ERRORLOG("TAF_MMA_RcvUsimmReadRuimidFile(): Parse Content Failed! usEfLen > 8"); return; } PS_MEM_CPY( TAF_SDC_GetSdcCtx()->stSimInfo.stCsimInfo.aucRuimid, pstUsimmReadCnfMsg->aucEf, TAF_SDC_MIN(TAF_SDC_EFRUIMID_OCTET_LEN_EIGHT, pstUsimmReadCnfMsg->usEfLen)); }
VOS_UINT32 TAF_MMA_SndMmcRegReq( TAF_MMA_REG_PARA_STRU *pstMmaRegPara ) { VOS_UINT32 ulRet; VOS_UINT32 i; MMA_MMC_REG_REQ_STRU *pstMsg = VOS_NULL_PTR; /* 申请内存 */ pstMsg = (MMA_MMC_REG_REQ_STRU *)PS_ALLOC_MSG(WUEPS_PID_MMA, sizeof(MMA_MMC_REG_REQ_STRU) - VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pstMsg) { NAS_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndMmcRegReq:ERROR: Memory Alloc Error for pMsg"); return VOS_ERR; } PS_MEM_SET((VOS_INT8*)pstMsg + VOS_MSG_HEAD_LENGTH, 0, sizeof(MMA_MMC_REG_REQ_STRU) - VOS_MSG_HEAD_LENGTH); pstMsg->stMsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->stMsgHeader.ulReceiverPid = WUEPS_PID_MMC; pstMsg->stMsgHeader.ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->stMsgHeader.ulSenderPid = WUEPS_PID_MMA; pstMsg->stMsgHeader.ulLength = sizeof(MMA_MMC_REG_REQ_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->stMsgHeader.ulMsgName = ID_MMA_MMC_REG_REQ; pstMsg->bitOpPrioClass = pstMmaRegPara->bitOpPrioClass; pstMsg->bitOpCellInfo = pstMmaRegPara->bitOpCellInfo; pstMsg->bitSpare = pstMmaRegPara->bitSpare; pstMsg->enPrioClass = pstMmaRegPara->enPrioClass; if (VOS_TRUE == pstMmaRegPara->bitOpCellInfo) { /* 目前只支持到CDMA到LTE的重选,接入技术固定填写为LTE */ pstMsg->stCellInfo.ucRat = NAS_MML_NET_RAT_TYPE_LTE; pstMsg->stCellInfo.usArfcn = pstMmaRegPara->stCellInfo.usArfcn; pstMsg->stCellInfo.ucCellNum = TAF_SDC_MIN(pstMmaRegPara->stCellInfo.ucCellNum, MMA_MMC_REG_MAX_CELL_NUM); PS_MEM_CPY(pstMsg->stCellInfo.ausCellId, pstMmaRegPara->stCellInfo.ausCellId, pstMsg->stCellInfo.ucCellNum*sizeof(VOS_UINT16)); pstMsg->stCellInfo.ucPlmnNum = TAF_SDC_MIN(pstMmaRegPara->stCellInfo.ucPlmnNum, MMA_MMC_REG_MAX_PLMN_NUM); for (i = 0; i < pstMsg->stCellInfo.ucPlmnNum; i++) { pstMsg->stCellInfo.astPlmnId[i].ulMcc = pstMmaRegPara->stCellInfo.astPlmnId[i].Mcc; pstMsg->stCellInfo.astPlmnId[i].ulMnc = pstMmaRegPara->stCellInfo.astPlmnId[i].Mnc; } } /* 调用VOS发送原语 */ ulRet = PS_SEND_MSG(WUEPS_PID_MMA, pstMsg); if (VOS_OK != ulRet) { NAS_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndMmcRegReq:ERROR:PS_SEND_MSG FAILURE"); return VOS_ERR; } return VOS_OK; }