VOS_UINT32 USIMM_GetCardType_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    VOS_UINT8                          *pucCardStatus,
    VOS_UINT8                          *pucCardType)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_GetCardType_Instance: call USIMM_GetCardType");

        return USIMM_GetCardType(pucCardStatus, pucCardType);
    }

#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_GetCardType_Instance: call I1_USIMM_GetCardType");

        return I1_USIMM_GetCardType(pucCardStatus, pucCardType);
    }
#endif

    USIMM_ERROR_LOG("USIMM_GetCardType_Instance: Para Is Error");

    return USIMM_API_WRONG_PARA;
}
/*****************************************************************************
函 数 名  : SI_STK_SMSCtrlResultInd_Instance
功能描述  : 将MO SMS CONTROL的结果广播上报给AT
输入参数  : enModemID --Modem ID
            pstRspData--指向SMS CONTROL的解码后码流
输出参数  : 无
返 回 值  : 执行结果
History     :
1.日    期  : 2013年06月14日
  作    者  : zhuli
  修改内容  : Create
*****************************************************************************/
VOS_VOID SI_STK_SMSCtrlResultInd_Instance(
    MODEM_ID_ENUM_UINT16                                    enModemID,
    SI_STK_ENVELOPE_RSP_STRU                                *pstRspData)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("SI_STK_SMSCtrlResultInd_Instance: call SI_STK_SMSCtrlResultInd");

        SI_STK_SMSCtrlResultInd(pstRspData);

        return;
    }
#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("SI_STK_SMSCtrlResultInd_Instance: call I1_SI_STK_SMSCtrlResultInd");

        I1_SI_STK_SMSCtrlResultInd(pstRspData);

        return;
    }
#endif

    USIMM_ERROR_LOG("SI_STK_SMSCtrlResultInd_Instance: Para Is Error");

    return;
}
VOS_UINT32 SI_PB_FdnNumCheck_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    VOS_UINT32                          ulPid,
    VOS_UINT32                          ulContextIndex,
    VOS_UINT32                          ulSendPara,
    PS_PB_FDN_NUM_STRU                 *pstFdnInfo)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("SI_PB_FdnNumCheck_Instance: call SI_PB_FdnNumCheck");

        return SI_PB_FdnNumCheck(ulPid, ulContextIndex, ulSendPara, pstFdnInfo);
    }
#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("SI_PB_FdnNumCheck_Instance: call I1_SI_PB_FdnNumCheck");

        return I1_SI_PB_FdnNumCheck(ulPid, ulContextIndex, ulSendPara, pstFdnInfo);
    }
#endif

    USIMM_ERROR_LOG("SI_PB_FdnNumCheck_Instance: Para Is Error");

    return VOS_ERR;
}
VOS_UINT32 SI_STK_EnvelopeRsp_Decode_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    SI_STK_ENVELOPE_TYPE                enDataType,
    VOS_UINT32                          ulDataLen,
    VOS_UINT8                          *pucCmdData,
    SI_STK_ENVELOPE_RSP_STRU           *pstRspData)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("SI_STK_EnvelopeRsp_Decode_Instance: call SI_STK_EnvelopeRsp_Decode");

        return SI_STK_EnvelopeRsp_Decode(enDataType, ulDataLen, pucCmdData, pstRspData);
    }
#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("SI_STK_EnvelopeRsp_Decode_Instance: call I1_SI_STK_EnvelopeRsp_Decode");

        return I1_SI_STK_EnvelopeRsp_Decode(enDataType, ulDataLen, pucCmdData, pstRspData);
    }
#endif

    USIMM_ERROR_LOG("SI_STK_EnvelopeRsp_Decode_Instance: Para Is Error");

    return VOS_ERR;
}
VOS_UINT32 USIMM_GetPinStatus_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    VOS_UINT8                          *pucType,
    VOS_UINT8                          *pucBeEnable,
    VOS_UINT8                          *pucBeNeed,
    VOS_UINT8                          *pucNum)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_GetPinStatus_Instance: call USIMM_GetPinStatus");

        return USIMM_GetPinStatus(pucType, pucBeEnable, pucBeNeed, pucNum);
    }

