OSDN Git Service

Redo the filters based on assumptions discussed in mingw-dvlpr list.
authorEarnie Boyd <earnie@users.sourceforge.net>
Tue, 18 Sep 2012 13:16:19 +0000 (09:16 -0400)
committerEarnie Boyd <earnie@users.sourceforge.net>
Tue, 18 Sep 2012 13:16:19 +0000 (09:16 -0400)
* include/shobjidl.h (_mingw.h): Include.
* include/shlwapi.h: Ditto.
* include/snmp.h: Ditto.
* include/specstrings.h: Ditto.
* include/sql.h: Ditto.
* include/sqlext.h: Ditto.
* include/sqltypes.h: Ditto.
* include/sqlucode.h: Ditto.
* include/sspi.h: Ditto.
* include/stm.h: Ditto.
* include/strings.h: Ditto.
* include/strmif.h: Ditto.
* include/subauth.h: Ditto.
* include/svcguid.h: Ditto.
* include/tchar.h: Ditto.
* include/tlhelp32.h: Ditto.
* include/tmschema.h: Ditto.
* include/unistd.h: Ditto.
* include/unknwn.h: Ditto.
* include/userenv.h: Ditto.
* include/usp10.h: Ditto.
* include/utime.h: Ditto.
* include/uxtheme.h: Ditto.
* include/values.h: Ditto.
* include/vfw.h: Ditto.
* include/vidcap.h: Ditto.
* include/vmr9.h: Ditto.
* include/vptype.h: Ditto.
* include/wtypes.h: Ditto.
* include/winable.h: Ditto.
* include/winbase.h: Ditto.
* include/winber.h: Ditto.
* include/wincon.h: Ditto.
* include/wincrypt.h: Ditto.
* include/windef.h: Ditto.
* include/windns.h: Ditto.
* include/windows.h: Ditto.
* include/windowsx.h: Ditto.
* include/winerror.h: Ditto.
* include/wingdi.h: Ditto.
* include/wininet.h: Ditto.
* include/winioctl.h: Ditto.
* include/winldap.h: Ditto.
* include/winnetwk.h: Ditto.
* include/winnls.h: Ditto.
* include/winnt.h: Ditto.
* include/winperf.h: Ditto.
* include/winreg.h: Ditto.
* include/winresrc.h: Ditto.
* include/winsnmp.h: Ditto.
* include/winsock.h: Ditto.
* include/winsock2.h: Ditto.
* include/winspool.h: Ditto.
* include/winsvc.h: Ditto.
* include/winuser.h: Ditto.
* include/winver.h: Ditto.
* include/ws2spi.h: Ditto.
* include/ws2tcpip.h: Ditto.
* include/wsahelp.h: Ditto.
* include/wsipx.h: Ditto.
* include/wsnetbs.h: Ditto.
* include/wtsapi32.h: Ditto.
* include/xprtdefs.h: Ditto.
* include/zmouse.h: Ditto.

* include/signal.h (_mingw.h): Remove comment and move to top of file.
* include/stdint.h: Ditto.
* include/stdio.h: Ditto.
* include/stdlib.h: Ditto.
* include/string.h: Ditto.
* include/time.h: Ditto.
* include/wchar.h: Ditto.
* include/wctype.h: Ditto.

* include/shlwapi.h (UNICODE): Use __AW() macro for mapping
non-specific symbols.
* include/sspi.h: Ditto.
* include/userenv.h: Ditto.
* include/vfw.h: Ditto.
* include/winbase.h: Ditto.
* include/wincon.h: Ditto.
* include/wincrypt.h: Ditto.
* include/windns.h: Ditto.
* include/wingdi.h: Ditto.
* include/wininet.h: Ditto.
* include/winldap.h: Ditto.
* include/winnetwk.h: Ditto.
* include/winnls.h: Ditto.
* include/winreg.h: Ditto.
* include/winsock2.h: Ditto.
* include/winspool.h: Ditto.
* include/winsvc.h: Ditto.
* include/winuser.h: Ditto.
* include/winver.h: Ditto.
* include/ws2tcpip.h: Ditto.

* include/stm.h (_WIN32_WINNT): Use MACRO constant for comparison
instead of integer and move filters to the end of the file.
* include/userenv.h: Ditto.
* include/winbase.h: Ditto.
* include/wincon.h: Ditto.
* include/wincrypt.h: Ditto.
* include/wingdi.h: Ditto.
* include/winnls.h: Ditto.
* include/winnt.h: Ditto.
* include/winreg.h: Ditto.
* include/winspool.h: Ditto.
* include/winuser.h: Ditto.
* include/ws2tcpip.h: Ditto.

* include/shlwapi.h (_OBJC_NO_COM): Move filters to the end of the file.

* include/stdlib.h (_UWIN): Remove filter since we assume only GCC.
* include/string.h: Ditto.

* include/stdio.h (__GNUC__): Remove filter since we assume only GCC.

* include/stdio.h (__MSVCRT_VERSION__): Remove needless filter.
* include/stdlib.h: Ditto.
* include/string.h: Ditto.
* include/tchar.h: Ditto.
* include/time.h: Ditto.
* include/wchar.h: Ditto.
* include/wctype.h: Ditto.

* include/winbase.h (_WIN32_WINDOWS): Use _WIN32_WINNT instead.
* include/wingdi.h: Ditto.
* include/winuser.h: Ditto.

* include/wincrypt.h (WINVER): Use _WIN32_WINNT instead.
* include/wingdi.h: Ditto.
* include/winnls.h: Ditto.
* include/winreg.h: Ditto.
* include/winuser.h: Dittol

* include/_mingw.h (__TEST_SQL_NOUNICODEMAP): Use to determine if
UNICODE should be considered.
(_ODBCINST_H): Changed to use __TEST_SQL_NOUNICODEMAP.
* include/odbcinst.h (__TEST_SQL_NOUNICODEMAP): Define before including
_mingw.h.
* include/sqlucode.h: Ditto.

* include/time.h (time_t): Logic fix for filters.
* (__time64_t): Remove the __STRICT_ANSI__ guard.

* include/winable.h: This file is deprecated by Microsoft due to
winuser.h containing all of the functionality of winable.h; therefore
issue a warning and include winuser.h.

* include/windows.h (Win32_Winsock): Remove filter logic and warning.
(winsock2.h): Do not include as doing so is not Microsoft compatible.
To use winsock2.h you need to include it instead of windows.h.
(__USE_W32_SOCKETS): Add a comment that it is __CYGWIN__ specific.

* include/winsock.h (_WIN32_WINNT_WIN95): Give a warning if winsock.h
is included for Windows versions greater than WIN95.

* include/winuser.h (MB_SERVICE_NOTIFICATION): We assume WIN95 or
greater so define based on this assumption.
(MB_SERVICE_NOTIFICATION_NT3X): Ditto.
(SM_CMETRICS): Ditto.
(MOUSEEVENTF_WHEEL): Ditto.
(ENDSESSION_LOGOFF): Ditto.

* TODO: Add entries.

76 files changed:
ChangeLog
TODO
include/_mingw.h
include/odbcinst.h
include/shlwapi.h
include/shobjidl.h
include/signal.h
include/snmp.h
include/specstrings.h
include/sql.h
include/sqlext.h
include/sqltypes.h
include/sqlucode.h
include/sspi.h
include/stdint.h
include/stdio.h
include/stdlib.h
include/stm.h
include/string.h
include/strings.h
include/strmif.h
include/subauth.h
include/svcguid.h
include/tchar.h
include/time.h
include/tlhelp32.h
include/tmschema.h
include/unistd.h
include/unknwn.h
include/userenv.h
include/usp10.h
include/utime.h
include/uxtheme.h
include/values.h
include/vfw.h
include/vidcap.h
include/vmr9.h
include/vptype.h
include/wchar.h
include/wctype.h
include/winable.h
include/winbase.h
include/winber.h
include/wincon.h
include/wincrypt.h
include/windef.h
include/windns.h
include/windows.h
include/windowsx.h
include/winerror.h
include/wingdi.h
include/wininet.h
include/winioctl.h
include/winldap.h
include/winnetwk.h
include/winnls.h
include/winnt.h
include/winperf.h
include/winreg.h
include/winresrc.h
include/winsnmp.h
include/winsock.h
include/winsock2.h
include/winspool.h
include/winsvc.h
include/winuser.h
include/winver.h
include/ws2spi.h
include/ws2tcpip.h
include/wsahelp.h
include/wsipx.h
include/wsnetbs.h
include/wtsapi32.h
include/wtypes.h
include/xprtdefs.h
include/zmouse.h

index 8143cff..198cdf7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,173 @@
+2012-09-18  Earnie Boyd  <earnie@users.sourceforge.net>
+
+       Redo the filters based on assumptions discussed in mingw-dvlpr list.
+
+       * include/shobjidl.h (_mingw.h): Include.
+       * include/shlwapi.h: Ditto.
+       * include/snmp.h: Ditto.
+       * include/specstrings.h: Ditto.
+       * include/sql.h: Ditto.
+       * include/sqlext.h: Ditto.
+       * include/sqltypes.h: Ditto.
+       * include/sqlucode.h: Ditto.
+       * include/sspi.h: Ditto.
+       * include/stm.h: Ditto.
+       * include/strings.h: Ditto.
+       * include/strmif.h: Ditto.
+       * include/subauth.h: Ditto.
+       * include/svcguid.h: Ditto.
+       * include/tchar.h: Ditto.
+       * include/tlhelp32.h: Ditto.
+       * include/tmschema.h: Ditto.
+       * include/unistd.h: Ditto.
+       * include/unknwn.h: Ditto.
+       * include/userenv.h: Ditto.
+       * include/usp10.h: Ditto.
+       * include/utime.h: Ditto.
+       * include/uxtheme.h: Ditto.
+       * include/values.h: Ditto.
+       * include/vfw.h: Ditto.
+       * include/vidcap.h: Ditto.
+       * include/vmr9.h: Ditto.
+       * include/vptype.h: Ditto.
+       * include/wtypes.h: Ditto.
+       * include/winable.h: Ditto.
+       * include/winbase.h: Ditto.
+       * include/winber.h: Ditto.
+       * include/wincon.h: Ditto.
+       * include/wincrypt.h: Ditto.
+       * include/windef.h: Ditto.
+       * include/windns.h: Ditto.
+       * include/windows.h: Ditto.
+       * include/windowsx.h: Ditto.
+       * include/winerror.h: Ditto.
+       * include/wingdi.h: Ditto.
+       * include/wininet.h: Ditto.
+       * include/winioctl.h: Ditto.
+       * include/winldap.h: Ditto.
+       * include/winnetwk.h: Ditto.
+       * include/winnls.h: Ditto.
+       * include/winnt.h: Ditto.
+       * include/winperf.h: Ditto.
+       * include/winreg.h: Ditto.
+       * include/winresrc.h: Ditto.
+       * include/winsnmp.h: Ditto.
+       * include/winsock.h: Ditto.
+       * include/winsock2.h: Ditto.
+       * include/winspool.h: Ditto.
+       * include/winsvc.h: Ditto.
+       * include/winuser.h: Ditto.
+       * include/winver.h: Ditto.
+       * include/ws2spi.h: Ditto.
+       * include/ws2tcpip.h: Ditto.
+       * include/wsahelp.h: Ditto.
+       * include/wsipx.h: Ditto.
+       * include/wsnetbs.h: Ditto.
+       * include/wtsapi32.h: Ditto.
+       * include/xprtdefs.h: Ditto.
+       * include/zmouse.h: Ditto.
+
+       * include/signal.h (_mingw.h): Remove comment and move to top of file.
+       * include/stdint.h: Ditto.
+       * include/stdio.h: Ditto.
+       * include/stdlib.h: Ditto.
+       * include/string.h: Ditto.
+       * include/time.h: Ditto.
+       * include/wchar.h: Ditto.
+       * include/wctype.h: Ditto.
+
+       * include/shlwapi.h (UNICODE): Use __AW() macro for mapping
+       non-specific symbols.
+       * include/sspi.h: Ditto.
+       * include/userenv.h: Ditto.
+       * include/vfw.h: Ditto.
+       * include/winbase.h: Ditto.
+       * include/wincon.h: Ditto.
+       * include/wincrypt.h: Ditto.
+       * include/windns.h: Ditto.
+       * include/wingdi.h: Ditto.
+       * include/wininet.h: Ditto.
+       * include/winldap.h: Ditto.
+       * include/winnetwk.h: Ditto.
+       * include/winnls.h: Ditto.
+       * include/winreg.h: Ditto.
+       * include/winsock2.h: Ditto.
+       * include/winspool.h: Ditto.
+       * include/winsvc.h: Ditto.
+       * include/winuser.h: Ditto.
+       * include/winver.h: Ditto.
+       * include/ws2tcpip.h: Ditto.
+
+       * include/stm.h (_WIN32_WINNT): Use MACRO constant for comparison
+       instead of integer and move filters to the end of the file.
+       * include/userenv.h: Ditto.
+       * include/winbase.h: Ditto.
+       * include/wincon.h: Ditto.
+       * include/wincrypt.h: Ditto.
+       * include/wingdi.h: Ditto.
+       * include/winnls.h: Ditto.
+       * include/winnt.h: Ditto.
+       * include/winreg.h: Ditto.
+       * include/winspool.h: Ditto.
+       * include/winuser.h: Ditto.
+       * include/ws2tcpip.h: Ditto.
+
+       * include/shlwapi.h (_OBJC_NO_COM): Move filters to the end of the file.
+
+       * include/stdlib.h (_UWIN): Remove filter since we assume only GCC.
+       * include/string.h: Ditto.
+
+       * include/stdio.h (__GNUC__): Remove filter since we assume only GCC.
+
+       * include/stdio.h (__MSVCRT_VERSION__): Remove needless filter.
+       * include/stdlib.h: Ditto.
+       * include/string.h: Ditto.
+       * include/tchar.h: Ditto.
+       * include/time.h: Ditto.
+       * include/wchar.h: Ditto.
+       * include/wctype.h: Ditto.
+
+       * include/winbase.h (_WIN32_WINDOWS): Use _WIN32_WINNT instead.
+       * include/wingdi.h: Ditto.
+       * include/winuser.h: Ditto.
+
+       * include/wincrypt.h (WINVER): Use _WIN32_WINNT instead.
+       * include/wingdi.h: Ditto.
+       * include/winnls.h: Ditto.
+       * include/winreg.h: Ditto.
+       * include/winuser.h: Dittol
+
+       * include/_mingw.h (__TEST_SQL_NOUNICODEMAP): Use to determine if
+       UNICODE should be considered.
+       (_ODBCINST_H): Changed to use __TEST_SQL_NOUNICODEMAP.
+       * include/odbcinst.h (__TEST_SQL_NOUNICODEMAP): Define before including
+       _mingw.h.
+       * include/sqlucode.h: Ditto.
+
+       * include/time.h (time_t): Logic fix for filters.
+       * (__time64_t): Remove the __STRICT_ANSI__ guard.
+
+       * include/winable.h: This file is deprecated by Microsoft due to
+       winuser.h containing all of the functionality of winable.h; therefore
+       issue a warning and include winuser.h.
+
+       * include/windows.h (Win32_Winsock): Remove filter logic and warning.
+       (winsock2.h): Do not include as doing so is not Microsoft compatible.
+       To use winsock2.h you need to include it instead of windows.h.
+       (__USE_W32_SOCKETS): Add a comment that it is __CYGWIN__ specific.
+
+       * include/winsock.h (_WIN32_WINNT_WIN95): Give a warning if winsock.h
+       is included for Windows versions greater than WIN95.
+
+       * include/winuser.h (MB_SERVICE_NOTIFICATION): We assume WIN95 or
+       greater so define based on this assumption.
+       (MB_SERVICE_NOTIFICATION_NT3X): Ditto.
+       (SM_CMETRICS): Ditto.
+       (MOUSEEVENTF_WHEEL): Ditto.
+       (ENDSESSION_LOGOFF): Ditto.
+
+       * TODO: Add entries.
+
 2012-09-13  Earnie Boyd  <earnie@users.sourceforge.net>
 
        Redo the filters based on assumptions discussed in mingw-dvlpr list.
diff --git a/TODO b/TODO
index 431e529..724b0b6 100644 (file)
--- a/TODO
+++ b/TODO
 ** setupapi.h - _SETUPAPI_VER???, USE_SP_DRVINFO_DATA_V1
 ** shldisp.h - COBJMACROS
 ** shlobj.h - COBJMACROS, _FIX_ENABLEMODELESS_CONFLICT
+** shlwapi.h - _OBJC_NO_COM
+** sql.h - ODBCVER
+** sqlext.h - ODBCVER, ODBC_STD
+** sqltypes.h - ODBCVER
+** stdio.h - _POSIX_SOURCE, __NO_ISOCEXT, __USE_MINGW_ANSI_STDIO, _MT,
+            __USE_MINGW_FSEEK, __NO_INLINE__
+** stdlib.h - __NO_ISOCEXT, __NO_INLINE__
+** tchar.h - wmain, wWinMain, _wenviron and __wargv - implmentation?
+** time.h - _USE_32BIT_TIME_T
+           _time32(), etc - should these always be defined?
+** unistd.h - __NO_ISOCEXT
+** unknwn.h - COM_NO_WINDOWS_H, CINTERFACE, COBJMACROS
+** values.h - ?? is it needed?
+** varargs.h - ?? can it be removed?
+** vfw.h - _OBJC_NO_COM, OFN_READONLY
+** vmr9.h - VMR9VideoStreamInfo, VMR9AlphaBitmap, VMR9PresentationInfo,
+           VMR9AllocationInfo
+** wtypes.h - NONAMELESSUNION
+** wchar.h - __NO_ISOCEXT, _USE_32BIT_TIME_T - Make sure the time structures
+           are defined correctly.
+** winbase.h - __W32API_USE_DLLIMPORT__, UNDER_CE, _WIN32_CE
+              EXECUTION_STATE - should be defined in WinNT.
+              Check the UNICODE mapping.
+** wincrypt.h - CERT_CHAIN_PARA_HAS_EXTRA_FIELDS
+** windef.h - WINVER, _WIN32_WINNT - remove default settings due to sdkddkver.h.
+             _NO_W32_PSEUDO_MODIFIERS, NOMINMAX, NONAMELESSUNION, NO_STRICT
+** windows.h - __USE_W32_SOCKETS, __OBJC__
+              wincrypt.h, winefs.h, winscard.h (need to add with NOCRYPT guard)
+** wingdi.h - _WIN32_CE, __W32API_USE_DLLIMPORT__
+** winnls.h - __W32API_USE_DLLIMPORT__
+             Commented out symbols for VISTA.
+** winnt.h: FIXME
+           Move target maps to separate file.
+           __TEXT() move definition to _mingw.h and get rid of __STR() in
+           mingw.h.
+** winsock2.h: _GNU_H_WINDOWS32_SOCKETS, __W32API_USE_DLLIMPORT__
+** winuser.h: __W32API_USE_DLLIMPORT__
+** ws2tcpip.h: GetNameInfoW - Add declaration.
+** wspiapi.h: Add file.
index eda88bb..b47177e 100644 (file)
@@ -200,10 +200,10 @@ typedef struct localeinfo_struct {
  */
 #define __AW__(AW, AW_) AW ## AW_
 #if ( \
- (!defined(_ODBCINST_H) && defined(UNICODE)) || \
- (!defined(_ODBCINST_H) && defined(_UNICODE)) || \
- defined(FORCE_UNICODE) \
- (defined _ODBCINST_H && !defined(SQL_NOUNICODEMAP) && defined(UNICODE)) \
+ (!defined(__TEST_SQL_NOUNICODEMAP) && defined(UNICODE)) || \
+ (!defined(__TEST_SQL_NOUNICODEMAP) && defined(_UNICODE)) || \
+ defined(FORCE_UNICODE) || \
+ (defined(__TEST_SQL_NOUNICODEMAP) && !defined(SQL_NOUNICODEMAP) && (defined(UNICODE) || defined(_UNICODE))) \
 )
 #define __AW(AW) __AW__(AW, W)
 #define __STR(AW) __AW__(L, AW)
index d684051..fd491d5 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _ODBCINST_H
 #define _ODBCINST_H
 #pragma GCC system_header
+#define __TEST_SQL_NOUNICODEMAP
 #include <_mingw.h>
 
 #include <sql.h>
index de7383f..8e95915 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _SHLWAPI_H
 #define _SHLWAPI_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -215,12 +216,7 @@ WINSHLWAPI LPSTR WINAPI StrRChrA(LPCSTR,LPCSTR,WORD);
 WINSHLWAPI LPWSTR WINAPI StrRChrW(LPCWSTR,LPCWSTR,WCHAR);
 WINSHLWAPI LPSTR WINAPI StrRChrIA(LPCSTR,LPCSTR,WORD);
 WINSHLWAPI LPWSTR WINAPI StrRChrIW(LPCWSTR,LPCWSTR,WCHAR);
-#ifndef _OBJC_NO_COM
-WINSHLWAPI HRESULT WINAPI StrRetToBufA(LPSTRRET,LPCITEMIDLIST,LPSTR,UINT);
-WINSHLWAPI HRESULT WINAPI StrRetToBufW(LPSTRRET,LPCITEMIDLIST,LPWSTR,UINT);
-WINSHLWAPI HRESULT WINAPI StrRetToStrA(LPSTRRET,LPCITEMIDLIST,LPSTR*);
-WINSHLWAPI HRESULT WINAPI StrRetToStrW(LPSTRRET,LPCITEMIDLIST,LPWSTR*);
-#endif
+
 WINSHLWAPI LPSTR WINAPI StrRStrIA(LPCSTR,LPCSTR,LPCSTR);
 WINSHLWAPI LPWSTR WINAPI StrRStrIW(LPCWSTR,LPCWSTR,LPCWSTR);
 WINSHLWAPI int WINAPI StrSpnA(LPCSTR,LPCSTR);
@@ -348,14 +344,7 @@ WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderW(LPWSTR);
 WINSHLWAPI void WINAPI PathUnquoteSpacesA(LPSTR);
 WINSHLWAPI void WINAPI PathUnquoteSpacesW(LPWSTR);
 WINSHLWAPI HRESULT WINAPI SHAutoComplete(HWND,DWORD);
-#ifndef _OBJC_NO_COM
-WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileA(LPCSTR,DWORD,struct IStream**);
-WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileW(LPCWSTR,DWORD,struct IStream**);
-WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2A(HKEY,LPCSTR,LPCSTR,DWORD);
-WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2W(HKEY,LPCWSTR,LPCWSTR,DWORD);
-WINSHLWAPI struct IStream* WINAPI SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD);
-WINSHLWAPI struct IStream* WINAPI SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD);
-#endif
+
 WINSHLWAPI BOOL WINAPI SHCreateThread(LPTHREAD_START_ROUTINE,void*,DWORD,LPTHREAD_START_ROUTINE);
 WINSHLWAPI DWORD WINAPI SHCopyKeyA(HKEY,LPCSTR,HKEY,DWORD);
 WINSHLWAPI DWORD WINAPI SHCopyKeyW(HKEY,LPCWSTR,HKEY,DWORD);
@@ -369,11 +358,7 @@ WINSHLWAPI DWORD WINAPI SHQueryInfoKeyA(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
 WINSHLWAPI DWORD WINAPI SHQueryInfoKeyW(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
 WINSHLWAPI DWORD WINAPI SHQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
 WINSHLWAPI DWORD WINAPI SHQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
-#ifndef _OBJC_NO_COM
-WINSHLWAPI HRESULT WINAPI SHGetThreadRef(IUnknown**);
-WINSHLWAPI HRESULT WINAPI SHSetThreadRef(IUnknown*);
-WINSHLWAPI BOOL WINAPI SHSkipJunction(IBindCtx*,const CLSID*);
-#endif
+
 WINSHLWAPI DWORD WINAPI SHEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
 WINSHLWAPI DWORD WINAPI SHEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
 WINSHLWAPI DWORD WINAPI SHGetValueA(HKEY,LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD);
@@ -467,297 +452,168 @@ HINSTANCE WINAPI MLLoadLibraryW(LPCWSTR,HANDLE,DWORD,LPCWSTR,BOOL);
 
 HRESULT WINAPI DllInstall(BOOL,LPCWSTR);
 
-#ifdef UNICODE
-#define ChrCmpI ChrCmpIW
-#define IntlStrEqN IntlStrEqNW
-#define IntlStrEqNI IntlStrEqNIW
-#define IntlStrEqWorker IntlStrEqWorkerW
-#define SHStrDup SHStrDupW
-#define StrCat StrCatW
-#define StrCatBuff StrCatBuffW
-#define StrChr StrChrW
-#define StrChrI StrChrIW
-#define StrCmp StrCmpW
-#define StrCmpI StrCmpIW
-#define StrCmpNI StrCmpNIW
-#define StrCmpN StrCmpNW
-#define StrCpyN StrCpyNW
-#define StrCpy StrCpyW
-#define StrCSpnI StrCSpnIW
-#define StrCSpn StrCSpnW
-#define StrDup StrDupW
-#define StrFormatByteSize StrFormatByteSizeW
-#define StrFormatKBSize StrFormatKBSizeW
+#define ChrCmpI __AW(ChrCmpI)
+#define IntlStrEqN __AW(IntlStrEqN)
+#define IntlStrEqNI __AW(IntlStrEqNI)
+#define IntlStrEqWorker __AW(IntlStrEqWorker)
+#define SHStrDup __AW(SHStrDup)
+#define StrCat __AW(StrCat)
+#define StrCatBuff __AW(StrCatBuff)
+#define StrChr __AW(StrChr)
+#define StrChrI __AW(StrChrI)
+#define StrCmp __AW(StrCmp)
+#define StrCmpI __AW(StrCmpI)
+#define StrCmpNI __AW(StrCmpNI)
+#define StrCmpN __AW(StrCmpN)
+#define StrCpyN __AW(StrCpyN)
+#define StrCpy __AW(StrCpy)
+#define StrCSpnI __AW(StrCSpnI)
+#define StrCSpn __AW(StrCSpn)
+#define StrDup __AW(StrDup)
+#define StrFormatByteSize __AW(StrFormatByteSize)
+#define StrFormatKBSize __AW(StrFormatKBSize)
 #define StrFromTimeInterval StrFromTimeIntervalW
 #define StrIsIntlEqual StrIsIntlEqualW
-#define StrNCat StrNCatW
-#define StrPBrk StrPBrkW
-#define StrRChr StrRChrW
-#define StrRChrI StrRChrIW
-#ifndef _OBJC_NO_COM
-#define StrRetToBuf StrRetToBufW
-#define StrRetToStr StrRetToStrW
-#endif
-#define StrRStrI StrRStrIW
-#define StrSpn StrSpnW
-#define StrStrI StrStrIW
-#define StrStr StrStrW
-#define StrToInt StrToIntW
-#define StrToIntEx StrToIntExW
-#define StrTrim StrTrimW
-#define PathAddBackslash PathAddBackslashW
-#define PathAddExtension PathAddExtensionW
-#define PathAppend PathAppendW
-#define PathBuildRoot PathBuildRootW
-#define PathCanonicalize PathCanonicalizeW
-#define PathCombine PathCombineW
-#define PathCommonPrefix PathCommonPrefixW
-#define PathCompactPath PathCompactPathW
-#define PathCompactPathEx PathCompactPathExW
-#define PathCreateFromUrl PathCreateFromUrlW
-#define PathFileExists PathFileExistsW
-#define PathFindExtension PathFindExtensionW
-#define PathFindFileName PathFindFileNameW
+#define StrNCat __AW(StrNCat)
+#define StrPBrk __AW(StrPBrk)
+#define StrRChr __AW(StrRChr)
+#define StrRChrI __AW(StrRChrI)
+
+#define StrRStrI __AW(StrRStrI)
+#define StrSpn __AW(StrSpn)
+#define StrStrI __AW(StrStrI)
+#define StrStr __AW(StrStr)
+#define StrToInt __AW(StrToInt)
+#define StrToIntEx __AW(StrToIntEx)
+#define StrTrim __AW(StrTrim)
+#define PathAddBackslash __AW(PathAddBackslash)
+#define PathAddExtension __AW(PathAddExtension)
+#define PathAppend __AW(PathAppend)
+#define PathBuildRoot __AW(PathBuildRoot)
+#define PathCanonicalize __AW(PathCanonicalize)
+#define PathCombine __AW(PathCombine)
+#define PathCommonPrefix __AW(PathCommonPrefix)
+#define PathCompactPath __AW(PathCompactPath)
+#define PathCompactPathEx __AW(PathCompactPathEx)
+#define PathCreateFromUrl __AW(PathCreateFromUrl)
+#define PathFileExists __AW(PathFileExists)
+#define PathFindExtension __AW(PathFindExtension)
+#define PathFindFileName __AW(PathFindFileName)
 #define PathFindNextComponent PathFindNextComponentW
-#define PathFindOnPath PathFindOnPathW
-#define PathFindSuffixArray PathFindSuffixArrayW
-#define PathGetArgs PathGetArgsW
-#define PathGetCharType PathGetCharTypeW
-#define PathGetDriveNumber PathGetDriveNumberW
-#define PathIsContentType PathIsContentTypeW
-#define PathIsDirectoryEmpty PathIsDirectoryEmptyW
-#define PathIsDirectory PathIsDirectoryW
-#define PathIsFileSpec PathIsFileSpecW
-#define PathIsLFNFileSpec PathIsLFNFileSpecW
-#define PathIsNetworkPath PathIsNetworkPathW
-#define PathIsPrefix PathIsPrefixW
-#define PathIsRelative PathIsRelativeW
-#define PathIsRoot PathIsRootW
-#define PathIsSameRoot PathIsSameRootW
-#define PathIsSystemFolder PathIsSystemFolderW
-#define PathIsUNCServerShare PathIsUNCServerShareW
-#define PathIsUNCServer PathIsUNCServerW
-#define PathIsUNC PathIsUNCW
-#define PathIsURL PathIsURLW
-#define PathMakePretty PathMakePrettyW
-#define PathMakeSystemFolder PathMakeSystemFolderW
-#define PathMatchSpec PathMatchSpecW
-#define PathParseIconLocation PathParseIconLocationW
-#define PathQuoteSpaces PathQuoteSpacesW
-#define PathRelativePathTo PathRelativePathToW
-#define PathRemoveArgs PathRemoveArgsW
-#define PathRemoveBackslash PathRemoveBackslashW
-#define PathRemoveBlanks PathRemoveBlanksW
-#define PathRemoveExtension PathRemoveExtensionW
-#define PathRemoveFileSpec PathRemoveFileSpecW
-#define PathRenameExtension PathRenameExtensionW
-#define PathSearchAndQualify PathSearchAndQualifyW
-#define PathSetDlgItemPath PathSetDlgItemPathW
-#define PathSkipRoot PathSkipRootW
-#define PathStripPath PathStripPathW
-#define PathStripToRoot PathStripToRootW
-#define PathUndecorate PathUndecorateW
-#define PathUnExpandEnvStrings PathUnExpandEnvStringsW
-#define PathUnmakeSystemFolder PathUnmakeSystemFolderW
-#define PathUnquoteSpaces PathUnquoteSpacesW
-#ifndef _OBJC_NO_COM
-#define SHCreateStreamOnFile SHCreateStreamOnFileW
-#define SHOpenRegStream SHOpenRegStreamW
-#define SHOpenRegStream2 SHOpenRegStream2W
-#endif
-#define SHCopyKey SHCopyKeyW
-#define SHDeleteEmptyKey SHDeleteEmptyKeyW
-#define SHDeleteKey SHDeleteKeyW
-#define SHEnumKeyEx SHEnumKeyExW
-#define SHQueryInfoKey SHRegQueryInfoKeyW
-#define SHQueryValueEx SHQueryValueExW
-#define SHEnumValue SHEnumValueW
-#define SHGetValue SHGetValueW
-#define SHSetValue SHSetValueW
-#define SHDeleteValue SHDeleteValueW
-#define AssocQueryKey AssocQueryKeyW
-#define AssocQueryStringByKey AssocQueryStringByKeyW
-#define AssocQueryString AssocQueryStringW
-#define UrlApplyScheme UrlApplySchemeW
-#define UrlCanonicalize UrlCanonicalizeW
-#define UrlCombine UrlCombineW
-#define UrlCompare UrlCompareW
-#define UrlCreateFromPath UrlCreateFromPathW
-#define UrlEscape UrlEscapeW
-#define UrlGetLocation UrlGetLocationW
-#define UrlGetPart UrlGetPartW
-#define UrlHash UrlHashW
-#define UrlIs UrlIsW
-#define UrlIsFileUrl UrlIsFileUrlW
-#define UrlIsNoHistory UrlIsNoHistoryW
-#define UrlIsOpaque UrlIsOpaqueW
-#define UrlUnescape UrlUnescapeW
-#define UrlUnescapeInPlace UrlUnescapeInPlaceW
-#define SHRegCreateUSKey SHRegCreateUSKeyW
-#define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyW
-#define SHRegDeleteUSValue SHRegDeleteUSValueW
-#define SHRegEnumUSKey SHRegEnumUSKeyW
-#define SHRegEnumUSValue SHRegEnumUSValueW
-#define SHRegGetBoolUSValue SHRegGetBoolUSValueW
-#define SHRegGetPath SHRegGetPathW
-#define SHRegGetUSValue SHRegGetUSValueW
-#define SHRegOpenUSKey SHRegOpenUSKeyW
-#define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyW
-#define SHRegQueryUSValue SHRegQueryUSValueW
-#define SHRegSetPath SHRegSetPathW
-#define SHRegSetUSValue SHRegSetUSValueW
-#define SHRegWriteUSValue SHRegWriteUSValueW
-#define wnsprintf wnsprintfW
-#define wvnsprintf wvnsprintfW
-#else /* UNICODE */
-#define ChrCmpI ChrCmpIA
-#define IntlStrEqN IntlStrEqNA
-#define IntlStrEqNI IntlStrEqNIA
-#define IntlStrEqWorker IntlStrEqWorkerA
-#define SHStrDup SHStrDupA
-#define StrCat lstrcatA
-#define StrCatBuff StrCatBuffA
-#define StrChr StrChrA
-#define StrChrI StrChrIA
-#define StrCmp lstrcmpA
-#define StrCmpI lstrcmpiA
-#define StrCmpNI StrCmpNIA
-#define StrCmpN StrCmpNA
-#define StrCpyN lstrcpynA
-#define StrCpy lstrcpyA
-#define StrCSpnI StrCSpnIA
-#define StrCSpn StrCSpnA
-#define StrDup StrDupA
-#define StrFormatByteSize StrFormatByteSizeA
-#define StrFormatKBSize StrFormatKBSizeA
-#define StrFromTimeInterval StrFromTimeIntervalA
-#define StrIsIntlEqual StrIsIntlEqualA
-#define StrNCat StrNCatA
-#define StrPBrk StrPBrkA
-#define StrRChr StrRChrA
-#define StrRChrI StrRChrIA
-#ifndef _OBJC_NO_COM
-#define StrRetToBuf StrRetToBufA
-#define StrRetToStr StrRetToStrA
-#endif
-#define StrRStrI StrRStrIA
-#define StrSpn StrSpnA
-#define StrStrI StrStrIA
-#define StrStr StrStrA
-#define StrToInt StrToIntA
-#define StrToIntEx StrToIntExA
-#define StrTrim StrTrimA
-#define PathAddBackslash PathAddBackslashA
-#define PathAddExtension PathAddExtensionA
-#define PathAppend PathAppendA
-#define PathBuildRoot PathBuildRootA
-#define PathCanonicalize PathCanonicalizeA
-#define PathCombine PathCombineA
-#define PathCommonPrefix PathCommonPrefixA
-#define PathCompactPath PathCompactPathA
-#define PathCompactPathEx PathCompactPathExA
-#define PathCreateFromUrl PathCreateFromUrlA
-#define PathFileExists PathFileExistsA
-#define PathFindExtension PathFindExtensionA
-#define PathFindFileName PathFindFileNameA
-#define PathFindNextComponent PathFindNextComponentA
-#define PathFindOnPath PathFindOnPathA
-#define PathFindSuffixArray PathFindSuffixArrayA
-#define PathGetArgs PathGetArgsA
-#define PathGetCharType PathGetCharTypeA
-#define PathGetDriveNumber PathGetDriveNumberA
-#define PathIsContentType PathIsContentTypeA
-#define PathIsDirectoryEmpty PathIsDirectoryEmptyA
-#define PathIsDirectory PathIsDirectoryA
-#define PathIsFileSpec PathIsFileSpecA
-#define PathIsLFNFileSpec PathIsLFNFileSpecA
-#define PathIsNetworkPath PathIsNetworkPathA
-#define PathIsPrefix PathIsPrefixA
-#define PathIsRelative PathIsRelativeA
-#define PathIsRoot PathIsRootA
-#define PathIsSameRoot PathIsSameRootA
-#define PathIsSystemFolder PathIsSystemFolderA
-#define PathIsUNCServerShare PathIsUNCServerShareA
-#define PathIsUNCServer PathIsUNCServerA
-#define PathIsUNC PathIsUNCA
-#define PathIsURL PathIsURLA
-#define PathMakePretty PathMakePrettyA
-#define PathMakeSystemFolder PathMakeSystemFolderA
-#define PathMatchSpec PathMatchSpecA
-#define PathParseIconLocation PathParseIconLocationA
-#define PathQuoteSpaces PathQuoteSpacesA
-#define PathRelativePathTo PathRelativePathToA
-#define PathRemoveArgs PathRemoveArgsA
-#define PathRemoveBackslash PathRemoveBackslashA
-#define PathRemoveBlanks PathRemoveBlanksA
-#define PathRemoveExtension PathRemoveExtensionA
-#define PathRemoveFileSpec PathRemoveFileSpecA
-#define PathRenameExtension PathRenameExtensionA
-#define PathSearchAndQualify PathSearchAndQualifyA
-#define PathSetDlgItemPath PathSetDlgItemPathA
-#define PathSkipRoot PathSkipRootA
-#define PathStripPath PathStripPathA
-#define PathStripToRoot PathStripToRootA
-#define PathUndecorate PathUndecorateA
-#define PathUnExpandEnvStrings PathUnExpandEnvStringsA
-#define PathUnmakeSystemFolder PathUnmakeSystemFolderA
-#define PathUnquoteSpaces PathUnquoteSpacesA
-#ifndef _OBJC_NO_COM
-#define SHCreateStreamOnFile SHCreateStreamOnFileA
-#define SHOpenRegStream SHOpenRegStreamA
-#define SHOpenRegStream2 SHOpenRegStream2A
-#endif
-#define SHCopyKey SHCopyKeyA
-#define SHDeleteEmptyKey SHDeleteEmptyKeyA
-#define SHDeleteKey SHDeleteKeyA
-#define SHEnumKeyEx SHEnumKeyExA
-#define SHQueryInfoKey SHRegQueryInfoKeyA
-#define SHQueryValueEx SHQueryValueExA
-#define SHEnumValue SHEnumValueA
-#define SHGetValue SHGetValueA
-#define SHSetValue SHSetValueA
-#define SHDeleteValue SHDeleteValueA
-#define AssocQueryKey AssocQueryKeyA
-#define AssocQueryStringByKey AssocQueryStringByKeyA
-#define AssocQueryString AssocQueryStringA
-#define UrlApplyScheme UrlApplySchemeA
-#define UrlCanonicalize UrlCanonicalizeA
-#define UrlCombine UrlCombineA
-#define UrlCompare UrlCompareA
-#define UrlCreateFromPath UrlCreateFromPathA
-#define UrlEscape UrlEscapeA
-#define UrlGetLocation UrlGetLocationA
-#define UrlGetPart UrlGetPartA
-#define UrlHash UrlHashA
-#define UrlIs UrlIsA
-#define UrlIsFileUrl UrlIsFileUrl
-#define UrlIsNoHistory UrlIsNoHistoryA
-#define UrlIsOpaque UrlIsOpaqueA
-#define UrlUnescape UrlUnescapeA
-#define UrlUnescapeInPlace UrlUnescapeInPlaceA
-#define SHRegCreateUSKey SHRegCreateUSKeyA
-#define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyA
-#define SHRegDeleteUSValue SHRegDeleteUSValueA
-#define SHRegEnumUSKey SHRegEnumUSKeyA
-#define SHRegEnumUSValue SHRegEnumUSValueA
-#define SHRegGetBoolUSValue SHRegGetBoolUSValueA
-#define SHRegGetPath SHRegGetPathA
-#define SHRegGetUSValue SHRegGetUSValueA
-#define SHRegOpenUSKey SHRegOpenUSKeyA
-#define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyA
-#define SHRegQueryUSValue SHRegQueryUSValueA
-#define SHRegSetPath SHRegSetPathA
-#define SHRegSetUSValue SHRegSetUSValueA
-#define SHRegWriteUSValue SHRegWriteUSValueA
-#define wnsprintf wnsprintfA
-#define wvnsprintf wvnsprintfA
-#endif /* UNICODE */
+#define PathFindOnPath __AW(PathFindOnPath)
+#define PathFindSuffixArray __AW(PathFindSuffixArray)
+#define PathGetArgs __AW(PathGetArgs)
+#define PathGetCharType __AW(PathGetCharType)
+#define PathGetDriveNumber __AW(PathGetDriveNumber)
+#define PathIsContentType __AW(PathIsContentType)
+#define PathIsDirectoryEmpty __AW(PathIsDirectoryEmpty)
+#define PathIsDirectory __AW(PathIsDirectory)
+#define PathIsFileSpec __AW(PathIsFileSpec)
+#define PathIsLFNFileSpec __AW(PathIsLFNFileSpec)
+#define PathIsNetworkPath __AW(PathIsNetworkPath)
+#define PathIsPrefix __AW(PathIsPrefix)
+#define PathIsRelative __AW(PathIsRelative)
+#define PathIsRoot __AW(PathIsRoot)
+#define PathIsSameRoot __AW(PathIsSameRoot)
+#define PathIsSystemFolder __AW(PathIsSystemFolder)
+#define PathIsUNCServerShare __AW(PathIsUNCServerShare)
+#define PathIsUNCServer __AW(PathIsUNCServer)
+#define PathIsUNC __AW(PathIsUNC)
+#define PathIsURL __AW(PathIsURL)
+#define PathMakePretty __AW(PathMakePretty)
+#define PathMakeSystemFolder __AW(PathMakeSystemFolder)
+#define PathMatchSpec __AW(PathMatchSpec)
+#define PathParseIconLocation __AW(PathParseIconLocation)
+#define PathQuoteSpaces __AW(PathQuoteSpaces)
+#define PathRelativePathTo __AW(PathRelativePathTo)
+#define PathRemoveArgs __AW(PathRemoveArgs)
+#define PathRemoveBackslash __AW(PathRemoveBackslash)
+#define PathRemoveBlanks __AW(PathRemoveBlanks)
+#define PathRemoveExtension __AW(PathRemoveExtension)
+#define PathRemoveFileSpec __AW(PathRemoveFileSpec)
+#define PathRenameExtension __AW(PathRenameExtension)
+#define PathSearchAndQualify __AW(PathSearchAndQualify)
+#define PathSetDlgItemPath __AW(PathSetDlgItemPath)
+#define PathSkipRoot __AW(PathSkipRoot)
+#define PathStripPath __AW(PathStripPath)
+#define PathStripToRoot __AW(PathStripToRoot)
+#define PathUndecorate __AW(PathUndecorate)
+#define PathUnExpandEnvStrings __AW(PathUnExpandEnvStrings)
+#define PathUnmakeSystemFolder __AW(PathUnmakeSystemFolder)
+#define PathUnquoteSpaces __AW(PathUnquoteSpaces)
+
+#define SHCopyKey __AW(SHCopyKey)
+#define SHDeleteEmptyKey __AW(SHDeleteEmptyKey)
+#define SHDeleteKey __AW(SHDeleteKey)
+#define SHEnumKeyEx __AW(SHEnumKeyEx)
+#define SHQueryInfoKey __AW(SHRegQueryInfoKey)
+#define SHQueryValueEx __AW(SHQueryValueEx)
+#define SHEnumValue __AW(SHEnumValue)
+#define SHGetValue __AW(SHGetValue)
+#define SHSetValue __AW(SHSetValue)
+#define SHDeleteValue __AW(SHDeleteValue)
+#define AssocQueryKey __AW(AssocQueryKey)
+#define AssocQueryStringByKey __AW(AssocQueryStringByKey)
+#define AssocQueryString __AW(AssocQueryString)
+#define UrlApplyScheme __AW(UrlApplyScheme)
+#define UrlCanonicalize __AW(UrlCanonicalize)
+#define UrlCombine __AW(UrlCombine)
+#define UrlCompare __AW(UrlCompare)
+#define UrlCreateFromPath __AW(UrlCreateFromPath)
+#define UrlEscape __AW(UrlEscape)
+#define UrlGetLocation __AW(UrlGetLocation)
+#define UrlGetPart __AW(UrlGetPart)
+#define UrlHash __AW(UrlHash)
+#define UrlIs __AW(UrlIs)
+#define UrlIsFileUrl __AW(UrlIsFileUrl)
+#define UrlIsNoHistory __AW(UrlIsNoHistory)
+#define UrlIsOpaque __AW(UrlIsOpaque)
+#define UrlUnescape __AW(UrlUnescape)
+#define UrlUnescapeInPlace __AW(UrlUnescapeInPlace)
+#define SHRegCreateUSKey __AW(SHRegCreateUSKey)
+#define SHRegDeleteEmptyUSKey __AW(SHRegDeleteEmptyUSKey)
+#define SHRegDeleteUSValue __AW(SHRegDeleteUSValue)
+#define SHRegEnumUSKey __AW(SHRegEnumUSKey)
+#define SHRegEnumUSValue __AW(SHRegEnumUSValue)
+#define SHRegGetBoolUSValue __AW(SHRegGetBoolUSValue)
+#define SHRegGetPath __AW(SHRegGetPath)
+#define SHRegGetUSValue __AW(SHRegGetUSValue)
+#define SHRegOpenUSKey __AW(SHRegOpenUSKey)
+#define SHRegQueryInfoUSKey __AW(SHRegQueryInfoUSKey)
+#define SHRegQueryUSValue __AW(SHRegQueryUSValue)
+#define SHRegSetPath __AW(SHRegSetPath)
+#define SHRegSetUSValue __AW(SHRegSetUSValue)
+#define SHRegWriteUSValue __AW(SHRegWriteUSValue)
+#define wnsprintf __AW(wnsprintf)
+#define wvnsprintf __AW(wvnsprintf)
 
 #define StrToLong StrToInt
 
+#ifndef _OBJC_NO_COM
+WINSHLWAPI HRESULT WINAPI StrRetToBufA(LPSTRRET,LPCITEMIDLIST,LPSTR,UINT);
+WINSHLWAPI HRESULT WINAPI StrRetToBufW(LPSTRRET,LPCITEMIDLIST,LPWSTR,UINT);
+WINSHLWAPI HRESULT WINAPI StrRetToStrA(LPSTRRET,LPCITEMIDLIST,LPSTR*);
+WINSHLWAPI HRESULT WINAPI StrRetToStrW(LPSTRRET,LPCITEMIDLIST,LPWSTR*);
+WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileA(LPCSTR,DWORD,struct IStream**);
+WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileW(LPCWSTR,DWORD,struct IStream**);
+WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2A(HKEY,LPCSTR,LPCSTR,DWORD);
+WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2W(HKEY,LPCWSTR,LPCWSTR,DWORD);
+WINSHLWAPI struct IStream* WINAPI SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD);
+WINSHLWAPI struct IStream* WINAPI SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD);
+WINSHLWAPI HRESULT WINAPI SHGetThreadRef(IUnknown**);
+WINSHLWAPI HRESULT WINAPI SHSetThreadRef(IUnknown*);
+WINSHLWAPI BOOL WINAPI SHSkipJunction(IBindCtx*,const CLSID*);
+#define StrRetToBuf __AW(StrRetToBuf)
+#define StrRetToStr __AW(StrRetToStr)
+#define SHCreateStreamOnFile __AW(SHCreateStreamOnFile)
+#define SHOpenRegStream __AW(SHOpenRegStream)
+#define SHOpenRegStream2 __AW(SHOpenRegStream2)
+#endif /* !_OBJC_NO_COM */
+
 #endif /* !RC_INVOKED */
 
 #ifdef __cplusplus
 }
 #endif
+
 #endif /* ! defined _SHLWAPI_H */
index 4d2f13a..3bf42c4 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _SHLOBJIDL_H
 #define _SHLOBJIDL_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -156,9 +157,9 @@ DECLARE_INTERFACE_(ITaskbarList3, ITaskbarList2)
 typedef ITaskbarList3 *LPTASKBARLIST3;
 
 #pragma pack(pop)
+
 #ifdef __cplusplus
 }
 #endif
 
-
 #endif /* _SHLOBJIDL_H */
index 2310d3b..5c358f2 100644 (file)
@@ -24,8 +24,6 @@
 #ifndef        _SIGNAL_H
 #define        _SIGNAL_H
 #pragma GCC system_header
-
-/* All the headers include this file. */
 #include <_mingw.h>
 
 /*
@@ -107,4 +105,5 @@ _CRTIMP int __cdecl __MINGW_NOTHROW raise (int);
 #endif
 
 #endif /* Not RC_INVOKED */
+
 #endif /* Not _SIGNAL_H */
index 16a5ea1..a073703 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _SNMP_H
 #define _SNMP_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <windows.h>
 #include <pshpack4.h>
@@ -40,6 +41,7 @@ extern "C" {
 #define DEFAULT_SNMP_PORT_IPX  36879
 #define DEFAULT_SNMPTRAP_PORT_UDP      162
 #define DEFAULT_SNMPTRAP_PORT_IPX      36880
+
 #ifndef _SNMP_ASN_DEFINED
 #define _SNMP_ASN_DEFINED
 #define ASN_UNIVERSAL  0x00
@@ -58,6 +60,7 @@ extern "C" {
 #define SNMP_PDU_TRAP  (ASN_CONTEXT | ASN_CONSTRUCTOR | 7) 
 #define SNMP_PDU_REPORT        (ASN_CONTEXT | ASN_CONSTRUCTOR | 8)
 #endif /* _SNMP_ASN_DEFINED */
+
 #define ASN_INTEGER    (ASN_UNIVERSAL | ASN_PRIMITIVE | 2)
 #define ASN_BITS       (ASN_UNIVERSAL | ASN_PRIMITIVE | 3)
 #define ASN_OCTETSTRING        (ASN_UNIVERSAL | ASN_PRIMITIVE | 4)
index 8e0777f..684156d 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _SPECSTRINGS_H
 #define _SPECSTRINGS_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 /* These are built from primitives in Microsoft's Standard Annotation Language.
    Search for "Header Annotation" on MSDN site for their MS-specific meanings */
 #define __out_ecount_part_opt(size,length)
 #define __out_opt 
 
-
 #endif /*_SPECSTRINGS_H */
index fb38741..19fdea3 100644 (file)
 #ifndef _SQL_H
 #define _SQL_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #ifndef ODBCVER
 #define ODBCVER 0x0351
 #endif
+
 #include <sqltypes.h>
 #define SQL_ACCESSIBLE_PROCEDURES 20
 #define SQL_ACCESSIBLE_TABLES 19
@@ -207,10 +210,12 @@ extern "C" {
 #define SQL_UNKNOWN_TYPE 0
 #define SQL_USER_NAME 47
 #define SQL_VARCHAR 12
+
 #if (ODBCVER >= 0x0200)
 #define SQL_AT_ADD_COLUMN 1
 #define SQL_AT_DROP_COLUMN 2
 #endif /* ODBCVER >= 0x0200 */
+
 #if (ODBCVER >= 0x0201)
 #define SQL_OJ_LEFT 1
 #define SQL_OJ_RIGHT 2
@@ -220,6 +225,7 @@ extern "C" {
 #define SQL_OJ_INNER 32
 #define SQL_OJ_ALL_COMPARISON_OPS 64
 #endif /* ODBCVER >= 0x0201 */ 
+
 #if (ODBCVER >= 0x0300)   
 #define SQL_AM_CONNECTION 1
 #define SQL_AM_NONE 0
@@ -398,6 +404,7 @@ SQLRETURN SQL_API SQLSpecialColumns(SQLHSTMT,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,S
 SQLRETURN SQL_API SQLStatistics(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLUSMALLINT,SQLUSMALLINT);
 SQLRETURN SQL_API SQLTables(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
 SQLRETURN SQL_API SQLDataSources(SQLHENV,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
+
 #if (ODBCVER >= 0x0300)
 SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT,SQLHANDLE,SQLHANDLE*);
 SQLRETURN SQL_API SQLBindParam(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLSMALLINT,SQLULEN,SQLSMALLINT,SQLPOINTER,SQLLEN*);
@@ -422,8 +429,11 @@ SQLRETURN SQL_API SQLSetDescRec(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLSMALLINT,SQL
 SQLRETURN SQL_API SQLSetEnvAttr(SQLHENV,SQLINTEGER,SQLPOINTER,SQLINTEGER);
 SQLRETURN SQL_API SQLSetStmtAttr(SQLHSTMT,SQLINTEGER,SQLPOINTER,SQLINTEGER);
 #endif  /* (ODBCVER >= 0x0300) */
+
 #endif /* ndef RC_INVOKED */
+
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 35dd562..ba1e725 100644 (file)
 #ifndef _SQLEXT_H
 #define _SQLEXT_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <sql.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #define SQL_SPEC_MAJOR 3
 #define SQL_SPEC_MINOR 51
 #define SQL_SPEC_STRING "03.51"
@@ -547,6 +550,7 @@ extern "C" {
 #define SQL_INTERVAL_HOUR_TO_MINUTE (-90)
 #define SQL_INTERVAL_HOUR_TO_SECOND (-91)
 #define SQL_INTERVAL_MINUTE_TO_SECOND (-92)
+
 #else  
 #define SQL_NO_DATA_FOUND SQL_NO_DATA
 #define SQL_CODE_YEAR 1
@@ -582,6 +586,7 @@ extern "C" {
 #define SQL_UNICODE_VARCHAR (-96)
 #define SQL_UNICODE_LONGVARCHAR (-97)
 #define SQL_UNICODE_CHAR SQL_UNICODE
+
 #else
 #define SQL_UNICODE SQL_WCHAR
 #define SQL_UNICODE_VARCHAR SQL_WVARCHAR
@@ -1137,10 +1142,12 @@ extern "C" {
 #define SQL_US_UNION SQL_U_UNION
 #define SQL_US_UNION_ALL SQL_U_UNION_ALL
 #endif /* ODBCVER >= 0x300 */
+
 #if (ODBCVER >= 0x0350)
 #define SQL_DESC_ROWVER 35
 #define SQL_GUID (-11)
 #define SQL_C_GUID SQL_GUID
+
 #ifdef ODBC_STD
 #define SQLAllocHandle SQLAllocHandleStd
 #define SQLAllocEnv(p) SQLAllocHandleStd(SQL_HANDLE_ENV,SQL_NULL_HANDLE,p)
@@ -1158,7 +1165,9 @@ extern "C" {
 #define SQL_HOUR_TO_SECOND SQL_CODE_HOUR_TO_SECOND
 #define SQL_MINUTE_TO_SECOND SQL_CODE_MINUTE_TO_SECOND
 #endif /* ODBC_STD */
+
 #endif /* ODBCVER >= 0x0350 */
+
 #if (ODBCVER >= 0x0351)
 #define SQL_ATTR_ANSI_APP 115
 #define SQL_AA_TRUE 1L
@@ -1227,13 +1236,18 @@ RETCODE SQL_API TraceOpenLogFile(LPWSTR,LPWSTR,DWORD);
 RETCODE        SQL_API TraceCloseLogFile(void);
 VOID SQL_API TraceReturn(RETCODE,RETCODE);
 DWORD SQL_API TraceVersion(void);
+
 #if (ODBCVER >= 0x0300)
 SQLRETURN SQL_API SQLBulkOperations(SQLHSTMT,SQLSMALLINT);
 SQLRETURN SQL_API SQLAllocHandleStd( SQLSMALLINT,SQLHANDLE,SQLHANDLE*);
 #endif
+
 #endif /* ndef RC_INVOKED */
+
 #include <sqlucode.h>
+
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 168dc7f..82ba7d7 100644 (file)
 #ifndef _SQLTYPES_H
 #define _SQLTYPES_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #define SQL_API __stdcall
+
 #ifndef RC_INVOKED
 #define __need_wchar_t
 #include <stddef.h>
+
 typedef signed char SCHAR;
 typedef long SDWORD;
 typedef short SWORD;
@@ -51,25 +55,31 @@ typedef UCHAR SQLCHAR;
 typedef SCHAR SQLSCHAR;
 typedef SDWORD SQLINTEGER;
 typedef SWORD SQLSMALLINT;
+
 #ifndef __WIN64
 typedef UDWORD SQLUINTEGER;
 #endif
+
 typedef UWORD SQLUSMALLINT;
 typedef PVOID SQLPOINTER;
+
 #if (ODBCVER >= 0x0300)
 typedef void* SQLHANDLE;
 typedef SQLHANDLE SQLHENV;
 typedef SQLHANDLE SQLHDBC;
 typedef SQLHANDLE SQLHSTMT;
 typedef SQLHANDLE SQLHDESC;
+
 #else
 typedef void* SQLHENV;
 typedef void* SQLHDBC;
 typedef void* SQLHSTMT;
 #endif
+
 typedef SQLSMALLINT SQLRETURN;
 typedef HWND SQLHWND;
 typedef ULONG BOOKMARK;
+
 #ifdef _WIN64
 typedef INT64 SQLLEN;
 typedef INT64 SQLROWOFFSET;
@@ -77,6 +87,7 @@ typedef UINT64 SQLROWCOUNT;
 typedef UINT64 SQLULEN;
 typedef UINT64 SQLTRANSID;
 typedef unsigned long SQLSETPOSIROW;
+
 #else
 #define SQLLEN SQLINTEGER
 #define SQLROWOFFSET SQLINTEGER
@@ -85,12 +96,16 @@ typedef unsigned long SQLSETPOSIROW;
 #define SQLTRANSID DWORD
 #define SQLSETPOSIROW SQLUSMALLINT
 #endif
+
 typedef wchar_t SQLWCHAR;
+
+/* Cannot use __AW(). */
 #ifdef UNICODE
 typedef SQLWCHAR        SQLTCHAR;
 #else
 typedef SQLCHAR         SQLTCHAR;
 #endif  /* UNICODE */
+
 #if (ODBCVER >= 0x0300)
 typedef unsigned char   SQLDATE;
 typedef unsigned char   SQLDECIMAL;
@@ -125,6 +140,7 @@ typedef struct tagTIMESTAMP_STRUCT {
        SQLUSMALLINT second;
        SQLUINTEGER fraction;
 } TIMESTAMP_STRUCT;
+
 #if (ODBCVER >= 0x0300)
 typedef DATE_STRUCT    SQL_DATE_STRUCT;
 typedef TIME_STRUCT    SQL_TIME_STRUCT;
@@ -162,6 +178,7 @@ typedef struct tagSQL_NUMERIC_STRUCT {
        SQLCHAR val[SQL_MAX_NUMERIC_LEN];
 } SQL_NUMERIC_STRUCT;
 #endif  /* ODBCVER >= 0x0300 */
+
 #if (ODBCVER >= 0x0350)
 
 #ifdef _GUID_DEFINED
@@ -178,9 +195,13 @@ typedef struct tagSQLGUID{
     BYTE Data4[ 8 ];
 } SQLGUID;
 #endif  /* GUID_DEFINED */
+
 #endif  /* ODBCVER >= 0x0350 */
+
 #endif     /* RC_INVOKED */
+
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index c703ac5..befca6d 100644 (file)
 #ifndef _SQLUCODE_H
 #define _SQLUCODE_H
 #pragma GCC system_header
+#define __TEST_SQL_NOUNICODEMAP
+#include <_mingw.h>
 
 #include <sqlext.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #define SQL_WCHAR (-8)
 #define SQL_WVARCHAR (-9)
 #define SQL_WLONGVARCHAR (-10)
 #define SQL_C_WCHAR SQL_WCHAR
 #define SQL_SQLSTATE_SIZEW     10
+
+/* Cannot use __AW(). */
 #ifdef UNICODE
 #define SQL_C_TCHAR SQL_C_WCHAR
 #else
 #define SQL_C_TCHAR SQL_C_CHAR
 #endif 
+
 #ifndef RC_INVOKED
 SQLRETURN SQL_API SQLBrowseConnectA(SQLHDBC,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
 SQLRETURN SQL_API SQLBrowseConnectW(SQLHDBC,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*);
@@ -100,6 +107,7 @@ SQLRETURN SQL_API SQLTablePrivilegesA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQL
 SQLRETURN SQL_API SQLTablePrivilegesW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT );
 SQLRETURN SQL_API SQLTablesA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
 SQLRETURN SQL_API SQLTablesW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT);
+
 #if (ODBCVER >= 0x0300)
 SQLRETURN SQL_API SQLGetDescFieldA(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
 SQLRETURN SQL_API SQLGetDescFieldW(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
@@ -156,8 +164,11 @@ SQLRETURN SQL_API SQLSetStmtAttrW(SQLHSTMT,SQLINTEGER,SQLPOINTER,SQLINTEGER);
 #define SQLTablePrivileges SQLTablePrivilegesW
 #define SQLTables SQLTablesW
 #endif /* UNICODE && ! SQL_NOUNICODEMAP */
+
 #endif /* RC_INVOKED */
+
 #ifdef __cplusplus
 }
 #endif  /* __cplusplus*/
+
 #endif  /* ndef _SQLUCODE_H */
index ff45b8d..f4022a8 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _SSPI_H
 #define _SSPI_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <ntsecapi.h>
 
@@ -285,9 +286,7 @@ SECURITY_STATUS WINAPI QueryContextAttributesA(PCtxtHandle,ULONG,PVOID);
 SECURITY_STATUS WINAPI QueryContextAttributesW(PCtxtHandle,ULONG,PVOID);
 SECURITY_STATUS WINAPI QueryCredentialsAttributesA(PCredHandle,ULONG,PVOID);
 SECURITY_STATUS WINAPI QueryCredentialsAttributesW(PCredHandle,ULONG,PVOID);
-#if (_WIN32_WINNT >= 0x0500)
-SECURITY_STATUS WINAPI QuerySecurityContextToken(PCtxtHandle,HANDLE*);
-#endif
+
 SECURITY_STATUS WINAPI DecryptMessage(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);
 SECURITY_STATUS WINAPI EncryptMessage(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);
 SECURITY_STATUS WINAPI DeleteSecurityContext(PCtxtHandle);
@@ -303,67 +302,41 @@ SECURITY_STATUS WINAPI QuerySecurityPackageInfoW(SEC_WCHAR*,PSecPkgInfoW*);
 PSecurityFunctionTableA WINAPI InitSecurityInterfaceA(VOID);
 PSecurityFunctionTableW WINAPI InitSecurityInterfaceW(VOID);
 
-#ifdef UNICODE
-#define UNISP_NAME UNISP_NAME_W
-#define SecPkgInfo SecPkgInfoW
-#define PSecPkgInfo PSecPkgInfoW
-#define SecPkgCredentials_Names SecPkgCredentials_NamesW
-#define PSecPkgCredentials_Names PSecPkgCredentials_NamesW
-#define SecPkgContext_Authority SecPkgContext_AuthorityW
-#define PSecPkgContext_Authority PSecPkgContext_AuthorityW
-#define SecPkgContext_KeyInfo SecPkgContext_KeyInfoW
-#define PSecPkgContext_KeyInfo PSecPkgContext_KeyInfoW
-#define SecPkgContext_Names SecPkgContext_NamesW
-#define PSecPkgContext_Names PSecPkgContext_NamesW
-#define SecurityFunctionTable SecurityFunctionTableW
-#define PSecurityFunctionTable PSecurityFunctionTableW
-#define AcquireCredentialsHandle AcquireCredentialsHandleW
-#define EnumerateSecurityPackages EnumerateSecurityPackagesW
-#define InitializeSecurityContext InitializeSecurityContextW
-#define QueryContextAttributes QueryContextAttributesW
-#define QueryCredentialsAttributes QueryCredentialsAttributesW
-#define QuerySecurityPackageInfo QuerySecurityPackageInfoW
-#define ApplyControlToken ApplyControlTokenW
-#define ENUMERATE_SECURITY_PACKAGES_FN ENUMERATE_SECURITY_PACKAGES_FN_W
-#define QUERY_CREDENTIALS_ATTRIBUTES_FN QUERY_CREDENTIALS_ATTRIBUTES_FN_W
-#define ACQUIRE_CREDENTIALS_HANDLE_FN ACQUIRE_CREDENTIALS_HANDLE_FN_W
-#define INITIALIZE_SECURITY_CONTEXT_FN INITIALIZE_SECURITY_CONTEXT_FN_W
-#define APPLY_CONTROL_TOKEN_FN APPLY_CONTROL_TOKEN_FN_W
-#define QUERY_CONTEXT_ATTRIBUTES_FN QUERY_CONTEXT_ATTRIBUTES_FN_W
-#define QUERY_SECURITY_PACKAGE_INFO_FN QUERY_SECURITY_PACKAGE_INFO_FN_W
-#define INIT_SECURITY_INTERFACE INIT_SECURITY_INTERFACE_W
-#else
-#define UNISP_NAME UNISP_NAME_A
-#define SecPkgInfo SecPkgInfoA
-#define PSecPkgInfo PSecPkgInfoA
-#define SecPkgCredentials_Names SecPkgCredentials_NamesA
-#define PSecPkgCredentials_Names PSecPkgCredentials_NamesA
-#define SecPkgContext_Authority SecPkgContext_AuthorityA
-#define PSecPkgContext_Authority PSecPkgContext_AuthorityA
-#define SecPkgContext_KeyInfo SecPkgContext_KeyInfoA
-#define PSecPkgContext_KeyInfo PSecPkgContext_KeyInfoA
-#define SecPkgContext_Names SecPkgContext_NamesA
-#define PSecPkgContext_Names PSecPkgContext_NamesA
-#define SecurityFunctionTable SecurityFunctionTableA
-#define PSecurityFunctionTable PSecurityFunctionTableA
-#define AcquireCredentialsHandle AcquireCredentialsHandleA
-#define EnumerateSecurityPackages EnumerateSecurityPackagesA
-#define InitializeSecurityContext InitializeSecurityContextA
-#define QueryContextAttributes QueryContextAttributesA
-#define QueryCredentialsAttributes QueryCredentialsAttributesA
-#define QuerySecurityPackageInfo QuerySecurityPackageInfoA
-#define ApplyControlToken ApplyControlTokenA
-#define ENUMERATE_SECURITY_PACKAGES_FN ENUMERATE_SECURITY_PACKAGES_FN_A
-#define QUERY_CREDENTIALS_ATTRIBUTES_FN QUERY_CREDENTIALS_ATTRIBUTES_FN_A
-#define ACQUIRE_CREDENTIALS_HANDLE_FN ACQUIRE_CREDENTIALS_HANDLE_FN_A
-#define INITIALIZE_SECURITY_CONTEXT_FN INITIALIZE_SECURITY_CONTEXT_FN_A
-#define APPLY_CONTROL_TOKEN_FN APPLY_CONTROL_TOKEN_FN_A
-#define QUERY_CONTEXT_ATTRIBUTES_FN QUERY_CONTEXT_ATTRIBUTES_FN_A
-#define QUERY_SECURITY_PACKAGE_INFO_FN QUERY_SECURITY_PACKAGE_INFO_FN_A
-#define INIT_SECURITY_INTERFACE INIT_SECURITY_INTERFACE_A
-#endif
+#define UNISP_NAME __AW(UNISP_NAME_)
+#define SecPkgInfo __AW(SecPkgInfo)
+#define PSecPkgInfo __AW(PSecPkgInfo)
+#define SecPkgCredentials_Names __AW(SecPkgCredentials_Names)
+#define PSecPkgCredentials_Names __AW(PSecPkgCredentials_Names)
+#define SecPkgContext_Authority __AW(SecPkgContext_Authority)
+#define PSecPkgContext_Authority __AW(PSecPkgContext_Authority)
+#define SecPkgContext_KeyInfo __AW(SecPkgContext_KeyInfo)
+#define PSecPkgContext_KeyInfo __AW(PSecPkgContext_KeyInfo)
+#define SecPkgContext_Names __AW(SecPkgContext_Names)
+#define PSecPkgContext_Names __AW(PSecPkgContext_Names)
+#define SecurityFunctionTable __AW(SecurityFunctionTable)
+#define PSecurityFunctionTable __AW(PSecurityFunctionTable)
+#define AcquireCredentialsHandle __AW(AcquireCredentialsHandle)
+#define EnumerateSecurityPackages __AW(EnumerateSecurityPackages)
+#define InitializeSecurityContext __AW(InitializeSecurityContext)
+#define QueryContextAttributes __AW(QueryContextAttributes)
+#define QueryCredentialsAttributes __AW(QueryCredentialsAttributes)
+#define QuerySecurityPackageInfo __AW(QuerySecurityPackageInfo)
+#define ApplyControlToken __AW(ApplyControlToken)
+#define ENUMERATE_SECURITY_PACKAGES_FN __AW(ENUMERATE_SECURITY_PACKAGES_FN_)
+#define QUERY_CREDENTIALS_ATTRIBUTES_FN __AW(QUERY_CREDENTIALS_ATTRIBUTES_FN_)
+#define ACQUIRE_CREDENTIALS_HANDLE_FN __AW(ACQUIRE_CREDENTIALS_HANDLE_FN_)
+#define INITIALIZE_SECURITY_CONTEXT_FN __AW(INITIALIZE_SECURITY_CONTEXT_FN_)
+#define APPLY_CONTROL_TOKEN_FN __AW(APPLY_CONTROL_TOKEN_FN_)
+#define QUERY_CONTEXT_ATTRIBUTES_FN __AW(QUERY_CONTEXT_ATTRIBUTES_FN_)
+#define QUERY_SECURITY_PACKAGE_INFO_FN __AW(QUERY_SECURITY_PACKAGE_INFO_FN_)
+#define INIT_SECURITY_INTERFACE __AW(INIT_SECURITY_INTERFACE_)
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
+SECURITY_STATUS WINAPI QuerySecurityContextToken(PCtxtHandle,HANDLE*);
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
 
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 143abe7..a9f20bd 100644 (file)
 #ifndef _STDINT_H
 #define _STDINT_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 /* ISO C9x  7.18  Integer types <stdint.h>
  * Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794)
  */
 
-#include <_mingw.h>
 #define __need_wint_t
 #define __need_wchar_t
 #include <stddef.h>
index 806d369..fd830fa 100644 (file)
@@ -24,8 +24,6 @@
 #ifndef _STDIO_H
 #define        _STDIO_H
 #pragma GCC system_header
-
-/* All the headers include this file. */
 #include <_mingw.h>
 
 #ifndef RC_INVOKED
 #define _IOEOF    0x0010  /* EOF reached on read */
 #define _IOERR    0x0020  /* I/O error from system */
 #define _IOSTRG   0x0040  /* Strange or no file descriptor */
+
 #ifdef _POSIX_SOURCE
 # define _IOAPPEND 0x0200
 #endif
+
 /*
  * The buffer size as used by setbuf such that it is equivalent to
  * (void) setvbuf(fileSetBuffer, caBuffer, _IOFBF, BUFSIZ).
 #ifndef        RC_INVOKED
 
 #ifndef __VALIST
-#ifdef __GNUC__
 #define __VALIST __gnuc_va_list
-#else
-#define __VALIST char*
-#endif
 #endif /* defined __VALIST  */
 
 /*
@@ -222,21 +218,10 @@ extern int __mingw_stdio_redirect__(vsnprintf)(char*, size_t, const char*, __VAL
  */
 #  define __mingw_stdio_redirect__  inline __cdecl __MINGW_NOTHROW
 
-# elif defined __GNUC__
-/*
- * FIXME: Is there any GCC version prerequisite here?
- *
- * We also prefer inline implementations for C, when we can be confident
- * that the GNU specific __inline__ mechanism is supported.
- */
+# else /* !__cplusplus */
 #  define __mingw_stdio_redirect__  static __inline__ __cdecl __MINGW_NOTHROW
 
-# else
-/*
- * Can't use inlines; fall back on module local static stubs.
- */
-#  define __mingw_stdio_redirect__  static __cdecl __MINGW_NOTHROW
-# endif
+# endif /* __cplusplus */
 
 __mingw_stdio_redirect__
 int fprintf (FILE *__stream, const char *__format, ...)
@@ -286,7 +271,7 @@ int vsprintf (char *__stream, const char *__format, __VALIST __local_argv)
   return __mingw_vsprintf( __stream, __format, __local_argv );
 }
 
-#else
+#else /* __USE_MINGW_ANSI_STDIO */
 /*
  * Default configuration: simply direct all calls to MSVCRT...
  */
@@ -297,7 +282,8 @@ _CRTIMP int __cdecl __MINGW_NOTHROW vfprintf (FILE*, const char*, __VALIST);
 _CRTIMP int __cdecl __MINGW_NOTHROW vprintf (const char*, __VALIST);
 _CRTIMP int __cdecl __MINGW_NOTHROW vsprintf (char*, const char*, __VALIST);
 
-#endif
+#endif /* __USE_MINGW_ANSI_STDIO */
+
 /*
  * Regardless of user preference, always offer these alternative
  * entry points, for direct access to the MSVCRT implementations.
@@ -424,7 +410,6 @@ _CRTIMP int __cdecl __MINGW_NOTHROW fseek (FILE*, long, int);
 _CRTIMP long __cdecl __MINGW_NOTHROW   ftell (FILE*);
 _CRTIMP void __cdecl __MINGW_NOTHROW   rewind (FILE*);
 
-#if __MSVCRT_VERSION__ >= 0x800
 _CRTIMP int __cdecl __MINGW_NOTHROW    _fseek_nolock (FILE*, long, int);
 _CRTIMP long __cdecl __MINGW_NOTHROW   _ftell_nolock (FILE*);
 
@@ -432,7 +417,6 @@ _CRTIMP int __cdecl __MINGW_NOTHROW _fseeki64 (FILE*, __int64, int);
 _CRTIMP __int64 __cdecl __MINGW_NOTHROW        _ftelli64 (FILE*);
 _CRTIMP int __cdecl __MINGW_NOTHROW    _fseeki64_nolock (FILE*, __int64, int);
 _CRTIMP __int64 __cdecl __MINGW_NOTHROW        _ftelli64_nolock (FILE*);
-#endif
 
 #ifdef __USE_MINGW_FSEEK  /* These are in libmingwex.a */
 /*
@@ -505,7 +489,6 @@ _CRTIMP FILE* __cdecl __MINGW_NOTHROW       _fsopen (const char*, const char*, int);
 _CRTIMP int __cdecl __MINGW_NOTHROW    _getmaxstdio (void);
 _CRTIMP int __cdecl __MINGW_NOTHROW    _setmaxstdio (int);
 
-#if __MSVCRT_VERSION__ >= 0x800
 _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _get_output_format (void);
 _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _set_output_format (unsigned int);
 
@@ -513,7 +496,6 @@ _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _set_output_format (unsigned int);
 
 _CRTIMP int __cdecl __MINGW_NOTHROW _get_printf_count_output (void);
 _CRTIMP int __cdecl __MINGW_NOTHROW _set_printf_count_output (int);
-#endif
 
 #ifndef _NO_OLDNAMES
 _CRTIMP int __cdecl __MINGW_NOTHROW    fgetchar (void);
index 6279ff2..81709aa 100644 (file)
 #ifndef _STDLIB_H
 #define _STDLIB_H
 #pragma GCC system_header
-
-/* All the headers include this file. */
 #include <_mingw.h>
 
 #define __need_size_t
 #define __need_wchar_t
 #define __need_NULL
+
 #ifndef RC_INVOKED
 #include <stddef.h>
 #endif /* RC_INVOKED */
@@ -67,7 +66,6 @@
 
 #endif /* Not __STRICT_ANSI__ */
 
-
 #ifndef RC_INVOKED
 
 #ifdef __cplusplus
@@ -108,13 +106,8 @@ extern wchar_t***  __cdecl __MINGW_NOTHROW __p___wargv(void);
  * MS likes to declare errno in stdlib.h as well. 
  */
 
-#ifdef _UWIN
-#undef errno
-extern int errno;
-#else
  _CRTIMP int* __cdecl __MINGW_NOTHROW _errno(void);
 #define errno  (*_errno())
-#endif
  _CRTIMP int* __cdecl __MINGW_NOTHROW __doserrno(void);
 #define _doserrno (*__doserrno())
 
@@ -183,11 +176,13 @@ _CRTIMP unsigned __int64 __cdecl _strtoui64_l(const char *, char **, int, _local
 _CRTIMP double __cdecl __MINGW_NOTHROW atof (const char*);
 _CRTIMP int __cdecl __MINGW_NOTHROW atoi (const char*);
 _CRTIMP long __cdecl __MINGW_NOTHROW  atol (const char*);
+
 #if !defined (__STRICT_ANSI__)
 _CRTIMP double __cdecl __MINGW_NOTHROW _wtof (const wchar_t *);
 _CRTIMP int __cdecl __MINGW_NOTHROW _wtoi (const wchar_t *);
 _CRTIMP long __cdecl __MINGW_NOTHROW _wtol (const wchar_t *);
 #endif
+
 #if !defined __NO_ISOCEXT  /*  in libmingwex.a */
 double __cdecl __MINGW_NOTHROW __strtod (const char*, char**);
 extern double __cdecl __MINGW_NOTHROW
@@ -210,10 +205,12 @@ _CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *, wchar_t **, int,
 _CRTIMP long __cdecl __MINGW_NOTHROW wcstol (const wchar_t*, wchar_t**, int);
 _CRTIMP unsigned long __cdecl __MINGW_NOTHROW wcstoul (const wchar_t*, wchar_t**, int);
 _CRTIMP double __cdecl __MINGW_NOTHROW wcstod (const wchar_t*, wchar_t**);
+
 #if !defined __NO_ISOCEXT /*  in libmingwex.a */
 float __cdecl __MINGW_NOTHROW wcstof( const wchar_t * __restrict__, wchar_t ** __restrict__);
 long double __cdecl __MINGW_NOTHROW wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
 #endif /* __NO_ISOCEXT */
+
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetenv(const wchar_t*);
 _CRTIMP int __cdecl __MINGW_NOTHROW _wputenv(const wchar_t*);
 _CRTIMP void __cdecl __MINGW_NOTHROW _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*);
@@ -222,7 +219,7 @@ _CRTIMP void __cdecl __MINGW_NOTHROW    _wmakepath(wchar_t*, const wchar_t*, con
 _CRTIMP void __cdecl __MINGW_NOTHROW _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*);
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW   _wfullpath (wchar_t*, const wchar_t*, size_t);
 #define _WSTDLIB_DEFINED
-#endif
+#endif /* !_WSTDLIB_DEFINED */
 
 _CRTIMP size_t __cdecl __MINGW_NOTHROW wcstombs (char*, const wchar_t*, size_t);
 _CRTIMP int __cdecl __MINGW_NOTHROW wctomb  (char*, wchar_t);
@@ -325,15 +322,14 @@ _CRTIMP int __cdecl __MINGW_NOTHROW _set_error_mode (int);
 # define _OUT_TO_MSGBOX  2
 # define _REPORT_ERRMODE 3
 
-# if __MSVCRT_VERSION__ >= 0x800
-#  ifndef _UINTPTR_T_DEFINED
-#   define _UINTPTR_T_DEFINED
-#   ifdef _WIN64
-      typedef unsigned __int64 uintptr_t;
-#   else
-      typedef unsigned int uintptr_t;
-#   endif
+# ifndef _UINTPTR_T_DEFINED
+#  define _UINTPTR_T_DEFINED
+#  ifdef _WIN64
+     typedef unsigned __int64 uintptr_t;
+#  else
+     typedef unsigned int uintptr_t;
 #  endif
+# endif
 
 _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _set_abort_behavior (unsigned int, unsigned int);
 
@@ -350,8 +346,6 @@ typedef void
     uintptr_t);
 _invalid_parameter_handler _set_invalid_parameter_handler (_invalid_parameter_handler);
 
-# endif /* __MSVCRT_VERSION__ >= 0x800 */
-
 #ifndef _NO_OLDNAMES
 
 _CRTIMP int __cdecl __MINGW_NOTHROW putenv (const char*);
@@ -360,11 +354,9 @@ _CRTIMP void __cdecl __MINGW_NOTHROW searchenv (const char*, const char*, char*)
 _CRTIMP char* __cdecl __MINGW_NOTHROW itoa (int, char*, int);
 _CRTIMP char* __cdecl __MINGW_NOTHROW ltoa (long, char*, int);
 
-#ifndef _UWIN
 _CRTIMP char* __cdecl __MINGW_NOTHROW ecvt (double, int, int*, int*);
 _CRTIMP char* __cdecl __MINGW_NOTHROW fcvt (double, int, int*, int*);
 _CRTIMP char* __cdecl __MINGW_NOTHROW gcvt (double, int, char*);
-#endif /* _UWIN */
 #endif /* Not _NO_OLDNAMES */
 
 #endif /* Not __STRICT_ANSI__ */
index 20e488d..8bc2bc0 100644 (file)
 #ifndef _STM_H
 #define _STM_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#if (_WIN32_WINNT >= 0x0500)
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
 typedef struct _IPX_SERVER_ENTRY {
        USHORT Type;
        UCHAR Name[48];
@@ -38,9 +39,10 @@ typedef struct _IPX_SERVER_ENTRY {
        UCHAR Socket[2];
        USHORT HopCount;
 } IPX_SERVER_ENTRY,*PIPX_SERVER_ENTRY;
-#endif
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
 
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index b530de5..b33b3a0 100644 (file)
@@ -24,8 +24,6 @@
 #ifndef _STRING_H
 #define        _STRING_H
 #pragma GCC system_header
-
-/* All the headers include this file. */
 #include <_mingw.h>
 
 /*
 #define __need_size_t
 #define __need_wchar_t
 #define        __need_NULL
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
 
 #ifndef RC_INVOKED
+#include <stddef.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -105,27 +101,29 @@ _CRTIMP char* __cdecl __MINGW_NOTHROW     strdup (const char*) __MINGW_ATTRIB_MALLOC
 _CRTIMP int __cdecl __MINGW_NOTHROW    strcmpi (const char*, const char*);
 _CRTIMP int __cdecl __MINGW_NOTHROW    stricmp (const char*, const char*);
 int __cdecl __MINGW_NOTHROW strcasecmp (const char*, const char *);
+
 #ifndef __NO_INLINE__
 __CRT_INLINE int __cdecl __MINGW_NOTHROW
 strcasecmp (const char * __sz1, const char * __sz2)
   {return _stricmp (__sz1, __sz2);}
 #endif
+
 _CRTIMP int __cdecl __MINGW_NOTHROW    stricoll (const char*, const char*);
 _CRTIMP char* __cdecl __MINGW_NOTHROW  strlwr (char*);
 _CRTIMP int __cdecl __MINGW_NOTHROW    strnicmp (const char*, const char*, size_t);
 int  __cdecl __MINGW_NOTHROW strncasecmp (const char *, const char *, size_t);
+
 #ifndef __NO_INLINE__
 __CRT_INLINE int __cdecl __MINGW_NOTHROW
 strncasecmp (const char * __sz1, const char * __sz2, size_t __sizeMaxCompare)
   {return _strnicmp (__sz1, __sz2, __sizeMaxCompare);}
 #endif
+
 _CRTIMP char* __cdecl __MINGW_NOTHROW  strnset (char*, int, size_t);
 _CRTIMP char* __cdecl __MINGW_NOTHROW  strrev (char*);
 _CRTIMP char* __cdecl __MINGW_NOTHROW  strset (char*, int);
 _CRTIMP char* __cdecl __MINGW_NOTHROW  strupr (char*);
-#ifndef _UWIN
 _CRTIMP void __cdecl __MINGW_NOTHROW   swab (const char*, char*, size_t);
-#endif /* _UWIN */
 #endif /* _NO_OLDNAMES */
 
 #endif /* Not __STRICT_ANSI__ */
@@ -170,19 +168,19 @@ _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsupr (wchar_t*);
 
 _CRTIMP int __cdecl __MINGW_NOTHROW  _wcsncoll(const wchar_t*, const wchar_t*, size_t);
 _CRTIMP int   __cdecl __MINGW_NOTHROW _wcsnicoll(const wchar_t*, const wchar_t*, size_t);
-#if __MSVCRT_VERSION__ >= 0x0700
 _CRTIMP  wchar_t* __cdecl __MINGW_NOTHROW _wcserror(int);
 _CRTIMP  wchar_t* __cdecl __MINGW_NOTHROW __wcserror(const wchar_t*);
-#endif
 
 #ifndef        _NO_OLDNAMES
 /* NOTE: There is no _wcscmpi, but this is for compatibility. */
 int __cdecl __MINGW_NOTHROW wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2);
+
 #ifndef __NO_INLINE__
 __CRT_INLINE int __cdecl __MINGW_NOTHROW
 wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2)
   {return _wcsicmp (__ws1, __ws2);}
 #endif
+
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsdup (const wchar_t*);
 _CRTIMP int __cdecl __MINGW_NOTHROW    wcsicmp (const wchar_t*, const wchar_t*);
 _CRTIMP int __cdecl __MINGW_NOTHROW    wcsicoll (const wchar_t*, const wchar_t*);
@@ -204,4 +202,5 @@ _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsupr (wchar_t*);
 #endif
 
 #endif /* Not RC_INVOKED */
+
 #endif /* Not _STRING_H */
index 4f869ca..58348b1 100644 (file)
@@ -24,6 +24,8 @@
 #ifndef _STRINGS_H
 #define _STRINGS_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <string.h>
+
 #endif
index 742aa57..c7bb639 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _STRMIF_H
 #define _STRMIF_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -1177,4 +1178,5 @@ DECLARE_INTERFACE_(IAMCertifiedOutputProtection, IUnknown)
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 83b52a6..b8b2df5 100644 (file)
 #ifndef _SUBAUTH_H
 #define _SUBAUTH_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #ifndef NT_SUCCESS
 #define NT_SUCCESS(x) ((x)>=0)
 #define STATUS_SUCCESS 0 
 #endif
+
 #define CYPHER_BLOCK_LENGTH 8
 #define USER_SESSION_KEY_LENGTH (CYPHER_BLOCK_LENGTH*2)
 #define CLEAR_BLOCK_LENGTH 8
@@ -90,6 +93,7 @@ extern "C" {
 #define USER_MACHINE_ACCOUNT_MASK 448
 #define USER_ACCOUNT_TYPE_MASK 472
 #define USER_ALL_PARAMETERS 2097152
+
 #if !defined(_NTDEF_H) && !defined(_NTSECAPI_H)
 typedef LONG NTSTATUS, *PNTSTATUS;
 typedef struct _UNICODE_STRING {
@@ -227,4 +231,5 @@ NTSTATUS NTAPI Msv1_0SubAuthenticationRoutineEx(NETLOGON_LOGON_INFO_CLASS,PVOID,
 #ifdef __cplusplus
 }
 #endif
+
 #endif /* _SUBAUTH_H */
index a386431..8f6cebb 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _SVCGUID_H
 #define _SVCGUID_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -51,4 +52,5 @@ extern "C" {
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 5a4ef8c..0b2c677 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef        _TCHAR_H
 #define _TCHAR_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 /* 
  * Unicode mapping layer for the standard C library. By including this
@@ -41,9 +42,6 @@
  *
  */
 
-/* All the headers include this file. */
-#include <_mingw.h>
-
 /*
  * NOTE: This tests _UNICODE, which is different from the UNICODE define
  *       used to differentiate Win32 API calls.
@@ -63,9 +61,9 @@
 #ifndef RC_INVOKED
 typedef        wchar_t TCHAR;
 typedef wchar_t _TCHAR;
-#endif /* Not RC_INVOKED */
+#endif /* ! RC_INVOKED */
 #define _TCHAR_DEFINED
-#endif
+#endif /* ! _TCHAR_DEFINED */
 
 /*
  * Use _TEOF instead of EOF or WEOF. It will be appropriately translated if
@@ -187,17 +185,13 @@ typedef wchar_t _TCHAR;
 #define _ui64tot    _ui64tow
 #define        _tasctime       _wasctime
 #define        _tctime         _wctime
-#if __MSVCRT_VERSION__ >= 0x0800
 #define        _tctime32       _wctime32
 #define        _tctime64       _wctime64
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
 #define        _tstrdate       _wstrdate
 #define        _tstrtime       _wstrtime
 #define        _tutime         _wutime
-#if __MSVCRT_VERSION__ >= 0x0800
 #define        _tutime64       _wutime64
 #define        _tutime32       _wutime32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
 #define _tcsnccoll  _wcsncoll
 #define _tcsncoll   _wcsncoll
 #define _tcsncicoll _wcsnicoll
@@ -207,12 +201,10 @@ typedef wchar_t _TCHAR;
 #define _tcreat     _wcreat
 #define _tfindfirst _wfindfirst
 #define _tfindnext  _wfindnext
-#if __MSVCRT_VERSION__ >= 0x0800
 #define _tfindfirst64 _wfindfirst64
 #define _tfindfirst32 _wfindfirst32
 #define _tfindnext64  _wfindnext64
 #define _tfindnext32  _wfindnext32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
 #define _tfdopen    _wfdopen
 #define _tfopen     _wfopen
 #define _tfreopen   _wfreopen
@@ -235,10 +227,7 @@ typedef wchar_t _TCHAR;
 #define _tfindfirsti64  _wfindfirsti64
 #define _tfindnexti64   _wfindnexti64
 #define _tfinddatai64_t _wfinddatai64_t
-#if __MSVCRT_VERSION__ >= 0x0601
 #define _tfinddata64_t    _wfinddata64_t
-#endif
-#if __MSVCRT_VERSION__ >= 0x0800
 #define _tfinddata32_t    _wfinddata32_t
 #define _tfinddata32i64_t _wfinddata32i64_t
 #define _tfinddata64i32_t _wfinddata64i32_t
@@ -246,7 +235,6 @@ typedef wchar_t _TCHAR;
 #define _tfindfirst64i32  _wfindfirst64i32
 #define _tfindnext32i64   _wfindnext32i64
 #define _tfindnext64i32   _wfindnext64i32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
 #define _tchdir                _wchdir
 #define _tgetcwd       _wgetcwd
 #define _tgetdcwd      _wgetdcwd
@@ -255,11 +243,9 @@ typedef wchar_t _TCHAR;
 #define _tstat         _wstat
 #define _tstati64      _wstati64
 #define _tstat64       _wstat64
-#if __MSVCRT_VERSION__ >= 0x0800
 #define _tstat32       _wstat32
 #define _tstat32i64    _wstat32i64
 #define _tstat64i32    _wstat64i32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
 
 /* dirent structures and functions */
 #define _tdirent       _wdirent
@@ -280,9 +266,9 @@ typedef wchar_t _TCHAR;
 #ifndef RC_INVOKED
 typedef char   TCHAR;
 typedef char   _TCHAR;
-#endif
+#endif /* ! RC_INVOKED */
 #define _TCHAR_DEFINED
-#endif
+#endif /* ! _TCHAR_DEFINED */
 
 /*
  * _TEOF, the constant you should use instead of EOF.
@@ -391,17 +377,13 @@ typedef char      _TCHAR;
 #define        _totlower       tolower
 #define        _tasctime       asctime
 #define        _tctime         ctime
-#if __MSVCRT_VERSION__ >= 0x0800
 #define        _tctime32       _ctime32
 #define        _tctime64       _ctime64
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
 #define        _tstrdate       _strdate
 #define        _tstrtime       _strtime
 #define        _tutime         _utime
-#if __MSVCRT_VERSION__ >= 0x0800
 #define        _tutime64       _utime64
 #define        _tutime32       _utime32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
 #define _tcsftime      strftime
 /* Macro functions */ 
 #define _tcsdec     _strdec
@@ -422,12 +404,10 @@ typedef char      _TCHAR;
 #define _tcreat     _creat
 #define _tfindfirst _findfirst
 #define _tfindnext  _findnext
-#if __MSVCRT_VERSION__ >= 0x0800
 #define _tfindfirst64 _findfirst64
 #define _tfindfirst32 _findfirst32
 #define _tfindnext64  _findnext64
 #define _tfindnext32  _findnext32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
 #define _tmktemp    _mktemp
 #define _topen      _open
 #define _taccess    _access
@@ -454,10 +434,7 @@ typedef char       _TCHAR;
 #define _tfindfirsti64  _findfirsti64
 #define _tfindnexti64   _findnexti64
 #define _tfinddatai64_t _finddatai64_t
-#if __MSVCRT_VERSION__ >= 0x0601
 #define _tfinddata64_t    _finddata64_t
-#endif
-#if __MSVCRT_VERSION__ >= 0x0800
 #define _tfinddata32_t    _finddata32_t
 #define _tfinddata32i64_t _finddata32i64_t
 #define _tfinddata64i32_t _finddata64i32_t
@@ -465,14 +442,11 @@ typedef char      _TCHAR;
 #define _tfindfirst64i32  _findfirst64i32
 #define _tfindnext32i64   _findnext32i64
 #define _tfindnext64i32   _findnext64i32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
 #define _tstati64   _stati64
 #define _tstat64    _stat64
-#if __MSVCRT_VERSION__ >= 0x0800
 #define _tstat32       _stat32
 #define _tstat32i64    _stat32i64
 #define _tstat64i32    _stat64i32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
 
 /* dirent structures and functions */
 #define _tdirent       dirent
@@ -484,7 +458,7 @@ typedef char        _TCHAR;
 #define _ttelldir      telldir
 #define _tseekdir      seekdir
 
-#endif /* Not _UNICODE */
+#endif /* ! _UNICODE */
 
 /*
  * UNICODE a constant string when _UNICODE is defined else returns the string
@@ -493,4 +467,4 @@ typedef char        _TCHAR;
 #define _TEXT(x)       __TEXT(x)
 #define        _T(x)           __TEXT(x)
 
-#endif /* Not _TCHAR_H */
+#endif /* ! _TCHAR_H */
index ece1a94..2bccfa4 100644 (file)
 #ifndef        _TIME_H
 #define        _TIME_H
 #pragma GCC system_header
-
-/* All the headers include this file. */
 #include <_mingw.h>
 
 #define __need_wchar_t
 #define __need_size_t
 #define __need_NULL
+
 #ifndef RC_INVOKED
 #include <stddef.h>
 #endif /* Not RC_INVOKED */
@@ -55,29 +54,21 @@ typedef __int32 __time32_t;
 #define _TIME32_T_DEFINED
 #endif
 
-#ifndef __STRICT_ANSI__
-/* A 64-bit time_t to get to Y3K */
 #ifndef _TIME64_T_DEFINED
+/* A 64-bit time_t to get to Y3K */
 typedef __int64 __time64_t;
 #define _TIME64_T_DEFINED
 #endif
-#endif
 
 #ifndef _TIME_T_DEFINED
-/* FIXME __STRICT_ANSI__ ! */
-#if __MSVCRT_VERSION__ >= 0x0800
-#ifndef _USE_32BIT_TIME_T
-typedef        __time64_t time_t;
-#else
-typedef        __time32_t time_t;
-#endif /* !_USE_32BIT_TIME_T */
-#else
-typedef        __time32_t time_t;
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
-#define _TIME_T_DEFINED
+# ifndef _USE_32BIT_TIME_T
+   typedef     __time64_t time_t;
+# else
+   typedef     __time32_t time_t;
+# endif /* !_USE_32BIT_TIME_T */
+# define _TIME_T_DEFINED
 #endif
 
-
 /*
  * A type for measuring processor time (in clock ticks).
  */
@@ -112,11 +103,9 @@ extern "C" {
 #endif
 
 _CRTIMP clock_t __cdecl __MINGW_NOTHROW        clock (void);
-#if __MSVCRT_VERSION__ < 0x0800
 _CRTIMP time_t __cdecl __MINGW_NOTHROW time (time_t*);
 _CRTIMP double __cdecl __MINGW_NOTHROW difftime (time_t, time_t);
 _CRTIMP time_t __cdecl __MINGW_NOTHROW mktime (struct tm*);
-#endif
 
 /*
  * These functions write to and return pointers to static buffers that may
@@ -129,11 +118,9 @@ _CRTIMP time_t __cdecl __MINGW_NOTHROW     mktime (struct tm*);
  * a directory gives 'invalid' times in st_atime etc...
  */
 _CRTIMP char* __cdecl __MINGW_NOTHROW          asctime (const struct tm*);
-#if __MSVCRT_VERSION__ < 0x0800
 _CRTIMP char* __cdecl __MINGW_NOTHROW          ctime (const time_t*);
 _CRTIMP struct tm*  __cdecl __MINGW_NOTHROW    gmtime (const time_t*);
 _CRTIMP struct tm*  __cdecl __MINGW_NOTHROW    localtime (const time_t*);
-#endif
 
 _CRTIMP size_t __cdecl __MINGW_NOTHROW         strftime (char*, size_t, const char*, const struct tm*);
 
@@ -149,16 +136,13 @@ _CRTIMP char* __cdecl __MINGW_NOTHROW     _strdate(char*);
 _CRTIMP char* __cdecl __MINGW_NOTHROW  _strtime(char*);
 
 /* These require newer versions of msvcrt.dll (6.10 or higher). */ 
-#if __MSVCRT_VERSION__ >= 0x0601
 _CRTIMP __time64_t __cdecl __MINGW_NOTHROW  _time64( __time64_t*);
 _CRTIMP __time64_t __cdecl __MINGW_NOTHROW  _mktime64 (struct tm*);
 _CRTIMP char* __cdecl __MINGW_NOTHROW _ctime64 (const __time64_t*);
 _CRTIMP struct tm*  __cdecl __MINGW_NOTHROW _gmtime64 (const __time64_t*);
 _CRTIMP struct tm*  __cdecl __MINGW_NOTHROW _localtime64 (const __time64_t*);
-#endif /* __MSVCRT_VERSION__ >= 0x0601 */
 
 /* These require newer versions of msvcrt.dll (8.00 or higher). */ 
-#if __MSVCRT_VERSION__ >= 0x0800
 _CRTIMP __time32_t __cdecl __MINGW_NOTHROW     _time32 (__time32_t*);
 _CRTIMP double    __cdecl __MINGW_NOTHROW      _difftime32 (__time32_t, __time32_t);
 _CRTIMP double    __cdecl __MINGW_NOTHROW      _difftime64 (__time64_t, __time64_t);
@@ -168,6 +152,7 @@ _CRTIMP __time64_t __cdecl __MINGW_NOTHROW  _mkgmtime64 (struct tm*);
 _CRTIMP char*     __cdecl __MINGW_NOTHROW      _ctime32 (const __time32_t*);
 _CRTIMP struct tm* __cdecl __MINGW_NOTHROW     _gmtime32 (const __time32_t*);
 _CRTIMP struct tm* __cdecl __MINGW_NOTHROW     _localtime32 (const __time32_t*);
+
 #ifndef _USE_32BIT_TIME_T
 _CRTALIAS time_t          __cdecl __MINGW_NOTHROW      time (time_t* _v)                 { return(_time64 (_v)); }
 _CRTALIAS double          __cdecl __MINGW_NOTHROW      difftime (time_t _v1, time_t _v2) { return(_difftime64 (_v1,_v2)); }
@@ -185,7 +170,6 @@ _CRTALIAS char*                __cdecl __MINGW_NOTHROW      ctime (const time_t* _v)          { return(
 _CRTALIAS struct tm*      __cdecl __MINGW_NOTHROW      gmtime (const time_t* _v)         { return(_gmtime32 (_v)); }
 _CRTALIAS struct tm*      __cdecl __MINGW_NOTHROW      localtime (const time_t* _v)      { return(_localtime32 (_v)); }
 #endif /* !_USE_32BIT_TIME_T */
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
 
 
 /*
@@ -215,25 +199,23 @@ __MINGW_IMPORT char       *tzname[2];
 
 #ifndef _WTIME_DEFINED
 /* wide function prototypes, also declared in wchar.h */
+
 #ifndef __STRICT_ANSI__
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW       _wasctime(const struct tm*);
-#if __MSVCRT_VERSION__ < 0x0800
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW       _wctime(const time_t*);
-#endif
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW       _wstrdate(wchar_t*);
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW       _wstrtime(wchar_t*);
-#if __MSVCRT_VERSION__ >= 0x0601
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW       _wctime64 (const __time64_t*);
-#endif
-#if __MSVCRT_VERSION__ >= 0x0800
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW       _wctime32 (const __time32_t*);
+
 #ifndef _USE_32BIT_TIME_T
 _CRTALIAS wchar_t* __cdecl __MINGW_NOTHROW     _wctime (const time_t* _v) { return(_wctime64 (_v)); }
 #else
 _CRTALIAS wchar_t* __cdecl __MINGW_NOTHROW     _wctime (const time_t* _v) { return(_wctime32 (_v)); }
 #endif
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
+
 #endif /* __STRICT_ANSI__ */
+
 _CRTIMP size_t __cdecl __MINGW_NOTHROW         wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
 #define _WTIME_DEFINED
 #endif /* _WTIME_DEFINED */ 
@@ -243,4 +225,5 @@ _CRTIMP size_t __cdecl __MINGW_NOTHROW              wcsftime (wchar_t*, size_t, const wchar_
 #endif
 
 #endif /* Not RC_INVOKED */
+
 #endif /* Not _TIME_H */
index 26f2c95..e06c05c 100644 (file)
 #ifndef _TLHELP32_H
 #define _TLHELP32_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #define HF32_DEFAULT   1
 #define HF32_SHARED    2
 #define LF32_FIXED     0x1
@@ -130,6 +132,8 @@ BOOL WINAPI Thread32First(HANDLE,LPTHREADENTRY32);
 BOOL WINAPI Thread32Next(HANDLE,LPTHREADENTRY32);
 BOOL WINAPI Toolhelp32ReadProcessMemory(DWORD,LPCVOID,LPVOID,DWORD,LPDWORD);
 HANDLE WINAPI CreateToolhelp32Snapshot(DWORD,DWORD);
+
+/* Cannot use __AW() since there is no A version. */
 #ifdef UNICODE
 #define LPMODULEENTRY32 LPMODULEENTRY32W
 #define LPPROCESSENTRY32 LPPROCESSENTRY32W
@@ -142,8 +146,9 @@ HANDLE WINAPI CreateToolhelp32Snapshot(DWORD,DWORD);
 #define Process32First Process32FirstW
 #define Process32Next Process32NextW
 #endif /* UNICODE */
+
 #ifdef __cplusplus
 }
 #endif
-#endif /* _TLHELP32_H */
 
+#endif /* _TLHELP32_H */
index 9541240..2662650 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _TMSCHEMA_H
 #define _TMSCHEMA_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 /* BUTTON parts */
 enum {
index 9d8de80..7b04bed 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _UNISTD_H
 #define _UNISTD_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 /*
  * unistd.h maps (roughly) to io.h
index f532c42..1746b51 100644 (file)
 #ifndef _UNKNWN_H
 #define _UNKNWN_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifndef COM_NO_WINDOWS_H
 #include <windows.h>
 #endif
 
-
 #ifdef __cplusplus
 extern "C"{
 #endif
+
 #include <objfwd.h>
 #include <wtypes.h>
 
@@ -40,6 +41,7 @@ void * __RPC_USER MIDL_user_allocate(size_t);
 void __RPC_USER MIDL_user_free(void*);
 EXTERN_C const IID IID_IUnknown;
 EXTERN_C const IID IID_IClassFactory;
+
 #ifndef __IUnknown_INTERFACE_DEFINED__
 #define __IUnknown_INTERFACE_DEFINED__
 #define INTERFACE IUnknown
@@ -52,6 +54,7 @@ DECLARE_INTERFACE(IUnknown)
 #undef INTERFACE
 typedef IUnknown *LPUNKNOWN;
 #endif
+
 #ifndef __IClassFactory_INTERFACE_DEFINED__
 #define __IClassFactory_INTERFACE_DEFINED__
 #define INTERFACE IClassFactory
@@ -66,6 +69,7 @@ DECLARE_INTERFACE_(IClassFactory,IUnknown)
 #undef INTERFACE
 typedef IClassFactory *LPCLASSFACTORY;
 #endif
+
 HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown*,REFIID,void**);
 void __RPC_STUB IUnknown_QueryInterface_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
 ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown*);
@@ -92,7 +96,9 @@ HRESULT STDMETHODCALLTYPE IClassFactory_LockServer_Stub(IClassFactory*,BOOL);
 #define IClassFactory_CreateInstance(T,p,r,O) (T)->lpVtbl->CreateInstance(T,p,r,O)
 #define IClassFactory_LockServer(T,f) (T)->lpVtbl->LockServer(T,f)
 #endif /* COBJMACROS */
+
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index f29fb9a..c8910b5 100644 (file)
 #ifndef _USERENV_H
 #define _USERENV_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #define PI_NOUI (1)
 #define PI_APPLYPOLICY (2)
-#if (_WIN32_WINNT >= 0x0500)
-#define PT_TEMPORARY (1)
-#define PT_ROAMING (2)
-#define PT_MANDATORY (4)
-#endif
+
 typedef struct _PROFILEINFOA {
   DWORD dwSize;
   DWORD dwFlags;
@@ -64,7 +62,17 @@ BOOL WINAPI GetUserProfileDirectoryA(HANDLE,LPSTR,LPDWORD);
 BOOL WINAPI GetUserProfileDirectoryW(HANDLE,LPWSTR,LPDWORD);
 BOOL WINAPI CreateEnvironmentBlock(LPVOID*,HANDLE,BOOL);
 BOOL WINAPI DestroyEnvironmentBlock(LPVOID);
-#if (_WIN32_WINNT >= 0x0500)
+
+typedef __AW(PROFILEINFO) PROFILEINFO;
+typedef __AW(LPPROFILEINFO) LPPROFILEINFO;
+#define LoadUserProfile  __AW(LoadUserProfile)
+#define GetProfilesDirectory  __AW(GetProfilesDirectory)
+#define GetUserProfileDirectory  __AW(GetUserProfileDirectory)
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
+#define PT_TEMPORARY (1)
+#define PT_ROAMING (2)
+#define PT_MANDATORY (4)
 BOOL WINAPI DeleteProfileA(LPCSTR,LPCSTR,LPCSTR);
 BOOL WINAPI DeleteProfileW(LPCWSTR,LPCWSTR,LPCWSTR);
 BOOL WINAPI GetProfileType(DWORD *);
@@ -74,36 +82,18 @@ BOOL WINAPI GetDefaultUserProfileDirectoryA(LPSTR,LPDWORD);
 BOOL WINAPI GetDefaultUserProfileDirectoryW(LPWSTR,LPDWORD);
 BOOL WINAPI ExpandEnvironmentStringsForUserA(HANDLE,LPCSTR,LPSTR,DWORD);
 BOOL WINAPI ExpandEnvironmentStringsForUserW(HANDLE,LPCWSTR,LPWSTR,DWORD);
-#endif
-#if (_WIN32_WINNT >= 0x0600)
+#define DeleteProfile  __AW(DeleteProfile)
+#define GetAllUsersProfileDirectory  __AW(GetAllUsersProfileDirectory)
+#define GetDefaultUserProfileDirectory  __AW(GetDefaultUserProfileDirectory)
+#define ExpandEnvironmentStringsForUser  __AW(ExpandEnvironmentStringsForUser)
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
 HRESULT WINAPI CreateProfile(LPCWSTR,LPCWSTR,LPWSTR,DWORD);
 #endif
-#ifdef UNICODE
-typedef PROFILEINFOW PROFILEINFO;
-typedef LPPROFILEINFOW LPPROFILEINFO;
-#define LoadUserProfile  LoadUserProfileW
-#define GetProfilesDirectory  GetProfilesDirectoryW
-#define GetUserProfileDirectory  GetUserProfileDirectoryW
-#if (_WIN32_WINNT >= 0x0500)
-#define DeleteProfile  DeleteProfileW
-#define GetAllUsersProfileDirectory  GetAllUsersProfileDirectoryW
-#define GetDefaultUserProfileDirectory  GetDefaultUserProfileDirectoryW
-#define ExpandEnvironmentStringsForUser  ExpandEnvironmentStringsForUserW
-#endif
-#else
-typedef PROFILEINFOA PROFILEINFO;
-typedef LPPROFILEINFOA LPPROFILEINFO;
-#define LoadUserProfile  LoadUserProfileA
-#define GetProfilesDirectory  GetProfilesDirectoryA
-#define GetUserProfileDirectory  GetUserProfileDirectoryA
-#if (_WIN32_WINNT >= 0x0500)
-#define DeleteProfile  DeleteProfileA
-#define GetAllUsersProfileDirectory  GetAllUsersProfileDirectoryA
-#define GetDefaultUserProfileDirectory  GetDefaultUserProfileDirectoryA
-#define ExpandEnvironmentStringsForUser  ExpandEnvironmentStringsForUserA
-#endif
-#endif
+
 #ifdef __cplusplus
 }
 #endif
+
 #endif /* _USERENV_H */
index 93aaf7d..fd31a41 100644 (file)
 #ifndef _USP10_H
 #define _USP10_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <windows.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #pragma pack(push,1)
 
 #define SCRIPT_UNDEFINED 0
@@ -243,6 +245,7 @@ HRESULT WINAPI ScriptXtoCP(int,int,int,const WORD *,const SCRIPT_VISATTR *,const
 
   
 #pragma pack(pop)
+
 #ifdef __cplusplus
 }
 #endif
index f77c58a..0dfe33a 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _UTIME_H
 #define _UTIME_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <sys/utime.h>
 
index cc37006..faeef9e 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _UXTHEME_H
 #define _UXTHEME_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <commctrl.h>
 
@@ -31,7 +32,7 @@
 extern "C" {
 #endif
 
-#if (_WIN32_WINNT >= 0x0501)
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
 #define DTBG_CLIPRECT 0x00000001
 #define DTBG_DRAWSOLID 0x00000002
 #define DTBG_OMITBORDER 0x00000004
@@ -286,9 +287,10 @@ BOOL WINAPI IsThemePartDefined(HTHEME,int,int);
 HTHEME WINAPI OpenThemeData(HWND,LPCWSTR);
 void WINAPI SetThemeAppProperties(DWORD);
 HRESULT WINAPI SetWindowTheme(HWND,LPCWSTR,LPCWSTR);
-#endif
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */
 
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 5091dae..90d725a 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _VALUES_H
 #define _VALUES_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 /*
  * TODO: Nothing here yet. Should provide UNIX compatibility constants
index afa76c0..6bbffa0 100644 (file)
 #ifndef _VFW_H
 #define _VFW_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <windows.h>
 #include <mmsystem.h>
+
 #ifndef _OBJC_NO_COM
 #include <ole2.h>
 #endif
@@ -374,9 +376,11 @@ extern "C" {
 #define PD_STRETCHDIB_1_1_OK   0x04
 #define PD_STRETCHDIB_1_2_OK   0x08
 #define PD_STRETCHDIB_1_N_OK   0x10
+
 #ifndef mmioFOURCC
 #define mmioFOURCC(c0,c1,c2,c3) ((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)|((DWORD)(BYTE)(c2)<<16)|((DWORD)(BYTE)(c3)<<24))
 #endif
+
 #ifndef aviTWOCC
 #define aviTWOCC(ch0,ch1) ((WORD)(BYTE)(ch0)|((WORD)(BYTE)(ch1)<<8))
 #endif
@@ -837,6 +841,7 @@ BOOL VFWAPI ICSeqCompressFrameStart(PCOMPVARS,LPBITMAPINFO);
 void VFWAPI ICSeqCompressFrameEnd(PCOMPVARS);
 LPVOID VFWAPI ICSeqCompressFrame(PCOMPVARS,UINT,LPVOID,BOOL*,LONG*);
 void VFWAPI ICCompressorFree(PCOMPVARS);
+
 #if !defined (_OBJC_NO_COM)
 ULONG WINAPI AVIStreamAddRef(PAVISTREAM);
 ULONG WINAPI AVIStreamRelease(PAVISTREAM);
@@ -903,12 +908,14 @@ HRESULT WINAPI AVIClearClipboard(VOID);
 HRESULT WINAPI AVIGetFromClipboard(PAVIFILE*);
 HRESULT WINAPI AVIPutFileOnClipboard(PAVIFILE);
 #endif /* _OBJC_NO_COM */
+
 #ifdef OFN_READONLY
 BOOL WINAPI GetOpenFileNamePreviewA(LPOPENFILENAMEA);
 BOOL WINAPI GetOpenFileNamePreviewW(LPOPENFILENAMEW);
 BOOL WINAPI GetSaveFileNamePreviewA(LPOPENFILENAMEA);
 BOOL WINAPI GetSaveFileNamePreviewW(LPOPENFILENAMEW);
 #endif
+
 HWND VFWAPIV MCIWndCreateA(HWND,HINSTANCE,DWORD,LPCSTR);
 HWND VFWAPIV MCIWndCreateW(HWND,HINSTANCE,DWORD,LPCWSTR);
 HDRAWDIB VFWAPI DrawDibOpen(VOID);
@@ -978,11 +985,13 @@ DWORD VFWAPI DrawDibProfileDisplay(LPBITMAPINFOHEADER);
 #define AVStreamPrevKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos-1,FIND_NEXT|FIND_KEY)
 #define AVIStreamNearestKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos,FIND_PREV|FIND_KEY)
 #define AVIStreamIsKeyFrame(pavi, pos) (AVIStreamNearestKeyFrame(pavi,pos) == pos)
+
 #ifdef __cplusplus
 #define MCIWndSM ::SendMessage
 #else
 #define MCIWndSM SendMessage
 #endif
+
 #define MCIWndCanPlay(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_PLAY,0,0)
 #define MCIWndCanRecord(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_RECORD,0,0)
 #define MCIWndCanSave(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_SAVE,0,0)
@@ -1214,33 +1223,18 @@ ICDecompressExQuery(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSr
 #define WM_CAP_PAL_MANUALCREATE         (WM_USER + 84)
 #define WM_CAP_SET_CALLBACK_CAPCONTROL  (WM_USER + 85)
 
-#ifdef UNICODE
-#define WM_CAP_SET_CALLBACK_ERROR       WM_CAP_SET_CALLBACK_ERRORW
-#define WM_CAP_SET_CALLBACK_FRAME       WM_CAP_SET_CALLBACK_FRAMEW
-#define WM_CAP_DRIVER_GET_NAME          WM_CAP_DRIVER_GET_NAMEW
-#define WM_CAP_DRIVER_GET_VERSION       WM_CAP_DRIVER_GET_VERSIONW
-#define WM_CAP_FILE_SET_CAPTURE_FILE    WM_CAP_FILE_SET_CAPTURE_FILEW
-#define WM_CAP_FILE_GET_CAPTURE_FILE    WM_CAP_FILE_GET_CAPTURE_FILEW
-#define WM_CAP_FILE_SAVEAS              WM_CAP_FILE_SAVEASW
-#define WM_CAP_FILE_SAVEDIB             WM_CAP_FILE_SAVEDIBW
-#define WM_CAP_SET_MCI_DEVICE           WM_CAP_SET_MCI_DEVICEW
-#define WM_CAP_GET_MCI_DEVICE           WM_CAP_GET_MCI_DEVICEW
-#define WM_CAP_PAL_OPEN                 WM_CAP_PAL_OPENW
-#define WM_CAP_PAL_SAVE                 WM_CAP_PAL_SAVEW
-#else
-#define WM_CAP_SET_CALLBACK_ERROR       WM_CAP_SET_CALLBACK_ERRORA
-#define WM_CAP_SET_CALLBACK_FRAME       WM_CAP_SET_CALLBACK_FRAMEA
-#define WM_CAP_DRIVER_GET_NAME          WM_CAP_DRIVER_GET_NAMEA
-#define WM_CAP_DRIVER_GET_VERSION       WM_CAP_DRIVER_GET_VERSIONA
-#define WM_CAP_FILE_SET_CAPTURE_FILE    WM_CAP_FILE_SET_CAPTURE_FILEA
-#define WM_CAP_FILE_GET_CAPTURE_FILE    WM_CAP_FILE_GET_CAPTURE_FILEA
-#define WM_CAP_FILE_SAVEAS              WM_CAP_FILE_SAVEASA
-#define WM_CAP_FILE_SAVEDIB             WM_CAP_FILE_SAVEDIBA
-#define WM_CAP_SET_MCI_DEVICE           WM_CAP_SET_MCI_DEVICEA
-#define WM_CAP_GET_MCI_DEVICE           WM_CAP_GET_MCI_DEVICEA
-#define WM_CAP_PAL_OPEN                 WM_CAP_PAL_OPENA
-#define WM_CAP_PAL_SAVE                 WM_CAP_PAL_SAVEA
-#endif
+#define WM_CAP_SET_CALLBACK_ERROR       __AW(WM_CAP_SET_CALLBACK_ERROR)
+#define WM_CAP_SET_CALLBACK_FRAME       __AW(WM_CAP_SET_CALLBACK_FRAME)
+#define WM_CAP_DRIVER_GET_NAME          __AW(WM_CAP_DRIVER_GET_NAME)
+#define WM_CAP_DRIVER_GET_VERSION       __AW(WM_CAP_DRIVER_GET_VERSION)
+#define WM_CAP_FILE_SET_CAPTURE_FILE    __AW(WM_CAP_FILE_SET_CAPTURE_FILE)
+#define WM_CAP_FILE_GET_CAPTURE_FILE    __AW(WM_CAP_FILE_GET_CAPTURE_FILE)
+#define WM_CAP_FILE_SAVEAS              __AW(WM_CAP_FILE_SAVEAS)
+#define WM_CAP_FILE_SAVEDIB             __AW(WM_CAP_FILE_SAVEDIB)
+#define WM_CAP_SET_MCI_DEVICE           __AW(WM_CAP_SET_MCI_DEVICE)
+#define WM_CAP_GET_MCI_DEVICE           __AW(WM_CAP_GET_MCI_DEVICE)
+#define WM_CAP_PAL_OPEN                 __AW(WM_CAP_PAL_OPEN)
+#define WM_CAP_PAL_SAVE                 __AW(WM_CAP_PAL_SAVE)
 
 #define __capSendMessage(hwnd,m,w,l) (IsWindow(hwnd)?SendMessage(hwnd,m,w,l):0)
 
@@ -1306,82 +1300,46 @@ HWND VFWAPI capCreateCaptureWindowW (LPCWSTR,DWORD,int,int,int,int,HWND,int);
 BOOL VFWAPI capGetDriverDescriptionA (UINT,LPSTR,int,LPSTR,int);
 BOOL VFWAPI capGetDriverDescriptionW (UINT,LPWSTR,int,LPWSTR,int);
 
-#ifdef UNICODE
-#define AVISTREAMINFO AVISTREAMINFOW
-#define LPAVISTREAMINFO LPAVISTREAMINFOW
-#define PAVISTREAMINFO PAVISTREAMINFOW
-#define AVIFILEINFO AVIFILEINFOW
-#define PAVIFILEINFO PAVIFILEINFOW
-#define LPAVIFILEINFO LPAVIFILEINFOW
-#define AVIStreamInfo AVIStreamInfoW
-#define AVIStreamOpenFromFile AVIStreamOpenFromFileW
-#define AVIBuildFilter AVIBuildFilterW
-#define AVISaveV AVISaveVW
-#define EditStreamSetInfo EditStreamSetInfoW
-#define EditStreamSetName EditStreamSetNameW
-#define AVIFileOpen AVIFileOpenW
-#define AVIFileInfo AVIFileInfoW
-#define AVIFileCreateStream AVIFileCreateStreamW
-#define GetOpenFileNamePreview GetOpenFileNamePreviewW
-#define GetSaveFileNamePreview GetSaveFileNamePreviewW
-#define MCIWndCreate MCIWndCreateW
-#define MCIWNDF_NOTIFYMEDIA MCIWNDF_NOTIFYMEDIAW
-#define MCIWNDM_SENDSTRING MCIWNDM_SENDSTRINGW
-#define MCIWNDM_GETPOSITION MCIWNDM_GETPOSITIONW
-#define MCIWNDM_GETMODE MCIWNDM_GETMODEW
-#define MCIWNDM_SETTIMEFORMAT MCIWNDM_SETTIMEFORMATW
-#define MCIWNDM_GETTIMEFORMAT MCIWNDM_GETTIMEFORMATW
-#define MCIWNDM_GETFILENAME MCIWNDM_GETFILENAMEW
-#define MCIWNDM_GETDEVICE MCIWNDM_GETDEVICEW
-#define MCIWNDM_GETERROR MCIWNDM_GETERRORW
-#define MCIWNDM_NEW MCIWNDM_NEWW
-#define MCIWNDM_RETURNSTRING MCIWNDM_RETURNSTRINGW
-#define MCIWNDM_OPEN MCIWNDM_OPENW
-
-#define capCreateCaptureWindow  capCreateCaptureWindowW
-#define capGetDriverDescription capGetDriverDescriptionW
-
-#else
-#define AVISTREAMINFO AVISTREAMINFOA
-#define LPAVISTREAMINFO LPAVISTREAMINFOA
-#define PAVISTREAMINFO PAVISTREAMINFOA
-#define AVIFILEINFO AVIFILEINFOA
-#define PAVIFILEINFO PAVIFILEINFOA
-#define LPAVIFILEINFO LPAVIFILEINFOA
-#define AVIStreamInfo AVIStreamInfoA
-#define AVIStreamOpenFromFile AVIStreamOpenFromFileA
-#define AVIBuildFilter AVIBuildFilterA
-#define AVISaveV AVISaveVA
-#define EditStreamSetInfo EditStreamSetInfoA
-#define EditStreamSetName EditStreamSetNameA
-#define AVIFileOpen AVIFileOpenA
-#define AVIFileInfo AVIFileInfoA
-#define AVIFileCreateStream AVIFileCreateStreamA
-#define GetOpenFileNamePreview GetOpenFileNamePreviewA
-#define GetSaveFileNamePreview GetSaveFileNamePreviewA
-#define MCIWndCreate MCIWndCreateA
-#define MCIWNDF_NOTIFYMEDIA MCIWNDF_NOTIFYMEDIAA
-#define MCIWNDM_SENDSTRING MCIWNDM_SENDSTRINGA
-#define MCIWNDM_GETPOSITION MCIWNDM_GETPOSITIONA
-#define MCIWNDM_GETMODE MCIWNDM_GETMODEA
-#define MCIWNDM_SETTIMEFORMAT MCIWNDM_SETTIMEFORMATA
-#define MCIWNDM_GETTIMEFORMAT MCIWNDM_GETTIMEFORMATA
-#define MCIWNDM_GETFILENAME MCIWNDM_GETFILENAMEA
-#define MCIWNDM_GETDEVICE MCIWNDM_GETDEVICEA
-#define MCIWNDM_GETERROR MCIWNDM_GETERRORA
-#define MCIWNDM_NEW MCIWNDM_NEWA
-#define MCIWNDM_RETURNSTRING MCIWNDM_RETURNSTRINGA
-#define MCIWNDM_OPEN MCIWNDM_OPENA
-
-#define capCreateCaptureWindow  capCreateCaptureWindowA
-#define capGetDriverDescription capGetDriverDescriptionA
+#define AVISTREAMINFO __AW(AVISTREAMINFO)
+#define LPAVISTREAMINFO __AW(LPAVISTREAMINFO)
+#define PAVISTREAMINFO __AW(PAVISTREAMINFO)
+#define AVIFILEINFO __AW(AVIFILEINFO)
+#define PAVIFILEINFO __AW(PAVIFILEINFO)
+#define LPAVIFILEINFO __AW(LPAVIFILEINFO)
+#define AVIStreamInfo __AW(AVIStreamInfo)
+#define AVIStreamOpenFromFile __AW(AVIStreamOpenFromFile)
+#define AVIBuildFilter __AW(AVIBuildFilter)
+#define AVISaveV __AW(AVISaveV)
+#define EditStreamSetInfo __AW(EditStreamSetInfo)
+#define EditStreamSetName __AW(EditStreamSetName)
+#define AVIFileOpen __AW(AVIFileOpen)
+#define AVIFileInfo __AW(AVIFileInfo)
+#define AVIFileCreateStream __AW(AVIFileCreateStream)
+#define GetOpenFileNamePreview __AW(GetOpenFileNamePreview)
+#define GetSaveFileNamePreview __AW(GetSaveFileNamePreview)
+#define MCIWndCreate __AW(MCIWndCreate)
+#define MCIWNDF_NOTIFYMEDIA __AW(__AW(MCIWNDF_NOTIFYMEDIA)
+#define MCIWNDM_SENDSTRING __AW(__AW(MCIWNDM_SENDSTRING)
+#define MCIWNDM_GETPOSITION __AW(MCIWNDM_GETPOSITION)
+#define MCIWNDM_GETMODE __AW(MCIWNDM_GETMODE)
+#define MCIWNDM_SETTIMEFORMAT __AW(MCIWNDM_SETTIMEFORMAT)
+#define MCIWNDM_GETTIMEFORMAT __AW(MCIWNDM_GETTIMEFORMAT)
+#define MCIWNDM_GETFILENAME __AW(MCIWNDM_GETFILENAME)
+#define MCIWNDM_GETDEVICE __AW(MCIWNDM_GETDEVICE)
+#define MCIWNDM_GETERROR __AW(MCIWNDM_GETERROR)
+#define MCIWNDM_NEW __AW(MCIWNDM_NEW)
+#define MCIWNDM_RETURNSTRING __AW(MCIWNDM_RETURNSTRING)
+#define MCIWNDM_OPEN __AW(MCIWNDM_OPEN)
 
-#endif
+#define capCreateCaptureWindow  __AW(capCreateCaptureWindow)
+#define capGetDriverDescription __AW(capGetDriverDescription)
 
 #endif /* RC_INVOKED */
 
 #ifdef __cplusplus
 }
 #endif
+
 #include <poppack.h>
+
 #endif /* _VFW_H */
index a7f1752..23704a5 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _VIDCAP_H
 #define _VIDCAP_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -41,4 +42,5 @@ typedef struct {
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index e9efa83..1229d69 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _VMR9_H
 #define _VMR9_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -229,4 +230,5 @@ typedef struct VMR9AlphaBitmap{
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 7a43f01..951c9b7 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _VPTYPE_H
 #define _VPTYPE_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -73,4 +74,5 @@ typedef struct _AMVPSIZE{
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 54f0e51..4ce793e 100644 (file)
@@ -24,8 +24,6 @@
 #ifndef        _WCHAR_H_
 #define        _WCHAR_H_
 #pragma GCC system_header
-
-/* All the headers include this file. */
 #include <_mingw.h>
 
 #ifndef RC_INVOKED
@@ -132,6 +130,7 @@ _CRTIMP wint_t __cdecl __MINGW_NOTHROW      getwc (FILE*);
 _CRTIMP wint_t __cdecl __MINGW_NOTHROW getwchar (void);
 _CRTIMP wint_t __cdecl __MINGW_NOTHROW putwc (wint_t, FILE*);
 _CRTIMP wint_t __cdecl __MINGW_NOTHROW putwchar (wint_t);
+
 #ifndef __STRICT_ANSI__
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _getws (wchar_t*);
 _CRTIMP int __cdecl __MINGW_NOTHROW    _putws (const wchar_t*);
@@ -150,11 +149,13 @@ _CRTIMP FILE* __cdecl __MINGW_NOTHROW     _wpopen (const wchar_t*, const wchar_t*);
 #ifndef __NO_ISOCEXT  /* externs in libmingwex.a */
 int __cdecl __MINGW_NOTHROW snwprintf (wchar_t*, size_t, const wchar_t*, ...);
 int __cdecl __MINGW_NOTHROW vsnwprintf (wchar_t*, size_t, const wchar_t*, __VALIST);
+
 #ifndef __NO_INLINE__
 __CRT_INLINE int __cdecl __MINGW_NOTHROW
 vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg)
   { return _vsnwprintf ( s, n, format, arg);}
 #endif
+
 int __cdecl __MINGW_NOTHROW vwscanf (const wchar_t * __restrict__, __VALIST);
 int __cdecl __MINGW_NOTHROW vfwscanf (FILE * __restrict__,
                       const wchar_t * __restrict__, __VALIST);
@@ -169,10 +170,12 @@ int __cdecl __MINGW_NOTHROW vswscanf (const wchar_t * __restrict__,
 _CRTIMP long __cdecl __MINGW_NOTHROW   wcstol (const wchar_t*, wchar_t**, int);
 _CRTIMP unsigned long __cdecl __MINGW_NOTHROW wcstoul (const wchar_t*, wchar_t**, int);
 _CRTIMP double __cdecl __MINGW_NOTHROW wcstod (const wchar_t*, wchar_t**);
+
 #if !defined __NO_ISOCEXT /* in libmingwex.a */
 float __cdecl __MINGW_NOTHROW wcstof (const wchar_t * __restrict__, wchar_t ** __restrict__);
 long double __cdecl __MINGW_NOTHROW wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
 #endif /* __NO_ISOCEXT */
+
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetenv(const wchar_t*);
 _CRTIMP int __cdecl __MINGW_NOTHROW    _wputenv(const wchar_t*);
 _CRTIMP void __cdecl __MINGW_NOTHROW   _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*);
@@ -191,24 +194,21 @@ _CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *, wchar_t **, int,
 #ifndef __STRICT_ANSI__
 /* wide function prototypes, also declared in time.h */
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW       _wasctime (const struct tm*);
-#if __MSVCRT_VERSION__ < 0x0800
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW       _wctime (const time_t*);
-#endif
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW       _wstrdate (wchar_t*);
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW       _wstrtime (wchar_t*);
-#if __MSVCRT_VERSION__ >= 0x601
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW       _wctime64 (const __time64_t*);
-#endif
-#if __MSVCRT_VERSION__ >= 0x0800
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW       _wctime32 (const __time32_t*);
+
 #ifndef _USE_32BIT_TIME_T
 _CRTALIAS wchar_t* __cdecl __MINGW_NOTHROW     _wctime (const time_t* _v)      { return(_wctime64 (_v)); }
 #else
+
 _CRTALIAS wchar_t* __cdecl __MINGW_NOTHROW     _wctime (const time_t* _v)      { return(_wctime32 (_v)); }
 #endif
-#endif
 
 #endif /* __STRICT_ANSI__ */
+
 _CRTIMP size_t __cdecl __MINGW_NOTHROW wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
 #define _WTIME_DEFINED
 #endif /* _WTIME_DEFINED */
@@ -253,10 +253,8 @@ _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsupr (wchar_t*);
 
 _CRTIMP int __cdecl __MINGW_NOTHROW  _wcsncoll(const wchar_t*, const wchar_t*, size_t);
 _CRTIMP int   __cdecl __MINGW_NOTHROW _wcsnicoll(const wchar_t*, const wchar_t*, size_t);
-#if __MSVCRT_VERSION__ >= 0x0700
 _CRTIMP  wchar_t* __cdecl __MINGW_NOTHROW _wcserror(int);
 _CRTIMP  wchar_t* __cdecl __MINGW_NOTHROW __wcserror(const wchar_t*);
-#endif
 
 #ifndef        _NO_OLDNAMES
 /* NOTE: There is no _wcscmpi, but this is for compatibility. */
@@ -287,6 +285,7 @@ _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsupr (wchar_t*);
    versions of these functions. If you want the latter and don't have
    msvcp60.dll in your windows system directory, you can easily obtain
    it with a search from your favorite search engine.  */
+
 #ifndef __STRICT_ANSI__
 typedef wchar_t _Wint_t;
 #endif
@@ -309,6 +308,7 @@ int __cdecl __MINGW_NOTHROW wctob(wint_t);
 #ifndef __NO_ISOCEXT /* these need static lib libmingwex.a */
 int __cdecl __MINGW_NOTHROW fwide(FILE*, int);
 int __cdecl __MINGW_NOTHROW mbsinit(const mbstate_t*);
+
 #ifndef __NO_INLINE__
 __CRT_INLINE int __cdecl __MINGW_NOTHROW fwide(FILE* __UNUSED_PARAM(stream),
                                               int mode)
@@ -316,6 +316,7 @@ __CRT_INLINE int __cdecl __MINGW_NOTHROW fwide(FILE* __UNUSED_PARAM(stream),
 __CRT_INLINE int __cdecl __MINGW_NOTHROW mbsinit(const mbstate_t* __UNUSED_PARAM(ps))
   {return 1;}
 #endif
+
 wchar_t* __cdecl __MINGW_NOTHROW wmemset(wchar_t *, wchar_t, size_t);
 wchar_t* __cdecl __MINGW_NOTHROW wmemchr(const wchar_t*, wchar_t, size_t);
 int wmemcmp(const wchar_t*, const wchar_t *, size_t);
@@ -354,7 +355,6 @@ struct _wfinddatai64_t {
        __int64     size;
        wchar_t     name[260];
 };
-#if __MSVCRT_VERSION__ >= 0x0601
 struct __wfinddata64_t {
         unsigned    attrib;
         __time64_t  time_create;
@@ -364,8 +364,6 @@ struct __wfinddata64_t {
         __int64    size;
         wchar_t     name[260];
 };
-#endif
-#if __MSVCRT_VERSION__ >= 0x0800
 #include <stdio.h>
 struct __wfinddata32_t {
        unsigned        attrib;
@@ -393,7 +391,6 @@ struct _wfinddata64i32_t {
        __int32         size;
        wchar_t         name[FILENAME_MAX];
 };
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
 #define _WFINDDATA_T_DEFINED
 #endif
 
@@ -403,30 +400,23 @@ struct _wfinddata64i32_t {
 _CRTIMP int __cdecl __MINGW_NOTHROW    _waccess (const wchar_t*, int);
 _CRTIMP int __cdecl __MINGW_NOTHROW    _wchmod (const wchar_t*, int);
 _CRTIMP int __cdecl __MINGW_NOTHROW    _wcreat (const wchar_t*, int);
-#if __MSVCRT_VERSION__ < 0x0800
 _CRTIMP long __cdecl __MINGW_NOTHROW   _wfindfirst (const wchar_t*, struct _wfinddata_t *);
 _CRTIMP int __cdecl __MINGW_NOTHROW    _wfindnext (long, struct _wfinddata_t *);
-#endif
 _CRTIMP int __cdecl __MINGW_NOTHROW    _wunlink (const wchar_t*);
 _CRTIMP int __cdecl __MINGW_NOTHROW    _wopen (const wchar_t*, int, ...);
 _CRTIMP int __cdecl __MINGW_NOTHROW    _wsopen (const wchar_t*, int, int, ...);
 _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wmktemp (wchar_t*);
-#if __MSVCRT_VERSION__ < 0x0800
 _CRTIMP long __cdecl __MINGW_NOTHROW   _wfindfirsti64 (const wchar_t*, struct _wfinddatai64_t*);
 _CRTIMP int __cdecl __MINGW_NOTHROW    _wfindnexti64 (long, struct _wfinddatai64_t*);
-#else
 _CRTIMP long __cdecl __MINGW_NOTHROW   _wfindfirst32i64 (const wchar_t*, struct _wfinddata32i64_t*);
 _CRTIMP long __cdecl __MINGW_NOTHROW   _wfindfirst64i32 (const wchar_t*, struct _wfinddata64i32_t*);
 _CRTIMP int  __cdecl __MINGW_NOTHROW   _wfindnext32i64 (long, struct _wfinddata32i64_t*);
 _CRTIMP int  __cdecl __MINGW_NOTHROW   _wfindnext64i32 (long, struct _wfinddata64i32_t*);
-#endif /* __MSVCRT_VERSION__ < 0x0800 */
-#if __MSVCRT_VERSION__ >= 0x0601
 _CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindfirst64(const wchar_t*, struct __wfinddata64_t*); 
 _CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindnext64(intptr_t, struct __wfinddata64_t*);
-#endif /* __MSVCRT_VERSION__ >= 0x0601 */
-#if __MSVCRT_VERSION__ >= 0x0800
 _CRTIMP long __cdecl __MINGW_NOTHROW   _wfindfirst32 (const wchar_t*, struct __wfinddata32_t*);
 _CRTIMP int  __cdecl __MINGW_NOTHROW   _wfindnext32 (long, struct __wfinddata32_t*);
+
 #ifndef _USE_32BIT_TIME_T
 _CRTALIAS long __cdecl __MINGW_NOTHROW _wfindfirst (const wchar_t* _v1, struct _wfinddata_t* _v2)       { return(_wfindfirst64i32 (_v1,(struct _wfinddata64i32_t*)_v2)); }
 _CRTALIAS int  __cdecl __MINGW_NOTHROW _wfindnext (long _v1, struct _wfinddata_t* _v2)                  { return(_wfindnext64i32  (_v1,(struct _wfinddata64i32_t*)_v2)); }
@@ -438,7 +428,6 @@ _CRTALIAS int  __cdecl __MINGW_NOTHROW      _wfindnext (long _v1, struct _wfinddata_t
 _CRTALIAS long __cdecl __MINGW_NOTHROW _wfindfirsti64 (const wchar_t* _v1, struct _wfinddatai64_t* _v2) { return(_wfindfirst32i64 (_v1,(struct _wfinddata32i64_t*)_v2)); }
 _CRTALIAS int  __cdecl __MINGW_NOTHROW _wfindnexti64 (long _v1, struct _wfinddatai64_t* _v2)            { return(_wfindnext32i64  (_v1,(struct _wfinddata32i64_t*)_v2)); }
 #endif /* !_USE_32BIT_TIME_T*/
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
 
 #define _WIO_DEFINED
 #endif /* _WIO_DEFINED */
@@ -510,7 +499,6 @@ struct _stati64 {
     time_t st_ctime;
 };
 
-#if __MSVCRT_VERSION__ >= 0x0601
 struct __stat64
 {
     _dev_t st_dev;
@@ -525,9 +513,7 @@ struct __stat64
     __time64_t st_mtime;
     __time64_t st_ctime;
 };
-#endif  /* __MSVCRT_VERSION__ >= 0x0601*/
 
-#if __MSVCRT_VERSION__ >= 0x0800
 struct __stat32
 {
        _dev_t          st_dev;
@@ -568,32 +554,28 @@ struct _stat64i32 {
        __time64_t      st_mtime;
        __time64_t      st_ctime;
 };
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
 
 #define _STAT_DEFINED
 #endif /* _STAT_DEFINED */
 
 #if !defined ( _WSTAT_DEFINED)
 /* also declared in sys/stat.h */
-#if __MSVCRT_VERSION__ < 0x0800
 _CRTIMP int __cdecl __MINGW_NOTHROW    _wstat (const wchar_t*, struct _stat*);
 _CRTIMP int __cdecl __MINGW_NOTHROW    _wstati64 (const wchar_t*, struct _stati64*);
-#endif /* __MSVCRT_VERSION__ < 0x0800 */
-#if __MSVCRT_VERSION__ >= 0x0601
 _CRTIMP int __cdecl __MINGW_NOTHROW _wstat64 (const wchar_t*, struct __stat64*);
-#endif /* __MSVCRT_VERSION__ >= 0x0601 */
-#if __MSVCRT_VERSION__ >= 0x0800
 _CRTIMP int __cdecl __MINGW_NOTHROW    _wstat32 (const wchar_t*, struct __stat32*);
 _CRTIMP int __cdecl __MINGW_NOTHROW    _wstat32i64 (const wchar_t*, struct _stat32i64*);
 _CRTIMP int __cdecl __MINGW_NOTHROW    _wstat64i32 (const wchar_t*, struct _stat64i32*);
+
 #ifndef _USE_32BIT_TIME_T
 _CRTALIAS int __cdecl __MINGW_NOTHROW  _wstat (const wchar_t* _v1, struct _stat* _v2)       { return(_wstat64i32 (_v1,(struct _stat64i32*)_v2)); }
 _CRTALIAS int __cdecl __MINGW_NOTHROW  _wstati64 (const wchar_t* _v1, struct _stati64* _v2) { return(_wstat64 (_v1,(struct __stat64*)_v2)); }
 #else
+
 _CRTALIAS int __cdecl __MINGW_NOTHROW  _wstat (const wchar_t* _v1, struct _stat* _v2)       { return(_wstat32 (_v1,(struct __stat32*)_v2)); }
 _CRTALIAS int __cdecl __MINGW_NOTHROW  _wstati64 (const wchar_t* _v1, struct _stati64* _v2) { return(_wstat32i64 (_v1,(struct _stat32i64*)_v2)); }
 #endif /* !_USE_32BIT_TIME_T */
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
+
 #define _WSTAT_DEFINED
 #endif /* ! _WSTAT_DEFIND  */
 
@@ -624,6 +606,7 @@ _CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnvpe (int, const wchar_t*, const
 
 #define _WPROCESS_DEFINED
 #endif
+
 #endif /* not __STRICT_ANSI__ */
 
 #ifdef __cplusplus
@@ -633,4 +616,3 @@ _CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnvpe (int, const wchar_t*, const
 #endif /* Not RC_INVOKED */
 
 #endif /* not _WCHAR_H_ */
-
index 9c0f805..c191552 100644 (file)
 #ifndef _WCTYPE_H
 #define _WCTYPE_H
 #pragma GCC system_header
-
-/* All the headers include this file. */
 #include <_mingw.h>
 
 #define        __need_wchar_t
 #define        __need_wint_t
+
 #ifndef RC_INVOKED
 #include <stddef.h>
 #endif /* Not RC_INVOKED */
@@ -96,9 +95,7 @@ _CRTIMP int __cdecl __MINGW_NOTHROW   isleadbyte (int);
 
 /* Also in ctype.h */
 
-# if __MSVCRT_VERSION__ <= 0x0700
   __MINGW_IMPORT unsigned short _ctype[];
-# endif 
 __MINGW_IMPORT unsigned short* _pctype;
 
 
@@ -145,4 +142,5 @@ wctype_t __cdecl __MINGW_NOTHROW    wctype(const char*);
 #endif
 
 #endif /* Not RC_INVOKED */
+
 #endif /* Not _WCTYPE_H */
index 825172c..9d77810 100644 (file)
 #ifndef _WINABLE_H
 #define _WINABLE_H
 #pragma GCC system_header
+#include <_mingw.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT < 0x0403)
-#define INPUT_MOUSE 0x00000000
-#define INPUT_KEYBOARD 0x00000001
-#define INPUT_HARDWARE 0x00000002
-#endif /* (_WIN32_WINNT < 0x04030) */
-#if (WINVER < 0x0500)
-#define CHILDID_SELF 0
-#define OBJID_WINDOW 0x00000000
-#define OBJID_SYSMENU 0xFFFFFFFF
-#define OBJID_TITLEBAR 0xFFFFFFFE
-#define OBJID_MENU 0xFFFFFFFD
-#define OBJID_CLIENT 0xFFFFFFFC
-#define OBJID_VSCROLL 0xFFFFFFFB
-#define OBJID_HSCROLL 0xFFFFFFFA
-#define OBJID_SIZEGRIP 0xFFFFFFF9
-#define OBJID_CARET 0xFFFFFFF8
-#define OBJID_CURSOR 0xFFFFFFF7
-#define OBJID_ALERT 0xFFFFFFF6
-#define OBJID_SOUND 0xFFFFFFF5
-#define GUI_CARETBLINKING 0x00000001
-#define GUI_INMOVESIZE 0x00000002
-#define GUI_INMENUMODE 0x00000004
-#define GUI_SYSTEMMENUMODE 0x00000008
-#define GUI_POPUPMENUMODE 0x00000010
-#define WINEVENT_OUTOFCONTEXT 0x0000
-#define WINEVENT_SKIPOWNTHREAD 0x0001
-#define WINEVENT_SKIPOWNPROCESS 0x0002
-#define WINEVENT_INCONTEXT 0x0004
-#endif /* (WINVER < 0x0500) */
-#if (_WIN32_WINNT < 0x0403)
-typedef struct tagMOUSEINPUT {
-       LONG dx;
-       LONG dy;
-       DWORD mouseData;
-       DWORD dwFlags;
-       DWORD time;
-       ULONG_PTR dwExtraInfo;
-} MOUSEINPUT,*PMOUSEINPUT;
-typedef struct tagKEYBDINPUT {
-       WORD wVk;
-       WORD wScan;
-       DWORD dwFlags;
-       DWORD time;
-       ULONG_PTR dwExtraInfo;
-} KEYBDINPUT,*PKEYBDINPUT;
-typedef struct tagHARDWAREINPUT {
-       DWORD uMsg;
-       WORD wParamL;
-       WORD wParamH;
-} HARDWAREINPUT,*PHARDWAREINPUT;
-typedef struct tagINPUT {
-       DWORD type;
-       _ANONYMOUS_UNION union {
-               MOUSEINPUT mi;
-               KEYBDINPUT ki;
-               HARDWAREINPUT hi;
-       } DUMMYUNIONNAME;
-} INPUT,*PINPUT,*LPINPUT;
-#endif /* (_WIN32_WINNT < 0x0403) */
-#if (WINVER < 0x0500)
-typedef VOID (*WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD);
-typedef struct tagGUITHREADINFO {
-       DWORD cbSize;
-       DWORD flags;
-       HWND hwndActive;
-       HWND hwndFocus;
-       HWND hwndCapture;
-       HWND hwndMenuOwner;
-       HWND hwndMoveSize;
-       HWND hwndCaret;
-       RECT rcCaret;
-} GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO;
-#endif /* (WINVER < 0x0500) */
+#warning WARNING - This file is deprecated use winuser.h instead.
+/* http://social.msdn.microsoft.com/forums/en-US/windowssdk/thread/ee57cc38-1dc6-4a5f-b7e3-1f16dbd91b83/ */
+#include <winuser.h>
 
-BOOL WINAPI BlockInput(BOOL);
-#if (_WIN32_WINNT < 0x0403)
-UINT WINAPI SendInput(UINT,LPINPUT,int);
-#endif
-#if (WINVER < 0x0500)
-BOOL WINAPI GetGUIThreadInfo(DWORD,LPGUITHREADINFO);
-void WINAPI NotifyWinEvent(DWORD,HWND,LONG,LONG);
-HWINEVENTHOOK WINAPI SetWinEventHook(UINT,UINT,HMODULE,WINEVENTPROC,DWORD,DWORD,UINT);
-BOOL WINAPI UnhookWinEvent(HWINEVENTHOOK);
-#endif /* (WINVER < 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
 #endif
index 11ecf28..531f9ba 100644 (file)
@@ -8,11 +8,11 @@
  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  * and/or sell copies of the Software, and to permit persons to whom the
  * Software is furnished to do so, subject to the following conditions:
- * 
+ *
  * The above copyright notice and this permission notice (including the next
  * paragraph) shall be included in all copies or substantial portions of the
  * Software.
- * 
+ *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -24,6 +24,7 @@
 #ifndef _WINBASE_H
 #define _WINBASE_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #define __GNUC_EXTENSION __extension__
 
@@ -165,13 +166,7 @@ extern "C" {
 #define COPY_FILE_FAIL_IF_EXISTS              0x0001
 #define COPY_FILE_RESTARTABLE                 0x0002
 #define COPY_FILE_OPEN_SOURCE_FOR_WRITE       0x0004
-#if (_WIN32_WINNT > 0x0500)
-#define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x0008
-#if (_WIN32_WINNT > 0x0501)
-#define COPY_FILE_COPY_SYMLINK                0x0800
-#define COPY_FILE_NO_BUFFERING                0x1000
-#endif
-#endif
+
 #define OFS_MAXPATHNAME 128
 #define FILE_MAP_ALL_ACCESS     0xf001f
 #define FILE_MAP_READ   4
@@ -235,9 +230,7 @@ extern "C" {
 #define FILE_FLAG_POSIX_SEMANTICS      16777216
 #define FILE_FLAG_OPEN_REPARSE_POINT   2097152
 #define FILE_FLAG_OPEN_NO_RECALL       1048576
-#if (_WIN32_WINNT >= 0x0500)
-#define FILE_FLAG_FIRST_PIPE_INSTANCE  524288
-#endif
+
 #define SYMBOLIC_LINK_FLAG_DIRECTORY   0x1
 #define CLRDTR 6
 #define CLRRTS 4
@@ -297,10 +290,7 @@ extern "C" {
 #define GET_TAPE_DRIVE_INFORMATION 1
 #define SET_TAPE_MEDIA_INFORMATION 0
 #define SET_TAPE_DRIVE_INFORMATION 1
-#if (_WIN32_WINNT >= 0x0600)
-#define THREAD_MODE_BACKGROUND_BEGIN 0x00010000
-#define THREAD_MODE_BACKGROUND_END 0x00020000
-#endif
+
 #define THREAD_PRIORITY_ABOVE_NORMAL 1
 #define THREAD_PRIORITY_BELOW_NORMAL (-1)
 #define THREAD_PRIORITY_HIGHEST 2
@@ -420,21 +410,14 @@ extern "C" {
 #define LOCKFILE_EXCLUSIVE_LOCK 2
 #define LOGON32_PROVIDER_DEFAULT       0
 #define LOGON32_PROVIDER_WINNT35       1
-#if (_WIN32_WINNT >= 0x0400)
 #define LOGON32_PROVIDER_WINNT40       2
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define LOGON32_PROVIDER_WINNT50       3
-#endif
+
 #define LOGON32_LOGON_INTERACTIVE      2
 #define LOGON32_LOGON_NETWORK  3
 #define LOGON32_LOGON_BATCH    4
 #define LOGON32_LOGON_SERVICE  5
 #define LOGON32_LOGON_UNLOCK   7
-#if (_WIN32_WINNT >= 0x0500)
-#define LOGON32_LOGON_NETWORK_CLEARTEXT        8
-#define LOGON32_LOGON_NEW_CREDENTIALS  9
-#endif
+
 #define MOVEFILE_REPLACE_EXISTING 1
 #define MOVEFILE_COPY_ALLOWED 2
 #define MOVEFILE_DELAY_UNTIL_REBOOT 4
@@ -443,9 +426,11 @@ extern "C" {
 #define MAXIMUM_SUSPEND_COUNT 0x7F
 #define WAIT_OBJECT_0 0
 #define WAIT_ABANDONED_0 128
+
 #ifndef WAIT_TIMEOUT /* also in winerror.h */
 #define WAIT_TIMEOUT 258
 #endif
+
 #define WAIT_IO_COMPLETION 0xC0
 #define WAIT_ABANDONED 128
 #define WAIT_FAILED ((DWORD)0xFFFFFFFF)
@@ -484,7 +469,7 @@ extern "C" {
 #define EV_RXFLAG 2
 #define EV_TXEMPTY 4
 /* also in ddk/ntapi.h */
-/* To restore default error mode, call SetErrorMode (0).  */ 
+/* To restore default error mode, call SetErrorMode (0).  */
 #define SEM_FAILCRITICALERRORS         0x0001
 #define SEM_NOGPFAULTERRORBOX          0x0002
 #define SEM_NOALIGNMENTFAULTEXCEPT     0x0004
@@ -592,40 +577,8 @@ extern "C" {
 #define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 0x00000004
 #define GET_MODULE_HANDLE_EX_FLAG_PIN 0x00000001
 #define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 0x00000002
-#if (_WIN32_WINNT >= 0x0501)
-#define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID 0x00000001
-#define ACTCTX_FLAG_LANGID_VALID 0x00000002
-#define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID 0x00000004
-#define ACTCTX_FLAG_RESOURCE_NAME_VALID 0x00000008
-#define ACTCTX_FLAG_SET_PROCESS_DEFAULT 0x00000010
-#define ACTCTX_FLAG_APPLICATION_NAME_VALID 0x00000020
-#define ACTCTX_FLAG_HMODULE_VALID 0x00000080
-#define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION 0x00000001
-#define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX 0x00000001
-#define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX 0x00000004
-#define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE 0x00000008
-#define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS 0x00000010
-#endif /* (_WIN32_WINNT >= 0x0501) */
-#if (_WIN32_WINNT >= 0x0500)
-#define REPLACEFILE_WRITE_THROUGH 0x00000001
-#define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
-#endif /* (_WIN32_WINNT >= 0x0500) */
+
 #define WRITE_WATCH_FLAG_RESET 1
-#if (_WIN32_WINNT >= 0x0601)
-#define PROCESS_DEP_ENABLE 1
-#define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 2
-#endif
-#if (_WIN32_WINNT >= 0x0600)
-/* http://msdn.microsoft.com/en-us/library/aa363866%28VS.85%29.aspx */
-#define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1
-/* http://msdn.microsoft.com/en-us/library/aa364962%28VS.85%29.aspx */
-#define FILE_NAME_NORMALIZED 0x0
-#define FILE_NAME_OPENED 0x8
-#define VOLUME_NAME_DOS 0x0
-#define VOLUME_NAME_GUID 0x1
-#define VOLUME_NAME_NONE 0x4
-#define VOLUME_NAME_NT 0x2
-#endif /* (_WIN32_WINNT >= 0x0600) */
 
 #ifndef RC_INVOKED
 typedef struct _FILETIME {
@@ -644,86 +597,7 @@ typedef struct _BY_HANDLE_FILE_INFORMATION {
        DWORD   nFileIndexHigh;
        DWORD   nFileIndexLow;
 } BY_HANDLE_FILE_INFORMATION,*LPBY_HANDLE_FILE_INFORMATION;
-#if (_WIN32_WINNT >= 0x0600)
-/* http://msdn.microsoft.com/en-us/library/aa364217%28VS.85%29.aspx */
-typedef struct _FILE_BASIC_INFO {
-       LARGE_INTEGER   CreationTime;
-       LARGE_INTEGER   LastAccessTime;
-       LARGE_INTEGER   LastWriteTime;
-       LARGE_INTEGER   ChangeTime;
-       DWORD   FileAttributes;
-} FILE_BASIC_INFO,*PFILE_BASIC_INFO,*LPFILE_BASIC_INFO;
-/* http://msdn.microsoft.com/en-us/library/aa364401%28VS.85%29.aspx */
-typedef struct _FILE_STANDARD_INFO {
-       LARGE_INTEGER   AllocationSize;
-       LARGE_INTEGER   EndOfFile;
-       DWORD   NumberOfLinks;
-       BOOL    DeletePending;
-       BOOL    Directory;
-} FILE_STANDARD_INFO,*PFILE_STANDARD_INFO,*LPFILE_STANDARD_INFO;
-/* http://msdn.microsoft.com/en-us/library/aa364388%28v=VS.85%29.aspx */
-typedef struct _FILE_NAME_INFO {
-       DWORD   FileNameLength;
-       WCHAR   FileName[1];
-} FILE_NAME_INFO,*PFILE_NAME_INFO,*LPFILE_NAME_INFO;
-/* http://msdn.microsoft.com/en-us/library/aa364406%28v=VS.85%29.aspx */
-typedef struct _FILE_STREAM_INFO {
-       DWORD   NextEntryOffset;
-       DWORD   StreamNameLength;
-       LARGE_INTEGER   StreamSize;
-       LARGE_INTEGER   StreamAllocationSize;
-       WCHAR   StreamName[1];
-} FILE_STREAM_INFO,*PFILE_STREAM_INFO,*LPFILE_STREAM_INFO;
-/* http://msdn.microsoft.com/en-us/library/aa364220%28v=VS.85%29.aspx */
-typedef struct _FILE_COMPRESSION_INFO {
-       LARGE_INTEGER   CompressedFileSize;
-       WORD    CompressionFormat;
-       UCHAR   CompressionUnitShift;
-       UCHAR   ChunkShift;
-       UCHAR   ClusterShift;
-       UCHAR   Reserved[3];
-} FILE_COMPRESSION_INFO,*PFILE_COMPRESSION_INFO,*LPFILE_COMPRESSION_INFO;
-/* http://msdn.microsoft.com/en-us/library/aa364216%28v=VS.85%29.aspx */
-typedef struct _FILE_ATTRIBUTE_TAG_INFO {
-       DWORD   FileAttributes;
-       DWORD   ReparseTag;
-} FILE_ATTRIBUTE_TAG_INFO,*PFILE_ATTRIBUTE_TAG_INFO,*LPFILE_ATTRIBUTE_TAG_INFO;
-/* http://msdn.microsoft.com/en-us/library/aa364226%28v=VS.85%29.aspx */
-typedef struct _FILE_ID_BOTH_DIR_INFO {
-       DWORD   NextEntryOffset;
-       DWORD   FileIndex;
-       LARGE_INTEGER   CreationTime;
-       LARGE_INTEGER   LastAccessTime;
-       LARGE_INTEGER   LastWriteTime;
-       LARGE_INTEGER   ChangeTime;
-       LARGE_INTEGER   EndOfFile;
-       LARGE_INTEGER   AllocationSize;
-       DWORD   FileAttributes;
-       DWORD   FileNameLength;
-       DWORD   EaSize;
-       CCHAR   ShortNameLength;
-       WCHAR   ShortName[12];
-       LARGE_INTEGER   FileId;
-       WCHAR   FileName[1];
-} FILE_ID_BOTH_DIR_INFO,*PFILE_ID_BOTH_DIR_INFO,*LPFILE_ID_BOTH_DIR_INFO;
-/* http://msdn.microsoft.com/en-us/library/dd979524%28v=VS.85%29.aspx */
-typedef struct _FILE_REMOTE_PROTOCOL_INFO {
-       USHORT StructureVersion;
-       USHORT StructureSize;
-       ULONG  Protocol;
-       USHORT ProtocolMajorVersion;
-       USHORT ProtocolMinorVersion;
-       USHORT ProtocolRevision;
-       USHORT Reserved;
-       ULONG  Flags;
-       struct {
-               ULONG   Reserved[8];
-       } GenericReserved;
-       struct {
-               ULONG   Reserved[16];
-       } ProtocolSpecificReserved;
-} FILE_REMOTE_PROTOCOL_INFO,*PFILE_REMOTE_PROTOCOL_INFO,*LPFILE_REMOTE_PROTOCOL_INFO;
-#endif /* (_WIN32_WINNT >= 0x0600) */
+
 typedef struct _DCB {
        DWORD DCBlength;
        DWORD BaudRate;
@@ -967,16 +841,20 @@ typedef struct _WIN32_FIND_DATAA {
        FILETIME ftLastWriteTime;
        DWORD nFileSizeHigh;
        DWORD nFileSizeLow;
+
 #ifdef _WIN32_WCE
-    DWORD dwOID; 
+    DWORD dwOID;
 #else
        DWORD dwReserved0;
        DWORD dwReserved1;
 #endif
+
        CHAR cFileName[MAX_PATH];
+
 #ifndef _WIN32_WCE
        CHAR cAlternateFileName[14];
 #endif
+
 } WIN32_FIND_DATAA,*PWIN32_FIND_DATAA,*LPWIN32_FIND_DATAA;
 typedef struct _WIN32_FIND_DATAW {
        DWORD dwFileAttributes;
@@ -985,16 +863,20 @@ typedef struct _WIN32_FIND_DATAW {
        FILETIME ftLastWriteTime;
        DWORD nFileSizeHigh;
        DWORD nFileSizeLow;
+
 #ifdef _WIN32_WCE
-    DWORD dwOID; 
+    DWORD dwOID;
 #else
        DWORD dwReserved0;
        DWORD dwReserved1;
 #endif
+
        WCHAR cFileName[MAX_PATH];
+
 #ifndef _WIN32_WCE
        WCHAR cAlternateFileName[14];
 #endif
+
 } WIN32_FIND_DATAW,*PWIN32_FIND_DATAW,*LPWIN32_FIND_DATAW;
 typedef struct _WIN32_STREAM_ID {
        DWORD dwStreamId;
@@ -1076,19 +958,7 @@ typedef struct _MEMORYSTATUS {
        DWORD dwTotalVirtual;
        DWORD dwAvailVirtual;
 } MEMORYSTATUS,*LPMEMORYSTATUS;
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct _MEMORYSTATUSEX {
-       DWORD dwLength;
-       DWORD dwMemoryLoad;
-       DWORDLONG ullTotalPhys;
-       DWORDLONG ullAvailPhys;
-       DWORDLONG ullTotalPageFile;
-       DWORDLONG ullAvailPageFile;
-       DWORDLONG ullTotalVirtual;
-       DWORDLONG ullAvailVirtual;
-       DWORDLONG ullAvailExtendedVirtual;
-} MEMORYSTATUSEX,*LPMEMORYSTATUSEX;
-#endif
+
 typedef struct _LDT_ENTRY {
        WORD LimitLow;
        WORD BaseLow;
@@ -1146,130 +1016,38 @@ typedef struct _WIN_CERTIFICATE {
       WORD wCertificateType;
       BYTE bCertificate[1];
 } WIN_CERTIFICATE, *LPWIN_CERTIFICATE;
-#if (_WIN32_WINNT >= 0x0501)
-typedef struct tagACTCTXA {
-       ULONG cbSize;
-       DWORD dwFlags;
-       LPCSTR lpSource;
-       USHORT wProcessorArchitecture;
-       LANGID wLangId;
-       LPCSTR lpAssemblyDirectory;
-       LPCSTR lpResourceName;
-       LPCSTR lpApplicationName;
-       HMODULE hModule;
-} ACTCTXA,*PACTCTXA;
-typedef const ACTCTXA *PCACTCTXA;
-typedef struct tagACTCTXW {
-       ULONG cbSize;
-       DWORD dwFlags;
-       LPCWSTR lpSource;
-       USHORT wProcessorArchitecture;
-       LANGID wLangId;
-       LPCWSTR lpAssemblyDirectory;
-       LPCWSTR lpResourceName;
-       LPCWSTR lpApplicationName;
-       HMODULE hModule;
-} ACTCTXW,*PACTCTXW;
-typedef const ACTCTXW *PCACTCTXW;
-typedef struct tagACTCTX_SECTION_KEYED_DATA {
-       ULONG cbSize;
-       ULONG ulDataFormatVersion;
-       PVOID lpData;
-       ULONG ulLength;
-       PVOID lpSectionGlobalData;
-       ULONG ulSectionGlobalDataLength;
-       PVOID lpSectionBase;
-       ULONG ulSectionTotalLength;
-       HANDLE hActCtx;
-       HANDLE ulAssemblyRosterIndex;
-} ACTCTX_SECTION_KEYED_DATA,*PACTCTX_SECTION_KEYED_DATA;
-typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
-typedef enum {
-       LowMemoryResourceNotification ,
-       HighMemoryResourceNotification
-} MEMORY_RESOURCE_NOTIFICATION_TYPE;
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-typedef enum _COMPUTER_NAME_FORMAT {
-       ComputerNameNetBIOS, 
-       ComputerNameDnsHostname, 
-       ComputerNameDnsDomain, 
-       ComputerNameDnsFullyQualified, 
-       ComputerNamePhysicalNetBIOS, 
-       ComputerNamePhysicalDnsHostname, 
-       ComputerNamePhysicalDnsDomain, 
-       ComputerNamePhysicalDnsFullyQualified, 
-       ComputerNameMax
-} COMPUTER_NAME_FORMAT;
-#endif
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-typedef DWORD EXECUTION_STATE;
-#endif
-#if (_WIN32_WINNT >= 0x0600)
-typedef enum _DEP_SYSTEM_POLICY_TYPE {
-       AlwaysOn,
-       AlwaysOff,
-       OptIn,
-       OptOut 
-} DEP_SYSTEM_POLICY_TYPE;
-/* http://msdn.microsoft.com/en-us/library/aa364228%28v=VS.85%29.aspx */
-typedef enum _FILE_INFO_BY_HANDLE_CLASS {
-  FileBasicInfo,
-  FileStandardInfo,
-  FileNameInfo,
-  FileRenameInfo,
-  FileDispositionInfo,
-  FileAllocationInfo,
-  FileEndOfFileInfo,
-  FileStreamInfo,
-  FileCompressionInfo,
-  FileAttributeTagInfo,
-  FileIdBothDirectoryInfo,
-  FileIdBothDirectoryRestartInfo,
-  FileIoPriorityHintInfo,
-  FileRemoteProtocolInfo,
-  MaximumFileInfoByHandlesClass
-} FILE_INFO_BY_HANDLE_CLASS,*PFILE_INFO_BY_HANDLE_CLASS;
-#endif
 
 typedef DWORD(WINAPI *LPPROGRESS_ROUTINE)(LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,DWORD,DWORD,HANDLE,HANDLE,LPVOID);
 typedef void(WINAPI *LPFIBER_START_ROUTINE)(PVOID);
 typedef BOOL(CALLBACK *ENUMRESLANGPROCA)(HMODULE,LPCSTR,LPCSTR,WORD,LONG);
 typedef BOOL(CALLBACK *ENUMRESLANGPROCW)(HMODULE,LPCWSTR,LPCWSTR,WORD,LONG);
-#ifdef UNICODE
-#define ENUMRESLANGPROC ENUMRESLANGPROCW
-#else
-#define ENUMRESLANGPROC ENUMRESLANGPROCA
-#endif
+#define ENUMRESLANGPROC __AW(ENUMRESLANGPROC)
+
 typedef BOOL(CALLBACK *ENUMRESNAMEPROCA)(HMODULE,LPCSTR,LPSTR,LONG);
 typedef BOOL(CALLBACK *ENUMRESNAMEPROCW)(HMODULE,LPCWSTR,LPWSTR,LONG);
-#ifdef UNICODE
-#define ENUMRESNAMEPROC ENUMRESNAMEPROCW
-#else
-#define ENUMRESNAMEPROC ENUMRESNAMEPROCA
-#endif
+
+#define ENUMRESNAMEPROC __AW(ENUMRESNAMEPROC)
+
 typedef BOOL(CALLBACK *ENUMRESTYPEPROCA)(HMODULE,LPSTR,LONG);
 typedef BOOL(CALLBACK *ENUMRESTYPEPROCW)(HMODULE,LPWSTR,LONG);
-#ifdef UNICODE
-#define ENUMRESTYPEPROC ENUMRESTYPEPROCW
-#else
-#define ENUMRESTYPEPROC ENUMRESTYPEPROCA
-#endif
+
+#define ENUMRESTYPEPROC __AW(ENUMRESTYPEPROC)
+
 typedef void(CALLBACK *LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD,DWORD,LPOVERLAPPED);
 typedef LONG(CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(LPEXCEPTION_POINTERS);
 typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
 typedef void(APIENTRY *PAPCFUNC)(ULONG_PTR);
 typedef void(CALLBACK *PTIMERAPCROUTINE)(PVOID,DWORD,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-typedef void(CALLBACK *WAITORTIMERCALLBACK)(PVOID,BOOLEAN);   
-#endif
+
 #define MAKEINTATOM(i) (LPTSTR)((DWORD)((WORD)(i)))
 /* Functions */
+
 #ifndef UNDER_CE
 int APIENTRY WinMain(HINSTANCE,HINSTANCE,LPSTR,int);
 #else
 int APIENTRY WinMain(HINSTANCE,HINSTANCE,LPWSTR,int);
 #endif
+
 int APIENTRY wWinMain(HINSTANCE,HINSTANCE,LPWSTR,int);
 WINBASEAPI long WINAPI _hread(HFILE,LPVOID,long);
 WINBASEAPI long WINAPI _hwrite(HFILE,LPCSTR,long);
@@ -1283,25 +1061,15 @@ WINBASEAPI UINT WINAPI _lwrite(HFILE,LPCSTR,UINT);
 WINBASEAPI BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,PDWORD,PDWORD,PBOOL);
 WINBASEAPI BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL);
 WINBASEAPI BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI ActivateActCtx(HANDLE,ULONG_PTR*);
-#endif
+
 WINBASEAPI BOOL WINAPI AddAccessAllowedAce(PACL,DWORD,DWORD,PSID);
 WINBASEAPI BOOL WINAPI AddAccessDeniedAce(PACL,DWORD,DWORD,PSID);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI AddAccessAllowedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
-WINBASEAPI BOOL WINAPI AddAccessDeniedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
-#endif
+
 WINBASEAPI BOOL WINAPI AddAce(PACL,DWORD,DWORD,PVOID,DWORD);
 WINBASEAPI ATOM WINAPI AddAtomA(LPCSTR);
 WINBASEAPI ATOM WINAPI AddAtomW(LPCWSTR);
 WINBASEAPI BOOL WINAPI AddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI void WINAPI AddRefActCtx(HANDLE);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI PVOID WINAPI AddVectoredExceptionHandler(ULONG,PVECTORED_EXCEPTION_HANDLER);
-#endif
+
 WINBASEAPI BOOL WINAPI AdjustTokenGroups(HANDLE,BOOL,PTOKEN_GROUPS,DWORD,PTOKEN_GROUPS,PDWORD);
 WINBASEAPI BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD);
 WINBASEAPI BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID*);
@@ -1326,17 +1094,7 @@ WINBASEAPI BOOL WINAPI CallNamedPipeW(LPCWSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWO
 WINBASEAPI BOOL WINAPI CancelDeviceWakeupRequest(HANDLE);
 WINBASEAPI BOOL WINAPI CancelIo(HANDLE);
 WINBASEAPI BOOL WINAPI CancelWaitableTimer(HANDLE);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI ChangeTimerQueueTimer(HANDLE,HANDLE,ULONG,ULONG);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3A(LPCSTR,LPSTR,DWORD,PBOOL,PBOOL);
-WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3W(LPCWSTR,LPSTR,DWORD,PBOOL,PBOOL);
-WINBASEAPI BOOL WINAPI CheckRemoteDebuggerPresent(HANDLE,PBOOL);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI CheckTokenMembership(HANDLE,PSID,PBOOL);
-#endif
+
 WINBASEAPI BOOL WINAPI ClearCommBreak(HANDLE);
 WINBASEAPI BOOL WINAPI ClearCommError(HANDLE,PDWORD,LPCOMSTAT);
 WINBASEAPI BOOL WINAPI ClearEventLogA(HANDLE,LPCSTR);
@@ -1348,9 +1106,8 @@ WINBASEAPI BOOL WINAPI CommConfigDialogW(LPCWSTR,HWND,LPCOMMCONFIG);
 WINBASEAPI LONG WINAPI CompareFileTime(CONST FILETIME*,CONST FILETIME*);
 WINBASEAPI BOOL WINAPI ConnectNamedPipe(HANDLE,LPOVERLAPPED);
 WINBASEAPI BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD);
-#if (_WIN32_WINNT >= 0x0400)
 WINBASEAPI BOOL WINAPI ConvertFiberToThread(void);
-#endif
+
 WINBASEAPI PVOID WINAPI ConvertThreadToFiber(PVOID);
 WINBASEAPI BOOL WINAPI CopyFileA(LPCSTR,LPCSTR,BOOL);
 WINBASEAPI BOOL WINAPI CopyFileW(LPCWSTR,LPCWSTR,BOOL);
@@ -1365,10 +1122,7 @@ WINBASEAPI BOOL WINAPI CopyFileExW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,LPB
 #define FillMemory RtlFillMemory
 #define ZeroMemory RtlZeroMemory
 WINBASEAPI BOOL WINAPI CopySid(DWORD,PSID,PSID);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI HANDLE WINAPI CreateActCtxA(PCACTCTXA);
-WINBASEAPI HANDLE WINAPI CreateActCtxW(PCACTCTXW);
-#endif
+
 WINBASEAPI BOOL WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
 WINBASEAPI BOOL WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES);
 WINBASEAPI BOOL WINAPI CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
@@ -1376,31 +1130,18 @@ WINBASEAPI BOOL WINAPI CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES)
 WINBASEAPI HANDLE WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
 WINBASEAPI HANDLE WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR);
 WINBASEAPI LPVOID WINAPI CreateFiber(SIZE_T,LPFIBER_START_ROUTINE,LPVOID);
-#if (_WIN32_WINNT >= 0x0400)
 WINBASEAPI LPVOID WINAPI CreateFiberEx(SIZE_T,SIZE_T,DWORD,LPFIBER_START_ROUTINE,LPVOID);
-#endif
+
 WINBASEAPI HANDLE WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
 WINBASEAPI HANDLE WINAPI CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
 WINBASEAPI HANDLE WINAPI CreateFileMappingA(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCSTR);
 WINBASEAPI HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI CreateHardLinkA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
-WINBASEAPI BOOL WINAPI CreateHardLinkW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
-#endif
+
 WINBASEAPI HANDLE WINAPI CreateIoCompletionPort(HANDLE,HANDLE,ULONG_PTR,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI HANDLE WINAPI CreateJobObjectA(LPSECURITY_ATTRIBUTES,LPCSTR);
-WINBASEAPI HANDLE WINAPI CreateJobObjectW(LPSECURITY_ATTRIBUTES,LPCWSTR);
-WINBASEAPI BOOL WINAPI TerminateJobObject(HANDLE,UINT);
-WINBASEAPI BOOL WINAPI AssignProcessToJobObject(HANDLE,HANDLE);
-WINBASEAPI BOOL WINAPI SetInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD);
-WINBASEAPI BOOL WINAPI QueryInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD, LPDWORD);
-#endif
+
 WINBASEAPI HANDLE WINAPI CreateMailslotA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
 WINBASEAPI HANDLE WINAPI CreateMailslotW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI HANDLE WINAPI CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE);
-#endif
+
 WINBASEAPI HANDLE WINAPI CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
 WINBASEAPI HANDLE WINAPI CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
 WINBASEAPI HANDLE WINAPI CreateNamedPipeA(LPCSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
@@ -1411,48 +1152,22 @@ WINBASEAPI BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECUR
 WINBASEAPI BOOL WINAPI CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
 WINBASEAPI BOOL WINAPI CreateProcessAsUserA(HANDLE,LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
 WINBASEAPI BOOL WINAPI CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI CreateProcessWithLogonW (LPCWSTR,LPCWSTR,LPCWSTR,DWORD,
-                                               LPCWSTR,LPWSTR,DWORD,LPVOID,
-                                               LPCWSTR,LPSTARTUPINFOW,
-                                               LPPROCESS_INFORMATION);
-#define LOGON_WITH_PROFILE 0x00000001
-#define LOGON_NETCREDENTIALS_ONLY 0x00000002
-#endif
+
 WINBASEAPI HANDLE WINAPI CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI CreateRestrictedToken(HANDLE,DWORD,DWORD,PSID_AND_ATTRIBUTES,DWORD,PLUID_AND_ATTRIBUTES,DWORD,PSID_AND_ATTRIBUTES,PHANDLE);
-#define DISABLE_MAX_PRIVILEGE 1
-#define SANDBOX_INERT 2
-#define LUA_TOKEN 4
-#define WRITE_RESTRICTED 8
-#endif
+
 WINBASEAPI HANDLE WINAPI CreateSemaphoreA(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
 WINBASEAPI HANDLE WINAPI CreateSemaphoreW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0600)
-WINBASEAPI BOOL WINAPI CreateSymbolicLinkA(LPCSTR,LPCSTR,DWORD);
-WINBASEAPI BOOL WINAPI CreateSymbolicLinkW(LPCWSTR,LPCWSTR,DWORD);
-#endif
+
 WINBASEAPI DWORD WINAPI CreateTapePartition(HANDLE,DWORD,DWORD,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI HANDLE WINAPI CreateTimerQueue(void);
-WINBASEAPI BOOL WINAPI CreateTimerQueueTimer(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,DWORD,DWORD,ULONG);
-#endif
+
 WINBASEAPI HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,PVOID,DWORD,PDWORD);
 WINBASEAPI HANDLE WINAPI CreateWaitableTimerA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
 WINBASEAPI HANDLE WINAPI CreateWaitableTimerW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI DeactivateActCtx(DWORD,ULONG_PTR);
-#endif
+
 WINBASEAPI BOOL WINAPI DebugActiveProcess(DWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI DebugActiveProcessStop(DWORD);
-#endif
 WINBASEAPI void WINAPI DebugBreak(void);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI DebugBreakProcess(HANDLE);
-WINBASEAPI BOOL WINAPI DebugSetProcessKillOnExit(BOOL);
-#endif
+
+
 WINBASEAPI BOOL WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR);
 WINBASEAPI BOOL WINAPI DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR);
 #define DefineHandleTable(w) ((w),TRUE)
@@ -1462,21 +1177,12 @@ WINBASEAPI void WINAPI DeleteCriticalSection(PCRITICAL_SECTION);
 WINBASEAPI void WINAPI DeleteFiber(PVOID);
 WINBASEAPI BOOL WINAPI DeleteFileA(LPCSTR);
 WINBASEAPI BOOL WINAPI DeleteFileW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI DeleteTimerQueue(HANDLE);
-WINBASEAPI BOOL WINAPI DeleteTimerQueueEx(HANDLE,HANDLE);
-WINBASEAPI BOOL WINAPI DeleteTimerQueueTimer(HANDLE,HANDLE,HANDLE);
-WINBASEAPI BOOL WINAPI DeleteVolumeMountPointA(LPCSTR);
-WINBASEAPI BOOL WINAPI DeleteVolumeMountPointW(LPCWSTR);
-#endif
+
 WINBASEAPI BOOL WINAPI DeregisterEventSource(HANDLE);
 WINBASEAPI BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*);
 WINBASEAPI BOOL WINAPI DeviceIoControl(HANDLE,DWORD,PVOID,DWORD,PVOID,DWORD,PDWORD,POVERLAPPED);
 WINBASEAPI BOOL WINAPI DisableThreadLibraryCalls(HMODULE);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameA(LPCSTR,LPSTR,LPDWORD);
-WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameW(LPCWSTR,LPWSTR,LPDWORD);
-#endif
+
 WINBASEAPI BOOL WINAPI DisconnectNamedPipe(HANDLE);
 WINBASEAPI BOOL WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
 WINBASEAPI BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,PHANDLE,DWORD,BOOL,DWORD);
@@ -1509,11 +1215,7 @@ WINBASEAPI BOOL WINAPI FileEncryptionStatusW(LPCWSTR,LPDWORD);
 WINBASEAPI BOOL WINAPI FileTimeToDosDateTime(CONST FILETIME *,LPWORD,LPWORD);
 WINBASEAPI BOOL WINAPI FileTimeToLocalFileTime(CONST FILETIME *,LPFILETIME);
 WINBASEAPI BOOL WINAPI FileTimeToSystemTime(CONST FILETIME *,LPSYSTEMTIME);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI FindActCtxSectionGuid(DWORD,const GUID*,ULONG,const GUID*,PACTCTX_SECTION_KEYED_DATA);
-WINBASEAPI BOOL WINAPI FindActCtxSectionStringA(DWORD,const GUID*,ULONG,LPCSTR,PACTCTX_SECTION_KEYED_DATA);
-WINBASEAPI BOOL WINAPI FindActCtxSectionStringW(DWORD,const GUID*,ULONG,LPCWSTR,PACTCTX_SECTION_KEYED_DATA);
-#endif
+
 WINBASEAPI ATOM WINAPI FindAtomA(LPCSTR);
 WINBASEAPI ATOM WINAPI FindAtomW(LPCWSTR);
 WINBASEAPI BOOL WINAPI FindClose(HANDLE);
@@ -1525,31 +1227,16 @@ WINBASEAPI HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
 WINBASEAPI HANDLE WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
 WINBASEAPI HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
 WINBASEAPI BOOL WINAPI FindFirstFreeAce(PACL,PVOID*);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI HANDLE WINAPI FindFirstVolumeA(LPCSTR,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstVolumeW(LPCWSTR,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointA(LPSTR,LPSTR,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointW(LPWSTR,LPWSTR,DWORD);
-#endif
+
 WINBASEAPI BOOL WINAPI FindNextChangeNotification(HANDLE);
 WINBASEAPI BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
 WINBASEAPI BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI FindNextVolumeA(HANDLE,LPCSTR,DWORD);
-WINBASEAPI BOOL WINAPI FindNextVolumeW(HANDLE,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI FindNextVolumeMountPointA(HANDLE,LPSTR,DWORD);
-WINBASEAPI BOOL WINAPI FindNextVolumeMountPointW(HANDLE,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI FindVolumeClose(HANDLE);
-WINBASEAPI BOOL WINAPI FindVolumeMountPointClose(HANDLE);
-#endif
+
 WINBASEAPI HRSRC WINAPI FindResourceA(HMODULE,LPCSTR,LPCSTR);
 WINBASEAPI HRSRC WINAPI FindResourceW(HINSTANCE,LPCWSTR,LPCWSTR);
 WINBASEAPI HRSRC WINAPI FindResourceExA(HINSTANCE,LPCSTR,LPCSTR,WORD);
 WINBASEAPI HRSRC WINAPI FindResourceExW(HINSTANCE,LPCWSTR,LPCWSTR,WORD);
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableA(LPCSTR,LPCSTR,PVOID,DWORD);
-WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableW(LPCWSTR,LPCWSTR,PVOID,DWORD);
-#endif
+
 WINBASEAPI BOOL WINAPI FlushFileBuffers(HANDLE);
 WINBASEAPI BOOL WINAPI FlushInstructionCache(HANDLE,PCVOID,DWORD);
 WINBASEAPI BOOL WINAPI FlushViewOfFile(PCVOID,DWORD);
@@ -1581,13 +1268,7 @@ WINBASEAPI DWORD WINAPI GetCompressedFileSizeA(LPCSTR,PDWORD);
 WINBASEAPI DWORD WINAPI GetCompressedFileSizeW(LPCWSTR,PDWORD);
 WINBASEAPI BOOL WINAPI GetComputerNameA(LPSTR,PDWORD);
 WINBASEAPI BOOL WINAPI GetComputerNameW(LPWSTR,PDWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT,LPSTR,LPDWORD);
-WINBASEAPI BOOL WINAPI GetComputerNameExW(COMPUTER_NAME_FORMAT,LPWSTR,LPDWORD);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetCurrentActCtx(HANDLE*);
-#endif
+
 WINBASEAPI DWORD WINAPI GetCurrentDirectoryA(DWORD,LPSTR);
 WINBASEAPI DWORD WINAPI GetCurrentDirectoryW(DWORD,LPWSTR);
 WINBASEAPI BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA);
@@ -1595,11 +1276,13 @@ WINBASEAPI BOOL WINAPI GetCurrentHwProfileW(LPHW_PROFILE_INFOW);
 WINBASEAPI HANDLE WINAPI GetCurrentProcess(void);
 WINBASEAPI DWORD WINAPI GetCurrentProcessId(void);
 WINBASEAPI HANDLE WINAPI GetCurrentThread(void);
+
 #ifdef _WIN32_WCE
 extern DWORD GetCurrentThreadId(void);
 #else
 WINBASEAPI DWORD WINAPI GetCurrentThreadId(void);
 #endif
+
 #define GetCurrentTime GetTickCount
 WINBASEAPI BOOL WINAPI GetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,PDWORD);
 WINBASEAPI BOOL WINAPI GetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,PDWORD);
@@ -1608,10 +1291,7 @@ WINBASEAPI BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,PDWORD,PDWORD,PDWORD,PDWORD);
 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,PDWORD,PDWORD,PDWORD,PDWORD);
 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI DWORD WINAPI GetDllDirectoryA(DWORD,LPSTR);
-WINBASEAPI DWORD WINAPI GetDllDirectoryW(DWORD,LPWSTR);
-#endif
+
 WINBASEAPI UINT WINAPI GetDriveTypeA(LPCSTR);
 WINBASEAPI UINT WINAPI GetDriveTypeW(LPCWSTR);
 WINBASEAPI LPCH WINAPI GetEnvironmentStrings(void);
@@ -1626,23 +1306,14 @@ WINBASEAPI DWORD WINAPI GetFileAttributesW(LPCWSTR);
 WINBASEAPI BOOL WINAPI GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,PVOID);
 WINBASEAPI BOOL WINAPI GetFileAttributesExW(LPCWSTR,GET_FILEEX_INFO_LEVELS,PVOID);
 WINBASEAPI BOOL WINAPI GetFileInformationByHandle(HANDLE,LPBY_HANDLE_FILE_INFORMATION);
-#if (_WIN32_WINNT >= 0x0600)
-/* http://msdn.microsoft.com/en-us/library/aa364953%28VS.85%29.aspx */
-WINBASEAPI BOOL WINAPI GetFileInformationByHandleEx(HANDLE,FILE_INFO_BY_HANDLE_CLASS,LPVOID,DWORD);
-#endif
+
 WINBASEAPI BOOL WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
 WINBASEAPI BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
 WINBASEAPI DWORD WINAPI GetFileSize(HANDLE,PDWORD);
-#if (_WIN32_WINNT >= 0x0500) 
-WINBASEAPI BOOL WINAPI GetFileSizeEx(HANDLE,PLARGE_INTEGER);
-#endif
+
 WINBASEAPI BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME);
 WINBASEAPI DWORD WINAPI GetFileType(HANDLE);
-#if (_WIN32_WINNT >= 0x0600)
-/* http://msdn.microsoft.com/en-us/library/aa364962%28VS.85%29.aspx */
-WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleA(HANDLE,LPSTR,DWORD,DWORD);
-WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleW(HANDLE,LPWSTR,DWORD,DWORD);
-#endif
+
 #define GetFreeSpace(w) (0x100000L)
 WINBASEAPI DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
 WINBASEAPI DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
@@ -1654,25 +1325,17 @@ WINBASEAPI void WINAPI GetLocalTime(LPSYSTEMTIME);
 WINBASEAPI DWORD WINAPI GetLogicalDrives(void);
 WINBASEAPI DWORD WINAPI GetLogicalDriveStringsA(DWORD,LPSTR);
 WINBASEAPI DWORD WINAPI GetLogicalDriveStringsW(DWORD,LPWSTR);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINBASEAPI DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
-#endif
+
 WINBASEAPI BOOL WINAPI GetMailslotInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD);
 WINBASEAPI DWORD WINAPI GetModuleFileNameA(HINSTANCE,LPSTR,DWORD);
 WINBASEAPI DWORD WINAPI GetModuleFileNameW(HINSTANCE,LPWSTR,DWORD);
 WINBASEAPI HMODULE WINAPI GetModuleHandleA(LPCSTR);
 WINBASEAPI HMODULE WINAPI GetModuleHandleW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetModuleHandleExA(DWORD,LPCSTR,HMODULE*);
-WINBASEAPI BOOL WINAPI GetModuleHandleExW(DWORD,LPCWSTR,HMODULE*);
-#endif
+
 WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateA(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPSTR,DWORD);
 WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateW(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD);
 WINBASEAPI BOOL WINAPI GetNamedPipeInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI VOID WINAPI GetNativeSystemInfo(LPSYSTEM_INFO);
-#endif
+
 WINBASEAPI BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD);
 WINBASEAPI BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD);
 WINBASEAPI BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,PDWORD,BOOL);
@@ -1690,20 +1353,10 @@ WINBASEAPI BOOL WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR
 WINBASEAPI BOOL WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
 WINBASEAPI FARPROC WINAPI GetProcAddress(HINSTANCE,LPCSTR);
 WINBASEAPI BOOL WINAPI GetProcessAffinityMask(HANDLE,PDWORD,PDWORD);
-#if (_WIN32_WINNT >= 0x0601)
-WINBASEAPI BOOL WINAPI GetProcessDEPPolicy (HANDLE, LPDWORD, PBOOL);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetProcessHandleCount(HANDLE,PDWORD);
-#endif
+
 WINBASEAPI HANDLE WINAPI GetProcessHeap(VOID);
 WINBASEAPI DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI DWORD WINAPI GetProcessId(HANDLE);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GetProcessIoCounters(HANDLE,PIO_COUNTERS);
-#endif
+
 WINBASEAPI BOOL WINAPI GetProcessPriorityBoost(HANDLE,PBOOL);
 WINBASEAPI BOOL WINAPI GetProcessShutdownParameters(PDWORD,PDWORD);
 WINBASEAPI BOOL WINAPI GetProcessTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
@@ -1732,30 +1385,16 @@ WINBASEAPI PUCHAR WINAPI GetSidSubAuthorityCount(PSID);
 WINBASEAPI VOID WINAPI GetStartupInfoA(LPSTARTUPINFOA);
 WINBASEAPI VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW);
 WINBASEAPI HANDLE WINAPI GetStdHandle(DWORD);
-#if (_WIN32_WINNT >= 0x0601)
-WINBASEAPI DEP_SYSTEM_POLICY_TYPE WINAPI GetSystemDEPPolicy (void);
-#endif
+
 WINBASEAPI UINT WINAPI GetSystemDirectoryA(LPSTR,UINT);
 WINBASEAPI UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT);
 WINBASEAPI VOID WINAPI GetSystemInfo(LPSYSTEM_INFO);
 WINBASEAPI BOOL WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetSystemRegistryQuota(PDWORD,PDWORD);
-#endif
 WINBASEAPI VOID WINAPI GetSystemTime(LPSYSTEMTIME);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetSystemTimes(LPFILETIME,LPFILETIME,LPFILETIME);
-#endif
+
 WINBASEAPI BOOL WINAPI GetSystemTimeAdjustment(PDWORD,PDWORD,PBOOL);
 WINBASEAPI void WINAPI GetSystemTimeAsFileTime(LPFILETIME);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryA(LPSTR,UINT);
-WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryW(LPWSTR,UINT);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI UINT WINAPI GetSystemWow64DirectoryA(LPSTR,UINT);
-WINBASEAPI UINT WINAPI GetSystemWow64DirectoryW(LPWSTR,UINT);
-#endif
+
 WINBASEAPI DWORD WINAPI GetTapeParameters(HANDLE,DWORD,PDWORD,PVOID);
 WINBASEAPI DWORD WINAPI GetTapePosition(HANDLE,DWORD,PDWORD,PDWORD,PDWORD);
 WINBASEAPI DWORD WINAPI GetTapeStatus(HANDLE);
@@ -1764,9 +1403,7 @@ WINBASEAPI UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
 WINBASEAPI DWORD WINAPI GetTempPathA(DWORD,LPSTR);
 WINBASEAPI DWORD WINAPI GetTempPathW(DWORD,LPWSTR);
 WINBASEAPI BOOL WINAPI GetThreadContext(HANDLE,LPCONTEXT);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetThreadIOPendingFlag(HANDLE,PBOOL);
-#endif
+
 WINBASEAPI int WINAPI GetThreadPriority(HANDLE);
 WINBASEAPI BOOL WINAPI GetThreadPriorityBoost(HANDLE,PBOOL);
 WINBASEAPI BOOL WINAPI GetThreadSelectorEntry(HANDLE,DWORD,LPLDT_ENTRY);
@@ -1781,16 +1418,7 @@ WINBASEAPI BOOL WINAPI GetVersionExA(LPOSVERSIONINFOA);
 WINBASEAPI BOOL WINAPI GetVersionExW(LPOSVERSIONINFOW);
 WINBASEAPI BOOL WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,PDWORD,PDWORD,PDWORD,LPSTR,DWORD);
 WINBASEAPI BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointW(LPCWSTR,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetVolumePathNameA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetVolumePathNameW(LPCWSTR,LPWSTR,DWORD);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameA(LPCSTR,LPSTR,DWORD,PDWORD);
-WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameW(LPCWSTR,LPWSTR,DWORD,PDWORD);
-#endif
+
 WINBASEAPI UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT);
 WINBASEAPI UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
 WINBASEAPI DWORD WINAPI GetWindowThreadProcessId(HWND,PDWORD);
@@ -1811,13 +1439,11 @@ WINBASEAPI UINT WINAPI GlobalGetAtomNameW(ATOM,LPWSTR,int);
 WINBASEAPI HGLOBAL WINAPI GlobalHandle(PCVOID);
 WINBASEAPI LPVOID WINAPI GlobalLock(HGLOBAL);
 WINBASEAPI VOID WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
-#endif
+
 WINBASEAPI HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,DWORD,UINT);
 WINBASEAPI DWORD WINAPI GlobalSize(HGLOBAL);
 WINBASEAPI VOID WINAPI GlobalUnfix(HGLOBAL); /* Obsolete: Has no effect. */
-WINBASEAPI BOOL WINAPI GlobalUnlock(HGLOBAL); 
+WINBASEAPI BOOL WINAPI GlobalUnlock(HGLOBAL);
 WINBASEAPI BOOL WINAPI GlobalUnWire(HGLOBAL); /* Obsolete: Has no effect. */
 WINBASEAPI PVOID WINAPI GlobalWire(HGLOBAL); /* Obsolete: Has no effect. */
 #define HasOverlappedIoCompleted(lpOverlapped)  ((lpOverlapped)->Internal != STATUS_PENDING)
@@ -1827,13 +1453,9 @@ WINBASEAPI HANDLE WINAPI HeapCreate(DWORD,DWORD,DWORD);
 WINBASEAPI BOOL WINAPI HeapDestroy(HANDLE);
 WINBASEAPI BOOL WINAPI HeapFree(HANDLE,DWORD,PVOID);
 WINBASEAPI BOOL WINAPI HeapLock(HANDLE);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI HeapQueryInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T,PSIZE_T);
-#endif
+
 WINBASEAPI PVOID WINAPI HeapReAlloc(HANDLE,DWORD,PVOID,DWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI HeapSetInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T);
-#endif
+
 WINBASEAPI DWORD WINAPI HeapSize(HANDLE,DWORD,PCVOID);
 WINBASEAPI BOOL WINAPI HeapUnlock(HANDLE);
 WINBASEAPI BOOL WINAPI HeapValidate(HANDLE,DWORD,PCVOID);
@@ -1849,12 +1471,15 @@ WINBASEAPI DWORD WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD);
 WINBASEAPI BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
 WINBASEAPI BOOL WINAPI InitializeSid (PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
 
+
 #if !(__USE_NTOSKRNL__)
 /* CAREFUL: These are exported from ntoskrnl.exe and declared in winddk.h
    as __fastcall functions, but are  exported from kernel32.dll as __stdcall */
-#if (_WIN32_WINNT >= 0x0501)
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
 WINBASEAPI VOID WINAPI InitializeSListHead(PSLIST_HEADER);
 #endif
+
 #ifndef __INTERLOCKED_DECLARED
 #define __INTERLOCKED_DECLARED
 LONG WINAPI InterlockedCompareExchange(LONG volatile *,LONG,LONG);
@@ -1869,16 +1494,21 @@ LONG WINAPI InterlockedExchange(LONG volatile *,LONG);
 #define InterlockedExchangePointer(t,v) \
     (PVOID)InterlockedExchange((LONG volatile *)(t),(LONG)(v))
 LONG WINAPI InterlockedExchangeAdd(LONG volatile *,LONG);
-#if (_WIN32_WINNT >= 0x0501)
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
 PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER);
 #endif
+
 /* MSDN documents this as __cdecl but it is not. */
 LONG WINAPI InterlockedIncrement(LONG volatile *);
-#if (_WIN32_WINNT >= 0x0501)
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
 PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER);
 PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY);
 #endif
+
 #endif /* __INTERLOCKED_DECLARED */
+
 #endif /*  __USE_NTOSKRNL__ */
 
 WINBASEAPI BOOL WINAPI IsBadCodePtr(FARPROC);
@@ -1889,21 +1519,15 @@ WINBASEAPI BOOL WINAPI IsBadStringPtrA(LPCSTR,UINT);
 WINBASEAPI BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT);
 WINBASEAPI BOOL WINAPI IsBadWritePtr(PVOID,UINT);
 WINBASEAPI BOOL WINAPI IsDebuggerPresent(void);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL IsProcessInJob(HANDLE,HANDLE,PBOOL);
-#endif
+
 WINBASEAPI BOOL WINAPI IsProcessorFeaturePresent(DWORD);
 WINBASEAPI BOOL WINAPI IsSystemResumeAutomatic(void);
 WINBASEAPI BOOL WINAPI IsTextUnicode(PCVOID,int,LPINT);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI IsTokenRestricted(HANDLE);
-#endif
+
 WINBASEAPI BOOL WINAPI IsValidAcl(PACL);
 WINBASEAPI BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
 WINBASEAPI BOOL WINAPI IsValidSid(PSID);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI IsWow64Process(HANDLE,PBOOL);
-#endif
+
 WINBASEAPI void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION);
 #define LimitEmsPages(n)
 WINBASEAPI HINSTANCE WINAPI LoadLibraryA(LPCSTR);
@@ -1962,10 +1586,7 @@ WINBASEAPI BOOL WINAPI MoveFileA(LPCSTR,LPCSTR);
 WINBASEAPI BOOL WINAPI MoveFileExA(LPCSTR,LPCSTR,DWORD);
 WINBASEAPI BOOL WINAPI MoveFileExW(LPCWSTR,LPCWSTR,DWORD);
 WINBASEAPI BOOL WINAPI MoveFileW(LPCWSTR,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI MoveFileWithProgressA(LPCSTR,LPCSTR,LPPROGRESS_ROUTINE,LPVOID,DWORD);
-WINBASEAPI BOOL WINAPI MoveFileWithProgressW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,DWORD);
-#endif
+
 WINBASEAPI int WINAPI MulDiv(int,int,int);
 WINBASEAPI BOOL WINAPI NotifyChangeEventLog(HANDLE,HANDLE);
 WINBASEAPI BOOL WINAPI ObjectCloseAuditAlarmA(LPCSTR,PVOID,BOOL);
@@ -1991,9 +1612,7 @@ WINBASEAPI HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD);
 WINBASEAPI BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
 WINBASEAPI HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR);
 WINBASEAPI HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490)
-WINBASEAPI HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD);
-#endif
+
 WINBASEAPI BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
 WINBASEAPI HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
 WINBASEAPI HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
@@ -2005,25 +1624,17 @@ WINBASEAPI DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL);
 WINBASEAPI BOOL WINAPI PrivilegeCheck (HANDLE,PPRIVILEGE_SET,PBOOL);
 WINBASEAPI BOOL WINAPI PrivilegedServiceAuditAlarmA(LPCSTR,LPCSTR,HANDLE,PPRIVILEGE_SET,BOOL);
 WINBASEAPI BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDLE,PPRIVILEGE_SET,BOOL);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI ProcessIdToSessionId(DWORD,DWORD*);
-#endif
+
 WINBASEAPI BOOL WINAPI PulseEvent(HANDLE);
 WINBASEAPI BOOL WINAPI PurgeComm(HANDLE,DWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI QueryActCtxW(DWORD,HANDLE,PVOID,ULONG,PVOID,SIZE_T,SIZE_T*);
-#endif
+
 WINBASEAPI DWORD WINAPI QueryDosDeviceA(LPCSTR,LPSTR,DWORD);
 WINBASEAPI DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI QueryMemoryResourceNotification(HANDLE,PBOOL);
-#endif
+
 WINBASEAPI BOOL WINAPI QueryPerformanceCounter(PLARGE_INTEGER);
 WINBASEAPI BOOL WINAPI QueryPerformanceFrequency(PLARGE_INTEGER);
 WINBASEAPI DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,ULONG_PTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI QueueUserWorkItem(LPTHREAD_START_ROUTINE,PVOID,ULONG);
-#endif
+
 WINBASEAPI void WINAPI RaiseException(DWORD,DWORD,DWORD,const DWORD*);
 WINBASEAPI BOOL WINAPI ReadDirectoryChangesW(HANDLE,PVOID,DWORD,BOOL,DWORD,PDWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
 WINBASEAPI BOOL WINAPI ReadEventLogA(HANDLE,DWORD,DWORD,PVOID,DWORD,DWORD *,DWORD *);
@@ -2034,38 +1645,23 @@ WINBASEAPI BOOL WINAPI ReadFileScatter(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWOR
 WINBASEAPI BOOL WINAPI ReadProcessMemory(HANDLE,PCVOID,PVOID,DWORD,PDWORD);
 WINBASEAPI HANDLE WINAPI RegisterEventSourceA (LPCSTR,LPCSTR);
 WINBASEAPI HANDLE WINAPI RegisterEventSourceW(LPCWSTR,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI RegisterWaitForSingleObject(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
-WINBASEAPI HANDLE WINAPI RegisterWaitForSingleObjectEx(HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI void WINAPI ReleaseActCtx(HANDLE);
-#endif
+
 WINBASEAPI BOOL WINAPI ReleaseMutex(HANDLE);
 WINBASEAPI BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG);
 WINBASEAPI BOOL WINAPI RemoveDirectoryA(LPCSTR);
 WINBASEAPI BOOL WINAPI RemoveDirectoryW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI ULONG WINAPI RemoveVectoredExceptionHandler(PVOID);
-#endif
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI HANDLE WINAPI ReOpenFile(HANDLE,DWORD,DWORD,DWORD);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI ReplaceFileA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPVOID,LPVOID);
-WINBASEAPI BOOL WINAPI ReplaceFileW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPVOID,LPVOID);
-#endif
+
 WINBASEAPI BOOL WINAPI ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR*,PVOID);
 WINBASEAPI BOOL WINAPI ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR*,PVOID);
+
 #ifdef _WIN32_WCE
 extern BOOL ResetEvent(HANDLE);
 #else
 WINBASEAPI BOOL WINAPI ResetEvent(HANDLE);
 #endif
+
 WINBASEAPI UINT WINAPI ResetWriteWatch(LPVOID,SIZE_T);
-#if (_WIN32_WINNT >= 0x0510)
-WINBASEAPI VOID WINAPI RestoreLastError(DWORD);
-#endif
+
 WINBASEAPI DWORD WINAPI ResumeThread(HANDLE);
 WINBASEAPI BOOL WINAPI RevertToSelf(void);
 WINBASEAPI DWORD WINAPI SearchPathA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
@@ -2078,27 +1674,23 @@ WINBASEAPI BOOL WINAPI SetCommState(HANDLE,LPDCB);
 WINBASEAPI BOOL WINAPI SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
 WINBASEAPI BOOL WINAPI SetComputerNameA(LPCSTR);
 WINBASEAPI BOOL WINAPI SetComputerNameW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI SetComputerNameExA(COMPUTER_NAME_FORMAT,LPCSTR);
-WINBASEAPI BOOL WINAPI SetComputerNameExW(COMPUTER_NAME_FORMAT,LPCWSTR);
-#endif
+
 WINBASEAPI BOOL WINAPI SetCurrentDirectoryA(LPCSTR);
 WINBASEAPI BOOL WINAPI SetCurrentDirectoryW(LPCWSTR);
 WINBASEAPI BOOL WINAPI SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD);
 WINBASEAPI BOOL WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD);
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI BOOL WINAPI SetDllDirectoryA(LPCSTR);
-WINBASEAPI BOOL WINAPI SetDllDirectoryW(LPCWSTR);
-#endif
+
 WINBASEAPI BOOL WINAPI SetEndOfFile(HANDLE);
 WINBASEAPI BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR);
 WINBASEAPI BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
 WINBASEAPI UINT WINAPI SetErrorMode(UINT);
+
 #ifdef _WIN32_WCE
 extern BOOL SetEvent(HANDLE);
 #else
 WINBASEAPI BOOL WINAPI SetEvent(HANDLE);
 #endif
+
 WINBASEAPI VOID WINAPI SetFileApisToANSI(void);
 WINBASEAPI VOID WINAPI SetFileApisToOEM(void);
 WINBASEAPI BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
@@ -2107,18 +1699,8 @@ WINBASEAPI DWORD WINAPI SetFilePointer(HANDLE,LONG,PLONG,DWORD);
 WINBASEAPI BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,PLARGE_INTEGER,DWORD);
 WINBASEAPI BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
 WINBASEAPI BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI SetFileShortNameA(HANDLE,LPCSTR);
-WINBASEAPI BOOL WINAPI SetFileShortNameW(HANDLE,LPCWSTR);
-#endif
 WINBASEAPI BOOL WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI SetFileValidData(HANDLE,LONGLONG);
-#endif
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableA(LPCSTR,LPCSTR,PVOID,DWORD);
-WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableW(LPCWSTR,LPCWSTR,PVOID,DWORD);
-#endif
+
 WINBASEAPI UINT WINAPI SetHandleCount(UINT);
 WINBASEAPI BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD);
 WINBASEAPI BOOL WINAPI SetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
@@ -2130,9 +1712,7 @@ WINBASEAPI BOOL WINAPI SetNamedPipeHandleState(HANDLE,PDWORD,PDWORD,PDWORD);
 WINBASEAPI BOOL WINAPI SetPriorityClass(HANDLE,DWORD);
 WINBASEAPI BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR *,PGENERIC_MAPPING,HANDLE);
 WINBASEAPI BOOL WINAPI SetProcessAffinityMask(HANDLE,DWORD);
-#if (_WIN32_WINNT >= 0x0601)
-WINBASEAPI BOOL WINAPI SetProcessDEPPolicy (DWORD);
-#endif
+
 WINBASEAPI BOOL WINAPI SetProcessPriorityBoost(HANDLE,BOOL);
 WINBASEAPI BOOL WINAPI SetProcessShutdownParameters(DWORD,DWORD);
 WINBASEAPI BOOL WINAPI SetProcessWorkingSetSize(HANDLE,SIZE_T,SIZE_T);
@@ -2150,9 +1730,7 @@ WINBASEAPI DWORD WINAPI SetTapeParameters(HANDLE,DWORD,PVOID);
 WINBASEAPI DWORD WINAPI SetTapePosition(HANDLE,DWORD,DWORD,DWORD,DWORD,BOOL);
 WINBASEAPI DWORD WINAPI SetThreadAffinityMask(HANDLE,DWORD);
 WINBASEAPI BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT*);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINBASEAPI EXECUTION_STATE WINAPI SetThreadExecutionState(EXECUTION_STATE);
-#endif
+
 WINBASEAPI DWORD WINAPI SetThreadIdealProcessor(HANDLE,DWORD);
 WINBASEAPI BOOL WINAPI SetThreadPriority(HANDLE,int);
 WINBASEAPI BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL);
@@ -2163,10 +1741,7 @@ WINBASEAPI LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(LPTOP
 WINBASEAPI BOOL WINAPI SetupComm(HANDLE,DWORD,DWORD);
 WINBASEAPI BOOL WINAPI SetVolumeLabelA(LPCSTR,LPCSTR);
 WINBASEAPI BOOL WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI SetVolumeMountPointA(LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI SetVolumeMountPointW(LPCWSTR,LPCWSTR);
-#endif
+
 WINBASEAPI BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,PVOID,BOOL);
 WINBASEAPI DWORD WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL);
 WINBASEAPI DWORD WINAPI SizeofResource(HINSTANCE,HRSRC);
@@ -2176,9 +1751,7 @@ WINBASEAPI DWORD WINAPI SuspendThread(HANDLE);
 WINBASEAPI void WINAPI SwitchToFiber(PVOID);
 WINBASEAPI BOOL WINAPI SwitchToThread(void);
 WINBASEAPI BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
-#if (_WIN32_WINNT >= 0x501)
-WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME);
-#endif
+
 WINBASEAPI BOOL WINAPI SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME);
 WINBASEAPI BOOL WINAPI TerminateProcess(HANDLE,UINT);
 WINBASEAPI BOOL WINAPI TerminateThread(HANDLE,DWORD);
@@ -2195,10 +1768,7 @@ WINBASEAPI BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
 #define UnlockResource(h) (h)
 #define UnlockSegment(w) GlobalUnfix((HANDLE)(w)) /* Obsolete: Has no effect. */
 WINBASEAPI BOOL WINAPI UnmapViewOfFile(LPCVOID);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI UnregisterWait(HANDLE);
-WINBASEAPI BOOL WINAPI UnregisterWaitEx(HANDLE,HANDLE);
-#endif
+
 WINBASEAPI BOOL WINAPI UpdateResourceA(HANDLE,LPCSTR,LPCSTR,WORD,PVOID,DWORD);
 WINBASEAPI BOOL WINAPI UpdateResourceW(HANDLE,LPCWSTR,LPCWSTR,WORD,PVOID,DWORD);
 WINBASEAPI BOOL WINAPI VerifyVersionInfoA(LPOSVERSIONINFOEXA,DWORD,DWORDLONG);
@@ -2238,435 +1808,576 @@ WINBASEAPI BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
 WINBASEAPI BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
 WINBASEAPI DWORD WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL);
 #define Yield()
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI ZombifyActCtx(HANDLE);
+
+typedef __AW(STARTUPINFO) STARTUPINFO,*LPSTARTUPINFO;
+typedef __AW(WIN32_FIND_DATA) WIN32_FIND_DATA,*PWIN32_FIND_DATA,*LPWIN32_FIND_DATA;
+typedef __AW(HW_PROFILE_INFO) HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
+
+#define AccessCheckAndAuditAlarm __AW(AccessCheckAndAuditAlarm)
+#define AddAtom __AW(AddAtom)
+#define BackupEventLog __AW(BackupEventLog)
+#define BeginUpdateResource __AW(BeginUpdateResource)
+#define BuildCommDCB __AW(BuildCommDCB)
+#define BuildCommDCBAndTimeouts __AW(BuildCommDCBAndTimeouts)
+#define CallNamedPipe __AW(CallNamedPipe)
+
+#define ClearEventLog __AW(ClearEventLog)
+#define CommConfigDialog __AW(CommConfigDialog)
+#define CopyFile __AW(CopyFile)
+#define CopyFileEx __AW(CopyFileEx)
+
+#define CreateDirectory __AW(CreateDirectory)
+#define CreateDirectoryEx __AW(CreateDirectoryEx)
+#define CreateEvent __AW(CreateEvent)
+#define CreateFile __AW(CreateFile)
+#define CreateFileMapping __AW(CreateFileMapping)
+
+#define CreateMailslot __AW(CreateMailslot)
+#define CreateMutex __AW(CreateMutex)
+#define CreateNamedPipe __AW(CreateNamedPipe)
+#define CreateProcess __AW(CreateProcess)
+#define CreateProcessAsUser __AW(CreateProcessAsUser)
+#define CreateSemaphore __AW(CreateSemaphore)
+
+#define CreateWaitableTimer __AW(CreateWaitableTimer)
+#define DefineDosDevice __AW(DefineDosDevice)
+#define DeleteFile __AW(DeleteFile)
+
+#define EncryptFile __AW(EncryptFile)
+#define EndUpdateResource __AW(EndUpdateResource)
+#define EnumResourceLanguages __AW(EnumResourceLanguages)
+#define EnumResourceNames __AW(EnumResourceNames)
+#define EnumResourceTypes __AW(EnumResourceTypes)
+#define ExpandEnvironmentStrings __AW(ExpandEnvironmentStrings)
+#define FatalAppExit __AW(FatalAppExit)
+#define FileEncryptionStatus __AW(FileEncryptionStatus)
+
+#define FindAtom __AW(FindAtom)
+#define FindFirstChangeNotification __AW(FindFirstChangeNotification)
+#define FindFirstFile __AW(FindFirstFile)
+#define FindFirstFileEx __AW(FindFirstFileEx)
+
+#define FindNextFile __AW(FindNextFile)
+
+#define FindResource __AW(FindResource)
+#define FindResourceEx __AW(FindResourceEx)
+#define FormatMessage __AW(FormatMessage)
+#define FreeEnvironmentStrings __AW(FreeEnvironmentStrings)
+#define GetAtomName __AW(GetAtomName)
+#define GetBinaryType __AW(GetBinaryType)
+#define GetCommandLine __AW(GetCommandLine)
+#define GetCompressedFileSize __AW(GetCompressedFileSize)
+#define GetComputerName __AW(GetComputerName)
+
+#define GetCurrentDirectory __AW(GetCurrentDirectory)
+#define GetDefaultCommConfig __AW(GetDefaultCommConfig)
+#define GetDiskFreeSpace __AW(GetDiskFreeSpace)
+#define GetDiskFreeSpaceEx __AW(GetDiskFreeSpaceEx)
+
+#define GetDriveType __AW(GetDriveType)
+#define GetEnvironmentStrings __AW(GetEnvironmentStrings)
+#define GetEnvironmentVariable __AW(GetEnvironmentVariable)
+#define GetFileAttributes __AW(GetFileAttributes)
+#define GetFileSecurity __AW(GetFileSecurity)
+#define GetFileAttributesEx __AW(GetFileAttributesEx)
+
+#define GetFullPathName __AW(GetFullPathName)
+#define GetLogicalDriveStrings __AW(GetLogicalDriveStrings)
+
+#define GetModuleFileName __AW(GetModuleFileName)
+#define GetModuleHandle __AW(GetModuleHandle)
+
+#define GetNamedPipeHandleState __AW(GetNamedPipeHandleState)
+#define GetPrivateProfileInt __AW(GetPrivateProfileInt)
+#define GetPrivateProfileSection __AW(GetPrivateProfileSection)
+#define GetPrivateProfileSectionNames __AW(GetPrivateProfileSectionNames)
+#define GetPrivateProfileString __AW(GetPrivateProfileString)
+#define GetPrivateProfileStruct __AW(GetPrivateProfileStruct)
+#define GetProfileInt __AW(GetProfileInt)
+#define GetProfileSection __AW(GetProfileSection)
+#define GetProfileString __AW(GetProfileString)
+#define GetShortPathName __AW(GetShortPathName)
+#define GetStartupInfo __AW(GetStartupInfo)
+#define GetSystemDirectory __AW(GetSystemDirectory)
+
+#define GetTempFileName __AW(GetTempFileName)
+#define GetTempPath __AW(GetTempPath)
+#define GetUserName __AW(GetUserName)
+#define GetVersionEx __AW(GetVersionEx)
+#define GetVolumeInformation __AW(GetVolumeInformation)
+#define GetVolumeNameForVolumeMountPoint __AW(GetVolumeNameForVolumeMountPoint)
+#define GetWindowsDirectory __AW(GetWindowsDirectory)
+#define GlobalAddAtom __AW(GlobalAddAtom)
+#define GlobalFindAtom __AW(GlobalFindAtom)
+#define GlobalGetAtomName __AW(GlobalGetAtomName)
+#define IsBadStringPtr __AW(IsBadStringPtr)
+#define LoadLibrary __AW(LoadLibrary)
+#define LoadLibraryEx __AW(LoadLibraryEx)
+#define LogonUser __AW(LogonUser)
+#define LookupAccountName __AW(LookupAccountName)
+#define LookupAccountSid __AW(LookupAccountSid)
+#define LookupPrivilegeDisplayName __AW(LookupPrivilegeDisplayName)
+#define LookupPrivilegeName __AW(LookupPrivilegeName)
+#define LookupPrivilegeValue __AW(LookupPrivilegeValue)
+#define lstrcat __AW(lstrcat)
+#define lstrcmp __AW(lstrcmp)
+#define lstrcmpi __AW(lstrcmpi)
+#define lstrcpy __AW(lstrcpy)
+#define lstrcpyn __AW(lstrcpyn)
+#define lstrlen __AW(lstrlen)
+#define MoveFile __AW(MoveFile)
+#define MoveFileEx __AW(MoveFileEx)
+
+#define ObjectCloseAuditAlarm __AW(ObjectCloseAuditAlarm)
+#define ObjectDeleteAuditAlarm __AW(ObjectDeleteAuditAlarm)
+#define ObjectOpenAuditAlarm __AW(ObjectOpenAuditAlarm)
+#define ObjectPrivilegeAuditAlarm __AW(ObjectPrivilegeAuditAlarm)
+#define OpenBackupEventLog __AW(OpenBackupEventLog)
+#define OpenEvent __AW(OpenEvent)
+#define OpenEventLog __AW(OpenEventLog)
+#define OpenFileMapping __AW(OpenFileMapping)
+#define OpenMutex __AW(OpenMutex)
+#define OpenSemaphore __AW(OpenSemaphore)
+#define OutputDebugString __AW(OutputDebugString)
+#define PrivilegedServiceAuditAlarm __AW(PrivilegedServiceAuditAlarm)
+#define QueryDosDevice __AW(QueryDosDevice)
+#define ReadEventLog __AW(ReadEventLog)
+#define RegisterEventSource __AW(RegisterEventSource)
+#define RemoveDirectory __AW(RemoveDirectory)
+
+#define ReportEvent __AW(ReportEvent)
+#define SearchPath __AW(SearchPath)
+#define SetComputerName __AW(SetComputerName)
+#define SetCurrentDirectory __AW(SetCurrentDirectory)
+#define SetDefaultCommConfig __AW(SetDefaultCommConfig)
+
+#define SetEnvironmentVariable __AW(SetEnvironmentVariable)
+#define SetFileAttributes __AW(SetFileAttributes)
+#define SetFileSecurity __AW(SetFileSecurity)
+
+#define SetVolumeLabel __AW(SetVolumeLabel)
+#define UpdateResource __AW(UpdateResource)
+#define VerifyVersionInfo __AW(VerifyVersionInfo)
+#define WaitNamedPipe __AW(WaitNamedPipe)
+#define WritePrivateProfileSection __AW(WritePrivateProfileSection)
+#define WritePrivateProfileString __AW(WritePrivateProfileString)
+#define WritePrivateProfileStruct __AW(WritePrivateProfileStruct)
+#define WriteProfileSection __AW(WriteProfileSection)
+#define WriteProfileString __AW(WriteProfileString)
+
+#endif /* ! RC_DEFINED */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN98)
+WINBASEAPI EXECUTION_STATE WINAPI SetThreadExecutionState(EXECUTION_STATE);
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN98) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINME)
+WINBASEAPI HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD);
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINME) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
+#define DISABLE_MAX_PRIVILEGE 1
+#if (NTDDK_VERSION >= NTDDI_WIN2KSP2)
+#define FILE_FLAG_FIRST_PIPE_INSTANCE  524288
 #endif
-#if (_WIN32_WINNT >= 0x0500)
+#define LOGON_WITH_PROFILE 0x00000001
+#define LOGON_NETCREDENTIALS_ONLY 0x00000002
+#define LOGON32_PROVIDER_WINNT50       3
+#define LOGON32_LOGON_NETWORK_CLEARTEXT        8
+#define LOGON32_LOGON_NEW_CREDENTIALS  9
+#define LUA_TOKEN 4
+#define REPLACEFILE_WRITE_THROUGH 0x00000001
+#define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
+#define SANDBOX_INERT 2
+#define WRITE_RESTRICTED 8
+
+#ifndef RC_INVOKED
+typedef struct _MEMORYSTATUSEX {
+       DWORD dwLength;
+       DWORD dwMemoryLoad;
+       DWORDLONG ullTotalPhys;
+       DWORDLONG ullAvailPhys;
+       DWORDLONG ullTotalPageFile;
+       DWORDLONG ullAvailPageFile;
+       DWORDLONG ullTotalVirtual;
+       DWORDLONG ullAvailVirtual;
+       DWORDLONG ullAvailExtendedVirtual;
+} MEMORYSTATUSEX,*LPMEMORYSTATUSEX;
+typedef enum _COMPUTER_NAME_FORMAT {
+       ComputerNameNetBIOS,
+       ComputerNameDnsHostname,
+       ComputerNameDnsDomain,
+       ComputerNameDnsFullyQualified,
+       ComputerNamePhysicalNetBIOS,
+       ComputerNamePhysicalDnsHostname,
+       ComputerNamePhysicalDnsDomain,
+       ComputerNamePhysicalDnsFullyQualified,
+       ComputerNameMax
+} COMPUTER_NAME_FORMAT;
+typedef DWORD EXECUTION_STATE, *PEXECUTION_STATE;
+typedef void(CALLBACK *WAITORTIMERCALLBACK)(PVOID,BOOLEAN);
+WINBASEAPI BOOL WINAPI AddAccessAllowedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
+WINBASEAPI BOOL WINAPI AddAccessDeniedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
+WINBASEAPI PVOID WINAPI AddVectoredExceptionHandler(ULONG,PVECTORED_EXCEPTION_HANDLER);
+WINBASEAPI BOOL WINAPI ChangeTimerQueueTimer(HANDLE,HANDLE,ULONG,ULONG);
+WINBASEAPI BOOL WINAPI CheckTokenMembership(HANDLE,PSID,PBOOL);
+#define CreateHardLink __AW(CreateHardLink)
+WINBASEAPI BOOL WINAPI CreateHardLinkA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
+WINBASEAPI BOOL WINAPI CreateHardLinkW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
+#define CreateJobObject __AW(CreateJobObject)
+WINBASEAPI HANDLE WINAPI CreateJobObjectA(LPSECURITY_ATTRIBUTES,LPCSTR);
+WINBASEAPI HANDLE WINAPI CreateJobObjectW(LPSECURITY_ATTRIBUTES,LPCWSTR);
+WINBASEAPI BOOL WINAPI TerminateJobObject(HANDLE,UINT);
+WINBASEAPI BOOL WINAPI AssignProcessToJobObject(HANDLE,HANDLE);
+WINBASEAPI BOOL WINAPI SetInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD);
+WINBASEAPI BOOL WINAPI QueryInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD, LPDWORD);
+WINBASEAPI BOOL WINAPI CreateProcessWithLogonW (LPCWSTR,LPCWSTR,LPCWSTR,DWORD,
+                                               LPCWSTR,LPWSTR,DWORD,LPVOID,
+                                               LPCWSTR,LPSTARTUPINFOW,
+                                               LPPROCESS_INFORMATION);
+WINBASEAPI BOOL WINAPI CreateRestrictedToken(HANDLE,DWORD,DWORD,PSID_AND_ATTRIBUTES,DWORD,PLUID_AND_ATTRIBUTES,DWORD,PSID_AND_ATTRIBUTES,PHANDLE);
+WINBASEAPI HANDLE WINAPI CreateTimerQueue(void);
+WINBASEAPI BOOL WINAPI CreateTimerQueueTimer(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,DWORD,DWORD,ULONG);
+WINBASEAPI BOOL WINAPI DeleteTimerQueue(HANDLE);
+WINBASEAPI BOOL WINAPI DeleteTimerQueueEx(HANDLE,HANDLE);
+WINBASEAPI BOOL WINAPI DeleteTimerQueueTimer(HANDLE,HANDLE,HANDLE);
+#define DeleteVolumeMountPoint __AW(DeleteVolumeMountPoint)
+WINBASEAPI BOOL WINAPI DeleteVolumeMountPointA(LPCSTR);
+WINBASEAPI BOOL WINAPI DeleteVolumeMountPointW(LPCWSTR);
+#define DnsHostnameToComputerName __AW(DnsHostnameToComputerName)
+WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameA(LPCSTR,LPSTR,LPDWORD);
+WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameW(LPCWSTR,LPWSTR,LPDWORD);
+#define FindFirstVolume __AW(FindFirstVolume)
+WINBASEAPI HANDLE WINAPI FindFirstVolumeA(LPCSTR,DWORD);
+WINBASEAPI HANDLE WINAPI FindFirstVolumeW(LPCWSTR,DWORD);
+#define FindFirstVolumeMountPoint __AW(FindFirstVolumeMountPoint)
+WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointA(LPSTR,LPSTR,DWORD);
+WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointW(LPWSTR,LPWSTR,DWORD);
+#define FindNextVolume __AW(FindNextVolume)
+WINBASEAPI BOOL WINAPI FindNextVolumeA(HANDLE,LPCSTR,DWORD);
+WINBASEAPI BOOL WINAPI FindNextVolumeW(HANDLE,LPWSTR,DWORD);
+#define FindNextVolumeMountPoint  __AW(FindNextVolumeMountPoint)
+WINBASEAPI BOOL WINAPI FindNextVolumeMountPointA(HANDLE,LPSTR,DWORD);
+WINBASEAPI BOOL WINAPI FindNextVolumeMountPointW(HANDLE,LPWSTR,DWORD);
+WINBASEAPI BOOL WINAPI FindVolumeClose(HANDLE);
+WINBASEAPI BOOL WINAPI FindVolumeMountPointClose(HANDLE);
+#define GetComputerNameEx __AW(GetComputerNameEx)
+WINBASEAPI BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT,LPSTR,LPDWORD);
+WINBASEAPI BOOL WINAPI GetComputerNameExW(COMPUTER_NAME_FORMAT,LPWSTR,LPDWORD);
+WINBASEAPI BOOL WINAPI GetFileSizeEx(HANDLE,PLARGE_INTEGER);
+#define GetLongPathName __AW(GetLongPathName)
+WINBASEAPI DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
+WINBASEAPI DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
+WINBASEAPI BOOL WINAPI GetProcessIoCounters(HANDLE,PIO_COUNTERS);
+#define GetSystemWindowsDirectory __AW(GetSystemWindowsDirectory)
+WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryA(LPSTR,UINT);
+WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryW(LPWSTR,UINT);
+WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointA(LPCSTR,LPSTR,DWORD);
+WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointW(LPCWSTR,LPWSTR,DWORD);
+#define GetVolumePathName __AW(GetVolumePathName)
+WINBASEAPI BOOL WINAPI GetVolumePathNameA(LPCSTR,LPSTR,DWORD);
+WINBASEAPI BOOL WINAPI GetVolumePathNameW(LPCWSTR,LPWSTR,DWORD);
+WINBASEAPI BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
+WINBASEAPI BOOL WINAPI IsTokenRestricted(HANDLE);
+#define MoveFileWithProgress __AW(MoveFileWithProgress)
+WINBASEAPI BOOL WINAPI MoveFileWithProgressA(LPCSTR,LPCSTR,LPPROGRESS_ROUTINE,LPVOID,DWORD);
+WINBASEAPI BOOL WINAPI MoveFileWithProgressW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,DWORD);
+WINBASEAPI BOOL WINAPI ProcessIdToSessionId(DWORD,DWORD*);
+WINBASEAPI BOOL WINAPI QueueUserWorkItem(LPTHREAD_START_ROUTINE,PVOID,ULONG);
+WINBASEAPI BOOL WINAPI RegisterWaitForSingleObject(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
+WINBASEAPI HANDLE WINAPI RegisterWaitForSingleObjectEx(HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
+WINBASEAPI ULONG WINAPI RemoveVectoredExceptionHandler(PVOID);
+#define ReplaceFile __AW(ReplaceFile)
+WINBASEAPI BOOL WINAPI ReplaceFileA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPVOID,LPVOID);
+WINBASEAPI BOOL WINAPI ReplaceFileW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPVOID,LPVOID);
+#define SetComputerNameEx _AW(SetComputerNameEx)
+WINBASEAPI BOOL WINAPI SetComputerNameExA(COMPUTER_NAME_FORMAT,LPCSTR);
+WINBASEAPI BOOL WINAPI SetComputerNameExW(COMPUTER_NAME_FORMAT,LPCWSTR);
+#define SetVolumeMountPoint __AW(SetVolumeMountPoint)
+WINBASEAPI BOOL WINAPI SetVolumeMountPointA(LPCSTR,LPCSTR);
+WINBASEAPI BOOL WINAPI SetVolumeMountPointW(LPCWSTR,LPCWSTR);
 WINBASEAPI BOOL WINAPI AllocateUserPhysicalPages(HANDLE,PULONG_PTR,PULONG_PTR);
 WINBASEAPI BOOL WINAPI FreeUserPhysicalPages(HANDLE,PULONG_PTR,PULONG_PTR);
 WINBASEAPI BOOL WINAPI MapUserPhysicalPages(PVOID,ULONG_PTR,PULONG_PTR);
 WINBASEAPI BOOL WINAPI MapUserPhysicalPagesScatter(PVOID*,ULONG_PTR,PULONG_PTR);
-#endif
+#endif /* !RC_INVOKED */
 
-#ifdef UNICODE
-typedef STARTUPINFOW STARTUPINFO,*LPSTARTUPINFO;
-typedef WIN32_FIND_DATAW WIN32_FIND_DATA,*PWIN32_FIND_DATA,*LPWIN32_FIND_DATA;
-typedef HW_PROFILE_INFOW HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
-#if (_WIN32_WINNT >= 0x0501)
-typedef ACTCTXW ACTCTX,*PACTCTX;
-typedef PCACTCTXW PCACTCTX;
-#endif
-#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW
-#define AddAtom AddAtomW
-#define BackupEventLog BackupEventLogW
-#define BeginUpdateResource BeginUpdateResourceW
-#define BuildCommDCB BuildCommDCBW
-#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsW
-#define CallNamedPipe CallNamedPipeW
-#if (_WIN32_WINNT >= 0x0501)
-#define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3W
-#endif
-#define ClearEventLog ClearEventLogW
-#define CommConfigDialog CommConfigDialogW
-#define CopyFile CopyFileW
-#define CopyFileEx CopyFileExW
-#if (_WIN32_WINNT >= 0x0501)
-#define CreateActCtx CreateActCtxW
-#endif
-#define CreateDirectory CreateDirectoryW
-#define CreateDirectoryEx CreateDirectoryExW
-#define CreateEvent CreateEventW
-#define CreateFile CreateFileW
-#define CreateFileMapping CreateFileMappingW
-#if (_WIN32_WINNT >= 0x0500)
-#define CreateHardLink CreateHardLinkW
-#define CreateJobObject CreateJobObjectW
-#endif
-#define CreateMailslot CreateMailslotW
-#define CreateMutex CreateMutexW
-#define CreateNamedPipe CreateNamedPipeW
-#define CreateProcess CreateProcessW
-#define CreateProcessAsUser CreateProcessAsUserW
-#define CreateSemaphore CreateSemaphoreW
-#if (_WIN32_WINNT >= 0x0600)
-#define CreateSymbolicLink CreateSymbolicLinkW
-#endif
-#define CreateWaitableTimer CreateWaitableTimerW
-#define DefineDosDevice DefineDosDeviceW
-#define DeleteFile DeleteFileW
-#if (_WIN32_WINNT >= 0x0500)
-#define DeleteVolumeMountPoint DeleteVolumeMountPointW
-#define DnsHostnameToComputerName DnsHostnameToComputerNameW
-#endif
-#define EncryptFile EncryptFileW
-#define EndUpdateResource EndUpdateResourceW
-#define EnumResourceLanguages EnumResourceLanguagesW
-#define EnumResourceNames EnumResourceNamesW
-#define EnumResourceTypes EnumResourceTypesW
-#define ExpandEnvironmentStrings ExpandEnvironmentStringsW
-#define FatalAppExit FatalAppExitW
-#define FileEncryptionStatus FileEncryptionStatusW
-#if (_WIN32_WINNT >= 0x0501)
-#define FindActCtxSectionString FindActCtxSectionStringW
-#endif
-#define FindAtom FindAtomW
-#define FindFirstChangeNotification FindFirstChangeNotificationW
-#define FindFirstFile FindFirstFileW
-#define FindFirstFileEx FindFirstFileExW
-#if (_WIN32_WINNT >= 0x0500)
-#define FindFirstVolume FindFirstVolumeW
-#define FindFirstVolumeMountPoint FindFirstVolumeMountPointW
-#endif
-#define FindNextFile FindNextFileW
-#if (_WIN32_WINNT >= 0x0500)
-#define FindNextVolume FindNextVolumeW
-#define FindNextVolumeMountPoint  FindNextVolumeMountPointW
-#endif
-#define FindResource FindResourceW
-#define FindResourceEx FindResourceExW
-#define FormatMessage FormatMessageW
-#define FreeEnvironmentStrings FreeEnvironmentStringsW
-#define GetAtomName GetAtomNameW
-#define GetBinaryType GetBinaryTypeW
-#define GetCommandLine GetCommandLineW
-#define GetCompressedFileSize GetCompressedFileSizeW
-#define GetComputerName GetComputerNameW
-#if (_WIN32_WINNT >= 0x0500)
-#define GetComputerNameEx GetComputerNameExW
-#endif
-#define GetCurrentDirectory GetCurrentDirectoryW
-#define GetDefaultCommConfig GetDefaultCommConfigW
-#define GetDiskFreeSpace GetDiskFreeSpaceW
-#define GetDiskFreeSpaceEx GetDiskFreeSpaceExW
-#if (_WIN32_WINNT >= 0x0502)
-#define GetDllDirectory GetDllDirectoryW
-#endif
-#define GetDriveType GetDriveTypeW
-#define GetEnvironmentStrings GetEnvironmentStringsW
-#define GetEnvironmentVariable GetEnvironmentVariableW
-#define GetFileAttributes GetFileAttributesW
-#define GetFileSecurity GetFileSecurityW
-#define GetFileAttributesEx GetFileAttributesExW
-#if (_WIN32_WINNT >= 0x0600)
-#define GetFinalPathNameByHandle GetFinalPathNameByHandleW
-#endif
-#define GetFullPathName GetFullPathNameW
-#define GetLogicalDriveStrings GetLogicalDriveStringsW
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define GetLongPathName GetLongPathNameW
-#endif
-#define GetModuleFileName GetModuleFileNameW
-#define GetModuleHandle GetModuleHandleW
-#if (_WIN32_WINNT >= 0x0501)
-#define GetModuleHandleEx GetModuleHandleExW
-#endif
-#define GetNamedPipeHandleState GetNamedPipeHandleStateW
-#define GetPrivateProfileInt GetPrivateProfileIntW
-#define GetPrivateProfileSection GetPrivateProfileSectionW
-#define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesW
-#define GetPrivateProfileString GetPrivateProfileStringW
-#define GetPrivateProfileStruct GetPrivateProfileStructW
-#define GetProfileInt GetProfileIntW
-#define GetProfileSection GetProfileSectionW
-#define GetProfileString GetProfileStringW
-#define GetShortPathName GetShortPathNameW
-#define GetStartupInfo GetStartupInfoW
-#define GetSystemDirectory GetSystemDirectoryW
-#if (_WIN32_WINNT >= 0x0500)
-#define GetSystemWindowsDirectory GetSystemWindowsDirectoryW
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define GetSystemWow64Directory GetSystemWow64DirectoryW
-#endif
-#define GetTempFileName GetTempFileNameW
-#define GetTempPath GetTempPathW
-#define GetUserName GetUserNameW
-#define GetVersionEx GetVersionExW
-#define GetVolumeInformation GetVolumeInformationW
-#define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointW
-#define GetVolumePathName GetVolumePathNameW
-#define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameW
-#define GetWindowsDirectory GetWindowsDirectoryW
-#define GlobalAddAtom GlobalAddAtomW
-#define GlobalFindAtom GlobalFindAtomW
-#define GlobalGetAtomName GlobalGetAtomNameW
-#define IsBadStringPtr IsBadStringPtrW
-#define LoadLibrary LoadLibraryW
-#define LoadLibraryEx LoadLibraryExW
-#define LogonUser LogonUserW
-#define LookupAccountName LookupAccountNameW
-#define LookupAccountSid LookupAccountSidW
-#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW
-#define LookupPrivilegeName LookupPrivilegeNameW
-#define LookupPrivilegeValue LookupPrivilegeValueW
-#define lstrcat lstrcatW
-#define lstrcmp lstrcmpW
-#define lstrcmpi lstrcmpiW
-#define lstrcpy lstrcpyW
-#define lstrcpyn lstrcpynW
-#define lstrlen lstrlenW
-#define MoveFile MoveFileW
-#define MoveFileEx MoveFileExW
-#if (_WIN32_WINNT >= 0x0500)
-#define MoveFileWithProgress MoveFileWithProgressW
-#endif
-#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW
-#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmW
-#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW
-#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmW
-#define OpenBackupEventLog OpenBackupEventLogW
-#define OpenEvent OpenEventW
-#define OpenEventLog OpenEventLogW
-#define OpenFileMapping OpenFileMappingW
-#define OpenMutex OpenMutexW
-#define OpenSemaphore OpenSemaphoreW
-#define OutputDebugString OutputDebugStringW
-#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmW
-#define QueryDosDevice QueryDosDeviceW
-#define ReadEventLog ReadEventLogW
-#define RegisterEventSource RegisterEventSourceW
-#define RemoveDirectory RemoveDirectoryW
-#if (_WIN32_WINNT >= 0x0500)
-#define ReplaceFile ReplaceFileW
-#endif
-#define ReportEvent ReportEventW
-#define SearchPath SearchPathW
-#define SetComputerName SetComputerNameW
-#define SetCurrentDirectory SetCurrentDirectoryW
-#define SetDefaultCommConfig SetDefaultCommConfigW
-#if (_WIN32_WINNT >= 0x0502)
-#define SetDllDirectory SetDllDirectoryW
-#endif
-#define SetEnvironmentVariable SetEnvironmentVariableW
-#define SetFileAttributes SetFileAttributesW
-#define SetFileSecurity SetFileSecurityW
-#if (_WIN32_WINNT >= 0x0501)
-#define SetFileShortName SetFileShortNameW
-#endif
-#if (_WIN32_WINNT >= 0x0502)
-#define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableW
-#endif
-#define SetVolumeLabel SetVolumeLabelW
-#define SetVolumeMountPoint SetVolumeMountPointW
-#define UpdateResource UpdateResourceW
-#define VerifyVersionInfo VerifyVersionInfoW
-#define WaitNamedPipe WaitNamedPipeW
-#define WritePrivateProfileSection WritePrivateProfileSectionW
-#define WritePrivateProfileString WritePrivateProfileStringW
-#define WritePrivateProfileStruct WritePrivateProfileStructW
-#define WriteProfileSection WriteProfileSectionW
-#define WriteProfileString WriteProfileStringW
-#else
-typedef STARTUPINFOA STARTUPINFO,*LPSTARTUPINFO;
-typedef WIN32_FIND_DATAA WIN32_FIND_DATA,*PWIN32_FIND_DATA,*LPWIN32_FIND_DATA;
-typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
-#if (_WIN32_WINNT >= 0x0501)
-typedef ACTCTXA ACTCTX,*PACTCTX;
-typedef PCACTCTXA PCACTCTX;
-#endif
-#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA
-#define AddAtom AddAtomA
-#define BackupEventLog BackupEventLogA
-#define BeginUpdateResource BeginUpdateResourceA
-#define BuildCommDCB BuildCommDCBA
-#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsA
-#define CallNamedPipe CallNamedPipeA
-#if (_WIN32_WINNT >= 0x0501)
-#define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3A
-#endif
-#define ClearEventLog ClearEventLogA
-#define CommConfigDialog CommConfigDialogA
-#define CopyFile CopyFileA
-#define CopyFileEx CopyFileExA
-#if (_WIN32_WINNT >= 0x0501)
-#define CreateActCtx CreateActCtxA
-#endif
-#define CreateDirectory CreateDirectoryA
-#define CreateDirectoryEx CreateDirectoryExA
-#define CreateEvent CreateEventA
-#define CreateFile CreateFileA
-#define CreateFileMapping CreateFileMappingA
-#if (_WIN32_WINNT >= 0x0500)
-#define CreateHardLink CreateHardLinkA
-#define CreateJobObject CreateJobObjectA
-#endif
-#define CreateMailslot CreateMailslotA
-#define CreateMutex CreateMutexA
-#define CreateNamedPipe CreateNamedPipeA
-#define CreateProcess CreateProcessA
-#define CreateProcessAsUser CreateProcessAsUserA
-#define CreateSemaphore CreateSemaphoreA
-#if (_WIN32_WINNT >= 0x0600)
-#define CreateSymbolicLink CreateSymbolicLinkA
-#endif
-#define CreateWaitableTimer CreateWaitableTimerA
-#define DefineDosDevice DefineDosDeviceA
-#define DeleteFile DeleteFileA
-#if (_WIN32_WINNT >= 0x0500)
-#define DeleteVolumeMountPoint DeleteVolumeMountPointA
-#define DnsHostnameToComputerName DnsHostnameToComputerNameA
-#endif
-#define EncryptFile EncryptFileA
-#define EndUpdateResource EndUpdateResourceA
-#define EnumResourceLanguages EnumResourceLanguagesA
-#define EnumResourceNames EnumResourceNamesA
-#define EnumResourceTypes EnumResourceTypesA
-#define ExpandEnvironmentStrings ExpandEnvironmentStringsA
-#define FatalAppExit FatalAppExitA
-#define FileEncryptionStatus FileEncryptionStatusA
-#if (_WIN32_WINNT >= 0x0501)
-#define FindActCtxSectionString FindActCtxSectionStringA
-#endif
-#define FindAtom FindAtomA
-#define FindFirstChangeNotification FindFirstChangeNotificationA
-#define FindFirstFile FindFirstFileA
-#define FindFirstFileEx FindFirstFileExA
-#if (_WIN32_WINNT >= 0x0500)
-#define FindFirstVolume FindFirstVolumeA
-#define FindFirstVolumeMountPoint FindFirstVolumeMountPointA
-#endif
-#define FindNextFile FindNextFileA
-#if (_WIN32_WINNT >= 0x0500)
-#define FindNextVolume FindNextVolumeA
-#define FindNextVolumeMountPoint FindNextVolumeMountPointA
-#endif
-#define FindResource FindResourceA
-#define FindResourceEx FindResourceExA
-#define FormatMessage FormatMessageA
-#define FreeEnvironmentStrings FreeEnvironmentStringsA
-#define GetAtomName GetAtomNameA
-#define GetBinaryType GetBinaryTypeA
-#define GetCommandLine GetCommandLineA
-#define GetComputerName GetComputerNameA
-#if (_WIN32_WINNT >= 0x0500)
-#define GetComputerNameEx GetComputerNameExA
-#endif
-#define GetCompressedFileSize GetCompressedFileSizeA
-#define GetCurrentDirectory GetCurrentDirectoryA
-#define GetDefaultCommConfig GetDefaultCommConfigA
-#define GetDiskFreeSpace GetDiskFreeSpaceA
-#define GetDiskFreeSpaceEx GetDiskFreeSpaceExA
-#if (_WIN32_WINNT >= 0x0502)
-#define GetDllDirectory GetDllDirectoryA
-#endif
-#define GetDriveType GetDriveTypeA
-#define GetEnvironmentVariable GetEnvironmentVariableA
-#define GetFileAttributes GetFileAttributesA
-#define GetFileSecurity GetFileSecurityA
-#define GetFileAttributesEx GetFileAttributesExA
-#if (_WIN32_WINNT >= 0x0600)
-#define GetFinalPathNameByHandle GetFinalPathNameByHandleA
-#endif
-#define GetFullPathName GetFullPathNameA
-#define GetLogicalDriveStrings GetLogicalDriveStringsA
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define GetLongPathName GetLongPathNameA
-#endif
-#define GetNamedPipeHandleState GetNamedPipeHandleStateA
-#define GetModuleHandle GetModuleHandleA
-#if (_WIN32_WINNT >= 0x0501)
-#define GetModuleHandleEx GetModuleHandleExA
-#endif
-#define GetModuleFileName GetModuleFileNameA
-#define GetPrivateProfileInt GetPrivateProfileIntA
-#define GetPrivateProfileSection GetPrivateProfileSectionA
-#define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesA
-#define GetPrivateProfileString GetPrivateProfileStringA
-#define GetPrivateProfileStruct GetPrivateProfileStructA
-#define GetProfileInt GetProfileIntA
-#define GetProfileSection GetProfileSectionA
-#define GetProfileString GetProfileStringA
-#define GetShortPathName GetShortPathNameA
-#define GetStartupInfo GetStartupInfoA
-#define GetSystemDirectory GetSystemDirectoryA
-#if (_WIN32_WINNT >= 0x0500)
-#define GetSystemWindowsDirectory GetSystemWindowsDirectoryA
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define GetSystemWow64Directory GetSystemWow64DirectoryA
-#endif
-#define GetTempFileName GetTempFileNameA
-#define GetTempPath GetTempPathA
-#define GetUserName GetUserNameA
-#define GetVersionEx GetVersionExA
-#define GetVolumeInformation GetVolumeInformationA
-#define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointA
-#define GetVolumePathName GetVolumePathNameA
-#define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameA
-#define GetWindowsDirectory GetWindowsDirectoryA
-#define GlobalAddAtom GlobalAddAtomA
-#define GlobalFindAtom GlobalFindAtomA
-#define GlobalGetAtomName GlobalGetAtomNameA
-#define IsBadStringPtr IsBadStringPtrA
-#define LoadLibrary LoadLibraryA
-#define LoadLibraryEx LoadLibraryExA
-#define LogonUser LogonUserA
-#define LookupAccountName LookupAccountNameA
-#define LookupAccountSid LookupAccountSidA
-#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA
-#define LookupPrivilegeName LookupPrivilegeNameA
-#define LookupPrivilegeValue LookupPrivilegeValueA
-#define lstrcat lstrcatA
-#define lstrcmp lstrcmpA
-#define lstrcmpi lstrcmpiA
-#define lstrcpy lstrcpyA
-#define lstrcpyn lstrcpynA
-#define lstrlen lstrlenA
-#define MoveFile MoveFileA
-#define MoveFileEx MoveFileExA
-#if (_WIN32_WINNT >= 0x0500)
-#define MoveFileWithProgress MoveFileWithProgressA
-#endif
-#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA
-#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA
-#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA
-#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA
-#define OpenBackupEventLog OpenBackupEventLogA
-#define OpenEvent OpenEventA
-#define OpenEventLog OpenEventLogA
-#define OpenFileMapping OpenFileMappingA
-#define OpenMutex OpenMutexA
-#define OpenSemaphore OpenSemaphoreA
-#define OutputDebugString OutputDebugStringA
-#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA
-#define QueryDosDevice QueryDosDeviceA
-#define ReadEventLog ReadEventLogA
-#define RegisterEventSource RegisterEventSourceA
-#define RemoveDirectory RemoveDirectoryA
-#if (_WIN32_WINNT >= 0x0500)
-#define ReplaceFile ReplaceFileA
-#endif
-#define ReportEvent ReportEventA
-#define SearchPath SearchPathA
-#define SetComputerName SetComputerNameA
-#define SetCurrentDirectory SetCurrentDirectoryA
-#define SetDefaultCommConfig SetDefaultCommConfigA
-#if (_WIN32_WINNT >= 0x0502)
-#define SetDllDirectory SetDllDirectoryA
-#endif
-#define SetEnvironmentVariable SetEnvironmentVariableA
-#define SetFileAttributes SetFileAttributesA
-#define SetFileSecurity SetFileSecurityA
-#if (_WIN32_WINNT >= 0x0501)
-#define SetFileShortName SetFileShortNameA
-#endif
-#if (_WIN32_WINNT >= 0x0502)
-#define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableA
-#endif
-#define SetVolumeLabel SetVolumeLabelA
-#define SetVolumeMountPoint SetVolumeMountPointA
-#define UpdateResource UpdateResourceA
-#define VerifyVersionInfo VerifyVersionInfoA
-#define WaitNamedPipe WaitNamedPipeA
-#define WritePrivateProfileSection WritePrivateProfileSectionA
-#define WritePrivateProfileString WritePrivateProfileStringA
-#define WritePrivateProfileStruct WritePrivateProfileStructA
-#define WriteProfileSection WriteProfileSectionA
-#define WriteProfileString WriteProfileStringA
-#endif
-#endif
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
+#define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x0008
+#define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID 0x00000001
+#define ACTCTX_FLAG_LANGID_VALID 0x00000002
+#define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID 0x00000004
+#define ACTCTX_FLAG_RESOURCE_NAME_VALID 0x00000008
+#define ACTCTX_FLAG_SET_PROCESS_DEFAULT 0x00000010
+#define ACTCTX_FLAG_APPLICATION_NAME_VALID 0x00000020
+#define ACTCTX_FLAG_HMODULE_VALID 0x00000080
+#define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION 0x00000001
+#define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX 0x00000001
+#define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX 0x00000004
+#define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE 0x00000008
+#define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS 0x00000010
+
+#ifndef RC_INVOKED
+typedef struct tagACTCTXA {
+       ULONG cbSize;
+       DWORD dwFlags;
+       LPCSTR lpSource;
+       USHORT wProcessorArchitecture;
+       LANGID wLangId;
+       LPCSTR lpAssemblyDirectory;
+       LPCSTR lpResourceName;
+       LPCSTR lpApplicationName;
+       HMODULE hModule;
+} ACTCTXA,*PACTCTXA;
+typedef const ACTCTXA *PCACTCTXA;
+typedef struct tagACTCTXW {
+       ULONG cbSize;
+       DWORD dwFlags;
+       LPCWSTR lpSource;
+       USHORT wProcessorArchitecture;
+       LANGID wLangId;
+       LPCWSTR lpAssemblyDirectory;
+       LPCWSTR lpResourceName;
+       LPCWSTR lpApplicationName;
+       HMODULE hModule;
+} ACTCTXW,*PACTCTXW;
+typedef const ACTCTXW *PCACTCTXW;
+typedef struct tagACTCTX_SECTION_KEYED_DATA {
+       ULONG cbSize;
+       ULONG ulDataFormatVersion;
+       PVOID lpData;
+       ULONG ulLength;
+       PVOID lpSectionGlobalData;
+       ULONG ulSectionGlobalDataLength;
+       PVOID lpSectionBase;
+       ULONG ulSectionTotalLength;
+       HANDLE hActCtx;
+       HANDLE ulAssemblyRosterIndex;
+} ACTCTX_SECTION_KEYED_DATA,*PACTCTX_SECTION_KEYED_DATA;
+typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
+typedef enum {
+       LowMemoryResourceNotification ,
+       HighMemoryResourceNotification
+} MEMORY_RESOURCE_NOTIFICATION_TYPE;
+WINBASEAPI BOOL WINAPI ActivateActCtx(HANDLE,ULONG_PTR*);
+WINBASEAPI void WINAPI AddRefActCtx(HANDLE);
+#define CheckNameLegalDOS8Dot3 __AW(CheckNameLegalDOS8Dot3)
+WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3A(LPCSTR,LPSTR,DWORD,PBOOL,PBOOL);
+WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3W(LPCWSTR,LPSTR,DWORD,PBOOL,PBOOL);
+WINBASEAPI BOOL WINAPI CheckRemoteDebuggerPresent(HANDLE,PBOOL);
+#define CreateActCtx __AW(CreateActCtx)
+WINBASEAPI HANDLE WINAPI CreateActCtxA(PCACTCTXA);
+WINBASEAPI HANDLE WINAPI CreateActCtxW(PCACTCTXW);
+WINBASEAPI HANDLE WINAPI CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE);
+WINBASEAPI BOOL WINAPI DeactivateActCtx(DWORD,ULONG_PTR);
+WINBASEAPI BOOL WINAPI DebugActiveProcessStop(DWORD);
+WINBASEAPI BOOL WINAPI DebugBreakProcess(HANDLE);
+WINBASEAPI BOOL WINAPI DebugSetProcessKillOnExit(BOOL);
+WINBASEAPI BOOL WINAPI FindActCtxSectionGuid(DWORD,const GUID*,ULONG,const GUID*,PACTCTX_SECTION_KEYED_DATA);
+#define FindActCtxSectionString __AW(FindActCtxSectionString)
+WINBASEAPI BOOL WINAPI FindActCtxSectionStringA(DWORD,const GUID*,ULONG,LPCSTR,PACTCTX_SECTION_KEYED_DATA);
+WINBASEAPI BOOL WINAPI FindActCtxSectionStringW(DWORD,const GUID*,ULONG,LPCWSTR,PACTCTX_SECTION_KEYED_DATA);
+WINBASEAPI BOOL WINAPI GetCurrentActCtx(HANDLE*);
+#define GetModuleHandleEx __AW(GetModuleHandleEx)
+WINBASEAPI BOOL WINAPI GetModuleHandleExA(DWORD,LPCSTR,HMODULE*);
+WINBASEAPI BOOL WINAPI GetModuleHandleExW(DWORD,LPCWSTR,HMODULE*);
+WINBASEAPI VOID WINAPI GetNativeSystemInfo(LPSYSTEM_INFO);
+WINBASEAPI BOOL WINAPI GetProcessDEPPolicy (HANDLE, LPDWORD, PBOOL);
+WINBASEAPI BOOL WINAPI GetProcessHandleCount(HANDLE,PDWORD);
+WINBASEAPI DWORD WINAPI GetProcessId(HANDLE);
+WINBASEAPI BOOL WINAPI GetSystemRegistryQuota(PDWORD,PDWORD);
+WINBASEAPI BOOL WINAPI GetSystemTimes(LPFILETIME,LPFILETIME,LPFILETIME);
+#define GetSystemWow64Directory __AW(GetSystemWow64Directory)
+WINBASEAPI UINT WINAPI GetSystemWow64DirectoryA(LPSTR,UINT);
+WINBASEAPI UINT WINAPI GetSystemWow64DirectoryW(LPWSTR,UINT);
+WINBASEAPI BOOL WINAPI GetThreadIOPendingFlag(HANDLE,PBOOL);
+#define GetVolumePathNamesForVolumeName __AW(GetVolumePathNamesForVolumeName)
+WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameA(LPCSTR,LPSTR,DWORD,PDWORD);
+WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameW(LPCWSTR,LPWSTR,DWORD,PDWORD);
+WINBASEAPI BOOL WINAPI HeapQueryInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T,PSIZE_T);
+WINBASEAPI BOOL WINAPI HeapSetInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T);
+WINBASEAPI BOOL IsProcessInJob(HANDLE,HANDLE,PBOOL);
+WINBASEAPI BOOL WINAPI IsWow64Process(HANDLE,PBOOL);
+WINBASEAPI BOOL WINAPI QueryActCtxW(DWORD,HANDLE,PVOID,ULONG,PVOID,SIZE_T,SIZE_T*);
+WINBASEAPI BOOL WINAPI QueryMemoryResourceNotification(HANDLE,PBOOL);
+WINBASEAPI void WINAPI ReleaseActCtx(HANDLE);
+#define SetFileShortName __AW(SetFileShortName)
+WINBASEAPI BOOL WINAPI SetFileShortNameA(HANDLE,LPCSTR);
+WINBASEAPI BOOL WINAPI SetFileShortNameW(HANDLE,LPCWSTR);
+WINBASEAPI BOOL WINAPI SetFileValidData(HANDLE,LONGLONG);
+WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME);
+WINBASEAPI BOOL WINAPI UnregisterWait(HANDLE);
+WINBASEAPI BOOL WINAPI UnregisterWaitEx(HANDLE,HANDLE);
+WINBASEAPI BOOL WINAPI ZombifyActCtx(HANDLE);
+typedef __AW(ACTCTX) ACTCTX,*PACTCTX;
+typedef __AW(PCACTCTX) PCACTCTX;
+
+#if (NTDDI_VERSION >= NTDDI_WINXPSP1)
+#define GetFirmwareEnvironmentVariable __AW(GetFirmwareEnvironmentVariable)
+WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableA(LPCSTR,LPCSTR,PVOID,DWORD);
+WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableW(LPCWSTR,LPCWSTR,PVOID,DWORD);
+#define GetDllDirectory __AW(GetDllDirectory)
+WINBASEAPI DWORD WINAPI GetDllDirectoryA(DWORD,LPSTR);
+WINBASEAPI DWORD WINAPI GetDllDirectoryW(DWORD,LPWSTR);
+WINBASEAPI VOID WINAPI RestoreLastError(DWORD);
+#define SetDllDirectory __AW(SetDllDirectory)
+WINBASEAPI BOOL WINAPI SetDllDirectoryA(LPCSTR);
+WINBASEAPI BOOL WINAPI SetDllDirectoryW(LPCWSTR);
+WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableA(LPCSTR,LPCSTR,PVOID,DWORD);
+WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableW(LPCWSTR,LPCWSTR,PVOID,DWORD);
+#endif /* (NTDDI_VERSION >= NTDDI_WINXPSP1) */
+
+#endif /* !RC_INVOKED */
+
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
+#define COPY_FILE_COPY_SYMLINK                0x0800
+#define COPY_FILE_NO_BUFFERING                0x1000
+#define THREAD_MODE_BACKGROUND_BEGIN 0x00010000
+#define THREAD_MODE_BACKGROUND_END 0x00020000
+/* http://msdn.microsoft.com/en-us/library/aa363866%28VS.85%29.aspx */
+#define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1
+/* http://msdn.microsoft.com/en-us/library/aa364962%28VS.85%29.aspx */
+#define FILE_NAME_NORMALIZED 0x0
+#define FILE_NAME_OPENED 0x8
+#define VOLUME_NAME_DOS 0x0
+#define VOLUME_NAME_GUID 0x1
+#define VOLUME_NAME_NONE 0x4
+#define VOLUME_NAME_NT 0x2
+
+#ifndef RC_INVOKED
+/* http://msdn.microsoft.com/en-us/library/aa364217%28VS.85%29.aspx */
+typedef struct _FILE_BASIC_INFO {
+       LARGE_INTEGER   CreationTime;
+       LARGE_INTEGER   LastAccessTime;
+       LARGE_INTEGER   LastWriteTime;
+       LARGE_INTEGER   ChangeTime;
+       DWORD   FileAttributes;
+} FILE_BASIC_INFO,*PFILE_BASIC_INFO,*LPFILE_BASIC_INFO;
+/* http://msdn.microsoft.com/en-us/library/aa364401%28VS.85%29.aspx */
+typedef struct _FILE_STANDARD_INFO {
+       LARGE_INTEGER   AllocationSize;
+       LARGE_INTEGER   EndOfFile;
+       DWORD   NumberOfLinks;
+       BOOL    DeletePending;
+       BOOL    Directory;
+} FILE_STANDARD_INFO,*PFILE_STANDARD_INFO,*LPFILE_STANDARD_INFO;
+/* http://msdn.microsoft.com/en-us/library/aa364388%28v=VS.85%29.aspx */
+typedef struct _FILE_NAME_INFO {
+       DWORD   FileNameLength;
+       WCHAR   FileName[1];
+} FILE_NAME_INFO,*PFILE_NAME_INFO,*LPFILE_NAME_INFO;
+/* http://msdn.microsoft.com/en-us/library/aa364406%28v=VS.85%29.aspx */
+typedef struct _FILE_STREAM_INFO {
+       DWORD   NextEntryOffset;
+       DWORD   StreamNameLength;
+       LARGE_INTEGER   StreamSize;
+       LARGE_INTEGER   StreamAllocationSize;
+       WCHAR   StreamName[1];
+} FILE_STREAM_INFO,*PFILE_STREAM_INFO,*LPFILE_STREAM_INFO;
+/* http://msdn.microsoft.com/en-us/library/aa364220%28v=VS.85%29.aspx */
+typedef struct _FILE_COMPRESSION_INFO {
+       LARGE_INTEGER   CompressedFileSize;
+       WORD    CompressionFormat;
+       UCHAR   CompressionUnitShift;
+       UCHAR   ChunkShift;
+       UCHAR   ClusterShift;
+       UCHAR   Reserved[3];
+} FILE_COMPRESSION_INFO,*PFILE_COMPRESSION_INFO,*LPFILE_COMPRESSION_INFO;
+/* http://msdn.microsoft.com/en-us/library/aa364216%28v=VS.85%29.aspx */
+typedef struct _FILE_ATTRIBUTE_TAG_INFO {
+       DWORD   FileAttributes;
+       DWORD   ReparseTag;
+} FILE_ATTRIBUTE_TAG_INFO,*PFILE_ATTRIBUTE_TAG_INFO,*LPFILE_ATTRIBUTE_TAG_INFO;
+/* http://msdn.microsoft.com/en-us/library/aa364226%28v=VS.85%29.aspx */
+typedef struct _FILE_ID_BOTH_DIR_INFO {
+       DWORD   NextEntryOffset;
+       DWORD   FileIndex;
+       LARGE_INTEGER   CreationTime;
+       LARGE_INTEGER   LastAccessTime;
+       LARGE_INTEGER   LastWriteTime;
+       LARGE_INTEGER   ChangeTime;
+       LARGE_INTEGER   EndOfFile;
+       LARGE_INTEGER   AllocationSize;
+       DWORD   FileAttributes;
+       DWORD   FileNameLength;
+       DWORD   EaSize;
+       CCHAR   ShortNameLength;
+       WCHAR   ShortName[12];
+       LARGE_INTEGER   FileId;
+       WCHAR   FileName[1];
+} FILE_ID_BOTH_DIR_INFO,*PFILE_ID_BOTH_DIR_INFO,*LPFILE_ID_BOTH_DIR_INFO;
+/* http://msdn.microsoft.com/en-us/library/dd979524%28v=VS.85%29.aspx */
+typedef struct _FILE_REMOTE_PROTOCOL_INFO {
+       USHORT StructureVersion;
+       USHORT StructureSize;
+       ULONG  Protocol;
+       USHORT ProtocolMajorVersion;
+       USHORT ProtocolMinorVersion;
+       USHORT ProtocolRevision;
+       USHORT Reserved;
+       ULONG  Flags;
+       struct {
+               ULONG   Reserved[8];
+       } GenericReserved;
+       struct {
+               ULONG   Reserved[16];
+       } ProtocolSpecificReserved;
+} FILE_REMOTE_PROTOCOL_INFO,*PFILE_REMOTE_PROTOCOL_INFO,*LPFILE_REMOTE_PROTOCOL_INFO;
+typedef enum _DEP_SYSTEM_POLICY_TYPE {
+       AlwaysOn,
+       AlwaysOff,
+       OptIn,
+       OptOut
+} DEP_SYSTEM_POLICY_TYPE;
+/* http://msdn.microsoft.com/en-us/library/aa364228%28v=VS.85%29.aspx */
+typedef enum _FILE_INFO_BY_HANDLE_CLASS {
+  FileBasicInfo,
+  FileStandardInfo,
+  FileNameInfo,
+  FileRenameInfo,
+  FileDispositionInfo,
+  FileAllocationInfo,
+  FileEndOfFileInfo,
+  FileStreamInfo,
+  FileCompressionInfo,
+  FileAttributeTagInfo,
+  FileIdBothDirectoryInfo,
+  FileIdBothDirectoryRestartInfo,
+  FileIoPriorityHintInfo,
+  FileRemoteProtocolInfo,
+  MaximumFileInfoByHandlesClass
+} FILE_INFO_BY_HANDLE_CLASS,*PFILE_INFO_BY_HANDLE_CLASS;
+#define CreateSymbolicLink __AW(CreateSymbolicLink)
+WINBASEAPI BOOL WINAPI CreateSymbolicLinkA(LPCSTR,LPCSTR,DWORD);
+WINBASEAPI BOOL WINAPI CreateSymbolicLinkW(LPCWSTR,LPCWSTR,DWORD);
+/* http://msdn.microsoft.com/en-us/library/aa364953%28VS.85%29.aspx */
+WINBASEAPI BOOL WINAPI GetFileInformationByHandleEx(HANDLE,FILE_INFO_BY_HANDLE_CLASS,LPVOID,DWORD);
+/* http://msdn.microsoft.com/en-us/library/aa364962%28VS.85%29.aspx */
+#define GetFinalPathNameByHandle __AW(GetFinalPathNameByHandle)
+WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleA(HANDLE,LPSTR,DWORD,DWORD);
+WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleW(HANDLE,LPWSTR,DWORD,DWORD);
+WINBASEAPI HANDLE WINAPI ReOpenFile(HANDLE,DWORD,DWORD,DWORD);
+#endif /* !RC_INVOKED */
+
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_VISTA) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
+#define PROCESS_DEP_ENABLE 1
+#define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 2
+
+#ifndef RC_INVOKED
+WINBASEAPI DEP_SYSTEM_POLICY_TYPE WINAPI GetSystemDEPPolicy (void);
+WINBASEAPI BOOL WINAPI SetProcessDEPPolicy (DWORD);
+#endif /* !RC_INVOKED */
+
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN7) */
 
 #ifdef __cplusplus
 }
 #endif
+
 #endif /* _WINBASE_H */
index 4a32288..9840580 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WINBER_H
 #define _WINBER_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 /*
  * LDAP Basic Encoding Rules API
@@ -78,4 +79,5 @@ WINBERAPI BerElement *ber_alloc_t(int);
 #ifdef __cplusplus
 }
 #endif
+
 #endif /* _WINBER_H */
index 76e6578..f513605 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WINCON_H
 #define _WINCON_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -37,10 +38,7 @@ extern "C" {
 #define BACKGROUND_GREEN       32
 #define BACKGROUND_RED 64
 #define BACKGROUND_INTENSITY   128
-#if (_WIN32_WINNT >= 0x0501)
-#define CONSOLE_FULLSCREEN_MODE        1
-#define CONSOLE_WINDOWED_MODE  2
-#endif
+
 #define CTRL_C_EVENT 0
 #define CTRL_BREAK_EVENT 1
 #define CTRL_CLOSE_EVENT 2
@@ -146,10 +144,7 @@ typedef struct _INPUT_RECORD {
 } INPUT_RECORD,*PINPUT_RECORD;
 
 BOOL WINAPI AllocConsole(void);
-#if (_WIN32_WINNT >= 0x0501)
-#define ATTACH_PARENT_PROCESS  ((DWORD)-1)
-BOOL WINAPI AttachConsole(DWORD);
-#endif
+
 HANDLE WINAPI CreateConsoleScreenBuffer(DWORD,DWORD,CONST SECURITY_ATTRIBUTES*,DWORD,LPVOID);
 BOOL WINAPI FillConsoleOutputAttribute(HANDLE,WORD,DWORD,COORD,PDWORD);
 BOOL WINAPI FillConsoleOutputCharacterA(HANDLE,CHAR,DWORD,COORD,PDWORD);
@@ -164,13 +159,7 @@ UINT WINAPI GetConsoleOutputCP(void);
 BOOL WINAPI GetConsoleScreenBufferInfo(HANDLE,PCONSOLE_SCREEN_BUFFER_INFO);
 DWORD WINAPI GetConsoleTitleA(LPSTR,DWORD);
 DWORD WINAPI GetConsoleTitleW(LPWSTR,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-BOOL WINAPI GetConsoleDisplayMode(LPDWORD);
-HWND WINAPI GetConsoleWindow(void);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-DWORD WINAPI GetConsoleProcessList(LPDWORD, DWORD);
-#endif
+
 COORD WINAPI GetLargestConsoleWindowSize(HANDLE);
 BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE,PDWORD);
 BOOL WINAPI GetNumberOfConsoleMouseButtons(PDWORD);
@@ -192,9 +181,7 @@ BOOL WINAPI SetConsoleCP(UINT);
 BOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE,BOOL);
 BOOL WINAPI SetConsoleCursorInfo(HANDLE,const CONSOLE_CURSOR_INFO*);
 BOOL WINAPI SetConsoleCursorPosition(HANDLE,COORD);
-#if (_WIN32_WINNT >= 0x0501)
-BOOL WINAPI SetConsoleDisplayMode(HANDLE,DWORD,PCOORD);
-#endif
+
 BOOL WINAPI SetConsoleMode(HANDLE,DWORD);
 BOOL WINAPI SetConsoleOutputCP(UINT);
 BOOL WINAPI SetConsoleScreenBufferSize(HANDLE,COORD);
@@ -212,37 +199,36 @@ BOOL WINAPI WriteConsoleOutputAttribute(HANDLE,const WORD*,DWORD,COORD,PDWORD);
 BOOL WINAPI WriteConsoleOutputCharacterA(HANDLE,LPCSTR,DWORD,COORD,PDWORD);
 BOOL WINAPI WriteConsoleOutputCharacterW(HANDLE,LPCWSTR,DWORD,COORD,PDWORD);
 
-#ifdef UNICODE
-#define FillConsoleOutputCharacter FillConsoleOutputCharacterW
-#define GetConsoleTitle GetConsoleTitleW
-#define PeekConsoleInput PeekConsoleInputW
-#define ReadConsole ReadConsoleW
-#define ReadConsoleInput ReadConsoleInputW
-#define ReadConsoleOutput ReadConsoleOutputW
-#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
-#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
-#define SetConsoleTitle SetConsoleTitleW
-#define WriteConsole WriteConsoleW
-#define WriteConsoleInput WriteConsoleInputW
-#define WriteConsoleOutput WriteConsoleOutputW
-#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
-#else
-#define FillConsoleOutputCharacter FillConsoleOutputCharacterA
-#define GetConsoleTitle GetConsoleTitleA
-#define PeekConsoleInput PeekConsoleInputA
-#define ReadConsole ReadConsoleA
-#define ReadConsoleInput ReadConsoleInputA
-#define ReadConsoleOutput ReadConsoleOutputA
-#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
-#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
-#define SetConsoleTitle SetConsoleTitleA
-#define WriteConsole WriteConsoleA
-#define WriteConsoleInput WriteConsoleInputA
-#define WriteConsoleOutput WriteConsoleOutputA
-#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
-#endif
+#define FillConsoleOutputCharacter __AW(FillConsoleOutputCharacter)
+#define GetConsoleTitle __AW(GetConsoleTitle)
+#define PeekConsoleInput __AW(PeekConsoleInput)
+#define ReadConsole __AW(ReadConsole)
+#define ReadConsoleInput __AW(ReadConsoleInput)
+#define ReadConsoleOutput __AW(ReadConsoleOutput)
+#define ReadConsoleOutputCharacter __AW(ReadConsoleOutputCharacter)
+#define ScrollConsoleScreenBuffer __AW(ScrollConsoleScreenBuffer)
+#define SetConsoleTitle __AW(SetConsoleTitle)
+#define WriteConsole __AW(WriteConsole)
+#define WriteConsoleInput __AW(WriteConsoleInput)
+#define WriteConsoleOutput __AW(WriteConsoleOutput)
+#define WriteConsoleOutputCharacter __AW(WriteConsoleOutputCharacter)
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
+BOOL WINAPI GetConsoleDisplayMode(LPDWORD);
+HWND WINAPI GetConsoleWindow(void);
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
+#define CONSOLE_FULLSCREEN_MODE        1
+#define CONSOLE_WINDOWED_MODE  2
+#define ATTACH_PARENT_PROCESS  ((DWORD)-1)
+BOOL WINAPI AttachConsole(DWORD);
+DWORD WINAPI GetConsoleProcessList(LPDWORD, DWORD);
+BOOL WINAPI SetConsoleDisplayMode(HANDLE,DWORD,PCOORD);
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */
 
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 79f8cd8..12be52a 100644 (file)
@@ -8,11 +8,11 @@
  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  * and/or sell copies of the Software, and to permit persons to whom the
  * Software is furnished to do so, subject to the following conditions:
- * 
+ *
  * The above copyright notice and this permission notice (including the next
  * paragraph) shall be included in all copies or substantial portions of the
  * Software.
- * 
+ *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -24,6 +24,7 @@
 #ifndef _WINCRYPT_H
 #define _WINCRYPT_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifndef WINADVAPI
 #define WINADVAPI
@@ -32,6 +33,7 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #define MS_DEF_PROV_A  "Microsoft Base Cryptographic Provider v1.0"
 #define MS_DEF_PROV_W  L"Microsoft Base Cryptographic Provider v1.0"
 #define MS_ENHANCED_PROV_A     "Microsoft Enhanced Cryptographic Provider v1.0"
@@ -52,13 +54,6 @@ extern "C" {
 #define MS_DEF_DH_SCHANNEL_PROV_W      L"Microsoft DH SChannel Cryptographic Provider"
 #define MS_SCARD_PROV_A        "Microsoft Base Smart Card Crypto Provider"
 #define MS_SCARD_PROV_W        L"Microsoft Base Smart Card Crypto Provider"
-#if (_WIN32_WINNT == 0x0501)
-#define MS_ENH_RSA_AES_PROV_A "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"
-#define MS_ENH_RSA_AES_PROV_W L"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"
-#elif (_WIN32_WINNT > 0x0501)
-#define MS_ENH_RSA_AES_PROV_A "Microsoft Enhanced RSA and AES Cryptographic Provider"
-#define MS_ENH_RSA_AES_PROV_W L"Microsoft Enhanced RSA and AES Cryptographic Provider"
-#endif
 
 #define GET_ALG_CLASS(x) (x&57344)
 #define GET_ALG_TYPE(x) (x&7680)
@@ -395,19 +390,7 @@ extern "C" {
 #define SCHANNEL_MAC_KEY    0x00000000
 #define SCHANNEL_ENC_KEY    0x00000001
 #define INTERNATIONAL_USAGE 0x00000001
-#if (WINVER >= 0x0501) /* Windows Server 2003, Windows XP */
-#define CMC_ADD_ATTRIBUTES (LPCSTR) 63
-#define CMC_ADD_EXTENSIONS (LPCSTR) 62
-#define X509_CERT_PAIR (LPCSTR) 53
-#define X509_CERTIFICATE_TEMPLATE (LPCSTR) 64
-#define X509_CROSS_CERT_DIST_POINTS (LPCSTR) 58
-#define CMC_DATA (LPCSTR) 59
-#define X509_NAME_CONSTRAINTS (LPCSTR) 55
-#define X509_POLICY_CONSTRAINTS (LPCSTR) 57
-#define X509_POLICY_MAPPINGS (LPCSTR) 56
-#define CMC_RESPONSE (LPCSTR) 60
-#define CMC_STATUS (LPCSTR) 61
-#endif /* (WINVER >= 0x0501) */ /* Windows Server 2003, Windows XP */
+
 #define X509_ALGORITHM_IDENTIFIER (LPCSTR) 74
 #define X509_ALTERNATE_NAME (LPCSTR) 12
 /* need X509_ANY_STRING */
@@ -632,16 +615,7 @@ enum { CRL_REASON_UNSPECIFIED=0,
 #define szOID_BIOMETRIC_EXT "1.3.6.1.5.5.7.1.2"
 #define szOID_CERT_EXTENSIONS "1.3.6.1.4.1.311.2.1.14"
 #define szOID_CERT_POLICIES "2.5.29.32"
-#if (WINVER >= 0x0501) /* Windows Server 2003, Windows XP */
-#define szOID_CERTIFICATE_TEMPLATE "1.3.6.1.4.1.311.21.7"
-#define szOID_CRL_NUMBER "2.5.29.20"
-#define szOID_CROSS_CERT_DIST_POINTS "1.3.6.1.4.1.311.10.9.1"
-#define szOID_DELTA_CRL_INDICATOR "2.5.29.27"
-#define szOID_ENROLLMENT_NAME_VALUE_PAIR "1.3.6.1.4.1.311.13.2.1"
-#define szOID_FRESHEST_CRL "2.5.29.46"
-#define szOID_ISSUING_DIST_POINT "2.5.29.28"
-#define szOID_NAME_CONSTRAINTS "2.5.29.30"
-#endif /* (WINVER >= 0x0501) */ /* Windows Server 2003, Windows XP */
+
 #define szOID_CRL_DIST_POINTS 2.5.29.31
 #define szOID_CRL_REASON_CODE "2.5.29.21"
 #define szOID_CRL_VIRTUAL_BASE "1.3.6.1.4.1.311.21.3"
@@ -667,7 +641,7 @@ typedef struct _CERT_BASIC_CONSTRAINTS2_INFO {
   BOOL fCA;
   BOOL fPathLenConstraint;
   DWORD dwPathLenConstraint;
-} CERT_BASIC_CONSTRAINTS2_INFO, 
+} CERT_BASIC_CONSTRAINTS2_INFO,
  *PCERT_BASIC_CONSTRAINTS2_INFO;
 
 typedef VOID (WINAPI *PFN_CRYPT_FREE)(LPVOID pv);
@@ -676,7 +650,7 @@ typedef struct _CRYPT_ENCODE_PARA {
   DWORD cbSize;
   PFN_CRYPT_ALLOC pfnAlloc;
   PFN_CRYPT_FREE pfnFree;
-} CRYPT_ENCODE_PARA, 
+} CRYPT_ENCODE_PARA,
  *PCRYPT_ENCODE_PARA;
 
 /* Definition missing. */
@@ -706,6 +680,10 @@ typedef struct _CRYPTOAPI_BLOB {
   CRYPT_DIGEST_BLOB,  *PCRYPT_DIGEST_BLOB,
   CRYPT_DER_BLOB,     *PCRYPT_DER_BLOB,
   CRYPT_ATTR_BLOB,    *PCRYPT_ATTR_BLOB;
+typedef struct _CERT_OTHER_NAME {
+       LPSTR pszObjId;
+       CRYPT_OBJID_BLOB Value;
+} CERT_OTHER_NAME, *PCERT_OTHER_NAME;
 /* not described in SDK; has the same layout as HTTPSPolicyCallbackData */
 typedef struct _SSL_EXTRA_CERT_CHAIN_POLICY_PARA {
        DWORD cbStruct;
@@ -943,80 +921,6 @@ typedef struct _HMAC_Info
        BYTE* pbOuterString;
        DWORD cbOuterString;
 } HMAC_INFO, *PHMAC_INFO;
-#if (WINVER >= 0x0501) /* Windows Server 2003, Windows XP */
-typedef struct _CMC_ADD_ATTRIBUTES_INFO {
-  DWORD dwCmcDataReference;
-  DWORD cCertReference;
-  DWORD* rgdwCertReference;
-  DWORD cAttribute;
-  PCRYPT_ATTRIBUTE rgAttribute;
-} CMC_ADD_ATTRIBUTES_INFO, 
- *PCMC_ADD_ATTRIBUTES_INFO;
-typedef struct _CMC_ADD_EXTENSIONS_INFO {
-  DWORD dwCmcDataReference;
-  DWORD cCertReference;
-  DWORD* rgdwCertReference;
-  DWORD cExtension;
-  PCERT_EXTENSION rgExtension;
-} CMC_ADD_EXTENSIONS_INFO, 
- *PCMC_ADD_EXTENSIONS_INFO;
-#endif /* (WINVER >= 0x0501) */ /* Windows Server 2003, Windows XP */
-#if (WINVER >= 0x0410) /* Windows 98 */
-/* need PCERT_OTHER_NAME & CERT_DATA_BLOB!
-typedef struct _CERT_ALT_NAME_ENTRY {
-  DWORD dwAltNameChoice;
-  union {
-    PCERT_OTHER_NAME pOtherName;
-    LPWSTR pwszRfc822Name;
-    LPWSTR pwszDNSName;
-    CERT_DATA_BLOB x400Address;
-    CERT_NAME_BLOB DirectoryName;
-    LPWSTR pEdiPartyName;
-    LPWSTR pwszURL;
-    CRYPT_DATA_BLOB IPAddress;
-    LPSTR pszRegisteredID;
-  };
-} CERT_ALT_NAME_ENTRY, 
- *PCERT_ALT_NAME_ENTRY;
-*/
-/* needs CERT_ALT_NAME_ENTRY above, which lacks prereqs
-typedef struct _CERT_ALT_NAME_INFO {
-  DWORD cAltEntry;
-  PCERT_ALT_NAME_ENTRY rgAltEntry;
-} CERT_ALT_NAME_INFO, 
- *PCERT_ALT_NAME_INFO;
- */
-typedef struct _CERT_NAME_VALUE {
-  DWORD dwValueType;
-  CERT_RDN_VALUE_BLOB Value;
-} CERT_NAME_VALUE, 
- *PCERT_NAME_VALUE;
-typedef struct _CERT_POLICY_QUALIFIER_INFO {
-  LPSTR pszPolicyQualifierId;
-  CRYPT_OBJID_BLOB Qualifier;
-} CERT_POLICY_QUALIFIER_INFO, 
- *PCERT_POLICY_QUALIFIER_INFO;
-typedef struct _CERT_POLICY_CONSTRAINTS_INFO {
-  BOOL fRequireExplicitPolicy;
-  DWORD dwRequireExplicitPolicySkipCerts;
-  BOOL fInhibitPolicyMapping;
-  DWORD dwInhibitPolicyMappingSkipCerts;
-} CERT_POLICY_CONSTRAINTS_INFO, 
- *PCERT_POLICY_CONSTRAINTS_INFO;
-#endif /* (WINVER >= 0x0410) */ /* Windows 98 */
-#if (WINVER >= 0x0501) /* Windows Server 2003, Windows XP */
-typedef struct _CERT_POLICY_MAPPING {
-  LPSTR pszIssuerDomainPolicy;
-  LPSTR pszSubjectDomainPolicy;
-} CERT_POLICY_MAPPING, 
- *PCERT_POLICY_MAPPING;
-typedef struct _CERT_POLICY_MAPPINGS_INFO {
-  DWORD cPolicyMapping;
-  PCERT_POLICY_MAPPING rgPolicyMapping;
-} CERT_POLICY_MAPPINGS_INFO, 
- *PCERT_POLICY_MAPPINGS_INFO;
-
-#endif /* (WINVER >= 0x0501) */ /* Windows Server 2003, Windows XP */
 
 //http://msdn.microsoft.com/en-us/library/aa922935.aspx
 //Some Crypto Key Provider Information structures.
@@ -1193,10 +1097,7 @@ WINADVAPI BOOL WINAPI CryptReleaseContext(HCRYPTPROV,DWORD);
 WINADVAPI BOOL WINAPI CryptGenKey(HCRYPTPROV,ALG_ID,DWORD,HCRYPTKEY*);
 WINADVAPI BOOL WINAPI CryptDeriveKey(HCRYPTPROV,ALG_ID,HCRYPTHASH,DWORD,HCRYPTKEY*);
 WINADVAPI BOOL WINAPI CryptDestroyKey(HCRYPTKEY);
-#if (WINVER >= 0x0500)
-WINADVAPI BOOL WINAPI CryptDuplicateHash(HCRYPTHASH,DWORD*,DWORD,HCRYPTHASH*);
-WINADVAPI BOOL WINAPI CryptDuplicateKey(HCRYPTKEY,DWORD*,DWORD,HCRYPTKEY*);
-#endif
+
 WINADVAPI BOOL WINAPI CryptSetKeyParam(HCRYPTKEY,DWORD,PBYTE,DWORD);
 WINADVAPI BOOL WINAPI CryptGetKeyParam(HCRYPTKEY,DWORD,PBYTE,PDWORD,DWORD);
 WINADVAPI BOOL WINAPI CryptSetHashParam(HCRYPTHASH,DWORD,PBYTE,DWORD);
@@ -1223,66 +1124,35 @@ WINADVAPI BOOL WINAPI CryptSetProviderW(LPCWSTR,DWORD);
 WINADVAPI BOOL WINAPI CryptEnumProvidersA(DWORD,DWORD*,DWORD,DWORD*,LPTSTR,DWORD*);
 WINADVAPI BOOL WINAPI CryptEnumProvidersW(DWORD,DWORD*,DWORD,DWORD*,LPTSTR,DWORD*);
 
-#ifdef UNICODE
-#define CertGetNameString CertGetNameStringW
-#else
-#define CertGetNameString CertGetNameStringA
-#endif
+#define CertGetNameString __AW(CertGetNameString)
+
+#define CertNameToStr __AW(CertNameToStr)
+#define CryptAcquireContext __AW(CryptAcquireContext)
+#define CryptSignHash __AW(CryptSignHash)
+#define CryptVerifySignature __AW(CryptVerifySignature)
+#define CryptSetProvider __AW(CryptSetProvider)
+#define CryptEnumProviders __AW(CryptEnumProviders)
+#define CertOpenSystemStore __AW(CertOpenSystemStore)
+#define CERT_FIND_SUBJECT_STR __AW(CERT_FIND_SUBJECT_STR_)
+#define CERT_FIND_ISSUER_STR __AW(CERT_FIND_ISSUER_STR_)
+#define MS_DEF_PROV __AW(MS_DEF_PROV_)
+#define MS_ENHANCED_PROV __AW(MS_ENHANCED_PROV_)
+#define MS_STRONG_PROV __AW(MS_STRONG_PROV_)
+#define MS_DEF_RSA_SIG_PROV __AW(MS_DEF_RSA_SIG_PROV_)
+#define MS_DEF_RSA_SCHANNEL_PROV __AW(MS_DEF_RSA_SCHANNEL_PROV_)
+#define MS_DEF_DSS_PROV __AW(MS_DEF_DSS_PROV_)
+#define MS_DEF_DSS_DH_PROV __AW(MS_DEF_DSS_DH_PROV_)
+#define MS_ENH_DSS_DH_PROV __AW(MS_ENH_DSS_DH_PROV_)
+#define MS_DEF_DH_SCHANNEL_PROV __AW(MS_DEF_DH_SCHANNEL_PROV_)
+#define MS_SCARD_PROV __AW(MS_SCARD_PROV_)
 
-#ifdef UNICODE
-#define CertNameToStr CertNameToStrW
-#define CryptAcquireContext CryptAcquireContextW
-#define CryptSignHash CryptSignHashW
-#define CryptVerifySignature CryptVerifySignatureW
-#define CryptSetProvider CryptSetProviderW
-#define CryptEnumProviders CryptEnumProvidersW
-#define CertOpenSystemStore CertOpenSystemStoreW
-#define CERT_FIND_SUBJECT_STR CERT_FIND_SUBJECT_STR_W
-#define CERT_FIND_ISSUER_STR CERT_FIND_ISSUER_STR_W
-#define MS_DEF_PROV MS_DEF_PROV_W
-#define MS_ENHANCED_PROV MS_ENHANCED_PROV_W
-#define MS_STRONG_PROV MS_STRONG_PROV_W
-#define MS_DEF_RSA_SIG_PROV MS_DEF_RSA_SIG_PROV_W
-#define MS_DEF_RSA_SCHANNEL_PROV MS_DEF_RSA_SCHANNEL_PROV_W
-#define MS_DEF_DSS_PROV MS_DEF_DSS_PROV_W
-#define MS_DEF_DSS_DH_PROV MS_DEF_DSS_DH_PROV_W
-#define MS_ENH_DSS_DH_PROV MS_ENH_DSS_DH_PROV_W
-#define MS_DEF_DH_SCHANNEL_PROV MS_DEF_DH_SCHANNEL_PROV_W
-#define MS_SCARD_PROV MS_SCARD_PROV_W
-#if (_WIN32_WINNT >= 0x0501)
-#define MS_ENH_RSA_AES_PROV MS_ENH_RSA_AES_PROV_W
-#endif
-#else
-#define CertNameToStr CertNameToStrA
-#define CryptAcquireContext CryptAcquireContextA
-#define CryptSignHash CryptSignHashA
-#define CryptVerifySignature CryptVerifySignatureA
-#define CryptSetProvider CryptSetProviderA
-#define CryptEnumProviders CryptEnumProvidersA
-#define CertOpenSystemStore CertOpenSystemStoreA
-#define CERT_FIND_SUBJECT_STR CERT_FIND_SUBJECT_STR_A
-#define CERT_FIND_ISSUER_STR CERT_FIND_ISSUER_STR_A
-#define MS_DEF_PROV MS_DEF_PROV_A
-#define MS_ENHANCED_PROV MS_ENHANCED_PROV_A
-#define MS_STRONG_PROV MS_STRONG_PROV_A
-#define MS_DEF_RSA_SIG_PROV MS_DEF_RSA_SIG_PROV_A
-#define MS_DEF_RSA_SCHANNEL_PROV MS_DEF_RSA_SCHANNEL_PROV_A
-#define MS_DEF_DSS_PROV MS_DEF_DSS_PROV_A
-#define MS_DEF_DSS_DH_PROV MS_DEF_DSS_DH_PROV_A
-#define MS_ENH_DSS_DH_PROV MS_ENH_DSS_DH_PROV_A
-#define MS_DEF_DH_SCHANNEL_PROV MS_DEF_DH_SCHANNEL_PROV_A
-#define MS_SCARD_PROV MS_SCARD_PROV_A
-#if (_WIN32_WINNT >= 0x0501)
-#define MS_ENH_RSA_AES_PROV MS_ENH_RSA_AES_PROV_A
-#endif
-#endif
 /* from http://msdn2.microsoft.com/en-us/library/Aa380263.aspx: */
 typedef struct _CRYPTPROTECT_PROMPTSTRUCT {
    DWORD cbSize;
    DWORD dwPromptFlags;
    HWND hwndApp;
    LPCWSTR szPrompt;
-} CRYPTPROTECT_PROMPTSTRUCT, 
+} CRYPTPROTECT_PROMPTSTRUCT,
 *PCRYPTPROTECT_PROMPTSTRUCT;
 
 
@@ -1311,14 +1181,110 @@ DWORD WINAPI CertOIDToAlgId( LPCSTR );
 BOOL WINAPI CryptGetDefaultProviderA(DWORD,DWORD,DWORD,LPSTR,DWORD);
 BOOL WINAPI CryptGetDefaultProviderW(DWORD,DWORD,DWORD,LPSTR,DWORD);
 
-#ifdef UNICODE
-#define CryptGetDefaultProvider  CryptGetDefaultProviderW
-#else
-#define CryptGetDefaultProvider  CryptGetDefaultProviderA
-#endif // !UNICODE
+#define CryptGetDefaultProvider  __AW(CryptGetDefaultProvider)
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN98) /* Windows 98 */
+typedef struct _CERT_ALT_NAME_ENTRY {
+  DWORD dwAltNameChoice;
+  union {
+    PCERT_OTHER_NAME pOtherName;
+    LPWSTR pwszRfc822Name;
+    LPWSTR pwszDNSName;
+    CRYPT_DATA_BLOB x400Address;
+    CERT_NAME_BLOB DirectoryName;
+    LPWSTR pEdiPartyName;
+    LPWSTR pwszURL;
+    CRYPT_DATA_BLOB IPAddress;
+    LPSTR pszRegisteredID;
+  };
+} CERT_ALT_NAME_ENTRY, *PCERT_ALT_NAME_ENTRY;
+typedef struct _CERT_ALT_NAME_INFO {
+  DWORD cAltEntry;
+  PCERT_ALT_NAME_ENTRY rgAltEntry;
+} CERT_ALT_NAME_INFO, *PCERT_ALT_NAME_INFO;
+typedef struct _CERT_NAME_VALUE {
+  DWORD dwValueType;
+  CERT_RDN_VALUE_BLOB Value;
+} CERT_NAME_VALUE,
+ *PCERT_NAME_VALUE;
+typedef struct _CERT_POLICY_QUALIFIER_INFO {
+  LPSTR pszPolicyQualifierId;
+  CRYPT_OBJID_BLOB Qualifier;
+} CERT_POLICY_QUALIFIER_INFO, *PCERT_POLICY_QUALIFIER_INFO;
+typedef struct _CERT_POLICY_CONSTRAINTS_INFO {
+  BOOL fRequireExplicitPolicy;
+  DWORD dwRequireExplicitPolicySkipCerts;
+  BOOL fInhibitPolicyMapping;
+  DWORD dwInhibitPolicyMappingSkipCerts;
+} CERT_POLICY_CONSTRAINTS_INFO, *PCERT_POLICY_CONSTRAINTS_INFO;
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN98) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
+WINADVAPI BOOL WINAPI CryptDuplicateHash(HCRYPTHASH,DWORD*,DWORD,HCRYPTHASH*);
+WINADVAPI BOOL WINAPI CryptDuplicateKey(HCRYPTKEY,DWORD*,DWORD,HCRYPTKEY*);
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
+
+#if (_WIN32_WINNT == _WIN32_WINNT_WINXP)
+#define MS_ENH_RSA_AES_PROV_A "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"
+#define MS_ENH_RSA_AES_PROV_W L"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"
+#endif /* (_WIN32_WINNT == _WIN32_WINNT_WINXP) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
+#define CMC_ADD_ATTRIBUTES (LPCSTR) 63
+#define CMC_ADD_EXTENSIONS (LPCSTR) 62
+#define X509_CERT_PAIR (LPCSTR) 53
+#define X509_CERTIFICATE_TEMPLATE (LPCSTR) 64
+#define X509_CROSS_CERT_DIST_POINTS (LPCSTR) 58
+#define CMC_DATA (LPCSTR) 59
+#define X509_NAME_CONSTRAINTS (LPCSTR) 55
+#define X509_POLICY_CONSTRAINTS (LPCSTR) 57
+#define X509_POLICY_MAPPINGS (LPCSTR) 56
+#define CMC_RESPONSE (LPCSTR) 60
+#define CMC_STATUS (LPCSTR) 61
+#define szOID_CERTIFICATE_TEMPLATE "1.3.6.1.4.1.311.21.7"
+#define szOID_CRL_NUMBER "2.5.29.20"
+#define szOID_CROSS_CERT_DIST_POINTS "1.3.6.1.4.1.311.10.9.1"
+#define szOID_DELTA_CRL_INDICATOR "2.5.29.27"
+#define szOID_ENROLLMENT_NAME_VALUE_PAIR "1.3.6.1.4.1.311.13.2.1"
+#define szOID_FRESHEST_CRL "2.5.29.46"
+#define szOID_ISSUING_DIST_POINT "2.5.29.28"
+#define szOID_NAME_CONSTRAINTS "2.5.29.30"
+typedef struct _CMC_ADD_ATTRIBUTES_INFO {
+  DWORD dwCmcDataReference;
+  DWORD cCertReference;
+  DWORD* rgdwCertReference;
+  DWORD cAttribute;
+  PCRYPT_ATTRIBUTE rgAttribute;
+} CMC_ADD_ATTRIBUTES_INFO,
+ *PCMC_ADD_ATTRIBUTES_INFO;
+typedef struct _CMC_ADD_EXTENSIONS_INFO {
+  DWORD dwCmcDataReference;
+  DWORD cCertReference;
+  DWORD* rgdwCertReference;
+  DWORD cExtension;
+  PCERT_EXTENSION rgExtension;
+} CMC_ADD_EXTENSIONS_INFO,
+ *PCMC_ADD_EXTENSIONS_INFO;
+typedef struct _CERT_POLICY_MAPPING {
+  LPSTR pszIssuerDomainPolicy;
+  LPSTR pszSubjectDomainPolicy;
+} CERT_POLICY_MAPPING,
+ *PCERT_POLICY_MAPPING;
+typedef struct _CERT_POLICY_MAPPINGS_INFO {
+  DWORD cPolicyMapping;
+  PCERT_POLICY_MAPPING rgPolicyMapping;
+} CERT_POLICY_MAPPINGS_INFO,
+ *PCERT_POLICY_MAPPINGS_INFO;
+#define MS_ENH_RSA_AES_PROV __AW(MS_ENH_RSA_AES_PROV_)
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
+#define MS_ENH_RSA_AES_PROV_A "Microsoft Enhanced RSA and AES Cryptographic Provider"
+#define MS_ENH_RSA_AES_PROV_W L"Microsoft Enhanced RSA and AES Cryptographic Provider"
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_VISTA) */
 
 #ifdef __cplusplus
 }
 #endif
+
 #endif /* _WINCRYPT_H */
index 90d7314..c127709 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WINDEF_H
 #define _WINDEF_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -37,6 +38,7 @@ extern "C" {
  * the windef.h header.
  */
 #endif
+
 #ifndef _WIN32_WINNT
 #define _WIN32_WINNT WINVER
 /*
@@ -46,26 +48,33 @@ extern "C" {
  * including windows.h or any other method of including the windef.h header.
  */
 #endif
+
 #define FAR
 #define far
 #define NEAR
 #define near
+
 #ifndef CONST
 #define CONST const
 #endif
+
 #undef MAX_PATH
 #define MAX_PATH 260
 
 #ifndef NULL
+
 #ifdef __cplusplus
 #define NULL 0
 #else
 #define NULL ((void*)0)
 #endif
+
 #endif
+
 #ifndef FALSE
 #define FALSE 0
 #endif
+
 #ifndef TRUE
 #define TRUE 1
 #endif
@@ -77,9 +86,11 @@ extern "C" {
 #ifndef _NO_W32_PSEUDO_MODIFIERS
 #define IN
 #define OUT
+
 #ifndef OPTIONAL
 #define OPTIONAL
 #endif
+
 #endif
 
 #ifndef _declspec
@@ -117,17 +128,21 @@ extern "C" {
 #ifndef _export
 #define _export
 #endif
+
 #ifndef __export
 #define __export
 #endif
 
 #ifndef NOMINMAX
+
 #ifndef max
 #define max(a,b) ((a)>(b)?(a):(b))
 #endif
+
 #ifndef min
 #define min(a,b) ((a)<(b)?(a):(b))
 #endif
+
 #endif
 
 #define UNREFERENCED_PARAMETER(P) {(P)=(P);}
@@ -152,6 +167,7 @@ extern "C" {
 #define DUMMYUNIONNAME7        u7
 #define DUMMYUNIONNAME8        u8
 #else
+
 #define _UNION_NAME(x)
 #define DUMMYUNIONNAME
 #define DUMMYUNIONNAME2
@@ -162,6 +178,7 @@ extern "C" {
 #define DUMMYUNIONNAME7
 #define DUMMYUNIONNAME8
 #endif
+
 #ifndef _ANONYMOUS_STRUCT
 #define _ANONYMOUS_STRUCT
 #define _STRUCT_NAME(x) x
@@ -169,6 +186,7 @@ extern "C" {
 #define DUMMYSTRUCTNAME2 s2
 #define DUMMYSTRUCTNAME3 s3
 #else
+
 #define _STRUCT_NAME(x)
 #define DUMMYSTRUCTNAME
 #define DUMMYSTRUCTNAME2
@@ -176,9 +194,11 @@ extern "C" {
 #endif
 
 #ifndef NO_STRICT
+
 #ifndef STRICT
 #define STRICT 1
 #endif
+
 #endif
 
 /* FIXME: This will make some code compile. The programs will most
@@ -221,10 +241,12 @@ typedef unsigned int UINT,*PUINT,*LPUINT;
 typedef UINT_PTR WPARAM;
 typedef LONG_PTR LPARAM;
 typedef LONG_PTR LRESULT;
+
 #ifndef _HRESULT_DEFINED
 typedef LONG HRESULT;
 #define _HRESULT_DEFINED
 #endif
+
 typedef WORD ATOM;
 typedef HANDLE HHOOK;
 typedef HANDLE HGLOBAL;
@@ -299,4 +321,5 @@ typedef struct tagPOINTS {
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index e396e70..59b5e7d 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WINDNS_H
 #define _WINDNS_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -401,21 +402,12 @@ DNS_STATUS WINAPI DnsValidateName_UTF8(LPCSTR,DNS_NAME_FORMAT);
 BOOL WINAPI DnsWriteQuestionToBuffer_W(PDNS_MESSAGE_BUFFER,LPDWORD,LPWSTR,WORD,WORD,BOOL);
 BOOL WINAPI DnsWriteQuestionToBuffer_UTF8(PDNS_MESSAGE_BUFFER,LPDWORD,LPSTR,WORD,WORD,BOOL);
 
-#ifdef UNICODE
-#define DnsAcquireContextHandle DnsAcquireContextHandle_W
-#define DnsModifyRecordsInSet DnsModifyRecordsInSet_W
-#define DnsNameCompare DnsNameCompare_W
-#define DnsQuery DnsQuery_W
-#define DnsReplaceRecordSet DnsReplaceRecordSetW
-#define DnsValidateName DnsValidateName_W
-#else
-#define DnsAcquireContextHandle DnsAcquireContextHandle_A
-#define DnsModifyRecordsInSet DnsModifyRecordsInSet_A
-#define DnsNameCompare DnsNameCompare_A
-#define DnsQuery DnsQuery_A
-#define DnsReplaceRecordSet DnsReplaceRecordSetA
-#define DnsValidateName DnsValidateName_A
-#endif
+#define DnsAcquireContextHandle __AW(DnsAcquireContextHandle_)
+#define DnsModifyRecordsInSet __AW(DnsModifyRecordsInSet_)
+#define DnsNameCompare __AW(DnsNameCompare_)
+#define DnsQuery __AW(DnsQuery_)
+#define DnsReplaceRecordSet __AW(DnsReplaceRecordSet)
+#define DnsValidateName __AW(DnsValidateName_)
 
 #endif /* RC_INVOKED */
 
index bc868e1..2622b50 100644 (file)
@@ -24,8 +24,7 @@
 #ifndef _WINDOWS_H
 #define _WINDOWS_H
 #pragma GCC system_header
-
-#include <sdkddkver.h>
+#include <_mingw.h>
 
 /* translate GCC target defines to MS equivalents. Keep this synchronized
    with winnt.h. */
@@ -38,6 +37,7 @@
 #elif defined(__i386__) && !defined(_M_IX86)
 #define _M_IX86 300
 #endif
+
 #if defined(_M_IX86) && !defined(_X86_)
 #define _X86_
 #elif defined(_M_ALPHA) && !defined(_ALPHA_)
 #include <rpc.h>
 #include <shellapi.h>
 #include <winperf.h>
+
 #ifndef NOGDI
 #include <commdlg.h>
 #include <winspool.h>
 #endif
-#if defined(Win32_Winsock)
-#warning "The  Win32_Winsock macro name is deprecated.\
-    Please use __USE_W32_SOCKETS instead"
-#ifndef __USE_W32_SOCKETS
-#define __USE_W32_SOCKETS
-#endif
-#endif
-#if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__) || defined(_UWIN))
-#if (_WIN32_WINNT >= 0x0400)
-#include <winsock2.h>
-/*
- * MS likes to include mswsock.h here as well,
- * but that can cause undefined symbols if
- * winsock2.h is included before windows.h
- */
-#else
+
+/* __USE_W32_SOCKETS is a __CYGWIN__ guard */
+#if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__))
 #include <winsock.h>
-#endif /*  (_WIN32_WINNT >= 0x0400) */
 #endif
+
 #ifndef NOGDI
 /* In older versions we disallowed COM declarations in __OBJC__
    because of conflicts with @interface directive.  Define _OBJC_NO_COM
index 97e9f75..a6210cb 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WINDOWSX_H
 #define _WINDOWSX_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifndef SNDMSG
 #ifdef __cplusplus
index 7480561..ad85912 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WINERROR_H
 #define _WINERROR_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #define _HRESULT_TYPEDEF_(_sc) ((HRESULT)_sc)
 
 #define ERROR_VC_DISCONNECTED 240L
 #define ERROR_INVALID_EA_NAME 254L
 #define ERROR_EA_LIST_INCONSISTENT 255L
+
 #ifndef WAIT_TIMEOUT /* also in winbase.h */
 #define WAIT_TIMEOUT 258L
 #endif
+
 #define ERROR_NO_MORE_ITEMS 259L
 #define ERROR_CANNOT_COPY 266L
 #define ERROR_DIRECTORY 267L
index f8fc35a..0713704 100644 (file)
@@ -25,6 +25,7 @@
 #define _WINGDI_H
 #define _WINGDI_
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -183,10 +184,7 @@ extern "C" {
 #define EMR_PIXELFORMAT 104
 #define ENHMETA_SIGNATURE 1179469088
 #define EPS_SIGNATURE 0x46535045
-#if (_WIN32_WINNT >= 0x0500)
-#define FR_PRIVATE 0x10
-#define FR_NOT_ENUM 0x20
-#endif
+
 #define META_SETBKCOLOR        0x201
 #define META_SETBKMODE 0x102
 #define META_SETMAPMODE        0x103
@@ -393,9 +391,7 @@ extern "C" {
 #define PROOF_QUALITY  2
 #define NONANTIALIASED_QUALITY 3
 #define ANTIALIASED_QUALITY 4
-#if _WIN32_WINNT >= 0x0500
-#define CLEARTYPE_QUALITY 5
-#endif
+
 #define DEFAULT_PITCH  0
 #define FIXED_PITCH    1
 #define VARIABLE_PITCH 2
@@ -585,21 +581,7 @@ extern "C" {
 #define DC_DATATYPE_PRODUCED   21
 #define DC_MANUFACTURER        23
 #define DC_MODEL       24
-#if (WINVER >= 0x0500)
-#define DC_PERSONALITY 25
-#define DC_PRINTRATE   26
-#define DC_PRINTRATEUNIT       27
-#define DC_PRINTERMEM  28
-#define DC_MEDIAREADY  29
-#define DC_STAPLE      30
-#define DC_PRINTRATEPPM        31
-#define DC_COLORDEVICE 32
-#define DC_NUP 33
-#endif
-#if (WINVER >= 0x0501)
-#define DC_MEDIATYPENAMES      34
-#define DC_MEDIATYPES  35
-#endif
+
 #define DCBA_FACEUPNONE        0
 #define DCBA_FACEUPCENTER      1
 #define DCBA_FACEUPLEFT        2
@@ -616,12 +598,8 @@ extern "C" {
 #define ETO_NUMERICSLATIN 0x0800
 #define ETO_NUMERICSLOCAL 0x0400
 #define ETO_RTLREADING 0x0080
-#if (_WIN32_WINNT >= 0x0400)
 #define ETO_IGNORELANGUAGE 0x1000
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define ETO_PDY 0x2000
-#endif
+
 #define GDICOMMENT_WINDOWS_METAFILE (-2147483647)
 #define GDICOMMENT_BEGINGROUP 2
 #define GDICOMMENT_ENDGROUP 3
@@ -704,20 +682,7 @@ extern "C" {
 #define DESKTOPHORZRES 118
 #define DESKTOPVERTRES 117
 #define BLTALIGNMENT 119
-#if(WINVER >= 0x0500)
-#define SHADEBLENDCAPS 120
-#define SB_NONE 0x00
-#define SB_CONST_ALPHA 0x01
-#define SB_PIXEL_ALPHA 0x02
-#define SB_PREMULT_ALPHA 0x04
-#define SB_GRAD_RECT 0x10
-#define SB_GRAD_TRI 0x20
-#define COLORMGMTCAPS 121
-#define CM_NONE 0x00
-#define CM_DEVICE_ICM 0x01
-#define CM_GAMMA_RAMP 0x02
-#define CM_CMYK_COLOR 0x04
-#endif
+
 #define RASTERCAPS 38
 #define RC_BANDING 2
 #define RC_BITBLT 1
@@ -825,9 +790,7 @@ extern "C" {
 #define GGO_GRAY4_BITMAP 5
 #define GGO_GRAY8_BITMAP 6
 #define GGO_GLYPH_INDEX 128
-#if (WINVER >= 0x0500)
-#define GGO_UNHINTED 256
-#endif
+
 #define GM_COMPATIBLE 1
 #define GM_ADVANCED 2
 #define MM_ANISOTROPIC 8
@@ -871,10 +834,7 @@ extern "C" {
 #define SYSTEM_FONT 13
 #define SYSTEM_FIXED_FONT 16
 #define DEFAULT_PALETTE 15
-#if (_WIN32_WINNT >= 0x0500)
-#define DC_BRUSH       18
-#define DC_PEN 19
-#endif
+
 #define SYSPAL_ERROR 0
 #define SYSPAL_STATIC 1
 #define SYSPAL_NOSTATIC 2
@@ -1088,61 +1048,8 @@ extern "C" {
 #define DMPAPER_A2     66
 #define DMPAPER_A3_TRANSVERSE  67
 #define DMPAPER_A3_EXTRA_TRANSVERSE    68
-#if (WINVER >= 0x0500)
-#define DMPAPER_DBL_JAPANESE_POSTCARD  69
-#define DMPAPER_A6     70
-#define DMPAPER_JENV_KAKU2     71
-#define DMPAPER_JENV_KAKU3     72
-#define DMPAPER_JENV_CHOU3     73
-#define DMPAPER_JENV_CHOU4     74
-#define DMPAPER_LETTER_ROTATED 75
-#define DMPAPER_A3_ROTATED     76
-#define DMPAPER_A4_ROTATED     77
-#define DMPAPER_A5_ROTATED     78
-#define DMPAPER_B4_JIS_ROTATED 79
-#define DMPAPER_B5_JIS_ROTATED 80
-#define DMPAPER_JAPANESE_POSTCARD_ROTATED      81
-#define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED  82
-#define DMPAPER_A6_ROTATED     83
-#define DMPAPER_JENV_KAKU2_ROTATED     84
-#define DMPAPER_JENV_KAKU3_ROTATED     85
-#define DMPAPER_JENV_CHOU3_ROTATED     86
-#define DMPAPER_JENV_CHOU4_ROTATED     87
-#define DMPAPER_B6_JIS 88
-#define DMPAPER_B6_JIS_ROTATED 89
-#define DMPAPER_12X11  90
-#define DMPAPER_JENV_YOU4      91
-#define DMPAPER_JENV_YOU4_ROTATED      92
-#define DMPAPER_P16K   93
-#define DMPAPER_P32K   94
-#define DMPAPER_P32KBIG        95
-#define DMPAPER_PENV_1 96
-#define DMPAPER_PENV_2 97
-#define DMPAPER_PENV_3 98
-#define DMPAPER_PENV_4 99
-#define DMPAPER_PENV_5 100
-#define DMPAPER_PENV_6 101
-#define DMPAPER_PENV_7 102
-#define DMPAPER_PENV_8 103
-#define DMPAPER_PENV_9 104
-#define DMPAPER_PENV_10        105
-#define DMPAPER_P16K_ROTATED   106
-#define DMPAPER_P32K_ROTATED   107
-#define DMPAPER_P32KBIG_ROTATED        108
-#define DMPAPER_PENV_1_ROTATED 109
-#define DMPAPER_PENV_2_ROTATED 110
-#define DMPAPER_PENV_3_ROTATED 111
-#define DMPAPER_PENV_4_ROTATED 112
-#define DMPAPER_PENV_5_ROTATED 113
-#define DMPAPER_PENV_6_ROTATED 114
-#define DMPAPER_PENV_7_ROTATED 115
-#define DMPAPER_PENV_8_ROTATED 116
-#define DMPAPER_PENV_9_ROTATED 117
-#define DMPAPER_PENV_10_ROTATED        118
-#define DMPAPER_LAST   118
-#else
 #define DMPAPER_LAST   68
-#endif
+
 #define DMPAPER_USER   256
 #define DMBIN_FIRST    1
 #define DMBIN_UPPER    1
@@ -1212,21 +1119,7 @@ extern "C" {
 #define DM_ICMINTENT 0x01000000
 #define DM_MEDIATYPE 0x02000000
 #define DM_DITHERTYPE 0x04000000
-#if(WINVER >= 0x0500)
-#define DM_PANNINGWIDTH 0x08000000
-#define DM_PANNINGHEIGHT 0x10000000
-#endif
-#if(WINVER >= 0x0501)
-#define DM_DISPLAYFIXEDOUTPUT 0x20000000
-#define DM_DISPLAYORIENTATION 0x00000080
-#define DMDO_DEFAULT 0x00000000
-#define DMDO_90 0x00000001
-#define DMDO_180 0x00000002
-#define DMDO_270 0x00000003
-#define DMDFO_DEFAULT 0x00000000
-#define DMDFO_STRETCH 0x00000001
-#define DMDFO_CENTER 0x00000002
-#endif
+
 #define DMICMMETHOD_NONE       1
 #define DMICMMETHOD_SYSTEM     2
 #define DMICMMETHOD_DRIVER     3
@@ -1319,20 +1212,9 @@ extern "C" {
 #define AC_DST_NO_ALPHA                0x20
 #define LAYOUT_RTL 1
 #define LAYOUT_BITMAPORIENTATIONPRESERVED 8
-#if (WINVER >= 0x0400)
 #define CS_ENABLE           0x00000001
 #define CS_DISABLE          0x00000002
 #define CS_DELETE_TRANSFORM 0x00000003
-#endif
-#if (WINVER >= 0x0500)
-#define GRADIENT_FILL_RECT_H 0x00
-#define GRADIENT_FILL_RECT_V 0x01
-#define GRADIENT_FILL_TRIANGLE 0x02
-#define GRADIENT_FILL_OP_FLAG 0xff
-#define COLORMATCHTOTARGET_EMBEDED 0x00000001
-#define CREATECOLORSPACE_EMBEDED   0x00000001
-#define SETICMPROFILE_EMBEDED      0x00000001
-#endif
 
 #define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
 #define DISPLAY_DEVICE_MULTI_DRIVER        0x00000002
@@ -1342,19 +1224,6 @@ extern "C" {
 #define DISPLAY_DEVICE_REMOVABLE           0x00000020
 #define DISPLAY_DEVICE_MODESPRUNED         0x08000000
 
-#if (_WIN32_WINNT >= 0x0500)
-#define NTM_NONNEGATIVE_AC  0x00010000
-#define NTM_PS_OPENTYPE     0x00020000
-#define NTM_TT_OPENTYPE     0x00040000
-#define NTM_MULTIPLEMASTER  0x00080000
-#define NTM_TYPE1           0x00100000
-#define NTM_DSIG            0x00200000
-#endif
-
-#if (_WIN32_WINNT >= 0x0500)
-#define GGI_MARK_NONEXISTING_GLYPHS 1
-#endif
-
 #ifndef RC_INVOKED
 typedef struct _ABC {
        int abcA;
@@ -1548,19 +1417,16 @@ typedef struct _devicemodeA {
     DWORD  dmNup;
   } DUMMYUNIONNAME2;
   DWORD  dmDisplayFrequency; 
-#if(WINVER >= 0x0400) 
   DWORD  dmICMMethod;
   DWORD  dmICMIntent;
   DWORD  dmMediaType;
   DWORD  dmDitherType;
   DWORD  dmReserved1;
   DWORD  dmReserved2;
-#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
   DWORD  dmPanningWidth;
   DWORD  dmPanningHeight;
-#endif
-#endif /* WINVER >= 0x0400 */
 } DEVMODEA,*LPDEVMODEA,*PDEVMODEA;
+
 typedef struct _devicemodeW { 
   WCHAR   dmDeviceName[CCHDEVICENAME]; 
   WORD   dmSpecVersion; 
@@ -1601,19 +1467,16 @@ typedef struct _devicemodeW {
     DWORD  dmNup;
   } DUMMYUNIONNAME2;
   DWORD  dmDisplayFrequency; 
-#if(WINVER >= 0x0400) 
   DWORD  dmICMMethod;
   DWORD  dmICMIntent;
   DWORD  dmMediaType;
   DWORD  dmDitherType;
   DWORD  dmReserved1;
   DWORD  dmReserved2;
-#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
   DWORD  dmPanningWidth;
   DWORD  dmPanningHeight;
-#endif
-#endif /* WINVER >= 0x0400 */
 } DEVMODEW,*LPDEVMODEW,*PDEVMODEW;
+
 typedef struct tagDIBSECTION {
        BITMAP dsBm;
        BITMAPINFOHEADER dsBmih;
@@ -2210,15 +2073,15 @@ typedef struct tagENHMETAHEADER {
        DWORD nPalEntries;
        SIZEL szlDevice;
        SIZEL szlMillimeters;
-#if (WINVER >= 0x0400)
        DWORD cbPixelFormat;
        DWORD offPixelFormat;
        DWORD bOpenGL;
-#endif
-#if (WINVER >= 0x0500)
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
        SIZEL szlMicrometers;
 #endif
+
 } ENHMETAHEADER,*LPENHMETAHEADER;
+
 typedef struct tagMETARECORD {
        DWORD rdSize;
        WORD rdFunction;
@@ -2318,21 +2181,7 @@ typedef struct _GLYPHMETRICS {
        short gmCellIncX;
        short gmCellIncY;
 } GLYPHMETRICS,*LPGLYPHMETRICS;
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct tagWCRANGE
-{
-       WCHAR wcLow;
-       USHORT cGlyphs;
-} WCRANGE, *PWCRANGE, *LPWCRANGE;
-typedef struct tagGLYPHSET
-{
-       DWORD cbThis;
-       DWORD flAccel;
-       DWORD cGlyphsSupported;
-       DWORD cRanges;
-       WCRANGE ranges[1];
-} GLYPHSET, *PGLYPHSET, *LPGLYPHSET;
-#endif
+
 typedef struct tagKERNINGPAIR {
        WORD wFirst;
        WORD wSecond;
@@ -2633,18 +2482,7 @@ typedef struct _DESIGNVECTOR {
        DWORD dvNumAxes;
        LONG dvValues[MM_MAX_NUMAXES];
 } DESIGNVECTOR, *PDESIGNVECTOR, FAR *LPDESIGNVECTOR;
-#if _WIN32_WINNT >= 0x0500
-typedef struct tagENUMLOGFONTEXDVA
-{
-       ENUMLOGFONTEXA elfEnumLogfontEx;
-       DESIGNVECTOR elfDesignVector;
-} ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA;
-typedef struct tagENUMLOGFONTEXDVW
-{
-       ENUMLOGFONTEXW elfEnumLogfontEx;
-       DESIGNVECTOR elfDesignVector;
-} ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW;
-#endif /* _WIN32_WINNT >= 0x0500 */
+
 typedef USHORT COLOR16;
 typedef struct _TRIVERTEX {
        LONG x;
@@ -2715,11 +2553,7 @@ WINGDIAPI int WINAPI AbortDoc(HDC);
 WINGDIAPI BOOL WINAPI AbortPath(HDC);
 WINGDIAPI int WINAPI AddFontResourceA(LPCSTR);
 WINGDIAPI int WINAPI AddFontResourceW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINGDIAPI HANDLE WINAPI AddFontMemResourceEx(PVOID,DWORD,PVOID,DWORD *);
-WINGDIAPI int WINAPI AddFontResourceExA(LPCSTR,DWORD,PVOID);
-WINGDIAPI int WINAPI AddFontResourceExW(LPCWSTR,DWORD,PVOID);
-#endif
+
 WINGDIAPI BOOL WINAPI AngleArc(HDC,int,int,DWORD,FLOAT,FLOAT);
 WINGDIAPI BOOL WINAPI AnimatePalette(HPALETTE,UINT,UINT,const PALETTEENTRY*);
 WINGDIAPI BOOL WINAPI Arc(HDC,int,int,int,int,int,int,int,int);
@@ -2733,10 +2567,7 @@ WINGDIAPI int WINAPI ChoosePixelFormat(HDC,CONST PIXELFORMATDESCRIPTOR*);
 WINGDIAPI HENHMETAFILE WINAPI CloseEnhMetaFile(HDC);
 WINGDIAPI BOOL WINAPI CloseFigure(HDC);
 WINGDIAPI HMETAFILE WINAPI CloseMetaFile(HDC);
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-WINGDIAPI BOOL WINAPI ColorCorrectPalette(HDC,HPALETTE,DWORD,DWORD);
-WINGDIAPI BOOL WINAPI ColorMatchToTarget(HDC,HDC,DWORD);
-#endif
+
 WINGDIAPI int WINAPI CombineRgn(HRGN,HRGN,HRGN,int);
 WINGDIAPI BOOL WINAPI CombineTransform(LPXFORM,const XFORM*,const XFORM*);
 WINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE,LPCSTR);
@@ -2856,10 +2687,7 @@ WINGDIAPI HANDLE WINAPI GetColorSpace(HDC);
 WINGDIAPI HGDIOBJ WINAPI GetCurrentObject(HDC,UINT);
 WINGDIAPI BOOL WINAPI GetCurrentPositionEx(HDC,LPPOINT);
 WINGDIAPI HCURSOR WINAPI GetCursor(void);
-#if (WINVER >= 0x0500)
-WINGDIAPI COLORREF WINAPI GetDCBrushColor(HDC);
-WINGDIAPI COLORREF WINAPI GetDCPenColor(HDC);
-#endif
+
 WINGDIAPI BOOL WINAPI GetDCOrgEx(HDC,LPPOINT);
 WINGDIAPI int WINAPI GetDeviceCaps(HDC,int);
 WINGDIAPI BOOL WINAPI GetDeviceGammaRamp(HDC,PVOID);
@@ -2920,9 +2748,7 @@ WINGDIAPI BOOL WINAPI GetTextExtentExPointA(HDC,LPCSTR,int,int,LPINT,LPINT,LPSIZ
 WINGDIAPI BOOL WINAPI GetTextExtentExPointW( HDC,LPCWSTR,int,int,LPINT,LPINT,LPSIZE );
 WINGDIAPI BOOL WINAPI GetTextExtentPointA(HDC,LPCSTR,int,LPSIZE);
 WINGDIAPI BOOL WINAPI GetTextExtentPointW(HDC,LPCWSTR,int,LPSIZE);
-#if (_WIN32_WINNT >= 0x0500)
-WINGDIAPI BOOL WINAPI GetTextExtentExPointI(HDC, LPWORD, int, int, LPINT, LPINT, LPSIZE);
-#endif
+
 #ifdef _WIN32_WCE
 extern BOOL GetTextExtentPoint32A(HDC,LPCSTR,int,LPSIZE);
 extern BOOL GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE);
@@ -2930,6 +2756,7 @@ extern BOOL GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE);
 WINGDIAPI BOOL WINAPI GetTextExtentPoint32A(HDC,LPCSTR,int,LPSIZE);
 WINGDIAPI BOOL WINAPI GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE);
 #endif
+
 WINGDIAPI int WINAPI GetTextFaceA(HDC,int,LPSTR);
 WINGDIAPI int WINAPI GetTextFaceW(HDC,int,LPWSTR);
 WINGDIAPI BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA);
@@ -2979,11 +2806,7 @@ WINGDIAPI BOOL WINAPI RectInRegion(HRGN,LPCRECT);
 WINGDIAPI BOOL WINAPI RectVisible(HDC,LPCRECT);
 WINGDIAPI BOOL WINAPI RemoveFontResourceA(LPCSTR);
 WINGDIAPI BOOL WINAPI RemoveFontResourceW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINGDIAPI BOOL WINAPI RemoveFontMemResourceEx(HANDLE);
-WINGDIAPI BOOL WINAPI RemoveFontResourceExA(LPCSTR,DWORD,PVOID);
-WINGDIAPI BOOL WINAPI RemoveFontResourceExW(LPCWSTR,DWORD,PVOID);
-#endif
+
 WINGDIAPI HDC WINAPI ResetDCA(HDC,const DEVMODEA*);
 WINGDIAPI HDC WINAPI ResetDCW(HDC,const DEVMODEW*);
 WINGDIAPI BOOL WINAPI ResizePalette(HPALETTE,UINT);
@@ -3006,10 +2829,7 @@ WINGDIAPI UINT WINAPI SetBoundsRect(HDC,LPCRECT,UINT);
 WINGDIAPI BOOL WINAPI SetBrushOrgEx(HDC,int,int,LPPOINT);
 WINGDIAPI BOOL WINAPI SetColorAdjustment(HDC,const COLORADJUSTMENT*);
 WINGDIAPI BOOL WINAPI SetColorSpace(HDC,HCOLORSPACE);
-#if (_WIN32_WINNT >= 0x0500)
-WINGDIAPI COLORREF WINAPI SetDCBrushColor(HDC,COLORREF);
-WINGDIAPI COLORREF WINAPI SetDCPenColor(HDC,COLORREF);
-#endif
+
 WINGDIAPI BOOL WINAPI SetDeviceGammaRamp(HDC,PVOID);
 WINGDIAPI UINT WINAPI SetDIBColorTable(HDC,UINT,UINT,const RGBQUAD*);
 WINGDIAPI int WINAPI SetDIBits(HDC,HBITMAP,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
@@ -3077,180 +2897,257 @@ WINGDIAPI BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
 WINGDIAPI BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
 WINGDIAPI BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
 WINGDIAPI BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
-#if (WINVER >= 0x0410)
+
+/* Cannot use __AW(). */
+#ifdef UNICODE
+typedef WCHAR BCHAR;
+#else
+typedef BYTE BCHAR;
+#endif
+
+typedef __AW(DOCINFO) DOCINFO, *LPDOCINFO;
+typedef __AW(LOGFONT) LOGFONT,*PLOGFONT,*LPLOGFONT;
+typedef __AW(TEXTMETRIC) TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
+#define ICMENUMPROC __AW(ICMENUMPROC)
+#define FONTENUMPROC __AW(FONTENUMPROC)
+typedef __AW(DEVMODE) DEVMODE,*PDEVMODE,*LPDEVMODE;
+typedef __AW(EXTLOGFONT) EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
+typedef __AW(GCP_RESULTS) GCP_RESULTS,*LPGCP_RESULTS;
+typedef __AW(OUTLINETEXTMETRIC) OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
+typedef __AW(POLYTEXT) POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
+typedef __AW(LOGCOLORSPACE) LOGCOLORSPACE,*LPLOGCOLORSPACE;
+typedef __AW(NEWTEXTMETRIC) NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
+typedef __AW(NEWTEXTMETRICEX) NEWTEXTMETRICEX;
+typedef __AW(ENUMLOGFONT) ENUMLOGFONT,*LPENUMLOGFONT;
+typedef __AW(ENUMLOGFONTEX) ENUMLOGFONTEX,*LPENUMLOGFONTEX;
+typedef __AW(DISPLAY_DEVICE) DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
+#define AddFontResource __AW(AddFontResource)
+
+#define CopyEnhMetaFile __AW(CopyEnhMetaFile)
+#define CopyMetaFile __AW(CopyMetaFile)
+#define CreateColorSpace __AW(CreateColorSpace)
+#define CreateDC __AW(CreateDC)
+#define CreateEnhMetaFile __AW(CreateEnhMetaFile)
+#define CreateFont __AW(CreateFont)
+#define CreateFontIndirect __AW(CreateFontIndirect)
+#define CreateIC __AW(CreateIC)
+#define CreateMetaFile __AW(CreateMetaFile)
+#define CreateScalableFontResource __AW(CreateScalableFontResource)
+#define DeviceCapabilities __AW(DeviceCapabilities)
+#define EnumFontFamilies __AW(EnumFontFamilies)
+#define EnumFontFamiliesEx __AW(EnumFontFamiliesEx)
+#define EnumFonts __AW(EnumFonts)
+#define EnumICMProfiles __AW(EnumICMProfiles)
+#define ExtTextOut __AW(ExtTextOut)
+#define GetCharABCWidthsFloat __AW(GetCharABCWidthsFloat)
+#define GetCharABCWidths __AW(GetCharABCWidths)
+#define GetCharacterPlacement __AW(GetCharacterPlacement)
+#define GetCharWidth32 __AW(GetCharWidth32)
+#define GetCharWidthFloat __AW(GetCharWidthFloat)
+#define GetCharWidth __AW(GetCharWidth)
+#define GetEnhMetaFile __AW(GetEnhMetaFile)
+#define GetEnhMetaFileDescription __AW(GetEnhMetaFileDescription)
+#define GetGlyphOutline __AW(GetGlyphOutline)
+#define GetICMProfile __AW(GetICMProfile)
+#define GetKerningPairs __AW(GetKerningPairs)
+#define GetLogColorSpace __AW(GetLogColorSpace)
+#define GetMetaFile __AW(GetMetaFile)
+#define GetObject __AW(GetObject)
+#define GetOutlineTextMetrics __AW(GetOutlineTextMetrics)
+#define GetTextExtentPoint __AW(GetTextExtentPoint)
+#define GetTextExtentExPoint __AW(GetTextExtentExPoint)
+#define GetTextExtentPoint32 __AW(GetTextExtentPoint32)
+#define GetTextFace __AW(GetTextFace)
+#define GetTextMetrics __AW(GetTextMetrics)
+#define PolyTextOut __AW(PolyTextOut)
+#define RemoveFontResource __AW(RemoveFontResource)
+
+#define ResetDC __AW(ResetDC)
+#define SetICMProfile __AW(SetICMProfile)
+#define StartDoc __AW(StartDoc)
+#define TextOut __AW(TextOut)
+#define UpdateICMRegKey __AW(UpdateICMRegKey)
+#define wglUseFontBitmaps __AW(wglUseFontBitmaps)
+#define wglUseFontOutlines __AW(wglUseFontOutlines)
+
+#endif /* RC_INVOKED */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN98)
+
+#ifndef RC_INVOKED
+WINGDIAPI BOOL WINAPI ColorCorrectPalette(HDC,HPALETTE,DWORD,DWORD);
+WINGDIAPI BOOL WINAPI ColorMatchToTarget(HDC,HDC,DWORD);
 WINGDIAPI BOOL WINAPI AlphaBlend(HDC,int,int,int,int,HDC,int,int,int,int,BLENDFUNCTION);
 WINGDIAPI BOOL WINAPI GradientFill(HDC,PTRIVERTEX,ULONG,PVOID,ULONG,ULONG);
 WINGDIAPI BOOL WINAPI TransparentBlt(HDC,int,int,int,int,HDC,int,int,int,int,UINT);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
+#endif /* ! RC_INVOKED */
+
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN98) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
+#define FR_PRIVATE 0x10
+#define FR_NOT_ENUM 0x20
+#define CLEARTYPE_QUALITY 5
+#define DC_PERSONALITY 25
+#define DC_PRINTRATE   26
+#define DC_PRINTRATEUNIT       27
+#define DC_PRINTERMEM  28
+#define DC_MEDIAREADY  29
+#define DC_STAPLE      30
+#define DC_PRINTRATEPPM        31
+#define DC_COLORDEVICE 32
+#define DC_NUP 33
+#define ETO_PDY 0x2000
+#define SHADEBLENDCAPS 120
+#define SB_NONE 0x00
+#define SB_CONST_ALPHA 0x01
+#define SB_PIXEL_ALPHA 0x02
+#define SB_PREMULT_ALPHA 0x04
+#define SB_GRAD_RECT 0x10
+#define SB_GRAD_TRI 0x20
+#define COLORMGMTCAPS 121
+#define CM_NONE 0x00
+#define CM_DEVICE_ICM 0x01
+#define CM_GAMMA_RAMP 0x02
+#define CM_CMYK_COLOR 0x04
+#define GGO_UNHINTED 256
+#define DC_BRUSH       18
+#define DC_PEN 19
+#define DMPAPER_DBL_JAPANESE_POSTCARD  69
+#define DMPAPER_A6     70
+#define DMPAPER_JENV_KAKU2     71
+#define DMPAPER_JENV_KAKU3     72
+#define DMPAPER_JENV_CHOU3     73
+#define DMPAPER_JENV_CHOU4     74
+#define DMPAPER_LETTER_ROTATED 75
+#define DMPAPER_A3_ROTATED     76
+#define DMPAPER_A4_ROTATED     77
+#define DMPAPER_A5_ROTATED     78
+#define DMPAPER_B4_JIS_ROTATED 79
+#define DMPAPER_B5_JIS_ROTATED 80
+#define DMPAPER_JAPANESE_POSTCARD_ROTATED      81
+#define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED  82
+#define DMPAPER_A6_ROTATED     83
+#define DMPAPER_JENV_KAKU2_ROTATED     84
+#define DMPAPER_JENV_KAKU3_ROTATED     85
+#define DMPAPER_JENV_CHOU3_ROTATED     86
+#define DMPAPER_JENV_CHOU4_ROTATED     87
+#define DMPAPER_B6_JIS 88
+#define DMPAPER_B6_JIS_ROTATED 89
+#define DMPAPER_12X11  90
+#define DMPAPER_JENV_YOU4      91
+#define DMPAPER_JENV_YOU4_ROTATED      92
+#define DMPAPER_P16K   93
+#define DMPAPER_P32K   94
+#define DMPAPER_P32KBIG        95
+#define DMPAPER_PENV_1 96
+#define DMPAPER_PENV_2 97
+#define DMPAPER_PENV_3 98
+#define DMPAPER_PENV_4 99
+#define DMPAPER_PENV_5 100
+#define DMPAPER_PENV_6 101
+#define DMPAPER_PENV_7 102
+#define DMPAPER_PENV_8 103
+#define DMPAPER_PENV_9 104
+#define DMPAPER_PENV_10        105
+#define DMPAPER_P16K_ROTATED   106
+#define DMPAPER_P32K_ROTATED   107
+#define DMPAPER_P32KBIG_ROTATED        108
+#define DMPAPER_PENV_1_ROTATED 109
+#define DMPAPER_PENV_2_ROTATED 110
+#define DMPAPER_PENV_3_ROTATED 111
+#define DMPAPER_PENV_4_ROTATED 112
+#define DMPAPER_PENV_5_ROTATED 113
+#define DMPAPER_PENV_6_ROTATED 114
+#define DMPAPER_PENV_7_ROTATED 115
+#define DMPAPER_PENV_8_ROTATED 116
+#define DMPAPER_PENV_9_ROTATED 117
+#define DMPAPER_PENV_10_ROTATED        118
+#undef DMPAPER_LAST
+#define DMPAPER_LAST   118
+#define DM_PANNINGWIDTH 0x08000000
+#define DM_PANNINGHEIGHT 0x10000000
+#define GRADIENT_FILL_RECT_H 0x00
+#define GRADIENT_FILL_RECT_V 0x01
+#define GRADIENT_FILL_TRIANGLE 0x02
+#define GRADIENT_FILL_OP_FLAG 0xff
+#define COLORMATCHTOTARGET_EMBEDED 0x00000001
+#define CREATECOLORSPACE_EMBEDED   0x00000001
+#define SETICMPROFILE_EMBEDED      0x00000001
+#define NTM_NONNEGATIVE_AC  0x00010000
+#define NTM_PS_OPENTYPE     0x00020000
+#define NTM_TT_OPENTYPE     0x00040000
+#define NTM_MULTIPLEMASTER  0x00080000
+#define NTM_TYPE1           0x00100000
+#define NTM_DSIG            0x00200000
+#define GGI_MARK_NONEXISTING_GLYPHS 1
+
+#ifndef RC_INVOKED
+typedef struct tagWCRANGE
+{
+       WCHAR wcLow;
+       USHORT cGlyphs;
+} WCRANGE, *PWCRANGE, *LPWCRANGE;
+typedef struct tagGLYPHSET
+{
+       DWORD cbThis;
+       DWORD flAccel;
+       DWORD cGlyphsSupported;
+       DWORD cRanges;
+       WCRANGE ranges[1];
+} GLYPHSET, *PGLYPHSET, *LPGLYPHSET;
+typedef struct tagENUMLOGFONTEXDVA
+{
+       ENUMLOGFONTEXA elfEnumLogfontEx;
+       DESIGNVECTOR elfDesignVector;
+} ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA;
+typedef struct tagENUMLOGFONTEXDVW
+{
+       ENUMLOGFONTEXW elfEnumLogfontEx;
+       DESIGNVECTOR elfDesignVector;
+} ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW;
+WINGDIAPI HANDLE WINAPI AddFontMemResourceEx(PVOID,DWORD,PVOID,DWORD *);
+WINGDIAPI int WINAPI AddFontResourceExA(LPCSTR,DWORD,PVOID);
+WINGDIAPI int WINAPI AddFontResourceExW(LPCWSTR,DWORD,PVOID);
+WINGDIAPI COLORREF WINAPI GetDCBrushColor(HDC);
+WINGDIAPI COLORREF WINAPI GetDCPenColor(HDC);
+WINGDIAPI BOOL WINAPI GetTextExtentExPointI(HDC, LPWORD, int, int, LPINT, LPINT, LPSIZE);
+WINGDIAPI BOOL WINAPI RemoveFontMemResourceEx(HANDLE);
+WINGDIAPI BOOL WINAPI RemoveFontResourceExA(LPCSTR,DWORD,PVOID);
+WINGDIAPI BOOL WINAPI RemoveFontResourceExW(LPCWSTR,DWORD,PVOID);
+WINGDIAPI COLORREF WINAPI SetDCBrushColor(HDC,COLORREF);
+WINGDIAPI COLORREF WINAPI SetDCPenColor(HDC,COLORREF);
 WINGDIAPI DWORD WINAPI GetFontUnicodeRanges(HDC,LPGLYPHSET);
 WINGDIAPI DWORD WINAPI GetGlyphIndicesA(HDC,LPCSTR,int,LPWORD,DWORD);
 WINGDIAPI DWORD WINAPI GetGlyphIndicesW(HDC,LPCWSTR,int,LPWORD,DWORD);
-#endif
-#if (WINVER >= 0x0500)
 WINGDIAPI DWORD WINAPI GetLayout(HDC);
 WINGDIAPI DWORD WINAPI SetLayout(HDC, DWORD);
-#endif
+typedef __AW(ENUMLOGFONTEXDV) ENUMLOGFONTEXDV;
+typedef __AW(PENUMLOGFONTEXDV) PENUMLOGFONTEXDV;
+typedef __AW(LPENUMLOGFONTEXDV) LPENUMLOGFONTEXDV;
+#define AddFontResourceEx __AW(AddFontResourceEx)
+#define RemoveFontResourceEx __AW(RemoveFontResourceEx)
+#define GetGlyphIndices  __AW(GetGlyphIndices)
+#endif /* ! RC_INVOKED */
+
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
+#define DC_MEDIATYPENAMES      34
+#define DC_MEDIATYPES  35
+#define DM_DISPLAYFIXEDOUTPUT 0x20000000
+#define DM_DISPLAYORIENTATION 0x00000080
+#define DMDO_DEFAULT 0x00000000
+#define DMDO_90 0x00000001
+#define DMDO_180 0x00000002
+#define DMDO_270 0x00000003
+#define DMDFO_DEFAULT 0x00000000
+#define DMDFO_STRETCH 0x00000001
+#define DMDFO_CENTER 0x00000002
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */
 
-#ifdef UNICODE
-typedef WCHAR BCHAR;
-typedef DOCINFOW DOCINFO, *LPDOCINFO;
-typedef LOGFONTW LOGFONT,*PLOGFONT,*LPLOGFONT;
-typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
-#define ICMENUMPROC ICMENUMPROCW
-#define FONTENUMPROC FONTENUMPROCW
-typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE;
-#if _WIN32_WINNT >= 0x0500
-typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV;
-typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV;
-typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV;
-#endif
-typedef EXTLOGFONTW EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
-typedef GCP_RESULTSW GCP_RESULTS,*LPGCP_RESULTS;
-typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
-typedef POLYTEXTW POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
-typedef LOGCOLORSPACEW LOGCOLORSPACE,*LPLOGCOLORSPACE;
-typedef NEWTEXTMETRICW NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
-typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX;
-typedef ENUMLOGFONTW ENUMLOGFONT,*LPENUMLOGFONT;
-typedef ENUMLOGFONTEXW ENUMLOGFONTEX,*LPENUMLOGFONTEX;
-typedef DISPLAY_DEVICEW DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
-#define AddFontResource AddFontResourceW
-#if (_WIN32_WINNT >= 0x0500)
-#define AddFontResourceEx AddFontResourceExW
-#endif
-#define CopyEnhMetaFile CopyEnhMetaFileW
-#define CopyMetaFile CopyMetaFileW
-#define CreateColorSpace CreateColorSpaceW
-#define CreateDC CreateDCW
-#define CreateEnhMetaFile CreateEnhMetaFileW
-#define CreateFont CreateFontW
-#define CreateFontIndirect CreateFontIndirectW
-#define CreateIC CreateICW
-#define CreateMetaFile CreateMetaFileW
-#define CreateScalableFontResource CreateScalableFontResourceW
-#define DeviceCapabilities DeviceCapabilitiesW
-#define EnumFontFamilies EnumFontFamiliesW
-#define EnumFontFamiliesEx EnumFontFamiliesExW
-#define EnumFonts EnumFontsW
-#define EnumICMProfiles EnumICMProfilesW
-#define ExtTextOut ExtTextOutW
-#define GetCharABCWidthsFloat GetCharABCWidthsFloatW
-#define GetCharABCWidths GetCharABCWidthsW
-#define GetCharacterPlacement GetCharacterPlacementW
-#define GetCharWidth32 GetCharWidth32W
-#define GetCharWidthFloat GetCharWidthFloatW
-#define GetCharWidth GetCharWidthW
-#define GetEnhMetaFile GetEnhMetaFileW
-#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW
-#define GetGlyphOutline GetGlyphOutlineW
-#define GetICMProfile GetICMProfileW
-#define GetKerningPairs GetKerningPairsW
-#define GetLogColorSpace GetLogColorSpaceW
-#define GetMetaFile GetMetaFileW
-#define GetObject GetObjectW
-#define GetOutlineTextMetrics GetOutlineTextMetricsW
-#define GetTextExtentPoint GetTextExtentPointW
-#define GetTextExtentExPoint GetTextExtentExPointW
-#define GetTextExtentPoint32 GetTextExtentPoint32W
-#define GetTextFace GetTextFaceW
-#define GetTextMetrics GetTextMetricsW
-#define PolyTextOut PolyTextOutW
-#define RemoveFontResource RemoveFontResourceW
-#if (_WIN32_WINNT >= 0x0500)
-#define RemoveFontResourceEx RemoveFontResourceExW
-#endif
-#define ResetDC ResetDCW
-#define SetICMProfile SetICMProfileW
-#define StartDoc StartDocW
-#define TextOut TextOutW
-#define UpdateICMRegKey UpdateICMRegKeyW
-#define wglUseFontBitmaps wglUseFontBitmapsW
-#define wglUseFontOutlines wglUseFontOutlinesW
-#if (_WIN32_WINNT >= 0x0500)
-#define GetGlyphIndices  GetGlyphIndicesW
-#endif
-#else  /* UNICODE */
-typedef BYTE BCHAR;
-typedef DOCINFOA DOCINFO, *LPDOCINFO;
-typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT;
-typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
-#define ICMENUMPROC ICMENUMPROCA
-#define FONTENUMPROC FONTENUMPROCA
-typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE;
-#if _WIN32_WINNT >= 0x0500
-typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV;
-typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV;
-typedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV;
-#endif
-typedef EXTLOGFONTA EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
-typedef GCP_RESULTSA GCP_RESULTS,*LPGCP_RESULTS;
-typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
-typedef POLYTEXTA POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
-typedef LOGCOLORSPACEA LOGCOLORSPACE,*LPLOGCOLORSPACE;
-typedef NEWTEXTMETRICA NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
-typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX;
-typedef ENUMLOGFONTA ENUMLOGFONT,*LPENUMLOGFONT;
-typedef ENUMLOGFONTEXA ENUMLOGFONTEX,*LPENUMLOGFONTEX;
-typedef DISPLAY_DEVICEA DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
-#define AddFontResource AddFontResourceA
-#if (_WIN32_WINNT >= 0x0500)
-#define AddFontResourceEx AddFontResourceExA
-#endif
-#define CopyEnhMetaFile CopyEnhMetaFileA
-#define CopyMetaFile CopyMetaFileA
-#define CreateColorSpace CreateColorSpaceA
-#define CreateDC CreateDCA
-#define CreateEnhMetaFile CreateEnhMetaFileA
-#define CreateFont CreateFontA
-#define CreateFontIndirect CreateFontIndirectA
-#define CreateIC CreateICA
-#define CreateMetaFile CreateMetaFileA
-#define CreateScalableFontResource CreateScalableFontResourceA
-#define DeviceCapabilities DeviceCapabilitiesA
-#define EnumFontFamilies EnumFontFamiliesA
-#define EnumFontFamiliesEx EnumFontFamiliesExA
-#define EnumFonts EnumFontsA
-#define EnumICMProfiles EnumICMProfilesA
-#define ExtTextOut ExtTextOutA
-#define GetCharWidthFloat GetCharWidthFloatA
-#define GetCharWidth GetCharWidthA
-#define GetCharacterPlacement GetCharacterPlacementA
-#define GetCharABCWidths GetCharABCWidthsA
-#define GetCharABCWidthsFloat GetCharABCWidthsFloatA
-#define GetCharWidth32 GetCharWidth32A
-#define GetEnhMetaFile GetEnhMetaFileA
-#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA
-#define GetGlyphOutline GetGlyphOutlineA
-#define GetICMProfile GetICMProfileA
-#define GetKerningPairs GetKerningPairsA
-#define GetLogColorSpace GetLogColorSpaceA
-#define GetMetaFile GetMetaFileA
-#define GetObject GetObjectA
-#define GetOutlineTextMetrics GetOutlineTextMetricsA
-#define GetTextExtentPoint GetTextExtentPointA
-#define GetTextExtentExPoint GetTextExtentExPointA
-#define GetTextExtentPoint32 GetTextExtentPoint32A
-#define GetTextFace GetTextFaceA
-#define GetTextMetrics GetTextMetricsA
-#define PolyTextOut PolyTextOutA
-#define RemoveFontResource RemoveFontResourceA
-#if (_WIN32_WINNT >= 0x0500)
-#define RemoveFontResourceEx RemoveFontResourceExA
-#endif
-#define ResetDC ResetDCA
-#define SetICMProfile SetICMProfileA
-#define StartDoc StartDocA
-#define TextOut TextOutA
-#define UpdateICMRegKey UpdateICMRegKeyA
-#define wglUseFontBitmaps wglUseFontBitmapsA
-#define wglUseFontOutlines wglUseFontOutlinesA
-#if (_WIN32_WINNT >= 0x0500)
-#define GetGlyphIndices  GetGlyphIndicesA
-#endif
-#endif /* UNICODE */
-#endif /* RC_INVOKED */
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 0ec8357..ab3b01b 100644 (file)
 #ifndef _WININET_H
 #define _WININET_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <windows.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #define INTERNET_INVALID_PORT_NUMBER 0
 #define INTERNET_DEFAULT_FTP_PORT 21
 #define INTERNET_DEFAULT_GOPHER_PORT 70
@@ -752,27 +755,15 @@ typedef struct {
        DWORD dwFlags;
 } INTERNET_CONNECTED_INFO, * LPINTERNET_CONNECTED_INFO;
 
-#ifdef UNICODE
-typedef URL_COMPONENTSW URL_COMPONENTS;
-typedef LPURL_COMPONENTSW LPURL_COMPONENTS;
-typedef GOPHER_FIND_DATAW GOPHER_FIND_DATA;
-typedef LPGOPHER_FIND_DATAW LPGOPHER_FIND_DATA;
-typedef INTERNET_CACHE_ENTRY_INFOW INTERNET_CACHE_ENTRY_INFO;
-typedef LPINTERNET_CACHE_ENTRY_INFOW LPINTERNET_CACHE_ENTRY_INFO;
-typedef INTERNET_BUFFERSW INTERNET_BUFFERS,*LPINTERNET_BUFFERS;
-typedef INTERNET_CACHE_GROUP_INFOW INTERNET_CACHE_GROUP_INFO;
-typedef LPINTERNET_CACHE_GROUP_INFOW LPINTERNET_CACHE_GROUP_INFO;
-#else
-typedef URL_COMPONENTSA URL_COMPONENTS;
-typedef LPURL_COMPONENTSA LPURL_COMPONENTS;
-typedef GOPHER_FIND_DATAA GOPHER_FIND_DATA;
-typedef LPGOPHER_FIND_DATAA LPGOPHER_FIND_DATA;
-typedef INTERNET_CACHE_ENTRY_INFOA INTERNET_CACHE_ENTRY_INFO;
-typedef LPINTERNET_CACHE_ENTRY_INFOA LPINTERNET_CACHE_ENTRY_INFO;
-typedef INTERNET_BUFFERSA INTERNET_BUFFERS,*LPINTERNET_BUFFERS;
-typedef INTERNET_CACHE_GROUP_INFOA INTERNET_CACHE_GROUP_INFO;
-typedef LPINTERNET_CACHE_GROUP_INFOA LPINTERNET_CACHE_GROUP_INFO;
-#endif
+typedef __AW(URL_COMPONENTS) URL_COMPONENTS;
+typedef __AW(LPURL_COMPONENTS) LPURL_COMPONENTS;
+typedef __AW(GOPHER_FIND_DATA) GOPHER_FIND_DATA;
+typedef __AW(LPGOPHER_FIND_DATA) LPGOPHER_FIND_DATA;
+typedef __AW(INTERNET_CACHE_ENTRY_INFO) INTERNET_CACHE_ENTRY_INFO;
+typedef __AW(LPINTERNET_CACHE_ENTRY_INFO) LPINTERNET_CACHE_ENTRY_INFO;
+typedef __AW(INTERNET_BUFFERS) INTERNET_BUFFERS,*LPINTERNET_BUFFERS;
+typedef __AW(INTERNET_CACHE_GROUP_INFO) INTERNET_CACHE_GROUP_INFO;
+typedef __AW(LPINTERNET_CACHE_GROUP_INFO) LPINTERNET_CACHE_GROUP_INFO;
 BOOL WINAPI InternetTimeFromSystemTime(SYSTEMTIME*,DWORD,LPSTR,DWORD);
 BOOL WINAPI InternetTimeToSystemTime(LPCSTR,SYSTEMTIME*,DWORD);
 BOOL WINAPI InternetDebugGetLocalTime(SYSTEMTIME*,PDWORD);
@@ -903,111 +894,59 @@ BOOL WINAPI GetUrlCacheGroupAttributeW(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROU
 BOOL WINAPI SetUrlCacheGroupAttributeA(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOA,LPVOID);
 BOOL WINAPI SetUrlCacheGroupAttributeW(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOW,LPVOID);
 
-#ifdef UNICODE
-#define InternetCrackUrl InternetCrackUrlW
-#define InternetCreateUrl InternetCreateUrlW
-#define InternetCanonicalizeUrl InternetCanonicalizeUrlW
-#define InternetCheckConnection InternetCheckConnectionW
-#define InternetCombineUrl InternetCombineUrlW
-#define InternetOpen InternetOpenW
-#define InternetConnect InternetConnectW
-#define InternetOpenUrl InternetOpenUrlW
-#define InternetFindNextFile InternetFindNextFileW
-#define InternetQueryOption InternetQueryOptionW
-#define InternetSetOption InternetSetOptionW
-#define InternetSetOptionEx InternetSetOptionExW
-#define InternetGetLastResponseInfo InternetGetLastResponseInfoW
-#define InternetReadFileEx  InternetReadFileExW
-#define FtpFindFirstFile FtpFindFirstFileW
-#define FtpGetFile FtpGetFileW
-#define FtpPutFile FtpPutFileW
-#define FtpDeleteFile FtpDeleteFileW
-#define FtpRenameFile FtpRenameFileW
-#define FtpOpenFile FtpOpenFileW
-#define FtpCreateDirectory FtpCreateDirectoryW
-#define FtpRemoveDirectory FtpRemoveDirectoryW
-#define FtpSetCurrentDirectory FtpSetCurrentDirectoryW
-#define FtpGetCurrentDirectory FtpGetCurrentDirectoryW
-#define FtpCommand FtpCommandW
-#define GopherGetLocatorType GopherGetLocatorTypeW
-#define GopherCreateLocator GopherCreateLocatorW
-#define GopherFindFirstFile GopherFindFirstFileW
-#define GopherOpenFile GopherOpenFileW
-#define GopherGetAttribute GopherGetAttributeW
-#define HttpSendRequest HttpSendRequestW
-#define HttpOpenRequest HttpOpenRequestW
-#define HttpAddRequestHeaders HttpAddRequestHeadersW
-#define HttpQueryInfo HttpQueryInfoW
-#define InternetSetCookie InternetSetCookieW
-#define InternetGetCookie InternetGetCookieW
-#define CreateUrlCacheEntry CreateUrlCacheEntryW
-#define RetrieveUrlCacheEntryStream RetrieveUrlCacheEntryStreamW
-#define FindNextUrlCacheEntry FindNextUrlCacheEntryW
-#define CommitUrlCacheEntry CommitUrlCacheEntryW
-#define GetUrlCacheEntryInfo GetUrlCacheEntryInfoW
-#define SetUrlCacheEntryInfo SetUrlCacheEntryInfoW
-#define FindFirstUrlCacheEntry FindFirstUrlCacheEntryW
-#define RetrieveUrlCacheEntryFile RetrieveUrlCacheEntryFileW
-#define HttpSendRequestEx       HttpSendRequestExW
-#define HttpEndRequest          HttpEndRequestW
-#define GetUrlCacheGroupAttribute  GetUrlCacheGroupAttributeW
-#define SetUrlCacheGroupAttribute  SetUrlCacheGroupAttributeW
-#define DeleteUrlCacheEntry  DeleteUrlCacheEntryW
-
-#else
-#define GopherGetAttribute GopherGetAttributeA
-#define InternetCrackUrl InternetCrackUrlA
-#define InternetCreateUrl InternetCreateUrlA
-#define InternetCanonicalizeUrl InternetCanonicalizeUrlA
-#define InternetCheckConnection InternetCheckConnectionA
-#define InternetCombineUrl InternetCombineUrlA
-#define InternetOpen InternetOpenA
-#define InternetConnect InternetConnectA
-#define InternetOpenUrl InternetOpenUrlA
-#define InternetFindNextFile InternetFindNextFileA
-#define InternetQueryOption InternetQueryOptionA
-#define InternetSetOption InternetSetOptionA
-#define InternetSetOptionEx InternetSetOptionExA
-#define InternetGetLastResponseInfo InternetGetLastResponseInfoA
-#define InternetReadFileEx  InternetReadFileExA
-#define FtpFindFirstFile FtpFindFirstFileA
-#define FtpGetFile FtpGetFileA
-#define FtpPutFile FtpPutFileA
-#define FtpDeleteFile FtpDeleteFileA
-#define FtpRenameFile FtpRenameFileA
-#define FtpOpenFile FtpOpenFileA
-#define FtpCreateDirectory FtpCreateDirectoryA
-#define FtpRemoveDirectory FtpRemoveDirectoryA
-#define FtpSetCurrentDirectory FtpSetCurrentDirectoryA
-#define FtpGetCurrentDirectory FtpGetCurrentDirectoryA
-#define FtpCommand FtpCommandA
-#define GopherGetLocatorType GopherGetLocatorTypeA
-#define GopherCreateLocator GopherCreateLocatorA
-#define GopherFindFirstFile GopherFindFirstFileA
-#define GopherOpenFile GopherOpenFileA
-#define HttpSendRequest HttpSendRequestA
-#define HttpOpenRequest HttpOpenRequestA
-#define HttpAddRequestHeaders HttpAddRequestHeadersA
-#define HttpQueryInfo HttpQueryInfoA
-#define InternetSetCookie InternetSetCookieA
-#define InternetGetCookie InternetGetCookieA
-#define CreateUrlCacheEntry CreateUrlCacheEntryA
-#define RetrieveUrlCacheEntryStream RetrieveUrlCacheEntryStreamA
-#define FindNextUrlCacheEntry FindNextUrlCacheEntryA
-#define CommitUrlCacheEntry CommitUrlCacheEntryA
-#define GetUrlCacheEntryInfo GetUrlCacheEntryInfoA
-#define SetUrlCacheEntryInfo SetUrlCacheEntryInfoA
-#define FindFirstUrlCacheEntry FindFirstUrlCacheEntryA
-#define RetrieveUrlCacheEntryFile RetrieveUrlCacheEntryFileA
-#define HttpSendRequestEx       HttpSendRequestExA
-#define HttpEndRequest          HttpEndRequestA
-#define GetUrlCacheGroupAttribute  GetUrlCacheGroupAttributeA
-#define SetUrlCacheGroupAttribute  SetUrlCacheGroupAttributeA
-#define DeleteUrlCacheEntry  DeleteUrlCacheEntryA
-
-#endif /* UNICODE */
+#define InternetCrackUrl __AW(InternetCrackUrl)
+#define InternetCreateUrl __AW(InternetCreateUrl)
+#define InternetCanonicalizeUrl __AW(InternetCanonicalizeUrl)
+#define InternetCheckConnection __AW(InternetCheckConnection)
+#define InternetCombineUrl __AW(InternetCombineUrl)
+#define InternetOpen __AW(InternetOpen)
+#define InternetConnect __AW(InternetConnect)
+#define InternetOpenUrl __AW(InternetOpenUrl)
+#define InternetFindNextFile __AW(InternetFindNextFile)
+#define InternetQueryOption __AW(InternetQueryOption)
+#define InternetSetOption __AW(InternetSetOption)
+#define InternetSetOptionEx __AW(InternetSetOptionEx)
+#define InternetGetLastResponseInfo __AW(InternetGetLastResponseInfo)
+#define InternetReadFileEx  __AW(InternetReadFileEx)
+#define FtpFindFirstFile __AW(FtpFindFirstFile)
+#define FtpGetFile __AW(FtpGetFile)
+#define FtpPutFile __AW(FtpPutFile)
+#define FtpDeleteFile __AW(FtpDeleteFile)
+#define FtpRenameFile __AW(FtpRenameFile)
+#define FtpOpenFile __AW(FtpOpenFile)
+#define FtpCreateDirectory __AW(FtpCreateDirectory)
+#define FtpRemoveDirectory __AW(FtpRemoveDirectory)
+#define FtpSetCurrentDirectory __AW(FtpSetCurrentDirectory)
+#define FtpGetCurrentDirectory __AW(FtpGetCurrentDirectory)
+#define FtpCommand __AW(FtpCommand)
+#define GopherGetLocatorType __AW(GopherGetLocatorType)
+#define GopherCreateLocator __AW(GopherCreateLocator)
+#define GopherFindFirstFile __AW(GopherFindFirstFile)
+#define GopherOpenFile __AW(GopherOpenFile)
+#define GopherGetAttribute __AW(GopherGetAttribute)
+#define HttpSendRequest __AW(HttpSendRequest)
+#define HttpOpenRequest __AW(HttpOpenRequest)
+#define HttpAddRequestHeaders __AW(HttpAddRequestHeaders)
+#define HttpQueryInfo __AW(HttpQueryInfo)
+#define InternetSetCookie __AW(InternetSetCookie)
+#define InternetGetCookie __AW(InternetGetCookie)
+#define CreateUrlCacheEntry __AW(CreateUrlCacheEntry)
+#define RetrieveUrlCacheEntryStream __AW(RetrieveUrlCacheEntryStream)
+#define FindNextUrlCacheEntry __AW(FindNextUrlCacheEntry)
+#define CommitUrlCacheEntry __AW(CommitUrlCacheEntry)
+#define GetUrlCacheEntryInfo __AW(GetUrlCacheEntryInfo)
+#define SetUrlCacheEntryInfo __AW(SetUrlCacheEntryInfo)
+#define FindFirstUrlCacheEntry __AW(FindFirstUrlCacheEntry)
+#define RetrieveUrlCacheEntryFile __AW(RetrieveUrlCacheEntryFile)
+#define HttpSendRequestEx       __AW(HttpSendRequestEx)
+#define HttpEndRequest          __AW(HttpEndRequest)
+#define GetUrlCacheGroupAttribute  __AW(GetUrlCacheGroupAttribute)
+#define SetUrlCacheGroupAttribute  __AW(SetUrlCacheGroupAttribute)
+#define DeleteUrlCacheEntry  __AW(DeleteUrlCacheEntry)
 #endif /* RC_INVOKED */
+
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 2ef7099..cdf0a1f 100644 (file)
 #ifndef _WINIOCTL_H
 #define _WINIOCTL_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #define HIST_NO_OF_BUCKETS 24
 #define HISTOGRAM_BUCKET_SIZE sizeof(HISTOGRAM_BUCKET)
 #define DISK_HISTOGRAM_SIZE sizeof(DISK_HISTOGRAM)
@@ -453,12 +455,14 @@ typedef struct _DRIVE_LAYOUT_INFORMATION_GPT {
   LARGE_INTEGER UsableLength;
   ULONG MaxPartitionCount;
 } DRIVE_LAYOUT_INFORMATION_GPT,*PDRIVE_LAYOUT_INFORMATION_GPT;
+
 #ifndef _DRIVE_LAYOUT_INFORMATION_MBR_DEFINED
 #define _DRIVE_LAYOUT_INFORMATION_MBR_DEFINED
 typedef struct _DRIVE_LAYOUT_INFORMATION_MBR {
   ULONG Signature;
 } DRIVE_LAYOUT_INFORMATION_MBR, *PDRIVE_LAYOUT_INFORMATION_MBR;
 #endif
+
 typedef struct _PARTITION_INFORMATION_MBR {
   BYTE PartitionType;
   BOOLEAN BootIndicator;
@@ -593,4 +597,5 @@ typedef enum _STORAGE_BUS_TYPE {
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 3e2f9c3..5e33683 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WINLDAP_H
 #define _WINLDAP_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 /*
  * LDAP API
@@ -541,173 +542,88 @@ WINLDAPAPI LDAP ldap_conn_from_msg(LDAP*,LDAPMessage*);
 WINLDAPAPI INT LdapUnicodeToUTF8(LPCWSTR,int,LPSTR,int);
 WINLDAPAPI INT LdapUTF8ToUnicode(LPCSTR,int,LPWSTR,int);
 
-#ifdef UNICODE
-#define LDAPControl LDAPControlW
-#define PLDAPControl PLDAPControlW
-#define LDAPMod LDAPModW
-#define PLDAPMod LDAPModW
-#define LDAPSortKey LDAPSortKeyW
-#define PLDAPSortKey PLDAPSortKeyW
-#define LDAPAPIInfo LDAPAPIInfoW
-#define PLDAPAPIInfo PLDAPAPIInfoW
-#define LDAPAPIFeatureInfo LDAPAPIFeatureInfoW
-#define PLDAPAPIFeatureInfo PLDAPAPIFeatureInfoW
-#define cldap_open cldap_openW
-#define ldap_open ldap_openW
-#define ldap_bind ldap_bindW
-#define ldap_bind_s ldap_bind_sW
-#define ldap_simple_bind ldap_simple_bindW
-#define ldap_simple_bind_s ldap_simple_bind_sW
-#define ldap_sasl_bind ldap_sasl_bindW
-#define ldap_sasl_bind_s ldap_sasl_bind_sW
-#define ldap_init ldap_initW
-#define ldap_sslinit ldap_sslinitW
-#define ldap_get_option ldap_get_optionW
-#define ldap_set_option ldap_set_optionW
-#define ldap_start_tls_s ldap_start_tls_sW
-#define ldap_add ldap_addW
-#define ldap_add_ext ldap_add_extW
-#define ldap_add_s ldap_add_sW
-#define ldap_add_ext_s ldap_add_ext_sW
-#define ldap_compare ldap_compareW
-#define ldap_compare_ext ldap_compare_extW
-#define ldap_compare_s ldap_compare_sW
-#define ldap_compare_ext_s ldap_compare_ext_sW
-#define ldap_delete ldap_deleteW
-#define ldap_delete_ext ldap_delete_extW
-#define ldap_delete_s ldap_delete_sW
-#define ldap_delete_ext_s ldap_delete_ext_sW
-#define ldap_extended_operation_s ldap_extended_operation_sW
-#define ldap_extended_operation ldap_extended_operationW
-#define ldap_modify ldap_modifyW
-#define ldap_modify_ext ldap_modify_extW
-#define ldap_modify_s ldap_modify_sW
-#define ldap_modify_ext_s ldap_modify_ext_sW
-#define ldap_check_filter ldap_check_filterW
-#define ldap_count_values ldap_count_valuesW
-#define ldap_create_page_control ldap_create_page_controlW
-#define ldap_create_sort_control ldap_create_sort_controlW
-#define ldap_create_vlv_control ldap_create_vlv_controlW
-#define ldap_encode_sort_control ldap_encode_sort_controlW
-#define ldap_escape_filter_element ldap_escape_filter_elementW
-#define ldap_first_attribute ldap_first_attributeW
-#define ldap_next_attribute ldap_next_attributeW
-#define ldap_get_values ldap_get_valuesW
-#define ldap_get_values_len ldap_get_values_lenW
-#define ldap_parse_extended_result ldap_parse_extended_resultW
-#define ldap_parse_page_control ldap_parse_page_controlW
-#define ldap_parse_reference ldap_parse_referenceW
-#define ldap_parse_result ldap_parse_resultW
-#define ldap_parse_sort_control ldap_parse_sort_controlW
-#define ldap_parse_vlv_control ldap_parse_vlv_controlW
-#define ldap_search ldap_searchW
-#define ldap_search_s ldap_search_sW
-#define ldap_search_st ldap_search_stW
-#define ldap_search_ext ldap_search_extW
-#define ldap_search_ext_s ldap_search_ext_sW
-#define ldap_search_init_page ldap_search_init_pageW
-#define ldap_err2string ldap_err2stringW
-#define ldap_control_free ldap_control_freeW
-#define ldap_controls_free ldap_controls_freeW
-#define ldap_free_controls ldap_free_controlsW
-#define ldap_memfree ldap_memfreeW
-#define ldap_value_free ldap_value_freeW
-#define ldap_dn2ufn ldap_dn2ufnW
-#define ldap_ufn2dn ldap_ufn2dnW
-#define ldap_explode_dn ldap_explode_dnW
-#define ldap_get_dn ldap_get_dnW
-#define ldap_modrdn ldap_modrdnW
-#define ldap_modrdn_s ldap_modrdn_sW
-#define ldap_modrdn2 ldap_modrdn2W
-#define ldap_modrdn2_s ldap_modrdn2_sW
-#define ldap_rename ldap_rename_extW
-#define ldap_rename_s ldap_rename_ext_sW
-#define ldap_rename_ext ldap_rename_extW
-#define ldap_rename_ext_s ldap_rename_ext_sW
-#else
-#define LDAPControl LDAPControlA
-#define PLDAPControl PLDAPControlA
-#define LDAPMod LDAPModA
-#define PLDAPMod LDAPModA
-#define LDAPSortKey LDAPSortKeyA
-#define PLDAPSortKey PLDAPSortKeyA
-#define LDAPAPIInfo LDAPAPIInfoA
-#define PLDAPAPIInfo PLDAPAPIInfoA
-#define LDAPAPIFeatureInfo LDAPAPIFeatureInfoA
-#define PLDAPAPIFeatureInfo PLDAPAPIFeatureInfoA
-#define cldap_open cldap_openA
-#define ldap_open ldap_openA
-#define ldap_bind ldap_bindA
-#define ldap_bind_s ldap_bind_sA
-#define ldap_simple_bind ldap_simple_bindA
-#define ldap_simple_bind_s ldap_simple_bind_sA
-#define ldap_sasl_bind ldap_sasl_bindA
-#define ldap_sasl_bind_s ldap_sasl_bind_sA
-#define ldap_init ldap_initA
-#define ldap_sslinit ldap_sslinitA
-#define ldap_get_option ldap_get_optionA
-#define ldap_set_option ldap_set_optionA
-#define ldap_start_tls_s ldap_start_tls_sA
-#define ldap_add ldap_addA
-#define ldap_add_ext ldap_add_extA
-#define ldap_add_s ldap_add_sA
-#define ldap_add_ext_s ldap_add_ext_sA
-#define ldap_compare ldap_compareA
-#define ldap_compare_ext ldap_compare_extA
-#define ldap_compare_s ldap_compare_sA
-#define ldap_compare_ext_s ldap_compare_ext_sA
-#define ldap_delete ldap_deleteA
-#define ldap_delete_ext ldap_delete_extA
-#define ldap_delete_s ldap_delete_sA
-#define ldap_delete_ext_s ldap_delete_ext_sA
-#define ldap_extended_operation_s ldap_extended_operation_sA
-#define ldap_extended_operation ldap_extended_operationA
-#define ldap_modify ldap_modifyA
-#define ldap_modify_ext ldap_modify_extA
-#define ldap_modify_s ldap_modify_sA
-#define ldap_modify_ext_s ldap_modify_ext_sA
-#define ldap_check_filter ldap_check_filterA
-#define ldap_count_values ldap_count_valuesA
-#define ldap_create_page_control ldap_create_page_controlA
-#define ldap_create_sort_control ldap_create_sort_controlA
-#define ldap_create_vlv_control ldap_create_vlv_controlA
-#define ldap_encode_sort_control ldap_encode_sort_controlA
-#define ldap_escape_filter_element ldap_escape_filter_elementA
-#define ldap_first_attribute ldap_first_attributeA
-#define ldap_next_attribute ldap_next_attributeA
-#define ldap_get_values ldap_get_valuesA
-#define ldap_get_values_len ldap_get_values_lenA
-#define ldap_parse_extended_result ldap_parse_extended_resultA
-#define ldap_parse_page_control ldap_parse_page_controlA
-#define ldap_parse_reference ldap_parse_referenceA
-#define ldap_parse_result ldap_parse_resultA
-#define ldap_parse_sort_control ldap_parse_sort_controlA
-#define ldap_parse_vlv_control ldap_parse_vlv_controlA
-#define ldap_search ldap_searchA
-#define ldap_search_s ldap_search_sA
-#define ldap_search_st ldap_search_stA
-#define ldap_search_ext ldap_search_extA
-#define ldap_search_ext_s ldap_search_ext_sA
-#define ldap_search_init_page ldap_search_init_pageA
-#define ldap_err2string ldap_err2stringA
-#define ldap_control_free ldap_control_freeA
-#define ldap_controls_free ldap_controls_freeA
-#define ldap_free_controls ldap_free_controlsA
-#define ldap_memfree ldap_memfreeA
-#define ldap_value_free ldap_value_freeA
-#define ldap_dn2ufn ldap_dn2ufnA
-#define ldap_ufn2dn ldap_ufn2dnA
-#define ldap_explode_dn ldap_explode_dnA
-#define ldap_get_dn ldap_get_dnA
-#define ldap_modrdn ldap_modrdnA
-#define ldap_modrdn_s ldap_modrdn_sA
-#define ldap_modrdn2 ldap_modrdn2A
-#define ldap_modrdn2_s ldap_modrdn2_sA
-#define ldap_rename ldap_rename_extA
-#define ldap_rename_s ldap_rename_ext_sA
-#define ldap_rename_ext ldap_rename_extA
-#define ldap_rename_ext_s ldap_rename_ext_sA
-#endif 
+#define LDAPControl __AW(LDAPControl)
+#define PLDAPControl __AW(PLDAPControl)
+#define LDAPMod __AW(LDAPMod)
+#define PLDAPMod __AW(LDAPMod)
+#define LDAPSortKey __AW(LDAPSortKey)
+#define PLDAPSortKey __AW(PLDAPSortKey)
+#define LDAPAPIInfo __AW(LDAPAPIInfo)
+#define PLDAPAPIInfo __AW(PLDAPAPIInfo)
+#define LDAPAPIFeatureInfo __AW(LDAPAPIFeatureInfo)
+#define PLDAPAPIFeatureInfo __AW(PLDAPAPIFeatureInfo)
+#define cldap_open __AW(cldap_open)
+#define ldap_open __AW(ldap_open)
+#define ldap_bind __AW(ldap_bind)
+#define ldap_bind_s __AW(ldap_bind_s)
+#define ldap_simple_bind __AW(ldap_simple_bind)
+#define ldap_simple_bind_s __AW(ldap_simple_bind_s)
+#define ldap_sasl_bind __AW(ldap_sasl_bind)
+#define ldap_sasl_bind_s __AW(ldap_sasl_bind_s)
+#define ldap_init __AW(ldap_init)
+#define ldap_sslinit __AW(ldap_sslinit)
+#define ldap_get_option __AW(ldap_get_option)
+#define ldap_set_option __AW(ldap_set_option)
+#define ldap_start_tls_s __AW(ldap_start_tls_s)
+#define ldap_add __AW(ldap_add)
+#define ldap_add_ext __AW(ldap_add_ext)
+#define ldap_add_s __AW(ldap_add_s)
+#define ldap_add_ext_s __AW(ldap_add_ext_s)
+#define ldap_compare __AW(ldap_compare)
+#define ldap_compare_ext __AW(ldap_compare_ext)
+#define ldap_compare_s __AW(ldap_compare_s)
+#define ldap_compare_ext_s __AW(ldap_compare_ext_s)
+#define ldap_delete __AW(ldap_delete)
+#define ldap_delete_ext __AW(ldap_delete_ext)
+#define ldap_delete_s __AW(ldap_delete_s)
+#define ldap_delete_ext_s __AW(ldap_delete_ext_s)
+#define ldap_extended_operation_s __AW(ldap_extended_operation_s)
+#define ldap_extended_operation __AW(ldap_extended_operation)
+#define ldap_modify __AW(ldap_modify)
+#define ldap_modify_ext __AW(ldap_modify_ext)
+#define ldap_modify_s __AW(ldap_modify_s)
+#define ldap_modify_ext_s __AW(ldap_modify_ext_s)
+#define ldap_check_filter __AW(ldap_check_filter)
+#define ldap_count_values __AW(ldap_count_values)
+#define ldap_create_page_control __AW(ldap_create_page_control)
+#define ldap_create_sort_control __AW(ldap_create_sort_control)
+#define ldap_create_vlv_control __AW(ldap_create_vlv_control)
+#define ldap_encode_sort_control __AW(ldap_encode_sort_control)
+#define ldap_escape_filter_element __AW(ldap_escape_filter_element)
+#define ldap_first_attribute __AW(ldap_first_attribute)
+#define ldap_next_attribute __AW(ldap_next_attribute)
+#define ldap_get_values __AW(ldap_get_values)
+#define ldap_get_values_len __AW(ldap_get_values_len)
+#define ldap_parse_extended_result __AW(ldap_parse_extended_result)
+#define ldap_parse_page_control __AW(ldap_parse_page_control)
+#define ldap_parse_reference __AW(ldap_parse_reference)
+#define ldap_parse_result __AW(ldap_parse_result)
+#define ldap_parse_sort_control __AW(ldap_parse_sort_control)
+#define ldap_parse_vlv_control __AW(ldap_parse_vlv_control)
+#define ldap_search __AW(ldap_search)
+#define ldap_search_s __AW(ldap_search_s)
+#define ldap_search_st __AW(ldap_search_st)
+#define ldap_search_ext __AW(ldap_search_ext)
+#define ldap_search_ext_s __AW(ldap_search_ext_s)
+#define ldap_search_init_page __AW(ldap_search_init_page)
+#define ldap_err2string __AW(ldap_err2string)
+#define ldap_control_free __AW(ldap_control_free)
+#define ldap_controls_free __AW(ldap_controls_free)
+#define ldap_free_controls __AW(ldap_free_controls)
+#define ldap_memfree __AW(ldap_memfree)
+#define ldap_value_free __AW(ldap_value_free)
+#define ldap_dn2ufn __AW(ldap_dn2ufn)
+#define ldap_ufn2dn __AW(ldap_ufn2dn)
+#define ldap_explode_dn __AW(ldap_explode_dn)
+#define ldap_get_dn __AW(ldap_get_dn)
+#define ldap_modrdn __AW(ldap_modrdn)
+#define ldap_modrdn_s __AW(ldap_modrdn_s)
+#define ldap_modrdn2 __AW(ldap_modrdn2)
+#define ldap_modrdn2_s __AW(ldap_modrdn2_s)
+#define ldap_rename __AW(ldap_rename_ext)
+#define ldap_rename_s __AW(ldap_rename_ext_s)
+#define ldap_rename_ext __AW(ldap_rename_ext)
+#define ldap_rename_ext_s __AW(ldap_rename_ext_s)
 
 #ifdef __cplusplus
 }
index 85f1592..a6b0fd8 100644 (file)
 #ifndef _WINNETWK_H
 #define _WINNETWK_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #define WNNC_NET_MSNET      0x00010000
 #define WNNC_NET_LANMAN     0x00020000
 #define WNNC_NET_NETWARE    0x00030000
@@ -305,67 +307,39 @@ DWORD APIENTRY WNetGetLastErrorA(PDWORD,LPSTR,DWORD,LPSTR,DWORD);
 DWORD APIENTRY WNetGetLastErrorW(PDWORD,LPWSTR,DWORD,LPWSTR,DWORD);
 DWORD APIENTRY MultinetGetConnectionPerformanceA(LPNETRESOURCEA,LPNETCONNECTINFOSTRUCT);
 DWORD APIENTRY MultinetGetConnectionPerformanceW(LPNETRESOURCEW,LPNETCONNECTINFOSTRUCT);
-#ifdef UNICODE
-#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESW
-#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEW
-#define PFNGETPROFILEPATH PFNGETPROFILEPATHW
-typedef NETRESOURCEW NETRESOURCE,*LPNETRESOURCE;
-typedef CONNECTDLGSTRUCTW CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT;
-typedef DISCDLGSTRUCTW DISCDLGSTRUCT,*LPDISCDLGSTRUCT;
-typedef REMOTE_NAME_INFOW REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO;
-typedef UNIVERSAL_NAME_INFOW UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO;
-#define WNetEnumResource WNetEnumResourceW
-#define WNetOpenEnum WNetOpenEnumW
-#define WNetGetResourceInformation WNetGetResourceInformationW
-#define WNetGetResourceParent WNetGetResourceParentW
-#define WNetGetUniversalName WNetGetUniversalNameW
-#define WNetSetConnection WNetSetConnectionW
-#define WNetUseConnection WNetUseConnectionW
-#define WNetGetConnection WNetGetConnectionW
-#define WNetCancelConnection2 WNetCancelConnection2W
-#define WNetCancelConnection WNetCancelConnectionW
-#define WNetAddConnection3 WNetAddConnection3W
-#define WNetAddConnection2 WNetAddConnection2W
-#define WNetAddConnection WNetAddConnectionW
-#define WNetConnectionDialog1 WNetConnectionDialog1W
-#define WNetDisconnectDialog1 WNetDisconnectDialog1W
-#define WNetGetNetworkInformation WNetGetNetworkInformationW
-#define WNetGetProviderName WNetGetProviderNameW
-#define WNetGetUser WNetGetUserW
-#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceW
-#define WNetGetLastError WNetGetLastErrorW
-#else
-#define PFNGETPROFILEPATH PFNGETPROFILEPATHA
-#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEA
-#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESA
-typedef NETRESOURCEA NETRESOURCE,*LPNETRESOURCE;
-typedef CONNECTDLGSTRUCTA CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT;
-typedef DISCDLGSTRUCTA DISCDLGSTRUCT,*LPDISCDLGSTRUCT;
-typedef UNIVERSAL_NAME_INFOA UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO;
-typedef REMOTE_NAME_INFOA REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO;
-#define WNetOpenEnum WNetOpenEnumA
-#define WNetEnumResource WNetEnumResourceA
-#define WNetGetResourceInformation WNetGetResourceInformationA
-#define WNetGetResourceParent WNetGetResourceParentA
-#define WNetGetUniversalName WNetGetUniversalNameA
-#define WNetConnectionDialog1 WNetConnectionDialog1A
-#define WNetDisconnectDialog1 WNetDisconnectDialog1A
-#define WNetAddConnection2 WNetAddConnection2A
-#define WNetAddConnection3 WNetAddConnection3A
-#define WNetCancelConnection WNetCancelConnectionA
-#define WNetCancelConnection2 WNetCancelConnection2A
-#define WNetGetConnection WNetGetConnectionA
-#define WNetUseConnection WNetUseConnectionA
-#define WNetSetConnection WNetSetConnectionA
-#define WNetAddConnection WNetAddConnectionA
-#define WNetGetUser WNetGetUserA
-#define WNetGetProviderName WNetGetProviderNameA
-#define WNetGetNetworkInformation WNetGetNetworkInformationA
-#define WNetGetLastError WNetGetLastErrorA
-#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceA
-#endif
-#endif
+
+#define PFNPROCESSPOLICIES __AW(PFNPROCESSPOLICIES)
+#define PFNRECONCILEPROFILE __AW(PFNRECONCILEPROFILE)
+#define PFNGETPROFILEPATH __AW(PFNGETPROFILEPATH)
+typedef __AW(NETRESOURCE) NETRESOURCE,*LPNETRESOURCE;
+typedef __AW(CONNECTDLGSTRUCT) CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT;
+typedef __AW(DISCDLGSTRUCT) DISCDLGSTRUCT,*LPDISCDLGSTRUCT;
+typedef __AW(REMOTE_NAME_INFO) REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO;
+typedef __AW(UNIVERSAL_NAME_INFO) UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO;
+#define WNetEnumResource __AW(WNetEnumResource)
+#define WNetOpenEnum __AW(WNetOpenEnum)
+#define WNetGetResourceInformation __AW(WNetGetResourceInformation)
+#define WNetGetResourceParent __AW(WNetGetResourceParent)
+#define WNetGetUniversalName __AW(WNetGetUniversalName)
+#define WNetSetConnection __AW(WNetSetConnection)
+#define WNetUseConnection __AW(WNetUseConnection)
+#define WNetGetConnection __AW(WNetGetConnection)
+#define WNetCancelConnection2 __AW(WNetCancelConnection2)
+#define WNetCancelConnection __AW(WNetCancelConnection)
+#define WNetAddConnection3 __AW(WNetAddConnection3)
+#define WNetAddConnection2 __AW(WNetAddConnection2)
+#define WNetAddConnection __AW(WNetAddConnection)
+#define WNetConnectionDialog1 __AW(WNetConnectionDialog1)
+#define WNetDisconnectDialog1 __AW(WNetDisconnectDialog1)
+#define WNetGetNetworkInformation __AW(WNetGetNetworkInformation)
+#define WNetGetProviderName __AW(WNetGetProviderName)
+#define WNetGetUser __AW(WNetGetUser)
+#define MultinetGetConnectionPerformance __AW(MultinetGetConnectionPerformance)
+#define WNetGetLastError __AW(WNetGetLastError)
+#endif /* ! RC_INVOKED */
+
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 794849d..7e9c6d7 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WINNLS_H
 #define _WINNLS_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifndef WINBASEAPI
 #ifdef __W32API_USE_DLLIMPORT__
@@ -41,9 +42,7 @@ extern "C" {
 #define MAX_DEFAULTCHAR        2
 #define LOCALE_NOUSEROVERRIDE  0x80000000
 #define LOCALE_USE_CP_ACP      0x40000000
-#if (WINVER >= 0x0400)
 #define LOCALE_RETURN_NUMBER   0x20000000
-#endif
 #define LOCALE_ILANGUAGE       1
 #define LOCALE_SLANGUAGE       2
 #define LOCALE_SENGLANGUAGE    0x1001
@@ -429,47 +428,7 @@ extern "C" {
 #define IS_HIGH_SURROGATE(c) (((c) & 0xFC00) == 0xD800)
 #define IS_LOW_SURROGATE(c) (((c) & 0xFC00) == 0xDC00)
 #define IS_SURROGATE_PAIR(hc,lc) (IS_HIGH_SURROGATE(hc) && IS_LOW_SURROGATE(lc))
-#if (WINVER >= 0x0410)
-#define CAL_SYEARMONTH 47
-#define CAL_ITWODIGITYEARMAX 48
-#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
-#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
-#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
-#define LOCALE_SYEARMONTH 0x1006
-#define LOCALE_SENGCURRNAME 0x1007
-#define LOCALE_SNATIVECURRNAME 0x1008
-#define LOCALE_SSORTNAME 0x1013
-#endif /* (WINVER >= 0x0410) */
-#if (WINVER >= 0x0500)
-#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
-#define LOCALE_IDIGITSUBSTITUTION 0x1014
-#define LOCALE_IPAPERSIZE 0x100A
-#define DATE_YEARMONTH 8
-#define DATE_LTRREADING 16
-#define DATE_RTLREADING 32
-#define MAP_EXPAND_LIGATURES   0x2000
-#define WC_NO_BEST_FIT_CHARS 1024
-#endif /* (WINVER >= 0x0500) */
-#if (WINVER >= 0x0600)
-/*#define CAL_SSHORTESTDAYNAME1 */
-/*#define CAL_SSHORTESTDAYNAME2 */
-/*#define CAL_SSHORTESTDAYNAME3 */
-/*#define CAL_SSHORTESTDAYNAME4 */
-/*#define CAL_SSHORTESTDAYNAME5 */
-/*#define CAL_SSHORTESTDAYNAME6 */
-/*#define CAL_SSHORTESTDAYNAME7 */
-#define CAL_UMALQURA 23
-/*#define LOCALE_SDURATION */
-/*#define LOCALE_SIETFLANGUAGE */
-/*#define LOCALE_SISO3166CTRYNAME2 */
-/*#define LOCALE_SISO639LANGNAME2 */
-/*#define LOCALE_SKEYBOARDSTOINSTALL */
-/*#define LOCALE_SNAME */
-/*#define LOCALE_SNAN */
-/*#define LOCALE_SNEGINFINITY */
-/*#define LOCALE_SPOSINFINITY */
-/*#define LOCALE_SSCRIPTS */
-#endif /* (WINVER >= 0x0600) */
+
 #ifndef  _BASETSD_H
 typedef long LONG_PTR;
 #endif 
@@ -650,7 +609,65 @@ WINBASEAPI BOOL WINAPI SetLocaleInfoW(LCID,LCTYPE,LPCWSTR);
 WINBASEAPI BOOL WINAPI SetThreadLocale(LCID);
 WINBASEAPI BOOL WINAPI SetUserGeoID(GEOID);
 WINBASEAPI int WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL);
-#if (WINVER >= 0x0500)
+
+#define CALINFO_ENUMPROC __AW(CALINFO_ENUMPROC)
+#define CALINFO_ENUMPROCEX __AW(CALINFO_ENUMPROCEX)
+#define LOCALE_ENUMPROC __AW(LOCALE_ENUMPROC)
+#define CODEPAGE_ENUMPROC __AW(CODEPAGE_ENUMPROC)
+#define DATEFMT_ENUMPROC __AW(DATEFMT_ENUMPROC)
+#define DATEFMT_ENUMPROCEX __AW(DATEFMT_ENUMPROCEX)
+#define TIMEFMT_ENUMPROC __AW(TIMEFMT_ENUMPROC)
+#define LANGUAGEGROUP_ENUMPROC __AW(LANGUAGEGROUP_ENUMPROC)
+#define LANGGROUPLOCALE_ENUMPROC __AW(LANGGROUPLOCALE_ENUMPROC)
+#define UILANGUAGE_ENUMPROC __AW(UILANGUAGE_ENUMPROC)
+typedef __AW(CPINFOEX) CPINFOEX;
+typedef __AW(LPCPINFOEX) LPCPINFOEX;
+typedef __AW(CURRENCYFMT) CURRENCYFMT;
+typedef __AW(LPCURRENCYFMT) LPCURRENCYFMT;
+typedef __AW(NUMBERFMT) NUMBERFMT;
+typedef __AW(LPNUMBERFMT) LPNUMBERFMT;
+#define CompareString __AW(CompareString)
+#define EnumCalendarInfo __AW(EnumCalendarInfo)
+#define EnumSystemCodePages __AW(EnumSystemCodePages)
+#define EnumSystemLocales __AW(EnumSystemLocales)
+#define EnumTimeFormats __AW(EnumTimeFormats)
+#define FoldString __AW(FoldString)
+#define GetCalendarInfo __AW(GetCalendarInfo)
+#define GetCPInfoEx __AW(GetCPInfoEx)
+#define GetCurrencyFormat __AW(GetCurrencyFormat)
+#define GetDateFormat __AW(GetDateFormat)
+#define GetGeoInfo __AW(GetGeoInfo)
+#define GetLocaleInfo __AW(GetLocaleInfo)
+#define GetNumberFormat __AW(GetNumberFormat)
+#define GetStringTypeEx __AW(GetStringTypeEx)
+#define GetTimeFormat __AW(GetTimeFormat)
+#define LCMapString __AW(LCMapString)
+#define SetCalendarInfo  __AW(SetCalendarInfo)
+#define SetLocaleInfo __AW(SetLocaleInfo)
+#endif /* RC_INVOKED */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN98)
+#define CAL_SYEARMONTH 47
+#define CAL_ITWODIGITYEARMAX 48
+#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
+#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
+#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
+#define LOCALE_SYEARMONTH 0x1006
+#define LOCALE_SENGCURRNAME 0x1007
+#define LOCALE_SNATIVECURRNAME 0x1008
+#define LOCALE_SSORTNAME 0x1013
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN98) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
+#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
+#define LOCALE_IDIGITSUBSTITUTION 0x1014
+#define LOCALE_IPAPERSIZE 0x100A
+#define DATE_YEARMONTH 8
+#define DATE_LTRREADING 16
+#define DATE_RTLREADING 32
+#define MAP_EXPAND_LIGATURES   0x2000
+#define WC_NO_BEST_FIT_CHARS 1024
+#ifndef RC_INVOKED
 WINBASEAPI BOOL WINAPI EnumCalendarInfoExA(CALINFO_ENUMPROCEXA,LCID,CALID,CALTYPE);
 WINBASEAPI BOOL WINAPI EnumCalendarInfoExW(CALINFO_ENUMPROCEXW,LCID,CALID,CALTYPE);
 WINBASEAPI BOOL WINAPI EnumDateFormatsExA(DATEFMT_ENUMPROCEXA,LCID,DWORD);
@@ -664,95 +681,38 @@ WINBASEAPI BOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW,DWORD,LONG_PTR);
 WINBASEAPI LANGID WINAPI GetSystemDefaultUILanguage(void);
 WINBASEAPI LANGID WINAPI GetUserDefaultUILanguage(void);
 WINBASEAPI BOOL WINAPI IsValidLanguageGroup(LGRPID,DWORD);
-#endif /* (WINVER >= 0x0500) */
+#define EnumCalendarInfoEx __AW(EnumCalendarInfoEx)
+#define EnumDateFormatsEx __AW(EnumDateFormatsEx)
+#define EnumSystemLanguageGroups __AW(EnumSystemLanguageGroups)
+#define EnumLanguageGroupLocales __AW(EnumLanguageGroupLocales)
+#define EnumUILanguages __AW(EnumUILanguages)
+#endif /* ! RC_INVOKED */
+
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
+/*#define CAL_SSHORTESTDAYNAME1 */
+/*#define CAL_SSHORTESTDAYNAME2 */
+/*#define CAL_SSHORTESTDAYNAME3 */
+/*#define CAL_SSHORTESTDAYNAME4 */
+/*#define CAL_SSHORTESTDAYNAME5 */
+/*#define CAL_SSHORTESTDAYNAME6 */
+/*#define CAL_SSHORTESTDAYNAME7 */
+#define CAL_UMALQURA 23
+/*#define LOCALE_SDURATION */
+/*#define LOCALE_SIETFLANGUAGE */
+/*#define LOCALE_SISO3166CTRYNAME2 */
+/*#define LOCALE_SISO639LANGNAME2 */
+/*#define LOCALE_SKEYBOARDSTOINSTALL */
+/*#define LOCALE_SNAME */
+/*#define LOCALE_SNAN */
+/*#define LOCALE_SNEGINFINITY */
+/*#define LOCALE_SPOSINFINITY */
+/*#define LOCALE_SSCRIPTS */
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_VISTA) */
 
-#ifdef UNICODE
-#define CALINFO_ENUMPROC CALINFO_ENUMPROCW
-#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
-#define LOCALE_ENUMPROC LOCALE_ENUMPROCW
-#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
-#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
-#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
-#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
-#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
-#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
-#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
-typedef CPINFOEXW CPINFOEX;
-typedef LPCPINFOEXW LPCPINFOEX;
-typedef CURRENCYFMTW CURRENCYFMT;
-typedef LPCURRENCYFMTW LPCURRENCYFMT;
-typedef NUMBERFMTW NUMBERFMT;
-typedef LPNUMBERFMTW LPNUMBERFMT;
-#define CompareString CompareStringW
-#define EnumCalendarInfo EnumCalendarInfoW
-#define EnumSystemCodePages EnumSystemCodePagesW
-#define EnumSystemLocales EnumSystemLocalesW
-#define EnumTimeFormats EnumTimeFormatsW
-#define FoldString FoldStringW
-#define GetCalendarInfo GetCalendarInfoW
-#define GetCPInfoEx GetCPInfoExW
-#define GetCurrencyFormat GetCurrencyFormatW
-#define GetDateFormat GetDateFormatW
-#define GetGeoInfo GetGeoInfoW
-#define GetLocaleInfo GetLocaleInfoW
-#define GetNumberFormat GetNumberFormatW
-#define GetStringTypeEx GetStringTypeExW
-#define GetTimeFormat GetTimeFormatW
-#define LCMapString LCMapStringW
-#define SetCalendarInfo  SetCalendarInfoW
-#define SetLocaleInfo SetLocaleInfoW
-#if (WINVER >= 0x0500)
-#define EnumCalendarInfoEx EnumCalendarInfoExW
-#define EnumDateFormatsEx EnumDateFormatsExW
-#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW
-#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW
-#define EnumUILanguages EnumUILanguagesW
-#endif /* (WINVER >= 0x0500) */
-#else
-#define CALINFO_ENUMPROC CALINFO_ENUMPROCA
-#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
-#define LOCALE_ENUMPROC LOCALE_ENUMPROCA
-#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
-#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
-#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
-#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
-#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
-#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
-#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
-typedef CPINFOEXA CPINFOEX;
-typedef LPCPINFOEXA LPCPINFOEX;
-typedef CURRENCYFMTA CURRENCYFMT;
-typedef LPCURRENCYFMTA LPCURRENCYFMT;
-typedef NUMBERFMTA NUMBERFMT;
-typedef LPNUMBERFMTA LPNUMBERFMT;
-#define CompareString CompareStringA
-#define EnumCalendarInfo EnumCalendarInfoA
-#define EnumSystemCodePages EnumSystemCodePagesA
-#define EnumSystemLocales EnumSystemLocalesA
-#define EnumTimeFormats EnumTimeFormatsA
-#define FoldString FoldStringA
-#define GetCalendarInfo GetCalendarInfoA
-#define GetCPInfoEx GetCPInfoExA
-#define GetCurrencyFormat GetCurrencyFormatA
-#define GetDateFormat GetDateFormatA
-#define GetGeoInfo GetGeoInfoA
-#define GetLocaleInfo GetLocaleInfoA
-#define GetNumberFormat GetNumberFormatA
-#define GetStringTypeEx GetStringTypeExA
-#define GetTimeFormat GetTimeFormatA
-#define LCMapString LCMapStringA
-#define SetCalendarInfo SetCalendarInfoA
-#define SetLocaleInfo SetLocaleInfoA
-#if (WINVER >= 0x0500)
-#define EnumCalendarInfoEx EnumCalendarInfoExA
-#define EnumDateFormatsEx EnumDateFormatsExA
-#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA
-#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA
-#define EnumUILanguages EnumUILanguagesA
-#endif /* (WINVER >= 0x0500) */
-#endif /* UNICODE */
-#endif /* RC_INVOKED */
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index fa971e8..95383a8 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WINNT_H
 #define _WINNT_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 /* translate GCC target defines to MS equivalents. Keep this synchronized
    with windows.h. */
@@ -36,6 +37,7 @@
 #elif defined(__i386__) && !defined(_M_IX86)
 #define _M_IX86 300
 #endif
+
 #if defined(_M_IX86) && !defined(_X86_)
 #define _X86_
 #elif defined(_M_ALPHA) && !defined(_ALPHA_)
@@ -87,6 +89,7 @@ extern "C" {
 #ifndef VOID
 #define VOID void
 #endif
+
 typedef char CHAR;
 typedef short SHORT;
 typedef long LONG;
@@ -120,8 +123,11 @@ typedef WCHAR *PWCHAR,*LPWCH,*PWCH,*NWPSTR,*LPWSTR,*PWSTR;
 typedef CONST WCHAR *LPCWCH,*PCWCH,*LPCWSTR,*PCWSTR;
 typedef CHAR *PCHAR,*LPCH,*PCH,*NPSTR,*LPSTR,*PSTR;
 typedef CONST CHAR *LPCCH,*PCSTR,*LPCSTR;
+
 #ifndef _TCHAR_DEFINED
 #define _TCHAR_DEFINED
+
+/* Cannot use __AW(). */
 #ifdef UNICODE
 /*
  * NOTE: This tests UNICODE, which is different from the _UNICODE define
@@ -129,15 +135,6 @@ typedef CONST CHAR *LPCCH,*PCSTR,*LPCSTR;
  */
 typedef WCHAR TCHAR;
 typedef WCHAR _TCHAR;
-#else
-typedef CHAR TCHAR;
-typedef CHAR _TCHAR;
-#endif
-#endif
-typedef TCHAR TBYTE,*PTCH,*PTBYTE;
-typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR;
-typedef const TCHAR *LPCTSTR;
-#ifdef UNICODE
 /*
  * __TEXT is a private macro whose specific use is to force the expansion of a
  * macro passed as an argument to the macro TEXT.  DO NOT use this
@@ -146,8 +143,17 @@ typedef const TCHAR *LPCTSTR;
  */
 #define __TEXT(q) L##q
 #else
+typedef CHAR TCHAR;
+typedef CHAR _TCHAR;
 #define __TEXT(q) q
 #endif
+
+#endif
+
+typedef TCHAR TBYTE,*PTCH,*PTBYTE;
+typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR;
+typedef const TCHAR *LPCTSTR;
+
 /*
  * UNICODE a constant string when UNICODE is defined, else returns the string
  * unmodified.
@@ -157,13 +163,16 @@ typedef const TCHAR *LPCTSTR;
 #define TEXT(q) __TEXT(q)    
 typedef SHORT *PSHORT;
 typedef LONG *PLONG;
+
 #ifdef STRICT
 typedef void *HANDLE;
 #define DECLARE_HANDLE(n) typedef struct n##__{int i;}*n
 #else
+
 typedef PVOID HANDLE;
 #define DECLARE_HANDLE(n) typedef HANDLE n
 #endif
+
 typedef HANDLE *PHANDLE,*LPHANDLE;
 typedef DWORD LCID;
 typedef PDWORD PLCID;
@@ -483,9 +492,7 @@ typedef DWORD FLONG;
 #define SECURITY_RESTRICTED_CODE_RID 0xC
 #define SECURITY_NT_NON_UNIQUE_RID 0x15
 #define SID_REVISION 1
-#if (_WIN32_WINNT >= 0x0600)
-#define SID_HASH_SIZE 32
-#endif
+
 #define DOMAIN_USER_RID_ADMIN 0x1F4L
 #define DOMAIN_USER_RID_GUEST 0x1F5L
 #define DOMAIN_GROUP_RID_ADMINS        0x200L
@@ -733,9 +740,7 @@ typedef DWORD FLONG;
 #define SUBLANG_ENGLISH_AUS    0x03
 #define SUBLANG_ENGLISH_CAN    0x04
 #define SUBLANG_ENGLISH_NZ     0x05
-#if (WINVER >= 0x0600)
-#define SUBLANG_ENGLISH_IRELAND        0x06
-#endif
+
 #define SUBLANG_ENGLISH_EIRE   0x06
 #define SUBLANG_ENGLISH_SOUTH_AFRICA   0x07
 #define SUBLANG_ENGLISH_JAMAICA        0x08
@@ -794,9 +799,7 @@ typedef DWORD FLONG;
 #define SUBLANG_LAO_LAO        0x01
 #define SUBLANG_LAO_LAO_PDR    SUBLANG_LAO_LAO /* SUBLANG_LAO_LAO is what MS defines */
 #define SUBLANG_LATVIAN_LATVIA 0x01
-#if (WINVER >= 0x0600)
-#define SUBLANG_LITHUANIAN_LITHUANIA   0x01
-#endif
+
 #define SUBLANG_LITHUANIAN     0x01
 #define SUBLANG_LOWER_SORBIAN_GERMANY  0x02
 #define SUBLANG_LUXEMBOURGISH_LUXEMBOURG       0x01
@@ -821,9 +824,7 @@ typedef DWORD FLONG;
 #define SUBLANG_PERSIAN_IRAN   0x01
 #define SUBLANG_POLISH_POLAND  0x01
 #define SUBLANG_PORTUGUESE_BRAZILIAN   0x01
-#if (WINVER >= 0x0600)
-#define SUBLANG_PORTUGUESE_PORTUGAL    0x02
-#endif
+
 #define SUBLANG_PORTUGUESE     0x02
 #define SUBLANG_PUNJABI_INDIA  0x01
 /* ??? #define SUBLANG_PUNJABI_PAKISTAN 0x01 ??? */
@@ -874,9 +875,7 @@ typedef DWORD FLONG;
 #define SUBLANG_SPANISH_NICARAGUA      0x13
 #define SUBLANG_SPANISH_PUERTO_RICO    0x14
 #define SUBLANG_SPANISH_US     0x15
-#if (WINVER >= 0x0600)
-#define SUBLANG_SWEDISH_SWEDEN 0x01
-#endif
+
 #define SUBLANG_SWEDISH        0x01
 #define SUBLANG_SWEDISH_FINLAND        0x02
 #define SUBLANG_SYRIAC 0x01
@@ -1016,10 +1015,7 @@ typedef DWORD FLONG;
 #define KEY_WRITE 0x20006
 #define KEY_EXECUTE 0x20019
 #define KEY_READ 0x20019
-#if (_WIN32_WINNT >= 0x0502)
-#define KEY_WOW64_64KEY 0x0100
-#define KEY_WOW64_32KEY 0x0200
-#endif
+
 #define KEY_ALL_ACCESS 0xf003f
 #define REG_WHOLE_HIVE_VOLATILE        1
 #define REG_REFRESH_HIVE       2
@@ -1086,10 +1082,12 @@ typedef DWORD FLONG;
 #define RTL_RESOURCE_TYPE 1
 /* Also in winddk.h */
 #define FIELD_OFFSET(t,f) ((LONG)&(((t*)0)->f))
+
 #ifndef CONTAINING_RECORD
 #define CONTAINING_RECORD(address, type, field) \
   ((type*)((PCHAR)(address) - (PCHAR)(&((type *)0)->field)))
 #endif
+
 /* end winddk.h */
 #define IMAGE_SIZEOF_FILE_HEADER       20
 #define IMAGE_FILE_RELOCS_STRIPPED     1
@@ -1137,11 +1135,14 @@ typedef DWORD FLONG;
 #define IMAGE_NT_SIGNATURE 0x00004550
 #define IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b
 #define IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x20b
+
 #ifdef _WIN64
 #define IMAGE_NT_OPTIONAL_HDR_MAGIC IMAGE_NT_OPTIONAL_HDR64_MAGIC
 #else
+
 #define IMAGE_NT_OPTIONAL_HDR_MAGIC IMAGE_NT_OPTIONAL_HDR32_MAGIC
 #endif
+
 #define IMAGE_ROM_OPTIONAL_HDR_MAGIC 0x107
 #define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944
 #define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16
@@ -1490,15 +1491,18 @@ typedef DWORD FLONG;
 #define IMAGE_ORDINAL_FLAG64 0x8000000000000000ULL
 #define IMAGE_SNAP_BY_ORDINAL64(o) ((o&IMAGE_ORDINAL_FLAG64)!=0)
 #define IMAGE_ORDINAL64(o) (o&0xffff)
+
 #ifdef _WIN64
 #define IMAGE_ORDINAL_FLAG             IMAGE_ORDINAL_FLAG64
 #define IMAGE_SNAP_BY_ORDINAL(o)       IMAGE_SNAP_BY_ORDINAL64(o)
 #define IMAGE_ORDINAL(o)               IMAGE_ORDINAL64(o)
 #else
+
 #define IMAGE_ORDINAL_FLAG             IMAGE_ORDINAL_FLAG32
 #define IMAGE_SNAP_BY_ORDINAL(o)       IMAGE_SNAP_BY_ORDINAL32(o)
 #define IMAGE_ORDINAL(o)               IMAGE_ORDINAL32(o)
 #endif
+
 #define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000
 #define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000
 #define IMAGE_DEBUG_TYPE_UNKNOWN 0
@@ -1607,12 +1611,7 @@ typedef DWORD FLONG;
 
 #define TOKEN_EXECUTE    (STANDARD_RIGHTS_EXECUTE)
 #define TOKEN_SOURCE_LENGTH 8
-#if (_WIN32_WINNT >= 0x0600)
-#define TOKEN_MANDATORY_POLICY_OFF 0
-#define TOKEN_MANDATORY_POLICY_NO_WRITE_UP 1
-#define TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN 2
-#define TOKEN_MANDATORY_POLICY_VALID_MASK 3
-#endif
+
 /* end ddk/ntifs.h */
 #define DLL_PROCESS_DETACH     0
 #define DLL_PROCESS_ATTACH     1
@@ -1708,23 +1707,7 @@ typedef DWORD FLONG;
 #define TAPE_LOCK 3
 #define TAPE_UNLOCK 4
 #define TAPE_FORMAT 5
-#if (_WIN32_WINNT >= 0x0500)
-#define VER_MINORVERSION 0x0000001
-#define VER_MAJORVERSION 0x0000002
-#define VER_BUILDNUMBER 0x0000004
-#define VER_PLATFORMID 0x0000008
-#define VER_SERVICEPACKMINOR 0x0000010
-#define VER_SERVICEPACKMAJOR 0x0000020
-#define VER_SUITENAME 0x0000040
-#define VER_PRODUCT_TYPE 0x0000080
-#define VER_EQUAL 1
-#define VER_GREATER 2
-#define VER_GREATER_EQUAL 3
-#define VER_LESS 4
-#define VER_LESS_EQUAL 5
-#define VER_AND 6
-#define VER_OR 7
-#endif
+
 #define VER_PLATFORM_WIN32s 0
 #define VER_PLATFORM_WIN32_WINDOWS 1
 #define VER_PLATFORM_WIN32_NT 2
@@ -1751,16 +1734,7 @@ typedef DWORD FLONG;
 #define WT_EXECUTEINTIMERTHREAD 0x00000020                           
 #define WT_EXECUTEINPERSISTENTTHREAD 0x00000080                      
 #define WT_TRANSFER_IMPERSONATION 0x00000100                         
-#if (_WIN32_WINNT >= 0x0501)
-#define ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION 1
-#define ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION 2
-#define ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION 3
-#define ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION 4
-#define ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION 5
-#define ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION 6
-#define ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION 7
-#define ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES 9
-#endif /* (_WIN32_WINNT >= 0x0501) */
+
 #define BTYPE(x) ((x)&N_BTMASK)
 #define ISPTR(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT))
 #define ISFCN(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_FUNCTION<<N_BTSHFT))
@@ -1784,6 +1758,7 @@ typedef DWORD FLONG;
 #define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003
 #define IO_REPARSE_TAG_SYMLINK 0xA000000C
 #define WT_SET_MAX_THREADPOOL_THREADS(Flags,Limit) ((Flags)|=(Limit)<<16)
+
 #ifndef RC_INVOKED
 typedef DWORD ACCESS_MASK, *PACCESS_MASK;
 
@@ -1801,6 +1776,7 @@ typedef struct _GUID {
 } GUID, *REFGUID, *LPGUID;
 #define SYSTEM_LUID { 0x3e7, 0x0 }
 #endif /* GUID_DEFINED */
+
 typedef struct _GENERIC_MAPPING {
        ACCESS_MASK GenericRead;
        ACCESS_MASK GenericWrite;
@@ -2021,7 +1997,9 @@ typedef struct {
        DWORD Dr6;
        DWORD Dr7;
 } CONTEXT;
+
 #elif defined(_ALPHA_)
+
 #define CONTEXT_ALPHA  0x20000
 #define CONTEXT_CONTROL        (CONTEXT_ALPHA|1L)
 #define CONTEXT_FLOATING_POINT (CONTEXT_ALPHA|2L)
@@ -2099,6 +2077,7 @@ typedef struct _CONTEXT {
        DWORD ContextFlags;
        DWORD Fill[4];
 } CONTEXT;
+
 #elif defined(SHx)
 
 /* These are the debug or break registers on the SH3 */
@@ -2128,6 +2107,7 @@ typedef struct _DEBUG_REGISTERS {
 #define CONTEXT_DEBUG_REGISTERS (CONTEXT_SH3 | 0x00000008L)
 #define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS)
 #else  /* SH4 */
+
 #define CONTEXT_CONTROL         (CONTEXT_SH4 | 0x00000001L)
 #define CONTEXT_INTEGER         (CONTEXT_SH4 | 0x00000002L)
 #define CONTEXT_DEBUG_REGISTERS (CONTEXT_SH4 | 0x00000008L)
@@ -2202,12 +2182,15 @@ typedef struct _CONTEXT {
        ULONG   OldStuff[2];
        DEBUG_REGISTERS DebugRegisters;
 #else
+
        ULONG   Fpscr;
        ULONG   Fpul;
        ULONG   FRegs[16];
+
 #if defined(SH4)
        ULONG   xFRegs[16];
 #endif
+
 #endif
 } CONTEXT;
 
@@ -2359,6 +2342,7 @@ typedef struct _CONTEXT {
        DWORD Fill[2];
 
 } CONTEXT;
+
 #elif defined(ARM)
 
 /* The following flags control the contents of the CONTEXT structure. */
@@ -2409,10 +2393,11 @@ typedef struct _CONTEXT {
        ULONG Pc;
        ULONG Psr;
 } CONTEXT;
-
 #else
+
 #error "undefined processor type"
 #endif
+
 typedef CONTEXT *PCONTEXT,*LPCONTEXT;
 typedef struct _EXCEPTION_RECORD {
        DWORD ExceptionCode;
@@ -2431,27 +2416,33 @@ typedef union _LARGE_INTEGER {
     DWORD LowPart;
     LONG  HighPart;
   } u;
+
 #if ! defined(NONAMELESSUNION) || defined(__cplusplus)
   _ANONYMOUS_STRUCT struct {
     DWORD LowPart;
     LONG  HighPart;
   };
 #endif /* NONAMELESSUNION */
+
   LONGLONG QuadPart;
 } LARGE_INTEGER, *PLARGE_INTEGER;
+
 typedef union _ULARGE_INTEGER {
   struct {
     DWORD LowPart;
     DWORD HighPart;
   } u;
+
 #if ! defined(NONAMELESSUNION) || defined(__cplusplus)
   _ANONYMOUS_STRUCT struct {
     DWORD LowPart;
     DWORD HighPart;
   };
 #endif /* NONAMELESSUNION */
+
   ULONGLONG QuadPart;
 } ULARGE_INTEGER, *PULARGE_INTEGER;
+
 typedef struct _LUID {
   DWORD LowPart;
   LONG HighPart;
@@ -2510,14 +2501,7 @@ typedef struct _SID_AND_ATTRIBUTES {
 } SID_AND_ATTRIBUTES, *PSID_AND_ATTRIBUTES;
 typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
 typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;
-#if (_WIN32_WINNT >= 0x0600)
-typedef ULONG_PTR SID_HASH_ENTRY, *PSID_HASH_ENTRY;
-typedef struct _SID_AND_ATTRIBUTES_HASH {
-       DWORD SidCount;
-       PSID_AND_ATTRIBUTES SidAttr;
-       SID_HASH_ENTRY Hash[SID_HASH_SIZE];
-} SID_AND_ATTRIBUTES_HASH, *PSID_AND_ATTRIBUTES_HASH;
-#endif
+
 typedef struct _TOKEN_SOURCE {
        CHAR SourceName[TOKEN_SOURCE_LENGTH];
        LUID SourceIdentifier;
@@ -2564,30 +2548,7 @@ typedef struct _TOKEN_STATISTICS {
 typedef struct _TOKEN_USER {
        SID_AND_ATTRIBUTES User;
 } TOKEN_USER, *PTOKEN_USER;
-#if (_WIN32_WINNT >= 0x0600)
-typedef struct _TOKEN_LINKED_TOKEN {
-       HANDLE LinkedToken;
-} TOKEN_LINKED_TOKEN, *PTOKEN_LINKED_TOKEN;
-typedef struct _TOKEN_MANDATORY_LABEL {
-       SID_AND_ATTRIBUTES Label;
-} TOKEN_MANDATORY_LABEL, *PTOKEN_MANDATORY_LABEL;
-typedef struct _TOKEN_MANDATORY_POLICY {
-       DWORD Policy;
-} TOKEN_MANDATORY_POLICY, *PTOKEN_MANDATORY_POLICY;
-typedef struct _TOKEN_ELEVATION {
-       DWORD TokenIsElevated;
-} TOKEN_ELEVATION, *PTOKEN_ELEVATION;
-typedef struct _TOKEN_ACCESS_INFORMATION {
-       PSID_AND_ATTRIBUTES_HASH SidHash;
-       PSID_AND_ATTRIBUTES_HASH RestrictedSidHash;
-       PTOKEN_PRIVILEGES Privileges;
-       LUID AuthenticationId;
-       TOKEN_TYPE TokenType;
-       SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
-       TOKEN_MANDATORY_POLICY MandatoryPolicy;
-       DWORD Flags;
-} TOKEN_ACCESS_INFORMATION, *PTOKEN_ACCESS_INFORMATION;
-#endif
+
 typedef DWORD SECURITY_INFORMATION,*PSECURITY_INFORMATION;
 typedef WORD SECURITY_DESCRIPTOR_CONTROL,*PSECURITY_DESCRIPTOR_CONTROL;
 typedef struct _SECURITY_DESCRIPTOR {
@@ -2617,7 +2578,8 @@ typedef enum _TOKEN_INFORMATION_CLASS {
        TokenSandBoxInert,
        TokenAuditPolicy,
        TokenOrigin,
-#if (_WIN32_WINNT >= 0x0600)
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
        TokenElevationType,
        TokenLinkedToken,
        TokenElevation,
@@ -2630,6 +2592,7 @@ typedef enum _TOKEN_INFORMATION_CLASS {
        TokenMandatoryPolicy,
        TokenLogonSid,
 #endif
+
        MaxTokenInfoClass
 } TOKEN_INFORMATION_CLASS;
 typedef enum _SID_NAME_USE {
@@ -2982,6 +2945,7 @@ typedef struct _IMAGE_OPTIONAL_HEADER64 {
        DWORD NumberOfRvaAndSizes;
        IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
 } IMAGE_OPTIONAL_HEADER64,*PIMAGE_OPTIONAL_HEADER64;
+
 #ifdef _WIN64
 typedef IMAGE_OPTIONAL_HEADER64                IMAGE_OPTIONAL_HEADER;
 typedef PIMAGE_OPTIONAL_HEADER64       PIMAGE_OPTIONAL_HEADER;
@@ -2989,6 +2953,7 @@ typedef PIMAGE_OPTIONAL_HEADER64  PIMAGE_OPTIONAL_HEADER;
 typedef IMAGE_OPTIONAL_HEADER32                IMAGE_OPTIONAL_HEADER;
 typedef PIMAGE_OPTIONAL_HEADER32       PIMAGE_OPTIONAL_HEADER;
 #endif
+
 typedef struct _IMAGE_ROM_OPTIONAL_HEADER {
        WORD Magic;
        BYTE MajorLinkerVersion;
@@ -3071,6 +3036,7 @@ DWORD Signature;
 IMAGE_FILE_HEADER FileHeader;
 IMAGE_OPTIONAL_HEADER64 OptionalHeader;
 } IMAGE_NT_HEADERS64,*PIMAGE_NT_HEADERS64;
+
 #ifdef _WIN64
 typedef IMAGE_NT_HEADERS64     IMAGE_NT_HEADERS;
 typedef PIMAGE_NT_HEADERS64    PIMAGE_NT_HEADERS;
@@ -3078,6 +3044,7 @@ typedef PIMAGE_NT_HEADERS64       PIMAGE_NT_HEADERS;
 typedef IMAGE_NT_HEADERS32     IMAGE_NT_HEADERS;
 typedef PIMAGE_NT_HEADERS32    PIMAGE_NT_HEADERS;
 #endif
+
 typedef struct _IMAGE_ROM_HEADERS {
        IMAGE_FILE_HEADER FileHeader;
        IMAGE_ROM_OPTIONAL_HEADER OptionalHeader;
@@ -3224,6 +3191,7 @@ typedef struct _IMAGE_THUNK_DATA64 {
                ULONGLONG AddressOfData;
        } u1;
 } IMAGE_THUNK_DATA64, *PIMAGE_THUNK_DATA64;
+
 #ifdef __WIN64
 typedef IMAGE_THUNK_DATA64     IMAGE_THUNK_DATA;
 typedef PIMAGE_THUNK_DATA64    PIMAGE_THUNK_DATA;
@@ -3231,6 +3199,7 @@ typedef PIMAGE_THUNK_DATA64       PIMAGE_THUNK_DATA;
 typedef IMAGE_THUNK_DATA32     IMAGE_THUNK_DATA;
 typedef PIMAGE_THUNK_DATA32    PIMAGE_THUNK_DATA;
 #endif
+
 typedef struct _IMAGE_IMPORT_DESCRIPTOR {
        _ANONYMOUS_UNION union {
                DWORD Characteristics;
@@ -3268,6 +3237,7 @@ typedef struct _IMAGE_TLS_DIRECTORY64 {
        DWORD SizeOfZeroFill;
        DWORD Characteristics;
 } IMAGE_TLS_DIRECTORY64, *PIMAGE_TLS_DIRECTORY64;
+
 #ifdef __WIN64
 typedef IMAGE_TLS_DIRECTORY64  IMAGE_TLS_DIRECTORY;
 typedef PIMAGE_TLS_DIRECTORY64 PIMAGE_TLS_DIRECTORY;
@@ -3275,6 +3245,7 @@ typedef PIMAGE_TLS_DIRECTORY64    PIMAGE_TLS_DIRECTORY;
 typedef IMAGE_TLS_DIRECTORY32  IMAGE_TLS_DIRECTORY;
 typedef PIMAGE_TLS_DIRECTORY32 PIMAGE_TLS_DIRECTORY;
 #endif
+
 typedef struct _IMAGE_RESOURCE_DIRECTORY {
        DWORD Characteristics;
        DWORD TimeDateStamp;
@@ -3621,7 +3592,7 @@ typedef struct _JOBOBJECT_JOBSET_INFORMATION {
 } JOBOBJECT_JOBSET_INFORMATION,*PJOBOBJECT_JOBSET_INFORMATION;
 
 /* Fixme: Making these defines conditional on WINVER will break ddk includes */ 
-#if 1 /* (WINVER >= 0x0500) */
+#if 1 /* (WINVER >= _WIN32_WINNT_WIN2K) */
 #include <pshpack4.h>
 
 #define ES_SYSTEM_REQUIRED                0x00000001
@@ -3657,15 +3628,6 @@ typedef enum {
        PowerActionWarmEject
 } POWER_ACTION, *PPOWER_ACTION;
 
-#if (_WIN32_WINNT >= 0x0600)
-typedef enum {
-       PoAc = 0,
-       PoDc = 1,
-       PoHot = 2,
-       PoConditionMaximum = 3
-} SYSTEM_POWER_CONDITION, *PSYSTEM_POWER_CONDITION;
-#endif
-       
 typedef enum _DEVICE_POWER_STATE {
        PowerDeviceUnspecified,
        PowerDeviceD0,
@@ -3824,79 +3786,6 @@ typedef enum _POWER_INFORMATION_LEVEL {
        ProcessorPowerPolicyCurrent
 } POWER_INFORMATION_LEVEL;
 
-#if (_WIN32_WINNT >= 0x0500)
-typedef LONG (WINAPI *PVECTORED_EXCEPTION_HANDLER)(PEXCEPTION_POINTERS);
-#endif
-#if (WIN32_WINNT >= _WIN32_WINNT_WINXP)
-typedef struct _SYSTEM_POWER_INFORMATION {
-       ULONG  MaxIdlenessAllowed;
-       ULONG  Idleness;
-       ULONG  TimeRemaining;
-       UCHAR  CoolingMode;
-} SYSTEM_POWER_INFORMATION,*PSYSTEM_POWER_INFORMATION;
-#endif
-
-#if (_WIN32_WINNT >= 0x0501)
-typedef enum _HEAP_INFORMATION_CLASS {
-       HeapCompatibilityInformation
-} HEAP_INFORMATION_CLASS;
-typedef enum _ACTIVATION_CONTEXT_INFO_CLASS {
-       ActivationContextBasicInformation = 1,
-       ActivationContextDetailedInformation,
-       AssemblyDetailedInformationInActivationContext,
-       FileInformationInAssemblyOfAssemblyInActivationContext
-} ACTIVATION_CONTEXT_INFO_CLASS;
-typedef struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION {
-       DWORD ulFlags;
-       DWORD ulEncodedAssemblyIdentityLength;
-       DWORD ulManifestPathType;
-       DWORD ulManifestPathLength;
-       LARGE_INTEGER liManifestLastWriteTime;
-       DWORD ulPolicyPathType;
-       DWORD ulPolicyPathLength;
-       LARGE_INTEGER liPolicyLastWriteTime;
-       DWORD ulMetadataSatelliteRosterIndex;
-       DWORD ulManifestVersionMajor;
-       DWORD ulManifestVersionMinor;
-       DWORD ulPolicyVersionMajor;
-       DWORD ulPolicyVersionMinor;
-       DWORD ulAssemblyDirectoryNameLength;
-       PCWSTR lpAssemblyEncodedAssemblyIdentity;
-       PCWSTR lpAssemblyManifestPath;
-       PCWSTR lpAssemblyPolicyPath;
-       PCWSTR lpAssemblyDirectoryName;
-} ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION,*PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
-typedef const ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
-typedef struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION {
-       DWORD dwFlags;
-       DWORD ulFormatVersion;
-       DWORD ulAssemblyCount;
-       DWORD ulRootManifestPathType;
-       DWORD ulRootManifestPathChars;
-       DWORD ulRootConfigurationPathType;
-       DWORD ulRootConfigurationPathChars;
-       DWORD ulAppDirPathType;
-       DWORD ulAppDirPathChars;
-       PCWSTR lpRootManifestPath;
-       PCWSTR lpRootConfigurationPath;
-       PCWSTR lpAppDirPath;
-} ACTIVATION_CONTEXT_DETAILED_INFORMATION,*PACTIVATION_CONTEXT_DETAILED_INFORMATION;
-typedef const ACTIVATION_CONTEXT_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_DETAILED_INFORMATION;
-typedef struct _ACTIVATION_CONTEXT_QUERY_INDEX {
-       ULONG ulAssemblyIndex;
-       ULONG ulFileIndexInAssembly;
-} ACTIVATION_CONTEXT_QUERY_INDEX,*PACTIVATION_CONTEXT_QUERY_INDEX;
-typedef const ACTIVATION_CONTEXT_QUERY_INDEX *PCACTIVATION_CONTEXT_QUERY_INDEX;
-typedef struct _ASSEMBLY_FILE_DETAILED_INFORMATION {
-       DWORD ulFlags;
-       DWORD ulFilenameLength;
-       DWORD ulPathLength;
-       PCWSTR lpFileName;
-       PCWSTR lpFilePath;
-} ASSEMBLY_FILE_DETAILED_INFORMATION,*PASSEMBLY_FILE_DETAILED_INFORMATION;
-typedef const ASSEMBLY_FILE_DETAILED_INFORMATION *PCASSEMBLY_FILE_DETAILED_INFORMATION;
-#endif /* (WIN32_WINNT >= 0x0501) */
-
 typedef struct _PROCESSOR_POWER_POLICY_INFO {
        ULONG  TimeCheck;
        ULONG  DemoteLimit;
@@ -3925,26 +3814,10 @@ typedef struct _ADMINISTRATOR_POWER_POLICY {
        ULONG  MaxSpindownTimeout;
 } ADMINISTRATOR_POWER_POLICY, *PADMINISTRATOR_POWER_POLICY;
 #include <poppack.h>
-#endif /* WINVER >= 0x0500 */
-
-#if (_WIN32_WINNT >= 0x0500)
-typedef VOID (NTAPI *WAITORTIMERCALLBACKFUNC)(PVOID,BOOLEAN);
-#endif
-
-#ifdef UNICODE
-typedef OSVERSIONINFOW OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO;
-typedef OSVERSIONINFOEXW OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX;
-#else
-typedef OSVERSIONINFOA OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO;
-typedef OSVERSIONINFOEXA OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX;
-#endif
+#endif /* WINVER >= _WIN32_WINNT_WIN2K */
 
-#if (_WIN32_WINNT >= 0x0500)
-ULONGLONG WINAPI VerSetConditionMask(ULONGLONG,DWORD,BYTE);
-#define VER_SET_CONDITION(ConditionMask, TypeBitMask, ComparisonType)  \
-       ((ConditionMask) = VerSetConditionMask((ConditionMask), \
-       (TypeBitMask), (ComparisonType)))
-#endif
+typedef __AW(OSVERSIONINFO) OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO;
+typedef __AW(OSVERSIONINFOEX) OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX;
 
 #ifdef _X86_
 /* Support -masm=intel.  */
@@ -4008,19 +3881,184 @@ struct _TEB * NtCurrentTeb(void);
 #if _WIN32_WINNT >= _WIN32_WINNT_VISTA
 # if defined(_AMD64_) || defined(__X86_64)
 #  define MemoryBarrier __faststorefence
+
 # elif defined(_IA64_)
+
 #  define MemoryBarrier __mf
 # else
-  void __mingworg_MemoryBarrier(void);
+
+   void __mingworg_MemoryBarrier(void);
 #  define MemoryBarrier __mingworg_MemoryBarrier
 # endif
+
 #else
+
 # define MemoryBarrier
 #endif
 
 #endif /* RC_INVOKED */
 
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
+#define KEY_WOW64_64KEY 0x0100
+#define KEY_WOW64_32KEY 0x0200
+#define VER_MINORVERSION 0x0000001
+#define VER_MAJORVERSION 0x0000002
+#define VER_BUILDNUMBER 0x0000004
+#define VER_PLATFORMID 0x0000008
+#define VER_SERVICEPACKMINOR 0x0000010
+#define VER_SERVICEPACKMAJOR 0x0000020
+#define VER_SUITENAME 0x0000040
+#define VER_PRODUCT_TYPE 0x0000080
+#define VER_EQUAL 1
+#define VER_GREATER 2
+#define VER_GREATER_EQUAL 3
+#define VER_LESS 4
+#define VER_LESS_EQUAL 5
+#define VER_AND 6
+#define VER_OR 7
+
+#ifndef RC_INVOKED
+typedef LONG (WINAPI *PVECTORED_EXCEPTION_HANDLER)(PEXCEPTION_POINTERS);
+typedef VOID (NTAPI *WAITORTIMERCALLBACKFUNC)(PVOID,BOOLEAN);
+ULONGLONG WINAPI VerSetConditionMask(ULONGLONG,DWORD,BYTE);
+#define VER_SET_CONDITION(ConditionMask, TypeBitMask, ComparisonType)  \
+       ((ConditionMask) = VerSetConditionMask((ConditionMask), \
+       (TypeBitMask), (ComparisonType)))
+#endif /* ! RC_INVOKED */
+
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
+#define ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION 1
+#define ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION 2
+#define ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION 3
+#define ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION 4
+#define ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION 5
+#define ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION 6
+#define ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION 7
+#define ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES 9
+
+#ifndef RC_INVOKED
+typedef struct _SYSTEM_POWER_INFORMATION {
+       ULONG  MaxIdlenessAllowed;
+       ULONG  Idleness;
+       ULONG  TimeRemaining;
+       UCHAR  CoolingMode;
+} SYSTEM_POWER_INFORMATION,*PSYSTEM_POWER_INFORMATION;
+typedef enum _HEAP_INFORMATION_CLASS {
+       HeapCompatibilityInformation
+} HEAP_INFORMATION_CLASS;
+typedef enum _ACTIVATION_CONTEXT_INFO_CLASS {
+       ActivationContextBasicInformation = 1,
+       ActivationContextDetailedInformation,
+       AssemblyDetailedInformationInActivationContext,
+       FileInformationInAssemblyOfAssemblyInActivationContext
+} ACTIVATION_CONTEXT_INFO_CLASS;
+typedef struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION {
+       DWORD ulFlags;
+       DWORD ulEncodedAssemblyIdentityLength;
+       DWORD ulManifestPathType;
+       DWORD ulManifestPathLength;
+       LARGE_INTEGER liManifestLastWriteTime;
+       DWORD ulPolicyPathType;
+       DWORD ulPolicyPathLength;
+       LARGE_INTEGER liPolicyLastWriteTime;
+       DWORD ulMetadataSatelliteRosterIndex;
+       DWORD ulManifestVersionMajor;
+       DWORD ulManifestVersionMinor;
+       DWORD ulPolicyVersionMajor;
+       DWORD ulPolicyVersionMinor;
+       DWORD ulAssemblyDirectoryNameLength;
+       PCWSTR lpAssemblyEncodedAssemblyIdentity;
+       PCWSTR lpAssemblyManifestPath;
+       PCWSTR lpAssemblyPolicyPath;
+       PCWSTR lpAssemblyDirectoryName;
+} ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION,*PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
+typedef const ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
+typedef struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION {
+       DWORD dwFlags;
+       DWORD ulFormatVersion;
+       DWORD ulAssemblyCount;
+       DWORD ulRootManifestPathType;
+       DWORD ulRootManifestPathChars;
+       DWORD ulRootConfigurationPathType;
+       DWORD ulRootConfigurationPathChars;
+       DWORD ulAppDirPathType;
+       DWORD ulAppDirPathChars;
+       PCWSTR lpRootManifestPath;
+       PCWSTR lpRootConfigurationPath;
+       PCWSTR lpAppDirPath;
+} ACTIVATION_CONTEXT_DETAILED_INFORMATION,*PACTIVATION_CONTEXT_DETAILED_INFORMATION;
+typedef const ACTIVATION_CONTEXT_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_DETAILED_INFORMATION;
+typedef struct _ACTIVATION_CONTEXT_QUERY_INDEX {
+       ULONG ulAssemblyIndex;
+       ULONG ulFileIndexInAssembly;
+} ACTIVATION_CONTEXT_QUERY_INDEX,*PACTIVATION_CONTEXT_QUERY_INDEX;
+typedef const ACTIVATION_CONTEXT_QUERY_INDEX *PCACTIVATION_CONTEXT_QUERY_INDEX;
+typedef struct _ASSEMBLY_FILE_DETAILED_INFORMATION {
+       DWORD ulFlags;
+       DWORD ulFilenameLength;
+       DWORD ulPathLength;
+       PCWSTR lpFileName;
+       PCWSTR lpFilePath;
+} ASSEMBLY_FILE_DETAILED_INFORMATION,*PASSEMBLY_FILE_DETAILED_INFORMATION;
+typedef const ASSEMBLY_FILE_DETAILED_INFORMATION *PCASSEMBLY_FILE_DETAILED_INFORMATION;
+#endif /* ! RC_INVOKED */
+
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
+#define SID_HASH_SIZE 32
+#define SUBLANG_ENGLISH_IRELAND        0x06
+#define SUBLANG_LITHUANIAN_LITHUANIA   0x01
+#define SUBLANG_PORTUGUESE_PORTUGAL    0x02
+#define SUBLANG_SWEDISH_SWEDEN 0x01
+#define TOKEN_MANDATORY_POLICY_OFF 0
+#define TOKEN_MANDATORY_POLICY_NO_WRITE_UP 1
+#define TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN 2
+#define TOKEN_MANDATORY_POLICY_VALID_MASK 3
+
+#ifndef RC_INVOKED
+typedef ULONG_PTR SID_HASH_ENTRY, *PSID_HASH_ENTRY;
+typedef struct _SID_AND_ATTRIBUTES_HASH {
+       DWORD SidCount;
+       PSID_AND_ATTRIBUTES SidAttr;
+       SID_HASH_ENTRY Hash[SID_HASH_SIZE];
+} SID_AND_ATTRIBUTES_HASH, *PSID_AND_ATTRIBUTES_HASH;
+typedef struct _TOKEN_LINKED_TOKEN {
+       HANDLE LinkedToken;
+} TOKEN_LINKED_TOKEN, *PTOKEN_LINKED_TOKEN;
+typedef struct _TOKEN_MANDATORY_LABEL {
+       SID_AND_ATTRIBUTES Label;
+} TOKEN_MANDATORY_LABEL, *PTOKEN_MANDATORY_LABEL;
+typedef struct _TOKEN_MANDATORY_POLICY {
+       DWORD Policy;
+} TOKEN_MANDATORY_POLICY, *PTOKEN_MANDATORY_POLICY;
+typedef struct _TOKEN_ELEVATION {
+       DWORD TokenIsElevated;
+} TOKEN_ELEVATION, *PTOKEN_ELEVATION;
+typedef struct _TOKEN_ACCESS_INFORMATION {
+       PSID_AND_ATTRIBUTES_HASH SidHash;
+       PSID_AND_ATTRIBUTES_HASH RestrictedSidHash;
+       PTOKEN_PRIVILEGES Privileges;
+       LUID AuthenticationId;
+       TOKEN_TYPE TokenType;
+       SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
+       TOKEN_MANDATORY_POLICY MandatoryPolicy;
+       DWORD Flags;
+} TOKEN_ACCESS_INFORMATION, *PTOKEN_ACCESS_INFORMATION;
+typedef enum {
+       PoAc = 0,
+       PoDc = 1,
+       PoHot = 2,
+       PoConditionMaximum = 3
+} SYSTEM_POWER_CONDITION, *PSYSTEM_POWER_CONDITION;
+#endif /* ! RC_INVOKED */
+
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_VISTA) */
+
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 9aa7114..da86820 100644 (file)
 #ifndef _WINPERF_H
 #define _WINPERF_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #define PERF_DATA_VERSION 1
 #define PERF_DATA_REVISION 1
 #define PERF_NO_INSTANCES -1 
@@ -154,7 +156,9 @@ typedef struct _PERF_COUNTER_BLOCK {
 typedef DWORD(CALLBACK PM_OPEN_PROC)(LPWSTR);
 typedef DWORD(CALLBACK PM_COLLECT_PROC)(LPWSTR,PVOID*,PDWORD,PDWORD);
 typedef DWORD(CALLBACK PM_CLOSE_PROC)(void);
+
 #ifdef __cplusplus
 }
 #endif
+
 #endif 
index 329d83f..b2b7c00 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WINREG_H
 #define _WINREG_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifndef WINADVAPI
 #define WINADVAPI
@@ -32,6 +33,7 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #define HKEY_CLASSES_ROOT      ((HKEY)0x80000000)
 #define HKEY_CURRENT_USER      ((HKEY)0x80000001)
 #define HKEY_LOCAL_MACHINE     ((HKEY)0x80000002)
@@ -89,10 +91,7 @@ WINADVAPI LONG WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPS
 WINADVAPI LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY);
 WINADVAPI LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR);
 WINADVAPI LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR);
-#if (WINVER >= 0x0502)
-WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY,LPCSTR,REGSAM,DWORD);
-WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY,LPCWSTR,REGSAM,DWORD);
-#endif
+
 WINADVAPI LONG WINAPI RegDeleteValueA(HKEY,LPCSTR);
 WINADVAPI LONG WINAPI RegDeleteValueW(HKEY,LPCWSTR);
 WINADVAPI LONG WINAPI RegEnumKeyA(HKEY,DWORD,LPSTR,DWORD);
@@ -132,65 +131,42 @@ WINADVAPI LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
 WINADVAPI LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR);
 WINADVAPI LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR);
 
-#ifdef UNICODE
-typedef VALENTW VALENT,*PVALENT;
-#define AbortSystemShutdown AbortSystemShutdownW
-#define InitiateSystemShutdown InitiateSystemShutdownW
-#define RegConnectRegistry RegConnectRegistryW
-#define RegCreateKey RegCreateKeyW
-#define RegCreateKeyEx RegCreateKeyExW
-#define RegDeleteKey RegDeleteKeyW
-#if (WINVER >= 0x0502)
-#define RegDeleteKeyEx RegDeleteKeyExW
-#endif
-#define RegDeleteValue RegDeleteValueW
-#define RegEnumKey RegEnumKeyW
-#define RegEnumKeyEx RegEnumKeyExW
-#define RegEnumValue RegEnumValueW
-#define RegLoadKey RegLoadKeyW
-#define RegOpenKey RegOpenKeyW
-#define RegOpenKeyEx RegOpenKeyExW
-#define RegQueryInfoKey RegQueryInfoKeyW
-#define RegQueryMultipleValues RegQueryMultipleValuesW
-#define RegQueryValue RegQueryValueW
-#define RegQueryValueEx RegQueryValueExW
-#define RegReplaceKey RegReplaceKeyW
-#define RegRestoreKey RegRestoreKeyW
-#define RegSaveKey RegSaveKeyW
-#define RegSetValue RegSetValueW
-#define RegSetValueEx RegSetValueExW
-#define RegUnLoadKey RegUnLoadKeyW
-#else
-typedef VALENTA VALENT,*PVALENT;
-#define AbortSystemShutdown AbortSystemShutdownA
-#define InitiateSystemShutdown InitiateSystemShutdownA
-#define RegConnectRegistry RegConnectRegistryA
-#define RegCreateKey RegCreateKeyA
-#define RegCreateKeyEx RegCreateKeyExA
-#define RegDeleteKey RegDeleteKeyA
-#if (WINVER >= 0x0502)
-#define RegDeleteKeyEx RegDeleteKeyExA
-#endif
-#define RegDeleteValue RegDeleteValueA
-#define RegEnumKey RegEnumKeyA
-#define RegEnumKeyEx RegEnumKeyExA
-#define RegEnumValue RegEnumValueA
-#define RegLoadKey RegLoadKeyA
-#define RegOpenKey RegOpenKeyA
-#define RegOpenKeyEx RegOpenKeyExA
-#define RegQueryInfoKey RegQueryInfoKeyA
-#define RegQueryMultipleValues RegQueryMultipleValuesA
-#define RegQueryValue RegQueryValueA
-#define RegQueryValueEx RegQueryValueExA
-#define RegReplaceKey RegReplaceKeyA
-#define RegRestoreKey RegRestoreKeyA
-#define RegSaveKey RegSaveKeyA
-#define RegSetValue RegSetValueA
-#define RegSetValueEx RegSetValueExA
-#define RegUnLoadKey RegUnLoadKeyA
-#endif
-#endif
+typedef __AW(VALENT) VALENT,*PVALENT;
+#define AbortSystemShutdown __AW(AbortSystemShutdown)
+#define InitiateSystemShutdown __AW(InitiateSystemShutdown)
+#define RegConnectRegistry __AW(RegConnectRegistry)
+#define RegCreateKey __AW(RegCreateKey)
+#define RegCreateKeyEx __AW(RegCreateKeyEx)
+#define RegDeleteKey __AW(RegDeleteKey)
+
+#define RegDeleteValue __AW(RegDeleteValue)
+#define RegEnumKey __AW(RegEnumKey)
+#define RegEnumKeyEx __AW(RegEnumKeyEx)
+#define RegEnumValue __AW(RegEnumValue)
+#define RegLoadKey __AW(RegLoadKey)
+#define RegOpenKey __AW(RegOpenKey)
+#define RegOpenKeyEx __AW(RegOpenKeyEx)
+#define RegQueryInfoKey __AW(RegQueryInfoKey)
+#define RegQueryMultipleValues __AW(RegQueryMultipleValues)
+#define RegQueryValue __AW(RegQueryValue)
+#define RegQueryValueEx __AW(RegQueryValueEx)
+#define RegReplaceKey __AW(RegReplaceKey)
+#define RegRestoreKey __AW(RegRestoreKey)
+#define RegSaveKey __AW(RegSaveKey)
+#define RegSetValue __AW(RegSetValue)
+#define RegSetValueEx __AW(RegSetValueEx)
+#define RegUnLoadKey __AW(RegUnLoadKey)
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
+WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY,LPCSTR,REGSAM,DWORD);
+WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY,LPCWSTR,REGSAM,DWORD);
+#define RegDeleteKeyEx __AW(RegDeleteKeyEx)
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
+
+#endif /* ! RC_INVOKED */
+
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 34451c3..0a8e3e5 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WINRESRC_H
 #define _WINRESRC_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #define WIN32_LEAN_AND_MEAN
 #include <winuser.h>
index eebd8fe..bbb19d4 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WINSNMP_H
 #define _WINSNMP_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 /*
  * SNMP API
@@ -41,9 +42,7 @@
  *  http://msdn.microsoft.com/library/en-us/snmp/snmp/winsnmp_api_reference.asp
  */
 
-#ifndef _WINDOWS_H
 #include <windows.h>
-#endif
 
 #include <pshpack4.h>
 
@@ -58,6 +57,7 @@ extern "C" {
 #define MAXOBJIDSIZE   128
 #define MAXOBJIDSTRSIZE        1408
 #define MAXVENDORINFO  32
+
 #ifndef _SNMP_ASN_DEFINED
 #define _SNMP_ASN_DEFINED
 #define ASN_UNIVERSAL  0x00
@@ -76,6 +76,7 @@ extern "C" {
 #define SNMP_PDU_TRAP  (ASN_CONTEXT | ASN_CONSTRUCTOR | 7) 
 #define SNMP_PDU_REPORT        (ASN_CONTEXT | ASN_CONSTRUCTOR | 8)
 #endif /* _SNMP_ASN_DEFINED */
+
 #define SNMP_SYNTAX_SEQUENCE   (ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10)
 #define SNMP_SYNTAX_INT        (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x02)
 #define SNMP_SYNTAX_BITS       (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03)
@@ -339,5 +340,7 @@ SNMPAPI_STATUS WINSNMPAPI SnmpPasswordToKey(smiLPOCTETS,smiINT32,smiLPOCTETS);
 #ifdef __cplusplus
 }
 #endif
+
 #include <poppack.h>
+
 #endif
index 6864316..12f1f33 100644 (file)
 #ifndef _WINSOCK_H
 #define _WINSOCK_H
 #pragma GCC system_header
+#include <_mingw.h>
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN95) {
+#warning WARNING Winsock.h is included instead of winsock2.h.
+#endif
 
 /*
   Definitions for winsock 1.1
@@ -50,7 +55,9 @@ typedef unsigned int  u_int;
 typedef unsigned long  u_long;
 #define _BSDTYPES_DEFINED
 #endif /* !defined  _BSDTYPES_DEFINED */
+
 typedef u_int  SOCKET;
+
 #ifndef FD_SETSIZE
 #define FD_SETSIZE     64
 #endif
@@ -64,14 +71,17 @@ typedef u_int       SOCKET;
 /* fd_set may have be defined by the newlib <sys/types.h>
  * if  __USE_W32_SOCKETS not defined.
  */
+
 #ifdef fd_set
 #undef fd_set
 #endif
+
 typedef struct fd_set {
        u_int   fd_count;
        SOCKET  fd_array[FD_SETSIZE];
 } fd_set;
 int PASCAL __WSAFDIsSet(SOCKET,fd_set*);
+
 #ifndef FD_CLR
 #define FD_CLR(fd,set) do { u_int __i;\
 for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\
@@ -86,24 +96,29 @@ for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\
 }\
 } while (0)
 #endif
+
 #ifndef FD_SET
 #define FD_SET(fd, set) do { \
     if (((fd_set *)(set))->fd_count < FD_SETSIZE) \
        ((fd_set *)(set))->fd_array[((fd_set *)(set))->fd_count++]=(fd);\
 }while (0)
 #endif
+
 #ifndef FD_ZERO
 #define FD_ZERO(set) (((fd_set *)(set))->fd_count=0)
 #endif
+
 #ifndef FD_ISSET
 #define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set *)(set))
 #endif
+
 #elif !defined(USE_SYS_TYPES_FD_SET)
 #warning "fd_set and associated macros have been defined in sys/types.  \
     This can cause runtime problems with W32 sockets" 
 #endif /* ndef _SYS_TYPES_FD_SET */
 
 #if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
+
 #ifndef _TIMEVAL_DEFINED /* also in sys/time.h */
 #define _TIMEVAL_DEFINED
 struct timeval {
@@ -130,6 +145,7 @@ struct linger {
        u_short l_linger;
 };
 #endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+
 #define IOCPARM_MASK   0x7f
 #define IOC_VOID       0x20000000
 #define IOC_OUT        0x40000000
@@ -281,6 +297,7 @@ typedef WSADATA *LPWSADATA;
 #define SO_ERROR       0x1007
 #define SO_TYPE        0x1008
 #endif /* !__INSIDE_MSYS__ */
+
 /*
  * Note that the next 5 IP defines are specific to WinSock 1.1 (wsock32.dll).
  * They will cause errors or unexpected results if used with the
@@ -333,6 +350,7 @@ struct ip_mreq {
 #define        AF_BAN  21
 #define AF_ATM 22
 #define AF_INET6       23
+
 #if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
 #define AF_MAX 24
 struct sockaddr {
@@ -373,11 +391,13 @@ struct sockproto {
 #define PF_MAX AF_MAX
 #define SOL_SOCKET     0xffff
 #define SOMAXCONN      5
+
 #if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
 #define MSG_OOB        1
 #define MSG_PEEK       2
 #define MSG_DONTROUTE  4
 #endif  /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+
 #define MSG_MAXIOVLEN  16
 #define MSG_PARTIAL    0x8000
 #define MAXGETHOSTSTRUCT       1024
@@ -387,6 +407,7 @@ struct sockproto {
 #define FD_ACCEPT      8
 #define FD_CONNECT     16
 #define FD_CLOSE       32
+
 #ifndef WSABASEERR
 #define WSABASEERR     10000
 #define WSAEINTR       (WSABASEERR+4)
@@ -443,6 +464,7 @@ struct sockproto {
 #endif /* !WSABASEERR */
 
 #define WSANO_ADDRESS  WSANO_DATA
+
 #if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
 #define h_errno WSAGetLastError()
 #define HOST_NOT_FOUND WSAHOST_NOT_FOUND
@@ -451,6 +473,7 @@ struct sockproto {
 #define NO_DATA        WSANO_DATA
 #define NO_ADDRESS     WSANO_ADDRESS
 #endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+
 SOCKET PASCAL accept(SOCKET,struct sockaddr*,int*);
 int PASCAL bind(SOCKET,const struct sockaddr*,int);
 int PASCAL closesocket(SOCKET);
@@ -491,6 +514,7 @@ HANDLE PASCAL WSAAsyncGetHostByName(HWND,u_int,const char*,char*,int);
 HANDLE PASCAL WSAAsyncGetHostByAddr(HWND,u_int,const char*,int,int,char*,int);
 int PASCAL WSACancelAsyncRequest(HANDLE);
 int PASCAL WSAAsyncSelect(SOCKET,HWND,u_int,long);
+
 #if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
 u_long PASCAL htonl(u_long);
 u_long PASCAL ntohl(u_long);
index 2c650cd..eeda143 100644 (file)
@@ -25,6 +25,7 @@
 #define _WINSOCK2_H
 #define _WINSOCK_H /* to prevent later inclusion of winsock.h */
 #pragma GCC system_header
+#include <_mingw.h>
 
 /*
  * Definitions for winsock 2
@@ -50,6 +51,7 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 /*   Names common to Winsock1.1 and Winsock2  */
 #if !defined ( _BSDTYPES_DEFINED )
 /* also defined in gmon.h and in cygwin's sys/types */
@@ -59,7 +61,9 @@ typedef unsigned int  u_int;
 typedef unsigned long  u_long;
 #define _BSDTYPES_DEFINED
 #endif /* ! def _BSDTYPES_DEFINED  */
+
 typedef u_int  SOCKET;
+
 #ifndef FD_SETSIZE
 #define FD_SETSIZE     64
 #endif
@@ -73,14 +77,17 @@ typedef u_int       SOCKET;
 /* fd_set may be defined by the newlib <sys/types.h>
  * if __USE_W32_SOCKETS not defined.
  */
+
 #ifdef fd_set
 #undef fd_set
 #endif
+
 typedef struct fd_set {
        u_int   fd_count;
        SOCKET  fd_array[FD_SETSIZE];
 } fd_set;
 int PASCAL __WSAFDIsSet(SOCKET,fd_set*);
+
 #ifndef FD_CLR
 #define FD_CLR(fd,set) do { u_int __i;\
 for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\
@@ -95,6 +102,7 @@ for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\
 }\
 } while (0)
 #endif
+
 #ifndef FD_SET
 /* this differs from the define in winsock.h and in cygwin sys/types.h */
 #define FD_SET(fd, set) do { u_int __i;\
@@ -111,17 +119,23 @@ if (__i == ((fd_set *)(set))->fd_count) {\
 }\
 } while(0)
 #endif
+
 #ifndef FD_ZERO
 #define FD_ZERO(set) (((fd_set *)(set))->fd_count=0)
 #endif
+
 #ifndef FD_ISSET
 #define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set *)(set))
 #endif
+
 #elif !defined (USE_SYS_TYPES_FD_SET)
+
 #warning "fd_set and associated macros have been defined in sys/types.  \
     This may cause runtime problems with W32 sockets"
 #endif /* ndef _SYS_TYPES_FD_SET */
+
 #if !(defined (__INSIDE_CYGWIN__) || (__INSIDE_MSYS__))
+
 #ifndef _TIMEVAL_DEFINED /* also in sys/time.h */
 #define _TIMEVAL_DEFINED
 struct timeval {
@@ -135,6 +149,7 @@ struct timeval {
        ((tvp)->tv_usec cmp (uvp)->tv_usec))
 #define timerclear(tvp)         (tvp)->tv_sec = (tvp)->tv_usec = 0
 #endif /* _TIMEVAL_DEFINED */
+
 struct  hostent {
        char    *h_name;
        char    **h_aliases;
@@ -148,6 +163,7 @@ struct linger {
        u_short l_linger;
 };
 #endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+
 #define IOCPARM_MASK   0x7f
 #define IOC_VOID       0x20000000
 #define IOC_OUT        0x40000000
@@ -349,6 +365,7 @@ typedef WSADATA *LPWSADATA;
 #define AF_12844    25
 #define AF_IRDA     26
 #define AF_NETDES   28
+
 #ifndef __INSIDE_MSYS__
 #define AF_MAX 29
 struct sockaddr {
@@ -410,12 +427,14 @@ struct sockproto {
 #define PF_INET6       AF_INET6
 #define PF_MAX AF_MAX
 #define SOL_SOCKET     0xffff
+
 #if ! (defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
 #define SOMAXCONN      0x7fffffff /* (5) in WinSock1.1 */
 #define MSG_OOB        1
 #define MSG_PEEK       2
 #define MSG_DONTROUTE  4
 #endif  /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+
 #define MSG_MAXIOVLEN  16
 #define MSG_PARTIAL    0x8000
 #define MAXGETHOSTSTRUCT       1024
@@ -543,6 +562,7 @@ struct sockproto {
 #endif /* !WSABASEERR */
 
 #define WSANO_ADDRESS  WSANO_DATA
+
 #if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
 #define h_errno WSAGetLastError()
 #define HOST_NOT_FOUND WSAHOST_NOT_FOUND
@@ -551,6 +571,7 @@ struct sockproto {
 #define NO_DATA        WSANO_DATA
 #define NO_ADDRESS     WSANO_ADDRESS
 #endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+
 WINSOCK_API_LINKAGE SOCKET PASCAL accept(SOCKET,struct sockaddr*,int*);
 WINSOCK_API_LINKAGE int PASCAL bind(SOCKET,const struct sockaddr*,int);
 WINSOCK_API_LINKAGE int PASCAL closesocket(SOCKET);
@@ -642,6 +663,7 @@ typedef HANDLE(PASCAL * LPFN_WSAASYNCGETPROTOBYNUMBER)(HWND, u_int, int, char*,
 typedef HANDLE(PASCAL * LPFN_WSAASYNCGETHOSTBYADDR)(HWND, u_int, const char*, int, int, char*, int);
 typedef int(PASCAL * LPFN_WSACANCELASYNCREQUEST)(HANDLE);
 typedef int(PASCAL * LPFN_WSAASYNCSELECT)(SOCKET, HWND, u_int, long);
+
 #if ! (defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
 WINSOCK_API_LINKAGE u_long PASCAL htonl(u_long);
 WINSOCK_API_LINKAGE u_long PASCAL ntohl(u_long);
@@ -705,11 +727,9 @@ typedef struct timeval *LPTIMEVAL;
 #define SO_MAX_MSG_SIZE        0x2003
 #define SO_PROTOCOL_INFOA      0x2004
 #define SO_PROTOCOL_INFOW      0x2005
-#ifdef UNICODE
-#define SO_PROTOCOL_INFO       SO_PROTOCOL_INFOW
-#else
-#define SO_PROTOCOL_INFO       SO_PROTOCOL_INFOA
-#endif
+
+#define SO_PROTOCOL_INFO       __AW(SO_PROTOCOL_INFO)
+
 #define PVD_CONFIG        0x3001
 
 #define        MSG_INTERRUPT   0x10
@@ -889,15 +909,9 @@ typedef struct _WSAQuerySetW
        LPBLOB  lpBlob;
 } WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW;
 
-#ifdef UNICODE
-typedef WSAQUERYSETW WSAQUERYSET;
-typedef PWSAQUERYSETW PWSAQUERYSET;
-typedef LPWSAQUERYSETW LPWSAQUERYSET;
-#else
-typedef WSAQUERYSETA WSAQUERYSET;
-typedef PWSAQUERYSETA PWSAQUERYSET;
-typedef LPWSAQUERYSETA LPWSAQUERYSET;
-#endif
+typedef __AW(WSAQUERYSET) WSAQUERYSET;
+typedef __AW(PWSAQUERYSET) PWSAQUERYSET;
+typedef __AW(LPWSAQUERYSET) LPWSAQUERYSET;
 
 #define LUP_DEEP                0x0001
 #define LUP_CONTAINERS          0x0002
@@ -934,15 +948,9 @@ typedef struct _WSANSClassInfoW
        LPVOID  lpValue;
 } WSANSCLASSINFOW, *PWSANSCLASSINFOW, *LPWSANSCLASSINFOW;
 
-#ifdef UNICODE
-typedef WSANSCLASSINFOW WSANSCLASSINFO;
-typedef PWSANSCLASSINFOW PWSANSCLASSINFO;
-typedef LPWSANSCLASSINFOW LPWSANSCLASSINFO;
-#else
-typedef WSANSCLASSINFOA WSANSCLASSINFO;
-typedef PWSANSCLASSINFOA PWSANSCLASSINFO;
-typedef LPWSANSCLASSINFOA LPWSANSCLASSINFO;
-#endif
+typedef __AW(WSANSCLASSINFO) WSANSCLASSINFO;
+typedef __AW(PWSANSCLASSINFO) PWSANSCLASSINFO;
+typedef __AW(LPWSANSCLASSINFO) LPWSANSCLASSINFO;
 
 typedef struct _WSAServiceClassInfoA
 {
@@ -960,15 +968,9 @@ typedef struct _WSAServiceClassInfoW
        LPWSANSCLASSINFOW       lpClassInfos;
 } WSASERVICECLASSINFOW, *PWSASERVICECLASSINFOW, *LPWSASERVICECLASSINFOW;
 
-#ifdef UNICODE
-typedef WSASERVICECLASSINFOW WSASERVICECLASSINFO;
-typedef PWSASERVICECLASSINFOW PWSASERVICECLASSINFO;
-typedef LPWSASERVICECLASSINFOW LPWSASERVICECLASSINFO;
-#else
-typedef WSASERVICECLASSINFOA WSASERVICECLASSINFO;
-typedef PWSASERVICECLASSINFOA PWSASERVICECLASSINFO;
-typedef LPWSASERVICECLASSINFOA LPWSASERVICECLASSINFO;
-#endif
+typedef __AW(WSASERVICECLASSINFO) WSASERVICECLASSINFO;
+typedef __AW(PWSASERVICECLASSINFO) PWSASERVICECLASSINFO;
+typedef __AW(LPWSASERVICECLASSINFO) LPWSASERVICECLASSINFO;
 
 typedef struct _WSANAMESPACE_INFOA {
        GUID    NSProviderId;
@@ -986,15 +988,9 @@ typedef struct _WSANAMESPACE_INFOW {
        LPWSTR  lpszIdentifier;
 } WSANAMESPACE_INFOW, *PWSANAMESPACE_INFOW, *LPWSANAMESPACE_INFOW;
 
-#ifdef UNICODE
-typedef WSANAMESPACE_INFOW WSANAMESPACE_INFO;
-typedef PWSANAMESPACE_INFOW PWSANAMESPACE_INFO;
-typedef LPWSANAMESPACE_INFOW LPWSANAMESPACE_INFO;
-#else
-typedef WSANAMESPACE_INFOA WSANAMESPACE_INFO;
-typedef PWSANAMESPACE_INFOA PWSANAMESPACE_INFO;
-typedef LPWSANAMESPACE_INFOA LPWSANAMESPACE_INFO;
-#endif
+typedef __AW(WSANAMESPACE_INFO) WSANAMESPACE_INFO;
+typedef __AW(PWSANAMESPACE_INFO) PWSANAMESPACE_INFO;
+typedef __AW(LPWSANAMESPACE_INFO) LPWSANAMESPACE_INFO;
 
 typedef struct _WSAPROTOCOLCHAIN {
        int ChainLen;
@@ -1052,14 +1048,8 @@ typedef struct _WSAPROTOCOL_INFOW {
 typedef int (CALLBACK *LPCONDITIONPROC)(LPWSABUF, LPWSABUF, LPQOS, LPQOS, LPWSABUF, LPWSABUF, GROUP *, DWORD);
 typedef void (WINAPI *LPWSAOVERLAPPED_COMPLETION_ROUTINE)(DWORD, DWORD, LPWSAOVERLAPPED, DWORD);
 
-
-#ifdef UNICODE
-typedef WSAPROTOCOL_INFOW WSAPROTOCOL_INFO;
-typedef LPWSAPROTOCOL_INFOW LPWSAPROTOCOL_INFO;
-#else
-typedef WSAPROTOCOL_INFOA WSAPROTOCOL_INFO;
-typedef LPWSAPROTOCOL_INFOA LPWSAPROTOCOL_INFO;
-#endif
+typedef __AW(WSAPROTOCOL_INFO) WSAPROTOCOL_INFO;
+typedef __AW(LPWSAPROTOCOL_INFO) LPWSAPROTOCOL_INFO;
 
 /* Needed for XP & .NET Server function WSANSPIoctl.  */
 typedef enum _WSACOMPLETIONTYPE {
@@ -1264,59 +1254,33 @@ typedef INT (WINAPI *LPFN_WSASTRINGTOADDRESSA)(LPSTR, INT, LPWSAPROTOCOL_INFOA,
 typedef INT (WINAPI *LPFN_WSASTRINGTOADDRESSW)(LPWSTR, INT, LPWSAPROTOCOL_INFOW, LPSOCKADDR, LPINT);
 typedef DWORD (WINAPI *LPFN_WSAWAITFORMULTIPLEEVENTS)(DWORD, const WSAEVENT *, BOOL, DWORD, BOOL);
 
-#ifdef UNICODE
-#define LPFN_WSAADDRESSTOSTRING LPFN_WSAADDRESSTOSTRINGW
-#define LPFN_WSADUPLICATESOCKET LPFN_WSADUPLICATESOCKETW
-#define LPFN_WSAENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW
-#define LPFN_WSAENUMPROTOCOLS LPFN_WSAENUMPROTOCOLSW
-#define LPFN_WSAGETSERVICECLASSINFO LPFN_WSAGETSERVICECLASSINFOW
-#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW
-#define LPFN_WSAINSTALLSERVICECLASS LPFN_WSAINSTALLSERVICECLASSW
-#define LPFN_WSALOOKUPSERVICEBEGIN LPFN_WSALOOKUPSERVICEBEGINW
-#define LPFN_WSALOOKUPSERVICENEXT LPFN_WSALOOKUPSERVICENEXTW
-#define LPFN_WSASETSERVICE  LPFN_WSASETSERVICEW
-#define LPFN_WSASOCKET LPFN_WSASOCKETW
-#define LPFN_WSASTRINGTOADDRESS LPFN_WSASTRINGTOADDRESSW
-#define WSAAddressToString WSAAddressToStringW
-#define WSADuplicateSocket WSADuplicateSocketW
-#define WSAEnumNameSpaceProviders WSAEnumNameSpaceProvidersW
-#define WSAEnumProtocols WSAEnumProtocolsW
-#define WSAGetServiceClassInfo WSAGetServiceClassInfoW
-#define WSAGetServiceClassNameByClassId WSAGetServiceClassNameByClassIdW
-#define WSASetService WSASetServiceW
-#define WSASocket WSASocketW
-#define WSAStringToAddress WSAStringToAddressW
-#define WSALookupServiceBegin WSALookupServiceBeginW
-#define WSALookupServiceNext WSALookupServiceNextW
-#define WSAInstallServiceClass WSAInstallServiceClassW
-#else
-#define LPFN_WSAADDRESSTOSTRING LPFN_WSAADDRESSTOSTRINGA
-#define LPFN_WSADUPLICATESOCKET LPFN_WSADUPLICATESOCKETW
-#define LPFN_WSAENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSA
-#define LPFN_WSAENUMPROTOCOLS LPFN_WSAENUMPROTOCOLSA
-#define LPFN_WSAGETSERVICECLASSINFO LPFN_WSAGETSERVICECLASSINFOA
-#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA
-#define LPFN_WSAINSTALLSERVICECLASS LPFN_WSAINSTALLSERVICECLASSA
-#define LPFN_WSALOOKUPSERVICEBEGIN LPFN_WSALOOKUPSERVICEBEGINA
-#define LPFN_WSALOOKUPSERVICENEXT LPFN_WSALOOKUPSERVICENEXTA
-#define LPFN_WSASETSERVICE  LPFN_WSASETSERVICEA
-#define LPFN_WSASOCKET LPFN_WSASOCKETA
-#define LPFN_WSASTRINGTOADDRESS LPFN_WSASTRINGTOADDRESSA
-#define WSAAddressToString WSAAddressToStringA
-#define WSADuplicateSocket WSADuplicateSocketA
-#define WSAEnumNameSpaceProviders WSAEnumNameSpaceProvidersA
-#define WSAEnumProtocols WSAEnumProtocolsA
-#define WSAGetServiceClassInfo WSAGetServiceClassInfoA
-#define WSAGetServiceClassNameByClassId WSAGetServiceClassNameByClassIdA
-#define WSAInstallServiceClass WSAInstallServiceClassA
-#define WSALookupServiceBegin WSALookupServiceBeginA
-#define WSALookupServiceNext WSALookupServiceNextA
-#define WSASocket WSASocketA
-#define WSAStringToAddress WSAStringToAddressA
-#define WSASetService WSASetServiceA
-#endif
+#define LPFN_WSAADDRESSTOSTRING __AW(LPFN_WSAADDRESSTOSTRING)
+#define LPFN_WSADUPLICATESOCKET __AW(LPFN_WSADUPLICATESOCKET)
+#define LPFN_WSAENUMNAMESPACEPROVIDERS __AW(LPFN_WSAENUMNAMESPACEPROVIDERS)
+#define LPFN_WSAENUMPROTOCOLS __AW(LPFN_WSAENUMPROTOCOLS)
+#define LPFN_WSAGETSERVICECLASSINFO __AW(LPFN_WSAGETSERVICECLASSINFO)
+#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID __AW(LPFN_WSAGETSERVICECLASSNAMEBYCLASSID)
+#define LPFN_WSAINSTALLSERVICECLASS __AW(LPFN_WSAINSTALLSERVICECLASS)
+#define LPFN_WSALOOKUPSERVICEBEGIN __AW(LPFN_WSALOOKUPSERVICEBEGIN)
+#define LPFN_WSALOOKUPSERVICENEXT __AW(LPFN_WSALOOKUPSERVICENEXT)
+#define LPFN_WSASETSERVICE  __AW(LPFN_WSASETSERVICE)
+#define LPFN_WSASOCKET __AW(LPFN_WSASOCKET)
+#define LPFN_WSASTRINGTOADDRESS __AW(LPFN_WSASTRINGTOADDRESS)
+#define WSAAddressToString __AW(WSAAddressToString)
+#define WSADuplicateSocket __AW(WSADuplicateSocket)
+#define WSAEnumNameSpaceProviders __AW(WSAEnumNameSpaceProviders)
+#define WSAEnumProtocols __AW(WSAEnumProtocols)
+#define WSAGetServiceClassInfo __AW(WSAGetServiceClassInfo)
+#define WSAGetServiceClassNameByClassId __AW(WSAGetServiceClassNameByClassId)
+#define WSASetService __AW(WSASetService)
+#define WSASocket __AW(WSASocket)
+#define WSAStringToAddress __AW(WSAStringToAddress)
+#define WSALookupServiceBegin __AW(WSALookupServiceBegin)
+#define WSALookupServiceNext __AW(WSALookupServiceNext)
+#define WSAInstallServiceClass __AW(WSAInstallServiceClass)
 
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 82a116a..78a32c4 100644 (file)
 #ifndef _WINSPOOL_H
 #define _WINSPOOL_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #define DI_CHANNEL 1
 #define DI_CHANNEL_WRITE 2
 #define DI_READ_SPOOL_JOB 3
@@ -35,15 +37,7 @@ extern "C" {
 #define        FORM_USER       0x0
 #define        FORM_BUILTIN    0x1
 #define        FORM_PRINTER    0x2
-#if (_WIN32_WINNT >= 0x0500)
-#define DRIVER_KERNELMODE      0x00000001
-#define DRIVER_USERMODE                0x00000002
-#define        DSPRINT_PUBLISH         0x00000001
-#define        DSPRINT_UPDATE          0x00000002
-#define        DSPRINT_UNPUBLISH       0x00000004
-#define        DSPRINT_REPUBLISH       0x00000008
-#define        DSPRINT_PENDING         0x80000000
-#endif
+
 #define        JOB_CONTROL_PAUSE               1
 #define        JOB_CONTROL_RESUME              2
 #define        JOB_CONTROL_CANCEL              3
@@ -254,6 +248,7 @@ extern "C" {
 #define PORT_STATUS_TONER_LOW  10
 #define PORT_STATUS_WARMING_UP 11
 #define PORT_STATUS_POWER_SAVE 12
+
 #ifndef RC_INVOKED
 typedef struct _ADDJOB_INFO_1A {
        LPSTR Path;
@@ -416,94 +411,7 @@ typedef    struct  _DRIVER_INFO_3W {
        LPWSTR pMonitorName;
        LPWSTR pDefaultDataType;
 } DRIVER_INFO_3W,*PDRIVER_INFO_3W,*LPDRIVER_INFO_3W;
-#if (_WIN32_WINNT >= 0x0500)
-typedef        struct  _DRIVER_INFO_4A {
-       DWORD cVersion;
-       LPSTR pName;
-       LPSTR pEnvironment;
-       LPSTR pDriverPath;
-       LPSTR pDataFile;
-       LPSTR pConfigFile;
-       LPSTR pHelpFile;
-       LPSTR pDependentFiles;          
-       LPSTR pMonitorName;
-       LPSTR pDefaultDataType;
-       LPSTR pszzPreviousNames;
-} DRIVER_INFO_4A,*PDRIVER_INFO_4A,*LPDRIVER_INFO_4A;
-typedef        struct  _DRIVER_INFO_4W {
-       DWORD cVersion;
-       LPWSTR pName;
-       LPWSTR pEnvironment;
-       LPWSTR pDriverPath;
-       LPWSTR pDataFile;
-       LPWSTR pConfigFile;
-       LPWSTR pHelpFile;
-       LPWSTR pDependentFiles;
-       LPWSTR pMonitorName;
-       LPWSTR pDefaultDataType;
-       LPWSTR pszzPreviousNames;
-} DRIVER_INFO_4W,*PDRIVER_INFO_4W,*LPDRIVER_INFO_4W;
-typedef        struct  _DRIVER_INFO_5A {
-       DWORD cVersion;
-       LPSTR pName;
-       LPSTR pEnvironment;
-       LPSTR pDriverPath;
-       LPSTR pDataFile;
-       LPSTR pConfigFile;
-       DWORD dwDriverAttributes;
-       DWORD dwConfigVersion;
-       DWORD dwDriverVersion;
-} DRIVER_INFO_5A,*PDRIVER_INFO_5A,*LPDRIVER_INFO_5A;
-typedef        struct  _DRIVER_INFO_5W {
-       DWORD cVersion;
-       LPWSTR pName;
-       LPWSTR pEnvironment;
-       LPWSTR pDriverPath;
-       LPWSTR pDataFile;
-       LPWSTR pConfigFile;
-       DWORD dwDriverAttributes;
-       DWORD dwConfigVersion;
-       DWORD dwDriverVersion;
-} DRIVER_INFO_5W,*PDRIVER_INFO_5W,*LPDRIVER_INFO_5W;
-typedef        struct  _DRIVER_INFO_6A {
-       DWORD cVersion;
-       LPSTR pName;
-       LPSTR pEnvironment;
-       LPSTR pDriverPath;
-       LPSTR pDataFile;
-       LPSTR pConfigFile;
-       LPSTR pHelpFile;
-       LPSTR pDependentFiles;
-       LPSTR pMonitorName;
-       LPSTR pDefaultDataType;
-       LPSTR pszzPreviousNames;
-       FILETIME ftDriverDate;
-       DWORDLONG dwlDriverVersion;
-       LPSTR pszMfgName;
-       LPSTR pszOEMUrl;
-       LPSTR pszHardwareID;
-       LPSTR pszProvider;
-} DRIVER_INFO_6A,*PDRIVER_INFO_6A,*LPDRIVER_INFO_6A;
-typedef        struct  _DRIVER_INFO_6W {
-       DWORD cVersion;
-       LPWSTR pName;
-       LPWSTR pEnvironment;
-       LPWSTR pDriverPath;
-       LPWSTR pDataFile;
-       LPWSTR pConfigFile;
-       LPWSTR pHelpFile;
-       LPWSTR pDependentFiles;
-       LPWSTR pMonitorName;
-       LPWSTR pDefaultDataType;
-       LPWSTR pszzPreviousNames;
-       FILETIME ftDriverDate;
-       DWORDLONG dwlDriverVersion;
-       LPWSTR pszMfgName;
-       LPWSTR pszOEMUrl;
-       LPWSTR pszHardwareID;
-       LPWSTR pszProvider;
-} DRIVER_INFO_6W,*PDRIVER_INFO_6W,*LPDRIVER_INFO_6W;
-#endif
+
 typedef struct _MONITOR_INFO_1A{LPSTR pName;} MONITOR_INFO_1A,*PMONITOR_INFO_1A,*LPMONITOR_INFO_1A;
 typedef struct _MONITOR_INFO_1W{LPWSTR pName;} MONITOR_INFO_1W,*PMONITOR_INFO_1W,*LPMONITOR_INFO_1W;
 typedef struct _PORT_INFO_1A {LPSTR pName;} PORT_INFO_1A,*PPORT_INFO_1A,*LPPORT_INFO_1A;
@@ -542,22 +450,7 @@ typedef struct _PORT_INFO_3W {
        LPWSTR pszStatus;
        DWORD dwSeverity;
 } PORT_INFO_3W,*PPORT_INFO_3W,*LPPORT_INFO_3W;
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct _PRINTER_ENUM_VALUESA {
-       LPSTR pValueName;
-       DWORD cbValueName;
-       DWORD dwType;
-       LPBYTE pData;
-       DWORD cbData;
-} PRINTER_ENUM_VALUESA,*PPRINTER_ENUM_VALUESA,*LPRINTER_ENUM_VALUESA;
-typedef struct _PRINTER_ENUM_VALUESW {
-       LPWSTR pValueName;
-       DWORD cbValueName;
-       DWORD dwType;
-       LPBYTE pData;
-       DWORD cbData;
-} PRINTER_ENUM_VALUESW,*PPRINTER_ENUM_VALUESW,*LPRINTER_ENUM_VALUESW;
-#endif
+
 typedef        struct _PRINTER_INFO_1A {
        DWORD Flags;
        LPSTR pDescription;
@@ -646,22 +539,7 @@ typedef    struct _PRINTER_INFO_5W {
 typedef struct _PRINTER_INFO_6 {
        DWORD   dwStatus;
 } PRINTER_INFO_6,*PPRINTER_INFO_6,*LPPRINTER_INFO_6;
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct _PRINTER_INFO_7A {
-       LPWSTR pszObjectGUID;
-       DWORD dwAction;
-} PRINTER_INFO_7A,*PPRINTER_INFO_7A,*LPPRINTER_INFO_7A;
-typedef struct _PRINTER_INFO_7W {
-       LPWSTR pszObjectGUID;
-       DWORD dwAction;
-} PRINTER_INFO_7W,*PPRINTER_INFO_7W,*LPPRINTER_INFO_7W;
-typedef struct _PRINTER_INFO_8 {
-       LPDEVMODE pDevMode;
-} PRINTER_INFO_8,*PPRINTER_INFO_8,*LPPRINTER_INFO_8;
-typedef struct _PRINTER_INFO_9 {
-       LPDEVMODE pDevMode;
-} PRINTER_INFO_9,*PPRINTER_INFO_9,*LPPRINTER_INFO_9;
-#endif
+
 typedef        struct _PRINTPROCESSOR_INFO_1A {LPSTR pName;} PRINTPROCESSOR_INFO_1A,*PPRINTPROCESSOR_INFO_1A,*LPPRINTPROCESSOR_INFO_1A;
 typedef        struct _PRINTPROCESSOR_INFO_1W {LPWSTR pName;} PRINTPROCESSOR_INFO_1W,*PPRINTPROCESSOR_INFO_1W,*LPPRINTPROCESSOR_INFO_1W;
 typedef        struct  _PRINTER_NOTIFY_INFO_DATA {
@@ -705,14 +583,7 @@ typedef    struct _PRINTER_DEFAULTSW {
        LPDEVMODE pDevMode;
        ACCESS_MASK DesiredAccess;
 } PRINTER_DEFAULTSW,*PPRINTER_DEFAULTSW,*LPPRINTER_DEFAULTSW;
-#if (_WIN32_WINNT >= 0x0500)
-typedef        struct _PRINTPROCESSOR_CAPS_1 {
-       DWORD dwLevel;
-       DWORD dwNupOptions;
-       DWORD dwPageOrderFlags;
-       DWORD dwNumberOfCopies;
-} PRINTPROCESSOR_CAPS_1,*PPRINTPROCESSOR_CAPS_1,*LPPRINTPROCESSOR_CAPS_1;
-#endif
+
 typedef        struct _PROVIDOR_INFO_1A { 
        LPSTR pName;
        LPSTR pEnvironment;
@@ -798,10 +669,7 @@ BOOL WINAPI FindClosePrinterChangeNotification(HANDLE);
 HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE,DWORD,DWORD,PVOID);
 HANDLE WINAPI FindNextPrinterChangeNotification(HANDLE,PDWORD,PVOID,PVOID*);
 BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO);
-#if _WIN32_WINNT >= 0x0500
-BOOL WINAPI GetDefaultPrinterA(LPSTR,LPDWORD);
-BOOL WINAPI GetDefaultPrinterW(LPWSTR,LPDWORD);
-#endif
+
 BOOL WINAPI GetFormA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
 BOOL WINAPI GetFormW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
 BOOL WINAPI GetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD);
@@ -839,165 +707,221 @@ BOOL WINAPI StartPagePrinter(HANDLE);
 DWORD WINAPI WaitForPrinterChange(HANDLE,DWORD);
 BOOL WINAPI WritePrinter(HANDLE,PVOID,DWORD,PDWORD);
 
-#ifdef UNICODE
-typedef JOB_INFO_1W JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1;
-typedef JOB_INFO_2W JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2;
-typedef ADDJOB_INFO_1W ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1;
-typedef DATATYPES_INFO_1W DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1;
-typedef MONITOR_INFO_1W MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1;
-typedef MONITOR_INFO_2W MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2;
-typedef DOC_INFO_1W DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1;
-typedef DOC_INFO_2W DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2;
-typedef PORT_INFO_1W PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1;
-typedef PORT_INFO_2W PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2;
-typedef PORT_INFO_3W PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3;
-typedef DRIVER_INFO_1W DRIVER_INFO_1,*PDRIVER_INFO_1,*LPDRIVER_INFO_1;
-typedef DRIVER_INFO_2W DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2;
-typedef DRIVER_INFO_3W DRIVER_INFO_3,*PDRIVER_INFO_3,*LPDRIVER_INFO_3;
-#if (_WIN32_WINNT >= 0x0500)
-typedef DRIVER_INFO_4W DRIVER_INFO_4,*PDRIVER_INFO_4,*LPDRIVER_INFO_4;
-typedef DRIVER_INFO_5W DRIVER_INFO_5,*PDRIVER_INFO_5,*LPDRIVER_INFO_5;
-typedef DRIVER_INFO_6W DRIVER_INFO_6,*PDRIVER_INFO_6,*LPDRIVER_INFO_6;
-typedef PRINTER_ENUM_VALUESW PRINTER_ENUM_VALUES,*PPRINTER_ENUM_VALUES,*LPRINTER_ENUM_VALUES;
-#endif
-typedef PRINTER_INFO_1W PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1;
-typedef PRINTER_INFO_2W PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2;
-typedef PRINTER_INFO_4W PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4;
-typedef PRINTER_INFO_5W PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5;
-#if (_WIN32_WINNT >= 0x0500)
-typedef PRINTER_INFO_7W PRINTER_INFO_7,*PPRINTER_INFO_7,*LPPRINTER_INFO_7;
-#endif
-typedef PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1;
-typedef FORM_INFO_1W FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1;
-typedef PRINTER_DEFAULTSW PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS;
-typedef PROVIDOR_INFO_1W PROVIDOR_INFO_1,*PPROVIDOR_INFO_1,*LPROVIDOR_INFO_1;
-typedef PROVIDOR_INFO_2W PROVIDOR_INFO_2,*PPROVIDOR_INFO_2,*LPROVIDOR_INFO_2;
-#define AddForm AddFormW
-#define AddJob AddJobW
-#define AddMonitor AddMonitorW
-#define AddPort AddPortW
-#define AddPrinter AddPrinterW
-#define AddPrinterConnection AddPrinterConnectionW
-#define AddPrinterDriver AddPrinterDriverW
-#define AddPrintProcessor AddPrintProcessorW
-#define AddPrintProvidor AddPrintProvidorW
-#define AdvancedDocumentProperties AdvancedDocumentPropertiesW
-#define ConfigurePort ConfigurePortW
-#define DeleteForm DeleteFormW
-#define DeleteMonitor DeleteMonitorW
-#define DeletePort DeletePortW
-#define DeletePrinterConnection DeletePrinterConnectionW
-#define DeletePrinterData DeletePrinterDataW
-#define DeletePrinterDriver DeletePrinterDriverW
-#define DeletePrintProcessor DeletePrinterProcessorW
-#define DeletePrintProvidor DeletePrinterProvidorW
-#define DocumentProperties DocumentPropertiesW
-#define EnumForms EnumFormsW
-#define EnumJobs EnumJobsW
-#define EnumMonitors EnumMonitorsW
-#define EnumPorts EnumPortsW
-#define EnumPrinterData EnumPrinterDataW
-#define EnumPrinterDrivers EnumPrinterDriversW
-#define EnumPrinters EnumPrintersW
-#define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesW
-#define EnumPrintProcessors EnumPrintProcessorsW
-#define GetDefaultPrinter GetDefaultPrinterW
-#define        GetForm GetFormW
-#define GetJob GetJobW
-#define GetPrinter GetPrinterW
-#define GetPrinterData GetPrinterDataW
-#define GetPrinterDriver GetPrinterDriverW
-#define GetPrinterDriverDirectory GetPrinterDriverDirectoryW
-#define GetPrintProcessorDirectory GetPrintProcessorDirectoryW
-#define OpenPrinter OpenPrinterW
-#define PrinterMessageBox PrinterMessageBoxW
-#define ResetPrinter ResetPrinterW
-#define SetForm SetFormW
-#define SetJob SetJobW
-#define SetPrinter SetPrinterW
-#define SetPrinterData SetPrinterDataW
-#define StartDocPrinter StartDocPrinterW
-#else
-typedef JOB_INFO_1A JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1;
-typedef JOB_INFO_2A JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2;
-typedef ADDJOB_INFO_1A ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1;
-typedef DATATYPES_INFO_1A DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1;
-typedef MONITOR_INFO_1A MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1;
-typedef MONITOR_INFO_2A MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2;
-typedef DOC_INFO_1A DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1;
-typedef DOC_INFO_2A DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2;
-typedef PORT_INFO_1A PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1;
-typedef PORT_INFO_2A PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2;
-typedef PORT_INFO_3A PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3;
-typedef DRIVER_INFO_1A DRIVER_INFO_1,*PDRIVER_INFO_1,*LPDRIVER_INFO_1;
-typedef DRIVER_INFO_2A DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2;
-typedef DRIVER_INFO_3A DRIVER_INFO_3,*PDRIVER_INFO_3,*LPDRIVER_INFO_3;
-#if (_WIN32_WINNT >= 0x0500)
-typedef DRIVER_INFO_4A DRIVER_INFO_4,*PDRIVER_INFO_4,*LPDRIVER_INFO_4;
-typedef DRIVER_INFO_5A DRIVER_INFO_5,*PDRIVER_INFO_5,*LPDRIVER_INFO_5;
-typedef DRIVER_INFO_6A DRIVER_INFO_6,*PDRIVER_INFO_6,*LPDRIVER_INFO_6;
-typedef PRINTER_ENUM_VALUESA PRINTER_ENUM_VALUES,*PPRINTER_ENUM_VALUES,*LPRINTER_ENUM_VALUES;
-#endif
-typedef PRINTER_INFO_1A PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1;
-typedef PRINTER_INFO_2A PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2;
-typedef PRINTER_INFO_4A PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4;
-typedef PRINTER_INFO_5A PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5;
-#if (_WIN32_WINNT >= 0x0500)
-typedef PRINTER_INFO_7A PRINTER_INFO_7,*PPRINTER_INFO_7,*LPPRINTER_INFO_7;
-#endif
-typedef PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1;
-typedef FORM_INFO_1A FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1;
-typedef PRINTER_DEFAULTSA PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS;
-typedef PROVIDOR_INFO_1A PROVIDOR_INFO_1,*PPROVIDOR_INFO_1,*LPROVIDOR_INFO_1;
-typedef PROVIDOR_INFO_2A PROVIDOR_INFO_2,*PPROVIDOR_INFO_2,*LPROVIDOR_INFO_2;
-#define AddForm AddFormA
-#define AddJob AddJobA
-#define AddMonitor AddMonitorA
-#define AddPort AddPortA
-#define AddPrinter AddPrinterA
-#define AddPrinterConnection AddPrinterConnectionA
-#define AddPrinterDriver AddPrinterDriverA
-#define AddPrintProcessor AddPrintProcessorA
-#define AddPrintProvidor AddPrintProvidorA
-#define AdvancedDocumentProperties AdvancedDocumentPropertiesA
-#define ConfigurePort ConfigurePortA
-#define DeleteForm DeleteFormA
-#define DeleteMonitor DeleteMonitorA
-#define DeletePort DeletePortA
-#define DeletePrinterConnection DeletePrinterConnectionA
-#define DeletePrinterData DeletePrinterDataA
-#define DeletePrinterDriver DeletePrinterDriverA
-#define DeletePrintProcessor DeletePrinterProcessorA
-#define DeletePrintProvidor DeletePrinterProvidorA
-#define DocumentProperties DocumentPropertiesA
-#define EnumForms EnumFormsA
-#define EnumJobs EnumJobsA
-#define EnumMonitors EnumMonitorsA
-#define EnumPorts EnumPortsA
-#define EnumPrinterData EnumPrinterDataA
-#define EnumPrinterDrivers EnumPrinterDriversA
-#define EnumPrinters EnumPrintersA
-#define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesA
-#define EnumPrintProcessors EnumPrintProcessorsA
-#define GetDefaultPrinter GetDefaultPrinterA
-#define        GetForm GetFormA
-#define GetJob GetJobA
-#define GetPrinter GetPrinterA
-#define GetPrinterData GetPrinterDataA
-#define GetPrinterDriver GetPrinterDriverA
-#define GetPrinterDriverDirectory GetPrinterDriverDirectoryA
-#define GetPrintProcessorDirectory GetPrintProcessorDirectoryA
-#define OpenPrinter OpenPrinterA
-#define PrinterMessageBox PrinterMessageBoxA
-#define ResetPrinter ResetPrinterA
-#define SetForm SetFormA
-#define SetJob SetJobA
-#define SetPrinter SetPrinterA
-#define SetPrinterData SetPrinterDataA
-#define StartDocPrinter StartDocPrinterA
-#endif
+typedef __AW(JOB_INFO_1) JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1;
+typedef __AW(JOB_INFO_2) JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2;
+typedef __AW(ADDJOB_INFO_1) ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1;
+typedef __AW(DATATYPES_INFO_1) DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1;
+typedef __AW(MONITOR_INFO_1) MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1;
+typedef __AW(MONITOR_INFO_2) MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2;
+typedef __AW(DOC_INFO_1) DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1;
+typedef __AW(DOC_INFO_2) DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2;
+typedef __AW(PORT_INFO_1) PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1;
+typedef __AW(PORT_INFO_2) PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2;
+typedef __AW(PORT_INFO_3) PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3;
+typedef __AW(DRIVER_INFO_1) DRIVER_INFO_1,*PDRIVER_INFO_1,*LPDRIVER_INFO_1;
+typedef __AW(DRIVER_INFO_2) DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2;
+typedef __AW(DRIVER_INFO_3) DRIVER_INFO_3,*PDRIVER_INFO_3,*LPDRIVER_INFO_3;
+
+typedef __AW(PRINTER_INFO_1) PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1;
+typedef __AW(PRINTER_INFO_2) PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2;
+typedef __AW(PRINTER_INFO_4) PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4;
+typedef __AW(PRINTER_INFO_5) PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5;
+
+typedef __AW(PRINTPROCESSOR_INFO_1) PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1;
+typedef __AW(FORM_INFO_1) FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1;
+typedef __AW(PRINTER_DEFAULTS) PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS;
+typedef __AW(PROVIDOR_INFO_1) PROVIDOR_INFO_1,*PPROVIDOR_INFO_1,*LPROVIDOR_INFO_1;
+typedef __AW(PROVIDOR_INFO_2) PROVIDOR_INFO_2,*PPROVIDOR_INFO_2,*LPROVIDOR_INFO_2;
+#define AddForm __AW(AddForm)
+#define AddJob __AW(AddJob)
+#define AddMonitor __AW(AddMonitor)
+#define AddPort __AW(AddPort)
+#define AddPrinter __AW(AddPrinter)
+#define AddPrinterConnection __AW(AddPrinterConnection)
+#define AddPrinterDriver __AW(AddPrinterDriver)
+#define AddPrintProcessor __AW(AddPrintProcessor)
+#define AddPrintProvidor __AW(AddPrintProvidor)
+#define AdvancedDocumentProperties __AW(AdvancedDocumentProperties)
+#define ConfigurePort __AW(ConfigurePort)
+#define DeleteForm __AW(DeleteForm)
+#define DeleteMonitor __AW(DeleteMonitor)
+#define DeletePort __AW(DeletePort)
+#define DeletePrinterConnection __AW(DeletePrinterConnection)
+#define DeletePrinterData __AW(DeletePrinterData)
+#define DeletePrinterDriver __AW(DeletePrinterDriver)
+#define DeletePrintProcessor __AW(DeletePrinterProcessor)
+#define DeletePrintProvidor __AW(DeletePrinterProvidor)
+#define DocumentProperties __AW(DocumentProperties)
+#define EnumForms __AW(EnumForms)
+#define EnumJobs __AW(EnumJobs)
+#define EnumMonitors __AW(EnumMonitors)
+#define EnumPorts __AW(EnumPorts)
+#define EnumPrinterData __AW(EnumPrinterData)
+#define EnumPrinterDrivers __AW(EnumPrinterDrivers)
+#define EnumPrinters __AW(EnumPrinters)
+#define EnumPrintProcessorDatatypes __AW(EnumPrintProcessorDatatypes)
+#define EnumPrintProcessors __AW(EnumPrintProcessors)
+#define GetDefaultPrinter __AW(GetDefaultPrinter)
+#define        GetForm __AW(GetForm)
+#define GetJob __AW(GetJob)
+#define GetPrinter __AW(GetPrinter)
+#define GetPrinterData __AW(GetPrinterData)
+#define GetPrinterDriver __AW(GetPrinterDriver)
+#define GetPrinterDriverDirectory __AW(GetPrinterDriverDirectory)
+#define GetPrintProcessorDirectory __AW(GetPrintProcessorDirectory)
+#define OpenPrinter __AW(OpenPrinter)
+#define PrinterMessageBox __AW(PrinterMessageBox)
+#define ResetPrinter __AW(ResetPrinter)
+#define SetForm __AW(SetForm)
+#define SetJob __AW(SetJob)
+#define SetPrinter __AW(SetPrinter)
+#define SetPrinterData __AW(SetPrinterData)
+#define StartDocPrinter __AW(StartDocPrinter)
 #endif /* RC_INVOKED */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
+#define DRIVER_KERNELMODE      0x00000001
+#define DRIVER_USERMODE                0x00000002
+#define        DSPRINT_PUBLISH         0x00000001
+#define        DSPRINT_UPDATE          0x00000002
+#define        DSPRINT_UNPUBLISH       0x00000004
+#define        DSPRINT_REPUBLISH       0x00000008
+#define        DSPRINT_PENDING         0x80000000
+
+#ifndef RC_INVOKED
+typedef        struct  _DRIVER_INFO_4A {
+       DWORD cVersion;
+       LPSTR pName;
+       LPSTR pEnvironment;
+       LPSTR pDriverPath;
+       LPSTR pDataFile;
+       LPSTR pConfigFile;
+       LPSTR pHelpFile;
+       LPSTR pDependentFiles;          
+       LPSTR pMonitorName;
+       LPSTR pDefaultDataType;
+       LPSTR pszzPreviousNames;
+} DRIVER_INFO_4A,*PDRIVER_INFO_4A,*LPDRIVER_INFO_4A;
+typedef        struct  _DRIVER_INFO_4W {
+       DWORD cVersion;
+       LPWSTR pName;
+       LPWSTR pEnvironment;
+       LPWSTR pDriverPath;
+       LPWSTR pDataFile;
+       LPWSTR pConfigFile;
+       LPWSTR pHelpFile;
+       LPWSTR pDependentFiles;
+       LPWSTR pMonitorName;
+       LPWSTR pDefaultDataType;
+       LPWSTR pszzPreviousNames;
+} DRIVER_INFO_4W,*PDRIVER_INFO_4W,*LPDRIVER_INFO_4W;
+typedef        struct  _DRIVER_INFO_5A {
+       DWORD cVersion;
+       LPSTR pName;
+       LPSTR pEnvironment;
+       LPSTR pDriverPath;
+       LPSTR pDataFile;
+       LPSTR pConfigFile;
+       DWORD dwDriverAttributes;
+       DWORD dwConfigVersion;
+       DWORD dwDriverVersion;
+} DRIVER_INFO_5A,*PDRIVER_INFO_5A,*LPDRIVER_INFO_5A;
+typedef        struct  _DRIVER_INFO_5W {
+       DWORD cVersion;
+       LPWSTR pName;
+       LPWSTR pEnvironment;
+       LPWSTR pDriverPath;
+       LPWSTR pDataFile;
+       LPWSTR pConfigFile;
+       DWORD dwDriverAttributes;
+       DWORD dwConfigVersion;
+       DWORD dwDriverVersion;
+} DRIVER_INFO_5W,*PDRIVER_INFO_5W,*LPDRIVER_INFO_5W;
+typedef        struct  _DRIVER_INFO_6A {
+       DWORD cVersion;
+       LPSTR pName;
+       LPSTR pEnvironment;
+       LPSTR pDriverPath;
+       LPSTR pDataFile;
+       LPSTR pConfigFile;
+       LPSTR pHelpFile;
+       LPSTR pDependentFiles;
+       LPSTR pMonitorName;
+       LPSTR pDefaultDataType;
+       LPSTR pszzPreviousNames;
+       FILETIME ftDriverDate;
+       DWORDLONG dwlDriverVersion;
+       LPSTR pszMfgName;
+       LPSTR pszOEMUrl;
+       LPSTR pszHardwareID;
+       LPSTR pszProvider;
+} DRIVER_INFO_6A,*PDRIVER_INFO_6A,*LPDRIVER_INFO_6A;
+typedef        struct  _DRIVER_INFO_6W {
+       DWORD cVersion;
+       LPWSTR pName;
+       LPWSTR pEnvironment;
+       LPWSTR pDriverPath;
+       LPWSTR pDataFile;
+       LPWSTR pConfigFile;
+       LPWSTR pHelpFile;
+       LPWSTR pDependentFiles;
+       LPWSTR pMonitorName;
+       LPWSTR pDefaultDataType;
+       LPWSTR pszzPreviousNames;
+       FILETIME ftDriverDate;
+       DWORDLONG dwlDriverVersion;
+       LPWSTR pszMfgName;
+       LPWSTR pszOEMUrl;
+       LPWSTR pszHardwareID;
+       LPWSTR pszProvider;
+} DRIVER_INFO_6W,*PDRIVER_INFO_6W,*LPDRIVER_INFO_6W;
+typedef struct _PRINTER_ENUM_VALUESA {
+       LPSTR pValueName;
+       DWORD cbValueName;
+       DWORD dwType;
+       LPBYTE pData;
+       DWORD cbData;
+} PRINTER_ENUM_VALUESA,*PPRINTER_ENUM_VALUESA,*LPRINTER_ENUM_VALUESA;
+typedef struct _PRINTER_ENUM_VALUESW {
+       LPWSTR pValueName;
+       DWORD cbValueName;
+       DWORD dwType;
+       LPBYTE pData;
+       DWORD cbData;
+} PRINTER_ENUM_VALUESW,*PPRINTER_ENUM_VALUESW,*LPRINTER_ENUM_VALUESW;
+typedef struct _PRINTER_INFO_7A {
+       LPWSTR pszObjectGUID;
+       DWORD dwAction;
+} PRINTER_INFO_7A,*PPRINTER_INFO_7A,*LPPRINTER_INFO_7A;
+typedef struct _PRINTER_INFO_7W {
+       LPWSTR pszObjectGUID;
+       DWORD dwAction;
+} PRINTER_INFO_7W,*PPRINTER_INFO_7W,*LPPRINTER_INFO_7W;
+typedef struct _PRINTER_INFO_8 {
+       LPDEVMODE pDevMode;
+} PRINTER_INFO_8,*PPRINTER_INFO_8,*LPPRINTER_INFO_8;
+typedef struct _PRINTER_INFO_9 {
+       LPDEVMODE pDevMode;
+} PRINTER_INFO_9,*PPRINTER_INFO_9,*LPPRINTER_INFO_9;
+typedef        struct _PRINTPROCESSOR_CAPS_1 {
+       DWORD dwLevel;
+       DWORD dwNupOptions;
+       DWORD dwPageOrderFlags;
+       DWORD dwNumberOfCopies;
+} PRINTPROCESSOR_CAPS_1,*PPRINTPROCESSOR_CAPS_1,*LPPRINTPROCESSOR_CAPS_1;
+BOOL WINAPI GetDefaultPrinterA(LPSTR,LPDWORD);
+BOOL WINAPI GetDefaultPrinterW(LPWSTR,LPDWORD);
+typedef __AW(DRIVER_INFO_4) DRIVER_INFO_4,*PDRIVER_INFO_4,*LPDRIVER_INFO_4;
+typedef __AW(DRIVER_INFO_5) DRIVER_INFO_5,*PDRIVER_INFO_5,*LPDRIVER_INFO_5;
+typedef __AW(DRIVER_INFO_6) DRIVER_INFO_6,*PDRIVER_INFO_6,*LPDRIVER_INFO_6;
+typedef __AW(PRINTER_ENUM_VALUES) PRINTER_ENUM_VALUES,*PPRINTER_ENUM_VALUES,*LPRINTER_ENUM_VALUES;
+typedef __AW(PRINTER_INFO_7) PRINTER_INFO_7,*PPRINTER_INFO_7,*LPPRINTER_INFO_7;
+#endif /* ! RC_INVOKED */
+
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */
+
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index c8bfe60..ad2e1e8 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WINSVC_H
 #define _WINSVC_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifndef WINADVAPI
 #define WINADVAPI
@@ -32,6 +33,7 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #define SERVICES_ACTIVE_DATABASEA "ServicesActive"
 #define SERVICES_ACTIVE_DATABASEW L"ServicesActive"
 #define SERVICES_FAILED_DATABASEA "ServicesFailed"
@@ -263,72 +265,40 @@ WINADVAPI BOOL WINAPI StartServiceCtrlDispatcherW(LPSERVICE_TABLE_ENTRYW);
 WINADVAPI BOOL WINAPI StartServiceW(SC_HANDLE,DWORD,LPCWSTR*);
 WINADVAPI BOOL WINAPI UnlockServiceDatabase(SC_LOCK);
 
-#ifdef UNICODE
-typedef ENUM_SERVICE_STATUSW ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS;
-typedef ENUM_SERVICE_STATUS_PROCESSW ENUM_SERVICE_STATUS_PROCESS;
-typedef LPENUM_SERVICE_STATUS_PROCESSW LPENUM_SERVICE_STATUS_PROCESS;
-typedef QUERY_SERVICE_CONFIGW QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG;
-typedef QUERY_SERVICE_LOCK_STATUSW QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS;
-typedef SERVICE_TABLE_ENTRYW SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY;
-typedef LPSERVICE_MAIN_FUNCTIONW LPSERVICE_MAIN_FUNCTION;
-typedef SERVICE_DESCRIPTIONW SERVICE_DESCRIPTION;
-typedef LPSERVICE_DESCRIPTIONW LPSERVICE_DESCRIPTION;
-typedef SERVICE_FAILURE_ACTIONSW SERVICE_FAILURE_ACTIONS;
-typedef LPSERVICE_FAILURE_ACTIONSW LPSERVICE_FAILURE_ACTIONS;
-#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEW
-#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEW
-#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERW
-#define ChangeServiceConfig ChangeServiceConfigW
-#define ChangeServiceConfig2 ChangeServiceConfig2W
-#define CreateService CreateServiceW
-#define EnumDependentServices EnumDependentServicesW
-#define EnumServicesStatus EnumServicesStatusW
-#define EnumServicesStatusEx  EnumServicesStatusExW
-#define GetServiceDisplayName GetServiceDisplayNameW
-#define GetServiceKeyName GetServiceKeyNameW
-#define OpenSCManager OpenSCManagerW
-#define OpenService OpenServiceW
-#define QueryServiceConfig QueryServiceConfigW
-#define QueryServiceConfig2 QueryServiceConfig2W
-#define QueryServiceLockStatus QueryServiceLockStatusW
-#define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerW
-#define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExW
-#define StartService StartServiceW
-#define StartServiceCtrlDispatcher StartServiceCtrlDispatcherW
-#else
-typedef ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS;
-typedef ENUM_SERVICE_STATUS_PROCESSA ENUM_SERVICE_STATUS_PROCESS;
-typedef LPENUM_SERVICE_STATUS_PROCESSA LPENUM_SERVICE_STATUS_PROCESS;
-typedef QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG;
-typedef QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS;
-typedef SERVICE_TABLE_ENTRYA SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY;
-typedef LPSERVICE_MAIN_FUNCTIONA LPSERVICE_MAIN_FUNCTION;
-typedef SERVICE_DESCRIPTIONA SERVICE_DESCRIPTION;
-typedef LPSERVICE_DESCRIPTIONA LPSERVICE_DESCRIPTION;
-typedef SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONS;
-typedef LPSERVICE_FAILURE_ACTIONSA LPSERVICE_FAILURE_ACTIONS;
-#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEA
-#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEA
-#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERA
-#define ChangeServiceConfig ChangeServiceConfigA
-#define ChangeServiceConfig2 ChangeServiceConfig2A
-#define CreateService CreateServiceA
-#define EnumDependentServices EnumDependentServicesA
-#define EnumServicesStatus EnumServicesStatusA
-#define EnumServicesStatusEx  EnumServicesStatusExA
-#define GetServiceDisplayName GetServiceDisplayNameA
-#define GetServiceKeyName GetServiceKeyNameA
-#define OpenSCManager OpenSCManagerA
-#define OpenService OpenServiceA
-#define QueryServiceConfig QueryServiceConfigA
-#define QueryServiceConfig2 QueryServiceConfig2A
-#define QueryServiceLockStatus QueryServiceLockStatusA
-#define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerA
-#define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExA
-#define StartService StartServiceA
-#define StartServiceCtrlDispatcher StartServiceCtrlDispatcherA
-#endif
+typedef __AW(ENUM_SERVICE_STATUS) ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS;
+typedef __AW(ENUM_SERVICE_STATUS_PROCESS) ENUM_SERVICE_STATUS_PROCESS;
+typedef __AW(LPENUM_SERVICE_STATUS_PROCESS) LPENUM_SERVICE_STATUS_PROCESS;
+typedef __AW(QUERY_SERVICE_CONFIG) QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG;
+typedef __AW(QUERY_SERVICE_LOCK_STATUS) QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS;
+typedef __AW(SERVICE_TABLE_ENTRY) SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY;
+typedef __AW(LPSERVICE_MAIN_FUNCTION) LPSERVICE_MAIN_FUNCTION;
+typedef __AW(SERVICE_DESCRIPTION) SERVICE_DESCRIPTION;
+typedef __AW(LPSERVICE_DESCRIPTION) LPSERVICE_DESCRIPTION;
+typedef __AW(SERVICE_FAILURE_ACTIONS) SERVICE_FAILURE_ACTIONS;
+typedef __AW(LPSERVICE_FAILURE_ACTIONS) LPSERVICE_FAILURE_ACTIONS;
+#define SERVICES_ACTIVE_DATABASE __AW(SERVICES_ACTIVE_DATABASE)
+#define SERVICES_FAILED_DATABASE __AW(SERVICES_FAILED_DATABASE)
+#define SC_GROUP_IDENTIFIER __AW(SC_GROUP_IDENTIFIER)
+#define ChangeServiceConfig __AW(ChangeServiceConfig)
+#define ChangeServiceConfig2 __AW(ChangeServiceConfig2)
+#define CreateService __AW(CreateService)
+#define EnumDependentServices __AW(EnumDependentServices)
+#define EnumServicesStatus __AW(EnumServicesStatus)
+#define EnumServicesStatusEx  __AW(EnumServicesStatusEx)
+#define GetServiceDisplayName __AW(GetServiceDisplayName)
+#define GetServiceKeyName __AW(GetServiceKeyName)
+#define OpenSCManager __AW(OpenSCManager)
+#define OpenService __AW(OpenService)
+#define QueryServiceConfig __AW(QueryServiceConfig)
+#define QueryServiceConfig2 __AW(QueryServiceConfig2)
+#define QueryServiceLockStatus __AW(QueryServiceLockStatus)
+#define RegisterServiceCtrlHandler __AW(RegisterServiceCtrlHandler)
+#define RegisterServiceCtrlHandlerEx __AW(RegisterServiceCtrlHandlerEx)
+#define StartService __AW(StartService)
+#define StartServiceCtrlDispatcher __AW(StartServiceCtrlDispatcher)
+
 #ifdef __cplusplus
 }
 #endif
+
 #endif /* _WINSVC_H */
index a4b9eed..88d8506 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WINUSER_H
 #define _WINUSER_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -104,12 +105,8 @@ extern "C" {
 #define CF_ENHMETAFILE 14
 #define CF_HDROP       15
 #define CF_LOCALE      16
-#if (_WIN32_WINNT >= 0x0500)
-#define CF_DIBV5 17
-#define CF_MAX 18
-#else
 #define CF_MAX 17
-#endif
+
 #define CF_OWNERDISPLAY        128
 #define CF_DSPTEXT     129
 #define CF_DSPBITMAP   130
@@ -170,14 +167,6 @@ extern "C" {
 #define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
 #define BSF_POSTMESSAGE 0x00000010
 #define BSF_QUERY 0x00000001
-#if (_WIN32_WINNT >= 0x0500)
-#define BSF_ALLOWSFW 0x00000080
-#define BSF_SENDNOTIFYMESSAGE 0x00000100
-#endif /* (_WIN32_WINNT >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0501)
-#define BSF_LUID 0x00000400
-#define BSF_RETURNHDESK 0x00000200
-#endif /* (_WIN32_WINNT >= 0x0501) */
 
 #define BROADCAST_QUERY_DENY   1112363332
 #define ENUM_CURRENT_SETTINGS  ((DWORD)-1)
@@ -429,13 +418,7 @@ extern "C" {
 #define DC_ICON        0x00000004
 #define DC_TEXT        0x00000008
 #define DC_INBUTTON    0x00000010
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-#define DC_GRADIENT    0x00000020
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define DC_BUTTONS     0x00001000
-#endif
-/* Where are these documented? */
+
 #define DC_CAPTION     (DC_ICON|DC_TEXT|DC_BUTTONS)
 #define DC_NC  (DC_CAPTION|DC_FRAME)
 
@@ -474,9 +457,7 @@ extern "C" {
 #define DFC_MENU       2
 #define DFC_SCROLL     3
 #define DFC_BUTTON     4
-#if (WINVER >= 0x0500)
-#define DFC_POPUPMENU 5
-#endif /* WINVER >= 0x0500 */
+
 #define DFCS_CAPTIONCLOSE      0
 #define DFCS_CAPTIONMIN        1
 #define DFCS_CAPTIONMAX        2
@@ -502,10 +483,7 @@ extern "C" {
 #define DFCS_INACTIVE  256
 #define DFCS_PUSHED    512
 #define DFCS_CHECKED   1024
-#if (WINVER >= 0x0500)
-#define DFCS_TRANSPARENT       0x800
-#define DFCS_HOT       0x1000
-#endif
+
 #define DFCS_ADJUSTRECT        0x2000
 #define DFCS_FLAT      0x4000
 #define DFCS_MONO      0x8000
@@ -594,25 +572,26 @@ extern "C" {
 #define RT_ANICURSOR MAKEINTRESOURCE(21)
 #define RT_ANIICON MAKEINTRESOURCE(22)
 #define RT_HTML MAKEINTRESOURCE(23)
+
 #ifndef RC_INVOKED
 #define RT_MANIFEST MAKEINTRESOURCE(24)
 #define CREATEPROCESS_MANIFEST_RESOURCE_ID  MAKEINTRESOURCE(1)
 #define ISOLATIONAWARE_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(2)
 #define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(3)
 #else
+
 #define RT_MANIFEST 24
 #define CREATEPROCESS_MANIFEST_RESOURCE_ID  1
 #define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2
 #define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3
 #endif
+
 #define EWX_FORCE 4
 #define EWX_LOGOFF 0
 #define EWX_POWEROFF 8
 #define EWX_REBOOT 2
 #define EWX_SHUTDOWN 1
-#if (_WIN32_WINNT >= 0x0500)
-#define EWX_FORCEIFHUNG 16
-#endif
+
 #define CS_BYTEALIGNCLIENT 4096
 #define CS_BYTEALIGNWINDOW 8192
 #define CS_KEYCVTWINDOW 4
@@ -627,9 +606,7 @@ extern "C" {
 #define CS_SAVEBITS 2048
 #define CS_VREDRAW 1
 #define CS_IME 0x10000
-#if (_WIN32_WINNT >= 0x0501)
-#define CS_DROPSHADOW 0x20000
-#endif
+
 #define GCW_ATOM (-32)
 #define GCL_CBCLSEXTRA (-20)
 #define GCL_CBWNDEXTRA (-18)
@@ -648,6 +625,7 @@ extern "C" {
 #define GCLP_HMODULE (-16)
 #define GCLP_WNDPROC (-24)
 #define GCLP_HICONSM (-34)
+
 #if 0
     /* This is supposed to be defined by the program using it not defined
        in the w32api headers.  I've left it here for documentation purposes.
@@ -656,6 +634,7 @@ extern "C" {
 #define IDC_STATIC (-1)
 #endif
 #endif
+
 #define IDC_ARROW MAKEINTRESOURCE(32512)
 #define IDC_IBEAM MAKEINTRESOURCE(32513)
 #define IDC_WAIT MAKEINTRESOURCE(32514)
@@ -672,6 +651,7 @@ extern "C" {
 #define IDC_HELP MAKEINTRESOURCE(32651)
 #define IDC_ICON MAKEINTRESOURCE(32641)
 #define IDC_SIZE MAKEINTRESOURCE(32640)
+
 #ifndef RC_INVOKED
 #define IDI_APPLICATION MAKEINTRESOURCE(32512)
 #define IDI_HAND MAKEINTRESOURCE(32513)
@@ -680,6 +660,7 @@ extern "C" {
 #define IDI_ASTERISK MAKEINTRESOURCE(32516)
 #define IDI_WINLOGO MAKEINTRESOURCE(32517)
 #else
+
 #define IDI_APPLICATION 32512
 #define IDI_HAND 32513
 #define IDI_QUESTION 32514
@@ -687,6 +668,7 @@ extern "C" {
 #define IDI_ASTERISK 32516
 #define IDI_WINLOGO 32517
 #endif
+
 #define IDI_WARNING IDI_EXCLAMATION
 #define IDI_ERROR IDI_HAND
 #define IDI_INFORMATION IDI_ASTERISK
@@ -699,20 +681,7 @@ extern "C" {
 #define MIIM_STRING 64
 #define MIIM_BITMAP 128
 #define MIIM_FTYPE 256
-#if (WINVER >= 0x0500)
-#define MIM_MAXHEIGHT 1
-#define MIM_BACKGROUND 2
-#define MIM_HELPID 4
-#define MIM_MENUDATA 8
-#define MIM_STYLE 16
-#define MIM_APPLYTOSUBMENUS 0x80000000L
-#define MNS_NOCHECK 0x80000000
-#define MNS_MODELESS 0x40000000
-#define MNS_DRAGDROP 0x20000000
-#define MNS_AUTODISMISS 0x10000000
-#define MNS_NOTIFYBYPOS 0x08000000
-#define MNS_CHECKORBMP 0x04000000
-#endif
+
 #define MFT_BITMAP 4
 #define MFT_MENUBARBREAK 32
 #define MFT_MENUBREAK 64
@@ -774,14 +743,8 @@ extern "C" {
 #define MB_ICONSTOP 16
 #define MB_OKCANCEL 1
 #define MB_RETRYCANCEL 5
-#ifdef _WIN32_WINNT
-#if (_WIN32_WINNT >= 0x0400)
 #define MB_SERVICE_NOTIFICATION 0x00200000
-#else
-#define MB_SERVICE_NOTIFICATION 0x00040000
-#endif
 #define MB_SERVICE_NOTIFICATION_NT3X 0x00040000
-#endif
 #define MB_SETFOREGROUND 0x10000
 #define MB_SYSTEMMODAL 4096
 #define MB_TASKMODAL 0x2000
@@ -794,9 +757,6 @@ extern "C" {
 #define MB_NOFOCUS 0x00008000
 #define MB_TYPEMASK 15
 #define MB_TOPMOST 0x40000
-#if (WINVER >= 0x0500)
-#define MB_CANCELTRYCONTINUE 6
-#endif
 
 #define IDOK 1
 #define IDCANCEL 2
@@ -805,14 +765,8 @@ extern "C" {
 #define IDIGNORE 5
 #define IDYES 6
 #define IDNO 7
-#if (WINVER >= 0x0400)
 #define IDCLOSE 8
 #define IDHELP 9
-#endif
-#if (WINVER >= 0x0500)
-#define IDTRYAGAIN 10
-#define IDCONTINUE 11
-#endif
 
 #define GWL_EXSTYLE (-20)
 #define GWL_STYLE (-16)
@@ -832,29 +786,17 @@ extern "C" {
 #define DWLP_MSGRESULT 0
 #define DWL_USER 8
 #define DWLP_USER 8
-#if (_WIN32_WINNT >= 0x0501)
-#define QS_ALLEVENTS 1215
-#define QS_ALLINPUT 1279
-#else
-#define QS_ALLEVENTS 191
-#define QS_ALLINPUT 255
-#endif
+
 #define QS_ALLPOSTMESSAGE 256
 #define QS_HOTKEY 128
-#if (_WIN32_WINNT >= 0x0501)
-#define QS_INPUT 1031
-#else
-#define QS_INPUT 7
-#endif
+
 #define QS_KEY 1
 #define QS_MOUSE 6
 #define QS_MOUSEBUTTON 4
 #define QS_MOUSEMOVE 2
 #define QS_PAINT 32
 #define QS_POSTMESSAGE 8
-#if (_WIN32_WINNT >= 0x0501)
-#define QS_RAWINPUT 1024
-#endif
+
 #define QS_SENDMESSAGE 64
 #define QS_TIMER 16
 #define MWMO_WAITALL 1
@@ -992,11 +934,7 @@ extern "C" {
 #define SM_MEDIACENTER 87
 #define SM_STARTER 88
 #define SM_SERVERR2 89
-#if (_WIN32_WINNT < 0x0400)
-#define SM_CMETRICS 76
-#else
 #define SM_CMETRICS 88
-#endif
 #define SM_REMOTESESSION 0X1000
 #define ARW_BOTTOMLEFT 0
 #define ARW_BOTTOMRIGHT 1
@@ -1027,10 +965,7 @@ extern "C" {
 #define LR_SHARED 32768
 #define KEYEVENTF_EXTENDEDKEY 0x00000001
 #define KEYEVENTF_KEYUP 00000002
-#if (_WIN32_WINNT >= 0x0500)
-#define KEYEVENTF_UNICODE 0x00000004
-#define KEYEVENTF_SCANCODE 0x00000008
-#endif
+
 #define OBM_BTNCORNERS 32758
 #define OBM_BTSIZE 32761
 #define OBM_CHECK 32760
@@ -1107,15 +1042,9 @@ extern "C" {
 #define MOUSEEVENTF_MIDDLEDOWN 0x00000020
 #define MOUSEEVENTF_MIDDLEUP 0x00000040
 #define MOUSEEVENTF_ABSOLUTE 0x00008000
-#if (_WIN32_WINNT >= 0x0400)
 #define MOUSEEVENTF_WHEEL 0x00000800
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define MOUSEEVENTF_XDOWN 0x00000080
-#define MOUSEEVENTF_XUP 0x00000100
-#endif
+
 /* Also in pbt.h */
-#if (_WIN32_WINNT >= 0x0400)
 #define PBT_APMQUERYSUSPEND 0
 #define PBT_APMQUERYSTANDBY 1
 #define PBT_APMQUERYSUSPENDFAILED 2
@@ -1130,30 +1059,20 @@ extern "C" {
 #define PBT_APMOEMEVENT 11
 #define PBT_APMRESUMEAUTOMATIC 18
 #define PBTF_APMRESUMEFROMFAILURE 1
-#endif
-#if (_WIN32_WINNT >= 0x0600)
-#define PBT_POWERSETTINGCHANGE 32787
-#endif
+
 /* end pbt.h */
 
 #define PM_NOREMOVE 0
 #define PM_REMOVE 1
 #define PM_NOYIELD 2
-#if (_WIN32_WINNT >= 0x0500)
-# define PM_QS_INPUT (QS_INPUT << 16)
-# define PM_QS_POSTMESSAGE ((QS_POSTMESSAGE|QS_HOTKEY|QS_TIMER) << 16)
-# define PM_QS_PAINT (QS_PAINT << 16)
-# define PM_QS_SENDMESSAGE (QS_SENDMESSAGE << 16)
-#endif
+
 #define HWND_BROADCAST ((HWND)0xFFFF)
 #define HWND_BOTTOM ((HWND)1)
 #define HWND_NOTOPMOST ((HWND)(-2))
 #define HWND_TOP ((HWND)0)
 #define HWND_TOPMOST ((HWND)(-1))
 #define HWND_DESKTOP (HWND)0
-#if (_WIN32_WINNT >= 0x0500)
-#define HWND_MESSAGE ((HWND)(-3))
-#endif
+
 #define RDW_ERASE 4
 #define RDW_FRAME 1024
 #define RDW_INTERNALPAINT 2
@@ -1169,9 +1088,7 @@ extern "C" {
 #define SMTO_ABORTIFHUNG 0x0002
 #define SMTO_BLOCK 0x0001
 #define SMTO_NORMAL 0x0000
-#if (_WIN32_WINNT >= 0x0500)
-#define SMTO_NOTIMEOUTIFNOTHUNG 0x0008
-#endif
+
 #define SIF_DISABLENOSCROLL 0x0008
 #define SIF_PAGE 0x0002
 #define SIF_POS 0x0004
@@ -1202,16 +1119,7 @@ extern "C" {
 #define HSHELL_WINDOWACTIVATED 4
 #define HSHELL_WINDOWCREATED 1
 #define HSHELL_WINDOWDESTROYED 2
-#if (_WIN32_WINNT >= 0x0500)
-#define HSHELL_ACCESSIBILITYSTATE 11
-#define HSHELL_APPCOMMAND 12
-#define HSHELL_RUDEAPPACTIVATED 32772
-#define HSHELL_FLASH 32774
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define HSHELL_WINDOWREPLACED 13
-#define HSHELL_WINDOWREPLACING 14
-#endif
+
 #define SPI_GETACCESSTIMEOUT 0x003C
 #define SPI_GETACTIVEWINDOWTRACKING 0x1000
 #define SPI_GETACTIVEWNDTRKTIMEOUT 8194
@@ -1360,28 +1268,7 @@ extern "C" {
 #define SPI_SETUIEFFECTS 0x103F
 #define SPI_SETWHEELSCROLLLINES 0x0069
 #define SPI_SETWORKAREA 0x002F
-#if (_WIN32_WINNT >= 0x0501)
-#define SPI_GETDROPSHADOW 0x1024
-#define SPI_GETFLATMENU 0x1022
-#define SPI_GETFOCUSBORDERHEIGHT 0x2010
-#define SPI_GETFOCUSBORDERWIDTH 0x200E
-#define SPI_GETFONTSMOOTHINGCONTRAST 0x200C
-#define SPI_GETFONTSMOOTHINGTYPE 0x200A
-#define SPI_GETMOUSECLICKLOCK 0x101E
-#define SPI_GETMOUSECLICKLOCKTIME 0x2008
-#define SPI_GETMOUSESONAR 0x101C
-#define SPI_GETMOUSEVANISH 0x1020
-#define SPI_SETDROPSHADOW 0x1025
-#define SPI_SETFLATMENU 0x1023
-#define SPI_SETFOCUSBORDERHEIGHT 0x2011
-#define SPI_SETFOCUSBORDERWIDTH 0x200F
-#define SPI_SETFONTSMOOTHINGCONTRAST 0x200D
-#define SPI_SETFONTSMOOTHINGTYPE 0x200B
-#define SPI_SETMOUSECLICKLOCK 0x101F
-#define SPI_SETMOUSECLICKLOCKTIME 0x2009
-#define SPI_SETMOUSESONAR 0x101D
-#define SPI_SETMOUSEVANISH 0x1021
-#endif
+
 #define SPIF_UPDATEINIFILE 0x0001
 #define SPIF_SENDCHANGE 0x0002
 #define SPIF_SENDWININICHANGE SPIF_SENDCHANGE
@@ -1456,9 +1343,7 @@ extern "C" {
 #define WM_INITDIALOG 272
 #define WM_INITMENU 278
 #define WM_INITMENUPOPUP 279
-#if (_WIN32_WINNT >= 0x0501)
-#define WM_INPUT 0x00FF
-#endif
+
 #define WM_INPUTLANGCHANGE 81
 #define WM_INPUTLANGCHANGEREQUEST 80
 #define WM_KEYDOWN 256
@@ -1477,18 +1362,7 @@ extern "C" {
 #define WM_MDISETMENU 560
 #define WM_MDITILE 550
 #define WM_MEASUREITEM 44
-#if (WINVER >= 0x0500)
-#define WM_GETOBJECT 0x003D
-#define WM_CHANGEUISTATE 0x0127
-#define WM_UPDATEUISTATE 0x0128
-#define WM_QUERYUISTATE 0x0129
-#define WM_UNINITMENUPOPUP 0x0125
-#define WM_MENURBUTTONUP 290
-#define WM_MENUCOMMAND 0x0126
-#define WM_MENUGETOBJECT 0x0124
-#define WM_MENUDRAG 0x0123
-#define WM_APPCOMMAND 0x0319
-#endif
+
 #define WM_MENUCHAR 288
 #define WM_MENUSELECT 287
 #define WM_NEXTMENU 531
@@ -1505,13 +1379,7 @@ extern "C" {
 #define WM_NCMBUTTONDBLCLK 169
 #define WM_NCMBUTTONDOWN 167
 #define WM_NCMBUTTONUP 168
-#if (_WIN32_WINNT >= 0x0500)
-#define WM_NCXBUTTONDOWN 171
-#define WM_NCXBUTTONUP 172
-#define WM_NCXBUTTONDBLCLK 173
-#define WM_NCMOUSEHOVER 0x02A0
-#define WM_NCMOUSELEAVE 0x02A2
-#endif
+
 #define WM_NCMOUSEMOVE 160
 #define WM_NCPAINT 133
 #define WM_NCRBUTTONDBLCLK 166
@@ -1578,13 +1446,8 @@ extern "C" {
 #define WM_WINDOWPOSCHANGING 70
 #define WM_WININICHANGE 26
 #define WM_KEYFIRST 256
-#if _WIN32_WINNT >= 0x0501
-#define WM_KEYLAST 265
-#define WM_UNICHAR 265
-#define UNICODE_NOCHAR 0xffff
-#else
 #define WM_KEYLAST 264
-#endif
+
 #define WM_SYNCPAINT  136
 #define WM_MOUSEACTIVATE 33
 #define WM_MOUSEMOVE 512
@@ -1599,26 +1462,14 @@ extern "C" {
 #define WM_MBUTTONDBLCLK 521
 #define WM_MOUSEWHEEL 522
 #define WM_MOUSEFIRST 512
-#if (_WIN32_WINNT >= 0x0500)
-#define WM_XBUTTONDOWN 523
-#define WM_XBUTTONUP 524
-#define WM_XBUTTONDBLCLK 525
-#define WM_MOUSELAST 525
-#else
 #define WM_MOUSELAST 522
-#endif
+
 #define WM_MOUSEHOVER  0x2A1
 #define WM_MOUSELEAVE  0x2A3
-#if (_WIN32_WINNT >= 0x0400)
 #define WHEEL_DELTA 120
 #define GET_WHEEL_DELTA_WPARAM(wparam) ((short)HIWORD (wparam))
 #define WHEEL_PAGESCROLL UINT_MAX
-#endif
-#if (_WIN32_WINNT >= 0x0601)
-#define WM_TOUCHMOVE 576
-#define WM_TOUCHDOWN 577
-#define WM_TOUCHUP 578
-#endif
+
 #define BM_CLICK 245
 #define BM_GETCHECK 240
 #define BM_GETIMAGE 246
@@ -1672,10 +1523,7 @@ extern "C" {
 #define CB_SETLOCALE 345
 #define CB_SETTOPINDEX 348
 #define CB_SHOWDROPDOWN 335
-#if (_WIN32_WINNT >= 0x0501)
-#define CB_SETMINVISIBLE 0x1701
-#define CB_GETMINVISIBLE 0x1702
-#endif
+
 #define CBN_CLOSEUP 8
 #define CBN_DBLCLK 2
 #define CBN_DROPDOWN 7
@@ -1724,10 +1572,7 @@ extern "C" {
 #define EM_SETTABSTOPS 203
 #define EM_SETWORDBREAKPROC 208
 #define EM_UNDO 199
-#if (WINVER >= 0x0500)
-#define EM_GETIMESTATUS 217
-#define EM_SETIMESTATUS 216
-#endif
+
 #define EN_CHANGE 768
 #define EN_ERRSPACE 1280
 #define EN_HSCROLL 1537
@@ -1886,10 +1731,7 @@ extern "C" {
 #define VK_RBUTTON     2
 #define VK_CANCEL      3
 #define VK_MBUTTON     4
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_XBUTTON1    5
-#define VK_XBUTTON2    6
-#endif
+
 #define VK_BACK        8
 #define VK_TAB 9
 #define VK_CLEAR       12
@@ -1979,33 +1821,9 @@ extern "C" {
 #define VK_RCONTROL    0xA3
 #define VK_LMENU       0xA4
 #define VK_RMENU       0xA5
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_BROWSER_BACK        0xA6
-#define VK_BROWSER_FORWARD     0xA7
-#define VK_BROWSER_REFRESH     0xA8
-#define VK_BROWSER_STOP        0xA9
-#define VK_BROWSER_SEARCH      0xAA
-#define VK_BROWSER_FAVORITES   0xAB
-#define VK_BROWSER_HOME        0xAC
-#define VK_VOLUME_MUTE 0xAD
-#define VK_VOLUME_DOWN 0xAE
-#define VK_VOLUME_UP   0xAF
-#define VK_MEDIA_NEXT_TRACK    0xB0
-#define VK_MEDIA_PREV_TRACK    0xB1
-#define VK_MEDIA_STOP  0xB2
-#define VK_MEDIA_PLAY_PAUSE    0xB3
-#define VK_LAUNCH_MAIL 0xB4
-#define VK_LAUNCH_MEDIA_SELECT 0xB5
-#define VK_LAUNCH_APP1 0xB6
-#define VK_LAUNCH_APP2 0xB7
-#endif
+
 #define VK_OEM_1       0xBA
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_OEM_PLUS    0xBB
-#define VK_OEM_COMMA   0xBC
-#define VK_OEM_MINUS   0xBD
-#define VK_OEM_PERIOD  0xBE
-#endif
+
 #define VK_OEM_2       0xBF
 #define VK_OEM_3       0xC0
 #define VK_OEM_4       0xDB
@@ -2013,13 +1831,9 @@ extern "C" {
 #define VK_OEM_6       0xDD
 #define VK_OEM_7       0xDE
 #define VK_OEM_8       0xDF
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_OEM_102     0xE2
-#endif
+
 #define VK_PROCESSKEY  0xE5
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_PACKET      0xE7
-#endif
+
 #define VK_ATTN        0xF6
 #define VK_CRSEL       0xF7
 #define VK_EXSEL       0xF8
@@ -2039,10 +1853,7 @@ extern "C" {
 #define MK_SHIFT       4
 #define MK_CONTROL     8
 #define MK_MBUTTON     16
-#if(_WIN32_WINNT >= 0x0500)
-#define MK_XBUTTON1    32
-#define MK_XBUTTON2    64
-#endif
+
 #define TPM_CENTERALIGN 4
 #define TPM_LEFTALIGN 0
 #define TPM_RIGHTALIGN 8
@@ -2055,9 +1866,7 @@ extern "C" {
 #define TPM_BOTTOMALIGN 32
 #define TPM_NONOTIFY 128
 #define TPM_RETURNCMD 256
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define TPM_RECURSE 1
-#endif
+
 #define HELP_COMMAND 0x102
 #define HELP_CONTENTS 3
 #define HELP_CONTEXT 1
@@ -2222,9 +2031,7 @@ extern "C" {
 #define SW_SCROLLCHILDREN 1
 #define SW_INVALIDATE 2
 #define SW_ERASE 4
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-#define SW_SMOOTHSCROLL        0x0010
-#endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */
+
 #define SC_SIZE 0xF000
 #define SC_MOVE 0xF010
 #define SC_MINIMIZE 0xF020
@@ -2268,9 +2075,7 @@ extern "C" {
 #define WA_CLICKACTIVE 2
 #define ICON_SMALL 0
 #define ICON_BIG 1
-#if (_WIN32_WINNT >= 0x0501)
-#define ICON_SMALL2 2
-#endif
+
 #define HBMMENU_CALLBACK ((HBITMAP) -1)
 #define HBMMENU_SYSTEM ((HBITMAP)1)
 #define HBMMENU_MBAR_RESTORE ((HBITMAP)2)
@@ -2294,226 +2099,15 @@ extern "C" {
 #define LLKHF_INJECTED 0x00000010
 #define LLKHF_ALTDOWN  (KF_ALTDOWN >> 8)
 #define LLKHF_UP       (KF_UP >> 8)
-#if (WINVER >= 0x0500)
-#define FLASHW_STOP 0
-#define FLASHW_CAPTION 1
-#define FLASHW_TRAY 2
-#define FLASHW_ALL (FLASHW_CAPTION|FLASHW_TRAY)
-#define FLASHW_TIMER 4
-#define FLASHW_TIMERNOFG 12
-#endif /* (WINVER >= 0x0500) */
+
 #define CURSOR_SHOWING 0x00000001
 #define WS_ACTIVECAPTION 0x00000001
-#if (_WIN32_WINNT >= 0x0403)
-#define INPUT_MOUSE 0x00000000
-#define INPUT_KEYBOARD 0x00000001
-#define INPUT_HARDWARE 0x00000002
-#endif /* (_WIN32_WINNT >= 0x0403) */
-#if (WINVER >= 0x0400)
+
 #define ENDSESSION_LOGOFF 0x80000000
-#endif
-#if (WINVER >= 0x0500)
-#define CHILDID_SELF 0
-#define OBJID_WINDOW 0x00000000
-#define OBJID_SYSMENU 0xFFFFFFFF
-#define OBJID_TITLEBAR 0xFFFFFFFE
-#define OBJID_MENU 0xFFFFFFFD
-#define OBJID_CLIENT 0xFFFFFFFC
-#define OBJID_VSCROLL 0xFFFFFFFB
-#define OBJID_HSCROLL 0xFFFFFFFA
-#define OBJID_SIZEGRIP 0xFFFFFFF9
-#define OBJID_CARET 0xFFFFFFF8
-#define OBJID_CURSOR 0xFFFFFFF7
-#define OBJID_ALERT 0xFFFFFFF6
-#define OBJID_SOUND 0xFFFFFFF5
-#define GUI_CARETBLINKING 0x00000001
-#define GUI_INMOVESIZE 0x00000002
-#define GUI_INMENUMODE 0x00000004
-#define GUI_SYSTEMMENUMODE 0x00000008
-#define GUI_POPUPMENUMODE 0x00000010
-#if (_WIN32_WINNT >= 0x0501)
-#define GUI_16BITTASK 0x00000020
-#endif
-#define WINEVENT_OUTOFCONTEXT   0x0000
-#define WINEVENT_SKIPOWNTHREAD  0x0001
-#define WINEVENT_SKIPOWNPROCESS 0x0002
-#define WINEVENT_INCONTEXT      0x0004
-#define AW_HOR_POSITIVE 0x00000001
-#define AW_HOR_NEGATIVE 0x00000002
-#define AW_VER_POSITIVE 0x00000004
-#define AW_VER_NEGATIVE 0x00000008
-#define AW_CENTER 0x00000010
-#define AW_HIDE 0x00010000
-#define AW_ACTIVATE 0x00020000
-#define AW_SLIDE 0x00040000
-#define AW_BLEND 0x00080000
-#define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000
-#define DEVICE_NOTIFY_SERVICE_HANDLE 0x00000001
-#if (_WIN32_WINNT >= 0x0501)
-#define DEVICE_NOTIFY_ALL_INTERFACE_CLASSES 0x00000004
-#endif
-#define EVENT_MIN                       0x00000001
-#define EVENT_SYSTEM_SOUND              0x00000001
-#define EVENT_SYSTEM_ALERT              0x00000002
-#define EVENT_SYSTEM_FOREGROUND         0x00000003
-#define EVENT_SYSTEM_MENUSTART          0x00000004
-#define EVENT_SYSTEM_MENUEND            0x00000005
-#define EVENT_SYSTEM_MENUPOPUPSTART     0x00000006
-#define EVENT_SYSTEM_MENUPOPUPEND       0x00000007
-#define EVENT_SYSTEM_CAPTURESTART       0x00000008
-#define EVENT_SYSTEM_CAPTUREEND         0x00000009
-#define EVENT_SYSTEM_MOVESIZESTART      0x0000000a
-#define EVENT_SYSTEM_MOVESIZEEND        0x0000000b
-#define EVENT_SYSTEM_CONTEXTHELPSTART   0x0000000c
-#define EVENT_SYSTEM_CONTEXTHELPEND     0x0000000d
-#define EVENT_SYSTEM_DRAGDROPSTART      0x0000000e
-#define EVENT_SYSTEM_DRAGDROPEND        0x0000000f
-#define EVENT_SYSTEM_DIALOGSTART        0x00000010
-#define EVENT_SYSTEM_DIALOGEND          0x00000011
-#define EVENT_SYSTEM_SCROLLINGSTART     0x00000012
-#define EVENT_SYSTEM_SCROLLINGEND       0x00000013
-#define EVENT_SYSTEM_SWITCHSTART        0x00000014
-#define EVENT_SYSTEM_SWITCHEND          0x00000015
-#define EVENT_SYSTEM_MINIMIZESTART      0x00000016
-#define EVENT_SYSTEM_MINIMIZEEND        0x00000017
-#define EVENT_OBJECT_CREATE             0x00008000
-#define EVENT_OBJECT_DESTROY            0x00008001
-#define EVENT_OBJECT_SHOW               0x00008002
-#define EVENT_OBJECT_HIDE               0x00008003
-#define EVENT_OBJECT_REORDER            0x00008004
-#define EVENT_OBJECT_FOCUS              0x00008005
-#define EVENT_OBJECT_SELECTION          0x00008006
-#define EVENT_OBJECT_SELECTIONADD       0x00008007
-#define EVENT_OBJECT_SELECTIONREMOVE    0x00008008
-#define EVENT_OBJECT_SELECTIONWITHIN    0x00008009
-#define EVENT_OBJECT_STATECHANGE        0x0000800a
-#define EVENT_OBJECT_LOCATIONCHANGE     0x0000800b
-#define EVENT_OBJECT_NAMECHANGE         0x0000800c
-#define EVENT_OBJECT_DESCRIPTIONCHANGE  0x0000800d
-#define EVENT_OBJECT_VALUECHANGE        0x0000800e
-#define EVENT_OBJECT_PARENTCHANGE       0x0000800f
-#define EVENT_OBJECT_HELPCHANGE         0x00008010
-#define EVENT_OBJECT_DEFACTIONCHANGE    0x00008011
-#define EVENT_OBJECT_ACCELERATORCHANGE  0x00008012
-#if (_WIN32_WINNT >= 0x0501)
-#define EVENT_CONSOLE_CARET             0x00004001
-#define CONSOLE_CARET_SELECTION         0x00000001
-#define CONSOLE_CARET_VISIBLE           0x00000002
-#define EVENT_CONSOLE_UPDATE_REGION     0x00004002
-#define EVENT_CONSOLE_UPDATE_SIMPLE     0x00004003
-#define EVENT_CONSOLE_UPDATE_SCROLL     0x00004004
-#define EVENT_CONSOLE_LAYOUT            0x00004005
-#define EVENT_CONSOLE_START_APPLICATION 0x00004006
-#define CONSOLE_APPLICATION_16BIT       0x00000001
-#define EVENT_CONSOLE_END_APPLICATION   0x00004007
-#endif /* (_WIN32_WINNT >= 0x0501) */
-#define EVENT_MAX                       0x7fffffff
-#endif /* (WINVER >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-#define ASFW_ANY ((DWORD)-1)
-#define LSFW_LOCK 1
-#define LSFW_UNLOCK 2
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define LWA_COLORKEY   0x01
-#define LWA_ALPHA      0x02
-#define ULW_COLORKEY   0x01
-#define ULW_ALPHA      0x02
-#define ULW_OPAQUE     0x04
-#endif
+
 #define GA_PARENT 1
 #define GA_ROOT 2
 #define GA_ROOTOWNER 3
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define MONITOR_DEFAULTTONULL 0 
-#define MONITOR_DEFAULTTOPRIMARY 1 
-#define MONITOR_DEFAULTTONEAREST 2 
-#define MONITORINFOF_PRIMARY 1 
-#define EDS_RAWMODE 0x00000002
-#define ISMEX_NOSEND 0x00000000
-#define ISMEX_CALLBACK 0x00000004
-#define ISMEX_NOTIFY 0x00000002
-#define ISMEX_REPLIED 0x00000008
-#define ISMEX_SEND 0x00000001
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define GR_GDIOBJECTS 0
-#define GR_USEROBJECTS 1
-#endif
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-#define GMMP_USE_DISPLAY_POINTS 1
-#define GMMP_USE_HIGH_RESOLUTION_POINTS 2
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define XBUTTON1 0x0001
-#define XBUTTON2 0x0002
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define FE_FONTSMOOTHINGSTANDARD  0x0001
-#define FE_FONTSMOOTHINGCLEARTYPE 0x0002
-#define PW_CLIENTONLY 0x00000001
-#define RIM_INPUT     0x00000000
-#define RIM_INPUTSINK 0x00000001
-#define RIM_TYPEMOUSE    0x00000000
-#define RIM_TYPEKEYBOARD 0x00000001
-#define RIM_TYPEHID      0x00000002
-#define MOUSE_MOVE_RELATIVE      0x00000000
-#define MOUSE_MOVE_ABSOLUTE      0x00000001
-#define MOUSE_VIRTUAL_DESKTOP    0x00000002
-#define MOUSE_ATTRIBUTES_CHANGED 0x00000004
-#define RI_MOUSE_LEFT_BUTTON_DOWN   0x0001
-#define RI_MOUSE_LEFT_BUTTON_UP     0x0002
-#define RI_MOUSE_RIGHT_BUTTON_DOWN  0x0004
-#define RI_MOUSE_RIGHT_BUTTON_UP    0x0008
-#define RI_MOUSE_MIDDLE_BUTTON_DOWN 0x0010
-#define RI_MOUSE_MIDDLE_BUTTON_UP   0x0020
-#define RI_MOUSE_BUTTON_1_DOWN      RI_MOUSE_LEFT_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_1_UP        RI_MOUSE_LEFT_BUTTON_UP
-#define RI_MOUSE_BUTTON_2_DOWN      RI_MOUSE_RIGHT_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_2_UP        RI_MOUSE_RIGHT_BUTTON_UP
-#define RI_MOUSE_BUTTON_3_DOWN      RI_MOUSE_MIDDLE_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_3_UP        RI_MOUSE_MIDDLE_BUTTON_UP
-#define RI_MOUSE_BUTTON_4_DOWN      0x0040
-#define RI_MOUSE_BUTTON_4_UP        0x0080
-#define RI_MOUSE_BUTTON_5_DOWN      0x0100
-#define RI_MOUSE_BUTTON_5_UP        0x0200
-#define RI_MOUSE_WHEEL              0x0400
-#define KEYBOARD_OVERRUN_MAKE_CODE 0x00ff
-#define RI_KEY_MAKE            0x0000
-#define RI_KEY_BREAK           0x0001
-#define RI_KEY_E0              0x0002
-#define RI_KEY_E1              0x0004
-#define RI_KEY_TERMSRV_SET_LED 0x0008
-#define RI_KEY_TERMSRV_SHADOW  0x0010
-#define RID_INPUT  0x10000003
-#define RID_HEADER 0x10000005
-#define RIDI_PREPARSEDDATA 0x20000005
-#define RIDI_DEVICENAME    0x20000007
-#define RIDI_DEVICEINFO    0x2000000b
-#define RIDEV_REMOVE       0x00000001
-#define RIDEV_EXCLUDE      0x00000010
-#define RIDEV_PAGEONLY     0x00000020
-#define RIDEV_NOLEGACY     0x00000030
-#define RIDEV_INPUTSINK    0x00000100
-#define RIDEV_CAPTUREMOUSE 0x00000200
-#define RIDEV_NOHOTKEYS    0x00000200
-#define RIDEV_APPKEYS      0x00000400
-#endif
-
-#if (_WIN32_WINNT >= 0x0601)
-#define TOUCHEVENTF_DOWN           0x0001
-#define TOUCHEVENTF_INRANGE        0x0008
-#define TOUCHEVENTF_MOVE           0x0002
-#define TOUCHEVENTF_NOCOALESCE 0x0020
-#define TOUCHEVENTF_PALM           0x0080
-#define TOUCHEVENTF_PEN                0x0040
-#define TOUCHEVENTF_PRIMARY        0x0010
-#define TOUCHEVENTF_UP         0x0004
-
-#define TOUCHEVENTMASKF_CONTACTAREA        0x0004
-#define TOUCHEVENTMASKF_EXTRAINFO          0x0002
-#define TOUCHEVENTMASKF_TIMEFROMSYSTEM 0x0001
-#endif
 
 #define MAPVK_VK_TO_VSC    0
 #define MAPVK_VSC_TO_VK    1
@@ -2899,6 +2493,7 @@ typedef struct tagHIGHCONTRASTW {
        DWORD dwFlags;
        LPWSTR lpszDefaultScheme;
 } HIGHCONTRASTW,*LPHIGHCONTRASTW;
+
 #ifndef NOGDI
 typedef struct tagICONMETRICSA {
        UINT cbSize;
@@ -2915,6 +2510,7 @@ typedef struct tagICONMETRICSW {
        LOGFONTW lfFont;
 } ICONMETRICSW,*LPICONMETRICSW;
 #endif /*  NOGDI */
+
 typedef struct tagMINIMIZEDMETRICS {
        UINT cbSize;
        int iWidth;
@@ -2931,6 +2527,7 @@ typedef struct tagMOUSEKEYS{
        DWORD dwReserved1;
        DWORD dwReserved2;
 } MOUSEKEYS,*LPMOUSEKEYS;
+
 #ifndef NOGDI
 typedef struct tagNONCLIENTMETRICSA {
        UINT cbSize;
@@ -2967,6 +2564,7 @@ typedef struct tagNONCLIENTMETRICSW {
        LOGFONTW lfMessageFont;
 } NONCLIENTMETRICSW,*LPNONCLIENTMETRICSW;
 #endif
+
 typedef struct tagSERIALKEYSA {
        UINT cbSize;
        DWORD dwFlags;
@@ -3194,14 +2792,7 @@ typedef struct tagSCROLLBARINFO {
        int   reserved;
        DWORD rgstate[CCHILDREN_SCROLLBAR+1];
 } SCROLLBARINFO,*PSCROLLBARINFO,*LPSCROLLBARINFO;
-#if (_WIN32_WINDOWS >= 0x0410)
-#define CCHILDREN_TITLEBAR 5
-typedef struct tagTITLEBARINFO {
-       DWORD cbSize;
-       RECT  rcTitleBar;
-       DWORD rgstate[CCHILDREN_TITLEBAR+1];
-} TITLEBARINFO,*PTITLEBARINFO,*LPTITLEBARINFO;
-#endif
+
 typedef struct tagWINDOWINFO {
        DWORD cbSize;
        RECT  rcWindow;
@@ -3225,6 +2816,7 @@ typedef struct tagMONITORINFO {
        DWORD dwFlags;
 } MONITORINFO,*LPMONITORINFO;
 #define CCHDEVICENAME 32
+
 #ifdef __cplusplus
 typedef struct tagMONITORINFOEXA : public tagMONITORINFO
 {
@@ -3235,6 +2827,7 @@ typedef struct tagMONITORINFOEXW : public tagMONITORINFO
     WCHAR   szDevice[CCHDEVICENAME];
 } MONITORINFOEXW, *LPMONITORINFOEXW;
 #else
+
 typedef struct tagMONITORINFOEXA {
        DWORD   cbSize;
        RECT    rcMonitor;
@@ -3250,6 +2843,7 @@ typedef struct tagMONITORINFOEXW {
        WCHAR   szDevice[CCHDEVICENAME];
 } MONITORINFOEXW,*LPMONITORINFOEXW;
 #endif /* __cplusplus */
+
 typedef struct tagKBDLLHOOKSTRUCT {
        DWORD vkCode;
        DWORD scanCode;
@@ -3257,174 +2851,7 @@ typedef struct tagKBDLLHOOKSTRUCT {
        DWORD time;
        DWORD dwExtraInfo;
 } KBDLLHOOKSTRUCT,*LPKBDLLHOOKSTRUCT,*PKBDLLHOOKSTRUCT;
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-typedef struct {
-  UINT  cbSize;
-  HWND  hwnd;
-  DWORD dwFlags;
-  UINT  uCount;
-  DWORD dwTimeout;
-} FLASHWINFO,*PFLASHWINFO;
-#endif /* (WINVER >= 0x0500 || _WIN32_WINDOWS >= 0x0410) */
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-typedef struct tagMOUSEMOVEPOINT {
-  int x;
-  int y;
-  DWORD time;
-  ULONG_PTR dwExtraInfo;
-} MOUSEMOVEPOINT,*PMOUSEMOVEPOINT,*LPMOUSEMOVEPOINT;
-#endif
-#if (_WIN32_WINNT >= 0x0403)
-typedef struct tagMOUSEINPUT {
-  LONG dx;
-  LONG dy;
-  DWORD mouseData;
-  DWORD dwFlags;
-  DWORD time;
-  ULONG_PTR dwExtraInfo;
-} MOUSEINPUT,*PMOUSEINPUT;
-typedef struct tagKEYBDINPUT {
-  WORD wVk;
-  WORD wScan;
-  DWORD dwFlags;
-  DWORD time;
-  ULONG_PTR dwExtraInfo;
-} KEYBDINPUT,*PKEYBDINPUT;
-typedef struct tagHARDWAREINPUT {
-  DWORD uMsg;
-  WORD wParamL;
-  WORD wParamH;
-} HARDWAREINPUT,*PHARDWAREINPUT;
-typedef struct tagINPUT {
-  DWORD type;
-  _ANONYMOUS_UNION union {
-               MOUSEINPUT mi;
-               KEYBDINPUT ki;
-               HARDWAREINPUT hi;
-  } DUMMYUNIONNAME;
-} INPUT,*PINPUT,*LPINPUT;
-#endif /* (_WIN32_WINNT >= 0x0403) */
-#if (_WIN32_WINNT >= 0x0601)
-typedef struct _TOUCHINPUT {
-  LONG x;
-  LONG y;
-  HANDLE hSource;
-  DWORD dwID;
-  DWORD dwFlags;
-  DWORD dwMask;
-  DWORD dwTime;
-  ULONG_PTR dwExtraInfo;
-  DWORD cxContact;
-  DWORD cyContact;
-} TOUCHINPUT, 
- *PTOUCHINPUT;
-#endif /* (_WIN32_WINNT >= 0x0601) */
-#if (WINVER >= 0x0500)
-typedef struct tagGUITHREADINFO {
-       DWORD cbSize;
-       DWORD flags;
-       HWND hwndActive;
-       HWND hwndFocus;
-       HWND hwndCapture;
-       HWND hwndMenuOwner;
-       HWND hwndMoveSize;
-       HWND hwndCaret;
-       RECT rcCaret;
-} GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO;
-typedef VOID (*WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD);
-#endif /* (WINVER >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0501)
-typedef struct {
-       UINT  cbSize;
-       HDESK hdesk;
-       HWND  hwnd;
-       LUID  luid;
-} BSMINFO,*PBSMINFO;
-DECLARE_HANDLE(HRAWINPUT);
-typedef struct tagRAWINPUTHEADER {
-       DWORD dwType;
-       DWORD dwSize;
-       HANDLE hDevice;
-       WPARAM wParam;
-} RAWINPUTHEADER,*PRAWINPUTHEADER;
-typedef struct tagRAWMOUSE {
-       USHORT usFlags;
-       _ANONYMOUS_UNION union {
-               ULONG ulButtons;
-               _ANONYMOUS_STRUCT struct {
-                       USHORT usButtonFlags;
-                       USHORT usButtonData;
-               };
-       };
-       ULONG ulRawButtons;
-       LONG lLastX;
-       LONG lLastY;
-       ULONG ulExtraInformation;
-} RAWMOUSE,*PRAWMOUSE,*LPRAWMOUSE;
-typedef struct tagRAWKEYBOARD {
-       USHORT MakeCode;
-       USHORT Flags;
-       USHORT Reserved;
-       USHORT VKey;
-       UINT Message;
-       ULONG ExtraInformation;
-} RAWKEYBOARD,*PRAWKEYBOARD,*LPRAWKEYBOARD;
-typedef struct tagRAWHID {
-       DWORD dwSizeHid;
-       DWORD dwCount;
-       BYTE bRawData;
-} RAWHID,*PRAWHID,*LPRAWHID;
-typedef struct tagRAWINPUT {
-       RAWINPUTHEADER header;
-       union {
-               RAWMOUSE    mouse;
-               RAWKEYBOARD keyboard;
-               RAWHID      hid;
-       } data;
-} RAWINPUT,*PRAWINPUT,*LPRAWINPUT;
-typedef struct tagRAWINPUTDEVICE {
-       USHORT usUsagePage;
-       USHORT usUsage;
-       DWORD dwFlags;
-       HWND hwndTarget;
-} RAWINPUTDEVICE,*PRAWINPUTDEVICE,*LPRAWINPUTDEVICE;
-typedef const RAWINPUTDEVICE *PCRAWINPUTDEVICE;
-typedef struct tagRAWINPUTDEVICELIST {
-       HANDLE hDevice;
-       DWORD dwType;
-} RAWINPUTDEVICELIST,*PRAWINPUTDEVICELIST;
-typedef struct tagRID_DEVICE_INFO_MOUSE {
-       DWORD dwId;
-       DWORD dwNumberOfButtons;
-       DWORD dwSampleRate;
-       BOOL fHasHorizontalWheel;
-} RID_DEVICE_INFO_MOUSE, *PRID_DEVICE_INFO_MOUSE;
-typedef struct tagRID_DEVICE_INFO_KEYBOARD {
-       DWORD dwType;
-       DWORD dwSubType;
-       DWORD dwKeyboardMode;
-       DWORD dwNumberOfFunctionKeys;
-       DWORD dwNumberOfIndicators;
-       DWORD dwNumberOfKeysTotal;
-} RID_DEVICE_INFO_KEYBOARD, *PRID_DEVICE_INFO_KEYBOARD;
-typedef struct tagRID_DEVICE_INFO_HID {
-       DWORD dwVendorId;
-       DWORD dwProductId;
-       DWORD dwVersionNumber;
-       USHORT usUsagePage;
-       USHORT usUsage;
-} RID_DEVICE_INFO_HID, *PRID_DEVICE_INFO_HID;
-typedef struct tagRID_DEVICE_INFO { 
-       DWORD    cbSize; 
-       DWORD    dwType; 
-       _ANONYMOUS_UNION union { 
-               RID_DEVICE_INFO_MOUSE     mouse; 
-               RID_DEVICE_INFO_KEYBOARD  keyboard; 
-               RID_DEVICE_INFO_HID       hid; 
-       } DUMMYUNIONNAME;
-} RID_DEVICE_INFO, *PRID_DEVICE_INFO, *LPRID_DEVICE_INFO;
-#endif /* (_WIN32_WINNT >= 0x0501) */
-
+
 typedef struct {
        POINT pt;
        DWORD mouseData;
@@ -3457,32 +2884,10 @@ typedef struct {
 typedef const GUID *LPCGUID;
 #endif
        
-#if (_WIN32_WINNT >= 0x0600)
-typedef HANDLE HPOWERNOTIFY;
-
-typedef struct {
-       GUID PowerSetting;
-       DWORD DataLength;
-       UCHAR Data[1];
-} POWERBROADCAST_SETTING, *PPOWERBROADCAST_SETTING;
-
-extern const GUID GUID_POWERSCHEME_PERSONALITY;
-extern const GUID GUID_MIN_POWER_SAVINGS;
-extern const GUID GUID_MAX_POWER_SAVINGS;
-extern const GUID GUID_TYPICAL_POWER_SAVINGS;
-extern const GUID GUID_ACDC_POWER_SOURCE;
-extern const GUID GUID_BATTERY_PERCENTAGE_REMAINING;
-extern const GUID GUID_IDLE_BACKGROUND_TASK;
-extern const GUID GUID_SYSTEM_AWAYMODE;
-extern const GUID GUID_MONITOR_POWER_ON;
-#endif
-       
 WINUSERAPI HKL WINAPI ActivateKeyboardLayout(HKL,UINT);
 WINUSERAPI BOOL WINAPI AdjustWindowRect(LPRECT,DWORD,BOOL);
 WINUSERAPI BOOL WINAPI AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI AnimateWindow(HWND,DWORD,DWORD);
-#endif /* (_WIN32_WINNT >= 0x0500) */
+
 WINUSERAPI BOOL WINAPI AnyPopup(void);
 WINUSERAPI BOOL WINAPI AppendMenuA(HMENU,UINT,UINT_PTR,LPCSTR);
 WINUSERAPI BOOL WINAPI AppendMenuW(HMENU,UINT,UINT_PTR,LPCWSTR);
@@ -3492,14 +2897,9 @@ WINUSERAPI HDWP WINAPI BeginDeferWindowPos(int);
 WINUSERAPI HDC WINAPI BeginPaint(HWND,LPPAINTSTRUCT);
 WINUSERAPI BOOL WINAPI BringWindowToTop(HWND);
 WINUSERAPI long WINAPI BroadcastSystemMessage(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0400)
 WINUSERAPI long WINAPI BroadcastSystemMessageA(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
 WINUSERAPI long WINAPI BroadcastSystemMessageW(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
-#endif /* (_WIN32_WINNT >= 0x0400) */
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI long WINAPI BroadcastSystemMessageExA(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO);
-WINUSERAPI long WINAPI BroadcastSystemMessageExW(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO);
-#endif /* (_WIN32_WINNT >= 0x0501) */
+
 WINUSERAPI BOOL WINAPI CallMsgFilterA(LPMSG,INT);
 WINUSERAPI BOOL WINAPI CallMsgFilterW(LPMSG,INT);
 WINUSERAPI LRESULT WINAPI CallNextHookEx(HHOOK,int,WPARAM,LPARAM);
@@ -3507,12 +2907,14 @@ WINUSERAPI LRESULT WINAPI CallWindowProcA(WNDPROC,HWND,UINT,WPARAM,LPARAM);
 WINUSERAPI LRESULT WINAPI CallWindowProcW(WNDPROC,HWND,UINT,WPARAM,LPARAM);
 WINUSERAPI WORD WINAPI CascadeWindows(HWND,UINT,LPCRECT,UINT,const HWND*);
 WINUSERAPI BOOL WINAPI ChangeClipboardChain(HWND,HWND);
+
 #ifndef NOGDI
 WINUSERAPI LONG WINAPI ChangeDisplaySettingsA(PDEVMODEA,DWORD);
 WINUSERAPI LONG WINAPI ChangeDisplaySettingsW(PDEVMODEW,DWORD);
 WINUSERAPI LONG WINAPI ChangeDisplaySettingsExA(LPCSTR,LPDEVMODEA,HWND,DWORD,LPVOID);
 WINUSERAPI LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID);
 #endif
+
 WINUSERAPI BOOL WINAPI ChangeMenuA(HMENU,UINT,LPCSTR,UINT,UINT);
 WINUSERAPI BOOL WINAPI ChangeMenuW(HMENU,UINT,LPCWSTR,UINT,UINT);
 WINUSERAPI LPSTR WINAPI CharLowerA(LPSTR);
@@ -3556,10 +2958,12 @@ WINUSERAPI HACCEL WINAPI CreateAcceleratorTableA(LPACCEL,int);
 WINUSERAPI HACCEL WINAPI CreateAcceleratorTableW(LPACCEL,int);
 WINUSERAPI BOOL WINAPI CreateCaret(HWND,HBITMAP,int,int);
 WINUSERAPI HCURSOR WINAPI CreateCursor(HINSTANCE,int,int,int,int,PCVOID,PCVOID);
+
 #ifndef NOGDI
 WINUSERAPI HDESK WINAPI CreateDesktopA(LPCSTR,LPCSTR,LPDEVMODEA,DWORD,ACCESS_MASK,LPSECURITY_ATTRIBUTES);
 WINUSERAPI HDESK WINAPI CreateDesktopW(LPCWSTR,LPCWSTR,LPDEVMODEW,DWORD,ACCESS_MASK,LPSECURITY_ATTRIBUTES);
 #endif
+
 #define CreateDialogA(h,n,w,f) CreateDialogParamA(h,n,w,f,0)
 #define CreateDialogW(h,n,w,f) CreateDialogParamW(h,n,w,f,0)
 #define CreateDialogIndirectA(h,t,w,f) CreateDialogIndirectParamA(h,t,w,f,0)
@@ -3590,9 +2994,7 @@ WINUSERAPI LRESULT WINAPI DefFrameProcW(HWND,HWND,UINT,WPARAM,LPARAM);
 #define DefHookProc(c,p,lp,h) CallNextHookEx((HHOOK)*h,c,p,lp)
 WINUSERAPI LRESULT WINAPI DefMDIChildProcA(HWND,UINT,WPARAM,LPARAM);
 WINUSERAPI LRESULT WINAPI DefMDIChildProcW(HWND,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI LRESULT WINAPI DefRawInputProc(PRAWINPUT*,INT,UINT);
-#endif
+
 WINUSERAPI LRESULT WINAPI DefWindowProcA(HWND,UINT,WPARAM,LPARAM);
 WINUSERAPI LRESULT WINAPI DefWindowProcW(HWND,UINT,WPARAM,LPARAM);
 WINUSERAPI BOOL WINAPI DeleteMenu(HMENU,UINT,UINT);
@@ -3609,6 +3011,7 @@ WINUSERAPI BOOL WINAPI DestroyWindow(HWND);
 #define DialogBoxIndirectW(i,t,p,f) DialogBoxIndirectParamW(i,t,p,f,0)
 WINUSERAPI int WINAPI DialogBoxIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
 WINUSERAPI int WINAPI DialogBoxIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
+
 #ifdef _WIN32_WCE
 extern int DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
 extern int DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
@@ -3616,6 +3019,7 @@ extern int DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
 WINUSERAPI int WINAPI DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
 WINUSERAPI int WINAPI DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
 #endif
+
 WINUSERAPI LONG WINAPI DispatchMessageA(const MSG*);
 WINUSERAPI LONG WINAPI DispatchMessageW(const MSG*);
 WINUSERAPI int WINAPI DlgDirListA(HWND,LPSTR,int,int,UINT);
@@ -3650,25 +3054,22 @@ WINUSERAPI BOOL WINAPI EndDeferWindowPos(HDWP);
 WINUSERAPI BOOL WINAPI EndDialog(HWND,int);
 WINUSERAPI BOOL WINAPI EndMenu(void);
 WINUSERAPI BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI EndTask(HWND,BOOL,BOOL);
-#endif
+
 WINUSERAPI BOOL WINAPI EnumChildWindows(HWND,ENUMWINDOWSPROC,LPARAM);
 WINUSERAPI UINT WINAPI EnumClipboardFormats(UINT);
 WINUSERAPI BOOL WINAPI EnumDesktopsA(HWINSTA,DESKTOPENUMPROCA,LPARAM);
 WINUSERAPI BOOL WINAPI EnumDesktopsW(HWINSTA,DESKTOPENUMPROCW,LPARAM);
 WINUSERAPI BOOL WINAPI EnumDesktopWindows(HDESK,ENUMWINDOWSPROC,LPARAM);
 WINUSERAPI BOOL WINAPI EnumDisplayMonitors(HDC,LPCRECT,MONITORENUMPROC,LPARAM);
+
 #ifndef NOGDI
 WINUSERAPI BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,PDEVMODEA);
 WINUSERAPI BOOL WINAPI EnumDisplaySettingsW(LPCWSTR,DWORD,PDEVMODEW);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI BOOL WINAPI EnumDisplaySettingsExA(LPCSTR,DWORD,LPDEVMODEA,DWORD);
-WINUSERAPI BOOL WINAPI EnumDisplaySettingsExW(LPCWSTR,DWORD,LPDEVMODEW,DWORD);
-#endif
+
 WINUSERAPI BOOL WINAPI EnumDisplayDevicesA(LPCSTR,DWORD,PDISPLAY_DEVICEA,DWORD);
 WINUSERAPI BOOL WINAPI EnumDisplayDevicesW(LPCWSTR,DWORD,PDISPLAY_DEVICEW,DWORD);
 #endif
+
 WINUSERAPI int WINAPI EnumPropsA(HWND,PROPENUMPROCA);
 WINUSERAPI int WINAPI EnumPropsW(HWND,PROPENUMPROCW);
 WINUSERAPI int WINAPI EnumPropsExA(HWND,PROPENUMPROCEXA,LPARAM);
@@ -3686,9 +3087,7 @@ WINUSERAPI HWND WINAPI FindWindowExA(HWND,HWND,LPCSTR,LPCSTR);
 WINUSERAPI HWND WINAPI FindWindowExW(HWND,HWND,LPCWSTR,LPCWSTR);
 WINUSERAPI HWND WINAPI FindWindowW(LPCWSTR,LPCWSTR);
 WINUSERAPI BOOL WINAPI FlashWindow(HWND,BOOL);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI BOOL WINAPI FlashWindowEx(PFLASHWINFO);
-#endif
+
 int WINAPI FrameRect(HDC,LPCRECT,HBRUSH);
 WINUSERAPI BOOL WINAPI FrameRgn(HDC,HRGN,HBRUSH,int,int);
 WINUSERAPI HWND WINAPI GetActiveWindow(void);
@@ -3703,6 +3102,7 @@ WINUSERAPI BOOL WINAPI GetClassInfoW(HINSTANCE,LPCWSTR,LPWNDCLASSW);
 WINUSERAPI BOOL WINAPI GetClassInfoExW(HINSTANCE,LPCWSTR,LPWNDCLASSEXW);
 WINUSERAPI DWORD WINAPI GetClassLongA(HWND,int);
 WINUSERAPI DWORD WINAPI GetClassLongW(HWND,int);
+
 #ifdef _WIN64
 WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrA(HWND,int);
 WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrW(HWND,int);
@@ -3710,6 +3110,7 @@ WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrW(HWND,int);
 #define GetClassLongPtrA GetClassLongA
 #define GetClassLongPtrW GetClassLongW
 #endif
+
 WINUSERAPI int WINAPI GetClassNameA(HWND,LPSTR,int);
 WINUSERAPI int WINAPI GetClassNameW(HWND,LPWSTR,int);
 WINUSERAPI WORD WINAPI GetClassWord(HWND,int);
@@ -3718,9 +3119,7 @@ WINUSERAPI HANDLE WINAPI GetClipboardData(UINT);
 WINUSERAPI int WINAPI GetClipboardFormatNameA(UINT,LPSTR,int);
 WINUSERAPI int WINAPI GetClipboardFormatNameW(UINT,LPWSTR,int);
 WINUSERAPI HWND WINAPI GetClipboardOwner(void);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI DWORD WINAPI GetClipboardSequenceNumber(void);
-#endif
+
 HWND WINAPI GetClipboardViewer(void);
 WINUSERAPI BOOL WINAPI GetClipCursor(LPRECT);
 WINUSERAPI BOOL WINAPI GetCursorPos(LPPOINT);
@@ -3736,9 +3135,7 @@ WINUSERAPI UINT WINAPI GetDlgItemTextW(HWND,int,LPWSTR,int);
 WINUSERAPI UINT WINAPI GetDoubleClickTime(void);
 WINUSERAPI HWND WINAPI GetFocus(void);
 WINUSERAPI HWND WINAPI GetForegroundWindow(void);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI DWORD WINAPI GetGuiResources(HANDLE,DWORD);
-#endif
+
 WINUSERAPI BOOL WINAPI GetIconInfo(HICON,PICONINFO);
 WINUSERAPI BOOL WINAPI GetInputState(void);
 WINUSERAPI UINT WINAPI GetKBCodePage(void);
@@ -3769,9 +3166,7 @@ WINUSERAPI BOOL WINAPI GetMessageW(LPMSG,HWND,UINT,UINT);
 WINUSERAPI LONG WINAPI GetMessageExtraInfo(void);
 WINUSERAPI DWORD WINAPI GetMessagePos(void);
 WINUSERAPI LONG WINAPI GetMessageTime(void);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-WINUSERAPI int WINAPI GetMouseMovePointsEx(UINT,LPMOUSEMOVEPOINT,LPMOUSEMOVEPOINT,int,DWORD);
-#endif
+
 WINUSERAPI HWND WINAPI GetNextDlgGroupItem(HWND,HWND,BOOL);
 WINUSERAPI HWND WINAPI GetNextDlgTabItem(HWND,HWND,BOOL);
 #define GetNextWindow(h,c) GetWindow(h,c)
@@ -3780,21 +3175,12 @@ WINUSERAPI HWND WINAPI GetParent(HWND);
 WINUSERAPI int WINAPI GetPriorityClipboardFormat(UINT*,int);
 WINUSERAPI HANDLE WINAPI GetPropA(HWND,LPCSTR);
 WINUSERAPI HANDLE WINAPI GetPropW(HWND,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI UINT WINAPI GetRawInputBuffer(PRAWINPUT,PUINT,UINT);
-WINUSERAPI UINT WINAPI GetRawInputData(HRAWINPUT,UINT,LPVOID,PUINT,UINT);
-WINUSERAPI UINT WINAPI GetRawInputDeviceInfoA(HANDLE,UINT,LPVOID,PUINT);
-WINUSERAPI UINT WINAPI GetRawInputDeviceInfoW(HANDLE,UINT,LPVOID,PUINT);
-WINUSERAPI UINT WINAPI GetRawInputDeviceList(PRAWINPUTDEVICELIST,PUINT,UINT);
-WINUSERAPI UINT WINAPI GetRegisteredRawInputDevices(PRAWINPUTDEVICE,PUINT,UINT);
-#endif
+
 WINUSERAPI DWORD WINAPI GetQueueStatus(UINT);
 WINUSERAPI BOOL WINAPI GetScrollInfo(HWND,int,LPSCROLLINFO);
 WINUSERAPI int WINAPI GetScrollPos(HWND,int);
 WINUSERAPI BOOL WINAPI GetScrollRange(HWND,int,LPINT,LPINT);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI HWND WINAPI GetShellWindow(void);
-#endif
+
 WINUSERAPI HMENU WINAPI GetSubMenu(HMENU,int);
 WINUSERAPI DWORD WINAPI GetSysColor(int);
 WINUSERAPI HBRUSH WINAPI GetSysColorBrush(int);
@@ -3805,6 +3191,7 @@ WINUSERAPI DWORD WINAPI GetTabbedTextExtentA(HDC,LPCSTR,int,int,LPINT);
 WINUSERAPI DWORD WINAPI GetTabbedTextExtentW(HDC,LPCWSTR,int,int,LPINT);
 WINUSERAPI LONG WINAPI GetWindowLongA(HWND,int);
 WINUSERAPI LONG WINAPI GetWindowLongW(HWND,int);
+
 #ifdef _WIN64
 WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrA(HWND,int);
 WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrW(HWND,int);
@@ -3812,6 +3199,7 @@ WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrW(HWND,int);
 #define GetWindowLongPtrA GetWindowLongA
 #define GetWindowLongPtrW GetWindowLongW
 #endif
+
 WINUSERAPI HDESK WINAPI GetThreadDesktop(DWORD);
 WINUSERAPI HWND WINAPI GetTopWindow(HWND);
 WINUSERAPI BOOL WINAPI GetUpdateRect(HWND,LPRECT,BOOL);
@@ -3835,20 +3223,14 @@ WINUSERAPI BOOL WINAPI GetAltTabInfoA(HWND,int,PALTTABINFO,LPSTR,UINT);
 WINUSERAPI BOOL WINAPI GetAltTabInfoW(HWND,int,PALTTABINFO,LPWSTR,UINT);
 WINUSERAPI BOOL WINAPI GetComboBoxInfo(HWND,PCOMBOBOXINFO);
 WINUSERAPI BOOL WINAPI GetCursorInfo(PCURSORINFO);
-#if (WINVER >= 0x0500)
-WINUSERAPI BOOL WINAPI GetGUIThreadInfo(DWORD,LPGUITHREADINFO);
-#endif
+
 WINUSERAPI BOOL WINAPI GetLastInputInfo(PLASTINPUTINFO);
 WINUSERAPI DWORD WINAPI GetListBoxInfo(HWND);
 WINUSERAPI BOOL WINAPI GetMenuBarInfo(HWND,LONG,LONG,PMENUBARINFO);
 WINUSERAPI BOOL WINAPI GetMenuInfo(HMENU,LPMENUINFO);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI GetProcessDefaultLayout(DWORD*);
-#endif
+
 WINUSERAPI BOOL WINAPI GetScrollBarInfo(HWND,LONG,PSCROLLBARINFO);
-#if (_WIN32_WINDOWS >= 0x0410)
-WINUSERAPI BOOL WINAPI GetTitleBarInfo(HWND,PTITLEBARINFO);
-#endif
+
 WINUSERAPI BOOL WINAPI GetWindowInfo(HWND,PWINDOWINFO);
 WINUSERAPI BOOL WINAPI GetMonitorInfoA(HMONITOR,LPMONITORINFO);
 WINUSERAPI BOOL WINAPI GetMonitorInfoW(HMONITOR,LPMONITORINFO);
@@ -3860,9 +3242,7 @@ WINUSERAPI BOOL WINAPI HideCaret(HWND);
 WINUSERAPI BOOL WINAPI HiliteMenuItem(HWND,HMENU,UINT,UINT);
 WINUSERAPI BOOL WINAPI InflateRect(LPRECT,int,int);
 WINUSERAPI BOOL WINAPI InSendMessage(void);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI DWORD WINAPI InSendMessageEx(LPVOID);
-#endif
+
 WINUSERAPI BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
 WINUSERAPI BOOL WINAPI InsertMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
 WINUSERAPI BOOL WINAPI InsertMenuItemA(HMENU,UINT,BOOL,LPCMENUITEMINFOA);
@@ -3885,12 +3265,7 @@ WINUSERAPI BOOL WINAPI IsClipboardFormatAvailable(UINT);
 WINUSERAPI BOOL WINAPI IsDialogMessageA(HWND,LPMSG);
 WINUSERAPI BOOL WINAPI IsDialogMessageW(HWND,LPMSG);
 WINUSERAPI UINT WINAPI IsDlgButtonChecked(HWND,int);
-#if(_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI IsGUIThread(BOOL);
-#endif
-#if(_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI IsHungAppWindow(HWND);
-#endif
+
 WINUSERAPI BOOL WINAPI IsIconic(HWND);
 WINUSERAPI BOOL WINAPI IsMenu(HMENU);
 WINUSERAPI BOOL WINAPI IsRectEmpty(LPCRECT);
@@ -3898,9 +3273,7 @@ WINUSERAPI BOOL WINAPI IsWindow(HWND);
 WINUSERAPI BOOL WINAPI IsWindowEnabled(HWND);
 WINUSERAPI BOOL WINAPI IsWindowUnicode(HWND);
 WINUSERAPI BOOL WINAPI IsWindowVisible(HWND);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI IsWinEventHookInstalled(DWORD);
-#endif
+
 WINUSERAPI BOOL WINAPI IsZoomed(HWND);
 WINUSERAPI VOID WINAPI keybd_event(BYTE,BYTE,DWORD,DWORD);
 WINUSERAPI BOOL WINAPI KillTimer(HWND,UINT);
@@ -3925,9 +3298,7 @@ WINUSERAPI HMENU WINAPI LoadMenuW(HINSTANCE,LPCWSTR);
 WINUSERAPI int WINAPI LoadStringA(HINSTANCE,UINT,LPSTR,int);
 WINUSERAPI int WINAPI LoadStringW(HINSTANCE,UINT,LPWSTR,int);
 WINUSERAPI BOOL WINAPI LockWindowUpdate(HWND);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI LockWorkStation(void);
-#endif
+
 WINUSERAPI int WINAPI LookupIconIdFromDirectory(PBYTE,BOOL);
 WINUSERAPI int WINAPI LookupIconIdFromDirectoryEx(PBYTE,BOOL,int,int,UINT);
 WINUSERAPI BOOL WINAPI MapDialogRect(HWND,LPRECT);
@@ -3946,18 +3317,12 @@ WINUSERAPI int WINAPI MessageBoxIndirectA(CONST MSGBOXPARAMSA*);
 WINUSERAPI int WINAPI MessageBoxIndirectW(CONST MSGBOXPARAMSW*);
 WINUSERAPI BOOL WINAPI ModifyMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
 WINUSERAPI BOOL WINAPI ModifyMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI HMONITOR WINAPI MonitorFromPoint(POINT,DWORD);
-WINUSERAPI HMONITOR WINAPI MonitorFromRect(LPCRECT,DWORD);
-WINUSERAPI HMONITOR WINAPI MonitorFromWindow(HWND,DWORD);
-#endif
+
 WINUSERAPI void WINAPI mouse_event(DWORD,DWORD,DWORD,DWORD,ULONG_PTR);
 WINUSERAPI BOOL WINAPI MoveWindow(HWND,int,int,int,int,BOOL);
 WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjects(DWORD,CONST HANDLE*,BOOL,DWORD,DWORD);
 WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD,CONST HANDLE*,DWORD,DWORD,DWORD);
-#if (WINVER >= 0x0500)
-WINUSERAPI void WINAPI NotifyWinEvent(DWORD,HWND,LONG,LONG);
-#endif
+
 WINUSERAPI DWORD WINAPI OemKeyScan(WORD);
 WINUSERAPI BOOL WINAPI OemToCharA(LPCSTR,LPSTR);
 WINUSERAPI BOOL WINAPI OemToCharBuffA(LPCSTR,LPSTR,DWORD);
@@ -3981,9 +3346,7 @@ WINUSERAPI BOOL WINAPI PostMessageW(HWND,UINT,WPARAM,LPARAM);
 WINUSERAPI void WINAPI PostQuitMessage(int);
 WINUSERAPI BOOL WINAPI PostThreadMessageA(DWORD,UINT,WPARAM,LPARAM);
 WINUSERAPI BOOL WINAPI PostThreadMessageW(DWORD,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI PrintWindow(HWND,HDC,UINT);
-#endif
+
 WINUSERAPI BOOL WINAPI PtInRect(LPCRECT,POINT);
 WINUSERAPI HWND WINAPI RealChildWindowFromPoint(HWND,POINT);
 WINUSERAPI UINT WINAPI RealGetWindowClassA(HWND,LPSTR,UINT);
@@ -3995,17 +3358,9 @@ WINUSERAPI ATOM WINAPI RegisterClassExA(CONST WNDCLASSEXA*);
 WINUSERAPI ATOM WINAPI RegisterClassExW(CONST WNDCLASSEXW*);
 WINUSERAPI UINT WINAPI RegisterClipboardFormatA(LPCSTR);
 WINUSERAPI UINT WINAPI RegisterClipboardFormatW(LPCWSTR);
-#if (WINVER >= 0x0500)
-WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationA(HANDLE,LPVOID,DWORD);
-WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE,LPVOID,DWORD);
-#endif
-#if (_WIN32_WINNT >= 0x0600)
-WINUSERAPI HPOWERNOTIFY WINAPI RegisterPowerSettingNotification(HANDLE,LPCGUID,DWORD);
-#endif
+
 WINUSERAPI BOOL WINAPI RegisterHotKey(HWND,int,UINT,UINT);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI RegisterRawInputDevices(PCRAWINPUTDEVICE,UINT,UINT);
-#endif
+
 WINUSERAPI UINT WINAPI RegisterWindowMessageA(LPCSTR);
 WINUSERAPI UINT WINAPI RegisterWindowMessageW(LPCWSTR);
 WINUSERAPI BOOL WINAPI ReleaseCapture(void);
@@ -4020,9 +3375,7 @@ WINUSERAPI BOOL WINAPI ScrollWindow(HWND,int,int,LPCRECT,LPCRECT);
 WINUSERAPI int WINAPI ScrollWindowEx(HWND,int,int,LPCRECT,LPCRECT,HRGN,LPRECT,UINT);
 WINUSERAPI LONG WINAPI SendDlgItemMessageA(HWND,int,UINT,WPARAM,LPARAM);
 WINUSERAPI LONG WINAPI SendDlgItemMessageW(HWND,int,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0403)
-WINUSERAPI UINT WINAPI SendInput(UINT,LPINPUT,int);
-#endif
+
 WINUSERAPI LRESULT WINAPI SendMessageA(HWND,UINT,WPARAM,LPARAM);
 WINUSERAPI BOOL WINAPI SendMessageCallbackA(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD);
 WINUSERAPI BOOL WINAPI SendMessageCallbackW(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD);
@@ -4037,6 +3390,7 @@ WINUSERAPI BOOL WINAPI SetCaretBlinkTime(UINT);
 WINUSERAPI BOOL WINAPI SetCaretPos(int,int);
 WINUSERAPI DWORD WINAPI SetClassLongA(HWND,int,LONG);
 WINUSERAPI DWORD WINAPI SetClassLongW(HWND,int,LONG);
+
 #ifdef _WIN64
 WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrA(HWND,int,LONG_PTR);
 WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrW(HWND,int,LONG_PTR);
@@ -4044,6 +3398,7 @@ WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrW(HWND,int,LONG_PTR);
 #define SetClassLongPtrA SetClassLongA
 #define SetClassLongPtrW SetClassLongW
 #endif
+
 WINUSERAPI WORD WINAPI SetClassWord(HWND,int,WORD);
 WINUSERAPI HANDLE WINAPI SetClipboardData(UINT,HANDLE);
 WINUSERAPI HWND WINAPI SetClipboardViewer(HWND);
@@ -4067,9 +3422,7 @@ WINUSERAPI BOOL WINAPI SetMenuItemInfoW( HMENU,UINT,BOOL,LPCMENUITEMINFOW);
 WINUSERAPI LPARAM WINAPI SetMessageExtraInfo(LPARAM);
 WINUSERAPI BOOL WINAPI SetMessageQueue(int);
 WINUSERAPI HWND WINAPI SetParent(HWND,HWND);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI SetProcessDefaultLayout(DWORD);
-#endif /* (_WIN32_WINNT >= 0x0500) */
+
 WINUSERAPI BOOL WINAPI SetProcessWindowStation(HWINSTA);
 WINUSERAPI BOOL WINAPI SetPropA(HWND,LPCSTR,HANDLE);
 WINUSERAPI BOOL WINAPI SetPropW(HWND,LPCWSTR,HANDLE);
@@ -4086,12 +3439,11 @@ WINUSERAPI UINT WINAPI SetTimer(HWND,UINT,UINT,TIMERPROC);
 WINUSERAPI BOOL WINAPI SetUserObjectInformationA(HANDLE,int,PVOID,DWORD);
 WINUSERAPI BOOL WINAPI SetUserObjectInformationW(HANDLE,int,PVOID,DWORD);
 WINUSERAPI BOOL WINAPI SetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-#if (WINVER >= 0x0500)
-WINUSERAPI HWINEVENTHOOK WINAPI SetWinEventHook(UINT,UINT,HMODULE,WINEVENTPROC,DWORD,DWORD,UINT);
-#endif
+
 WINUSERAPI BOOL WINAPI SetWindowContextHelpId(HWND,DWORD);
 WINUSERAPI LONG WINAPI SetWindowLongA(HWND,int,LONG);
 WINUSERAPI LONG WINAPI SetWindowLongW(HWND,int,LONG);
+
 #ifdef _WIN64
 WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrA(HWND,int,LONG_PTR);
 WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrW(HWND,int,LONG_PTR);
@@ -4099,6 +3451,7 @@ WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrW(HWND,int,LONG_PTR);
 #define SetWindowLongPtrA SetWindowLongA
 #define SetWindowLongPtrW SetWindowLongW
 #endif
+
 WINUSERAPI BOOL WINAPI SetWindowPlacement(HWND hWnd,const WINDOWPLACEMENT*);
 WINUSERAPI BOOL WINAPI SetWindowPos(HWND,HWND,int,int,int,int,UINT);
 WINUSERAPI int WINAPI SetWindowRgn(HWND,HRGN,BOOL);
@@ -4118,9 +3471,7 @@ WINUSERAPI BOOL WINAPI ShowWindowAsync(HWND,int);
 WINUSERAPI BOOL WINAPI SubtractRect(LPRECT,LPCRECT,LPCRECT);
 WINUSERAPI BOOL WINAPI SwapMouseButton(BOOL);
 WINUSERAPI BOOL WINAPI SwitchDesktop(HDESK);
-#if(_WIN32_WINNT >= 0x0500)
-WINUSERAPI VOID WINAPI SwitchToThisWindow(HWND,BOOL);
-#endif /* (_WIN32_WINNT >= 0x0500) */
+
 WINUSERAPI BOOL WINAPI SystemParametersInfoA(UINT,UINT,PVOID,UINT);
 WINUSERAPI BOOL WINAPI SystemParametersInfoW(UINT,UINT,PVOID,UINT);
 WINUSERAPI LONG WINAPI TabbedTextOutA(HDC,int,int,LPCSTR,int,int,LPINT,int);
@@ -4139,24 +3490,15 @@ WINUSERAPI BOOL WINAPI TranslateMDISysAccel(HWND,LPMSG);
 WINUSERAPI BOOL WINAPI TranslateMessage(const MSG*);
 WINUSERAPI BOOL WINAPI UnhookWindowsHook(int,HOOKPROC);
 WINUSERAPI BOOL WINAPI UnhookWindowsHookEx(HHOOK);
-#if (WINVER >= 0x0500)
-WINUSERAPI BOOL WINAPI UnhookWinEvent(HWINEVENTHOOK);
-#endif
+
 WINUSERAPI BOOL WINAPI UnionRect(LPRECT,LPCRECT,LPCRECT);
 WINUSERAPI BOOL WINAPI UnloadKeyboardLayout(HKL);
 WINUSERAPI BOOL WINAPI UnregisterClassA(LPCSTR,HINSTANCE);
 WINUSERAPI BOOL WINAPI UnregisterClassW(LPCWSTR,HINSTANCE);
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI UnregisterDeviceNotification(HANDLE);
-#endif
-#if (_WIN32_WINNT >= 0x0600)
-WINUSERAPI BOOL WINAPI UnregisterPowerSettingNotification(HPOWERNOTIFY);
-#endif
+
 WINUSERAPI BOOL WINAPI UnregisterHotKey(HWND,int);
 WINUSERAPI BOOL WINAPI UpdateWindow(HWND);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI UserHandleGrantAccess(HANDLE,HANDLE,BOOL);
-#endif
+
 WINUSERAPI BOOL WINAPI ValidateRect(HWND,LPCRECT);
 WINUSERAPI BOOL WINAPI ValidateRgn(HWND,HRGN);
 WINUSERAPI SHORT WINAPI VkKeyScanA(CHAR);
@@ -4174,362 +3516,778 @@ WINUSERAPI int WINAPIV wsprintfA(LPSTR,LPCSTR,...);
 WINUSERAPI int WINAPIV wsprintfW(LPWSTR,LPCWSTR,...);
 WINUSERAPI int WINAPI wvsprintfA(LPSTR,LPCSTR,va_list arglist);
 WINUSERAPI int WINAPI wvsprintfW(LPWSTR,LPCWSTR,va_list arglist);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-WINUSERAPI BOOL WINAPI AllowSetForegroundWindow(DWORD);
-WINUSERAPI BOOL WINAPI LockSetForegroundWindow(UINT);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI SetLayeredWindowAttributes(HWND,COLORREF,BYTE,DWORD);
-#ifndef NOGDI
-WINUSERAPI BOOL WINAPI UpdateLayeredWindow(HWND,HDC,POINT*,SIZE*,HDC,POINT*,COLORREF,BLENDFUNCTION*,DWORD);
-#endif
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI GetLayeredWindowAttributes(HWND,COLORREF*,BYTE*,DWORD*);
-#endif
 
-#if (_WIN32_WINNT >= 0x0601)
-BOOL WINAPI CloseTouchInputHandle(HANDLE hTouchInput);
-BOOL WINAPI GetTouchInputInfo(HANDLE hTouchInput, UINT cInputs, PTOUCHINPUT pInputs, int cbSize);
-BOOL WINAPI IsTouchWindow(HWND hWnd, PULONG pulFlags);
-BOOL WINAPI RegisterTouchWindow(HWND hWnd, ULONG ulFlags);
-BOOL WINAPI UnregisterTouchWindow(HWND hWnd);
-#endif
+#define EDITWORDBREAKPROC __AW(EDITWORDBREAKPROC)
+#define PROPENUMPROC __AW(PROPENUMPROC)
+#define PROPENUMPROCEX __AW(PROPENUMPROCEX)
+#define DEKSTOPENUMPROC __AW(DEKSTOPENUMPROC)
+#define WINSTAENUMPROC __AW(WINSTAENUMPROC)
+#define PROPENUMPROC __AW(PROPENUMPROC)
+#define PROPENUMPROCEX __AW(PROPENUMPROCEX)
+#define MAKEINTRESOURCE __AW(MAKEINTRESOURCE)
+typedef __AW(WNDCLASS) WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
+typedef __AW(WNDCLASSEX) WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
+typedef __AW(MENUITEMINFO) MENUITEMINFO,*LPMENUITEMINFO;
+typedef __AW(LPCMENUITEMINFO) LPCMENUITEMINFO;
+typedef __AW(MSGBOXPARAMS) MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS;
+typedef __AW(HIGHCONTRAST) HIGHCONTRAST,*LPHIGHCONTRAST;
+typedef __AW(SERIALKEYS) SERIALKEYS,*LPSERIALKEYS;
+typedef __AW(SOUNDSENTRY) SOUNDSENTRY,*LPSOUNDSENTRY;
+typedef __AW(CREATESTRUCT) CREATESTRUCT, *LPCREATESTRUCT;
+typedef __AW(CBT_CREATEWND) CBT_CREATEWND, *LPCBT_CREATEWND;
+typedef __AW(MDICREATESTRUCT) MDICREATESTRUCT,*LPMDICREATESTRUCT;
+typedef __AW(MULTIKEYHELP) MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
+typedef __AW(MONITORINFOEX) MONITORINFOEX, *LPMONITORINFOEX;
+#define AppendMenu __AW(AppendMenu)
+#define BroadcastSystemMessage __AW(BroadcastSystemMessage)
+#define BroadcastSystemMessageEx __AW(BroadcastSystemMessageEx)
+#define CallMsgFilter __AW(CallMsgFilter)
+#define CallWindowProc __AW(CallWindowProc)
+#define ChangeMenu __AW(ChangeMenu)
+#define CharLower __AW(CharLower)
+#define CharLowerBuff __AW(CharLowerBuff)
+#define CharNext __AW(CharNext)
+#define CharPrev __AW(CharPrev)
+#define CharToOem __AW(CharToOem)
+#define CharToOemBuff __AW(CharToOemBuff)
+#define CharUpper __AW(CharUpper)
+#define CharUpperBuff __AW(CharUpperBuff)
+#define CopyAcceleratorTable __AW(CopyAcceleratorTable)
+#define CreateAcceleratorTable __AW(CreateAcceleratorTable)
+#define CreateDialog __AW(CreateDialog)
+#define CreateDialogIndirect __AW(CreateDialogIndirect)
+#define CreateDialogIndirectParam __AW(CreateDialogIndirectParam)
+#define CreateDialogParam __AW(CreateDialogParam)
+#define CreateMDIWindow __AW(CreateMDIWindow)
+#define CreateWindow __AW(CreateWindow)
+#define CreateWindowEx __AW(CreateWindowEx)
+#define CreateWindowStation __AW(CreateWindowStation)
+#define DefDlgProc __AW(DefDlgProc)
+#define DefFrameProc __AW(DefFrameProc)
+#define DefMDIChildProc __AW(DefMDIChildProc)
+#define DefWindowProc __AW(DefWindowProc)
+#define DialogBox __AW(DialogBox)
+#define DialogBoxIndirect __AW(DialogBoxIndirect)
+#define DialogBoxIndirectParam __AW(DialogBoxIndirectParam)
+#define DialogBoxParam __AW(DialogBoxParam)
+#define DispatchMessage __AW(DispatchMessage)
+#define DlgDirList __AW(DlgDirList)
+#define DlgDirListComboBox __AW(DlgDirListComboBox)
+#define DlgDirSelectComboBoxEx __AW(DlgDirSelectComboBoxEx)
+#define DlgDirSelectEx __AW(DlgDirSelectEx)
+#define DrawState __AW(DrawState)
+#define DrawText __AW(DrawText)
+#define DrawTextEx __AW(DrawTextEx)
+#define EnumDesktops __AW(EnumDesktops)
+#define EnumProps __AW(EnumProps)
+#define EnumPropsEx __AW(EnumPropsEx)
+#define EnumWindowStations __AW(EnumWindowStations)
+#define FindWindow __AW(FindWindow)
+#define FindWindowEx __AW(FindWindowEx)
+#define GetClassInfo __AW(GetClassInfo)
+#define GetClassInfoEx __AW(GetClassInfoEx)
+#define GetClassLong __AW(GetClassLong)
+#define GetClassLongPtr __AW(GetClassLongPtr)
+#define GetClassName __AW(GetClassName)
+#define GetClipboardFormatName __AW(GetClipboardFormatName)
+#define GetDlgItemText __AW(GetDlgItemText)
+#define GetKeyboardLayoutName __AW(GetKeyboardLayoutName)
+#define GetKeyNameText __AW(GetKeyNameText)
+#define GetMenuItemInfo __AW(GetMenuItemInfo)
+#define GetMenuString __AW(GetMenuString)
+#define GetMessage __AW(GetMessage)
+#define GetMonitorInfo __AW(GetMonitorInfo)
+#define GetProp __AW(GetProp)
+#define GetRawInputDeviceInfo __AW(GetRawInputDeviceInfo)
+#define GetTabbedTextExtent __AW(GetTabbedTextExtent)
+#define GetUserObjectInformation __AW(GetUserObjectInformation)
+#define GetWindowLong __AW(GetWindowLong)
+#define GetWindowLongPtr __AW(GetWindowLongPtr)
+#define GetWindowText __AW(GetWindowText)
+#define GetWindowTextLength __AW(GetWindowTextLength)
+#define GetAltTabInfo __AW(GetAltTabInfo)
+#define GetWindowModuleFileName __AW(GetWindowModuleFileName)
+#define GrayString __AW(GrayString)
+#define InsertMenu __AW(InsertMenu)
+#define InsertMenuItem __AW(InsertMenuItem)
+#define IsCharAlpha __AW(IsCharAlpha)
+#define IsCharAlphaNumeric __AW(IsCharAlphaNumeric)
+#define IsCharLower __AW(IsCharLower)
+#define IsCharUpper __AW(IsCharUpper)
+#define IsDialogMessage __AW(IsDialogMessage)
+#define LoadAccelerators __AW(LoadAccelerators)
+#define LoadBitmap __AW(LoadBitmap)
+#define LoadCursor __AW(LoadCursor)
+#define LoadCursorFromFile __AW(LoadCursorFromFile)
+#define LoadIcon __AW(LoadIcon)
+#define LoadImage __AW(LoadImage)
+#define LoadKeyboardLayout __AW(LoadKeyboardLayout)
+#define LoadMenu __AW(LoadMenu)
+#define LoadMenuIndirect __AW(LoadMenuIndirect)
+#define LoadString __AW(LoadString)
+#define MapVirtualKey __AW(MapVirtualKey)
+#define MapVirtualKeyEx __AW(MapVirtualKeyEx)
+#define MessageBox __AW(MessageBox)
+#define MessageBoxEx __AW(MessageBoxEx)
+#define MessageBoxIndirect __AW(MessageBoxIndirect)
+#define ModifyMenu __AW(ModifyMenu)
+#define OemToChar __AW(OemToChar)
+#define OemToCharBuff __AW(OemToCharBuff)
+#define OpenDesktop __AW(OpenDesktop)
+#define OpenWindowStation __AW(OpenWindowStation)
+#define PeekMessage __AW(PeekMessage)
+#define PostAppMessage __AW(PostAppMessage)
+#define PostMessage __AW(PostMessage)
+#define PostThreadMessage __AW(PostThreadMessage)
+#define RealGetWindowClass __AW(RealGetWindowClass)
+#define RegisterClass __AW(RegisterClass)
+#define RegisterClassEx __AW(RegisterClassEx)
+#define RegisterClipboardFormat __AW(RegisterClipboardFormat)
+#define RegisterDeviceNotification __AW(RegisterDeviceNotification)
+#define RegisterWindowMessage __AW(RegisterWindowMessage)
+#define RemoveProp __AW(RemoveProp)
+#define SendDlgItemMessage __AW(SendDlgItemMessage)
+#define SendMessage __AW(SendMessage)
+#define SendMessageCallback __AW(SendMessageCallback)
+#define SendMessageTimeout __AW(SendMessageTimeout)
+#define SendNotifyMessage __AW(SendNotifyMessage)
+#define SetClassLong __AW(SetClassLong)
+#define SetClassLongPtr __AW(SetClassLongPtr)
+#define SetDlgItemText __AW(SetDlgItemText)
+#define SetMenuItemInfo __AW(SetMenuItemInfo)
+#define SetProp __AW(SetProp)
+#define SetUserObjectInformation __AW(SetUserObjectInformation)
+#define SetWindowLong __AW(SetWindowLong)
+#define SetWindowLongPtr __AW(SetWindowLongPtr)
+#define SetWindowsHook __AW(SetWindowsHook)
+#define SetWindowsHookEx __AW(SetWindowsHookEx)
+#define SetWindowText __AW(SetWindowText)
+#define SystemParametersInfo __AW(SystemParametersInfo)
+#define TabbedTextOut __AW(TabbedTextOut)
+#define TranslateAccelerator __AW(TranslateAccelerator)
+#define UnregisterClass __AW(UnregisterClass)
+#define VkKeyScan __AW(VkKeyScan)
+#define VkKeyScanEx __AW(VkKeyScanEx)
+#define WinHelp __AW(WinHelp)
+#define wsprintf __AW(wsprintf)
+#define wvsprintf __AW(wvsprintf)
 
-#ifdef UNICODE
-#define EDITWORDBREAKPROC EDITWORDBREAKPROCW
-#define PROPENUMPROC PROPENUMPROCW
-#define PROPENUMPROCEX PROPENUMPROCEXW
-#define DEKSTOPENUMPROC DEKSTOPENUMPROCW
-#define WINSTAENUMPROC WINSTAENUMPROCW
-#define PROPENUMPROC PROPENUMPROCW
-#define PROPENUMPROCEX PROPENUMPROCEXW
-#define MAKEINTRESOURCE MAKEINTRESOURCEW
-typedef WNDCLASSW WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
-typedef WNDCLASSEXW WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
-typedef MENUITEMINFOW MENUITEMINFO,*LPMENUITEMINFO;
-typedef LPCMENUITEMINFOW LPCMENUITEMINFO;
-typedef MSGBOXPARAMSW MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS;
-typedef HIGHCONTRASTW HIGHCONTRAST,*LPHIGHCONTRAST;
-typedef SERIALKEYSW SERIALKEYS,*LPSERIALKEYS;
-typedef SOUNDSENTRYW SOUNDSENTRY,*LPSOUNDSENTRY;
-typedef CREATESTRUCTW CREATESTRUCT, *LPCREATESTRUCT;
-typedef CBT_CREATEWNDW CBT_CREATEWND, *LPCBT_CREATEWND;
-typedef MDICREATESTRUCTW MDICREATESTRUCT,*LPMDICREATESTRUCT;
-typedef MULTIKEYHELPW MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
-typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX;
-#define AppendMenu AppendMenuW
-#define BroadcastSystemMessage BroadcastSystemMessageW
-#define BroadcastSystemMessageEx BroadcastSystemMessageExW
-#define CallMsgFilter CallMsgFilterW
-#define CallWindowProc CallWindowProcW
-#define ChangeMenu ChangeMenuW
-#define CharLower CharLowerW
-#define CharLowerBuff CharLowerBuffW
-#define CharNext CharNextW
-#define CharPrev CharPrevW
-#define CharToOem CharToOemW
-#define CharToOemBuff CharToOemBuffW
-#define CharUpper CharUpperW
-#define CharUpperBuff CharUpperBuffW
-#define CopyAcceleratorTable CopyAcceleratorTableW
-#define CreateAcceleratorTable CreateAcceleratorTableW
-#define CreateDialog CreateDialogW
-#define CreateDialogIndirect CreateDialogIndirectW
-#define CreateDialogIndirectParam CreateDialogIndirectParamW
-#define CreateDialogParam CreateDialogParamW
-#define CreateMDIWindow CreateMDIWindowW
-#define CreateWindow CreateWindowW
-#define CreateWindowEx CreateWindowExW
-#define CreateWindowStation CreateWindowStationW
-#define DefDlgProc DefDlgProcW
-#define DefFrameProc DefFrameProcW
-#define DefMDIChildProc DefMDIChildProcW
-#define DefWindowProc DefWindowProcW
-#define DialogBox DialogBoxW
-#define DialogBoxIndirect DialogBoxIndirectW
-#define DialogBoxIndirectParam DialogBoxIndirectParamW
-#define DialogBoxParam DialogBoxParamW
-#define DispatchMessage DispatchMessageW
-#define DlgDirList DlgDirListW
-#define DlgDirListComboBox DlgDirListComboBoxW
-#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW
-#define DlgDirSelectEx DlgDirSelectExW
-#define DrawState DrawStateW
-#define DrawText DrawTextW
-#define DrawTextEx DrawTextExW
-#define EnumDesktops EnumDesktopsW
-#define EnumProps EnumPropsW
-#define EnumPropsEx EnumPropsExW
-#define EnumWindowStations EnumWindowStationsW
-#define FindWindow FindWindowW
-#define FindWindowEx FindWindowExW
-#define GetClassInfo GetClassInfoW
-#define GetClassInfoEx GetClassInfoExW
-#define GetClassLong GetClassLongW
-#define GetClassLongPtr GetClassLongPtrW
-#define GetClassName GetClassNameW
-#define GetClipboardFormatName GetClipboardFormatNameW
-#define GetDlgItemText GetDlgItemTextW
-#define GetKeyboardLayoutName GetKeyboardLayoutNameW
-#define GetKeyNameText GetKeyNameTextW
-#define GetMenuItemInfo GetMenuItemInfoW
-#define GetMenuString GetMenuStringW
-#define GetMessage GetMessageW
-#define GetMonitorInfo GetMonitorInfoW
-#define GetProp GetPropW
-#define GetRawInputDeviceInfo GetRawInputDeviceInfoW
-#define GetTabbedTextExtent GetTabbedTextExtentW
-#define GetUserObjectInformation GetUserObjectInformationW
-#define GetWindowLong GetWindowLongW
-#define GetWindowLongPtr GetWindowLongPtrW
-#define GetWindowText GetWindowTextW
-#define GetWindowTextLength GetWindowTextLengthW
-#define GetAltTabInfo GetAltTabInfoW
-#define GetWindowModuleFileName GetWindowModuleFileNameW
-#define GrayString GrayStringW
-#define InsertMenu InsertMenuW
-#define InsertMenuItem InsertMenuItemW
-#define IsCharAlpha IsCharAlphaW
-#define IsCharAlphaNumeric IsCharAlphaNumericW
-#define IsCharLower IsCharLowerW
-#define IsCharUpper IsCharUpperW
-#define IsDialogMessage IsDialogMessageW
-#define LoadAccelerators LoadAcceleratorsW
-#define LoadBitmap LoadBitmapW
-#define LoadCursor LoadCursorW
-#define LoadCursorFromFile LoadCursorFromFileW
-#define LoadIcon LoadIconW
-#define LoadImage LoadImageW
-#define LoadKeyboardLayout LoadKeyboardLayoutW
-#define LoadMenu LoadMenuW
-#define LoadMenuIndirect LoadMenuIndirectW
-#define LoadString LoadStringW
-#define MapVirtualKey MapVirtualKeyW
-#define MapVirtualKeyEx MapVirtualKeyExW
-#define MessageBox MessageBoxW
-#define MessageBoxEx MessageBoxExW
-#define MessageBoxIndirect MessageBoxIndirectW
-#define ModifyMenu ModifyMenuW
-#define OemToChar OemToCharW
-#define OemToCharBuff OemToCharBuffW
-#define OpenDesktop OpenDesktopW
-#define OpenWindowStation OpenWindowStationW
-#define PeekMessage PeekMessageW
-#define PostAppMessage PostAppMessageW
-#define PostMessage PostMessageW
-#define PostThreadMessage PostThreadMessageW
-#define RealGetWindowClass RealGetWindowClassW
-#define RegisterClass RegisterClassW
-#define RegisterClassEx RegisterClassExW
-#define RegisterClipboardFormat RegisterClipboardFormatW
-#define RegisterDeviceNotification RegisterDeviceNotificationW
-#define RegisterWindowMessage RegisterWindowMessageW
-#define RemoveProp RemovePropW
-#define SendDlgItemMessage SendDlgItemMessageW
-#define SendMessage SendMessageW
-#define SendMessageCallback SendMessageCallbackW
-#define SendMessageTimeout SendMessageTimeoutW
-#define SendNotifyMessage SendNotifyMessageW
-#define SetClassLong SetClassLongW
-#define SetClassLongPtr SetClassLongPtrW
-#define SetDlgItemText SetDlgItemTextW
-#define SetMenuItemInfo SetMenuItemInfoW
-#define SetProp SetPropW
-#define SetUserObjectInformation SetUserObjectInformationW
-#define SetWindowLong SetWindowLongW
-#define SetWindowLongPtr SetWindowLongPtrW
-#define SetWindowsHook SetWindowsHookW
-#define SetWindowsHookEx SetWindowsHookExW
-#define SetWindowText SetWindowTextW
-#define SystemParametersInfo SystemParametersInfoW
-#define TabbedTextOut TabbedTextOutW
-#define TranslateAccelerator TranslateAcceleratorW
-#define UnregisterClass UnregisterClassW
-#define VkKeyScan VkKeyScanW
-#define VkKeyScanEx VkKeyScanExW
-#define WinHelp WinHelpW
-#define wsprintf wsprintfW
-#define wvsprintf wvsprintfW
-#ifndef NOGDI
-typedef ICONMETRICSW ICONMETRICS,*LPICONMETRICS;
-typedef NONCLIENTMETRICSW NONCLIENTMETRICS,*LPNONCLIENTMETRICS;
-#define ChangeDisplaySettings ChangeDisplaySettingsW
-#define ChangeDisplaySettingsEx ChangeDisplaySettingsExW
-#define CreateDesktop CreateDesktopW
-#define EnumDisplaySettings EnumDisplaySettingsW
-#define EnumDisplaySettingsEx EnumDisplaySettingsExW
-#define EnumDisplayDevices EnumDisplayDevicesW
-#endif /* NOGDI */
-#else /* UNICODE */
-#define EDITWORDBREAKPROC EDITWORDBREAKPROCA
-#define PROPENUMPROC PROPENUMPROCA
-#define PROPENUMPROCEX PROPENUMPROCEXA
-#define DEKSTOPENUMPROC DEKSTOPENUMPROCA
-#define WINSTAENUMPROC WINSTAENUMPROCA
-#define PROPENUMPROC PROPENUMPROCA
-#define PROPENUMPROCEX PROPENUMPROCEXA
-#define MAKEINTRESOURCE MAKEINTRESOURCEA
-typedef WNDCLASSA WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
-typedef WNDCLASSEXA WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
-typedef MENUITEMINFOA MENUITEMINFO,*LPMENUITEMINFO;
-typedef LPCMENUITEMINFOA LPCMENUITEMINFO;
-typedef MSGBOXPARAMSA MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS;
-typedef HIGHCONTRASTA HIGHCONTRAST,*LPHIGHCONTRAST;
-typedef SERIALKEYSA SERIALKEYS,*LPSERIALKEYS;
-typedef SOUNDSENTRYA SOUNDSENTRY,*LPSOUNDSENTRY;
-typedef CREATESTRUCTA CREATESTRUCT, *LPCREATESTRUCT;
-typedef CBT_CREATEWNDA CBT_CREATEWND, *LPCBT_CREATEWND;
-typedef MDICREATESTRUCTA MDICREATESTRUCT,*LPMDICREATESTRUCT;
-typedef MULTIKEYHELPA MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
-typedef MONITORINFOEXA MONITORINFOEX, *LPMONITORINFOEX;
-#define AppendMenu AppendMenuA
-#define BroadcastSystemMessage BroadcastSystemMessageA
-#define BroadcastSystemMessageEx BroadcastSystemMessageExA
-#define CallMsgFilter CallMsgFilterA
-#define CallWindowProc CallWindowProcA
-#define ChangeMenu ChangeMenuA
-#define CharLower CharLowerA
-#define CharLowerBuff CharLowerBuffA
-#define CharNext CharNextA
-#define CharPrev CharPrevA
-#define CharToOem CharToOemA
-#define CharToOemBuff CharToOemBuffA
-#define CharUpper CharUpperA
-#define CharUpperBuff CharUpperBuffA
-#define CopyAcceleratorTable CopyAcceleratorTableA
-#define CreateAcceleratorTable CreateAcceleratorTableA
-#define CreateDialog CreateDialogA
-#define CreateDialogIndirect CreateDialogIndirectA
-#define CreateDialogIndirectParam CreateDialogIndirectParamA
-#define CreateDialogParam CreateDialogParamA
-#define CreateMDIWindow CreateMDIWindowA
-#define CreateWindow CreateWindowA
-#define CreateWindowEx CreateWindowExA
-#define CreateWindowStation CreateWindowStationA
-#define DefDlgProc DefDlgProcA
-#define DefFrameProc DefFrameProcA
-#define DefMDIChildProc DefMDIChildProcA
-#define DefWindowProc DefWindowProcA
-#define DialogBox DialogBoxA
-#define DialogBoxIndirect DialogBoxIndirectA
-#define DialogBoxIndirectParam DialogBoxIndirectParamA
-#define DialogBoxParam DialogBoxParamA
-#define DispatchMessage DispatchMessageA
-#define DlgDirList DlgDirListA
-#define DlgDirListComboBox DlgDirListComboBoxA
-#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA
-#define DlgDirSelectEx DlgDirSelectExA
-#define DrawState DrawStateA
-#define DrawText DrawTextA
-#define DrawTextEx DrawTextExA
-#define EnumDesktops EnumDesktopsA
-#define EnumProps EnumPropsA
-#define EnumPropsEx EnumPropsExA
-#define EnumWindowStations EnumWindowStationsA
-#define FindWindow FindWindowA
-#define FindWindowEx FindWindowExA
-#define GetClassInfo GetClassInfoA
-#define GetClassInfoEx GetClassInfoExA
-#define GetClassLong GetClassLongA
-#define GetClassLongPtr GetClassLongPtrA
-#define GetClassName GetClassNameA
-#define GetClipboardFormatName GetClipboardFormatNameA
-#define GetDlgItemText GetDlgItemTextA
-#define GetKeyboardLayoutName GetKeyboardLayoutNameA
-#define GetKeyNameText GetKeyNameTextA
-#define GetMenuItemInfo GetMenuItemInfoA
-#define GetMenuString GetMenuStringA
-#define GetMessage GetMessageA
-#define GetMonitorInfo GetMonitorInfoA
-#define GetProp GetPropA
-#define GetRawInputDeviceInfo GetRawInputDeviceInfoA
-#define GetTabbedTextExtent GetTabbedTextExtentA
-#define GetUserObjectInformation GetUserObjectInformationA
-#define GetWindowLong GetWindowLongA
-#define GetWindowLongPtr GetWindowLongPtrA
-#define GetWindowText GetWindowTextA
-#define GetWindowTextLength GetWindowTextLengthA
-#define GetAltTabInfo GetAltTabInfoA
-#define GetWindowModuleFileName GetWindowModuleFileNameA
-#define GrayString GrayStringA
-#define InsertMenu InsertMenuA
-#define InsertMenuItem InsertMenuItemA
-#define IsCharAlpha IsCharAlphaA
-#define IsCharAlphaNumeric IsCharAlphaNumericA
-#define IsCharLower IsCharLowerA
-#define IsCharUpper IsCharUpperA
-#define IsDialogMessage IsDialogMessageA
-#define LoadAccelerators LoadAcceleratorsA
-#define LoadBitmap LoadBitmapA
-#define LoadCursor LoadCursorA
-#define LoadIcon LoadIconA
-#define LoadCursorFromFile LoadCursorFromFileA
-#define LoadImage LoadImageA
-#define LoadKeyboardLayout LoadKeyboardLayoutA
-#define LoadMenu LoadMenuA
-#define LoadMenuIndirect LoadMenuIndirectA
-#define LoadString LoadStringA
-#define MapVirtualKey MapVirtualKeyA
-#define MapVirtualKeyEx MapVirtualKeyExA
-#define MessageBox MessageBoxA
-#define MessageBoxEx MessageBoxExA
-#define MessageBoxIndirect MessageBoxIndirectA
-#define ModifyMenu ModifyMenuA
-#define OemToChar OemToCharA
-#define OemToCharBuff OemToCharBuffA
-#define OpenDesktop OpenDesktopA
-#define OpenWindowStation OpenWindowStationA
-#define PeekMessage PeekMessageA
-#define PostAppMessage PostAppMessageA
-#define PostMessage PostMessageA
-#define PostThreadMessage PostThreadMessageA
-#define RealGetWindowClass RealGetWindowClassA
-#define RegisterClass RegisterClassA
-#define RegisterClassEx RegisterClassExA
-#define RegisterClipboardFormat RegisterClipboardFormatA
-#define RegisterDeviceNotification RegisterDeviceNotificationA
-#define RegisterWindowMessage RegisterWindowMessageA
-#define RemoveProp RemovePropA
-#define SendDlgItemMessage SendDlgItemMessageA
-#define SendMessage SendMessageA
-#define SendMessageCallback SendMessageCallbackA
-#define SendMessageTimeout SendMessageTimeoutA
-#define SendNotifyMessage SendNotifyMessageA
-#define SetClassLong SetClassLongA
-#define SetClassLongPtr SetClassLongPtrA
-#define SetDlgItemText SetDlgItemTextA
-#define SetMenuItemInfo SetMenuItemInfoA
-#define SetProp SetPropA
-#define SetUserObjectInformation SetUserObjectInformationA
-#define SetWindowLong SetWindowLongA
-#define SetWindowLongPtr SetWindowLongPtrA
-#define SetWindowsHook SetWindowsHookA
-#define SetWindowsHookEx SetWindowsHookExA
-#define SetWindowText SetWindowTextA
-#define SystemParametersInfo SystemParametersInfoA
-#define TabbedTextOut TabbedTextOutA
-#define TranslateAccelerator TranslateAcceleratorA
-#define UnregisterClass UnregisterClassA
-#define VkKeyScan VkKeyScanA
-#define VkKeyScanEx VkKeyScanExA
-#define WinHelp WinHelpA
-#define wsprintf wsprintfA
-#define wvsprintf wvsprintfA
 #ifndef NOGDI
-typedef ICONMETRICSA ICONMETRICS,*LPICONMETRICS;
-typedef NONCLIENTMETRICSA NONCLIENTMETRICS,*LPNONCLIENTMETRICS;
-#define ChangeDisplaySettings ChangeDisplaySettingsA
-#define ChangeDisplaySettingsEx ChangeDisplaySettingsExA
-#define CreateDesktop CreateDesktopA
-#define EnumDisplaySettings EnumDisplaySettingsA
-#define EnumDisplaySettingsEx EnumDisplaySettingsExA
-#define EnumDisplayDevices EnumDisplayDevicesA
+typedef __AW(ICONMETRICS) ICONMETRICS,*LPICONMETRICS;
+typedef __AW(NONCLIENTMETRICS) NONCLIENTMETRICS,*LPNONCLIENTMETRICS;
+#define ChangeDisplaySettings __AW(ChangeDisplaySettings)
+#define ChangeDisplaySettingsEx __AW(ChangeDisplaySettingsEx)
+#define CreateDesktop __AW(CreateDesktop)
+#define EnumDisplaySettings __AW(EnumDisplaySettings)
+#define EnumDisplaySettingsEx __AW(EnumDisplaySettingsEx)
+#define EnumDisplayDevices __AW(EnumDisplayDevices)
 #endif /* NOGDI */
-#endif /* UNICODE */
+
 #endif /* RC_INVOKED */
 
-#ifdef __cplusplus
-}
-#endif
+#if (_WIN32_WINNT >= 0x0410)
+#define DC_GRADIENT    0x00000020
+#define TPM_RECURSE 1
+#define SW_SMOOTHSCROLL        0x0010
+#define INPUT_MOUSE 0x00000000
+#define INPUT_KEYBOARD 0x00000001
+#define INPUT_HARDWARE 0x00000002
+#define MONITOR_DEFAULTTONULL 0 
+#define MONITOR_DEFAULTTOPRIMARY 1 
+#define MONITOR_DEFAULTTONEAREST 2 
+#define MONITORINFOF_PRIMARY 1 
+#define EDS_RAWMODE 0x00000002
+#define ISMEX_NOSEND 0x00000000
+#define ISMEX_CALLBACK 0x00000004
+#define ISMEX_NOTIFY 0x00000002
+#define ISMEX_REPLIED 0x00000008
+#define ISMEX_SEND 0x00000001
+
+#ifndef RC_INVOKED
+#define CCHILDREN_TITLEBAR 5
+typedef struct tagTITLEBARINFO {
+       DWORD cbSize;
+       RECT  rcTitleBar;
+       DWORD rgstate[CCHILDREN_TITLEBAR+1];
+} TITLEBARINFO,*PTITLEBARINFO,*LPTITLEBARINFO;
+typedef struct {
+  UINT  cbSize;
+  HWND  hwnd;
+  DWORD dwFlags;
+  UINT  uCount;
+  DWORD dwTimeout;
+} FLASHWINFO,*PFLASHWINFO;
+typedef struct tagMOUSEINPUT {
+  LONG dx;
+  LONG dy;
+  DWORD mouseData;
+  DWORD dwFlags;
+  DWORD time;
+  ULONG_PTR dwExtraInfo;
+} MOUSEINPUT,*PMOUSEINPUT;
+typedef struct tagKEYBDINPUT {
+  WORD wVk;
+  WORD wScan;
+  DWORD dwFlags;
+  DWORD time;
+  ULONG_PTR dwExtraInfo;
+} KEYBDINPUT,*PKEYBDINPUT;
+typedef struct tagHARDWAREINPUT {
+  DWORD uMsg;
+  WORD wParamL;
+  WORD wParamH;
+} HARDWAREINPUT,*PHARDWAREINPUT;
+typedef struct tagINPUT {
+  DWORD type;
+  _ANONYMOUS_UNION union {
+               MOUSEINPUT mi;
+               KEYBDINPUT ki;
+               HARDWAREINPUT hi;
+  } DUMMYUNIONNAME;
+} INPUT,*PINPUT,*LPINPUT;
+WINUSERAPI BOOL WINAPI FlashWindowEx(PFLASHWINFO);
+WINUSERAPI DWORD WINAPI GetClipboardSequenceNumber(void);
+WINUSERAPI BOOL WINAPI GetTitleBarInfo(HWND,PTITLEBARINFO);
+WINUSERAPI DWORD WINAPI InSendMessageEx(LPVOID);
+WINUSERAPI HMONITOR WINAPI MonitorFromPoint(POINT,DWORD);
+WINUSERAPI HMONITOR WINAPI MonitorFromRect(LPCRECT,DWORD);
+WINUSERAPI HMONITOR WINAPI MonitorFromWindow(HWND,DWORD);
+WINUSERAPI UINT WINAPI SendInput(UINT,LPINPUT,int);
+WINUSERAPI BOOL WINAPI UnregisterDeviceNotification(HANDLE);
+
+#ifndef NOGDI
+WINUSERAPI BOOL WINAPI EnumDisplaySettingsExA(LPCSTR,DWORD,LPDEVMODEA,DWORD);
+WINUSERAPI BOOL WINAPI EnumDisplaySettingsExW(LPCWSTR,DWORD,LPDEVMODEW,DWORD);
+#endif /* ! NOGDI */
+
+#endif /* ! RC_INVOKED */
+
+#endif /* (_WIN32_WINNT >= 0x0410) */
+
+#if (_WIN32_WINNT >= 0x0490)
+#define ASFW_ANY ((DWORD)-1)
+#define LSFW_LOCK 1
+#define LSFW_UNLOCK 2
+#define GMMP_USE_DISPLAY_POINTS 1
+#define GMMP_USE_HIGH_RESOLUTION_POINTS 2
+
+#ifndef RC_INVOKED
+typedef struct tagMOUSEMOVEPOINT {
+  int x;
+  int y;
+  DWORD time;
+  ULONG_PTR dwExtraInfo;
+} MOUSEMOVEPOINT,*PMOUSEMOVEPOINT,*LPMOUSEMOVEPOINT;
+WINUSERAPI int WINAPI GetMouseMovePointsEx(UINT,LPMOUSEMOVEPOINT,LPMOUSEMOVEPOINT,int,DWORD);
+WINUSERAPI BOOL WINAPI AllowSetForegroundWindow(DWORD);
+WINUSERAPI BOOL WINAPI LockSetForegroundWindow(UINT);
+#endif /* ! RC_INVOKED */
+
+#endif /* (_WIN32_WINNT >= 0x0490) */
+
+#if (_WIN32_WINNT >= 0x0500)
+#define CF_DIBV5 17
+#undef CF_MAX
+#define CF_MAX 18
+#define BSF_ALLOWSFW 0x00000080
+#define BSF_SENDNOTIFYMESSAGE 0x00000100
+#define DFC_POPUPMENU 5
+#define DFCS_TRANSPARENT       0x800
+#define DFCS_HOT       0x1000
+#define MIM_MAXHEIGHT 1
+#define MIM_BACKGROUND 2
+#define MIM_HELPID 4
+#define MIM_MENUDATA 8
+#define MIM_STYLE 16
+#define MIM_APPLYTOSUBMENUS 0x80000000L
+#define MNS_NOCHECK 0x80000000
+#define MNS_MODELESS 0x40000000
+#define MNS_DRAGDROP 0x20000000
+#define MNS_AUTODISMISS 0x10000000
+#define MNS_NOTIFYBYPOS 0x08000000
+#define MNS_CHECKORBMP 0x04000000
+#define MB_CANCELTRYCONTINUE 6
+#define IDTRYAGAIN 10
+#define IDCONTINUE 11
+#define KEYEVENTF_UNICODE 0x00000004
+#define KEYEVENTF_SCANCODE 0x00000008
+#define MOUSEEVENTF_XDOWN 0x00000080
+#define MOUSEEVENTF_XUP 0x00000100
+#define PM_QS_INPUT (QS_INPUT << 16)
+#define PM_QS_POSTMESSAGE ((QS_POSTMESSAGE|QS_HOTKEY|QS_TIMER) << 16)
+#define PM_QS_PAINT (QS_PAINT << 16)
+#define PM_QS_SENDMESSAGE (QS_SENDMESSAGE << 16)
+#define HWND_MESSAGE ((HWND)(-3))
+#define SMTO_NOTIMEOUTIFNOTHUNG 0x0008
+#define HSHELL_ACCESSIBILITYSTATE 11
+#define HSHELL_APPCOMMAND 12
+#define HSHELL_RUDEAPPACTIVATED 32772
+#define HSHELL_FLASH 32774
+#define WM_GETOBJECT 0x003D
+#define WM_CHANGEUISTATE 0x0127
+#define WM_UPDATEUISTATE 0x0128
+#define WM_QUERYUISTATE 0x0129
+#define WM_UNINITMENUPOPUP 0x0125
+#define WM_MENURBUTTONUP 290
+#define WM_MENUCOMMAND 0x0126
+#define WM_MENUGETOBJECT 0x0124
+#define WM_MENUDRAG 0x0123
+#define WM_APPCOMMAND 0x0319
+#define WM_NCXBUTTONDOWN 171
+#define WM_NCXBUTTONUP 172
+#define WM_NCXBUTTONDBLCLK 173
+#define WM_NCMOUSEHOVER 0x02A0
+#define WM_NCMOUSELEAVE 0x02A2
+#define EM_GETIMESTATUS 217
+#define EM_SETIMESTATUS 216
+#define VK_XBUTTON1    5
+#define VK_XBUTTON2    6
+#define VK_BROWSER_BACK        0xA6
+#define VK_BROWSER_FORWARD     0xA7
+#define VK_BROWSER_REFRESH     0xA8
+#define VK_BROWSER_STOP        0xA9
+#define VK_BROWSER_SEARCH      0xAA
+#define VK_BROWSER_FAVORITES   0xAB
+#define VK_BROWSER_HOME        0xAC
+#define VK_VOLUME_MUTE 0xAD
+#define VK_VOLUME_DOWN 0xAE
+#define VK_VOLUME_UP   0xAF
+#define VK_MEDIA_NEXT_TRACK    0xB0
+#define VK_MEDIA_PREV_TRACK    0xB1
+#define VK_MEDIA_STOP  0xB2
+#define VK_MEDIA_PLAY_PAUSE    0xB3
+#define VK_LAUNCH_MAIL 0xB4
+#define VK_LAUNCH_MEDIA_SELECT 0xB5
+#define VK_LAUNCH_APP1 0xB6
+#define VK_LAUNCH_APP2 0xB7
+#define VK_OEM_PLUS    0xBB
+#define VK_OEM_COMMA   0xBC
+#define VK_OEM_MINUS   0xBD
+#define VK_OEM_PERIOD  0xBE
+#define VK_OEM_102     0xE2
+#define VK_PACKET      0xE7
+#define MK_XBUTTON1    32
+#define MK_XBUTTON2    64
+#define FLASHW_STOP 0
+#define FLASHW_CAPTION 1
+#define FLASHW_TRAY 2
+#define FLASHW_ALL (FLASHW_CAPTION|FLASHW_TRAY)
+#define FLASHW_TIMER 4
+#define FLASHW_TIMERNOFG 12
+#define CHILDID_SELF 0
+#define OBJID_WINDOW 0x00000000
+#define OBJID_SYSMENU 0xFFFFFFFF
+#define OBJID_TITLEBAR 0xFFFFFFFE
+#define OBJID_MENU 0xFFFFFFFD
+#define OBJID_CLIENT 0xFFFFFFFC
+#define OBJID_VSCROLL 0xFFFFFFFB
+#define OBJID_HSCROLL 0xFFFFFFFA
+#define OBJID_SIZEGRIP 0xFFFFFFF9
+#define OBJID_CARET 0xFFFFFFF8
+#define OBJID_CURSOR 0xFFFFFFF7
+#define OBJID_ALERT 0xFFFFFFF6
+#define OBJID_SOUND 0xFFFFFFF5
+#define GUI_CARETBLINKING 0x00000001
+#define GUI_INMOVESIZE 0x00000002
+#define GUI_INMENUMODE 0x00000004
+#define GUI_SYSTEMMENUMODE 0x00000008
+#define GUI_POPUPMENUMODE 0x00000010
+#define WINEVENT_OUTOFCONTEXT   0x0000
+#define WINEVENT_SKIPOWNTHREAD  0x0001
+#define WINEVENT_SKIPOWNPROCESS 0x0002
+#define WINEVENT_INCONTEXT      0x0004
+#define AW_HOR_POSITIVE 0x00000001
+#define AW_HOR_NEGATIVE 0x00000002
+#define AW_VER_POSITIVE 0x00000004
+#define AW_VER_NEGATIVE 0x00000008
+#define AW_CENTER 0x00000010
+#define AW_HIDE 0x00010000
+#define AW_ACTIVATE 0x00020000
+#define AW_SLIDE 0x00040000
+#define AW_BLEND 0x00080000
+#define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000
+#define DEVICE_NOTIFY_SERVICE_HANDLE 0x00000001
+#define EVENT_MIN                       0x00000001
+#define EVENT_SYSTEM_SOUND              0x00000001
+#define EVENT_SYSTEM_ALERT              0x00000002
+#define EVENT_SYSTEM_FOREGROUND         0x00000003
+#define EVENT_SYSTEM_MENUSTART          0x00000004
+#define EVENT_SYSTEM_MENUEND            0x00000005
+#define EVENT_SYSTEM_MENUPOPUPSTART     0x00000006
+#define EVENT_SYSTEM_MENUPOPUPEND       0x00000007
+#define EVENT_SYSTEM_CAPTURESTART       0x00000008
+#define EVENT_SYSTEM_CAPTUREEND         0x00000009
+#define EVENT_SYSTEM_MOVESIZESTART      0x0000000a
+#define EVENT_SYSTEM_MOVESIZEEND        0x0000000b
+#define EVENT_SYSTEM_CONTEXTHELPSTART   0x0000000c
+#define EVENT_SYSTEM_CONTEXTHELPEND     0x0000000d
+#define EVENT_SYSTEM_DRAGDROPSTART      0x0000000e
+#define EVENT_SYSTEM_DRAGDROPEND        0x0000000f
+#define EVENT_SYSTEM_DIALOGSTART        0x00000010
+#define EVENT_SYSTEM_DIALOGEND          0x00000011
+#define EVENT_SYSTEM_SCROLLINGSTART     0x00000012
+#define EVENT_SYSTEM_SCROLLINGEND       0x00000013
+#define EVENT_SYSTEM_SWITCHSTART        0x00000014
+#define EVENT_SYSTEM_SWITCHEND          0x00000015
+#define EVENT_SYSTEM_MINIMIZESTART      0x00000016
+#define EVENT_SYSTEM_MINIMIZEEND        0x00000017
+#define EVENT_OBJECT_CREATE             0x00008000
+#define EVENT_OBJECT_DESTROY            0x00008001
+#define EVENT_OBJECT_SHOW               0x00008002
+#define EVENT_OBJECT_HIDE               0x00008003
+#define EVENT_OBJECT_REORDER            0x00008004
+#define EVENT_OBJECT_FOCUS              0x00008005
+#define EVENT_OBJECT_SELECTION          0x00008006
+#define EVENT_OBJECT_SELECTIONADD       0x00008007
+#define EVENT_OBJECT_SELECTIONREMOVE    0x00008008
+#define EVENT_OBJECT_SELECTIONWITHIN    0x00008009
+#define EVENT_OBJECT_STATECHANGE        0x0000800a
+#define EVENT_OBJECT_LOCATIONCHANGE     0x0000800b
+#define EVENT_OBJECT_NAMECHANGE         0x0000800c
+#define EVENT_OBJECT_DESCRIPTIONCHANGE  0x0000800d
+#define EVENT_OBJECT_VALUECHANGE        0x0000800e
+#define EVENT_OBJECT_PARENTCHANGE       0x0000800f
+#define EVENT_OBJECT_HELPCHANGE         0x00008010
+#define EVENT_OBJECT_DEFACTIONCHANGE    0x00008011
+#define EVENT_OBJECT_ACCELERATORCHANGE  0x00008012
+#define EVENT_MAX                       0x7fffffff
+#define LWA_COLORKEY   0x01
+#define LWA_ALPHA      0x02
+#define ULW_COLORKEY   0x01
+#define ULW_ALPHA      0x02
+#define ULW_OPAQUE     0x04
+#define GR_GDIOBJECTS 0
+#define GR_USEROBJECTS 1
+#define XBUTTON1 0x0001
+#define XBUTTON2 0x0002
+
+#ifndef RC_INVOKED
+typedef struct tagGUITHREADINFO {
+       DWORD cbSize;
+       DWORD flags;
+       HWND hwndActive;
+       HWND hwndFocus;
+       HWND hwndCapture;
+       HWND hwndMenuOwner;
+       HWND hwndMoveSize;
+       HWND hwndCaret;
+       RECT rcCaret;
+} GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO;
+typedef VOID (*WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD);
+WINUSERAPI BOOL WINAPI AnimateWindow(HWND,DWORD,DWORD);
+WINUSERAPI BOOL WINAPI EndTask(HWND,BOOL,BOOL);
+WINUSERAPI DWORD WINAPI GetGuiResources(HANDLE,DWORD);
+WINUSERAPI HWND WINAPI GetShellWindow(void);
+WINUSERAPI BOOL WINAPI GetGUIThreadInfo(DWORD,LPGUITHREADINFO);
+WINUSERAPI BOOL WINAPI GetProcessDefaultLayout(DWORD*);
+WINUSERAPI BOOL WINAPI IsHungAppWindow(HWND);
+WINUSERAPI BOOL WINAPI LockWorkStation(void);
+WINUSERAPI void WINAPI NotifyWinEvent(DWORD,HWND,LONG,LONG);
+WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationA(HANDLE,LPVOID,DWORD);
+WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE,LPVOID,DWORD);
+WINUSERAPI BOOL WINAPI SetProcessDefaultLayout(DWORD);
+WINUSERAPI HWINEVENTHOOK WINAPI SetWinEventHook(UINT,UINT,HMODULE,WINEVENTPROC,DWORD,DWORD,UINT);
+WINUSERAPI VOID WINAPI SwitchToThisWindow(HWND,BOOL);
+WINUSERAPI BOOL WINAPI UnhookWinEvent(HWINEVENTHOOK);
+WINUSERAPI BOOL WINAPI UserHandleGrantAccess(HANDLE,HANDLE,BOOL);
+WINUSERAPI BOOL WINAPI SetLayeredWindowAttributes(HWND,COLORREF,BYTE,DWORD);
+
+#ifndef NOGDI
+WINUSERAPI BOOL WINAPI UpdateLayeredWindow(HWND,HDC,POINT*,SIZE*,HDC,POINT*,COLORREF,BLENDFUNCTION*,DWORD);
+#endif /* ! NOGDI */
+
+#endif /* ! RC_INVOKED */
+
+#endif /* (_WIN32_WINNT >= 0x0500) */
+
+#if (_WIN32_WINNT >= 0x0501)
+#define BSF_LUID 0x00000400
+#define BSF_RETURNHDESK 0x00000200
+#define DC_BUTTONS     0x00001000
+#define EWX_FORCEIFHUNG 16
+#define CS_DROPSHADOW 0x20000
+#define QS_ALLEVENTS 1215
+#define QS_ALLINPUT 1279
+#define QS_INPUT 1031
+#define QS_RAWINPUT 1024
+#define HSHELL_WINDOWREPLACED 13
+#define HSHELL_WINDOWREPLACING 14
+#define SPI_GETDROPSHADOW 0x1024
+#define SPI_GETFLATMENU 0x1022
+#define SPI_GETFOCUSBORDERHEIGHT 0x2010
+#define SPI_GETFOCUSBORDERWIDTH 0x200E
+#define SPI_GETFONTSMOOTHINGCONTRAST 0x200C
+#define SPI_GETFONTSMOOTHINGTYPE 0x200A
+#define SPI_GETMOUSECLICKLOCK 0x101E
+#define SPI_GETMOUSECLICKLOCKTIME 0x2008
+#define SPI_GETMOUSESONAR 0x101C
+#define SPI_GETMOUSEVANISH 0x1020
+#define SPI_SETDROPSHADOW 0x1025
+#define SPI_SETFLATMENU 0x1023
+#define SPI_SETFOCUSBORDERHEIGHT 0x2011
+#define SPI_SETFOCUSBORDERWIDTH 0x200F
+#define SPI_SETFONTSMOOTHINGCONTRAST 0x200D
+#define SPI_SETFONTSMOOTHINGTYPE 0x200B
+#define SPI_SETMOUSECLICKLOCK 0x101F
+#define SPI_SETMOUSECLICKLOCKTIME 0x2009
+#define SPI_SETMOUSESONAR 0x101D
+#define SPI_SETMOUSEVANISH 0x1021
+#define WM_INPUT 0x00FF
+#undef WM_KEYLAST
+#define WM_KEYLAST 265
+#define WM_UNICHAR 265
+#define UNICODE_NOCHAR 0xffff
+#define WM_XBUTTONDOWN 523
+#define WM_XBUTTONUP 524
+#define WM_XBUTTONDBLCLK 525
+#undef WM_MOUSELAST
+#define WM_MOUSELAST 525
+#define CB_SETMINVISIBLE 0x1701
+#define CB_GETMINVISIBLE 0x1702
+#define ICON_SMALL2 2
+#define GUI_16BITTASK 0x00000020
+#define DEVICE_NOTIFY_ALL_INTERFACE_CLASSES 0x00000004
+#define EVENT_CONSOLE_CARET             0x00004001
+#define CONSOLE_CARET_SELECTION         0x00000001
+#define CONSOLE_CARET_VISIBLE           0x00000002
+#define EVENT_CONSOLE_UPDATE_REGION     0x00004002
+#define EVENT_CONSOLE_UPDATE_SIMPLE     0x00004003
+#define EVENT_CONSOLE_UPDATE_SCROLL     0x00004004
+#define EVENT_CONSOLE_LAYOUT            0x00004005
+#define EVENT_CONSOLE_START_APPLICATION 0x00004006
+#define CONSOLE_APPLICATION_16BIT       0x00000001
+#define EVENT_CONSOLE_END_APPLICATION   0x00004007
+#define FE_FONTSMOOTHINGSTANDARD  0x0001
+#define FE_FONTSMOOTHINGCLEARTYPE 0x0002
+#define PW_CLIENTONLY 0x00000001
+#define RIM_INPUT     0x00000000
+#define RIM_INPUTSINK 0x00000001
+#define RIM_TYPEMOUSE    0x00000000
+#define RIM_TYPEKEYBOARD 0x00000001
+#define RIM_TYPEHID      0x00000002
+#define MOUSE_MOVE_RELATIVE      0x00000000
+#define MOUSE_MOVE_ABSOLUTE      0x00000001
+#define MOUSE_VIRTUAL_DESKTOP    0x00000002
+#define MOUSE_ATTRIBUTES_CHANGED 0x00000004
+#define RI_MOUSE_LEFT_BUTTON_DOWN   0x0001
+#define RI_MOUSE_LEFT_BUTTON_UP     0x0002
+#define RI_MOUSE_RIGHT_BUTTON_DOWN  0x0004
+#define RI_MOUSE_RIGHT_BUTTON_UP    0x0008
+#define RI_MOUSE_MIDDLE_BUTTON_DOWN 0x0010
+#define RI_MOUSE_MIDDLE_BUTTON_UP   0x0020
+#define RI_MOUSE_BUTTON_1_DOWN      RI_MOUSE_LEFT_BUTTON_DOWN
+#define RI_MOUSE_BUTTON_1_UP        RI_MOUSE_LEFT_BUTTON_UP
+#define RI_MOUSE_BUTTON_2_DOWN      RI_MOUSE_RIGHT_BUTTON_DOWN
+#define RI_MOUSE_BUTTON_2_UP        RI_MOUSE_RIGHT_BUTTON_UP
+#define RI_MOUSE_BUTTON_3_DOWN      RI_MOUSE_MIDDLE_BUTTON_DOWN
+#define RI_MOUSE_BUTTON_3_UP        RI_MOUSE_MIDDLE_BUTTON_UP
+#define RI_MOUSE_BUTTON_4_DOWN      0x0040
+#define RI_MOUSE_BUTTON_4_UP        0x0080
+#define RI_MOUSE_BUTTON_5_DOWN      0x0100
+#define RI_MOUSE_BUTTON_5_UP        0x0200
+#define RI_MOUSE_WHEEL              0x0400
+#define KEYBOARD_OVERRUN_MAKE_CODE 0x00ff
+#define RI_KEY_MAKE            0x0000
+#define RI_KEY_BREAK           0x0001
+#define RI_KEY_E0              0x0002
+#define RI_KEY_E1              0x0004
+#define RI_KEY_TERMSRV_SET_LED 0x0008
+#define RI_KEY_TERMSRV_SHADOW  0x0010
+#define RID_INPUT  0x10000003
+#define RID_HEADER 0x10000005
+#define RIDI_PREPARSEDDATA 0x20000005
+#define RIDI_DEVICENAME    0x20000007
+#define RIDI_DEVICEINFO    0x2000000b
+#define RIDEV_REMOVE       0x00000001
+#define RIDEV_EXCLUDE      0x00000010
+#define RIDEV_PAGEONLY     0x00000020
+#define RIDEV_NOLEGACY     0x00000030
+#define RIDEV_INPUTSINK    0x00000100
+#define RIDEV_CAPTUREMOUSE 0x00000200
+#define RIDEV_NOHOTKEYS    0x00000200
+#define RIDEV_APPKEYS      0x00000400
+
+#ifndef RC_INVOKED
+typedef struct {
+       UINT  cbSize;
+       HDESK hdesk;
+       HWND  hwnd;
+       LUID  luid;
+} BSMINFO,*PBSMINFO;
+DECLARE_HANDLE(HRAWINPUT);
+typedef struct tagRAWINPUTHEADER {
+       DWORD dwType;
+       DWORD dwSize;
+       HANDLE hDevice;
+       WPARAM wParam;
+} RAWINPUTHEADER,*PRAWINPUTHEADER;
+typedef struct tagRAWMOUSE {
+       USHORT usFlags;
+       _ANONYMOUS_UNION union {
+               ULONG ulButtons;
+               _ANONYMOUS_STRUCT struct {
+                       USHORT usButtonFlags;
+                       USHORT usButtonData;
+               };
+       };
+       ULONG ulRawButtons;
+       LONG lLastX;
+       LONG lLastY;
+       ULONG ulExtraInformation;
+} RAWMOUSE,*PRAWMOUSE,*LPRAWMOUSE;
+typedef struct tagRAWKEYBOARD {
+       USHORT MakeCode;
+       USHORT Flags;
+       USHORT Reserved;
+       USHORT VKey;
+       UINT Message;
+       ULONG ExtraInformation;
+} RAWKEYBOARD,*PRAWKEYBOARD,*LPRAWKEYBOARD;
+typedef struct tagRAWHID {
+       DWORD dwSizeHid;
+       DWORD dwCount;
+       BYTE bRawData;
+} RAWHID,*PRAWHID,*LPRAWHID;
+typedef struct tagRAWINPUT {
+       RAWINPUTHEADER header;
+       union {
+               RAWMOUSE    mouse;
+               RAWKEYBOARD keyboard;
+               RAWHID      hid;
+       } data;
+} RAWINPUT,*PRAWINPUT,*LPRAWINPUT;
+typedef struct tagRAWINPUTDEVICE {
+       USHORT usUsagePage;
+       USHORT usUsage;
+       DWORD dwFlags;
+       HWND hwndTarget;
+} RAWINPUTDEVICE,*PRAWINPUTDEVICE,*LPRAWINPUTDEVICE;
+typedef const RAWINPUTDEVICE *PCRAWINPUTDEVICE;
+typedef struct tagRAWINPUTDEVICELIST {
+       HANDLE hDevice;
+       DWORD dwType;
+} RAWINPUTDEVICELIST,*PRAWINPUTDEVICELIST;
+typedef struct tagRID_DEVICE_INFO_MOUSE {
+       DWORD dwId;
+       DWORD dwNumberOfButtons;
+       DWORD dwSampleRate;
+       BOOL fHasHorizontalWheel;
+} RID_DEVICE_INFO_MOUSE, *PRID_DEVICE_INFO_MOUSE;
+typedef struct tagRID_DEVICE_INFO_KEYBOARD {
+       DWORD dwType;
+       DWORD dwSubType;
+       DWORD dwKeyboardMode;
+       DWORD dwNumberOfFunctionKeys;
+       DWORD dwNumberOfIndicators;
+       DWORD dwNumberOfKeysTotal;
+} RID_DEVICE_INFO_KEYBOARD, *PRID_DEVICE_INFO_KEYBOARD;
+typedef struct tagRID_DEVICE_INFO_HID {
+       DWORD dwVendorId;
+       DWORD dwProductId;
+       DWORD dwVersionNumber;
+       USHORT usUsagePage;
+       USHORT usUsage;
+} RID_DEVICE_INFO_HID, *PRID_DEVICE_INFO_HID;
+typedef struct tagRID_DEVICE_INFO { 
+       DWORD    cbSize; 
+       DWORD    dwType; 
+       _ANONYMOUS_UNION union { 
+               RID_DEVICE_INFO_MOUSE     mouse; 
+               RID_DEVICE_INFO_KEYBOARD  keyboard; 
+               RID_DEVICE_INFO_HID       hid; 
+       } DUMMYUNIONNAME;
+} RID_DEVICE_INFO, *PRID_DEVICE_INFO, *LPRID_DEVICE_INFO;
+WINUSERAPI long WINAPI BroadcastSystemMessageExA(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO);
+WINUSERAPI long WINAPI BroadcastSystemMessageExW(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO);
+WINUSERAPI LRESULT WINAPI DefRawInputProc(PRAWINPUT*,INT,UINT);
+WINUSERAPI UINT WINAPI GetRawInputBuffer(PRAWINPUT,PUINT,UINT);
+WINUSERAPI UINT WINAPI GetRawInputData(HRAWINPUT,UINT,LPVOID,PUINT,UINT);
+WINUSERAPI UINT WINAPI GetRawInputDeviceInfoA(HANDLE,UINT,LPVOID,PUINT);
+WINUSERAPI UINT WINAPI GetRawInputDeviceInfoW(HANDLE,UINT,LPVOID,PUINT);
+WINUSERAPI UINT WINAPI GetRawInputDeviceList(PRAWINPUTDEVICELIST,PUINT,UINT);
+WINUSERAPI UINT WINAPI GetRegisteredRawInputDevices(PRAWINPUTDEVICE,PUINT,UINT);
+WINUSERAPI BOOL WINAPI IsGUIThread(BOOL);
+WINUSERAPI BOOL WINAPI IsWinEventHookInstalled(DWORD);
+WINUSERAPI BOOL WINAPI PrintWindow(HWND,HDC,UINT);
+WINUSERAPI BOOL WINAPI RegisterRawInputDevices(PCRAWINPUTDEVICE,UINT,UINT);
+WINUSERAPI BOOL WINAPI GetLayeredWindowAttributes(HWND,COLORREF*,BYTE*,DWORD*);
+#endif /* ! RC_INVOKED */
+
+#else
+
+#define QS_ALLEVENTS 191
+#define QS_ALLINPUT 255
+#define QS_INPUT 7
+#endif /* (_WIN32_WINNT >= 0x0501) */
+
+#if (_WIN32_WINNT >= 0x0600)
+#define PBT_POWERSETTINGCHANGE 32787
+
+#ifndef RC_INVOKED
+typedef HANDLE HPOWERNOTIFY;
+
+typedef struct {
+       GUID PowerSetting;
+       DWORD DataLength;
+       UCHAR Data[1];
+} POWERBROADCAST_SETTING, *PPOWERBROADCAST_SETTING;
+
+extern const GUID GUID_POWERSCHEME_PERSONALITY;
+extern const GUID GUID_MIN_POWER_SAVINGS;
+extern const GUID GUID_MAX_POWER_SAVINGS;
+extern const GUID GUID_TYPICAL_POWER_SAVINGS;
+extern const GUID GUID_ACDC_POWER_SOURCE;
+extern const GUID GUID_BATTERY_PERCENTAGE_REMAINING;
+extern const GUID GUID_IDLE_BACKGROUND_TASK;
+extern const GUID GUID_SYSTEM_AWAYMODE;
+extern const GUID GUID_MONITOR_POWER_ON;
+WINUSERAPI HPOWERNOTIFY WINAPI RegisterPowerSettingNotification(HANDLE,LPCGUID,DWORD);
+WINUSERAPI BOOL WINAPI UnregisterPowerSettingNotification(HPOWERNOTIFY);
+#endif /* ! RC_INVOKED */
+       
+#endif /* (_WIN32_WINNT >= 0x0600) */
+
+#if (_WIN32_WINNT >= 0x0601)
+#define WM_TOUCHMOVE 576
+#define WM_TOUCHDOWN 577
+#define WM_TOUCHUP 578
+#define TOUCHEVENTF_DOWN           0x0001
+#define TOUCHEVENTF_INRANGE        0x0008
+#define TOUCHEVENTF_MOVE           0x0002
+#define TOUCHEVENTF_NOCOALESCE 0x0020
+#define TOUCHEVENTF_PALM           0x0080
+#define TOUCHEVENTF_PEN                0x0040
+#define TOUCHEVENTF_PRIMARY        0x0010
+#define TOUCHEVENTF_UP         0x0004
+#define TOUCHEVENTMASKF_CONTACTAREA        0x0004
+#define TOUCHEVENTMASKF_EXTRAINFO          0x0002
+#define TOUCHEVENTMASKF_TIMEFROMSYSTEM 0x0001
+
+#ifndef RC_INVOKED
+typedef struct _TOUCHINPUT {
+  LONG x;
+  LONG y;
+  HANDLE hSource;
+  DWORD dwID;
+  DWORD dwFlags;
+  DWORD dwMask;
+  DWORD dwTime;
+  ULONG_PTR dwExtraInfo;
+  DWORD cxContact;
+  DWORD cyContact;
+} TOUCHINPUT, 
+ *PTOUCHINPUT;
+BOOL WINAPI CloseTouchInputHandle(HANDLE hTouchInput);
+BOOL WINAPI GetTouchInputInfo(HANDLE hTouchInput, UINT cInputs, PTOUCHINPUT pInputs, int cbSize);
+BOOL WINAPI IsTouchWindow(HWND hWnd, PULONG pulFlags);
+BOOL WINAPI RegisterTouchWindow(HWND hWnd, ULONG ulFlags);
+BOOL WINAPI UnregisterTouchWindow(HWND hWnd);
+#endif /* ! RC_INVOKED */
+
+#endif /* (_WIN32_WINNT >= 0x0601) */
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif
index 953c19d..2a9a740 100644 (file)
 #ifndef _WINVER_H
 #define _WINVER_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
+
 #define VS_FILE_INFO RT_VERSION
 #define VS_VERSION_INFO 1
 #define VS_USER_DEFINED 100
@@ -102,6 +104,7 @@ extern "C" {
 #define VIF_CANNOTREADSRC  65536
 #define VIF_CANNOTREADDST 0x20000
 #define VIF_BUFFTOOSMALL 0x40000
+
 #ifndef RC_INVOKED
 typedef struct tagVS_FIXEDFILEINFO {
        DWORD dwSignature;
@@ -130,25 +133,18 @@ DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
 DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
 BOOL WINAPI VerQueryValueA(LPCVOID,LPCSTR,LPVOID*,PUINT);
 BOOL WINAPI VerQueryValueW(LPCVOID,LPCWSTR,LPVOID*,PUINT);
-#ifdef UNICODE
-#define VerFindFile VerFindFileW
-#define VerQueryValue VerQueryValueW
-#define VerInstallFile VerInstallFileW
-#define GetFileVersionInfoSize GetFileVersionInfoSizeW
-#define GetFileVersionInfo GetFileVersionInfoW
-#define VerLanguageName VerLanguageNameW
-#define VerQueryValue VerQueryValueW
-#else
-#define VerQueryValue VerQueryValueA
-#define VerFindFile VerFindFileA
-#define VerInstallFile VerInstallFileA
-#define GetFileVersionInfoSize GetFileVersionInfoSizeA
-#define GetFileVersionInfo GetFileVersionInfoA
-#define VerLanguageName VerLanguageNameA
-#define VerQueryValue VerQueryValueA
-#endif
-#endif
+
+#define VerFindFile __AW(VerFindFile)
+#define VerQueryValue __AW(VerQueryValue)
+#define VerInstallFile __AW(VerInstallFile)
+#define GetFileVersionInfoSize __AW(GetFileVersionInfoSize)
+#define GetFileVersionInfo __AW(GetFileVersionInfo)
+#define VerLanguageName __AW(VerLanguageName)
+#define VerQueryValue __AW(VerQueryValue)
+#endif /* ! RC_INVOKED */
+
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 03f06e7..3e9399b 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WS2SPI_H
 #define _WS2SPI_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <winsock2.h>
 
@@ -203,4 +204,5 @@ INT WSPAPI WSCWriteProviderOrder(LPDWORD,DWORD);
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
+
 #endif
index 4b3f97e..9cf09f0 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WS2TCPIP_H
 #define _WS2TCPIP_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 /*
  * TCP/IP specific extensions in Windows Sockets 2
@@ -38,6 +39,7 @@
 #endif
 
 #include <winsock2.h>
+
 #ifdef  __cplusplus
 extern "C" {
 #endif
@@ -315,16 +317,6 @@ struct addrinfo {
        struct addrinfo  *ai_next;
 };
 
-#if (_WIN32_WINNT >= 0x0501)
-void WSAAPI freeaddrinfo (struct addrinfo*);
-int WSAAPI getaddrinfo (const char*,const char*,const struct addrinfo*,
-                       struct addrinfo**);
-int WSAAPI getnameinfo(const struct sockaddr*,socklen_t,char*,DWORD,
-                      char*,DWORD,int);
-#else
-/* FIXME: Need WS protocol-independent API helpers.  */
-#endif
-
 static __inline char*
 gai_strerrorA(int ecode)
 {
@@ -347,11 +339,8 @@ gai_strerrorW(int ecode)
        FormatMessageW(dwFlags, NULL, ecode, dwLanguageId, (LPWSTR)message, 1024, NULL);
        return message;
 }
-#ifdef UNICODE
-#define gai_strerror gai_strerrorW
-#else
-#define gai_strerror gai_strerrorA
-#endif
+
+#define gai_strerror __AW(gai_strerror)
 
 /* Some older IPv4/IPv6 compatibility stuff */
 
@@ -394,7 +383,19 @@ typedef struct _OLD_INTERFACE_INFO {
 } OLD_INTERFACE_INFO;
 */
 
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
+/**
+ * For WIN2K the user includes wspiapi.h for these functions.
+ */
+void WSAAPI freeaddrinfo (struct addrinfo*);
+int WSAAPI getaddrinfo (const char*,const char*,const struct addrinfo*,
+                       struct addrinfo**);
+int WSAAPI getnameinfo(const struct sockaddr*,socklen_t,char*,DWORD,
+                      char*,DWORD,int);
+#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */
+
 #ifdef  __cplusplus
 }
 #endif
+
 #endif
index 051b39c..956b2ca 100644 (file)
 #ifndef _WSAHELP_H
 #define _WSAHELP_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <winsock2.h>
 #include <ntsecapi.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
index a79165b..3c8493b 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WSIPX_H
 #define _WSIPX_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -43,4 +44,5 @@ typedef struct sockaddr_ipx {
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index 4b90baf..81a1a7a 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WSNETBS_H
 #define _WSNETBS_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #define NETBIOS_NAME_LENGTH    16
 #define NETBIOS_UNIQUE_NAME    0
@@ -53,4 +54,5 @@ typedef struct sockaddr_nb {
        _s->snb_name[NETBIOS_NAME_LENGTH-1] = (_port); \
 }
 #endif   /* RC_INVOKED */
+
 #endif
index ed4f7a3..e29a682 100644 (file)
 #ifndef _WTSAPI32_H
 #define _WTSAPI32_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#if (_WIN32_WINNT >= 0x0501)
-  // session notification message
-#define WM_WTSSESSION_CHANGE           0x02B1
-
-typedef enum _WTS_INFO_CLASS {
-  WTSInitialProgram       = 0,
-  WTSApplicationName      = 1,
-  WTSWorkingDirectory     = 2,
-  WTSOEMId                = 3,
-  WTSSessionId            = 4,
-  WTSUserName             = 5,
-  WTSWinStationName       = 6,
-  WTSDomainName           = 7,
-  WTSConnectState         = 8,
-  WTSClientBuildNumber    = 9,
-  WTSClientName           = 10,
-  WTSClientDirectory      = 11,
-  WTSClientProductId      = 12,
-  WTSClientHardwareId     = 13,
-  WTSClientAddress        = 14,
-  WTSClientDisplay        = 15,
-  WTSClientProtocolType   = 16,
-  WTSIdleTime             = 17,
-  WTSLogonTime            = 18,
-  WTSIncomingBytes        = 19,
-  WTSOutgoingBytes        = 20,
-  WTSIncomingFrames       = 21,
-  WTSOutgoingFrames       = 22,
-  WTSClientInfo           = 23,
-  WTSSessionInfo          = 24
-} WTS_INFO_CLASS;
-
-typedef enum _WTS_CONNECTSTATE_CLASS {
-  WTSActive,
-  WTSConnected,
-  WTSConnectQuery,
-  WTSShadow,
-  WTSDisconnected,
-  WTSIdle,
-  WTSListen,
-  WTSReset,
-  WTSDown,
-  WTSInit 
-} WTS_CONNECTSTATE_CLASS;
-
-  // session notification message flags
-#define WTS_CONSOLE_CONNECT                    0x1
-#define WTS_CONSOLE_DISCONNECT         0x2
-#define WTS_REMOTE_CONNECT                     0x3
-#define WTS_REMOTE_DISCONNECT          0x4
-#define WTS_SESSION_LOGON                      0x5
-#define WTS_SESSION_LOGOFF                     0x6
-#define WTS_SESSION_LOCK                       0x7
-#define WTS_SESSION_UNLOCK                     0x8
-#define WTS_SESSION_REMOTE_CONTROL     0x9
-
-  // WTSRegisterSessionNotifiction flags
-#define NOTIFY_FOR_THIS_SESSION                0
-#define NOTIFY_FOR_ALL_SESSIONS                1
-
-BOOL WINAPI WTSRegisterSessionNotification(HWND hWnd, DWORD dwFlags);
-BOOL WINAPI WTSUnRegisterSessionNotification(HWND hWnd);
-BOOL WINAPI WTSQueryUserToken(ULONG SessionId, PHANDLE pToken);
-
-#endif /* _WIN32_WINNT >= 0x0501 */
-
 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
-
 typedef struct _WTS_SESSION_INFOW {
   DWORD SessionId;
   LPWSTR pWinStationName;
@@ -109,13 +43,8 @@ typedef struct _WTS_SESSION_INFOA {
   WTS_CONNECTSTATE_CLASS State;
 } WTS_SESSION_INFOA, *PWTS_SESSION_INFOA;
 
-#ifdef UNICODE
-#define WTS_SESSION_INFO       WTS_SESSION_INFOW
-#define PWTS_SESSION_INFO      PWTS_SESSION_INFOW
-#else
-#define WTS_SESSION_INFO       WTS_SESSION_INFOA
-#define PWTS_SESSION_INFO      PWTS_SESSION_INFOA
-#endif
+#define WTS_SESSION_INFO       __AW(WTS_SESSION_INFO)
+#define PWTS_SESSION_INFO      __AW(PWTS_SESSION_INFO)
 
   // WTSWaitSystemEvent local server handle
 #define WTS_CURRENT_SERVER_HANDLE 0
@@ -149,13 +78,8 @@ BOOL WINAPI WTSEnumerateSessionsA(HANDLE hServer, DWORD Reserved, DWORD Version,
                                  PDWORD pCount);
 void WINAPI WTSFreeMemory(PVOID pMemory);
 
-#ifdef UNICODE
-#define WTSEnumerateSessions WTSEnumerateSessionsW
-#define WTSQuerySessionInformation WTSQuerySessionInformationW
-#else
-#define WTSEnumerateSessions WTSEnumerateSessionsA
-#define WTSQuerySessionInformation WTSQuerySessionInformationA
-#endif
+#define WTSEnumerateSessions __AW(WTSEnumerateSessions)
+#define WTSQuerySessionInformation __AW(WTSQuerySessionInformation)
 
 BOOL WTSSendMessageA(
   HANDLE hServer,
@@ -183,11 +107,7 @@ BOOL WTSSendMessageW(
   BOOL bWait
 );
 
-#ifdef UNICODE
-#define WTSSendMessage WTSSendMessageW
-#else
-#define WTSSendMessage WTSSendMessageA
-#endif
+#define WTSSendMessage __AW(WTSSendMessage)
 
 BOOL WTSVirtualChannelClose(
   __in  HANDLE hChannelHandle
@@ -199,14 +119,6 @@ HANDLE WTSVirtualChannelOpen(
   __in  LPSTR pVirtualName
 );
 
-#if _WIN32_WINNT >= _WIN32_WINNT_VISTA
-HANDLE WTSVirtualChannelOpenEx(
-  __in  DWORD SessionId,
-  __in  LPSTR pVirtualName,
-  __in  DWORD flags
-);
-#endif
-
 BOOL WTSVirtualChannelPurgeInput(
   __in  HANDLE hChannelHandle
 );
@@ -215,15 +127,6 @@ BOOL WTSVirtualChannelPurgeOutput(
   __in  HANDLE hChannelHandle
 );
 
-#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
-BOOL WTSVirtualChannelQuery(
-  __in   HANDLE hChannelHandle,
-  __in   WTS_VIRTUAL_CLASS WtsVirtualClass,
-  __out  PVOID *ppBuffer,
-  __out  DWORD *pBytesReturned
-);
-#endif
-
 BOOL WTSVirtualChannelRead(
   __in   HANDLE hChannelHandle,
   __in   ULONG TimeOut,
@@ -238,8 +141,87 @@ BOOL WTSVirtualChannelWrite(
   __in   ULONG Length,
   __out  PULONG pBytesWritten
 );
+#endif /* _WIN32_WINNT >= _WIN32_WINNT_WIN2K */
+
+#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
+  // session notification message
+#define WM_WTSSESSION_CHANGE           0x02B1
+
+typedef enum _WTS_INFO_CLASS {
+  WTSInitialProgram       = 0,
+  WTSApplicationName      = 1,
+  WTSWorkingDirectory     = 2,
+  WTSOEMId                = 3,
+  WTSSessionId            = 4,
+  WTSUserName             = 5,
+  WTSWinStationName       = 6,
+  WTSDomainName           = 7,
+  WTSConnectState         = 8,
+  WTSClientBuildNumber    = 9,
+  WTSClientName           = 10,
+  WTSClientDirectory      = 11,
+  WTSClientProductId      = 12,
+  WTSClientHardwareId     = 13,
+  WTSClientAddress        = 14,
+  WTSClientDisplay        = 15,
+  WTSClientProtocolType   = 16,
+  WTSIdleTime             = 17,
+  WTSLogonTime            = 18,
+  WTSIncomingBytes        = 19,
+  WTSOutgoingBytes        = 20,
+  WTSIncomingFrames       = 21,
+  WTSOutgoingFrames       = 22,
+  WTSClientInfo           = 23,
+  WTSSessionInfo          = 24
+} WTS_INFO_CLASS;
+
+typedef enum _WTS_CONNECTSTATE_CLASS {
+  WTSActive,
+  WTSConnected,
+  WTSConnectQuery,
+  WTSShadow,
+  WTSDisconnected,
+  WTSIdle,
+  WTSListen,
+  WTSReset,
+  WTSDown,
+  WTSInit 
+} WTS_CONNECTSTATE_CLASS;
+
+  // session notification message flags
+#define WTS_CONSOLE_CONNECT                    0x1
+#define WTS_CONSOLE_DISCONNECT         0x2
+#define WTS_REMOTE_CONNECT                     0x3
+#define WTS_REMOTE_DISCONNECT          0x4
+#define WTS_SESSION_LOGON                      0x5
+#define WTS_SESSION_LOGOFF                     0x6
+#define WTS_SESSION_LOCK                       0x7
+#define WTS_SESSION_UNLOCK                     0x8
+#define WTS_SESSION_REMOTE_CONTROL     0x9
+
+  // WTSRegisterSessionNotifiction flags
+#define NOTIFY_FOR_THIS_SESSION                0
+#define NOTIFY_FOR_ALL_SESSIONS                1
+
+BOOL WINAPI WTSRegisterSessionNotification(HWND hWnd, DWORD dwFlags);
+BOOL WINAPI WTSUnRegisterSessionNotification(HWND hWnd);
+BOOL WINAPI WTSQueryUserToken(ULONG SessionId, PHANDLE pToken);
+
+BOOL WTSVirtualChannelQuery(
+  __in   HANDLE hChannelHandle,
+  __in   WTS_VIRTUAL_CLASS WtsVirtualClass,
+  __out  PVOID *ppBuffer,
+  __out  DWORD *pBytesReturned
+);
+#endif /* _WIN32_WINNT >= _WIN32_WINNT_WINXP */
 
-#endif /* _WIN32_WINNT >= 0x0500 */
+#if _WIN32_WINNT >= _WIN32_WINNT_VISTA
+HANDLE WTSVirtualChannelOpenEx(
+  __in  DWORD SessionId,
+  __in  LPSTR pVirtualName,
+  __in  DWORD flags
+);
+#endif
 
 #ifdef __cplusplus
 }
index 37b4fff..50f2d74 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _WTYPES_H
 #define _WTYPES_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 #include <rpc.h>
 #include <rpcndr.h>
@@ -45,6 +46,7 @@ typedef struct _BLOB {
        BYTE    *pBlobData;
 } BLOB,*PBLOB,*LPBLOB;
 #endif
+
 typedef enum tagDVASPECT {
        DVASPECT_CONTENT=1,
        DVASPECT_THUMBNAIL=2,
@@ -93,11 +95,13 @@ typedef LPWSTR LPOLESTR;
 typedef LPCWSTR LPCOLESTR;
 #define OLESTR(s) L##s
 #else
+
 typedef char OLECHAR;
 typedef LPSTR LPOLESTR;
 typedef LPCSTR LPCOLESTR;
 #define OLESTR(s) s
 #endif
+
 typedef unsigned short VARTYPE;
 typedef short VARIANT_BOOL;
 typedef VARIANT_BOOL _VARIANT_BOOL;
@@ -180,13 +184,18 @@ typedef struct tagDEC {
 } DECIMAL;
 typedef DECIMAL *LPDECIMAL;
 #define DECIMAL_NEG ((BYTE)0x80)
+
 #ifdef NONAMELESSUNION
 #define DECIMAL_SETZERO(d) {(d).DUMMYUNIONNAME2.Lo64=(d).Hi32=(d).DUMMYUNIONNAME.signscale=0;}
 #else
+
 #define DECIMAL_SETZERO(d) {(d).Lo64=(d).Hi32=(d).signscale=0;}
 #endif
+
 typedef void *HMETAFILEPICT;
+
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index ff8999b..7ff2433 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _XPTRDEFS_H
 #define _XPTRDEFS_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 /*--- DirectShow Reference - DirectShow Structures - TIMECODE_SAMPLE Structure */
 #define ED_DEVCAP_ATN_READ 0x13B7
index 8de5b6f..cef94e6 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef _ZMOUSE_H
 #define _ZMOUSE_H
 #pragma GCC system_header
+#include <_mingw.h>
 
 /*
  * FIXME: This file is obviously horribly incomplete!