/***************************************************************************** Function Name : diag_AgentPsTransRcv Description : DIAG 上报PS路测消息接口 Input : MsgBlock* pMsgBlock Output : None Return : VOS_UINT32 *****************************************************************************/ VOS_VOID diag_AgentPsTransRcv(MsgBlock* pMsgBlock) { /*直接使用PS发送过来的MsgID进行消息上报*/ VOS_UINT16 ulID = (VOS_UINT16)(((DIAG_DATA_MSG_STRU*)pMsgBlock)->ulMsgId);/* [false alarm]:屏蔽Fortify */ VOS_UINT32 ulDataSize = pMsgBlock->ulLength;/*lint !e958*/ VOS_VOID* pData = (VOS_VOID*)pMsgBlock->aucValue; VOS_UINT32 ret = 0; ret = DIAG_ReportCommand(ulID, (ulDataSize - DIAG_PS_TRANS_HEAD_LEN), (pData + DIAG_PS_TRANS_HEAD_LEN));/*lint !e416 !e124*/ if((ret != ERR_MSP_SUCCESS)&&(ret != ERR_MSP_NO_INITILIZATION)) { diag_printf("%s send pid = %d\r\n", __FUNCTION__, pMsgBlock->ulSenderPid); } }
VOS_VOID NAS_ESM_TaskEntry(MsgBlock * pMsg) { /* 定义消息头指针*/ PS_MSG_HEADER_STRU *pHeader = VOS_NULL_PTR; /* 判断入口参数是否合法*/ if( VOS_NULL_PTR == pMsg) { NAS_ESM_WARN_LOG("NAS_ESM_TaskEntry:ERROR: No Msg!"); return; } /* 获取消息头指针*/ pHeader = (PS_MSG_HEADER_STRU *) pMsg; NAS_ESM_PrintEsmRevMsg(pHeader,NAS_COMM_GET_ESM_PRINT_BUF()); switch(pHeader->ulSenderPid) { /*如果是EMM消息,调用EMM处理函数*/ case PS_PID_MM: NAS_ESM_EmmMsgDistr(pMsg); break; /*如果是RABM消息,调用RABM处理函数*/ case PS_PID_RABM: NAS_ESM_RabmMsgDistr(pMsg); break; /*如果是APP消息,调用APP处理函数*/ case PS_PID_APP: NAS_ESM_AppMsgDistr(pMsg); break; case WUEPS_PID_TAF: NAS_ESM_SmMsgDistr(pMsg); break; case MSP_PID_DIAG_APP_AGENT: (VOS_VOID)LTE_MsgHook((VOS_VOID*)pMsg); NAS_ESM_OmMsgDistr(pMsg); break; /*如果是Timer消息,调用Timer溢出处理函数*/ case VOS_PID_TIMER: NAS_ESM_TimerMsgDistr(pMsg); break; /* xiongxianghui00253310 add fot errlog 20131212 begin */ /*如果是OM消息,调用OM处理函数*/ #if (FEATURE_PTM == FEATURE_ON) case ACPU_PID_OM: NAS_ESM_OmMsgDistrForAcpuPidOm(pMsg); break; #endif /* xiongxianghui00253310 add fot errlog 20131212 end */ /*发送对象错误,报警*/ default: NAS_ESM_WARN_LOG("NAS_ESM_TaskEntry:NORM: Error SenderPid!"); break; } if (OM_ESM_REPORT_INFO_OPEN == g_NasEsmOmInfoIndFlag) { if (NAS_ESM_FAILURE == NAS_ESM_CompareEsmInfo()) { /* 通过DIAG上报 */ #if (VOS_WIN32 != VOS_OS_VER) (VOS_VOID)DIAG_ReportCommand(DIAG_CMD_ESM_APP_ESM_INFO_IND, (sizeof(OM_ESM_STATE_INFO_STRU))*OM_ESM_MAX_EPSB_NUM, (VOS_VOID*)g_stEsmOmInfo); #endif } } NAS_ESM_DtJudgeifNeedRpt(); /* xiongxianghui00253310 modify for ftmerrlog begin */ #if (FEATURE_PTM == FEATURE_ON) NAS_ESM_OmInfoIndProc(); #endif /* xiongxianghui00253310 modify for ftmerrlog end */ }