#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_GetPinStatus_Instance: call I1_USIMM_GetPinStatus");

        return I1_USIMM_GetPinStatus(pucType, pucBeEnable, pucBeNeed, pucNum);
    }
#endif

    USIMM_ERROR_LOG("USIMM_GetPinStatus_Instance: Para Is Error");

    return USIMM_API_WRONG_PARA;
}
VOS_UINT32 USIMM_MaxEFRecordNumReq_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    VOS_UINT32                          ulSenderPid,
    USIMM_APP_TYPE_ENUM_UINT32          enAppType,
    VOS_UINT16                          usEFid)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_MaxEFRecordNumReq_Instance: call USIMM_MaxEFRecordNumReq");

        return USIMM_MaxEFRecordNumReq(ulSenderPid, enAppType, usEFid);
    }

#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_MaxEFRecordNumReq_Instance: call USIMM_MaxEFRecordNumReq");

        return I1_USIMM_MaxEFRecordNumReq(ulSenderPid, enAppType, usEFid);
    }
#endif

    USIMM_ERROR_LOG("USIMM_PinReq_Instance: Para Is Error");

    return USIMM_API_WRONG_PARA;
}
VOS_VOID SI_STK_EnvelopeRspDataFree_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    SI_STK_ENVELOPE_RSP_STRU           *pstData)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("SI_STK_EnvelopeRspDataFree_Instance: call SI_STK_EnvelopeRspDataFree");

        SI_STK_EnvelopeRspDataFree(pstData);

        return;
    }
#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("SI_STK_EnvelopeRspDataFree_Instance: call I1_SI_STK_EnvelopeRspDataFree");

        I1_SI_STK_EnvelopeRspDataFree(pstData);

        return;
    }
#endif

    USIMM_ERROR_LOG("SI_STK_EnvelopeRsp_Decode_Instance: Para Is Error");

    return;
}
VOS_UINT32 USIMM_PinReq_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    VOS_UINT32                          ulSenderPid,
    VOS_UINT8                           ucCmdType,
    VOS_UINT8                           ucPINType,
    VOS_UINT8                          *pucOldPIN,
    VOS_UINT8                          *pucNewPIN)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_PinReq_Instance: call USIMM_PinReq");

        return USIMM_PinReq(ulSenderPid, ucCmdType, ucPINType, pucOldPIN, pucNewPIN);
    }

#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_PinReq_Instance: call I1_USIMM_PinReq");

        return I1_USIMM_PinReq(ulSenderPid, ucCmdType, ucPINType, pucOldPIN, pucNewPIN);
    }
#endif

    USIMM_ERROR_LOG("USIMM_PinReq_Instance: Para Is Error");

    return USIMM_API_WRONG_PARA;
}
VOS_UINT32 SI_STK_EnvelopeDownload_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    VOS_UINT32                          ulSenderPid,
    VOS_UINT32                          ulSendPara,
    SI_STK_ENVELOPE_STRU               *pstENStru)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("SI_STK_EnvelopeDownload_Instance: call SI_STK_EnvelopeDownload");

        return SI_STK_EnvelopeDownload(ulSenderPid, ulSendPara, pstENStru);
    }
#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("SI_STK_EnvelopeDownload_Instance: call I1_SI_STK_EnvelopeDownload");

        return I1_SI_STK_EnvelopeDownload(ulSenderPid, ulSendPara, pstENStru);
    }
#endif

    USIMM_ERROR_LOG("SI_STK_EnvelopeDownload_Instance: Para Is Error");

    return VOS_ERR;
}
VOS_UINT32 USIMM_GetFileReq_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    VOS_UINT32                          ulSenderPid,
    VOS_UINT32                          ulSendPara,
    USIMM_GET_FILE_INFO_STRU           *pstGetFileInfo)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_GetFileReq_Instance: call USIMM_GetFileReq");

        return USIMM_GetFileReq(ulSenderPid, ulSendPara, pstGetFileInfo);
    }
