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; }