VOS_VOID CSIMA_CBPResetInd(CSIMA_CBPCA_MODEM_RESET_ENUM_UINT32 enModemReset) { CSIMA_CBPCA_MODEM_RESET_IND_MSG_STRU *pstResetInd; pstResetInd = (CSIMA_CBPCA_MODEM_RESET_IND_MSG_STRU *)VOS_AllocMsg(WUEPS_PID_CSIMA, sizeof(CSIMA_CBPCA_MODEM_RESET_IND_MSG_STRU)); if (VOS_NULL_PTR == pstResetInd) { CSIMA_ERROR_LOG("CSIMA_CBPResetInd: Alloc msg fail!"); return; } /* 填充消息内容 */ pstResetInd->ulReceiverPid = WUEPS_PID_CBPCA; pstResetInd->enMsgType = CSIMA_CBPCA_MODEM_RESET_IND; pstResetInd->enModemReset = enModemReset; if (VOS_OK != VOS_SendMsg(WUEPS_PID_CSIMA, pstResetInd)) { CSIMA_ERROR_LOG("CSIMA_CBPResetInd: Send msg fail!"); return; } return; }
VOS_VOID USIMM_GetFileCnf(VOS_UINT32 ulReceiverPid, VOS_UINT32 ulSendPara, VOS_UINT32 ulErrorCode, USIMM_GETCNF_INFO_STRU *pstCnfInfo) { PS_USIM_GET_FILE_CNF_STRU *pUsimMsg; VOS_UINT32 ulResult; if(ulErrorCode != USIMM_SW_OK) { ulResult = VOS_ERR; } else { ulResult = VOS_OK; } if( WUEPS_PID_OM == ulReceiverPid ) { USIMM_OmFileCnf(ulResult,pstCnfInfo->usEfLen,pstCnfInfo->pucEf,USIMM_OM_GET_CNF); return; } pUsimMsg = (PS_USIM_GET_FILE_CNF_STRU*)VOS_AllocMsg(WUEPS_PID_USIM, (sizeof(PS_USIM_GET_FILE_CNF_STRU)-VOS_MSG_HEAD_LENGTH)+pstCnfInfo->usDataLen); if(VOS_NULL_PTR == pUsimMsg) { USIMM_ERROR_LOG("USIMM_GetFileCnf: VOS_AllocMsg is Failed"); return; } pUsimMsg->ulMsgName = PS_USIM_GET_FILE_RSP; pUsimMsg->ulReceiverPid = ulReceiverPid; pUsimMsg->ulErrorCode = ulErrorCode; pUsimMsg->ulSendPara = ulSendPara; pUsimMsg->usEfId = pstCnfInfo->usEfId; if(USIMM_SW_OK == ulErrorCode) { pUsimMsg->ucRecordNum = pstCnfInfo->ucRecordNum; pUsimMsg->usEfLen = pstCnfInfo->usEfLen; pUsimMsg->ucTotalNum = pstCnfInfo->ucTotalNum; pUsimMsg->ulResult = VOS_OK; VOS_MemCpy(pUsimMsg->aucEf, pstCnfInfo->pucEf, pstCnfInfo->usDataLen); } else { pUsimMsg->ucRecordNum = 0; pUsimMsg->usEfLen = 0; pUsimMsg->ucTotalNum = 0; pUsimMsg->ulResult = VOS_ERR; } (VOS_VOID)VOS_SendMsg(pUsimMsg->ulSenderPid, pUsimMsg); return; }
VOS_UINT32 diag_SendMsg(VOS_UINT32 ulSenderId, VOS_UINT32 ulRecverId, VOS_UINT32 ulMsgId, VOS_UINT8* pDta, VOS_UINT32 dtaSize) { VOS_UINT32 ret = ERR_MSP_UNKNOWN; DIAG_DATA_MSG_STRU* pDataMsg = NULL; /*lint -save -e740*/ pDataMsg = (DIAG_DATA_MSG_STRU*)VOS_AllocMsg(ulSenderId,(sizeof(DIAG_DATA_MSG_STRU)+ dtaSize - 20)); /*lint -restore*/ if (pDataMsg != NULL) { pDataMsg->ulReceiverPid = ulRecverId; pDataMsg->ulSenderPid = ulSenderId; pDataMsg->ulLength = sizeof(DIAG_DATA_MSG_STRU)+ dtaSize - 20; pDataMsg->ulMsgId = ulMsgId; pDataMsg->ulLen = dtaSize; VOS_MemCpy(pDataMsg->pContext,pDta,dtaSize); ret = VOS_SendMsg(ulSenderId, pDataMsg); if (ret != VOS_OK) { diag_printf("diag_SendMsg ulSenderId=%d,ulRecverId=%d,ulMsgId=0x%x,pDta=%p,dtaSize=%d!\n",ulSenderId,ulRecverId,ulMsgId,pDta,dtaSize); } else { ret = ERR_MSP_SUCCESS; } } return ret; }
VOS_UINT32 diag_SendPsTransMsg(VOS_UINT32 ulRecverId, VOS_UINT8* pDta, VOS_UINT32 dtaSize) { VOS_UINT32 ret = ERR_MSP_UNKNOWN; DIAG_PS_MSG_STRU* pDataMsg = NULL; /*传进来的dtaSize已经包含了VOS HEADER,因此申请时需要-20*/ /*lint -save -e740*/ pDataMsg = (DIAG_PS_MSG_STRU*)VOS_AllocMsg(diag_GetAgentPid(),dtaSize -VOS_MSG_HEAD_LENGTH); /*lint -restore*/ if (pDataMsg) { VOS_MemCpy(pDataMsg,pDta,dtaSize); pDataMsg->ulReceiverPid = ulRecverId; pDataMsg->ulSenderPid = diag_GetAgentPid(); /* coverity[overflow_const] */ pDataMsg->ulLength = dtaSize - VOS_MSG_HEAD_LENGTH; ret = VOS_SendMsg(diag_GetAgentPid(), pDataMsg); if (ret != VOS_OK) { diag_printf(" ulRecverId=%d,pDta=%p,dtaSize=%d!\n",ulRecverId,pDta,dtaSize); } else { ret = ERR_MSP_SUCCESS; } } return ret; }
VOS_VOID Om_AcpuQueryDumpMsgProc(MsgBlock* pMsg) { BBP_DUMP_MSG_STRU *pstBbpDumpMsg; VOS_UINT16 usPrimId; usPrimId = *(VOS_UINT16*)(pMsg->aucValue); if (BBP_QUERY_DUMP_INFO_REQ == usPrimId) { /* 申请消息发送给CCPU */ pstBbpDumpMsg = (BBP_DUMP_MSG_STRU*)VOS_AllocMsg(ACPU_PID_PAM_OM, sizeof(BBP_DUMP_MSG_STRU) - VOS_MSG_HEAD_LENGTH); /* 分配消息失败 */ if (VOS_NULL_PTR == pstBbpDumpMsg) { return; } pstBbpDumpMsg->ulReceiverPid = CCPU_PID_PAM_OM; pstBbpDumpMsg->usPrimId = BBP_QUERY_DUMP_INFO_CNF; pstBbpDumpMsg->stDumpDdrInfo.ulPhyAddr = g_stBbpDumpFixDdr.ulPhyAddr; pstBbpDumpMsg->stDumpDdrInfo.ulPhySize = g_stBbpDumpFixDdr.ulPhySize; (VOS_VOID)VOS_SendMsg(ACPU_PID_PAM_OM, pstBbpDumpMsg); } return; }
VOS_UINT32 SI_PIH_HvsContQuery(MN_CLIENT_ID_T ClientId, MN_OPERATION_ID_T OpId) { SI_PIH_HVS_QRY_REQ_STRU *pstMsg; VOS_UINT32 ulReceiverPid; if (VOS_OK != SI_PIH_GetReceiverPid(ClientId, &ulReceiverPid)) { PIH_ERROR_LOG("SI_PIH_HvsContQuery:Get ulReceiverPid Error."); return TAF_FAILURE; } pstMsg = (SI_PIH_HVS_QRY_REQ_STRU *)VOS_AllocMsg(WUEPS_PID_AT, sizeof(SI_PIH_HVS_QRY_REQ_STRU) - VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pstMsg) { PIH_WARNING_LOG("SI_PIH_HvsContQuery: AllocMsg FAILED"); return TAF_FAILURE; } pstMsg->stMsgHeader.ulReceiverPid = ulReceiverPid; pstMsg->stMsgHeader.ulMsgName = SI_PIH_HVSCONT_QRY_REQ; pstMsg->stMsgHeader.usClient = ClientId; pstMsg->stMsgHeader.ucOpID = OpId; pstMsg->stMsgHeader.ulEventType = SI_PIH_EVENT_HVSCONT_QUERY_CNF; if(VOS_OK != VOS_SendMsg(WUEPS_PID_AT, pstMsg)) { PIH_WARNING_LOG("SI_PIH_HvsContQuery:WARNING SendMsg FAILED"); return TAF_FAILURE; } return TAF_SUCCESS; }
VOS_VOID SI_PIH_TEETimeOutCB (TEEC_TIMER_PROPERTY_STRU *pstTimerData) { MN_APP_PIH_AT_CNF_STRU *pstMsg; pstMsg = (MN_APP_PIH_AT_CNF_STRU*)VOS_AllocMsg(MAPS_PIH_PID, sizeof(MN_APP_PIH_AT_CNF_STRU)-VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pstMsg) { PIH_ERROR_LOG("SI_PIH_TEETimeOutCB: Alloc Msg Failed!"); return ; } pstMsg->stPIHAtEvent.EventType = SI_PIH_EVENT_TEETIMEOUT_IND; pstMsg->stPIHAtEvent.PIHError = TAF_ERR_NO_ERROR; pstMsg->stPIHAtEvent.PIHEvent.TEETimeOut.ulData = pstTimerData->time_type; pstMsg->ulReceiverPid = WUEPS_PID_AT; pstMsg->ulMsgId = PIH_AT_EVENT_CNF; pstMsg->stPIHAtEvent.ClientId = (MN_CLIENT_ALL&AT_BROADCAST_CLIENT_ID_MODEM_0); (VOS_VOID)VOS_SendMsg(MAPS_PIH_PID, pstMsg); return ; }
VOS_VOID USIMM_ResetCnf(VOS_UINT32 ulReceiverPid, USIMM_REFRESH_TYPE_ENUM_UINT32 enRefreshType, VOS_UINT32 ulResult, VOS_UINT16 usSATLen) { PS_USIM_REFRESH_CNF_STRU *pUsimMsg; pUsimMsg = (PS_USIM_REFRESH_CNF_STRU*)VOS_AllocMsg(WUEPS_PID_USIM, sizeof(PS_USIM_REFRESH_CNF_STRU)-VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pUsimMsg) { USIMM_ERROR_LOG("USIMM_ResetCnf: VOS_AllocMsg is Failed"); return; } pUsimMsg->ulReceiverPid = ulReceiverPid; pUsimMsg->ulMsgName = PS_USIM_REFRESH_CNF; pUsimMsg->enRefreshType = enRefreshType; pUsimMsg->ulResult = ulResult; pUsimMsg->ulSatLen = usSATLen; (VOS_VOID)VOS_SendMsg(pUsimMsg->ulSenderPid, pUsimMsg); return; }
VOS_VOID USIMM_AccessChannelCnf(VOS_UINT32 ulReceiverPid, VOS_UINT32 ulResult, VOS_UINT32 ulErrCode, USIMM_ACCESS_CHANNEL_CNF_STRU *pstDataCnf) { PS_USIM_ACCESS_CHANNEL_CNF_STRU *pstUsimMsg = VOS_NULL_PTR; pstUsimMsg = (PS_USIM_ACCESS_CHANNEL_CNF_STRU *)VOS_AllocMsg(WUEPS_PID_USIM, sizeof(PS_USIM_ACCESS_CHANNEL_CNF_STRU) - VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pstUsimMsg) { USIMM_ERROR_LOG("USIMM_AccessChannelCnf: VOS_AllocMsg is Failed"); return; } pstUsimMsg->ulReceiverPid = ulReceiverPid; pstUsimMsg->ulMsgName = PS_USIMM_ACCESSCHANNEL_CNF; pstUsimMsg->ulResult = ulResult; pstUsimMsg->ulErrCode = ulErrCode; pstUsimMsg->ucSw1 = pstDataCnf->ucSw1; pstUsimMsg->ucSw2 = pstDataCnf->ucSw2; pstUsimMsg->usLen = pstDataCnf->usDataLen; if (VOS_NULL != pstDataCnf->usDataLen) { VOS_MemCpy(pstUsimMsg->aucContent, pstDataCnf->pucData, pstDataCnf->usDataLen); } (VOS_VOID)VOS_SendMsg(pstUsimMsg->ulSenderPid, pstUsimMsg); return; }
VOS_UINT32 CBT_SendData(CBT_UNIFORM_MSG_STRU * pucMsg, VOS_UINT16 usMsgLen) { CBT_CTOA_MSG_STRU *pstCbtMsg; /* 链路未建立 */ if (CBT_STATE_IDLE == g_ulCbtSwitchOnOff) { /* 记录可维可测信息 */ return VOS_ERR; } /* 将消息发到A核OM处理 */ pstCbtMsg = (CBT_CTOA_MSG_STRU *)VOS_AllocMsg(CCPU_PID_CBT, usMsgLen + 2*sizeof(VOS_UINT16)); if (VOS_NULL_PTR == pstCbtMsg) { return VOS_ERR; } pstCbtMsg->ulReceiverPid = ACPU_PID_CBT; pstCbtMsg->usPrimId = CBT_CCPU_TO_ACPU_SEND_DATA_REQ; pstCbtMsg->usLen = usMsgLen; /*lint -e534*/ VOS_MemCpy(pstCbtMsg->aucData, pucMsg, usMsgLen); /*lint +e534*/ return VOS_SendMsg(CCPU_PID_CBT, pstCbtMsg); }
VOS_VOID USIMM_CloseChannelCnf(VOS_UINT32 ulReceiverPid, VOS_UINT32 ulResult, VOS_UINT32 ulErrCode) { PS_USIM_CLOSE_CHANNEL_CNF_STRU *pstUsimMsg = VOS_NULL_PTR; pstUsimMsg = (PS_USIM_CLOSE_CHANNEL_CNF_STRU *)VOS_AllocMsg(WUEPS_PID_USIM, sizeof(PS_USIM_CLOSE_CHANNEL_CNF_STRU) - VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pstUsimMsg) { USIMM_ERROR_LOG("USIMM_CloseChannelCnf: VOS_AllocMsg is Failed"); return; } pstUsimMsg->ulReceiverPid = ulReceiverPid; pstUsimMsg->ulMsgName = PS_USIMM_CLOSECHANNEL_CNF; pstUsimMsg->ulResult = ulResult; pstUsimMsg->ulErrCode = ulErrCode; (VOS_VOID)VOS_SendMsg(pstUsimMsg->ulSenderPid, pstUsimMsg); return; }
VOS_VOID USIMM_EccNumberInd(VOS_UINT8 ucEccType, VOS_UINT16 usEfLen, VOS_UINT8 ucRecordNum, VOS_UINT8 *pucData) { PS_USIM_ECC_IND_STRU *pUsimMsg; pUsimMsg = (PS_USIM_ECC_IND_STRU*)VOS_AllocMsg(WUEPS_PID_USIM, (sizeof(PS_USIM_ECC_IND_STRU)-VOS_MSG_HEAD_LENGTH)+usEfLen); if (VOS_NULL_PTR == pUsimMsg) { return; } pUsimMsg->ulReceiverPid = MAPS_PB_PID; /*填写PB的PID*/ pUsimMsg->ulMsgName = PS_USIM_ECCNUMBER_IND; pUsimMsg->ucEccType = ucEccType; pUsimMsg->ucRecordNum = ucRecordNum; pUsimMsg->usFileSize = usEfLen; if(0 != usEfLen) { VOS_MemCpy(pUsimMsg->ucContent, pucData, usEfLen); } (VOS_VOID)VOS_SendMsg(pUsimMsg->ulSenderPid, pUsimMsg); return; }
VOS_VOID TAF_XSMS_SndXccAnswerCallReq(VOS_UINT8 ucCallId) { CSMS_XCC_ANSWER_CALL_REQ_STRU *pstAnswerCallMsg; /* 分配消息 */ pstAnswerCallMsg = (CSMS_XCC_ANSWER_CALL_REQ_STRU *)VOS_AllocMsg(UEPS_PID_XSMS, (sizeof(CSMS_XCC_ANSWER_CALL_REQ_STRU) - VOS_MSG_HEAD_LENGTH)); if (VOS_NULL_PTR == pstAnswerCallMsg) { return; } pstAnswerCallMsg->ulSenderCpuId = VOS_LOCAL_CPUID; pstAnswerCallMsg->ulReceiverPid = UEPS_PID_XCC; pstAnswerCallMsg->ulReceiverCpuId = VOS_LOCAL_CPUID; pstAnswerCallMsg->ulSenderPid = UEPS_PID_XSMS; /*消息填充*/ pstAnswerCallMsg->enMsgId = ID_CSMS_XCC_ANSWER_CALL_REQ; pstAnswerCallMsg->ucCallId = ucCallId; pstAnswerCallMsg->usOpId = 0; /* 发送消息 */ (VOS_VOID)VOS_SendMsg(UEPS_PID_XSMS, pstAnswerCallMsg); return; }
VOS_VOID USIMM_SearchHandleCnf(VOS_UINT32 ulReceiverPid, VOS_UINT32 ulErrorCode, USIMM_SEARCHCNF_INFO_STRU *pstCnfInfo) { PS_USIM_SEARCH_CNF_STRU *pUsimMsg; pUsimMsg = (PS_USIM_SEARCH_CNF_STRU *)VOS_AllocMsg(WUEPS_PID_USIM, (sizeof(PS_USIM_SEARCH_CNF_STRU) - VOS_MSG_HEAD_LENGTH) + pstCnfInfo->ulLen); if (VOS_NULL_PTR == pUsimMsg) { USIMM_ERROR_LOG("USIMM_SearchHandleCnf: VOS_AllocMsg is Failed"); return; } pUsimMsg->ulReceiverPid = ulReceiverPid; pUsimMsg->ulMsgName = PS_USIM_SEARCH_CNF; pUsimMsg->ulErrorCode = ulErrorCode; pUsimMsg->usTotalRecNum = pstCnfInfo->usTotalRecNum; pUsimMsg->usEfId = pstCnfInfo->usEfid; pUsimMsg->ulResult = ulErrorCode; pUsimMsg->ucLen = 0; if ((VOS_NULL_PTR != pstCnfInfo->pucData) && (pstCnfInfo->ulLen <= 255)) { VOS_MemCpy(pUsimMsg->aucContent, pstCnfInfo->pucData, pstCnfInfo->ulLen); pUsimMsg->ucLen = (VOS_UINT8)pstCnfInfo->ulLen; } (VOS_VOID)VOS_SendMsg(pUsimMsg->ulSenderPid, pUsimMsg); return; }
/***************************************************************************** 函 数 名 : FC_ACORE_CResetProc 功能描述 : FcACore收到底软C核复位过程处理模块发来的复位及复位成功的通知后的处理函数 输入参数 : FC_ACORE_CRESET_MOMENT_ENUM_UINT8 enCResetMoment 指示时复位处理前还是复位成功后 输出参数 : 无 返 回 值 : VOS_OK/VOS_ERR 调用函数 : 被调函数 : 修改历史 : 1.日 期 : 2013年4月22日 作 者 : caikai 修改内容 : 新生成函数 *****************************************************************************/ VOS_UINT32 FC_ACORE_CResetProc(FC_ACORE_CRESET_MOMENT_ENUM_UINT8 enCResetMoment) { VOS_UINT32 ulFcPointLoop; FC_POINT_STRU *pFcPoint; VOS_UINT32 ulResult; FC_MSG_TYPE_ENUM_UINT16 usMsgName; FC_ACORE_CRESET_RSP_STRU *pstMsg; VOS_UINT32 ulRspResult; ulRspResult = 0; if ( FC_ACORE_CRESET_BEFORE_RESET == enCResetMoment ) { usMsgName = ID_FC_ACORE_CRESET_START_RSP; /* 复位处理时遍历每个流控点,执行流控点上外部模块注册的reset函数 */ for ( ulFcPointLoop = 0; ulFcPointLoop < g_stFcPointMgr.ulPointNum; ulFcPointLoop++ ) { pFcPoint = &g_stFcPointMgr.astFcPoint[ulFcPointLoop]; if ( pFcPoint->pRstFunc != VOS_NULL_PTR ) { ulResult = pFcPoint->pRstFunc(pFcPoint->ulParam1, pFcPoint->ulParam2); ulRspResult |= ulResult ; FC_MNTN_TracePointFcEvent(ID_FC_MNTN_ACORE_CRESET_START_FC, pFcPoint, VOS_TRUE, ulResult); } } } else if ( FC_ACORE_CRESET_AFTER_RESET == enCResetMoment ) { usMsgName = ID_FC_ACORE_CRESET_END_RSP; } else { FC_LOG(PS_PRINT_ERROR,"FC_ACORE_CResetProc, enCResetMoment invalid !\n"); return VOS_ERR; } /* 申请消息内存: */ pstMsg = (FC_ACORE_CRESET_RSP_STRU *) VOS_AllocMsg( UEPS_PID_FLOWCTRL_A, sizeof(FC_ACORE_CRESET_RSP_STRU) - VOS_MSG_HEAD_LENGTH ); if(VOS_NULL_PTR == pstMsg) { FC_LOG(PS_PRINT_ERROR,"FC_ACORE_CResetProc, Alloc Msg Fail\n"); return VOS_ERR; } /*填写消息内容:*/ pstMsg->ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->ulReceiverPid = UEPS_PID_FLOWCTRL_A; pstMsg->usMsgName = usMsgName; pstMsg->ulResult = ulRspResult; /*发送消息:*/ VOS_SendMsg(UEPS_PID_FLOWCTRL, pstMsg); return VOS_OK; }
VOS_UINT32 FC_TEMPERATURE_SndCtrlMsg ( FC_MSG_TYPE_ENUM_UINT16 usMsgName ) { VOS_UINT32 ulResult; FC_TEMPERATURE_IND_STRU *pstMsg; pstMsg = (FC_TEMPERATURE_IND_STRU *)VOS_AllocMsg(UEPS_PID_FLOWCTRL, \ sizeof(FC_TEMPERATURE_IND_STRU) - VOS_MSG_HEAD_LENGTH); if(VOS_NULL_PTR == pstMsg) { FC_LOG(PS_PRINT_ERROR, "FC_SndIntraTemperatureMsg, Alloc Msg Fail\n"); return VOS_ERR; } pstMsg->ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->ulReceiverPid = UEPS_PID_FLOWCTRL; pstMsg->usMsgName = usMsgName; ulResult = VOS_SendMsg(UEPS_PID_FLOWCTRL, pstMsg); if (VOS_OK != ulResult) { FC_LOG(PS_PRINT_ERROR,"FC_SndIntraTemperatureMsg, Send Msg Fail\n"); return VOS_ERR; } return VOS_OK; }
VOS_VOID OM_ErrorLogProc(MsgBlock* pMsg) { ERRORLOG_REQ_STRU *pstErrorLogReq; ERRORLOG_CNF_STRU *pstErrorLogCnf; VOS_UINT32 ulResult; pstErrorLogCnf = (ERRORLOG_CNF_STRU*)VOS_AllocMsg(CCPU_PID_OMAGENT, sizeof(ERRORLOG_CNF_STRU) - VOS_MSG_HEAD_LENGTH); /* 分配消息失败 */ if (VOS_NULL_PTR == pstErrorLogCnf) { return; } pstErrorLogReq = (ERRORLOG_REQ_STRU*)pMsg; /* 执行ACPU发来的ErrorLog请求 */ ulResult = MNTN_ErrorLog((VOS_CHAR*)pstErrorLogReq->aucFileName, pstErrorLogReq->ulFileId, pstErrorLogReq->ulLine, pstErrorLogReq->ulErrNo, pstErrorLogReq->aucData, pstErrorLogReq->ulLen); pstErrorLogCnf->ulReceiverPid = ACPU_PID_OMAGENT; pstErrorLogCnf->usPrimId = ERRORLOG_CNF; pstErrorLogCnf->usResult = (VOS_UINT16)ulResult; (VOS_VOID)VOS_SendMsg(CCPU_PID_OMAGENT, pstErrorLogCnf); return; }
VOS_VOID OM_SdConfigProc(MsgBlock* pMsg) { OM_AUTOCONFIG_CNF_STRU *pstSdConfigCnf; pstSdConfigCnf = (OM_AUTOCONFIG_CNF_STRU*)VOS_AllocMsg(CCPU_PID_OMAGENT, sizeof(OM_AUTOCONFIG_CNF_STRU) - VOS_MSG_HEAD_LENGTH); /* 分配消息失败 */ if (VOS_NULL_PTR == pstSdConfigCnf) { return; } pstSdConfigCnf->ulReceiverPid = ACPU_PID_OMAGENT; pstSdConfigCnf->usPrimId = OM_AUTOCONFIG_CNF; (VOS_VOID)VOS_SendMsg(CCPU_PID_OMAGENT, pstSdConfigCnf); #if (RAT_GU == RAT_MODE) /* PID初始化完后,查看是否是升级后,是则errorlog需要写版本信息 */ if (VOS_OK == NV_RestoreResult()) { MNTN_RecordVersionInfo(); } #endif return; }
VOS_UINT32 SI_PB_FdnNumCheck(VOS_UINT32 ulPid, VOS_UINT32 ulContextIndex,VOS_UINT32 ulSendPara, PS_PB_FDN_NUM_STRU *pstFdnInfo) { SI_PB_FDN_CHECK_REQ_STRU *pstFDNCheckReq; /*参数检查*/ if (VOS_NULL_PTR == pstFdnInfo) { PB_ERROR_LOG("SI_PB_FdnNumCheck: fdn num is null.\r\n"); return VOS_ERR; } pstFDNCheckReq = (SI_PB_FDN_CHECK_REQ_STRU*)VOS_AllocMsg(ulPid, sizeof(SI_PB_FDN_CHECK_REQ_STRU)-VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pstFDNCheckReq) { PB_ERROR_LOG("SI_PB_FdnNumCheck: alloc msg failed.\r\n"); return VOS_ERR; } /*拷贝号码*/ VOS_MemCpy(&pstFDNCheckReq->stFDNNum, pstFdnInfo, sizeof(PS_PB_FDN_NUM_STRU)); pstFDNCheckReq->ulReceiverPid = MAPS_PB_PID; pstFDNCheckReq->ulMsgName = SI_PB_FDN_CHECK_REQ; pstFDNCheckReq->ulSendPara = ulSendPara; pstFDNCheckReq->ulContextIndex = ulContextIndex; (VOS_VOID)VOS_SendMsg(ulPid, pstFDNCheckReq); return VOS_OK; }
VOS_UINT32 atSendFtmDataMsg(VOS_UINT32 TaskId, VOS_UINT32 MsgId, VOS_UINT32 ulClientId, VOS_VOID* pData, VOS_UINT32 uLen) { VOS_UINT32 u32Ret = ERR_MSP_UNKNOWN; AT_FW_DATA_MSG_STRU* pMsgBlock = NULL; pMsgBlock = (AT_FW_DATA_MSG_STRU*)VOS_AllocMsg(WUEPS_PID_AT,(sizeof(AT_FW_DATA_MSG_STRU)+ uLen - 20)); if (pMsgBlock) { pMsgBlock->ulReceiverPid = TaskId; pMsgBlock->ulSenderPid = WUEPS_PID_AT; pMsgBlock->ulLength = sizeof(AT_FW_DATA_MSG_STRU)+ uLen - 20; pMsgBlock->ulMsgId = MsgId; pMsgBlock->ulClientId = ulClientId; pMsgBlock->ulLen = uLen; MSP_MEMCPY(pMsgBlock->pContext, pData, uLen); u32Ret = VOS_SendMsg(pMsgBlock->ulSenderPid, pMsgBlock); if (u32Ret == VOS_OK) { u32Ret = ERR_MSP_SUCCESS; } } return u32Ret; }
/***************************************************************************** 函 数 名 : SI_PB_Query 功能描述 : 电话本号码查询 输入参数 : 无 输出参数 : 无 返 回 值 : SI_UINT32 函数执行结果 调用函数 : 无 被调函数 : 外部接口 History : 1.日 期 : 2008年10月14日 修改内容 : Create *****************************************************************************/ SI_UINT32 SI_PB_Query( MN_CLIENT_ID_T ClientId, MN_OPERATION_ID_T OpId) { #if (( FEATURE_MULTI_MODEM == FEATURE_ON )&&(!defined(DMT))) return TAF_FAILURE; #else SI_PB_QUERY_REQ_STRU *pMsg; pMsg = (SI_PB_QUERY_REQ_STRU *)VOS_AllocMsg(WUEPS_PID_AT, sizeof(SI_PB_QUERY_REQ_STRU) - VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pMsg) { PB_ERROR_LOG("SI_PB_Query:VOS_AllocMsg Failed"); return TAF_FAILURE; } pMsg->ulReceiverPid = MAPS_PB_PID; pMsg->ulMsgName = SI_PB_QUERY_REQ; pMsg->usClient = ClientId; pMsg->ucOpID = OpId; pMsg->ulStorage = gstPBCtrlInfo.enPBCurType; if(VOS_OK != VOS_SendMsg(WUEPS_PID_AT, pMsg)) { PB_ERROR_LOG("SI_PB_Query:VOS_SendMsg Failed"); return TAF_FAILURE; } return TAF_SUCCESS; #endif }
/***************************************************************************** 函 数 名 : FC_ACORE_CResetSendNotify 功能描述 : 底软C核复位过程模块通知FcACore进行复位处理或者发送复位成功的通知 输入参数 : FC_MSG_TYPE_ENUM_UINT16 usMsgName 消息名称 输出参数 : 无 返 回 值 : VOS_OK/VOS_ERR 调用函数 : 被调函数 : 修改历史 : 1.日 期 : 2013年4月22日 作 者 : caikai 修改内容 : 新生成函数 *****************************************************************************/ VOS_UINT32 FC_ACORE_CResetSendNotify(FC_MSG_TYPE_ENUM_UINT16 usMsgName) { FC_ACORE_CRESET_IND_STRU *pstMsg; /* 申请消息内存 */ pstMsg = (FC_ACORE_CRESET_IND_STRU *) VOS_AllocMsg( UEPS_PID_FLOWCTRL_A, sizeof(FC_ACORE_CRESET_IND_STRU) - VOS_MSG_HEAD_LENGTH ); if ( VOS_NULL_PTR == pstMsg ) { FC_LOG(PS_PRINT_ERROR,"FC_ACORE_CResetSendNotify, Alloc Msg Fail\n"); return VOS_ERR; } /* 填写消息内容 */ pstMsg->ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->ulReceiverPid = UEPS_PID_FLOWCTRL_A; pstMsg->usMsgName = usMsgName; /* 发送消息 */ VOS_SendMsg(UEPS_PID_FLOWCTRL, pstMsg); return VOS_OK; }
SI_UINT32 SI_PB_Modify( MN_CLIENT_ID_T ClientId, MN_OPERATION_ID_T OpId, SI_PB_STORATE_TYPE Storage, SI_PB_RECORD_STRU *pRecord ) { SI_PB_MODIFY_REP_STRU *pMsg; VOS_UINT32 ulReceiverPid; if (VOS_OK != SI_PB_GetReceiverPid(ClientId, &ulReceiverPid)) { PB_ERROR_LOG("SI_PB_Modify:Get ulReceiverPid Error."); return TAF_FAILURE; } if(VOS_NULL_PTR == pRecord) { PB_ERROR_LOG("SI_PB_Modify:pRecord is a NULL pointer"); return TAF_FAILURE; } pMsg = (SI_PB_MODIFY_REP_STRU *)VOS_AllocMsg(WUEPS_PID_AT, sizeof(SI_PB_MODIFY_REP_STRU) - VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pMsg) { PB_ERROR_LOG("SI_PB_Modify:VOS_AllocMsg Failed"); return TAF_FAILURE; } pMsg->ulReceiverPid = ulReceiverPid; pMsg->ulMsgName = SI_PB_MODIFY_REQ; pMsg->usClient = ClientId; pMsg->ucOpID = OpId; #if( FEATURE_MULTI_MODEM == FEATURE_ON ) pMsg->ulStorage = SI_PB_STORAGE_FD; /*只能够操作FDN号码*/ #else if(SI_PB_STORAGE_UNSPECIFIED == Storage) { pMsg->ulStorage = gstPBCtrlInfo.enPBCurType; } else { pMsg->ulStorage = Storage; } #endif VOS_MemCpy(&pMsg->Record, pRecord, sizeof(SI_PB_RECORD_STRU)); if(VOS_OK != VOS_SendMsg(WUEPS_PID_AT, pMsg)) { PB_ERROR_LOG("SI_PB_Modify:VOS_SendMsg Failed"); return TAF_FAILURE; } return TAF_SUCCESS; }
VOS_VOID USIMM_PinHandleCnf(VOS_UINT32 ulReceiverPid, USIMM_PIN_CMD_TYPE_ENUM_UINT32 enCmdType, USIMM_PIN_TYPE_ENUM_UINT32 enPINType, VOS_UINT32 ulResult, USIMM_PIN_INFO_STRU *pstPINinfo) { PS_USIM_PIN_CNF_STRU *pUsimMsg; pUsimMsg = (PS_USIM_PIN_CNF_STRU*)VOS_AllocMsg(WUEPS_PID_USIM, sizeof(PS_USIM_PIN_CNF_STRU)-VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pUsimMsg) { USIMM_ERROR_LOG("USIMM_PinHandleCnf: VOS_AllocMsg is Failed"); return; } pUsimMsg->ulReceiverPid = ulReceiverPid; pUsimMsg->ulMsgName = PS_USIM_PIN_OPERATE_RSP; pUsimMsg->ulResult = ulResult; pUsimMsg->enCmdType = enCmdType; pUsimMsg->enPinType = enPINType; VOS_MemCpy(&pUsimMsg->stPinInfo, pstPINinfo, sizeof(USIMM_PIN_INFO_STRU)); (VOS_VOID)VOS_SendMsg(pUsimMsg->ulSenderPid, pUsimMsg); return; }
VOS_UINT32 SI_STK_CLSndTrMsg( VOS_UINT32 ulDataLen, VOS_UINT8 *pucData) { SI_STK_REQ_STRU *pstSTKReq; pstSTKReq = (SI_STK_REQ_STRU *)VOS_AllocMsg(MAPS_STK_PID, sizeof(SI_STK_REQ_STRU) - VOS_MSG_HEAD_LENGTH + ulDataLen); if (VOS_NULL_PTR == pstSTKReq) { STK_ERROR_LOG("SI_STK_CLSndTrMsg: VOS_AllocMsg Return Error"); return VOS_ERR; } pstSTKReq->MsgName = SI_STK_VIA_TRDOWN; pstSTKReq->ulReceiverPid = MAPS_STK_PID; pstSTKReq->OpId = 0; pstSTKReq->ClientId = 0; pstSTKReq->SatType = SI_STK_TRSEND; pstSTKReq->Datalen = ulDataLen; if (VOS_NULL != ulDataLen) { /*lint -e534*/ VOS_MemCpy(pstSTKReq->Data, pucData, ulDataLen); /*lint +e534*/ } if (VOS_OK != VOS_SendMsg(MAPS_STK_PID, pstSTKReq)) { return VOS_ERR; } return VOS_OK; }
VOS_UINT32 SI_STKDualIMSIChangeReq( MN_CLIENT_ID_T ClientId, MN_OPERATION_ID_T OpId) { #if (( FEATURE_MULTI_MODEM == FEATURE_ON )&&(!defined(DMT))) return TAF_FAILURE; #else SI_STK_REQ_STRU *pstSTKReq; pstSTKReq = (SI_STK_REQ_STRU *)VOS_AllocMsg(WUEPS_PID_AT, sizeof(SI_STK_REQ_STRU)-VOS_MSG_HEAD_LENGTH); if(VOS_NULL_PTR ==pstSTKReq) { STK_ERROR_LOG("SI_STKDualIMSIChangeReq: VOS_AllocMsg Return Error"); return VOS_ERR; } pstSTKReq->ClientId = ClientId; pstSTKReq->OpId = OpId; pstSTKReq->MsgName = SI_STK_IMSICHG; pstSTKReq->ulReceiverPid = MAPS_STK_PID; if(VOS_OK != VOS_SendMsg(MAPS_STK_PID, pstSTKReq)) { STK_ERROR_LOG("SI_STKDualIMSIChangeReq: VOS_SendMsg Return Error"); return VOS_ERR; } return VOS_OK; #endif }
/***************************************************************************** 函 数 名 : OM_Acpu_WriteLogFile 功能描述 : 将错误信息记录到ERRORLOG中 输入参数 : cFileName: log文件名,包含路径信息 pRecord: 记录数据内容 ulLen: 记录数据长度 输出参数 : VOID 返 回 值 : 其他:函数执行过程中出现错误 VOS_OK:函数执行正常 修改历史 : 1.日 期 : 2012年5月8日 作 者 : zhuli 修改内容 : 新生成函数 *****************************************************************************/ VOS_UINT32 OM_Acpu_WriteLogFile(VOS_CHAR * cFileName, void *pRecord, VOS_UINT32 ulLen) { OM_WRITELOG_REQ_STRU *pstLogReq; /* 参数检测 */ if ((VOS_NULL_PTR == cFileName) || (VOS_NULL_PTR == pRecord)) { return OM_ACPU_PARA_ERR; } pstLogReq = (OM_WRITELOG_REQ_STRU*)VOS_AllocMsg(ACPU_PID_OMAGENT, (sizeof(OM_WRITELOG_REQ_STRU)-VOS_MSG_HEAD_LENGTH)+ulLen); /* 分配消息失败 */ if (VOS_NULL_PTR == pstLogReq) { return OM_ACPU_ALLOC_FAIL; } pstLogReq->ulReceiverPid = CCPU_PID_OMAGENT; pstLogReq->usPrimId = OM_WRITE_LOG_REQ; pstLogReq->ulLen = ulLen; /* 为了确保aucFileName最后字节为'\0',拷贝长度需要加1 */ VOS_MemCpy(pstLogReq->aucFileName, cFileName, VOS_StrLen(cFileName)+1); VOS_MemCpy(pstLogReq->aucData, pRecord, ulLen); /* 将请求消息发送给CCPU */ if (VOS_OK != VOS_SendMsg(ACPU_PID_OMAGENT, pstLogReq)) { return OM_ACPU_SEND_FAIL; } return VOS_OK; }
VOS_VOID USIMM_TelecomAuthCnf(USIMM_AUTH_REQ_STRU *pstMsg, USIMM_TELECOM_AUTH_INFO_STRU *pstCnfInfo) { USIMM_AUTH_CNF_STRU *pstCnfMsg; /* 分配消息内存 */ pstCnfMsg = (USIMM_AUTH_CNF_STRU*)VOS_AllocMsg(WUEPS_PID_USIM, sizeof(USIMM_AUTH_CNF_STRU)-VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pstCnfMsg) { USIMM_ERROR_LOG("USIMM_TelecomAuthCnf: VOS_AllocMsg is Failed"); return; } VOS_MemSet((VOS_UINT8*)pstCnfMsg + VOS_MSG_HEAD_LENGTH, 0, pstCnfMsg->ulLength); pstCnfMsg->ulReceiverPid = pstMsg->ulSenderPid; pstCnfMsg->ulMsgName = PS_USIM_AUTHENTICATION_CNF; pstCnfMsg->enAppType = pstMsg->enAppType; pstCnfMsg->enAuthType = pstMsg->enAuthType; pstCnfMsg->ucOpId = pstMsg->ucOpId; pstCnfMsg->enResult = pstCnfInfo->enResult; if ((VOS_NULL_PTR != pstCnfInfo->pucIK) && (sizeof(pstCnfMsg->cnfdata.stTELECnf.aucIK) > pstCnfInfo->pucIK[0])) { VOS_MemCpy(pstCnfMsg->cnfdata.stTELECnf.aucIK, pstCnfInfo->pucIK, pstCnfInfo->pucIK[0] + 1); } if ((VOS_NULL_PTR != pstCnfInfo->pucCK) && (sizeof(pstCnfMsg->cnfdata.stTELECnf.aucCK) > pstCnfInfo->pucCK[0])) { VOS_MemCpy(pstCnfMsg->cnfdata.stTELECnf.aucCK, pstCnfInfo->pucCK, pstCnfInfo->pucCK[0] + 1); } if ((VOS_NULL_PTR != pstCnfInfo->pucGsmKC) && (sizeof(pstCnfMsg->cnfdata.stTELECnf.aucGsmKc) > pstCnfInfo->pucGsmKC[0])) { VOS_MemCpy(pstCnfMsg->cnfdata.stTELECnf.aucGsmKc, pstCnfInfo->pucGsmKC, pstCnfInfo->pucGsmKC[0] + 1); } if ((VOS_NULL_PTR != pstCnfInfo->pucAuts) && (sizeof(pstCnfMsg->cnfdata.stTELECnf.aucAuts) > pstCnfInfo->pucAuts[0])) { VOS_MemCpy(pstCnfMsg->cnfdata.stTELECnf.aucAuts, pstCnfInfo->pucAuts, pstCnfInfo->pucAuts[0] + 1); } if ((VOS_NULL_PTR != pstCnfInfo->pucAuthRes) && (sizeof(pstCnfMsg->cnfdata.stTELECnf.aucAuthRes) > pstCnfInfo->pucAuthRes[0])) { VOS_MemCpy(pstCnfMsg->cnfdata.stTELECnf.aucAuthRes, pstCnfInfo->pucAuthRes, pstCnfInfo->pucAuthRes[0] + 1); } /* 回复消息 */ (VOS_VOID)VOS_SendMsg(pstCnfMsg->ulSenderPid, pstCnfMsg); return; }
VOS_UINT32 diag_AgentMsgProcInit(enum VOS_INIT_PHASE_DEFINE ip) { VOS_UINT32 ret = ERR_MSP_SUCCESS; #if(FEATURE_SOCP_ON_DEMAND == FEATURE_ON) DIAG_MSG_SOCP_VOTE_REQ_STRU * voteReq; #endif if (ip == VOS_IP_RESTART) { DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_AGENT_INIT,ret,0,0); /*DIAG SOCP BUF初始化*/ ret = diag_BufCtrlGlobalInit(); if(ret != ERR_MSP_SUCCESS) { DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_AGENT_INIT_ERROR,ret,0,0); return ret; } /*设置DIAG初始化bit*/ ret = diag_CfgSetGlobalBitValue(&g_ulDiagCfgInfo,DIAG_CFG_INIT_BIT,DIAG_CFG_SWT_OPEN); if(ret != ERR_MSP_SUCCESS) { DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_AGENT_INIT_ERROR,ret,0,1); return ret; } #if(FEATURE_SOCP_ON_DEMAND == FEATURE_ON) #if 0 if(ERR_MSP_SUCCESS != VOS_SmBCreate(NULL, 0, VOS_SEMA4_FIFO, &g_diagAgentSem)) { diag_printf("[%s]:agent sem init err!\n",__FUNCTION__); return ERR_MSP_FAILURE; } #endif voteReq = (DIAG_MSG_SOCP_VOTE_REQ_STRU *)VOS_AllocMsg(MSP_PID_DIAG_AGENT,(sizeof(DIAG_MSG_SOCP_VOTE_REQ_STRU) - 20)); if(voteReq == NULL) { DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_AGENT_INIT_ERROR,ERR_MSP_FAILURE,2,2); return ERR_MSP_FAILURE; } voteReq->ulReceiverPid = MSP_PID_DIAG_APP_AGENT; voteReq->ulSenderPid = MSP_PID_DIAG_AGENT; voteReq->ulLength = sizeof(DIAG_MSG_SOCP_VOTE_REQ_STRU) - 20; voteReq->ulVoteId = SOCP_VOTE_DIAG_COMM; voteReq->ulVoteType = SOCP_VOTE_FOR_SLEEP; ret = VOS_SendMsg(MSP_PID_DIAG_AGENT, voteReq); if(ret != ERR_MSP_SUCCESS) { DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_AGENT_INIT_ERROR,ret,3,2); return ret; } #endif } return ret; }
SI_UINT32 SI_PB_SAdd( MN_CLIENT_ID_T ClientId, MN_OPERATION_ID_T OpId, SI_PB_STORATE_TYPE Storage, SI_PB_RECORD_STRU *pRecord) { #if (( FEATURE_MULTI_MODEM == FEATURE_ON )&&(!defined(DMT))) return TAF_FAILURE; #else SI_PB_ADD_REP_STRU *pMsg; if(VOS_NULL_PTR == pRecord) { PB_ERROR_LOG("SI_PB_Add:pRecord is a NULL pointer"); return TAF_FAILURE; } /*lint -e433 修改人: j00174725; 检视人: xucheng */ pMsg = (SI_PB_ADD_REP_STRU *)VOS_AllocMsg(WUEPS_PID_AT, sizeof(SI_PB_ADD_REP_STRU) - VOS_MSG_HEAD_LENGTH); /*lint +e433 修改人: j00174725; 检视人: xucheng */ if (VOS_NULL_PTR == pMsg) { PB_ERROR_LOG("SI_PB_Add:VOS_AllocMsg Failed"); return TAF_FAILURE; } pMsg->ulReceiverPid = MAPS_PB_PID; pMsg->ulMsgName = SI_PB_SADD_REQ; pMsg->usClient = ClientId; pMsg->ucOpID = OpId; if(SI_PB_STORAGE_UNSPECIFIED == Storage) { pMsg->ulStorage = gstPBCtrlInfo.enPBCurType; } else { pMsg->ulStorage = Storage; } pRecord->Index = 1; VOS_MemCpy(&pMsg->stRecord, pRecord, sizeof(SI_PB_RECORD_STRU)); if(VOS_OK != VOS_SendMsg(WUEPS_PID_AT, pMsg)) { PB_ERROR_LOG("SI_PB_Add:VOS_SendMsg Failed"); return TAF_FAILURE; } return TAF_SUCCESS; #endif }