#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_GetFileReq_Instance: call I1_USIMM_GetFileReq");

        return I1_USIMM_GetFileReq(ulSenderPid, ulSendPara, pstGetFileInfo);
    }
#endif

    USIMM_ERROR_LOG("USIMM_GetFileReq_Instance: Para is Error");

    return USIMM_API_WRONG_PARA;
}
VOS_VOID USIMM_FdnQuery_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    VOS_UINT32                         *pulState)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_FdnQuery_Instance: call USIMM_FdnQuery");

        USIMM_FdnQuery(pulState);

        return;
    }
#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_FdnQuery_Instance: call I1_USIMM_FdnQuery");

        I1_USIMM_FdnQuery(pulState);

        return;
    }
#endif

    USIMM_ERROR_LOG("USIMM_FdnQuery_Instance: Para Is Error");

    *pulState = USIMM_FDNSTATUS_BUTT;

    return;
}
VOS_UINT32 USIMM_GetCachedFile_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    VOS_UINT16                          usFileID,
    VOS_UINT32                         *pulDataLen,
    VOS_UINT8                         **ppucData,
    USIMM_APP_TYPE_ENUM_UINT32          enAppType)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_GetCachedFile_Instance: call USIMM_GetCachedFile");

        return USIMM_GetCachedFile(usFileID, pulDataLen, ppucData, enAppType);
    }
#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_GetCachedFile_Instance: call I1_USIMM_GetCachedFile");

        return I1_USIMM_GetCachedFile(usFileID, pulDataLen, ppucData, enAppType);
    }
#endif

    USIMM_ERROR_LOG("USIMM_GetCachedFile_Instance: Para Is Error");

    return USIMM_API_WRONG_PARA;
}
VOS_UINT32 USIMM_DeactiveVsim(USIMM_MsgBlock *pMsg)
{
    USIMM_NORMAL_LOG("USIMM_DeactiveVSim: Deactive Card");

    USIMM_ClearVsimGlobal();

    return VOS_OK;
}
VOS_BOOL USIMM_IsTestCard_Instance(MODEM_ID_ENUM_UINT16 enModemID)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_IsTestCard_Instance: call USIMM_IsTestCard");

        return USIMM_IsTestCard();
    }

#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_IsTestCard_Instance: call I1_USIMM_IsTestCard");

        return I1_USIMM_IsTestCard();
    }
#endif

    USIMM_ERROR_LOG("USIMM_IsTestCard_Instance: Para Is Error");

    return VOS_FALSE;
}
VOS_BOOL USIMM_CheckSupportAP(VOS_VOID)
{
    NAS_NVIM_SYSTEM_APP_CONFIG_STRU stAPPConfig;

    if(NV_OK != NV_Read(en_NV_Item_System_APP_Config, &stAPPConfig, sizeof(VOS_UINT16)))
    {
        USIMM_ERROR_LOG("SI_STK_CheckSupportAP: Read en_NV_Item_System_APP_Config Failed");

        return VOS_FALSE;
    }

    if(SYSTEM_APP_ANDROID == stAPPConfig.usSysAppConfigType)
    {
        USIMM_NORMAL_LOG("SI_STK_CheckSupportAP: System App is Android");

        return VOS_TRUE;
    }

    USIMM_NORMAL_LOG("SI_STK_CheckSupportAP: System App is other");

    return VOS_FALSE;
}
VOS_UINT32 SI_PB_GetEccNumber_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    SI_PB_ECC_DATA_STRU                *pstEccData)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("SI_PB_GetEccNumber_Instance: call SI_PB_GetEccNumber");

        return SI_PB_GetEccNumber(pstEccData);
    }
#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("SI_PB_GetEccNumber_Instance: call I1_SI_PB_GetEccNumber");

        return I1_SI_PB_GetEccNumber(pstEccData);
    }
