| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #ifdef _WIN32
- #include <time.h>
- #ifndef METRO
- #include <winsock2.h>
- #endif
- #include <windows.h>
- #if defined(_MSC_VER) || defined(_MSC_EXTENSIONS)
- #define DELTA_EPOCH_IN_MICROSECS 11644473600000000Ui64
- #else
- #define DELTA_EPOCH_IN_MICROSECS 11644473600000000ULL
- #endif
- struct timeval;
- int gettimeofday(struct timeval *tv, struct timezone *tz)
- {
- FILETIME ft;
- unsigned __int64 tmpres = 0;
- if (tv)
- {
- GetSystemTimeAsFileTime(&ft);
- tmpres |= ft.dwHighDateTime;
- tmpres <<= 32;
- tmpres |= ft.dwLowDateTime;
- tmpres /= 10; /*convert into microseconds*/
- /*converting file time to unix epoch*/
- tmpres -= DELTA_EPOCH_IN_MICROSECS;
- tv->tv_sec = (long)(tmpres / 1000000UL);
- tv->tv_usec = (long)(tmpres % 1000000UL);
- }
- return 0;
- }
- #else
- void fz_gettimeofday_dummy() { }
- #endif
|