summaryrefslogtreecommitdiff
path: root/src/util/timer
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/timer')
-rw-r--r--src/util/timer/timer_windows.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/util/timer/timer_windows.c b/src/util/timer/timer_windows.c
index f26e56a..4ff95ff 100644
--- a/src/util/timer/timer_windows.c
+++ b/src/util/timer/timer_windows.c
@@ -14,8 +14,17 @@ static const s64 UNIX_TIME_START = 0x019DB1DED53E8000; // January 1st, 1970 in "
u64 nn_get_timestamp(void)
{
- FILETIME ft;
- GetSystemTimePreciseAsFileTime(&ft);
- return (((LARGE_INTEGER){ .LowPart = ft.dwLowDateTime, .HighPart = ft.dwHighDateTime }).QuadPart -
- UNIX_TIME_START) / 10Lu;
+ FILETIME ft;
+#ifdef NAUNET_WIN32_COMPAT_MODE
+ GetSystemTimeAsFileTime(&ft);
+#else
+ // https://github.com/llvm/llvm-project/commit/3ec634e65a02d5f443cc982e9e00ec4e51143d07
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8 && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)) || \
+ (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
+ GetSystemTimePreciseAsFileTime(&ft);
+#else
+#error "GetSystemTimePreciseAsFileTime() requested but not supported."
+#endif
+#endif
+ return (((LARGE_INTEGER){ .LowPart = ft.dwLowDateTime, .HighPart = ft.dwHighDateTime }).QuadPart - UNIX_TIME_START) / 10u;
}