#endif

    USIMM_ERROR_LOG("SI_PB_GetEccNumber_Instance: Para Is Error");

    return VOS_ERR;
}
VOS_UINT32 PIH_DeregCardRefreshIndMsg_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    VOS_UINT32                          ulRegPID)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("PIH_DeregCardRefreshIndMsg_Instance: call PIH_RegCardRefreshIndMsg");

        return PIH_DeregCardRefreshIndMsg(ulRegPID);
    }
#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("PIH_DeregCardRefreshIndMsg_Instance: call PIH_RegCardRefreshIndMsg");

        return I1_PIH_DeregCardRefreshIndMsg(ulRegPID);
    }
#endif

    USIMM_ERROR_LOG("PIH_DeregCardRefreshIndMsg_Instance: Para Is Error");

    return VOS_ERR;
}
VOS_UINT32 USIMM_VsimIsActive_Instance(MODEM_ID_ENUM_UINT16 enModemID)
{
#if (FEATURE_VSIM == FEATURE_ON)
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_VsimIsActive_Instance: call USIMM_VsimIsActive");

        return USIMM_VsimIsActive();
    }

#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_VsimIsActive_Instance: call I1_USIMM_VsimIsActive");

        return I1_USIMM_VsimIsActive();
    }
#endif
#endif
    USIMM_ERROR_LOG("USIMM_VsimIsActive_Instance: Para is Error");

    return VOS_FALSE;
}
VOS_UINT32 USIMM_GetPinRemainTime_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    USIMM_PIN_REMAIN_STRU              *pstRemainTime)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_GetPinRemainTime_Instance: call USIMM_GetPinRemainTime");

        return USIMM_GetPinRemainTime(pstRemainTime);
    }
#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_GetPinRemainTime_Instance: call I1_USIMM_GetPinRemainTime");

        return I1_USIMM_GetPinRemainTime(pstRemainTime);
    }
#endif

    USIMM_ERROR_LOG("USIMM_GetPinRemainTime_Instance: Para Is Error");

    return USIMM_API_WRONG_PARA;
}
VOS_UINT32 USIMM_IsServiceAvailable_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    UICC_SERVICES_TYPE_ENUM_UINT32      enService)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_IsServiceAvailable_Instance: call USIMM_IsServiceAvailable");

        return USIMM_IsServiceAvailable(enService);
    }

#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_IsServiceAvailable_Instance: call I1_USIMM_IsServiceAvailable");

        return I1_USIMM_IsServiceAvailable(enService);
    }
