const MERCURY_HAL_KERNEL_S MercuryHalKernel = { // thread Merc_ThreadCreate, Merc_ThreadCreateWithStack, Merc_ThreadExit, Merc_ThreadGetCurrentHandle, Merc_ThreadGetCurrentID, Merc_ThreadGetPriority, Merc_ThreadSetPriority, Merc_ThreadResume, Merc_ThreadSuspend, Merc_ThreadTerminate, Merc_ThreadEventQueue, Merc_ThreadSendMessage, Merc_ThreadGetMessage, Merc_ThreadPeekMessage, Merc_ThreadSleep, Merc_ThreadBreakPoint, Merc_ThreadThreadCount, Merc_ThreadGetAllStatus, // mem Merc_InitCustAppHeapSize, Merc_MemAlloc, Merc_MemReAlloc, Merc_MemCalloc, Merc_MemFree, Merc_SecureZeroMemory, Merc_GetAppHeapUsageStatus, // timer Merc_TimerCreate, Merc_TimerChange, Merc_TimerActive, Merc_TimerDeactive, Merc_TimerIsActive, Merc_TimerDelete, Merc_TimerGetCurrentTime, Merc_TimerGetTickCount, Merc_TimerSetLocalTime, Merc_TimerGetLocalTime, Merc_TimerCtrlSysnTimeFromNet, // event Merc_EventCreate, Merc_EventOpen, Merc_EventPulse, Merc_EventReset, Merc_EventSet, Merc_EventWaitForSingleObject, Merc_CriticalSectionInitialize, Merc_CriticalSectionEnter, Merc_CriticalSectionLeave, Merc_CriticalSectionDelete, Merc_SemaphoreCreate, Merc_SemaphoreDelete, Merc_SemaphoreAcquire, Merc_SemaphoreTryAcquire, Merc_SemaphoreRelease, Merc_MutexCreate, Merc_MutexDelete, Merc_MutexLock, Merc_MutexTryLock, Merc_MutexUnlock, Merc_MessageQueueCreate, Merc_MessageQueueDelete, Merc_MessageQueuePut, Merc_MessageQueueTryPut, Merc_MessageQueueGet, Merc_MessageQueueTryGet, Merc_MessageQueuePoll, Merc_MessageQueueAvailCount, Merc_TimerChangeEx, Merc_MessageQueueCheck, Merc_TimerGetLocalTimeZone, Merc_TimerSetLocalTimeZone, Merc_Critical_Enter, Merc_Critical_Exit, // null function,new api to modify it Merc_ThreadCreateWithName, Merc_TimerSetRTCAlarmTime, Merc_TimerGetRTCAlarmTime, Merc_TimerEnableRTCAlarm, Merc_ThreadSleepUs, Merc_TimerTickRateMs, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_GRAPHICS_S MercuryHalGraphics = { Merc_LcdInit, Merc_LcdMutilInit, Merc_LcdCustInit, Merc_LcdDeInit, Merc_LcdGetMode, Merc_LcdSetColor, Merc_LcdClearScreen, Merc_LcdDisplayText, Merc_LcdDisplayTextTransparent, Merc_LcdDisplayHorizLine, Merc_LcdDisplayBitMap, Merc_LcdDisplayBitMapGet, Merc_LcdDisplayBitMapRLE, Merc_LcdGetDirection, Merc_LcdSetDirection, Merc_LcdSetBackLightLevel, Merc_LcdSetScreenOffTimeout, Merc_LcdSetScreenOn, Merc_LcdSetScreenOff, Merc_LcdGetStatus, Merc_LcdPaintEnd, Merc_LcdSetColorRGB565, Merc_LcdDisplayLineRGB565, Merc_LcdDisplayPointRGB565, Merc_LcdGetRGB565, Merc_LcdEnableCloseBLToSleep, Merc_LcdEnableLPShow, Merc_LcdSetClock, Merc_LcdSendCommand, Merc_LcdSendData, Merc_LcdReadId, Merc_LcdSetIOVDD, Merc_LcdSetCustHWCtrl, // null function,new api to modify it Merc_LcdSetStartVisualPos, Merc_lcdSetAPBClk, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_BARSCAN_S MercuryHalBarScan = { Merc_Cam_Init, Merc_Cam_DeInit, Merc_Cam_StartScan, Merc_Cam_AbortScan, Merc_Cam_Suspend, Merc_Cam_Resume, Merc_Cam_Suspend_LP, Merc_Cam_Resume_LP, Merc_Cam_FeatureConfig, Merc_Cam_InitWithPara, Merc_Cam_QREnc, Merc_Cam_QRSetEncLEVEL, Merc_Cam_QRSetScanDensity, Merc_Cam_QRGetScanDensity, Merc_Cam_CfgSymbolEnable, Merc_Cam_GetBarLibVersion, Merc_Cam_SetPrescanLine, Merc_Cam_EnablePreviewFunc, Merc_Cam_PreviewLastDrawComplete, Merc_Cam_ReadSensorReg, Merc_Cam_WriteSensorReg, Merc_Cam_GetThreadPriority, Merc_Cam_SetThreadPriority, Merc_Cam_SetDecResultCallBack, Merc_Cam_SetDecOneDTimeOut, Merc_Cam_SetDecQRTimeOut, Merc_Cam_SetSensorDriver, Merc_Cam_GetExtBarLibVersion, Merc_Cam_Write3rdAuthCode, Merc_Cam_Read3rdAuthCode, Merc_Cam_Check3rdAuthCode, Merc_Cam_SetCustHWCtrl, Merc_Cam_EnableCamSrcClock, // null function,new api to modify it Merc_Cam_SetSensorPhydirect, Merc_Cam_GetSensorPhydirect, Merc_Cam_GetSensorName, Merc_Cam_SetSkipPreviewFrameRatio, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_AUDIO_S MercuryHalAudio = { Merc_AudioSetChannel, Merc_AudioGetChannel, Merc_AudioSetVolume, Merc_AudioGetVolume, Merc_AudioDtmfPlay, Merc_AudioDtmfAbort, Merc_AudioSingleTonePlay, Merc_AudioSingleToneAbort, Merc_AudioPcmStartPlay, Merc_AudioPcmFillData, Merc_AudioPcmStopPlay, Merc_AudioAmrStartPlay, Merc_AudioAmrStopPlay, Merc_AudioMP3StartPlay, Merc_AudioMP3StopPlay, Merc_AudioRecordStart, Merc_AudioRecordStop, Merc_AudioRecordPause, Merc_AudioRecordResume, Merc_AudioSetMute_wrap, Merc_AudioGetMute_wrap, Merc_AudioWavStarPlay_wrap, Merc_AudioWavStopPlay_wrap, // null function,new api to modify it Merc_AudioDtmfVolume_Wrap, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_TTS_S MercuryHalTts = { Merc_TtsCreateThread, Merc_TtsGetSDKID, Merc_TtsSetPlayState, Merc_TtsGetPlayState, Merc_TtsGetAudioPlayState, Merc_TtsSetAudioPlayState, Merc_TtsSendMsgToApp, // null function,new api to modify it Merc_TtsGetLoadAddr, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_PWM_S MercuryHalPwm = { Merc_PwmInit, Merc_PwmConfig, Merc_PwmStart, Merc_PwmStop, Merc_PwmDeinit, Merc_PwmConfig_Ex, Merc_PwmStart_Ex, Merc_PwmStop_Ex, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_FILE_S MercuryHalFile = { Merc_InitFileSystem, Merc_InitFileSystemPlus, Merc_InitFileSystemPlusAndPoint, Merc_DeinitFileSystem, Merc_CreateDirectory, Merc_DeleteDirectory, Merc_CreateFile, Merc_DeleteFile, Merc_ReadFile, Merc_WriteFile, Merc_RenameFile, Merc_GetFilePointer, Merc_SetFilePointer, Merc_FlushFileBuffers, Merc_GetFileSize, Merc_SetFileSize, Merc_CloseHandle, Merc_GetDeviceFreeSpace, Merc_GetDeviceUsedSpace, Merc_GetDeviceFreeSpacePoint, Merc_GetDeviceUsedSpacePoint, Merc_FindFirstFilePoint, Merc_FindFirstFile, Merc_FindNextFile, Merc_FindClose, Merc_SFSGetInitFlag, Merc_FormatAllPoint, Merc_FileFormatDisk, Merc_FileFormatDiskPoint, Merc_FileSpiConfig, Merc_FileSpiConfigGet, Merc_FileSpiConfigSet, Merc_InitFileSystemPlusPoint, // null function,new api to modify it Merc_InitFileSystemMain, Merc_OpenDirectory, Merc_ReadDirectory, Merc_CloseDirectory, Merc_GetFileSizeV2, Merc_InitFileSystemMemory, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_NV_S MercuryHalNv = { Merc_NVInit, Merc_NVDeinit, Merc_NVRead, Merc_NVWrite, Merc_NVDelete, Merc_NVFormat, Merc_NVConfig, Merc_NVAppInfoRead, Merc_NVAppInfoWrite, Merc_NVGetItemidDataLen, Merc_NVAppAutoRun_Read, Merc_NVAppAutoRun_Write, // null function,new api to modify it Merc_NVSpaceSizeGet, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_NET_S MercuryHalNet = { Merc_NetWorkGprsAttach, Merc_NetWorkGprsDetach, Merc_NetworkOpenPDP, Merc_NetworkClosePDP, Merc_NetWorkGetPDPStatus, Merc_NetWorkReadPDPState, Merc_NetWorkCfunSet, Merc_NetWorkCfunModeGet, Merc_NetWorkPSStatusSet, Merc_NetWorkPSStatusGet, Merc_NetworkSetPdpType, Merc_NetworkSetAPN, Merc_NetworkGetAPN, Merc_NetworkSetAuthType, Merc_NetworkSetMasterSimId, Merc_NetworkGetMasterSimId, Merc_NetworkSetPdpCid, Merc_NetworkGetPdpCid, Merc_NetworkGetSignalQuality, Merc_NetworkGetState, Merc_NetworkSetMode, Merc_NetworkGetMode, Merc_NetworkSelectBand, Merc_NetWorkReadQosProfileR98, Merc_NetWorkSetQosProfileR98, Merc_NetWorkReadQosProfileEps, Merc_NetWorkSetQosProfileEps, Merc_NetWorkGetServiceMode, Merc_NetWorkSetServiceMode, Merc_NetWorkSetGsmBandLock, Merc_NetWorkSetLteBandLock, Merc_NetWorkGetLteBandLock, Merc_NetWorkSetLteFreqLock, Merc_NetWorkGetLteFreqLock, Merc_NetWorkBaseStationInfoGetV2, Merc_NetWorkSetDnsServer, Merc_NetWorkGetDnsServer, Merc_NetWorkIPAddrGet, Merc_RegisterNetIndNotifyCallback, Merc_NetRegisterCmdReqCallback, Merc_NetUnRegisterCmdReqCallback, Merc_NetWorkGetOperatorName, Merc_NetWorkGetGprsAttState, Merc_NetWorkSetPdpCxt, Merc_NetWorkGetPdpCxt, Merc_NetFindRegistryByEventid, Merc_NetWorkQueryOperators, Merc_NetWorkSetCurrOperator, Merc_NetWorkQueryPerfOperators, Merc_NetWorkSetPerfOperator, Merc_NetWorkGetExtendedSignalQuality, Merc_NetWorkGetPrefPlmnList, Merc_NetWorkSetPrefPlmnList, Merc_NetworkSetBand, // null function,new api to modify it Merc_NetWorkGetImsRegStatus, Merc_NetWorkSetImsRegStatus, Merc_NetWorkGetDefaultPDPContext, Merc_NetwrokRftestReq, Merc_NetworkPsmConfig, Merc_NetworkGetPacketCounter, Merc_NetworkSetAPNEx, Merc_NetworkSetAutoAttachFlag, Merc_NetworkGetAutoAttachFlag, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_SOCKET_S MercuryHalSocket = { Merc_Soc_SetLocErr, Merc_Soc_Create, Merc_Soc_ModifyNetId, Merc_Soc_Bind, Merc_Soc_Connect, Merc_Soc_Send, Merc_Soc_SendTo, Merc_Soc_RecvFrom, Merc_Soc_Recv, Merc_Soc_Shutdown, Merc_Soc_Close, Merc_Soc_GetErrNo, Merc_Soc_SetOpt, Merc_Soc_GetOpt, Merc_Soc_SetOptEx, Merc_Soc_GetOptEx, Merc_Soc_GetState, Merc_Soc_Listen, Merc_Soc_Accept, Merc_Soc_Select, Merc_Soc_SelectEx, Merc_Soc_FD_CLR, Merc_Soc_FD_SET, Merc_Soc_FD_ISSET, Merc_Soc_FD_ZERO, Merc_Soc_IOCTL, Merc_Soc_FCNTL, Merc_Soc_GetPeerName, Merc_Soc_GetSocketName, Merc_Soc_INetAtoN, Merc_Soc_INetNtoA, Merc_Soc_INetPtoN, Merc_Soc_INetNtoP, Merc_Soc_GetHostByName, Merc_Soc_FreeAddrInfo, Merc_Soc_GetAddrInfo, Merc_Soc_Set_DnsCache_En_Flag, Merc_Soc_Get_DnsCache_En_Flag, Merc_Soc_PingRequest, Merc_Soc_Ping4Request, Merc_Soc_Ping6Request, Merc_Soc_PingCancel, // null function,new api to modify it Merc_Soc_Get_AsyncDnsQuery_Queue_State, Merc_Soc_SetStdRes, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_NTP_S MercuryHalNtp = { Merc_NtpSyncStart, Merc_NtpSetServer, Merc_NtpSetPdpCid, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_GPIO_S MercuryHalGpio = { Merc_GPIOInit, Merc_GPIODeinit, Merc_GPIOSetBit, Merc_GPIOClrBit, Merc_GPIOGetBit, Merc_GPIOSetMode, Merc_GIOTestMode, Merc_PinSetGpio, Merc_PADSetDriving, Merc_PADSetPull, Merc_PADSetInout, Merc_GIOSetIntrMode, Merc_GPIOGetDirection, Merc_GPIOSetPowerDomainLevel, // null function,new api to modify it Merc_PinRegValueRead, Merc_GPIOSetFastIsrMode, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_USB_S MercuryHalUsb = { Merc_UsbModeSet, Merc_UsbModeGet, merc_fastbootStateSet, merc_fastbootStateGet, Merc_UsbRead, Merc_UsbWrite, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_COM_S MercuryHalCom = { Merc_ComCfgInit, Merc_ComInit, Merc_ComDeinit, Merc_ComConfig, Merc_ComGetConfig, Merc_ComNotifySetCB, Merc_ComRead, Merc_ComWrite, Merc_ComReadAvail, Merc_ComWriteAvail, Merc_ComReadFlush, Merc_ComWriteFlush, Merc_ComGetWriteFinish, Merc_Debug, Merc_VirComSetCb, Merc_VirComRead, Merc_VirComWrite, Merc_VirCom_Read, Merc_VirCom_Write, Merc_VirCom_ReadAvail, Merc_VirCom_WriteAvail, Merc_VirCom_ReadFlush, Merc_VirCom_WriteFlush, Merc_VirCom_GetWriteFinish, Merc_ComSleepControl, Merc_ComWriteEx, // null function,new api to modify it Merc_ComSetRxWakeup, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_SPI_S MercuryHalSpi = { Merc_SPIInit, Merc_SPIDeinit, Merc_SPIRead, Merc_SPIWrite, Merc_SPIWriteRead, Merc_SPIConfig, Merc_SPIDmaStateSet, Merc_SPIDmaStateGet, Merc_SPICsCfg, // null function,new api to modify it Merc_SPIPortSelect, Merc_SPIGetLogicIDInfo, Merc_SPIStartDelaySet, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_I2C_S MercuryHalI2c = { Merc_I2CPinSet, Merc_I2CInit, Merc_I2CDeinit, Merc_I2CRead, Merc_I2CWrite, Merc_I2CIoctl, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_KPD_S MercuryHalKpd = { Merc_KP_Init, Merc_KP_Deinit, Merc_KP_RegisterApp, Merc_KP_DeregisterApp, Merc_KP_SetFocus, Merc_KP_SetKeyPressSound, Merc_KP_SetBlackLight, Merc_PowKeyDelRegister, Merc_KP_SetPowerKeyAction, Merc_PowKeyState, Merc_PowKeyLongPressTimeSet, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_NLED_S MercuryHalNLed = { Merc_NLedInit, Merc_NLedDeinit, Merc_NLedSetMode, Merc_ConfigLedGpioId, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_POWERMANAGER_S MercuryHalPowerManager = { Merc_PmWakeLock, Merc_PmWakeUnlock, Merc_PmSystemAutoSleep, Merc_PmPowerOff, Merc_PmPowerReboot, Merc_PmPowerGetChgCurrent, Merc_PmPowerGetVoltPercent, Merc_PmSetChgOverHighTemp, Merc_PmSetChgBelowTemp, Merc_PmSetChgEndVol, Merc_PmSetRechgVol, Merc_PmGetAdpType, Merc_PmBatteryGetStatus, Merc_PmSet7sReset, Merc_PmSet7sResetThreshold, Merc_PmAdcGetVol, // null function,new api to modify it Merc_PmSetChargerControlPin, Merc_PmGetChargerControlPin, Merc_PmAdcGetAdcValue, Merc_PmExtonRegister, Merc_PmSetChargerBoardParam, Merc_PmChargerInit, Merc_PmPowerRebootWithoutPMURst, Merc_PmPowerOffNoRTC, Merc_PmSetTempDetect, Merc_PmGetTempDetect, }; const MERCURY_HAL_SMARTCARD_S MercuryHalSmartCard = { // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_CSTD_STRING_S MercuryHalCStdString = { // string.h Merc_Memcpy, Merc_Memmove, Merc_Strcpy, Merc_Strncpy, Merc_Strcat, Merc_Strncat, Merc_Memcmp, Merc_Strcmp, Merc_Strcoll, Merc_Strncmp, Merc_Strnicmp, Merc_Strxfrm, Merc_Memchr, Merc_Memscan, Merc_Strchr, Merc_Strcspn, Merc_Strpbrk, Merc_Strrchr, Merc_Strspn, Merc_Strstr, Merc_Strtok, Merc_Strtok_r, Merc_Strsep, Merc_Memset, Merc_Strerror, Merc_Strlen, Merc_Strnlen, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_CSTD_CTYPE_S MercuryHalCStdCtype = { //ARM ctype.h Merc_Isalnum, Merc_Isalpha, Merc_Iscntrl, Merc_Isgraph, Merc_Islower, Merc_Isprint, Merc_Ispunct, Merc_Isspace, Merc_Isupper, Merc_Isxdigit, Merc_Tolower, Merc_Toupper, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_CSTD_STDLIB_S MercuryHalCStdLib = { // ARM stdlib.h Merc_Atoi, Merc_Atol, Merc_atof, Merc_Strtol, Merc_Strtoul, Merc_Strtoull, Merc_Strtod, Merc_Strtof, Merc_Rand, Merc_Srand, Merc_Qsort, Merc_Bsearch, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_CSTD_STDIO_S MercuryHalCStdIO = { // ARM stdio.h sprintf, snprintf, Merc_Vsprintf, Merc_Vsnprintf, sscanf, Merc_Vsscanf, asprintf, Merc_Vasprintf, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_CSTD_MATH_S MercuryHalCStdMath = { // math.h Merc_Abs, Merc_Floor, Merc_Pow, Merc_Fabs, Merc_sin, Merc_cos, Merc_asin, Merc_acos, Merc_sqrt, Merc_atan, Merc_atan2, Merc_cosh, Merc_sinh, Merc_tanh, Merc_exp, Merc_frexp, Merc_ldexp, Merc_log, Merc_log10, Merc_modf, Merc_ceil, Merc_fmod, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_CSTD_TIME_S MercuryHalCStdTime = { Merc_Asctime, Merc_Ctime, Merc_Difftime, Merc_Gmtime, Merc_Localtime, Merc_Mktime, Merc_Time, // null function,new api to modify it Merc_Asctime_r, Merc_Ctime_r, Merc_Gmtime_r, Merc_Localtime_r, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_FOTA_S MercuryHalFota = { Merc_FOTA_Init, Merc_FOTA_ImgInfoSet, Merc_FOTA_WroteLenGet, Merc_FOTA_FlashWrite, Merc_FOTA_FlashRead, Merc_FOTA_RawDataInfoSet, Merc_FOTA_RawDataClear, Merc_APP_FlashErase, Merc_APP_FlashWrite, Merc_APP_FlashRead, Merc_LOGO_FlashErase, Merc_LOGO_FlashWrite, Merc_LOGO_FlashRead, Merc_APP_FlashEraseExt, Merc_APP_FlashWriteExt, Merc_APP_FlashReadExt, Merc_FotaUpgrade_Config, Merc_FotaUpgrade_Deinit, Merc_FotaUpgrade_Init, Merc_FotaUpgrade_Write, Merc_FotaUpgrade_Read, Merc_FotaUpgrade_GetLen, Merc_FotaUpgrade_Start, Merc_FotaUpgrade_GetSpace, Merc_FotaUpgrade_SetInfo, // null function,new api to modify it Merc_FotaUpgrade_SetCmdType, Merc_FotaUpgrade_GetUpdateStatus, Merc_FotaUpgrade_ClearUpdateResult, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_MOBILE_S MercuryHalMobile = { Merc_SimReq_wrap, Merc_SimMasterID_wrap, Merc_SimImeiRead_wrap, Merc_SimInfo_wrap, Merc_SimEid_wrap, Merc_SimPinContrl_wrap, Merc_SimCrsmFunc_wrap, Merc_RegisterSIMCmdReqCallback, Merc_TelephonyVoiceDial, Merc_TelephonyPppDial, Merc_TelephonyAnswer, Merc_TelephonyHangup, Merc_SmsRead, Merc_SmsDelete, Merc_SmsSendText, Merc_SmsSendPdu, Merc_SmsSetCenterAddress, Merc_SmsGetCenterAddress, Merc_SmsSetMsgMode, Merc_SmsGetMsgMode, Merc_SmsSetCodeMode, Merc_SmsGetCodeMode, Merc_SmsSetSaveLocation, Merc_SimGetDevStatus_wrap, Merc_SimGenericAccess_wrap, Merc_SimACM_wrap, Merc_SsGetCallIdStatus, Merc_SsSetCallIdStatus, // null function,new api to modify it Merc_Sim2Close_wrap, Merc_Sim2IsClose_wrap, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_DATAPROCESS_S MercuryHalDataProcess = { // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_SECURE_S MercuryHalSecure = { // null function,new api to modify it Merc_readPubKey, Merc_RsaKeyCreat, Merc_RsaFree, Merc_RsaCheckPubkey, Merc_RsaPkcs1Encrypt_Ex, Merc_RsaPkcs1Decrypt_Ex, Merc_RsaInit, Merc_RsaGenKey, Merc_RsaCheckPrivkey, Merc_RsaPublic, Merc_RsaPrivate, Merc_RsaPkcs1Encrypt, Merc_RsaPkcs1Decrypt, Merc_RsaPkcs1Sign, Merc_RsaPkcs1Verify, Merc_secbootReadFlag, Merc_CryptoVerifyWithPk, merc_sec_readPubKeyString, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_CALIB_S MercuryHalCalib = { Merc_SetCalibMode, Merc_GetCalibMode, Merc_PLCalInfoOps, MRDInitNucleus, Merc_MrdFileOps, FDI_findfirst, FDI_fopen, FDI_fread, FDI_fclose, Rdisk_fopen, Rdisk_fwrite, Rdisk_fclose, Rdisk_remove, nvm_cache_flush_all, GetDspFWVersionAndDate, GetRFBinFWVersion, GetRFBinFWDate, Merc_MrdAdc, Merc_MrdCdf, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_PUBLIC_S MercuryHalPublic = { Merc_RegNotifyCallback, Merc_PlatTracePrintf, Merc_GetPrivateModeName, Merc_GetProductModelParam, Merc_GetVersion, Merc_clearAppFlag, // null function,new api to modify it Merc_SetTraceCfg, Merc_EnableWatchDog, Merc_GetWatchDogPriority, Merc_SetWatchDogPriority, Merc_Psm_commit, merc_writeImei, merc_deleteImei, merc_readCheckCode, merc_writeCheckCode, Merc_CheckSum, Merc_readMercuryID, merc_WriteProductCfg, merc_ReadProductCfg, Merc_SetAppType, Merc_GetAppType, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_TLS_SHA_S MercuryHalTlsShaApi = { Merc_Sha1Init, Merc_Sha1Free, Merc_Sha1Clone, Merc_Sha1Starts, Merc_Sha1Update, Merc_Sha1Finish, Merc_Sha1, Merc_Sha256Init, Merc_Sha256Free, Merc_Sha256Clone, Merc_Sha256Starts, Merc_Sha256Update, Merc_Sha256Finish, Merc_Sha256, Merc_Md5Init, Merc_Md5Free, Merc_Md5Clone, Merc_Md5Starts, Merc_Md5Update, Merc_Md5Finish, Merc_Md5, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_TLS_DES_S MercuryHalTlsDesApi = { Merc_DesInit, Merc_DesFree, Merc_Des3Init, Merc_Des3Free, Merc_DesKeySetParity, Merc_DesKeyCheckKeyParity, Merc_DesKeyCheckWeak, Merc_DesSetkeyEnc, Merc_DesSetkeyDec, Merc_Des3Set2KeyEnc, Merc_Des3Set2KeyDec, Merc_Des3Set3KeyEnc, Merc_Des3Set3KeyDec, Merc_DesCryptEcb, Merc_DesCryptCbc, Merc_Des3CryptEcb, Merc_Des3CryptCbc, Merc_DesDecrypt, Merc_DesCryptEcb_Data, Merc_Des3CryptEcb_Data, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_WIFI_S MercuryHalWifiAPI = { Merc_WifiScanStart, Merc_WifiScanStop, // null function,new api to modify it Merc_WifiScanSetCfgInfo, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_NETIF_S MercuryHalNetifAPI = { Merc_Netif_Set_Nat_Mode, Merc_Netif_Get_Nat_Mode, // null function,new api to modify it merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, merc_NullFunc, }; const MERCURY_HAL_MORE_S MercuryHalMore = { }; static const MERCURY_HAL_API_S s_MercuryHalApi = { &MercuryHalKernel, &MercuryHalGraphics, &MercuryHalBarScan, &MercuryHalAudio, &MercuryHalTts, &MercuryHalPwm, &MercuryHalFile, &MercuryHalNv, &MercuryHalNet, &MercuryHalSocket, &MercuryHalNtp, &MercuryHalGpio, &MercuryHalUsb, &MercuryHalCom, &MercuryHalSpi, &MercuryHalI2c, &MercuryHalKpd, &MercuryHalNLed, &MercuryHalPowerManager, &MercuryHalSmartCard, &MercuryHalPublic, &MercuryHalCStdString, &MercuryHalCStdCtype, &MercuryHalCStdLib, &MercuryHalCStdIO, &MercuryHalCStdMath, &MercuryHalCStdTime, &MercuryHalFota, &MercuryHalMobile, &MercuryHalDataProcess, &MercuryHalSecure, &MercuryHalCalib, &MercuryHalTlsShaApi, &MercuryHalTlsDesApi, &MercuryHalWifiAPI, &MercuryHalNetifAPI, &MercuryHalMore };