37 #define SECSPERDAY 86400 39 #define SECS_1601_TO_1970 ((369 * 365 + 89) * (ULONGLONG)SECSPERDAY) 40 #define TICKSPERSEC 10000000 41 #define TICKSPERMSEC 10000 42 #define TICKS_1601_TO_1970 (SECS_1601_TO_1970 * TICKSPERSEC) 45 #define NEWYEAR_1980_HI 0x01a8e79f 46 #define NEWYEAR_1980_LO 0xe1d58000 48 #define MAYDAY_2002_HI 0x01c1f107 49 #define MAYDAY_2002_LO 0xb82b6000 51 #define ATIME_HI 0x1c2349b 52 #define ATIME_LOW 0x580716b0 54 #define LOCAL_ATIME_HI 0x01c23471 55 #define LOCAL_ATIME_LOW 0x6f310eb0 57 #define DOS_DATE(y,m,d) ( (((y)-1980)<<9) | ((m)<<5) | (d) ) 58 #define DOS_TIME(h,m,s) ( ((h)<<11) | ((m)<<5) | ((s)>>1) ) 61 #define SETUP_1980(st) \ 68 (st).wMilliseconds = 0; 70 #define SETUP_2002(st) \ 77 (st).wMilliseconds = 0; 79 #define SETUP_ATIME(st) \ 86 (st).wMilliseconds = 123; 88 #define SETUP_ZEROTIME(st) \ 95 (st).wMilliseconds = 0; 97 #define SETUP_EARLY(st) \ 104 (st).wMilliseconds = 999; 119 "EARLY should be INVALID\n");
124 "Wrong time for ATIME: %08x %08x (correct %08x %08x)\n",
131 "Wrong time for ATIME: %08x %08x (correct %08x %08x)\n",
140 "Wrong time for 2002 %08x %08x (correct %08x %08x)\n", ft.
dwLowDateTime,
149 "Wrong time for 1980 %08x %08x (correct %08x %08x)\n", ft.
dwLowDateTime,
153 "DosDateTimeToFileTime() failed\n");
157 "Wrong time DosDateTimeToFileTime %08x %08x (correct %08x %08x)\n",
172 "DosDateTimeToFileTime() failed\n");
228 trace(
"unknown time zone id %d\n", tz_id);
237 char std_name[32], dlt_name[32];
263 trace(
"tz_id %u (%s)\n", tz_id,
267 "TIME_ZONE_ID_INVALID")));
271 trace(
"bias %d, %s - %s\n", tzinfo.
Bias, std_name, dlt_name);
272 trace(
"standard (d/m/y): %u/%02u/%04u day of week %u %u:%02u:%02u.%03u bias %d\n",
278 trace(
"daylight (d/m/y): %u/%02u/%04u day of week %u %u:%02u:%02u.%03u bias %d\n",
285 diff = (
LONG)(s_time - l_time);
287 "system/local diff %d != tz bias %d\n",
291 "SetEnvironmentVariableA failed\n");
298 "Bias influenced by TZ variable\n");
300 "SetEnvironmentVariableA failed\n");
302 if (!pSystemTimeToTzSpecificLocalTime)
304 win_skip(
"SystemTimeToTzSpecificLocalTime not available\n");
312 res = pSystemTimeToTzSpecificLocalTime(&tzinfo, &
utc, &
current);
315 win_skip(
"SystemTimeToTzSpecificLocalTime is not implemented\n");
325 res = pSystemTimeToTzSpecificLocalTime(&tzinfo, &
utc, &
local);
328 ok(l_time - s_time == diff -
get_tz_bias(&tzinfo, tz_id),
"got %d, expected %d\n",
339 res = pSystemTimeToTzSpecificLocalTime(&tzinfo, &
utc, &
local);
342 ok(l_time - s_time == diff,
"got %d, expected %d\n",
343 (
LONG)(l_time - s_time), diff);
346 memset(&tzinfo, 0,
sizeof(tzinfo));
362 res = pSystemTimeToTzSpecificLocalTime(&tzinfo, &
utc, &
local);
365 "got (%d-%d-%d %02d:%02d), expected (2012-12-31 23:01)\n",
380 "FileTimeToSystemTime() failed with Error %d\n",
GetLastError());
390 "FileTimeToSystemTime() failed with Error %d\n",
GetLastError());
394 "Got Year %4d Month %2d Day %2d Hour %2d Min %2d Sec %2d mSec %3d\n",
417 "FileTimeToLocalFileTime() failed with Error %d\n",
GetLastError());
422 "Got Year %4d Month %2d Day %2d Hour %2d Min %2d Sec %2d mSec %3d\n",
427 "SetEnvironmentVariableA failed\n");
431 "FileTimeToLocalFileTime() failed with Error %d\n",
GetLastError());
436 "Got Year %4d Month %2d Day %2d Hour %2d Min %2d Sec %2d mSec %3d\n",
440 "SetEnvironmentVariableA failed\n");
456 if (!pTzSpecificLocalTimeToSystemTime || !pSystemTimeToTzSpecificLocalTime)
458 win_skip(
"TzSpecificLocalTimeToSystemTime or SystemTimeToTzSpecificLocalTime not available\n");
502 { 1, &tzE, {2004,3,-1,28,1,0,0,0}, 15 },
503 { 2, &tzE, {2004,3,-1,28,1,59,59,999}, 15},
504 { 3, &tzE, {2004,3,-1,28,2,0,0,0}, 15},
506 { 4, &tzE, {2004,10,-1,31,2,0,0,0} , 15 },
507 { 5, &tzE, {2004,10,-1,31,2,59,59,999}, 15 },
508 { 6, &tzE, {2004,10,-1,31,3,0,0,0}, 17 },
510 { 7, &tzW, {2004,4,-1,4,1,0,0,0}, 5},
511 { 8, &tzW, {2004,4,-1,4,1,59,59,999}, 5},
512 { 9, &tzW, {2004,4,-1,4,2,0,0,0}, 5},
513 { 10, &tzW, {2004,10,-1,24,1,0,0,0}, 4},
514 { 11, &tzW, {2004,10,-1,24,1,59,59,999}, 4},
515 { 12, &tzW, {2004,10,-1,24,2,0,0,0 }, 6},
517 { 13, &tzS, {2004,4,-1,4,1,0,0,0}, 4},
518 { 14, &tzS, {2004,4,-1,4,1,59,59,999}, 4},
519 { 15, &tzS, {2004,4,-1,4,2,0,0,0}, 6},
520 { 16, &tzS, {2004,10,-1,24,1,0,0,0}, 5},
521 { 17, &tzS, {2004,10,-1,24,1,59,59,999}, 5},
522 { 18, &tzS, {2004,10,-1,24,2,0,0,0}, 5},
551 for(
j=0 , year = 1999; yeardays[
j][0] ;
j++, year++) {
552 for (
i=0; cases[
i].
nr;
i++) {
553 if(
i) cases[
i].
nr += 18;
556 pTzSpecificLocalTimeToSystemTime( cases[
i].ptz, &(cases[
i].slt), &
result);
558 "Test TzSpecificLocalTimeToSystemTime #%d. Got %4d-%02d-%02d %02d:%02d. Expect hour = %02d\n",
567 { 1, &tzE, {2004,3,-1,27,15,0,0,0}, 1 },
568 { 2, &tzE, {2004,3,-1,27,15,59,59,999}, 1},
569 { 3, &tzE, {2004,3,-1,27,16,0,0,0}, 3},
571 { 4, &tzE, {2004,10,-1,30,15,0,0,0}, 2 },
572 { 5, &tzE, {2004,10,-1,30,15,59,59,999}, 2 },
573 { 6, &tzE, {2004,10,-1,30,16,0,0,0}, 2 },
575 { 7, &tzW, {2004,4,-1,4,5,0,0,0}, 1},
576 { 8, &tzW, {2004,4,-1,4,5,59,59,999}, 1},
577 { 9, &tzW, {2004,4,-1,4,6,0,0,0}, 3},
578 { 10, &tzW, {2004,10,-1,24,4,0,0,0}, 1},
579 { 11, &tzW, {2004,10,-1,24,4,59,59,999}, 1},
580 { 12, &tzW, {2004,10,-1,24,5,0,0,0 }, 1},
582 { 13, &tzS, {2004,4,-1,4,4,0,0,0}, 1},
583 { 14, &tzS, {2004,4,-1,4,4,59,59,999}, 1},
584 { 15, &tzS, {2004,4,-1,4,5,0,0,0}, 1},
585 { 16, &tzS, {2004,10,-1,24,5,0,0,0}, 1},
586 { 17, &tzS, {2004,10,-1,24,5,59,59,999}, 1},
587 { 18, &tzS, {2004,10,-1,24,6,0,0,0}, 3},
617 for(
j=0 , year = 1999; yeardays[
j][0] ;
j++, year++) {
618 for (
i=0; cases[
i].
nr;
i++) {
619 if(
i) cases[
i].
nr += 18;
622 pSystemTimeToTzSpecificLocalTime( cases[
i].ptz, &(cases[
i].slt), &
result);
624 "Test SystemTimeToTzSpecificLocalTime #%d. Got %4d-%02d-%02d %02d:%02d. Expect hour = %02d\n",
636 WORD fatdate, fattime;
647 ok(!
ret,
"expected failure\n");
649 "expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
653 ok(!
ret,
"expected failure\n");
655 "expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
659 ok(!
ret,
"expected failure\n");
661 "expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
665 ok(!
ret,
"expected failure\n");
667 "expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
677 if (!pGetCalendarInfoA || !pGetCalendarInfoW)
679 trace(
"GetCalendarInfo missing\n" );
683 ret = pGetCalendarInfoA( 0x0409,
CAL_GREGORIAN, CAL_ITWODIGITYEARMAX | CAL_RETURN_NUMBER,
686 ok(
ret ==
sizeof(val1),
"wrong size %u\n",
ret );
687 ok( val1 >= 2000 && val1 < 2100,
"wrong value %u\n", val1 );
689 ret = pGetCalendarInfoW( 0x0409,
CAL_GREGORIAN, CAL_ITWODIGITYEARMAX | CAL_RETURN_NUMBER,
692 ok(
ret ==
sizeof(val2)/
sizeof(
WCHAR),
"wrong size %u\n",
ret );
693 ok( val1 == val2,
"A/W mismatch %u/%u\n", val1, val2 );
695 ret = pGetCalendarInfoA( 0x0409,
CAL_GREGORIAN, CAL_ITWODIGITYEARMAX, bufferA,
sizeof(bufferA),
NULL );
697 ok(
ret == 5,
"wrong size %u\n",
ret );
698 ok(
atoi( bufferA ) == val1,
"wrong value %s/%u\n", bufferA, val1 );
700 ret = pGetCalendarInfoW( 0x0409,
CAL_GREGORIAN, CAL_ITWODIGITYEARMAX, bufferW,
sizeof(bufferW),
NULL );
702 ok(
ret == 5,
"wrong size %u\n",
ret );
703 memset( bufferA, 0x55,
sizeof(bufferA) );
705 ok(
atoi( bufferA ) == val1,
"wrong value %s/%u\n", bufferA, val1 );
707 ret = pGetCalendarInfoA( 0x0409,
CAL_GREGORIAN, CAL_ITWODIGITYEARMAX | CAL_RETURN_NUMBER,
709 ok( !
ret,
"GetCalendarInfoA succeeded\n" );
714 ok(
ret == 5,
"wrong size %u\n",
ret );
716 ret = pGetCalendarInfoW( 0x0409,
CAL_GREGORIAN, CAL_ITWODIGITYEARMAX | CAL_RETURN_NUMBER,
718 ok( !
ret,
"GetCalendarInfoW succeeded\n" );
723 ok(
ret == 5,
"wrong size %u\n",
ret );
726 bufferA,
sizeof(bufferA),
NULL);
731 ok(
ret == ret2,
"got %d, expected %d\n", ret2,
ret );
734 bufferW,
sizeof(bufferW),
NULL);
737 ok(
ret == ret2,
"got %d, expected %d\n",
ret, ret2 );
746 if (!pGetDynamicTimeZoneInformation)
748 win_skip(
"GetDynamicTimeZoneInformation() is not supported.\n");
752 ret = pGetDynamicTimeZoneInformation(&dyninfo);
754 ok(
ret == ret2,
"got %d, %d\n",
ret, ret2);
771 uli.
u.LowPart =
time->dwLowDateTime;
772 uli.
u.HighPart =
time->dwHighDateTime;
782 if (!pGetSystemTimePreciseAsFileTime)
784 win_skip(
"GetSystemTimePreciseAsFileTime() is not supported.\n");
790 pGetSystemTimePreciseAsFileTime(&ft);
792 diff = time2 - time1;
795 ok(diff < 1000000,
"Difference between GetSystemTimeAsFileTime and GetSystemTimePreciseAsFileTime more than 100 ms\n");
797 pGetSystemTimePreciseAsFileTime(&ft);
800 pGetSystemTimePreciseAsFileTime(&ft);
802 }
while (time2 == time1);
803 diff = time2 - time1;
804 ok(diff < 10000 && diff > 0,
"GetSystemTimePreciseAsFileTime incremented by more than 1 ms\n");
810 FILETIME idletime, kerneltime, usertime;
818 if (!pGetSystemTimes)
820 win_skip(
"GetSystemTimes not available\n");
824 ok( pGetSystemTimes(
NULL,
NULL,
NULL),
"GetSystemTimes failed unexpectedly\n" );
829 memset( &idletime, 0x11,
sizeof(idletime) );
830 memset( &kerneltime, 0x11,
sizeof(kerneltime) );
831 memset( &usertime, 0x11,
sizeof(usertime) );
832 ok( pGetSystemTimes(&idletime, &kerneltime , &usertime),
833 "GetSystemTimes failed unexpectedly\n" );
843 "NtQuerySystemInformation failed\n" );
857 "NtQuerySystemInformation failed\n" );
867 ok( total_kerneltime.
QuadPart - ul2.
QuadPart < 10000000,
"test kerneltime failed\n" );
882 first_of_month.
wYear = year;
884 first_of_month.
wDay = 1;
898 result_date = first_of_month;
918 static const WCHAR std_tzname[] = {
'G',
'r',
'e',
'e',
'n',
'l',
'a',
'n',
'd',
' ',
'S',
't',
'a',
'n',
'd',
'a',
'r',
'd',
' ',
'T',
'i',
'm',
'e',0};
919 static const WCHAR dlt_tzname[] = {
'G',
'r',
'e',
'e',
'n',
'l',
'a',
'n',
'd',
' ',
'D',
'a',
'y',
'l',
'i',
'g',
'h',
't',
' ',
'T',
'i',
'm',
'e',0};
920 WORD std_day, dlt_day;
922 if (!pGetTimeZoneInformationForYear || !pGetDynamicTimeZoneInformation)
924 win_skip(
"GetTimeZoneInformationForYear not available\n");
934 ok(tzinfo.
Bias == local_tzinfo.
Bias,
"Expected Bias %d, got %d\n", local_tzinfo.
Bias, tzinfo.
Bias);
944 pGetDynamicTimeZoneInformation(&dyn_tzinfo);
946 ret = pGetTimeZoneInformationForYear(
systemtime.wYear, &dyn_tzinfo, &tzinfo);
948 ok(tzinfo.
Bias == local_tzinfo.
Bias,
"Expected Bias %d, got %d\n", local_tzinfo.
Bias, tzinfo.
Bias);
958 memset(&dyn_tzinfo, 0xaa,
sizeof(dyn_tzinfo));
962 ret = pGetTimeZoneInformationForYear(2015, &dyn_tzinfo, &tzinfo);
964 ok(tzinfo.
Bias == 180,
"Expected Bias 180, got %d\n", tzinfo.
Bias);
967 ok(std_day == 24,
"Expected standard day 24, got %d\n", std_day);
971 ok(dlt_day == 28,
"Expected daylight day 28, got %d\n", dlt_day);
974 ret = pGetTimeZoneInformationForYear(2016, &dyn_tzinfo, &tzinfo2);
977 "Got differing StandardName values %s and %s\n",
980 "Got differing DaylightName values %s and %s\n",
983 memset(&dyn_tzinfo, 0xaa,
sizeof(dyn_tzinfo));
987 ret = pGetTimeZoneInformationForYear(2015, &dyn_tzinfo, &tzinfo);
990 "GetTimeZoneInformationForYear err %u\n",
GetLastError());
996 pTzSpecificLocalTimeToSystemTime = (
void *)
GetProcAddress(hKernel,
"TzSpecificLocalTimeToSystemTime");
997 pSystemTimeToTzSpecificLocalTime = (
void *)
GetProcAddress( hKernel,
"SystemTimeToTzSpecificLocalTime");
998 pGetSystemTimes = (
void *)
GetProcAddress( hKernel,
"GetSystemTimes");
999 pGetCalendarInfoA = (
void *)
GetProcAddress(hKernel,
"GetCalendarInfoA");
1000 pGetCalendarInfoW = (
void *)
GetProcAddress(hKernel,
"GetCalendarInfoW");
1001 pGetDynamicTimeZoneInformation = (
void *)
GetProcAddress(hKernel,
"GetDynamicTimeZoneInformation");
1002 pGetSystemTimePreciseAsFileTime = (
void *)
GetProcAddress(hKernel,
"GetSystemTimePreciseAsFileTime");
1003 pGetTimeZoneInformationForYear = (
void *)
GetProcAddress(hKernel,
"GetTimeZoneInformationForYear");
static void test_GetCalendarInfo(void)
#define ERROR_INVALID_PARAMETER
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation)
VOID WINAPI GetSystemTimeAsFileTime(OUT PFILETIME lpFileTime)
NTSYSAPI NTSTATUS NTAPI NtQuerySystemInformation(IN SYSTEM_INFORMATION_CLASS SystemInfoClass, OUT PVOID SystemInfoBuffer, IN ULONG SystemInfoBufferSize, OUT PULONG BytesReturned OPTIONAL)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
#define WideCharToMultiByte
#define DOS_DATE(y, m, d)
static BOOL(WINAPI *pTzSpecificLocalTimeToSystemTime)(LPTIME_ZONE_INFORMATION
#define TIME_ZONE_ID_UNKNOWN
char * wine_dbgstr_w(const wchar_t *wstr)
static LONGLONG system_time_to_minutes(const SYSTEMTIME *st)
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
static void test_GetDynamicTimeZoneInformation(void)
#define TIME_ZONE_ID_INVALID
DWORD WINAPI GetLastError(VOID)
BOOL WINAPI FileTimeToLocalFileTime(IN CONST FILETIME *lpFileTime, OUT LPFILETIME lpLocalFileTime)
static void test_GetSystemTimes(void)
#define SETUP_ZEROTIME(st)
static void test_GetTimeZoneInformationForYear(void)
static void test_invalid_arg(void)
static ULONGLONG get_longlong_time(FILETIME *time)
static FILETIME systemtime
TIME_ZONE_INFORMATION * ptz
VOID WINAPI GetLocalTime(OUT LPSYSTEMTIME lpSystemTime)
#define ERROR_FILE_NOT_FOUND
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
static LPTIME_ZONE_INFORMATION
VOID WINAPI GetSystemTime(OUT LPSYSTEMTIME lpSystemTime)
#define TIME_ZONE_ID_STANDARD
BOOL WINAPI FileTimeToSystemTime(IN CONST FILETIME *lpFileTime, OUT LPSYSTEMTIME lpSystemTime)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
BOOL WINAPI DosDateTimeToFileTime(IN WORD wFatDate, IN WORD wFatTime, OUT LPFILETIME lpFileTime)
static void test_GetTimeZoneInformation(void)
BOOL WINAPI DECLSPEC_HOTPATCH SetEnvironmentVariableA(IN LPCSTR lpName, IN LPCSTR lpValue)
static DWORD(WINAPI *pGetDynamicTimeZoneInformation)(DYNAMIC_TIME_ZONE_INFORMATION *)
static PDYNAMIC_TIME_ZONE_INFORMATION
static LONG get_tz_bias(const TIME_ZONE_INFORMATION *tzinfo, DWORD tz_id)
#define TICKS_1601_TO_1970
static WORD day_of_month(const SYSTEMTIME *systemtime, WORD year)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
#define LANG_SYSTEM_DEFAULT
BOOL WINAPI FileTimeToDosDateTime(IN CONST FILETIME *lpFileTime, OUT LPWORD lpFatDate, OUT LPWORD lpFatTime)
BOOL WINAPI SystemTimeToFileTime(IN CONST SYSTEMTIME *lpSystemTime, OUT LPFILETIME lpFileTime)
static DOUBLE utc(DOUBLE time, DateInstance *date)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static void test_FileTimeToDosDateTime(void)
#define DOS_TIME(h, m, s)
static void(WINAPI *pGetSystemTimePreciseAsFileTime)(LPFILETIME)
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
static void test_FileTimeToLocalFileTime(void)
#define ERROR_CALL_NOT_IMPLEMENTED
static void test_FileTimeToSystemTime(void)
#define GetProcAddress(x, y)
struct _ULARGE_INTEGER::@3933 u
static void test_GetSystemTimePreciseAsFileTime(void)
static void test_conversions(void)
#define TIME_ZONE_ID_DAYLIGHT
#define HeapFree(x, y, z)
static void test_TzSpecificLocalTimeToSystemTime(void)
struct task_struct * current