#endif

    USIMM_ERROR_LOG("USIMM_IsServiceAvailable_Instance: Para Is Error");

    return PS_USIM_SERVICE_NOT_AVAILIABLE;
}
VOS_UINT32 USIMM_AuthReq_Instance(
    MODEM_ID_ENUM_UINT16                enModemID,
    VOS_UINT32                          ulSenderPid,
    USIMM_APP_TYPE_ENUM_UINT32          enAppType,
    USIMM_AUTH_DATA_STRU               *pstAuth)
{
    if (MODEM_ID_0 == enModemID)
    {
        USIMM_NORMAL_LOG("USIMM_AuthReq_Instance: call USIMM_AuthReq");

        return USIMM_AuthReq(ulSenderPid, enAppType, pstAuth);
    }

#if (FEATURE_MULTI_MODEM == FEATURE_ON)
    if (MODEM_ID_1 == enModemID)
    {
        return I1_USIMM_AuthReq(ulSenderPid, enAppType, pstAuth);
    }
#endif

    USIMM_ERROR_LOG("USIMM_AuthReq_Instance: Para Is Error");

    return USIMM_API_WRONG_PARA;
}
VOS_UINT32 USIMM_VsimGetRealKiOpc(VOS_UINT8 *pucKi, VOS_UINT8 *pucOpc)
{
    VOS_UINT8                           aucKey[VSIM_DH_AGREE_KEY] = {0};
    VOS_UINT8                           aucKi[USIMM_VSIM_SECUR_MAX_LEN];
    VOS_UINT8                           aucOpc[USIMM_VSIM_SECUR_MAX_LEN];
    NVIM_VSIM_HVSDH_NV_STRU             stNVDHKey;
    DH_KEY                              stDHPara;
    VSIM_KEYDATA_STRU                   stCPrivateKey;   /* 单板私钥 */

    VOS_MemSet(&stDHPara, 0, sizeof(stDHPara));

    if(VOS_NULL == g_stUSIMMVSimAuthInfo.ucKILen)
    {
        USIMM_ERROR_LOG("USIMM_VsimGetRealKiOpc: Ki Len is 0");
        return VOS_ERR;
    }

    if(NV_OK != NV_Read(en_NV_Item_VSIM_HVSDH_INFO, &stNVDHKey, sizeof(NVIM_VSIM_HVSDH_NV_STRU)))
    {
        USIMM_ERROR_LOG("USIMM_VsimGetRealKiOpc: NV Read Key is Failed");

        return VOS_ERR;
    }

    if(VSIM_ALGORITHM_NULL == stNVDHKey.enAlgorithm)
    {
        USIMM_WARNING_LOG("USIMM_VsimGetRealKiOpc: Algorithm is OFF");

        VOS_MemCpy(pucKi, g_stUSIMMVSimAuthInfo.aucKi, USIMM_AUTH_KI_LEN);

        VOS_MemCpy(pucOpc, g_stUSIMMVSimAuthInfo.aucOpc, USIMM_AUTH_OPC_LEN);

        return VOS_OK;
    }
    /* [false alarm]:fortify */
    if(VOS_OK != USIMM_VsimHUKDecode(stNVDHKey.stCPrivateKey.aucKey, 
                                        VSIM_DH_PRIVATE_KEY, 
                                        stCPrivateKey.aucKey, 
                                        &stCPrivateKey.ulKeyLen))
    {
        USIMM_ERROR_LOG("USIMM_VsimGetRealKiOpc: USIMM_VsimHUKDecode is Failed");/* [false alarm]:fortify */

        return VOS_ERR;
    }

    VOS_MemCpy(stDHPara.privateValue, stCPrivateKey.aucKey, VSIM_DH_PRIVATE_KEY);

    stDHPara.priVallen = VSIM_DH_PRIVATE_KEY;

    DH_FillFixParams(&stDHPara);

    if(VOS_OK != DH_ComputeAgreedKey(aucKey, stNVDHKey.stSPublicKey.aucKey, &stDHPara))
    {
        USIMM_ERROR_LOG("USIMM_VsimGetRealKiOpc: DH_ComputeAgreedKey is Failed");
        return VOS_ERR;
    }

    /* coverity[uninit_use_in_call] */
    if(VOS_FALSE == AESDecrypt(g_stUSIMMVSimAuthInfo.aucKi, g_stUSIMMVSimAuthInfo.ucKILen, aucKey, sizeof(aucKey), aucKi, sizeof(aucKi)))
    {
        USIMM_ERROR_LOG("USIMM_VsimGetRealKiOpc: AESDecrypt Ki is Failed");
        return VOS_ERR;
    }

    VOS_MemCpy(pucKi, aucKi, USIMM_AUTH_KI_LEN);

    if(VOS_NULL == g_stUSIMMVSimAuthInfo.ucOpcLen)
    {
        USIMM_NORMAL_LOG("USIMM_VsimGetRealKiOpc: Only get Ki Data");
        return VOS_OK;
    }

    /* coverity[uninit_use_in_call] */
    if(VOS_FALSE == AESDecrypt(g_stUSIMMVSimAuthInfo.aucOpc, g_stUSIMMVSimAuthInfo.ucOpcLen, aucKey, sizeof(aucKey), aucOpc, sizeof(aucOpc)))
    {
        USIMM_ERROR_LOG("USIMM_VsimGetRealKiOpc: AESDecrypt Opc is Failed");
        return VOS_ERR;
    }

    /* coverity[uninit_use_in_call] */
    VOS_MemCpy(pucOpc, aucOpc, USIMM_AUTH_OPC_LEN);

    USIMM_NORMAL_LOG("USIMM_VsimGetRealKiOpc: Get Ki and Opc Data");

    return VOS_OK;
}