diff --git a/include/timezoneapi.h b/include/timezoneapi.h index 0bba897718c..2cee93a55d5 100644 --- a/include/timezoneapi.h +++ b/include/timezoneapi.h @@ -23,7 +23,46 @@ extern "C" { #endif -WINBASEAPI DWORD WINAPI EnumDynamicTimeZoneInformation(const DWORD, DYNAMIC_TIME_ZONE_INFORMATION *); +typedef struct _TIME_DYNAMIC_ZONE_INFORMATION +{ + LONG Bias; + WCHAR StandardName[32]; + SYSTEMTIME StandardDate; + LONG StandardBias; + WCHAR DaylightName[32]; + SYSTEMTIME DaylightDate; + LONG DaylightBias; + WCHAR TimeZoneKeyName[128]; + BOOLEAN DynamicDaylightTimeDisabled; +} DYNAMIC_TIME_ZONE_INFORMATION, *PDYNAMIC_TIME_ZONE_INFORMATION; + +typedef struct _TIME_ZONE_INFORMATION +{ + LONG Bias; + WCHAR StandardName[32]; + SYSTEMTIME StandardDate; + LONG StandardBias; + WCHAR DaylightName[32]; + SYSTEMTIME DaylightDate; + LONG DaylightBias; +} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION; + +#define TIME_ZONE_ID_INVALID ((DWORD)0xFFFFFFFF) +#define TIME_ZONE_ID_UNKNOWN 0 +#define TIME_ZONE_ID_STANDARD 1 +#define TIME_ZONE_ID_DAYLIGHT 2 + +WINBASEAPI DWORD WINAPI EnumDynamicTimeZoneInformation(DWORD, DYNAMIC_TIME_ZONE_INFORMATION *); +WINBASEAPI DWORD WINAPI GetDynamicTimeZoneInformation(PDYNAMIC_TIME_ZONE_INFORMATION); +WINBASEAPI DWORD WINAPI GetDynamicTimeZoneInformationEffectiveYears(const DYNAMIC_TIME_ZONE_INFORMATION*,DWORD*,DWORD*); +WINBASEAPI DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION); +WINBASEAPI BOOL WINAPI GetTimeZoneInformationForYear(USHORT,DYNAMIC_TIME_ZONE_INFORMATION*,TIME_ZONE_INFORMATION*); +WINBASEAPI BOOL WINAPI SetDynamicTimeZoneInformation(const DYNAMIC_TIME_ZONE_INFORMATION*); +WINBASEAPI BOOL WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *); +WINBASEAPI BOOL WINAPI SystemTimeToTzSpecificLocalTime(const TIME_ZONE_INFORMATION*,const SYSTEMTIME*,LPSYSTEMTIME); +WINBASEAPI BOOL WINAPI SystemTimeToTzSpecificLocalTimeEx(const DYNAMIC_TIME_ZONE_INFORMATION*,const SYSTEMTIME*,LPSYSTEMTIME); +WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime(const TIME_ZONE_INFORMATION*,const SYSTEMTIME*,LPSYSTEMTIME); +WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTimeEx(const DYNAMIC_TIME_ZONE_INFORMATION*,const SYSTEMTIME*,LPSYSTEMTIME); #ifdef __cplusplus } diff --git a/include/winbase.h b/include/winbase.h index 7b7f9f26bd2..320e2430342 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -542,6 +542,8 @@ typedef struct _SYSTEMTIME{ } SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME; #endif /* _SYSTEMTIME_ */ +#include + /* The 'overlapped' data structure used by async I/O functions. */ typedef struct _OVERLAPPED { @@ -643,34 +645,6 @@ typedef struct _PROCESS_INFORMATION{ DWORD dwThreadId; } PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION; -typedef struct _TIME_DYNAMIC_ZONE_INFORMATION -{ - LONG Bias; - WCHAR StandardName[32]; - SYSTEMTIME StandardDate; - LONG StandardBias; - WCHAR DaylightName[32]; - SYSTEMTIME DaylightDate; - LONG DaylightBias; - WCHAR TimeZoneKeyName[128]; - BOOLEAN DynamicDaylightTimeDisabled; -} DYNAMIC_TIME_ZONE_INFORMATION, *PDYNAMIC_TIME_ZONE_INFORMATION; - -typedef struct _TIME_ZONE_INFORMATION{ - LONG Bias; - WCHAR StandardName[32]; - SYSTEMTIME StandardDate; - LONG StandardBias; - WCHAR DaylightName[32]; - SYSTEMTIME DaylightDate; - LONG DaylightBias; -} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION; - -#define TIME_ZONE_ID_INVALID ((DWORD)0xFFFFFFFF) -#define TIME_ZONE_ID_UNKNOWN 0 -#define TIME_ZONE_ID_STANDARD 1 -#define TIME_ZONE_ID_DAYLIGHT 2 - /* CreateProcess: dwCreationFlag values */ #define DEBUG_PROCESS 0x00000001 @@ -2156,7 +2130,6 @@ WINBASEAPI DWORD WINAPI GetDllDirectoryW(DWORD,LPWSTR); WINBASEAPI UINT WINAPI GetDriveTypeA(LPCSTR); WINBASEAPI UINT WINAPI GetDriveTypeW(LPCWSTR); #define GetDriveType WINELIB_NAME_AW(GetDriveType) -WINBASEAPI DWORD WINAPI GetDynamicTimeZoneInformation(PDYNAMIC_TIME_ZONE_INFORMATION); WINBASEAPI LPSTR WINAPI GetEnvironmentStringsA(void); WINBASEAPI LPWSTR WINAPI GetEnvironmentStringsW(void); #define GetEnvironmentStrings WINELIB_NAME_AW(GetEnvironmentStrings) @@ -2320,17 +2293,16 @@ WINBASEAPI UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR); WINBASEAPI DWORD WINAPI GetTempPathA(DWORD,LPSTR); WINBASEAPI DWORD WINAPI GetTempPathW(DWORD,LPWSTR); #define GetTempPath WINELIB_NAME_AW(GetTempPath) -WINBASEAPI DWORD WINAPI GetThreadId(HANDLE); -WINBASEAPI BOOL WINAPI GetThreadIOPendingFlag(HANDLE,PBOOL); -WINBASEAPI DWORD WINAPI GetTickCount(void); -WINBASEAPI ULONGLONG WINAPI GetTickCount64(void); -WINBASEAPI DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION); WINBASEAPI BOOL WINAPI GetThreadContext(HANDLE,CONTEXT *); WINBASEAPI DWORD WINAPI GetThreadErrorMode(void); +WINBASEAPI DWORD WINAPI GetThreadId(HANDLE); +WINBASEAPI BOOL WINAPI GetThreadIOPendingFlag(HANDLE,PBOOL); WINBASEAPI INT WINAPI GetThreadPriority(HANDLE); WINBASEAPI BOOL WINAPI GetThreadPriorityBoost(HANDLE,PBOOL); WINBASEAPI BOOL WINAPI GetThreadSelectorEntry(HANDLE,DWORD,LPLDT_ENTRY); WINBASEAPI BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME); +WINBASEAPI DWORD WINAPI GetTickCount(void); +WINBASEAPI ULONGLONG WINAPI GetTickCount64(void); WINADVAPI BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,LPVOID,DWORD,LPDWORD); WINBASEAPI BOOL WINAPI GetUmsCompletionListEvent(PUMS_COMPLETION_LIST, PHANDLE); WINADVAPI BOOL WINAPI GetUserNameA(LPSTR,LPDWORD); @@ -2644,7 +2616,6 @@ WINBASEAPI BOOL WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD); WINBASEAPI BOOL WINAPI SetDllDirectoryA(LPCSTR); WINBASEAPI BOOL WINAPI SetDllDirectoryW(LPCWSTR); #define SetDllDirectory WINELIB_NAME_AW(SetDllDirectory) -WINBASEAPI BOOL WINAPI SetDynamicTimeZoneInformation(const DYNAMIC_TIME_ZONE_INFORMATION*); WINBASEAPI BOOL WINAPI SetEndOfFile(HANDLE); WINBASEAPI BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR); WINBASEAPI BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR); @@ -2703,7 +2674,6 @@ WINBASEAPI BOOL WINAPI SetThreadPriority(HANDLE,INT); WINBASEAPI BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL); WINADVAPI BOOL WINAPI SetThreadToken(PHANDLE,HANDLE); WINBASEAPI HANDLE WINAPI SetTimerQueueTimer(HANDLE,WAITORTIMERCALLBACK,PVOID,DWORD,DWORD,BOOL); -WINBASEAPI BOOL WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *); WINADVAPI BOOL WINAPI SetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,LPVOID,DWORD); WINBASEAPI LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER); WINBASEAPI BOOL WINAPI SetVolumeLabelA(LPCSTR,LPCSTR); @@ -2726,7 +2696,6 @@ WINBASEAPI DWORD WINAPI SuspendThread(HANDLE); WINBASEAPI void WINAPI SwitchToFiber(LPVOID); WINBASEAPI BOOL WINAPI SwitchToThread(void); WINBASEAPI BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME); -WINBASEAPI BOOL WINAPI SystemTimeToTzSpecificLocalTime(const TIME_ZONE_INFORMATION*,const SYSTEMTIME*,LPSYSTEMTIME); WINBASEAPI BOOL WINAPI TerminateJobObject(HANDLE,UINT); WINBASEAPI BOOL WINAPI TerminateProcess(HANDLE,DWORD); WINBASEAPI BOOL WINAPI TerminateThread(HANDLE,DWORD); @@ -2739,7 +2708,6 @@ WINBASEAPI BOOL WINAPI TransmitCommChar(HANDLE,CHAR); WINBASEAPI BOOLEAN WINAPI TryAcquireSRWLockExclusive(PSRWLOCK); WINBASEAPI BOOLEAN WINAPI TryAcquireSRWLockShared(PSRWLOCK); WINBASEAPI BOOL WINAPI TryEnterCriticalSection(CRITICAL_SECTION *lpCrit); -WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime(const TIME_ZONE_INFORMATION*,const SYSTEMTIME*,LPSYSTEMTIME); WINBASEAPI LONG WINAPI UnhandledExceptionFilter(PEXCEPTION_POINTERS); WINBASEAPI BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD); WINBASEAPI BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);