VOS_VOID  TAF_MMA_InitCtx(
    TAF_MMA_INIT_CTX_TYPE_ENUM_UINT8     enInitType,
    TAF_MMA_CONTEXT_STRU                *pstMmaCtx
)
{
    /* 以下全局变量是上电和关机时都需要初始化的 */
    PS_MEM_SET(&g_stMmsStkLocStaSysInfo, 0, sizeof(TAF_MMA_LOCATION_STATUS_EVENT_INFO_STRU));

    PS_MEM_SET(&g_stMmaCipherInfo, 0, sizeof(MMA_CIPHER_INFO_STRU));

    g_ucMnPhRoamStatus              = TAF_PH_INFO_NONE_ROMAING;  /* 记录漫游状态(上报给应用) */

    g_stRegTimeInfo.enRegTimeState  = MN_PH_REG_TIME_STATE_BEGIN;
    g_stRegTimeInfo.ulBeginTick     = 0;
    g_stRegTimeInfo.ulCostTime      = 0;
    g_stRegTimeInfo.ulEndTick       = 0;

    f_stMmaPlmnInfo.stPlmnId.Mcc    = TAF_SDC_INVALID_MCC;
    f_stMmaPlmnInfo.stPlmnId.Mnc    = TAF_SDC_INVALID_MNC;
    f_stMmaPlmnInfo.usIndex         = 0;
    f_stMmaPlmnInfo.PlmnRat         = TAF_PH_RAT_BUTT;

    TAF_MMA_InitStatusCtx(enInitType);

    TAF_MMA_InitSdcNetworkInfo();

    TAF_MMA_InitAllTimers(enInitType, pstMmaCtx->astMmaTimerCtx);

    TAF_MMA_InitOperCtx(pstMmaCtx->astMmaOperCtx);

    TAF_MMA_InitMmaGlobalValue(enInitType);

    /* 以下全局变量只有在上电时需要初始化,关机时不需要初始化 */
    if (TAF_MMA_INIT_CTX_STARTUP == enInitType)
    {
        g_ucMmaOmConnectFlg             = VOS_FALSE;
        g_ucMmaOmPcRecurEnableFlg       = VOS_FALSE;

        f_bGetRecRange                  = VOS_FALSE;

        f_SpnCurrenReadType             = TAF_PH_SPN_TYPE_UNKNOW;

        g_usMmaUeSupportCPHSFlg         = VOS_FALSE;

        g_usMmaAppConfigSupportType     = SYSTEM_APP_BUTT;

        TAF_MMA_InitBandInfo();

        TAF_MMA_InitMePersonalisationStatus();

        TAF_MMA_InitTi();

        TAF_MMA_InitTimerLen();

        TAF_MMA_InitTimerId();

        /* USIM热插拔标志 */
        g_ucUsimHotOutFlag  = VOS_FALSE;
        g_ucUsimHotInFlag   = VOS_FALSE;
        g_ulUsimHotOutCount = 0;
        g_ulUsimHotInCount  = 0;

        TAF_MMA_InitPhoneModeCtrlCtx(TAF_MMA_GetPhoneModeCtrl());

        TAF_MMA_InitCurrFsmCtx(&pstMmaCtx->stCurFsm);

        TAF_MMA_InitFsmStackCtx(&pstMmaCtx->stFsmStack);

        TAF_MMA_InitInternalBuffer(&pstMmaCtx->stBufferEntryMsgQueue);

        TAF_MMA_InitInternalMsgQueue(&pstMmaCtx->stInternalMsgQueue);

        TAF_MMA_InitMaintainInfo(&pstMmaCtx->stMaintainInfo);
    }

    return;
}
VOS_VOID  TAF_MMA_InitCtx(
    TAF_MMA_INIT_CTX_TYPE_ENUM_UINT8     enInitType,
    TAF_MMA_CONTEXT_STRU                *pstMmaCtx
)
{
    /* 以下全局变量是上电和关机时都需要初始化的 */
    PS_MEM_SET(&g_stMmsStkLocStaSysInfo, 0, sizeof(TAF_MMA_LOCATION_STATUS_EVENT_INFO_STRU));

    PS_MEM_SET(&g_stMmaCipherInfo, 0, sizeof(MMA_CIPHER_INFO_STRU));

    g_ucMnPhRoamStatus              = TAF_PH_INFO_NONE_ROMAING;  /* 记录漫游状态(上报给应用) */

    g_stRegTimeInfo.enRegTimeState  = MN_PH_REG_TIME_STATE_BEGIN;
    g_stRegTimeInfo.ulBeginTick     = 0;
    g_stRegTimeInfo.ulCostTime      = 0;
    g_stRegTimeInfo.ulEndTick       = 0;

    f_stMmaPlmnInfo.stPlmnId.Mcc    = TAF_SDC_INVALID_MCC;
    f_stMmaPlmnInfo.stPlmnId.Mnc    = TAF_SDC_INVALID_MNC;
    f_stMmaPlmnInfo.usIndex         = 0;
    f_stMmaPlmnInfo.PlmnRat         = TAF_MMA_RAT_BUTT;

    TAF_MMA_InitStatusCtx(enInitType);

    TAF_MMA_InitSdcNetworkInfo(enInitType);

    TAF_MMA_InitAllTimers(enInitType, pstMmaCtx->astMmaTimerCtx);

    TAF_MMA_InitOperCtx(pstMmaCtx->astMmaOperCtx);

    TAF_MMA_InitMmaGlobalValue(enInitType);

    /* 以下全局变量只有在上电时需要初始化,关机时不需要初始化 */
    if (TAF_MMA_INIT_CTX_STARTUP == enInitType)
    {
        g_ucMmaOmConnectFlg             = VOS_FALSE;
        g_ucMmaOmPcRecurEnableFlg       = VOS_FALSE;


        g_usMmaAppConfigSupportType     = SYSTEM_APP_BUTT;

        TAF_MMA_InitBandInfo();

        TAF_MMA_InitMePersonalisationStatus();

        TAF_MMA_InitTi();

        TAF_MMA_InitTimerLen();

        TAF_MMA_InitTimerId();

        /* USIM热插拔标志 */
        g_ucUsimHotOutFlag  = VOS_FALSE;
        g_ucUsimHotInFlag   = VOS_FALSE;
        g_ulUsimHotOutCount = 0;
        g_ulUsimHotInCount  = 0;

        TAF_MMA_InitPhoneModeCtrlCtx(TAF_MMA_GetPhoneModeCtrl());

        TAF_MMA_InitCurrFsmCtx(&pstMmaCtx->stCurFsm);

        TAF_MMA_InitFsmStackCtx(&pstMmaCtx->stFsmStack);

        TAF_MMA_InitInternalBuffer(&pstMmaCtx->stBufferEntryMsgQueue);

        TAF_MMA_InitInternalMsgQueue(&pstMmaCtx->stInternalMsgQueue);

        TAF_MMA_InitMaintainInfo(&pstMmaCtx->stMaintainInfo);
        TAF_MMA_InitExternalModuleInitStatus(&(pstMmaCtx->stMmaExternalModuleInitStatusCtx));

        TAF_MMA_InitCFreqLockPara();


        TAF_MMA_InitGetGeoCtx();

        TAF_MMA_InitSetDplmnCtx();

#if (FEATURE_ON == FEATURE_CSG)
        TAF_MMA_InitCsgListCtx();
#endif
        /* 初始化IccId */
        TAF_MMA_InitSdcIccId();

        TAF_MMA_InitDelayRptCtrlInfo();

        /* HPLMN可能在开关机过程中查询,不能在关机时清除全局变量 */
        TAF_MMA_InitGetHplmnInfo();
    }


    TAF_MMA_InitAttachInfo();

    TAF_MMA_InitDsdsInfo();

    return;
}