OSDN Git Service

Merge further W32API updates from Cygwin CVS.
[mingw/mingw-org-wsl.git] / w32api / ChangeLog
index ecb191c..6068b64 100644 (file)
@@ -1,3 +1,396 @@
+2016-06-03  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Merge further W32API updates from Cygwin CVS.
+       Incorporated selected changes from 2012-08-01 to 2012-08-04.
+
+       * include/setupapi.h include/winuser.h include/winver.h
+       * include/wtsapi32.h lib/wtsapi32.def: Merged and updated.
+
+2016-06-02  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Update mapping of GCC to MSVC host identification macros.
+
+       * include/windows.h: Assert copyright; tidy layout.
+       (_M_IX86, _ALPHA_, _PPC_, _MIPS_, _68K_): Delete duplicate defines.
+       [!_WINUSER_H, !_WINNLS_H, !_WINVER_H, !_WINNETWK_H, !_WINREG_H]
+       [!_WINSVC_H]: Do not explicitly test these here; they are properly
+       managed implicitly, by GCC, when including the associated headers.
+
+       * include/winnt.h: Assert copyright; tidy layout.
+       (_BEGIN_C_DECLS, _END_C_DECLS): Use these, as appropriate.
+       (__aligned__, __always_inline__, __selectany__): Prefer these...
+       (aligned, always_inline, selectany): ...to these attribute forms.
+       (CONTEXT) [_ALPHA_, _PPC_, MIPS, ARM]: Change selector macros to...
+       [_M_ALPHA, _M_PPC, _M_MRX000, _M_ARM]: ...these, respectively.
+       (GetCurrentFiber, GetFiberData, NtCurrentTeb): Redefine in terms of...
+       (__tib_fiber_data__, __tib_self_refptr__): ...these adaptive macros...
+       [!_WIN64]: ...to accommodate 32-bit, or otherwise 64-bit Windows.
+       (_ALPHA_, _PPC_, _MIPS_, _68K_): Delete these redundant macros...
+       (_M_IX86): ...also removing this, but relocate it to...
+       * include/sdkddkver.h (_M_IX86): ...here; augment it with...
+       (_M_IX86_FP, _M_X64, _M_AMD64, _M_IA64): ...these; define them as
+       appropriate.
+
+       * include/ddk/ntifs.h [!_ALPHA_]: Augment test; rather consider...
+       [!_ALPHA_ && !_M_ALPHA]: ...this, for structure alignment control.
+
+2016-05-23  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Merge W32API updates, from Cygwin CVS, into legacy branch.
+       Incorporate changes since release of w32api-3.17, until 2012-07-06.
+
+       * include/shobjidl.h lib/shobjidl-uuid.c: New files, added per LRN's
+       2012-04-28 commit to Cygwin CVS.
+
+       * include/gdiplus/gdiplustypes.h include/imagehlp.h
+       * include/routprot.h include/shlwapi.h include/userenv.h
+       * include/winbase.h include/wincon.h include/windef.h
+       * include/winerror.h include/wingdi.h include/winnt.h
+       * include/winsock.h include/winsock2.h include/winuser.h: Updated to
+       match Cygwin CVS state, as of 2012-07-06.
+
+       * include/wincrypt.h: Updated to remove duplicate manifest constant
+       definitions, as identified per Chris Sutcliffe's 2012-01-03 commit to
+       Cygwin CVS; merge with my 2015-09-29 commit; additionally, remove...
+       (szOID_RSA_emailAddr, szOID_RSA_unstructAddr, szOID_RSA_unstructName)
+       (CRYPT_ARCHIVABLE, CRYPT_NOHASHOID, CRYPT_VERIFYCONTEXT): ...extra
+       copies of these further duplicated definitions, identified during
+       the merging operation.
+
+2016-05-04  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Eliminate redundant <parts/winioctl.h> header.
+
+       * include/parts/winioctl.h: Delete it; distribute its content...
+       * include/ddk/winddk.h include/ddk/ntddstor.h include/ddk/ntdddisk.h:
+       ...among these, separating it into discrete sections based on...
+       [__need_ddk_winddk_includes, __need_ddk_ntddstor_includes]
+       [__need_ddk_ntdddisk_includes]: ...these selectors, respectively.
+       [__WINIOCTL_H_SOURCED__]: Expose only those sections; do not define...
+       (_DDK_WINDDK_H, _DDK_NTDDSTOR_H, _DDK_NTDDDISK_H): ...these.
+
+       * include/winioctl.h (__WINIOCTL_H_SOURCED__): Define it; include each
+       of <ddk/winddk.h>, <ddk/ntddstor.h>, and <ddk/ntdddisk.h>
+
+2016-05-03  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Enforce consistent specification of package version.
+
+       * include/w32api.h: Rename as...
+       * include/w32api.h.in: ...this build-time template file.
+       (__W32API_VERSION): Redefine it, in terms of...
+       (%PACKAGE_VERSION_LONG%): ...this substitution template.
+       (__W32API_MAJOR_VERSION, __W32API_MINOR_VERSION)
+       (__W32API_PATCHLEVEL): Likewise, redefine them in terms of...
+       (%PACKAGE_VERSION_MAJOR%, %PACKAGE_VERSION_MINOR%)
+       (%PACKAGE_VERSION_PATCH%): ...these.
+
+       * configure.ac (AC_CONFIG_SRCDIR): Adjust for renamed file.
+       (MINGW_AC_CONFIG_EXTRA_SRCDIR): Likewise, for similarly renamed
+       mingwrt/include/_mingw.h.in file.
+
+       * Makefile.in (all-w32api-libs): Add dependency on...
+       (w32api.h, _mingw.h): ...these; add rule to generate them, using...
+       (PACKAGE_VERSION_SCRIPT, PACKAGE_VERSION_FORMAT): ...these new macros;
+       they apply appropriate substitutions to the renamed template files.
+       (install-w32api-headers): Explicitly add w32api.h
+
+2015-11-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Refactor for Windows DDK synchronization; fix MinGW-Bug [#1954].
+
+       * include/parts/winioctl.h: New file; it provides infrastructure for
+       sharing of common code between DDK headers and primary <winioctl.h>
+       (__IOCTL_STORAGE_, __IOCTL_DISK_, __FILE_RW_ACCESS, __FILE_AM_BUFFERED)
+       (__FILE_RD_BUFFERED, __FILE_RW_BUFFERED): New internal convenience
+       macros; they facilitate more consise expression of factored out IOCTL
+       and FSCTL macros; define them.
+
+       * include/ddk/ntddk.h: Assert copyright; tidy layout.
+       (__NTDDK_H): Multiple inclusion guard macro, renamed to...
+       (_DDK_NTDDK_H): ...this; it provides better indication of location.
+       (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+
+       * include/ddk/winddk.h: Assert copyright; tidy layout.
+       (__WINDDK_H): Multiple inclusion guard macro, renamed to...
+       (_DDK_WINDDK_H): ...this; it provides better indication of location.
+       [!defined _DDK_NTDDK_H]: Forbid direct inclusion; emit diagnostic.
+       (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+       (METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT)
+       (METHOD_NEITHER): Redefine as enumeration; factor it out.
+       (FILE_ANY_ACCESS, FILE_SPECIAL_ACCESS, FILE_READ_ACCESS)
+       (FILE_WRITE_ACCESS): Likewise.
+       (CTL_CODE, DEVICE_TYPE_FROM_CTL_CODE): Factor out.
+       [defined _DRIVE_LAYOUT_INFORMATION_MBR_DEFINED]: Delete guard.
+       (struct _DRIVE_LAYOUT_INFORMATION_MBR, DRIVE_LAYOUT_INFORMATION_MBR)
+       (PDRIVE_LAYOUT_INFORMATION_MBR): Factor out, without guard.
+       (struct _DRIVE_LAYOUT_INFORMATION_GPT, DRIVE_LAYOUT_INFORMATION_GPT)
+       (PDRIVE_LAYOUT_INFORMATION_GPT): Factor out.
+       (struct _PARTITION_INFORMATION_MBR, PARTITION_INFORMATION_MBR)
+       (PPARTITION_INFORMATION_MBR): Likewise.
+       (FILE_DEVICE_BEEP, FILE_DEVICE_CD_ROM, FILE_DEVICE_CD_ROM_FILE_SYSTEM)
+       (FILE_DEVICE_CONTROLLER, FILE_DEVICE_DATALINK, FILE_DEVICE_DFS)
+       (FILE_DEVICE_DISK, FILE_DEVICE_DISK_FILE_SYSTEM)
+       (FILE_DEVICE_FILE_SYSTEM, FILE_DEVICE_INPORT_PORT)
+       (FILE_DEVICE_KEYBOARD, FILE_DEVICE_MAILSLOT, FILE_DEVICE_MIDI_IN)
+       (FILE_DEVICE_MIDI_OUT, FILE_DEVICE_MOUSE)
+       (FILE_DEVICE_MULTI_UNC_PROVIDER, FILE_DEVICE_NAMED_PIPE)
+       (FILE_DEVICE_NETWORK, FILE_DEVICE_NETWORK_BROWSER)
+       (FILE_DEVICE_NETWORK_FILE_SYSTEM, FILE_DEVICE_NULL)
+       (FILE_DEVICE_PARALLEL_PORT, FILE_DEVICE_PHYSICAL_NETCARD)
+       (FILE_DEVICE_PRINTER, FILE_DEVICE_SCANNER)
+       (FILE_DEVICE_SERIAL_MOUSE_PORT, FILE_DEVICE_SERIAL_PORT)
+       (FILE_DEVICE_SCREEN, FILE_DEVICE_SOUND, FILE_DEVICE_STREAMS)
+       (FILE_DEVICE_TAPE, FILE_DEVICE_TAPE_FILE_SYSTEM, FILE_DEVICE_TRANSPORT)
+       (FILE_DEVICE_UNKNOWN, FILE_DEVICE_VIDEO, FILE_DEVICE_VIRTUAL_DISK)
+       (FILE_DEVICE_WAVE_IN, FILE_DEVICE_WAVE_OUT, FILE_DEVICE_8042_PORT)
+       (FILE_DEVICE_NETWORK_REDIRECTOR, FILE_DEVICE_BATTERY)
+       (FILE_DEVICE_BUS_EXTENDER, FILE_DEVICE_MODEM, FILE_DEVICE_VDM)
+       (FILE_DEVICE_MASS_STORAGE, FILE_DEVICE_SMB, FILE_DEVICE_KS)
+       (FILE_DEVICE_CHANGER, FILE_DEVICE_SMARTCARD, FILE_DEVICE_ACPI)
+       (FILE_DEVICE_DVD, FILE_DEVICE_FULLSCREEN_VIDEO)
+       (FILE_DEVICE_DFS_FILE_SYSTEM, FILE_DEVICE_DFS_VOLUME)
+       (FILE_DEVICE_SERENUM, FILE_DEVICE_TERMSRV, FILE_DEVICE_KSEC)
+       (FILE_DEVICE_FIPS): Redefine as enumeration; factor it out.
+       (enum _PARTITION_STYLE, PARTITION_STYLE): Factor out; add...
+       (PARTITION_STYLE_RAW): ...this new enumeration state; previously, it
+       was defined only when including this enumeration from winioctl.h
+       (struct _CREATE_DISK_MBR, CREATE_DISK_MBR, PCREATE_DISK_MBR)
+       (struct _CREATE_DISK_GPT, CREATE_DISK_GPT, PCREATE_DISK_GPT)
+       (struct _CREATE_DISK, CREATE_DISK, PCREATE_DISK): Factor out;
+       include parts/winioctl.h
+
+       * include/ddk/ntddstor.h: Assert copyright; tidy layout.
+       (__NTDDSTOR_H): Multiple inclusion guard macro, renamed to...
+       (_DDK_NTDDSTOR_H): ...this; to provide better indication of location.
+       (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+       (struct _STORAGE_BUS_TYPE, STORAGE_BUS_TYPE, PSTORAGE_BUS_TYPE)
+       (IOCTL_STORAGE_BASE, IOCTL_STORAGE_RESERVE, IOCTL_STORAGE_RELEASE)
+       (IOCTL_STORAGE_CHECK_VERIFY, IOCTL_STORAGE_CHECK_VERIFY2)
+       (IOCTL_STORAGE_MEDIA_REMOVAL, IOCTL_STORAGE_EJECT_MEDIA)
+       (IOCTL_STORAGE_LOAD_MEDIA, IOCTL_STORAGE_LOAD_MEDIA2)
+       (IOCTL_STORAGE_EJECTION_CONTROL, IOCTL_STORAGE_FIND_NEW_DEVICES)
+       (IOCTL_STORAGE_GET_MEDIA_TYPES, IOCTL_STORAGE_GET_MEDIA_TYPES_EX)
+       (IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER, IOCTL_STORAGE_PREDICT_FAILURE)
+       (IOCTL_STORAGE_QUERY_PROPERTY, IOCTL_STORAGE_GET_DEVICE_NUMBER)
+       (IOCTL_STORAGE_RESET_BUS, IOCTL_STORAGE_RESET_DEVICE)
+       (IOCTL_STORAGE_MCN_CONTROL): Factor out; include parts/winioctl.h
+
+       * include/ddk/ntdddisk.h: Assert copyright; tidy layout.
+       (__NTDDDISK_H): Multiple inclusion guard macro, renamed to...
+       (_DDK_NTDDDISK_H): ...this; to provide better indication of location.
+       (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+       (IOCTL_DISK_BASE, IOCTL_DISK_GET_LENGTH_INFO)
+       (IOCTL_DISK_IS_WRITABLE, IOCTL_DISK_REASSIGN_BLOCKS)
+       (IOCTL_DISK_FIND_NEW_DEVICES, IOCTL_DISK_GET_MEDIA_TYPES)
+       (IOCTL_DISK_GET_DRIVE_LAYOUT, IOCTL_DISK_SET_DRIVE_LAYOUT)
+       (IOCTL_DISK_GET_PARTITION_INFO, IOCTL_DISK_SET_PARTITION_INFO)
+       (IOCTL_DISK_GET_DRIVE_LAYOUT_EX, IOCTL_DISK_SET_DRIVE_LAYOUT_EX)
+       (IOCTL_DISK_GET_DRIVE_GEOMETRY, IOCTL_DISK_GET_DRIVE_GEOMETRY_EX)
+       (IOCTL_DISK_CREATE_DISK, IOCTL_DISK_VERIFY, IOCTL_DISK_CHECK_VERIFY)
+       (IOCTL_DISK_GET_PARTITION_INFO_EX, IOCTL_DISK_SET_PARTITION_INFO_EX)
+       (IOCTL_DISK_GET_CACHE_INFORMATION, IOCTL_DISK_SET_CACHE_INFORMATION)
+       (IOCTL_DISK_DELETE_DRIVE_LAYOUT, IOCTL_DISK_GROW_PARTITION)
+       (IOCTL_DISK_FORMAT_TRACKS, IOCTL_DISK_FORMAT_TRACKS_EX)
+       (IOCTL_DISK_PERFORMANCE, IOCTL_DISK_PERFORMANCE_OFF)
+       (IOCTL_DISK_UPDATE_DRIVE_SIZE, IOCTL_DISK_RESERVE): Factor out; all of
+       these macros are now defined in parts/winioctl.h; include it.
+       (PARTITION_ENTRY_UNUSED, PARTITION_FAT_12, PARTITION_XENIX_1)
+       (PARTITION_XENIX_2, PARTITION_FAT_16, PARTITION_EXTENDED)
+       (PARTITION_HUGE, PARTITION_IFS, PARTITION_OS2BOOTMGR, PARTITION_FAT32)
+       (PARTITION_FAT32_XINT13, PARTITION_XINT13, PARTITION_XINT13_EXTENDED)
+       (PARTITION_PREP, PARTITION_LDM, PARTITION_UNIX, PARTITION_NTFT)
+       (VALID_NTFT): Redefine as enumeration; factor it out.
+       (IsRecognizedPartition, IsContainerPartition): Factor out.
+       (enum _MEDIA_TYPE, MEDIA_TYPE, PMEDIA_TYPE): Factor out, adding...
+       (F3_200Mb_512, F3_240M_512, F3_32M_512): ...these new state values.
+       (enum _DETECTION_TYPE, DETECTION_TYPE): Factor out.
+       (struct _DISK_INT13_INFO, DISK_INT13_INFO, PDISK_INT13_INFO)
+       (struct _DISK_EX_INT13_INFO, DISK_EX_INT13_INFO, PDISK_EX_INT13_INFO)
+       (struct _DISK_DETECTION_INFO, DISK_DETECTION_INFO, PDISK_DETECTION_INFO)
+       (struct _DISK_GEOMETRY_EX, DISK_GEOMETRY_EX, PDISK_GEOMETRY_EX)
+       (struct _DISK_GEOMETRY, DISK_GEOMETRY, PDISK_GEOMETRY)
+       (DiskGeometryGetPartition, DiskGeometryGetDetect): Factor out.
+       (struct _PARTITION_INFORMATION): Change field data types for...
+       (HiddenSectors, PartitionNumber): ...these, from DWORD to ULONG...
+       (PartitionType): ...and this from BYTE to UCHAR, to keep consistent
+       with Windows DDK convention, then factor out struct, together with...
+       (PARTITION_INFORMATION, PPARTITION_INFORMATION): ...these.
+       (struct _PARTITION_INFORMATION_GPT, struct _DISK_PARTITION_INFO)
+       (PARTITION_INFORMATION_GPT, *PPARTITION_INFORMATION_GPT)
+       (DISK_PARTITION_INFO, *PDISK_PARTITION_INFO): Factor out.
+       (struct _GET_LENGTH_INFORMATION) 
+       (GET_LENGTH_INFORMATION, PGET_LENGTH_INFORMATION)
+       (struct _DISK_PERFORMANCE, DISK_PERFORMANCE, PDISK_PERFORMANCE)
+       (struct _DISK_PERFORMANCE_EX, DISK_PERFORMANCE_EX, PDISK_PERFORMANCE_EX)
+       (struct _FORMAT_PARAMETERS, struct _FORMAT_EX_PARAMETERS)
+       (FORMAT_PARAMETERS, PFORMAT_PARAMETERS, FORMAT_EX_PARAMETERS)
+       (PFORMAT_EX_PARAMETERS): Factor out.
+       (struct _REASSIGN_BLOCKS): Change field data types for...
+       (Reserved, Count): ...these fields, from WORD to USHORT, and...
+       (BlockNumber): ...this from DWORD to ULONG, per Windows DDK
+       convention, then factor out the struct definition, together with...
+       (REASSIGN_BLOCKS, PREASSIGN_BLOCKS): ...these associated typedefs.
+       (struct _SET_PARTITION_INFORMATION, SET_PARTITION_INFORMATION)
+       (PSET_PARTITION_INFORMATION): Factor out.
+       (struct _VERIFY_INFORMATION): Change field data type for...
+       (Length): ...this field, from DWORD to ULONG, per DDK convention, then
+       factor out the entire struct definition, together with...
+       (VERIFY_INFORMATION, PVERIFY_INFORMATION): ...these associated typedefs.
+       (DISK_CACHE_RETENTION_PRIORITY): Factor out enumerated typedef.
+       (struct _DISK_CACHE_INFORMATION, struct _DISK_GROW_PARTITION)
+       (DISK_CACHE_INFORMATION, PDISK_CACHE_INFORMATION, DISK_GROW_PARTITION)
+       (PDISK_GROW_PARTITION): Factor out.
+
+       * include/winioctl.h: Assert copyright; tidy layout; incorporate
+       definitions from Windows DDK headers, by including parts/winioctl.h;
+       delete duplicate definitions already identified as having been factored
+       out from ddk/winddk.h, ddk/ntddstor.h, and ddk/ntdddisk.h; accept type
+       compatible changes from DWORD to ULONG, WORD to USHORT, and BYTE to
+       UCHAR, resulting in no significant changes, except that...
+       (struct _DISK_PERFORMANCE): ...this is extended, by addition of...
+       (IdleTime, SplitCount, QueryTime, StorageDeviceNumber)
+       (StorageManagerName): ...these previously missing fields, originally
+       appropriately defined in ddk/ntdddisk.h, thus fixing bug [#1954].
+       (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+
+2015-10-22  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Windows application module version information API updates.
+
+       * include/winver.h: Assert copyright; tidy layout.
+       (_BEGIN_C_DECLS, _END_C_DECLS): Use these, as appropriate.
+       (__AW_SUFFIXED__): Use throughout, to identify generic functions
+       having both ANSI and UTF-16LE specific alternative implementations.
+       [NTDDI_VERSION >= NTDDI_VISTA] (GetFileVersionInfoEx): New function.
+       [NTDDI_VERSION >= NTDDI_VISTA] (GetFileVersionInfoSizeEx): Likewise;
+       note that both are generic, with ANSI and UTF-16LE implementations,
+       but the ANSI implementations are missing from MSVCRT.DLL when...
+       [NTDDI_VERSION < NTDDI_WIN8]: ...this.
+
+       * lib/version.def (GetFileVersionInfoExA, GetFileVersionInfoExW)
+       (GetFileVersionInfoSizeExA, GetFileVersionInfoSizeExW): Add symbols.
+
+2015-10-22  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Revert a failed experimental macro construct.
+
+       * include/w32api.h (__W32API_DEPRECATED_ALIAS): Delete this; it bloats
+       code, and doesn't work in the C preprocessor conditional context where
+       its associated constant definitions are most likely to be required.
+       (Windows95, Windows98, WindowsME, WindowsNT4, Windows2000, WindowsXP)
+       (Windows2003, WindowsVista, IE3, IE301, IE302, IE4, IE401, IE5, IE5a)
+       (IE5b, IE501, IE55, IE56, IE6, IE601, IE602, IE7): Redefine as macros,
+       now in terms of their preferred equivalents from <sdkddkver.h>
+
+2015-09-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Code clean-up; fix MinGW-Bug [#2263].
+
+       * include/w32api.h (__AW_SUFFIXED__): New macro; define it.
+       (__AW_EXTENDED__, __AW_STRING_A__, __AW_STRING_W__): Likewise.
+       (__AW__WCHAR_T__): Likewise; this is a helper for __AW_STRING_W__.
+
+       * include/wincrypt.h: Assert copyright; tidy layout; replace all C++
+       style comments, using ISO-C conforming style; remove all redundant
+       parameter names from function prototype declarations, throughout.
+       (pragma GCC system_header): Remove pointless conditional guard.
+       (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
+       [WINVER >= 0x500, WINVER >= 0x501]: Replace conditionals with...
+       [WINVER >= _WIN32_WINNT_WIN2K, WINVER >= _WIN32_WINNT_WINXP]: ...these
+       alternatives, respectively; they offer improved self-documentation.
+       (MS_DEF_PROV, MS_ENHANCED_PROV, MS_STRONG_PROV, MS_SCARD_PROV)
+       (MS_DEF_RSA_SIG_PROV, MS_DEF_RSA_SCHANNEL_PROV, MS_DEF_DSS_PROV)
+       (MS_DEF_DSS_DH_PROV, MS_ENH_DSS_DH_PROV, MS_DEF_DH_SCHANNEL_PROV)
+       (MS_ENH_RSA_AES_PROV): Redefine as __AW_EXTENDED__ derivatives.
+       (MS_DEF_PROV_W, MS_ENHANCED_PROV_W, MS_STRONG_PROV_W, MS_SCARD_PROV_W)
+       (MS_DEF_RSA_SIG_PROV_W, MS_DEF_RSA_SCHANNEL_PROV_W, MS_DEF_DSS_PROV_W)
+       (MS_DEF_DSS_DH_PROV_W, MS_ENH_DSS_DH_PROV_W, MS_DEF_DH_SCHANNEL_PROV_W)
+       (MS_ENH_RSA_AES_PROV_W): Redefine; use __AW_STRING_W__ to derive them
+       from their __AW_STRING_A__ equivalent string constant definitions.
+       (GET_ALG_CLASS): Redefine, expressing result in terms of...
+       (ALG_CLASS_ALL): ...this manifest bit mask; also redefined, preferring
+       a hexadecimal expression of the mask value over the former decimal.
+       (GET_ALG_TYPE, GET_ALG_SID): Similarly, use hexadecimal mask values.
+       (ALG_CLASS_SIGNATURE, ALG_CLASS_MSG_ENCRYPT, ALG_CLASS_DATA_ENCRYPT)
+       (ALG_CLASS_HASH, ALG_CLASS_KEY_EXCHANGE, ALG_TYPE_DSS, ALG_TYPE_RSA)
+       (ALG_TYPE_BLOCK, ALG_TYPE_STREAM, ALG_TYPE_DH, ALG_TYPE_SECURECHANNEL)
+       (CRYPT_UPDATE_KEY, CRYPT_NEWKEYSET, CRYPT_DELETEKEYSET, CRYPT_SILENT)
+       (CRYPT_MACHINE_KEYSET, CRYPT_USER_PROTECTED, CRYPT_CREATE_SALT)
+       (CRYPT_EXPORTABLE, CRYPT_ENCRYPT, CRYPT_DECRYPT, CRYPT_EXPORT)
+       (CRYPT_READ, CRYPT_WRITE, CRYPT_MAC, CERT_TRUST_IS_NOT_TIME_VALID)
+       (CERT_TRUST_IS_NOT_TIME_NESTED, CERT_TRUST_IS_REVOKED)
+       (CERT_TRUST_IS_NOT_SIGNATURE_VALID, CERT_TRUST_IS_NOT_VALID_FOR_USAGE)
+       (CERT_TRUST_IS_UNTRUSTED_ROOT, CERT_TRUST_REVOCATION_STATUS_UNKNOWN)
+       (CERT_TRUST_IS_CYCLIC, CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID)
+       (CERT_TRUST_IS_PARTIAL_CHAIN, CERT_TRUST_CTL_IS_NOT_TIME_VALID)
+       (CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE, CERT_TRUST_IS_SELF_SIGNED)
+       (CERT_TRUST_HAS_EXACT_MATCH_ISSUER, CERT_TRUST_HAS_KEY_MATCH_ISSUER)
+       (CERT_TRUST_HAS_NAME_MATCH_ISSUER, CERT_TRUST_IS_COMPLEX_CHAIN)
+       (CERT_CHAIN_POLICY_BASE, CERT_CHAIN_POLICY_AUTHENTICODE)
+       (CERT_CHAIN_POLICY_AUTHENTICODE_TS, CERT_CHAIN_POLICY_SSL)
+       (CERT_CHAIN_POLICY_BASIC_CONSTRAINTS, CERT_CHAIN_POLICY_NT_AUTH)
+       (CERT_NAME_STR_REVERSE_FLAG, CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG)
+       (CERT_NAME_STR_CRLF_FLAG, CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG)
+       (CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG, CERT_NAME_STR_NO_PLUS_FLAG)
+       (CERT_NAME_STR_NO_QUOTING_FLAG, CERT_NAME_STR_SEMICOLON_FLAG)
+       (CERT_FIND_CERT_ID, CERT_FIND_CTL_USAGE, CERT_FIND_ENHKEY_USAGE)
+       (CERT_FIND_EXISTING, CERT_FIND_HASH, CERT_FIND_ISSUER_ATTR)
+       (CERT_FIND_ISSUER_NAME, CERT_FIND_ISSUER_OF, CERT_FIND_KEY_IDENTIFIER)
+       (CERT_FIND_KEY_SPEC, CERT_FIND_MD5_HASH, CERT_FIND_PROPERTY)
+       (CERT_FIND_PUBLIC_KEY, CERT_FIND_SHA1_HASH, CERT_FIND_SIGNATURE_HASH)
+       (CERT_FIND_SUBJECT_ATTR, CERT_FIND_SUBJECT_CERT, CERT_FIND_SUBJECT_NAME)
+       (CERT_FIND_SUBJECT_STR_A, CERT_FIND_SUBJECT_STR_W)
+       (CERT_FIND_ISSUER_STR_A, CERT_FIND_ISSUER_STR_W)
+       (CERT_FIND_OR_ENHKEY_USAGE_FLAG, CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG)
+       (CERT_FIND_NO_ENHKEY_USAGE_FLAG, CERT_FIND_VALID_ENHKEY_USAGE_FLAG)
+       (CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG, CERT_UNICODE_IS_RDN_ATTRS_FLAG)
+       (CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG, CERT_CHAIN_FIND_BY_ISSUER)
+       (CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG)
+       (CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG)
+       (CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG)
+       (CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG)
+       (CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG)
+       (CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG)
+       (CERT_SYSTEM_STORE_LOCAL_MACHINE): All represent bit-mapped values;
+       express them in hexadecimal, in preference to original decimal form.
+       (CERT_FIND_SUBJECT_STR, CERT_FIND_ISSUER_STR): Redefine them as
+       __AW_EXTENDED__ macros, for UNICODE/non-UNICODE cases respectively.
+       (szOID_CRL_DIST_POINTS): Correct defective definition; value should be
+       a string literal, but was missing delimiting quotes; insert them.
+       (CertNameToStr, CertOpenSystemStore, CertGetNameString, CryptSignHash)
+       (CryptAcquireContext, CryptVerifySignature, CryptGetDefaultProvider)
+       (CryptEnumProviders, CryptSetProvider): Define as __AW_SUFFIXED__
+       aliases for each of the UNICODE/non-UNICODE cases respectively.
+       (CryptEnumProvidersA): Correct prototype declaration; 5th parameter
+       was declared as type LPTSTR, but should be type LPSTR.
+       (CryptEnumProvidersW): Likewise; 5th parameter should be type LPWSTR.
+       (CryptGetDefaultProviderW): Likewise; 4th parameter was declared as
+       type LPSTR, but should be type LPWSTR.
+       [defined MINGW_TENTATIVE_ASSUMPTIONS] (X509_ANY_STRING)
+       (X509_CRL_REASON_CODE, X509_DSS_PUBLICKEY, X509_UNICODE_ANY_STRING)
+       (struct _CERT_ALT_NAME_ENTRY): Add tentative definitions.
+
+2015-09-22  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Correct defect in build system compilation rule.
+
+       * Makefile.in (scrnsavw.$OBJEXT): Do not use $^ to represent the
+       source file; it expands to also include prerequisite header files,
+       which should not appear on the compilation command line.  Rewrite
+       rule in static pattern format, and use $< instead.
+
+2015-08-02  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Build system corrections for GCC build time support.
+
+       * configure.ac (AC_PROG_CC): Don't use this; we need...
+       (MINGW_AC_PROG_CC_COMPILE_ONLY): ...this alternative, to support
+       building with only a stage 1 partially built GCC installation.
+
+       * Makefile.in (install-headers): New make objective; map it to...
+       (install-w32api-headers): ...this, for which it is a logical alias.
+
 2015-07-16  Keith Marshall  <keithmarshall@users.sourceforge.net>
 
        Overhaul and streamline build system configuration.
        * configure: Delete from SCM; maintainer must regenerate it, when
        required, as SCM will now ignore it.
 
+2012-08-04  Earnie Boyd  <earnie@users.sourceforge.net>
+
+       Cosmetic adjustment to match MSDN documentation.
+
+       * include/winver.h (VerQueryValueA, VerQueryValueW): Declare type
+       of parameter #1 to be LPCVOID, in preference to formerly specified,
+       and functionally equivalent, 'const LPVOID'.
+
+2012-08-01  Stephan Jorek  <sjorek@users.sourceforge.net>
+
+       Correct typos, as identified by issue [#1534].
+
+       * include/setupapi.h (SetupCancelTemporary): Should be...
+       (SetupCancelTemporarySourceList): ...this; complete truncated name.
+       (SetupFreeA, SetupFreeW): Likewise, complete these respectively to...
+       (SetupFreeSourceListA, SetupFreeSourceListW): ...these, and...
+       (SetupQueryA, SetupQueryW): ...these respectively to...
+       (SetupQuerySourceListA, SetupQuerySourceListW): ...these.
+       (SetupDiGetWizardage): Misspelled; correct it to...
+       (SetupDiGetWizardPage): ...this.
+
+2012-08-01  Earnie Boyd  <earnie@users.sourceforge.net>
+
+       Declare WTSVirtualChannel API functions per issue [#1342].
+
+       * include/wtsapi32.h [_WIN32_WINNT >= 0x500]
+       (WTSVirtualChannelOpen, WTSVirtualChannelQuery, WTSVirtualChannelRead)
+       (WTSVirtualChannelPurgeInput, WTSVirtualChannelPurgeOutput)
+       (WTSVirtualChannelWrite, WTSVirtualChannelClose): Declare them.
+       [_WIN32_WINNT >= 0x600] (WTSVirtualchannelOpenEx): Likewise.
+
+       * lib/wtsapi32.def (WTSVirtualChannelOpenEx@12): Add reference.
+
+2012-08-01  Earnie Boyd  <earnie@users.sourceforge.net>
+
+       Correct MENUITEMINFO structure definition per issue [#1659].
+
+       * include/winuser.h (tagMENUITEMINFOA, tagMENUITEMINFOW): dwItemData
+       field was defined as type DWORD; correct it to type ULONG_PTR.
+
+2012-07-06  Corinna Vinschen  <corinna@vinschen.de>
+
+       Extend visibility of winsock definitions when building Cygwin.
+
+       * include/winsock.h [__INSIDE_CYGWIN__]: Expose definitions of...
+       (IP_OPTIONS, SO_DEBUG, SO_ACCEPTCONN, SO_REUSEADDR, SO_KEEPALIVE)
+       (SO_DONTROUTE, SO_BROADCAST, SO_USELOOPBACK, SO_LINGER, SO_OOBINLINE)
+       (SO_DONTLINGER, SO_SNDBUF, SO_RCVBUF, SO_SNDLOWAT, SO_RCVLOWAT)
+       (SO_SNDTIMEO, SO_RCVTIMEO, SO_ERROR, SO_TYPE): ...these; however...
+       [__INSIDE_MSYS__]: ...keep them hidden.
+
+       * include/winsock2.h [__INSIDE_CYGWIN__]: Likewise, expose...
+       (AF_MAX, _SS_MAXSIZE, _SS_ALIGNSIZE, _SS_PAD1SIZE, _SS_PAD2SIZE)
+       (struct sockaddr, struct sockaddr_storage): ...these, whereas...
+       [__INSIDE_MSYS__]: ...also keep them hidden.
+
+2012-04-29  Jan Ringos  <tringi@users.sf.net>
+
+       Correct version guard for WinXP minimum requirement.
+
+       * include/winbase.h (GetModuleHandleEx): Function unsupported for...
+       [_WIN32_WINNT >= 0x500]: ...this; it isn't in Win2K, so should be...
+       [_WIN32_WINNT >= 0x501]: ...this; correct it accordingly.
+       (GetModuleHandleExA, GetModuleHandleExW): Likewise.
+
+2012-04-28  LRN  <l_r_nightmare@users.sf.net>
+
+       Add missing <shobjidl.h> and associated UUID implementation.
+
+       * include/shobjidl.h lib/shobjidl-uuid.c: New files.
+       * lib/Makefile.in (UUID_SOURCES, UUID_OBJS): Add references.
+
+2012-03-19  Ben Greear  <greear@users.sf.net>
+
+       Adjust header file definition order, to fix issue [#1570].
+
+       * include/routprot.h (IP_LOCAL_BINDING): Must be defined before...
+       (IP_ADAPTER_BINDING_INFO): ...this; adjust order of definition.
+
+2012-01-03  Chris Sutcliffe  <ir0nh34d@users.sf.net>
+
+       Add missing return value, flagged by 'make test'.
+
+       * include/gdiplus/gdiplustypes.h (Gdiplus::GdiplusAbort::Abort):
+       Return NO_ERROR in virtual definition.
+
+2012-01-03  Chris Sutcliffe  <ir0nh34d@users.sf.net>
+
+       Remove duplicate definitions, identified by 'make test'.
+
+       * include/wincrypt.h (CRYPT_NEWKEYSET, CRYPT_DELETEKEYSET)
+       (CRYPT_MACHINE_KEYSET, CRYPT_EXPORTABLE, CRYPT_USER_PROTECTED)
+       (CRYPT_SILENT, CRYPT_CREATE_SALT, CRYPT_UPDATE_KEY, CRYPT_NO_SALT)
+       (CRYPT_PREGEN, CRYPT_RECIPIENT, CRYPT_INITIATOR, CRYPT_ONLINE)
+       (CRYPT_SF, CRYPT_CREATE_IV, CRYPT_KEK, CRYPT_DATA_KEY)
+       (CRYPT_VOLATILE, CRYPT_SGCKEY): Delete second instance of each.
+
+       * include/winerror.h (CRYPT_E_REVOKED): Delete; it is already
+       correctly defined (per MSDN) in <wincrypt.h>
+
+2012-01-03  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Correct misuse of #ifdef, identified by 'make test'.
+
+       * include/shlwapi.h (enum ASSOCSTR, enum ASSOCDATA): Fix typos;
+       /#ifdef _WIN32_IE >= 0x0600/s/#ifdef/#if/
+
+2011-12-22  Corinna Vinschen  <corinna@vinschen.de>
+
+       Replace more incorrectly named manifest constants.
+
+       * include/winnt.h (JOB_OBJECT_LIMIT_BREAKAWAY_OK)
+       (JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK): Define; make aliases for...
+       (JOB_OBJECT_BREAKAWAY_OK, JOB_OBJECT_SILENT_BREAKAWAY): ...these old
+       definitions respectively; retain for backward compatibility only.
+
+2011-12-22  Corinna Vinschen  <corinna@vinschen.de>
+
+       Add missing PROCESS_QUERY_LIMITED_INFORMATION.
+
+       * include/winnt.h (PROCESS_QUERY_LIMITED_INFORMATION): Define it.
+
+2011-08-19  Corinna Vinschen  <corinna@vinschen.de>
+
+       Add missing MAPVK manifest constant definitions.
+
+       * include/winuser.h (MAPVK_VK_TO_VSC, MAPVK_VSC_TO_VK): Define them.
+       (MAPVK_VK_TO_CHAR, MAPVK_VSC_TO_VK_EX, MAPVK_VK_TO_VSC_EX): Likewise.
+
+2011-08-05  Corinna Vinschen  <corinna@vinschen.de>
+
+       Correct some misspelled manifest constant names.
+
+       * include/winnt.h (IMAGE_DLL_CHARACTERISTICS_NX_COMPAT): Should be...
+       (IMAGE_DLLCHARACTERISTICS_NX_COMPAT): ...this; define correctly; also
+       alias to original misspelling, to maintain backward compatibility.
+       (IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY): Likewise; should be...
+       (IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY): ...this; define and alias.
+       (IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE): Likewise; should be...
+       (IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE): ...this; define and alias.
+
+2011-07-29  Corinna Vinschen  <corinna@vinschen.de>
+
+       Add a missing Win2K sockets IOCTL feature.
+
+       * include/winsock2.h (SIO_UDP_CONNRESET): Define.
+
+2011-05-22  Albrecht Schlosser  <vms-news@go4more.de>
+
+       Fix an incorrectly typed structure member.
+
+       * include/wingdi.h (GCP_RESULTSW): lpClass field defined as LPWSTR;
+       should be LPSTR; correct it.
+
+2011-05-15  Corinna Vinschen  <corinna@vinschen.de>
+
+       Add another missing manifest constant definition.
+
+       * include/winbase.h (STACK_SIZE_PARAM_IS_A_RESERVATION): Define.
+
+2011-04-21  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Avoid pollution of user namespace; fix MinGW-Bug [#1531].
+
+       * include/windef.h (PACKED): Delete macro definition; its name is not
+       reserved, and may thus conflict with a user defined name; replace it...
+       * include/wincon.h (KEY_EVENT_RECORD): ...at this sole point of use;
+       use __attribute__((packed)) directly instead.
+
+2011-04-21  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
+
+       Fix bad typedef, per MinGW-Bug [#1529].
+
+       * include/imagehlp.h (PREAD_PROCESS_MEMORY_ROUTINE): Corrected, to
+       conform with MSDN reference, as identified by Safety0ff.
+
+2011-04-04  Corinna Vinschen  <corinna@vinschen.de>
+
+       Add a missing manifest constant definition.
+
+       * include/winnt.h (DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS): Define.
+
+2011-03-29  Corinna Vinschen  <corinna@vinschen.de>
+
+       Win2K and Vista userenv updates.
+
+       * include/userenv.h [_WIN32_WINNT >= 0x0500] (DeleteProfile)
+       (GetAllUsersProfileDirectory, GetDefaultUserProfileDirectory)
+       (ExpandEnvironmentStringsForUser): Define function aliases.
+       [_WIN32_WINNT >= 0x0500] (DeleteProfileA, DeleteProfileW)
+       (GetAllUsersProfileDirectoryA, GetAllUsersProfileDirectoryW)
+       (GetDefaultUserProfileDirectoryA, GetDefaultUserProfileDirectoryW
+       (ExpandEnvironmentStringsForUserA, ExpandEnvironmentStringsForUserW)
+       (GetProfileType): Declare function prototypes.
+       [_WIN32_WINNT >= 0x0600] (CreateProfile): Declare function prototype.
+       [_WIN32_WINNT >= 0x0500] (PT_TEMPORARY, PT_ROAMING, PT_MANDATORY):
+       New manifest constants; define them.
+
 2011-03-25  Chris Sutcliffe  <ir0nh34d@users.sf.net>
 
        * Makefile.in: Increment CYGRELEASE to 2.