/*****************************************************************************
 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);
    }
}
Пример #2
0
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   */
}