Mercurial Patch Queue for Windows System Libraries
修訂. | e77cb33f187d5ad50a65a3d89ee9485d926347bc |
---|---|
大小 | 11,939 bytes |
時間 | 2019-04-02 03:25:55 |
作者 | Keith Marshall |
Log Message | Handle w32api directory rename for 6.0-exp bookmark. |
# HG changeset patch
# Parent ce13fa508ad8b1dbe37ab1da73c9eca93ec8e55c
Add version identification macros for Windows-10.
diff --git a/wslapi/include/sdkddkver.h b/wslapi/include/sdkddkver.h
--- a/wslapi/include/sdkddkver.h
+++ b/wslapi/include/sdkddkver.h
@@ -5,11 +5,11 @@
* support for a user specified host OS version, (default Win2K).
*
* $Id$
*
* Written by Earnie Boyd <earnie@users.sourceforge.net>
- * Copyright (C) 2012, 2013, 2015, MinGW.org Project
+ * Copyright (C) 2012, 2013, 2015, 2019, MinGW.org Project
*
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
@@ -36,115 +36,122 @@
/* Define masks for extracting version components from NTDDI_VERSION;
* values and names are guessed based on comments in the documentation; see
* http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
*/
-#define OSVERSION_MASK 0xFFFF0000
-#define SPVERSION_MASK 0x0000FF00
-#define SUBVERSION_MASK 0x000000FF
-
+#define OSVERSION_MASK 0xFFFF0000
+#define SPVERSION_MASK 0x0000FF00
+#define SUBVERSION_MASK 0x000000FF
+
/* Macros to facilitate such extraction; derived from comments on MSDN or
* on social.microsoft.com
*/
-#define OSVER(ver) ((ver) & OSVERSION_MASK)
-#define SPVER(ver) (((ver) & SPVERSION_MASK) >> 8)
-#define SUBVER(ver) ((ver) & SUBVERSION_MASK)
-#define WINNTVER(ver) ((ver) >> 16)
+#define OSVER(ver) ((ver) & OSVERSION_MASK)
+#define SPVER(ver) (((ver) & SPVERSION_MASK) >> 8)
+#define SUBVER(ver) ((ver) & SUBVERSION_MASK)
+#define WINNTVER(ver) ((ver) >> 16)
/* Macros to construct a minimal NTDDI_VERSION from a _WIN32_WINNT value.
*/
#define NTDDI_VERSION_FROM_WIN32_WINNT(ver) _NTDDI_VERSION_FROM_WIN32_WINNT(ver)
#define _NTDDI_VERSION_FROM_WIN32_WINNT(ver) ver##0000
/* Version constants specifying _WIN32_WINNT versions; these are defined at
* http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
* (values for legacy platforms have been inferred from historical knowledge).
*/
-#define _WIN32_WINNT_NT4 0x0400 /* Windows NT4 */
-#define _WIN32_WINNT_NT4E 0x0401 /* Windows NT4E */
-#define _WIN32_WINNT_NT4SP3 0x0403 /* Windows NT4 + ServicePack 3 */
-#define _WIN32_WINDOWS_95 0x0400 /* Windows 95 */
-#define _WIN32_WINDOWS_98 0x0410 /* Windows 98 */
-#define _WIN32_WINDOWS_ME 0x0490 /* Windows Millenium Edition */
-#define _WIN32_WINNT_WIN2K 0x0500 /* Windows 2000 */
-#define _WIN32_WINNT_WINXP 0x0501 /* Windows XP */
-#define _WIN32_WINNT_WS03 0x0502 /* Windows Server 2003 */
-#define _WIN32_WINNT_WIN6 0x0600 /* Alias for Windows Vista */
-#define _WIN32_WINNT_VISTA 0x0600 /* Windows Vista */
-#define _WIN32_WINNT_WS08 0x0600 /* Windows Server 2008 */
-#define _WIN32_WINNT_LONGHORN 0x0600 /* Alias for Windows Vista */
-#define _WIN32_WINNT_WIN7 0x0601 /* Windows 7 */
-#define _WIN32_WINNT_WIN8 0x0602 /* Windows 8 */
-#define _WIN32_WINNT_WINBLUE 0x0603 /* Windows 8.1 */
+#define _WIN32_WINNT_NT4 0x0400 /* Windows NT4 */
+#define _WIN32_WINNT_NT4E 0x0401 /* Windows NT4E */
+#define _WIN32_WINNT_NT4SP3 0x0403 /* Windows NT4 + ServicePack 3 */
+#define _WIN32_WINDOWS_95 0x0400 /* Windows 95 */
+#define _WIN32_WINDOWS_98 0x0410 /* Windows 98 */
+#define _WIN32_WINDOWS_ME 0x0490 /* Windows Millenium Edition */
+#define _WIN32_WINNT_WIN2K 0x0500 /* Windows 2000 */
+#define _WIN32_WINNT_WINXP 0x0501 /* Windows XP */
+#define _WIN32_WINNT_WS03 0x0502 /* Windows Server 2003 */
+#define _WIN32_WINNT_WIN6 0x0600 /* Alias for Windows Vista */
+#define _WIN32_WINNT_VISTA 0x0600 /* Windows Vista */
+#define _WIN32_WINNT_WS08 0x0600 /* Windows Server 2008 */
+#define _WIN32_WINNT_LONGHORN 0x0600 /* Alias for Windows Vista */
+#define _WIN32_WINNT_WIN7 0x0601 /* Windows 7 */
+#define _WIN32_WINNT_WIN8 0x0602 /* Windows 8 */
+#define _WIN32_WINNT_WINBLUE 0x0603 /* Windows 8.1 */
+#define _WIN32_WINNT_WINTHRESHOLD 0x0A00 /* Alias for Windows 10 */
+#define _WIN32_WINNT_WIN10 0x0A00 /* Windows 10 */
/* Version constants specifying Internet Explorer versions; also defined at
* http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
*/
-#define _WIN32_IE_IE50 0x0500
-#define _WIN32_IE_IE501 0x0501
-#define _WIN32_IE_IE55 0x0550
-#define _WIN32_IE_IE56 0x0560
-#define _WIN32_IE_IE60 0x0600
-#define _WIN32_IE_IE60SP1 0x0601
-#define _WIN32_IE_IE60SP2 0x0603
-#define _WIN32_IE_IE70 0x0700
-#define _WIN32_IE_IE80 0x0800
+#define _WIN32_IE_IE50 0x0500 /* Internet Explorer 5.0 */
+#define _WIN32_IE_IE501 0x0501 /* Internet Explorer 5.01 */
+#define _WIN32_IE_IE55 0x0550 /* Internet Explorer 5.5 */
+#define _WIN32_IE_IE56 0x0560 /* Internet Explorer 5.6 */
+#define _WIN32_IE_IE60 0x0600 /* Internet Explorer 6.0 */
+#define _WIN32_IE_IE60SP1 0x0601 /* Internet Explorer 6.0-SP1 */
+#define _WIN32_IE_IE60SP2 0x0603 /* Internet Explorer 6.0-SP2 */
+#define _WIN32_IE_IE70 0x0700 /* Internet Explorer 7.0 */
+#define _WIN32_IE_IE80 0x0800 /* Internet Explorer 8.0 */
+#define _WIN32_IE_IE90 0x0900 /* Internet Explorer 9.0 */
+#define _WIN32_IE_IE100 0x0A00 /* Internet Explorer 10.0 */
-#define _WIN32_IE_IE30 0x0300
-#define _WIN32_IE_IE301 0x0301
-#define _WIN32_IE_IE302 0x0302
-#define _WIN32_IE_IE40 0x0400
-#define _WIN32_IE_IE401 0x0401
+#define _WIN32_IE_IE30 0x0300 /* Internet Explorer 3.0 */
+#define _WIN32_IE_IE301 0x0301 /* Internet Explorer 3.01 */
+#define _WIN32_IE_IE302 0x0302 /* Internet Explorer 3.02 */
+#define _WIN32_IE_IE40 0x0400 /* Internet Explorer 4.0 */
+#define _WIN32_IE_IE401 0x0401 /* Internet Explorer 4.01 */
/* Version constants specifying NTDDI_VERSION; these are also defined at
* http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
*/
-#define __NTDDI_WIN5 0x05000000
-#define __NTDDI_WIN51 0x05010000
-#define __NTDDI_WIN52 0x05020000
-#define __NTDDI_WIN6 0x06000000
-#define __NTDDI_WIN61 0x06010000
-#define __NTDDI_WIN62 0x06020000
-#define __NTDDI_WIN63 0x06030000
-#define __NTDDI_SP0 0x00000000
-#define __NTDDI_SP1 0x00000100
-#define __NTDDI_SP2 0x00000200
-#define __NTDDI_SP3 0x00000300
-#define __NTDDI_SP4 0x00000400
+#define __NTDDI_WIN5 0x05000000
+#define __NTDDI_WIN51 0x05010000
+#define __NTDDI_WIN52 0x05020000
+#define __NTDDI_WIN6 0x06000000
+#define __NTDDI_WIN61 0x06010000
+#define __NTDDI_WIN62 0x06020000
+#define __NTDDI_WIN63 0x06030000
+#define __NTDDI_WIN100 0x0A000000
+#define __NTDDI_SP0 0x00000000
+#define __NTDDI_SP1 0x00000100
+#define __NTDDI_SP2 0x00000200
+#define __NTDDI_SP3 0x00000300
+#define __NTDDI_SP4 0x00000400
-#define NTDDI_WIN2K __NTDDI_WIN5 + __NTDDI_SP0
-#define NTDDI_WIN2KSP1 __NTDDI_WIN5 + __NTDDI_SP1
-#define NTDDI_WIN2KSP2 __NTDDI_WIN5 + __NTDDI_SP2
-#define NTDDI_WIN2KSP3 __NTDDI_WIN5 + __NTDDI_SP3
-#define NTDDI_WIN2KSP4 __NTDDI_WIN5 + __NTDDI_SP4
+#define NTDDI_WIN2K __NTDDI_WIN5 + __NTDDI_SP0
+#define NTDDI_WIN2KSP1 __NTDDI_WIN5 + __NTDDI_SP1
+#define NTDDI_WIN2KSP2 __NTDDI_WIN5 + __NTDDI_SP2
+#define NTDDI_WIN2KSP3 __NTDDI_WIN5 + __NTDDI_SP3
+#define NTDDI_WIN2KSP4 __NTDDI_WIN5 + __NTDDI_SP4
-#define NTDDI_WINXP __NTDDI_WIN51 + __NTDDI_SP0
-#define NTDDI_WINXPSP1 __NTDDI_WIN51 + __NTDDI_SP1
-#define NTDDI_WINXPSP2 __NTDDI_WIN51 + __NTDDI_SP2
-#define NTDDI_WINXPSP3 __NTDDI_WIN51 + __NTDDI_SP3
+#define NTDDI_WINXP __NTDDI_WIN51 + __NTDDI_SP0
+#define NTDDI_WINXPSP1 __NTDDI_WIN51 + __NTDDI_SP1
+#define NTDDI_WINXPSP2 __NTDDI_WIN51 + __NTDDI_SP2
+#define NTDDI_WINXPSP3 __NTDDI_WIN51 + __NTDDI_SP3
-#define NTDDI_WS03 __NTDDI_WIN52 + __NTDDI_SP0
-#define NTDDI_WS03SP1 __NTDDI_WIN52 + __NTDDI_SP1
-#define NTDDI_WS03SP2 __NTDDI_WIN52 + __NTDDI_SP2
+#define NTDDI_WS03 __NTDDI_WIN52 + __NTDDI_SP0
+#define NTDDI_WS03SP1 __NTDDI_WIN52 + __NTDDI_SP1
+#define NTDDI_WS03SP2 __NTDDI_WIN52 + __NTDDI_SP2
-#define NTDDI_VISTA __NTDDI_WIN6 + __NTDDI_SP0
-#define NTDDI_VISTASP1 __NTDDI_WIN6 + __NTDDI_SP1
-#define NTDDI_VISTASP2 __NTDDI_WIN6 + __NTDDI_SP2
+#define NTDDI_VISTA __NTDDI_WIN6 + __NTDDI_SP0
+#define NTDDI_VISTASP1 __NTDDI_WIN6 + __NTDDI_SP1
+#define NTDDI_VISTASP2 __NTDDI_WIN6 + __NTDDI_SP2
-#define NTDDI_LONGHORN NTDDI_VISTA
+#define NTDDI_LONGHORN NTDDI_VISTA
-#define NTDDI_WIN6 NTDDI_VISTA
-#define NTDDI_WIN6SP1 NTDDI_VISTASP1
-#define NTDDI_WIN6SP2 NTDDI_VISTASP2
+#define NTDDI_WIN6 NTDDI_VISTA
+#define NTDDI_WIN6SP1 NTDDI_VISTASP1
+#define NTDDI_WIN6SP2 NTDDI_VISTASP2
-#define NTDDI_WS08 __NTDDI_WIN6 + __NTDDI_SP1
+#define NTDDI_WS08 __NTDDI_WIN6 + __NTDDI_SP1
-#define NTDDI_WIN7 __NTDDI_WIN61 + __NTDDI_SP0
+#define NTDDI_WIN7 __NTDDI_WIN61 + __NTDDI_SP0
-#define NTDDI_WIN8 __NTDDI_WIN62 + __NTDDI_SP0
+#define NTDDI_WIN8 __NTDDI_WIN62 + __NTDDI_SP0
+#define NTDDI_WINBLUE __NTDDI_WIN63 + __NTDDI_SP0
-#define NTDDI_WINBLUE __NTDDI_WIN63 + __NTDDI_SP0
+#define NTDDI_WIN10 __NTDDI_WIN100 + __NTDDI_SP0
+#define NTDDI_WINTHRESHOLD __NTDDI_WIN100 + __NTDDI_SP0
/* Although NTDDI_VERSION is now the preferred designator for the
* level of support required from the operating system, legacy code
* is likely to have specified WINVER, from which _WIN32_WINNT may
* be inferred.
@@ -223,20 +230,20 @@
* order of processor version, since GCC defines __i386__ as identification
* for the X86 processor family, in addition to any one of the other three
* macros, which may be used to identify a particular processor version.
*/
# if defined(__i686__)
-# define _M_IX86 600
+# define _M_IX86 600
# elif defined(__i586__)
-# define _M_IX86 500
+# define _M_IX86 500
# elif defined(__i486__)
-# define _M_IX86 400
+# define _M_IX86 400
# elif defined(__i386__)
-# define _M_IX86 300
+# define _M_IX86 300
# endif
#endif
/* The preceding logic may have established the host type as X86, or it
* may have done nothing at all; we must check further.
@@ -247,32 +254,32 @@
*/
# ifndef _X86_
/* ...but cross-check it anyway, in case the user may have some unusual
* compiler configuration in place.
*/
-# define _X86_ 1
+# define _X86_ 1
# endif
# ifndef _M_IX86_FP
/* MSVC defines this, to provide additional information about particular
* capabilties of the X86 host environment; specifically...
*/
# ifdef __SSE2__
/* ...this indicates that the SSE2 instruction set (or better) may be
* assumed to be supported...
*/
-# define _M_IX86_FP 2
+# define _M_IX86_FP 2
# elif defined(__SSE__)
/* ...whereas, this promises only basic SSE instruction set support...
*/
-# define _M_IX86_FP 1
+# define _M_IX86_FP 1
# else
/* ...and this disallows its use, entirely.
*/
-# define _M_IX86_FP 0
+# define _M_IX86_FP 0
# endif
# endif
/* When not compiling for an X86 host; check mapping from other possible
* GCC architecture identifiers, to their MSVC equivalents.
@@ -282,23 +289,23 @@
* MSVC defines...
*/
# ifndef _M_X64
/* ...this to represent the former, together with...
*/
-# define _M_X64 1
+# define _M_X64 1
# endif
# ifndef _M_AMD64
/* ...this alias, to represent the latter.
*/
-# define _M_AMD64 1
+# define _M_AMD64 1
# endif
#elif defined(__ia64__)
/* This represents an Intel Itanium processor, which MSVC designates
* by defining this feature test macro.
*/
# ifndef _M_IA64
-# define _M_IA64 1
+# define _M_IA64 1
# endif
#endif /* !_M_IX86 */
#endif /* _SDKDDKVER_H: $RCSfile$: end of file */