VOS_VOID TAF_APS_SndOmDfsInfo(TAF_APS_SWITCH_DDR_RATE_INFO_STRU *pstSwitchDdrInfo) { TAF_APS_MNTN_DFS_INFO_STRU *pstMsg = VOS_NULL_PTR; pstMsg = (TAF_APS_MNTN_DFS_INFO_STRU*)PS_MEM_ALLOC(WUEPS_PID_TAF, sizeof(TAF_APS_MNTN_DFS_INFO_STRU)); if (VOS_NULL_PTR == pstMsg) { TAF_ERROR_LOG(WUEPS_PID_TAF, "TAF_APS_SndOmDfsInfo:ERROR:Alloc Mem Fail."); return; } /* 定时器勾包消息赋值 */ pstMsg->ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->ulSenderPid = WUEPS_PID_TAF; pstMsg->ulReceiverPid = WUEPS_PID_TAF; pstMsg->ulLength = sizeof(TAF_APS_MNTN_DFS_INFO_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->enMsgId = ID_MSG_TAF_PS_APS_MNTN_DFS_INFO; PS_MEM_CPY(&pstMsg->stDfsInfo, pstSwitchDdrInfo, sizeof(TAF_APS_SWITCH_DDR_RATE_INFO_STRU)); /* 消息勾包 */ OM_TraceMsgHook(pstMsg); PS_MEM_FREE(WUEPS_PID_TAF, pstMsg); }
VOS_VOID NAS_CC_LogBufferQueueMsg( VOS_UINT32 ulFullFlg ) { NAS_CC_LOG_BUFFER_MSG_INFO_STRU *pstBufferMsg = VOS_NULL_PTR; NAS_CC_MSG_QUEUE_STRU *pstMsgQueue = VOS_NULL_PTR; pstBufferMsg = (NAS_CC_LOG_BUFFER_MSG_INFO_STRU*)PS_MEM_ALLOC(WUEPS_PID_CC, sizeof(NAS_CC_LOG_BUFFER_MSG_INFO_STRU)); if ( VOS_NULL_PTR == pstBufferMsg ) { NAS_CC_ERR_LOG("NAS_cc_LogBufferQueueMsg:ERROR:Alloc Mem Fail."); return; } pstMsgQueue = NAS_CC_GetCachMsgBufferAddr(); pstBufferMsg->stMsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstBufferMsg->stMsgHeader.ulSenderPid = WUEPS_PID_CC; pstBufferMsg->stMsgHeader.ulReceiverPid = WUEPS_PID_CC; pstBufferMsg->stMsgHeader.ulLength = sizeof(NAS_CC_LOG_BUFFER_MSG_INFO_STRU) - VOS_MSG_HEAD_LENGTH; pstBufferMsg->stMsgHeader.ulMsgName = CCOM_LOG_BUFFER_MSG_INFO_IND; pstBufferMsg->ulFullFlg = ulFullFlg; PS_MEM_CPY(&(pstBufferMsg->stMsgQueue), pstMsgQueue, sizeof(pstBufferMsg->stMsgQueue)); OM_TraceMsgHook(pstBufferMsg); PS_MEM_FREE(WUEPS_PID_CC, pstBufferMsg); return; }
VOS_VOID TAF_MMA_LogFsmInfo(VOS_VOID) { TAF_MMA_LOG_FSM_INFO_STRU *pstMsg = VOS_NULL_PTR; pstMsg = (TAF_MMA_LOG_FSM_INFO_STRU*)PS_MEM_ALLOC(WUEPS_PID_MMA, sizeof(TAF_MMA_LOG_FSM_INFO_STRU)); if (VOS_NULL_PTR == pstMsg) { TAF_ERROR_LOG(WUEPS_PID_TAF, "TAF_MMA_LogFsmInfo:ERROR:Alloc Mem Fail."); return; } pstMsg->stMsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->stMsgHeader.ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->stMsgHeader.ulSenderPid = WUEPS_PID_MMA; pstMsg->stMsgHeader.ulReceiverPid = WUEPS_PID_MMA; pstMsg->stMsgHeader.ulLength = sizeof(TAF_MMA_LOG_FSM_INFO_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->stMsgHeader.ulMsgName = TAF_MMA_LOG_FSM_INFO_IND; pstMsg->ulState = TAF_MMA_FSM_GetFsmTopState(); pstMsg->enFsmId = TAF_MMA_GetCurrFsmId(); OM_TraceMsgHook(pstMsg); PS_MEM_FREE(WUEPS_PID_MMA, pstMsg); return; }
VOS_VOID TAF_MMA_LogOperCtxInfo(VOS_VOID) { TAF_MMA_LOG_OPER_CTX_INFO_STRU *pstBufferMsg = VOS_NULL_PTR; TAF_MMA_OPER_CTX_STRU *pstMmaOperCtx = VOS_NULL_PTR; pstBufferMsg = (TAF_MMA_LOG_OPER_CTX_INFO_STRU*)PS_MEM_ALLOC(WUEPS_PID_MMA, sizeof(TAF_MMA_LOG_OPER_CTX_INFO_STRU)); if ( VOS_NULL_PTR == pstBufferMsg ) { TAF_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_LogOperCtxInfo:ERROR:Alloc Mem Fail."); return; } pstMmaOperCtx = TAF_MMA_GetOperCtxAddr(); pstBufferMsg->stMsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstBufferMsg->stMsgHeader.ulSenderCpuId = VOS_LOCAL_CPUID; pstBufferMsg->stMsgHeader.ulSenderPid = WUEPS_PID_MMA; pstBufferMsg->stMsgHeader.ulReceiverPid = WUEPS_PID_MMA; pstBufferMsg->stMsgHeader.ulLength = sizeof(TAF_MMA_LOG_OPER_CTX_INFO_STRU) - VOS_MSG_HEAD_LENGTH; pstBufferMsg->stMsgHeader.ulMsgName = TAF_MMA_LOG_OPER_CTX_INFO_IND; PS_MEM_CPY(pstBufferMsg->astMmaOperCtx, pstMmaOperCtx, sizeof(pstBufferMsg->astMmaOperCtx)); OM_TraceMsgHook(pstBufferMsg); PS_MEM_FREE(WUEPS_PID_MMA, pstBufferMsg); return; }
VOS_VOID TAF_MMA_SndOmInternalMsgQueueInfo( VOS_UINT8 ucFullFlg, VOS_UINT8 ucMsgLenValidFlg ) { TAF_MMA_LOG_INTER_MSG_INFO_STRU *pstInterMsg = VOS_NULL_PTR; pstInterMsg = (TAF_MMA_LOG_INTER_MSG_INFO_STRU*)PS_MEM_ALLOC(WUEPS_PID_MMA, sizeof(TAF_MMA_LOG_INTER_MSG_INFO_STRU)); if ( VOS_NULL_PTR == pstInterMsg ) { TAF_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndOmInternalMsgQueueInfo:ERROR:Alloc Mem Fail."); return; } pstInterMsg->stMsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstInterMsg->stMsgHeader.ulSenderPid = WUEPS_PID_MMA; pstInterMsg->stMsgHeader.ulReceiverPid = WUEPS_PID_MMA; pstInterMsg->stMsgHeader.ulLength = sizeof(TAF_MMA_LOG_INTER_MSG_INFO_STRU) - VOS_MSG_HEAD_LENGTH; pstInterMsg->stMsgHeader.ulMsgName = TAF_MMA_LOG_INTER_MSG_INFO_IND; pstInterMsg->ucFullFlg = ucFullFlg; pstInterMsg->ucMsgLenValidFlg = ucMsgLenValidFlg; OM_TraceMsgHook(pstInterMsg); PS_MEM_FREE(WUEPS_PID_MMA, pstInterMsg); return; }
VOS_VOID TAF_MMA_LogDrvApiPwrCtrlSleepVoteLock( VOS_UINT32 ulRslt, PWC_CLIENT_ID_E enClientId ) { TAF_MMA_LOG_DRV_API_PWRCTRL_SLEEPVOTE_LOCK_STRU *pstMsg = VOS_NULL_PTR; pstMsg = (TAF_MMA_LOG_DRV_API_PWRCTRL_SLEEPVOTE_LOCK_STRU*)PS_MEM_ALLOC(WUEPS_PID_MMA, sizeof(TAF_MMA_LOG_DRV_API_PWRCTRL_SLEEPVOTE_LOCK_STRU)); if (VOS_NULL_PTR == pstMsg) { TAF_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_LogDrvApiPwrCtrlSleepVoteLock:ERROR:Alloc Mem Fail."); return; } PS_MEM_SET((VOS_INT8*)pstMsg + VOS_MSG_HEAD_LENGTH,0, sizeof(TAF_MMA_LOG_DRV_API_PWRCTRL_SLEEPVOTE_LOCK_STRU) - VOS_MSG_HEAD_LENGTH); pstMsg->stMsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->stMsgHeader.ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->stMsgHeader.ulSenderPid = WUEPS_PID_MMA; pstMsg->stMsgHeader.ulReceiverPid = WUEPS_PID_MMA; pstMsg->stMsgHeader.ulLength = sizeof(TAF_MMA_LOG_DRV_API_PWRCTRL_SLEEPVOTE_LOCK_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->stMsgHeader.ulMsgName = TAF_MMA_LOG_DRV_API_PWRCTRL_SLEEPVOTE_LOCK; pstMsg->ulRslt = ulRslt; pstMsg->enClientId = enClientId; OM_TraceMsgHook(pstMsg); PS_MEM_FREE(WUEPS_PID_MMA, pstMsg); return; }
VOS_VOID TAF_APS_ProcMsg( struct MsgCB *pstMsg ) { TAF_APS_INTERNAL_MSG_BUF_STRU *pstNextMsg; /* 先处理外部消息 */ TAF_APS_ProcMsgEntry(pstMsg); /* 外部消息处理完成后处理内部消息 */ pstNextMsg = TAF_APS_GetNextInternalMsg(); while (VOS_NULL_PTR != pstNextMsg) { /* 将该消息钩出来,以便于在PSTAS中显示 */ OM_TraceMsgHook(pstNextMsg); TAF_APS_ProcMsgEntry((struct MsgCB *)pstNextMsg); /* 寻找下一条内部消息 */ pstNextMsg = TAF_APS_GetNextInternalMsg(); } return; }
VOS_VOID TAF_MMA_SndOmTimerStatus( TAF_MMA_TIMER_STATUS_ENUM_UINT8 enTimerStatus, TAF_MMA_TIMER_ID_ENUM_UINT32 enTimerId, VOS_UINT32 ulLen ) { TAF_MMA_TIMER_INFO_STRU *pstMsg = VOS_NULL_PTR; pstMsg = (TAF_MMA_TIMER_INFO_STRU*)PS_MEM_ALLOC(WUEPS_PID_MMA, sizeof(TAF_MMA_TIMER_INFO_STRU)); if (VOS_NULL_PTR == pstMsg) { TAF_ERROR_LOG(WUEPS_PID_TAF,"TAF_MMA_SndOmTimerStatus:ERROR:Alloc Mem Fail."); return; } /* 定时器勾包消息赋值 */ pstMsg->stMsgHeader.ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->stMsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->stMsgHeader.ulSenderPid = WUEPS_PID_MMA; pstMsg->stMsgHeader.ulReceiverPid = VOS_PID_TIMER; pstMsg->stMsgHeader.ulLength = sizeof(TAF_MMA_TIMER_INFO_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->stMsgHeader.ulMsgName = enTimerId; pstMsg->enTimerStatus = enTimerStatus; pstMsg->ulLen = ulLen; /* 定时器消息勾包 */ OM_TraceMsgHook(pstMsg); PS_MEM_FREE(WUEPS_PID_MMA, pstMsg); }
VOS_VOID APP_VC_LogEndCallReq( APP_VC_OPEN_CHANNEL_FAIL_CAUSE_ENUM_UINT32 enVcCause ) { TAF_OAM_LOG_END_CALL_REQ_STRU *pstMsg = VOS_NULL_PTR; pstMsg = (TAF_OAM_LOG_END_CALL_REQ_STRU*)PS_MEM_ALLOC(WUEPS_PID_VC, sizeof(TAF_OAM_LOG_END_CALL_REQ_STRU)); if (VOS_NULL_PTR == pstMsg) { return; } PS_MEM_SET(((VOS_UINT8*)pstMsg) + VOS_MSG_HEAD_LENGTH, 0, sizeof(TAF_OAM_LOG_END_CALL_REQ_STRU) - VOS_MSG_HEAD_LENGTH); pstMsg->ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->ulSenderPid = WUEPS_PID_VC; pstMsg->ulReceiverPid = WUEPS_PID_VC; pstMsg->ulLength = sizeof(TAF_OAM_LOG_END_CALL_REQ_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->ulMsgId = TAF_OAM_LOG_END_CALL_REQ; pstMsg->ulCause = enVcCause; OM_TraceMsgHook(pstMsg); PS_MEM_FREE(WUEPS_PID_VC, pstMsg); return; }
/****************************************************************************** Prototype : R_ITF_MntnFlowCtrlEvent Description : 流控执行情况可维可测 Input : ulFlowCtrlType -- 流控类型 ulNewLev -- 该流控类型的最新值 ulFlowCtrlCmd -- 流控指令,启动或停止 ulResult -- 流控执行结果 Output : Return Value : Calls : Called By : History : --- 1.Date : 2011-04-14 Modification: Created function ******************************************************************************/ VOS_VOID R_ITF_MntnFlowCtrlEvent ( R_ITF_FLOW_CTRL_TYPE_ENUM_UINT32 ulFlowCtrlType, VOS_UINT32 ulNewLev, R_ITF_FLOW_CTRL_CMD_ENUM_UINT32 ulFlowCtrlCmd, VOS_UINT32 ulResult ) { R_ITF_FLOW_CTRL_MNTN_INFO_STRU stMntnInfo; stMntnInfo.ulSenderCpuId = VOS_LOCAL_CPUID; stMntnInfo.ulSenderPid = WUEPS_PID_RLC; stMntnInfo.ulReceiverCpuId = VOS_LOCAL_CPUID; stMntnInfo.ulReceiverPid = WUEPS_PID_RLC; stMntnInfo.ulLength = sizeof(R_ITF_FLOW_CTRL_MNTN_INFO_STRU) - VOS_MSG_HEAD_LENGTH; stMntnInfo.enFlowCtrlType = ulFlowCtrlType; stMntnInfo.ulNewLevel = ulNewLev; stMntnInfo.enFlowCtrlCmd = ulFlowCtrlCmd; stMntnInfo.ulResult = ulResult; OM_TraceMsgHook(&stMntnInfo); return; }
VOS_VOID CMMCA_LogBuffFullInd(VOS_VOID) { CMMCA_MNTN_BUFF_FULL_IND_STRU *pstMsg = VOS_NULL_PTR; pstMsg = (CMMCA_MNTN_BUFF_FULL_IND_STRU*)PS_MEM_ALLOC(WUEPS_PID_CMMCA, sizeof(CMMCA_MNTN_BUFF_FULL_IND_STRU)); if (VOS_NULL_PTR == pstMsg) { CMMCA_ERROR_LOG("CMMCA_LogBuffFullInd:ERROR:Alloc Mem Fail."); return; } pstMsg->ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->ulSenderPid = WUEPS_PID_CMMCA; pstMsg->ulReceiverPid = WUEPS_PID_CMMCA; pstMsg->ulLength = sizeof(CMMCA_MNTN_BUFF_FULL_IND_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->enMsgId = CMMCA_MNTN_BUFF_FULL_IND; OM_TraceMsgHook(pstMsg); PS_MEM_FREE(WUEPS_PID_CMMCA, pstMsg); return; }
VOS_VOID CMMCA_DEBUG_TraceEvent(VOS_VOID *pMsg) { if (VOS_OK != OM_TraceMsgHook(pMsg)) { CMMCA_ERROR_LOG("CMMCA_DEBUG_TraceEvent: Trace MSG Fail!\r\n"); } return; }
VOS_VOID BST_SYS_MsgProcEntry( MsgBlock *pstMsg ) { if(BST_FALSE == BST_SYS_ApiGetSupported()) { BST_DBG_LOG("BST_SYS_MsgProcEntry: bastet nv disabled"); return; } switch(pstMsg->ulSenderPid) { case WUEPS_PID_USIM: break; case VOS_PID_TIMER: BST_DBG_LOG("BST_SYS_MsgProcEntry: VOS_PID_TIMER"); BST_OS_PalTimerCallBack(); break; case ACPU_PID_BASTET_COMM: BST_DBG_LOG("BST_SYS_MsgProcEntry: ACPU_PID_BASTET_COMM"); BST_Pal_DrvAcomRecv( ( BST_UINT32 ) BST_OS_SIZEOF( BST_ACOM_MSG_STRU ), ( BST_UINT8 *) pstMsg ); break; case UEPS_PID_CDS: BST_DBG_LOG("BST_SYS_MsgProcEntry: UEPS_PID_CDS"); OM_TraceMsgHook(pstMsg); BST_PAL_NetMsgEntry( pstMsg ); break; case I0_WUEPS_PID_MMA: OM_TraceMsgHook(pstMsg); BST_MSG_ProcMmaRecv(pstMsg,BST_MODEM_ID_1); break; case I1_WUEPS_PID_MMA: OM_TraceMsgHook(pstMsg); BST_MSG_ProcMmaRecv(pstMsg,BST_MODEM_ID_2); break; case WUEPS_PID_WRR: OM_TraceMsgHook(pstMsg); BST_MSG_ProcWrrcRecv(pstMsg); break; case TPS_PID_RRC: OM_TraceMsgHook(pstMsg); BST_MSG_ProcTrrcRecv(pstMsg); break; case PS_PID_ERRC: OM_TraceMsgHook(pstMsg); BST_MSG_ProcLrrcRecv(pstMsg); break; default: break; } }
/***************************************************************************** 函 数 名 : NAS_SMS_SndOutsideContextData 功能描述 : 把SMS外部上下文作为SDT消息发送出去,以便在回放时通过桩函数还原 输入参数 : 无 输出参数 : 无 返 回 值 : VOS_OK 消息发送成功,否则,失败; 调用函数 : 被调函数 : 修改历史 : 1.日 期 : 2010年02月12日 作 者 : 傅映君 62575 修改内容 : 新生成函数 *****************************************************************************/ VOS_UINT32 NAS_SMS_SndOutsideContextData() { NAS_SMS_SDT_SMS_PART_ST *pSndMsgCB = VOS_NULL_PTR; NAS_SMS_OUTSIDE_RUNNING_CONTEXT_PART_ST *pstOutsideCtx; pSndMsgCB = (NAS_SMS_SDT_SMS_PART_ST *)PS_ALLOC_MSG(WUEPS_PID_SMS, sizeof(NAS_SMS_SDT_SMS_PART_ST)); if ( VOS_NULL_PTR == pSndMsgCB ) { SMS_LOG(PS_PRINT_ERROR, "NAS_SMS_SndOutsideContextData:ERROR: Alloc Memory Fail."); return VOS_ERR; } pSndMsgCB->ulReceiverPid = WUEPS_PID_SMS; pSndMsgCB->ulSenderPid = WUEPS_PID_SMS; pSndMsgCB->ulSenderCpuId = VOS_LOCAL_CPUID; pSndMsgCB->ulReceiverCpuId = VOS_LOCAL_CPUID; pSndMsgCB->ulLength = sizeof(NAS_SMS_OUTSIDE_RUNNING_CONTEXT_PART_ST) + 4; pSndMsgCB->ulMsgName = SMS_PC_REPLAY_MSG; pstOutsideCtx = &pSndMsgCB->stOutsideCtx; PS_MEM_CPY(&pstOutsideCtx->g_SmcPsEnt, &g_SmcPsEnt, sizeof(g_SmcPsEnt)); PS_MEM_CPY(&pstOutsideCtx->g_SmcCsEnt, &g_SmcCsEnt, sizeof(g_SmcCsEnt)); PS_MEM_CPY(&pstOutsideCtx->g_SmrEnt, &g_SmrEnt, sizeof(g_SmrEnt)); pstOutsideCtx->g_ucPsServiceStatus = g_ucPsServiceStatus; pstOutsideCtx->g_ucCsRegFlg = g_ucCsRegFlg; pstOutsideCtx->g_ucSmsMR = g_ucSmsMR; pstOutsideCtx->g_SndDomain = g_SndDomain; OM_TraceMsgHook(pSndMsgCB); PS_FREE_MSG(WUEPS_PID_SMS, pSndMsgCB); return VOS_OK; }
VOS_VOID CMMCA_MNTN_TraceTimerOperation( VOS_UINT32 ulPid, CMMCA_TIMER_ID_ENUM_UINT32 enTimerId, VOS_UINT32 ulTimerLen, CMMCA_TIMER_OPERATION_TYPE_ENUM_UINT8 enTimerAction ) { CMMCA_TIMER_INFO_STRU stMsg; PS_MEM_SET(&stMsg, 0x00, sizeof(CMMCA_TIMER_INFO_STRU)); stMsg.ulSenderCpuId = VOS_LOCAL_CPUID; stMsg.ulReceiverCpuId = VOS_LOCAL_CPUID; stMsg.ulSenderPid = ulPid; stMsg.ulReceiverPid = VOS_PID_TIMER; stMsg.ulLength = sizeof(CMMCA_TIMER_INFO_STRU) - VOS_MSG_HEAD_LENGTH; stMsg.enTimerId = enTimerId; stMsg.ulTimerLen = ulTimerLen; stMsg.enTimerAction = enTimerAction; OM_TraceMsgHook(&stMsg); return; }
VOS_UINT32 NAS_MM_SndOutsideContextData() { VOS_UINT8 *pucCompressBuf; NAS_MML_PC_REPLAY_COMPRESS_CONTEXT_STRU *pstPcreplayCompressCtx; VOS_UINT32 ulCompressDataLen; VOS_UINT32 ulCount; VOS_UINT8 *pucEndBuf; VOS_UINT32 ulItemCount; VOS_UINT8 *pucDest; VOS_UINT8 *pucSrc; VOS_UINT32 ulCmLen; ulCount = sizeof(VOS_UINT8) /* gucMmProcessFlg */ + sizeof(VOS_UINT8) /* g_T3211Flag*/ + sizeof(MM_NSD_INFO_ST) /* g_stMmNsd*/ + sizeof(MM_GLOBAL_CTRL_STRU) /* g_MmGlobalInfo*/ + sizeof(MM_TIMER_STRU) * MM_TIMER_NUM; /*gstMmTimer*/ ulItemCount = 0; ulCompressDataLen = NAS_MML_PC_RECUR_COMPRESS_DATA_LEN; pucCompressBuf = (VOS_UINT8 *)PS_MEM_ALLOC(WUEPS_PID_MMC, ulCompressDataLen); if(VOS_NULL_PTR == pucCompressBuf) { NAS_WARNING_LOG(WUEPS_PID_MM,"NAS_MM_SndOutsideContextData: Alloc Fail."); return MM_FALSE; } pstPcreplayCompressCtx = (NAS_MML_PC_REPLAY_COMPRESS_CONTEXT_STRU *)pucCompressBuf; /* 获取buf结尾地址,用于计算剩余空间*/ pucEndBuf = pucCompressBuf + ulCompressDataLen; pucDest = pstPcreplayCompressCtx->aucData; /* 原始数据大小 */ PS_MEM_CPY(pucDest, &ulCount, sizeof(VOS_UINT32)); pucDest += sizeof(VOS_UINT32); /* 压缩gucMmProcessFlg */ pucSrc = (VOS_UINT8 *)&gucMmProcessFlg; ulItemCount = sizeof(gucMmProcessFlg); ulCmLen = (VOS_UINT32)(pucEndBuf - pucDest + 1); if( VOS_FALSE == NAS_MML_CompressData(pucDest, &ulCmLen , pucSrc , ulItemCount) ) { PS_MEM_FREE(WUEPS_PID_MM, pucCompressBuf); return MM_FALSE; } pucDest += (ulCmLen); /* 压缩g_T3211Flag */ pucSrc = (VOS_UINT8 *)&g_T3211Flag; ulItemCount = sizeof(g_T3211Flag); ulCmLen = (VOS_UINT32)(pucEndBuf - pucDest + 1); if( VOS_FALSE == NAS_MML_CompressData(pucDest, &ulCmLen, pucSrc, ulItemCount) ) { PS_MEM_FREE(WUEPS_PID_MM, pucCompressBuf); return MM_FALSE; } pucDest += (ulCmLen); /* 压缩g_stMmNsd */ pucSrc = (VOS_UINT8 *)&g_stMmNsd; ulItemCount = sizeof(MM_NSD_INFO_ST); ulCmLen = (VOS_UINT32)(pucEndBuf - pucDest + 1); if( VOS_FALSE == NAS_MML_CompressData(pucDest, &ulCmLen, pucSrc, ulItemCount) ) { PS_MEM_FREE(WUEPS_PID_MM, pucCompressBuf); return MM_FALSE; } pucDest += (ulCmLen); /* 压缩g_MmGlobalInfo */ pucSrc = (VOS_UINT8 *)&g_MmGlobalInfo; ulItemCount = sizeof(MM_GLOBAL_CTRL_STRU); ulCmLen = (VOS_UINT32)(pucEndBuf - pucDest + 1); if( VOS_FALSE == NAS_MML_CompressData(pucDest, &ulCmLen, pucSrc, ulItemCount) ) { PS_MEM_FREE(WUEPS_PID_MM, pucCompressBuf); return MM_FALSE; } pucDest += (ulCmLen); /* 压缩gstMmTimer */ pucSrc = (VOS_UINT8 *)gstMmTimer; ulItemCount = sizeof(MM_TIMER_STRU) * MM_TIMER_NUM; ulCmLen = (VOS_UINT32)(pucEndBuf - pucDest + 1); if( VOS_FALSE == NAS_MML_CompressData(pucDest, &ulCmLen, pucSrc, ulItemCount) ) { PS_MEM_FREE(WUEPS_PID_MM, pucCompressBuf); return MM_FALSE; } pucDest += (ulCmLen); ulCompressDataLen = (VOS_UINT32)(pucDest - (VOS_UINT8 *)pstPcreplayCompressCtx); pstPcreplayCompressCtx->ulReceiverPid = WUEPS_PID_MM; pstPcreplayCompressCtx->ulSenderPid = WUEPS_PID_MM; pstPcreplayCompressCtx->ulSenderCpuId = VOS_LOCAL_CPUID; pstPcreplayCompressCtx->ulReceiverCpuId = VOS_LOCAL_CPUID; pstPcreplayCompressCtx->ulLength = ulCompressDataLen; pstPcreplayCompressCtx->ulMsgName = EVT_NAS_MM_OUTSIDE_RUNNING_CONTEXT_FOR_PC_REPLAY; OM_TraceMsgHook(pstPcreplayCompressCtx); PS_MEM_FREE(WUEPS_PID_MM, pucCompressBuf); return MM_TRUE; }