38#define SECSPERDAY 86400
40#define SECS_1601_TO_1970 ((369 * 365 + 89) * (ULONGLONG)SECSPERDAY)
41#define TICKSPERSEC 10000000
42#define TICKSPERMSEC 10000
43#define TICKS_1601_TO_1970 (SECS_1601_TO_1970 * TICKSPERSEC)
46#define NEWYEAR_1980_HI 0x01a8e79f
47#define NEWYEAR_1980_LO 0xe1d58000
49#define MAYDAY_2002_HI 0x01c1f107
50#define MAYDAY_2002_LO 0xb82b6000
52#define ATIME_HI 0x1c2349b
53#define ATIME_LOW 0x580716b0
55#define LOCAL_ATIME_HI 0x01c23471
56#define LOCAL_ATIME_LOW 0x6f310eb0
58#define DOS_DATE(y,m,d) ( (((y)-1980)<<9) | ((m)<<5) | (d) )
59#define DOS_TIME(h,m,s) ( ((h)<<11) | ((m)<<5) | ((s)>>1) )
62#define SETUP_1980(st) \
69 (st).wMilliseconds = 0;
71#define SETUP_2002(st) \
78 (st).wMilliseconds = 0;
80#define SETUP_ATIME(st) \
87 (st).wMilliseconds = 123;
89#define SETUP_ZEROTIME(st) \
96 (st).wMilliseconds = 0;
98#define SETUP_EARLY(st) \
105 (st).wMilliseconds = 999;
120 "EARLY should be INVALID\n");
125 "Wrong time for ATIME: %08lx %08lx (correct %08x %08x)\n",
132 "Wrong time for ATIME: %08lx %08lx (correct %08x %08x)\n",
141 "Wrong time for 2002 %08lx %08lx (correct %08x %08x)\n", ft.
dwLowDateTime,
150 "Wrong time for 1980 %08lx %08lx (correct %08x %08x)\n", ft.
dwLowDateTime,
154 "DosDateTimeToFileTime() failed\n");
158 "Wrong time DosDateTimeToFileTime %08lx %08lx (correct %08x %08x)\n",
173 "DosDateTimeToFileTime() failed\n");
229 trace(
"unknown time zone id %ld\n", tz_id);
238 char std_name[32], dlt_name[32];
264 trace(
"tz_id %lu (%s)\n", tz_id,
268 "TIME_ZONE_ID_INVALID")));
272 trace(
"bias %ld, %s - %s\n", tzinfo.
Bias, std_name, dlt_name);
273 trace(
"standard (d/m/y): %u/%02u/%04u day of week %u %u:%02u:%02u.%03u bias %ld\n",
279 trace(
"daylight (d/m/y): %u/%02u/%04u day of week %u %u:%02u:%02u.%03u bias %ld\n",
286 diff = (
LONG)(s_time - l_time);
288 "system/local diff %ld != tz bias %ld\n",
292 "SetEnvironmentVariableA failed\n");
299 "Bias influenced by TZ variable\n");
301 "SetEnvironmentVariableA failed\n");
303 if (!pSystemTimeToTzSpecificLocalTime)
305 win_skip(
"SystemTimeToTzSpecificLocalTime not available\n");
313 res = pSystemTimeToTzSpecificLocalTime(&tzinfo, &
utc, &
current);
316 win_skip(
"SystemTimeToTzSpecificLocalTime is not implemented\n");
326 res = pSystemTimeToTzSpecificLocalTime(&tzinfo, &
utc, &
local);
329 ok(l_time - s_time == diff -
get_tz_bias(&tzinfo, tz_id),
"got %ld, expected %ld\n",
340 res = pSystemTimeToTzSpecificLocalTime(&tzinfo, &
utc, &
local);
343 ok(l_time - s_time == diff,
"got %ld, expected %ld\n",
344 (
LONG)(l_time - s_time), diff);
347 memset(&tzinfo, 0,
sizeof(tzinfo));
363 res = pSystemTimeToTzSpecificLocalTime(&tzinfo, &
utc, &
local);
366 "got (%d-%d-%d %02d:%02d), expected (2012-12-31 23:01)\n",
381 "FileTimeToSystemTime() failed with Error %ld\n",
GetLastError());
391 "FileTimeToSystemTime() failed with Error %ld\n",
GetLastError());
395 "Got Year %4d Month %2d Day %2d Hour %2d Min %2d Sec %2d mSec %3d\n",
403 ok(!
ret,
"expected failure\n");
405 "expected ERROR_INVALID_PARAMETER, got %ld\n",
GetLastError());
426 "FileTimeToLocalFileTime() failed with Error %ld\n",
GetLastError());
431 "Got Year %4d Month %2d Day %2d Hour %2d Min %2d Sec %2d mSec %3d\n",
436 "SetEnvironmentVariableA failed\n");
440 "FileTimeToLocalFileTime() failed with Error %ld\n",
GetLastError());
445 "Got Year %4d Month %2d Day %2d Hour %2d Min %2d Sec %2d mSec %3d\n",
449 "SetEnvironmentVariableA failed\n");
465 if (!pTzSpecificLocalTimeToSystemTime || !pSystemTimeToTzSpecificLocalTime)
467 win_skip(
"TzSpecificLocalTimeToSystemTime or SystemTimeToTzSpecificLocalTime not available\n");
511 { 1, &tzE, {2004,3,-1,28,1,0,0,0}, 15 },
512 { 2, &tzE, {2004,3,-1,28,1,59,59,999}, 15},
513 { 3, &tzE, {2004,3,-1,28,2,0,0,0}, 15},
515 { 4, &tzE, {2004,10,-1,31,2,0,0,0} , 15 },
516 { 5, &tzE, {2004,10,-1,31,2,59,59,999}, 15 },
517 { 6, &tzE, {2004,10,-1,31,3,0,0,0}, 17 },
519 { 7, &tzW, {2004,4,-1,4,1,0,0,0}, 5},
520 { 8, &tzW, {2004,4,-1,4,1,59,59,999}, 5},
521 { 9, &tzW, {2004,4,-1,4,2,0,0,0}, 5},
522 { 10, &tzW, {2004,10,-1,24,1,0,0,0}, 4},
523 { 11, &tzW, {2004,10,-1,24,1,59,59,999}, 4},
524 { 12, &tzW, {2004,10,-1,24,2,0,0,0 }, 6},
526 { 13, &tzS, {2004,4,-1,4,1,0,0,0}, 4},
527 { 14, &tzS, {2004,4,-1,4,1,59,59,999}, 4},
528 { 15, &tzS, {2004,4,-1,4,2,0,0,0}, 6},
529 { 16, &tzS, {2004,10,-1,24,1,0,0,0}, 5},
530 { 17, &tzS, {2004,10,-1,24,1,59,59,999}, 5},
531 { 18, &tzS, {2004,10,-1,24,2,0,0,0}, 5},
560 for(
j=0 , year = 1999; yeardays[
j][0] ;
j++, year++) {
561 for (
i=0; cases[
i].
nr;
i++) {
562 if(
i) cases[
i].
nr += 18;
565 pTzSpecificLocalTimeToSystemTime( cases[
i].ptz, &(cases[
i].slt), &
result);
567 "Test TzSpecificLocalTimeToSystemTime #%d. Got %4d-%02d-%02d %02d:%02d. Expect hour = %02d\n",
576 { 1, &tzE, {2004,3,-1,27,15,0,0,0}, 1 },
577 { 2, &tzE, {2004,3,-1,27,15,59,59,999}, 1},
578 { 3, &tzE, {2004,3,-1,27,16,0,0,0}, 3},
580 { 4, &tzE, {2004,10,-1,30,15,0,0,0}, 2 },
581 { 5, &tzE, {2004,10,-1,30,15,59,59,999}, 2 },
582 { 6, &tzE, {2004,10,-1,30,16,0,0,0}, 2 },
584 { 7, &tzW, {2004,4,-1,4,5,0,0,0}, 1},
585 { 8, &tzW, {2004,4,-1,4,5,59,59,999}, 1},
586 { 9, &tzW, {2004,4,-1,4,6,0,0,0}, 3},
587 { 10, &tzW, {2004,10,-1,24,4,0,0,0}, 1},
588 { 11, &tzW, {2004,10,-1,24,4,59,59,999}, 1},
589 { 12, &tzW, {2004,10,-1,24,5,0,0,0 }, 1},
591 { 13, &tzS, {2004,4,-1,4,4,0,0,0}, 1},
592 { 14, &tzS, {2004,4,-1,4,4,59,59,999}, 1},
593 { 15, &tzS, {2004,4,-1,4,5,0,0,0}, 1},
594 { 16, &tzS, {2004,10,-1,24,5,0,0,0}, 1},
595 { 17, &tzS, {2004,10,-1,24,5,59,59,999}, 1},
596 { 18, &tzS, {2004,10,-1,24,6,0,0,0}, 3},
626 for(
j=0 , year = 1999; yeardays[
j][0] ;
j++, year++) {
627 for (
i=0; cases[
i].
nr;
i++) {
628 if(
i) cases[
i].
nr += 18;
631 pSystemTimeToTzSpecificLocalTime( cases[
i].ptz, &(cases[
i].slt), &
result);
633 "Test SystemTimeToTzSpecificLocalTime #%d. Got %4d-%02d-%02d %02d:%02d. Expect hour = %02d\n",
645 WORD fatdate, fattime;
656 ok(!
ret,
"expected failure\n");
658 "expected ERROR_INVALID_PARAMETER, got %ld\n",
GetLastError());
662 ok(!
ret,
"expected failure\n");
664 "expected ERROR_INVALID_PARAMETER, got %ld\n",
GetLastError());
668 ok(!
ret,
"expected failure\n");
670 "expected ERROR_INVALID_PARAMETER, got %ld\n",
GetLastError());
674 ok(!
ret,
"expected failure\n");
676 "expected ERROR_INVALID_PARAMETER, got %ld\n",
GetLastError());
686 if (!pGetCalendarInfoA || !pGetCalendarInfoW)
688 trace(
"GetCalendarInfo missing\n" );
695 ok(
ret ==
sizeof(val1),
"wrong size %u\n",
ret );
696 ok( val1 >= 2000 && val1 < 2100,
"wrong value %lu\n", val1 );
701 ok(
ret ==
sizeof(val2)/
sizeof(
WCHAR),
"wrong size %u\n",
ret );
702 ok( val1 == val2,
"A/W mismatch %lu/%lu\n", val1, val2 );
706 ok(
ret == 5,
"wrong size %u\n",
ret );
707 ok(
atoi( bufferA ) == val1,
"wrong value %s/%lu\n", bufferA, val1 );
711 ok(
ret == 5,
"wrong size %u\n",
ret );
712 memset( bufferA, 0x55,
sizeof(bufferA) );
714 ok(
atoi( bufferA ) == val1,
"wrong value %s/%lu\n", bufferA, val1 );
718 ok( !
ret,
"GetCalendarInfoA succeeded\n" );
723 ok(
ret == 5,
"wrong size %u\n",
ret );
727 ok( !
ret,
"GetCalendarInfoW succeeded\n" );
732 ok(
ret == 5,
"wrong size %u\n",
ret );
735 bufferA,
sizeof(bufferA),
NULL);
740 ok(
ret == ret2,
"got %d, expected %d\n", ret2,
ret );
746 ok(
ret == ret2,
"got %d, expected %d\n",
ret, ret2 );
757 ret2 = pGetCalendarInfoW( 0x0409,
i,
j, bufferW,
ARRAY_SIZE(bufferW),
NULL);
766 ok( !ret2,
"calendar %u %s value %02x succeeded %s\n",
781#if defined(__REACTOS__) && DLL_EXPORT_VERSION >= 0x600
783 if (
is_reactos() || !pGetDynamicTimeZoneInformation)
785 if (!pGetDynamicTimeZoneInformation)
788 win_skip(
"GetDynamicTimeZoneInformation() is not supported.\n");
792 ret = pGetDynamicTimeZoneInformation(&dyninfo);
794 ok(
ret == ret2,
"got %ld, %ld\n",
ret, ret2);
811 uli.
u.LowPart =
time->dwLowDateTime;
812 uli.
u.HighPart =
time->dwHighDateTime;
836 if (!pGetSystemTimePreciseAsFileTime)
838 win_skip(
"GetSystemTimePreciseAsFileTime() is not supported.\n");
844 pGetSystemTimePreciseAsFileTime(&ft);
846 diff = time2 - time1;
849 ok(diff < 1000000,
"Difference between GetSystemTimeAsFileTime and GetSystemTimePreciseAsFileTime more than 100 ms\n");
851 pGetSystemTimePreciseAsFileTime(&ft);
854 pGetSystemTimePreciseAsFileTime(&ft);
856 }
while (time2 == time1);
857 diff = time2 - time1;
858 ok(diff < 10000 && diff > 0,
"GetSystemTimePreciseAsFileTime incremented by more than 1 ms\n");
864 FILETIME idletime, kerneltime, usertime;
872 if (!pGetSystemTimes)
874 win_skip(
"GetSystemTimes not available\n");
878 ok( pGetSystemTimes(
NULL,
NULL,
NULL),
"GetSystemTimes failed unexpectedly\n" );
883 memset( &idletime, 0x11,
sizeof(idletime) );
884 memset( &kerneltime, 0x11,
sizeof(kerneltime) );
885 memset( &usertime, 0x11,
sizeof(usertime) );
886 ok( pGetSystemTimes(&idletime, &kerneltime , &usertime),
887 "GetSystemTimes failed unexpectedly\n" );
897 "NtQuerySystemInformation failed\n" );
911 "NtQuerySystemInformation failed\n" );
921 ok( total_kerneltime.
QuadPart - ul2.
QuadPart < 10000000,
"test kerneltime failed\n" );
939 first_of_month.
wYear = year;
941 first_of_month.
wDay = 1;
955 result_date = first_of_month;
975 WORD std_day, dlt_day;
982 WORD std_month, std_day, dlt_month, dlt_day;
986 {
L"Greenland Standard Time", 2015, 180, 0, -60, 10, 24, 3, 28 },
987 {
L"Greenland Standard Time", 2016, 180, 0, -60, 10, 29, 3, 26 },
988 {
L"Greenland Standard Time", 2017, 180, 0, -60, 10, 28, 3, 25 },
989 {
L"Easter Island Standard Time", 2014, 360, 0, -60, 4, 26, 9, 6 },
990 {
L"Easter Island Standard Time", 2015, 300, 0, -60, 0, 0, 0, 0 },
991 {
L"Easter Island Standard Time", 2016, 360, 0, -60, 5, 14, 8, 13 },
992 {
L"Egypt Standard Time", 2013, -120, 0, -60, 0, 0, 0, 0 },
993 {
L"Egypt Standard Time", 2014, -120, 0, -60, 9, 25, 5, 15 },
994 {
L"Egypt Standard Time", 2015, -120, 0, -60, 0, 0, 0, 0 },
995 {
L"Egypt Standard Time", 2016, -120, 0, -60, 0, 0, 0, 0 },
996 {
L"Altai Standard Time", 2016, -420, 0, 60, 3, 27, 1, 1 },
997 {
L"Altai Standard Time", 2017, -420, 0, -60, 0, 0, 0, 0 },
998 {
L"Altai Standard Time", 2018, -420, 0, -60, 0, 0, 0, 0 },
1001#if defined(__REACTOS__) && DLL_EXPORT_VERSION >= 0x600
1003 if (
is_reactos() || !pGetTimeZoneInformationForYear || !pGetDynamicTimeZoneInformation)
1005 if (!pGetTimeZoneInformationForYear || !pGetDynamicTimeZoneInformation)
1008 win_skip(
"GetTimeZoneInformationForYear not available\n");
1018 ok(tzinfo.
Bias == local_tzinfo.
Bias,
"Expected Bias %ld, got %ld\n", local_tzinfo.
Bias, tzinfo.
Bias);
1028 pGetDynamicTimeZoneInformation(&dyn_tzinfo);
1030 ret = pGetTimeZoneInformationForYear(
systemtime.wYear, &dyn_tzinfo, &tzinfo);
1032 ok(tzinfo.
Bias == local_tzinfo.
Bias,
"Expected Bias %ld, got %ld\n", local_tzinfo.
Bias, tzinfo.
Bias);
1042 memset(&dyn_tzinfo, 0xaa,
sizeof(dyn_tzinfo));
1045 ret = pGetTimeZoneInformationForYear(2015, &dyn_tzinfo, &tzinfo);
1050 "GetTimeZoneInformationForYear err %lu\n",
GetLastError());
1052 memset(&dyn_tzinfo, 0xaa,
sizeof(dyn_tzinfo));
1055 ret = pGetTimeZoneInformationForYear(2015, &dyn_tzinfo, &tzinfo);
1059 "GetTimeZoneInformationForYear err %lu\n",
GetLastError());
1069 memset(&dyn_tzinfo, 0xaa,
sizeof(dyn_tzinfo));
1070 memset(&tzinfo, 0xbb,
sizeof(tzinfo));
1074 ret = pGetTimeZoneInformationForYear(
test_data[
i].year, &dyn_tzinfo, &tzinfo);
1078 ok(tzinfo.
Bias ==
test_data[
i].bias,
"Expected bias %ld, got %ld, for %s\n",
1083 ok(std_day ==
test_data[
i].std_day,
"Expected standard day %d, got %d, for %s\n",
1090 ok(dlt_day ==
test_data[
i].dlt_day,
"Expected daylight day %d, got %d, for %s\n",
1098 "Got differing StandardName values %s and %s\n",
1101 "Got differing DaylightName values %s and %s\n",
1105 memcpy(&tzinfo2, &tzinfo,
sizeof(tzinfo2));
1114 if (!pNtGetTickCount)
1116 win_skip(
"NtGetTickCount not implemented\n");
1122 t1 = pNtGetTickCount();
1124 t3 = pNtGetTickCount();
1125 }
while(t3 < t1 &&
i++ < 1);
1127 ok(t1 <= t2,
"out of order %ld %ld\n", t1, t2);
1128 ok(t2 <= t3,
"out of order %ld %ld\n", t2, t3);
1139 if (pQueryUnbiasedInterruptTime)
1142 ret = pQueryUnbiasedInterruptTime( &
time );
1145 ret = pQueryUnbiasedInterruptTime(
NULL );
1146 ok( !
ret,
"QueryUnbiasedInterruptTime succeeded\n" );
1149 else win_skip(
"QueryUnbiasedInterruptTime not supported\n" );
1150 if (pRtlQueryUnbiasedInterruptTime)
1153 ret = pRtlQueryUnbiasedInterruptTime( &
time );
1156 ret = pRtlQueryUnbiasedInterruptTime(
NULL );
1157 ok( !
ret,
"RtlQueryUnbiasedInterruptTime succeeded\n" );
1160 else win_skip(
"RtlQueryUnbiasedInterruptTime not supported\n" );
1166 skip(
"Cannot build test_processor_idle_cycle_time() until kernelbase is synced.\n");
1168 unsigned int cpu_count =
NtCurrentTeb()->Peb->NumberOfProcessors;
1178 ok( bret ==
TRUE &&
err == 0xdeadbeef,
"got %d, %ld.\n", bret,
err );
1186 ok( bret ==
TRUE &&
err == 0xdeadbeef,
"got %d, %ld.\n", bret,
err );
1188 ok(
buffer[0] == 0xcccccccccccccccc,
"got %#I64x.\n",
buffer[0] );
1194 ok( bret ==
TRUE &&
err == 0xdeadbeef,
"got %d, %ld.\n", bret,
err );
1201 ok( bret ==
TRUE &&
err == 0xdeadbeef,
"got %d, %ld.\n", bret,
err );
1208 ok( bret ==
TRUE &&
err == 0xdeadbeef,
"got %d, %ld.\n", bret,
err );
1215 ok( bret ==
TRUE &&
err == 0xdeadbeef,
"got %d, %ld.\n", bret,
err );
1222 ok( bret ==
TRUE &&
err == 0xdeadbeef,
"got %d, %ld.\n", bret,
err );
1229 ok( bret ==
TRUE &&
err == 0xdeadbeef,
"got %d, %ld.\n", bret,
err );
1238 pTzSpecificLocalTimeToSystemTime = (
void *)
GetProcAddress(hKernel,
"TzSpecificLocalTimeToSystemTime");
1239 pSystemTimeToTzSpecificLocalTime = (
void *)
GetProcAddress( hKernel,
"SystemTimeToTzSpecificLocalTime");
1240 pGetSystemTimes = (
void *)
GetProcAddress( hKernel,
"GetSystemTimes");
1241 pGetCalendarInfoA = (
void *)
GetProcAddress(hKernel,
"GetCalendarInfoA");
1242 pGetCalendarInfoW = (
void *)
GetProcAddress(hKernel,
"GetCalendarInfoW");
1243 pGetDynamicTimeZoneInformation = (
void *)
GetProcAddress(hKernel,
"GetDynamicTimeZoneInformation");
1244 pGetSystemTimePreciseAsFileTime = (
void *)
GetProcAddress(hKernel,
"GetSystemTimePreciseAsFileTime");
1245 pGetTimeZoneInformationForYear = (
void *)
GetProcAddress(hKernel,
"GetTimeZoneInformationForYear");
1246 pQueryUnbiasedInterruptTime = (
void *)
GetProcAddress(hKernel,
"QueryUnbiasedInterruptTime");
1248 pRtlQueryUnbiasedInterruptTime = (
void *)
GetProcAddress(
hntdll,
"RtlQueryUnbiasedInterruptTime");
#define CAL_SABBREVERASTRING
_In_ PVOID _In_ ULONG _Out_ PVOID _In_ ULONG _Inout_ PULONG ReturnLength
#define ERROR_CALL_NOT_IMPLEMENTED
#define ERROR_INVALID_PARAMETER
#define GetProcAddress(x, y)
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
#define HeapFree(x, y, z)
#define WideCharToMultiByte
static DOUBLE utc(DOUBLE time, DateInstance *date)
BOOL WINAPI DECLSPEC_HOTPATCH SetEnvironmentVariableA(IN LPCSTR lpName, IN LPCSTR lpValue)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
VOID WINAPI GetSystemTimeAsFileTime(OUT PFILETIME lpFileTime)
BOOL WINAPI FileTimeToSystemTime(IN CONST FILETIME *lpFileTime, OUT LPSYSTEMTIME lpSystemTime)
BOOL WINAPI SystemTimeToFileTime(IN CONST SYSTEMTIME *lpSystemTime, OUT LPFILETIME lpFileTime)
BOOL WINAPI FileTimeToLocalFileTime(IN CONST FILETIME *lpFileTime, OUT LPFILETIME lpLocalFileTime)
BOOL WINAPI DosDateTimeToFileTime(IN WORD wFatDate, IN WORD wFatTime, OUT LPFILETIME lpFileTime)
VOID WINAPI GetLocalTime(OUT LPSYSTEMTIME lpSystemTime)
BOOL WINAPI FileTimeToDosDateTime(IN CONST FILETIME *lpFileTime, OUT LPWORD lpFatDate, OUT LPWORD lpFatTime)
VOID WINAPI GetSystemTime(OUT LPSYSTEMTIME lpSystemTime)
DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
BOOL WINAPI QueryIdleProcessorCycleTime(ULONG *size, ULONG64 *times)
BOOL WINAPI QueryIdleProcessorCycleTimeEx(USHORT group_id, ULONG *size, ULONG64 *times)
ULONG WINAPI DECLSPEC_HOTPATCH GetTickCount(void)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
_ACRTIMP int __cdecl atoi(const char *)
#define TICKS_1601_TO_1970
@ SystemProcessorPerformanceInformation
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
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
#define memcpy(s1, s2, n)
struct task_struct * current
#define ERROR_FILE_NOT_FOUND
static void test_GetSystemTimeAsFileTime(void)
static void test_GetSystemTimePreciseAsFileTime(void)
#define DOS_TIME(h, m, s)
#define DOS_DATE(y, m, d)
static void test_invalid_arg(void)
static void test_conversions(void)
static void test_GetTickCount(void)
static void test_GetTimeZoneInformationForYear(void)
static void test_GetCalendarInfo(void)
static LPTIME_ZONE_INFORMATION
static void test_GetSystemTimes(void)
static LONG get_tz_bias(const TIME_ZONE_INFORMATION *tzinfo, DWORD tz_id)
#define SETUP_ZEROTIME(st)
static void test_processor_idle_cycle_time(void)
static void test_TzSpecificLocalTimeToSystemTime(void)
static void test_GetTimeZoneInformation(void)
static void test_FileTimeToLocalFileTime(void)
static void test_GetDynamicTimeZoneInformation(void)
static ULONGLONG get_longlong_time(FILETIME *time)
static void test_FileTimeToDosDateTime(void)
static PDYNAMIC_TIME_ZONE_INFORMATION
static LONGLONG system_time_to_minutes(const SYSTEMTIME *st)
static void test_QueryUnbiasedInterruptTime(void)
static void test_FileTimeToSystemTime(void)
static WORD day_of_month(const SYSTEMTIME *systemtime, WORD year)
static FILETIME systemtime
#define TIME_ZONE_ID_UNKNOWN
#define TIME_ZONE_ID_STANDARD
#define TIME_ZONE_ID_DAYLIGHT
#define LANG_SYSTEM_DEFAULT
NTSTATUS NTAPI NtQuerySystemTime(OUT PLARGE_INTEGER SystemTime)
#define _WIN32_WINNT_VISTA
NTSYSAPI NTSTATUS NTAPI NtQuerySystemInformation(IN SYSTEM_INFORMATION_CLASS SystemInfoClass, OUT PVOID SystemInfoBuffer, IN ULONG SystemInfoBufferSize, OUT PULONG BytesReturned OPTIONAL)
TIME_ZONE_INFORMATION * ptz
struct _ULARGE_INTEGER::@4457 u
DWORD WINAPI GetLastError(void)
#define TIME_ZONE_ID_INVALID
#define CAL_SRELATIVELONGDATE
#define CAL_ITWODIGITYEARMAX