diff options
| author | scarab <scarab@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-07-24 21:52:47 +0000 |
|---|---|---|
| committer | scarab <scarab@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-07-24 21:52:47 +0000 |
| commit | 1cbcfe088fd1cb54a1e562a0ef872cf4b9c6e64c (patch) | |
| tree | b41060a58c0395aee1026f8a958e0590ccd020b0 /src/base/myTimer.c | |
| parent | 5db4fc63dc273e8a4a57f63de3f73e43c2751747 (diff) | |
- uprava udp pro fungovani na win
- pridani fuknce na ziskani precizniho casu do mytimer.c
- uprava hlasek do EN
git-svn-id: http://opensvn.csie.org/tuxanci_ng@162 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/base/myTimer.c')
| -rw-r--r-- | src/base/myTimer.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/base/myTimer.c b/src/base/myTimer.c index 7bfb91a..114f9d7 100644 --- a/src/base/myTimer.c +++ b/src/base/myTimer.c @@ -14,6 +14,44 @@ #include "interface.h" #endif +#ifdef __WIN32__ +#include <windows.h> +#include <time.h> +#define DELTA_EPOCH_IN_MICROSECS 11644473600000000ULL +struct timezone +{ + int tz_minuteswest; + int tz_dsttime; +}; + +int gettimeofday(struct timeval *tv, struct timezone *tz) +{ + FILETIME ft; + unsigned __int64 tmpres = 0; + static int tzflag; + if (NULL != tv) { + GetSystemTimeAsFileTime(&ft); + tmpres |= ft.dwHighDateTime; + tmpres <<= 32; + tmpres |= ft.dwLowDateTime; + /*converting file time to unix epoch*/ + tmpres /= 10; /*convert into microseconds*/ + tmpres -= DELTA_EPOCH_IN_MICROSECS; + tv->tv_sec = (long)(tmpres / 1000000UL); + tv->tv_usec = (long)(tmpres % 1000000UL); + } + if (NULL != tz) { + if (!tzflag) { + _tzset(); + tzflag++; + } + tz->tz_minuteswest = _timezone / 60; + tz->tz_dsttime = _daylight; + } + return 0; +} +#endif + static struct timeval start = { .tv_sec = 0, .tv_usec = 0 }; list_t* newTimer() |