当前位置: 首页>>代码示例>>C++>>正文


C++ VOS_AllocMsg函数代码示例

本文整理汇总了C++中VOS_AllocMsg函数的典型用法代码示例。如果您正苦于以下问题:C++ VOS_AllocMsg函数的具体用法?C++ VOS_AllocMsg怎么用?C++ VOS_AllocMsg使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了VOS_AllocMsg函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: CSIMA_CBPResetInd

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;
}
开发者ID:debbiche,项目名称:android_kernel_huawei_p8,代码行数:28,代码来源:csimagent.c

示例2: USIMM_GetFileCnf

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;
}
开发者ID:magnusjjj,项目名称:android_kernel_huawei_rle,代码行数:60,代码来源:usimmapicnf.c

示例3: diag_SendMsg

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;
}
开发者ID:fly2436732935,项目名称:android_kernel_honor7_PLK-AL10_PLK-TL01H_PLK-UL00_PLK-CL00_PLK-TL00,代码行数:31,代码来源:diag_common.c

示例4: diag_SendPsTransMsg

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;
}
开发者ID:fly2436732935,项目名称:android_kernel_honor7_PLK-AL10_PLK-TL01H_PLK-UL00_PLK-CL00_PLK-TL00,代码行数:31,代码来源:diag_common.c

示例5: Om_AcpuQueryDumpMsgProc

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;
}
开发者ID:CM13-HI6210SFT,项目名称:huawei_kernel_3.10.71_hi6210sft,代码行数:28,代码来源:omappbbplog.c

示例6: SI_PIH_HvsContQuery

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;

}
开发者ID:fly2436732935,项目名称:android_kernel_honor7_PLK-AL10_PLK-TL01H_PLK-UL00_PLK-CL00_PLK-TL00,代码行数:35,代码来源:pihapi.c

示例7: SI_PIH_TEETimeOutCB

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 ;
}
开发者ID:fly2436732935,项目名称:android_kernel_honor7_PLK-AL10_PLK-TL01H_PLK-UL00_PLK-CL00_PLK-TL00,代码行数:30,代码来源:pihapi.c

示例8: USIMM_ResetCnf

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;
}
开发者ID:magnusjjj,项目名称:android_kernel_huawei_rle,代码行数:26,代码来源:usimmapicnf.c

示例9: USIMM_AccessChannelCnf

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;
}
开发者ID:magnusjjj,项目名称:android_kernel_huawei_rle,代码行数:34,代码来源:usimmapicnf.c

示例10: CBT_SendData

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);
}
开发者ID:XePeleato,项目名称:android_kernel_huawei_venus,代码行数:29,代码来源:cbtrl.c

示例11: USIMM_CloseChannelCnf

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;
}
开发者ID:magnusjjj,项目名称:android_kernel_huawei_rle,代码行数:25,代码来源:usimmapicnf.c

示例12: USIMM_EccNumberInd

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;
}
开发者ID:magnusjjj,项目名称:android_kernel_huawei_rle,代码行数:30,代码来源:usimmapicnf.c

示例13: TAF_XSMS_SndXccAnswerCallReq

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;
}
开发者ID:XePeleato,项目名称:android_kernel_huawei_venus,代码行数:29,代码来源:TafXsmsSndXcc.c

示例14: USIMM_SearchHandleCnf

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;
}
开发者ID:magnusjjj,项目名称:android_kernel_huawei_rle,代码行数:35,代码来源:usimmapicnf.c

示例15: FC_ACORE_CResetProc

/*****************************************************************************
 函 数 名  : 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;
}
开发者ID:herryfan,项目名称:kernel-huawei-h60,代码行数:75,代码来源:FcACoreCReset.c


注:本文中的VOS_AllocMsg函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。