1*1c60b9acSAndroid Build Coastguard Worker #include <time.h> 2*1c60b9acSAndroid Build Coastguard Worker #include <windows.h> 3*1c60b9acSAndroid Build Coastguard Worker 4*1c60b9acSAndroid Build Coastguard Worker #include "gettimeofday.h" 5*1c60b9acSAndroid Build Coastguard Worker 6*1c60b9acSAndroid Build Coastguard Worker #ifndef LWS_MINGW_SUPPORT gettimeofday(struct timeval * tv,struct timezone * tz)7*1c60b9acSAndroid Build Coastguard Workerint gettimeofday(struct timeval *tv, struct timezone *tz) 8*1c60b9acSAndroid Build Coastguard Worker { 9*1c60b9acSAndroid Build Coastguard Worker FILETIME ft; 10*1c60b9acSAndroid Build Coastguard Worker unsigned __int64 tmpres = 0; 11*1c60b9acSAndroid Build Coastguard Worker static int tzflag; 12*1c60b9acSAndroid Build Coastguard Worker 13*1c60b9acSAndroid Build Coastguard Worker if (NULL != tv) { 14*1c60b9acSAndroid Build Coastguard Worker GetSystemTimeAsFileTime(&ft); 15*1c60b9acSAndroid Build Coastguard Worker 16*1c60b9acSAndroid Build Coastguard Worker tmpres |= ft.dwHighDateTime; 17*1c60b9acSAndroid Build Coastguard Worker tmpres <<= 32; 18*1c60b9acSAndroid Build Coastguard Worker tmpres |= ft.dwLowDateTime; 19*1c60b9acSAndroid Build Coastguard Worker 20*1c60b9acSAndroid Build Coastguard Worker /*converting file time to unix epoch*/ 21*1c60b9acSAndroid Build Coastguard Worker tmpres /= 10; /*convert into microseconds*/ 22*1c60b9acSAndroid Build Coastguard Worker tmpres -= DELTA_EPOCH_IN_MICROSECS; 23*1c60b9acSAndroid Build Coastguard Worker tv->tv_sec = (long)(tmpres / 1000000UL); 24*1c60b9acSAndroid Build Coastguard Worker tv->tv_usec = (long)(tmpres % 1000000UL); 25*1c60b9acSAndroid Build Coastguard Worker } 26*1c60b9acSAndroid Build Coastguard Worker 27*1c60b9acSAndroid Build Coastguard Worker if (NULL != tz) { 28*1c60b9acSAndroid Build Coastguard Worker if (!tzflag) { 29*1c60b9acSAndroid Build Coastguard Worker _tzset(); 30*1c60b9acSAndroid Build Coastguard Worker tzflag++; 31*1c60b9acSAndroid Build Coastguard Worker } 32*1c60b9acSAndroid Build Coastguard Worker tz->tz_minuteswest = _timezone / 60; 33*1c60b9acSAndroid Build Coastguard Worker tz->tz_dsttime = _daylight; 34*1c60b9acSAndroid Build Coastguard Worker } 35*1c60b9acSAndroid Build Coastguard Worker 36*1c60b9acSAndroid Build Coastguard Worker return 0; 37*1c60b9acSAndroid Build Coastguard Worker } 38*1c60b9acSAndroid Build Coastguard Worker #endif 39