OSDN Git Service

Overhaul WinSock fd_set content management macros.
[mingw/mingw-org-wsl.git] / w32api / ChangeLog
index 97493c3..092ff33 100644 (file)
@@ -1,3 +1,713 @@
+2017-11-08  Keith Marshall  <keith@users.osdn.me>
+
+       Overhaul WinSock fd_set content management macros.
+
+       * include/winsock.h (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Replace the
+       original implementations of each of these macros, redirecting to...
+       (__FD_SET, __FD_ISSET, __FD_CLR, __FD_ZERO): ...these new, equivalent
+       inline functions, respectively; these are more robust, and correct a
+       defect in the original FD_SET macro implementation, whereby duplicate
+       descriptors could be added to an fd_set array, but would not then be
+       removed by the corresponding FD_CLR macro.
+
+       * tests/winsock.at (MINGW_AT_CHECK_WINSOCK): Ensure that all test
+       programs are linked with -lwsock32 or -lws2_32, as appropriate; the
+       __FD_SET and __FD_ISSET functions are dependent on the __WSAFDIsSet()
+       function, which is implemented in each of these libraries.
+
+2017-11-07  Keith Marshall  <keith@users.osdn.me>
+
+       Identify features which have been deprecated in WinSock v2.
+
+       * include/winsock.h (__WINSOCK2_DEPRECATED): Define as nothing.
+       * include/winsock2.h (__WINSOCK2_DEPRECATED): Define as equivalent...
+       (__MINGW_ATTRIB_DEPRECATED): ...to this.
+
+       * include/winsock.h include/winsock2.h: Qualify...
+       (WSAIsBlocking, WSAUnhookBlockingHook, WSASetBlockingHook)
+       (WSACancelBlockingCall): ...each of these function prototypes, with...
+       (__WINSOCK2_DEPRECATED): ...this attribute.
+
+2017-11-07  Keith Marshall  <keith@users.osdn.me>
+
+       Adopt system naming convention for USE_SYS_TYPES_FD_SET macro.
+
+       * include/winsock.h (USE_SYS_TYPES_FD_SET): Deprecate it; use...
+       (_USE_SYS_TYPES_FD_SET): ...this alternative; it is named to conform
+       with preferred convention for system feature test macros.
+
+2017-11-06  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Use WINSOCK_API_LINKAGE consistently in WinSock headers.
+
+       * include/winsock.h (WINSOCK_API_LINKAGE): Define, and prefix to...
+       (accept, bind, closesocket, connect, ioctlsocket, inet_addr, inet_ntoa)
+       (getpeername, getsockname, getsockopt, listen, recv, recvfrom, send)
+       (sendto, setsockopt, shutdown, socket, gethostbyaddr, gethostbyname)
+       (getservbyport, getservbyname, getprotobynumber, getprotobyname)
+       (WSAStartup, WSACleanup, WSASetLastError, WSAGetLastError)
+       (WSAIsBlocking, WSAUnhookBlockingHook, WSASetBlockingHook)
+       (WSACancelBlockingCall, WSAAsyncGetServByName, WSAAsyncGetServByPort)
+       (WSAAsyncGetProtoByName, WSAAsyncGetProtoByNumber, WSAAsyncSelect)
+       (WSAAsyncGetHostByName, WSAAsyncGetHostByAddr, WSACancelAsyncRequest)
+       (htonl, ntohl, htons, ntohs, select): ...these function prototypes.
+
+       * include/winsock2.h (WINSOCK_API_LINKAGE): Remove it from...
+       (LPFN_WSASTARTUP): ...this typedef; it is inappropriate.
+
+2017-10-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Refactor <wtypes.h> vs. <nspapi.h> and WinSock headers.
+
+       * include/wtypes.h: Tidy layout; assert copyright.
+       [_BEGIN_C_DECLS, _END_C_DECLS]: Use them, as appropriate.
+       [__NSPAPI_H_SOURCED__]: Restrict exposure of declared content to...
+       [!__BLOB_DATA_TYPE_DEFINED] (BLOB, PBLOB, LPBLOB): ...these; define...
+       (__BLOB_DATA_TYPE_DEFINED__): ...this internal guard; it renames...
+       (__BLOB_T_DEFINED): ...this; do not define...
+       (_WTYPES_H): ...this external guard.
+
+       * include/nspapi.h: Tidy layout; assert copyright.
+       [_BEGIN_C_DECLS, _END_C_DECLS]: Use them, as appropriate.
+       (__CSADDR_T_DEFINED): Do not define; it is no longer required.
+       [__WINSOCK2_H_SOURCED__]: Restrict exposure of declared content to...
+       (struct _CSADDR_INFO): ...this, as an incomplete type, along with...
+       (CSADDR_INFO, PCSADDR_INFO, LPCSADDR_INFO): ...these typedefs; also...
+       (SOCKET_ADDRESS, PSOCKET_ADDRESS, LPSOCKET_ADDRESS): ...define fully.
+       [__WINSOCK2_H_SOURCED__] (_NSPAPI_H): Do not define external guard.
+       [!__WINSOCK2_H_SOURCED__] (struct _CSADDR_INFO): Define fully.
+       (__BLOB_T_DEFINED, BLOB, PBLOB, LPBLOB): Do not define; instead...
+       (__NSPAPI_H_SOURCED__): ...define this, temporarily; include wtypes.h
+       [!__WINSOCK2_H_SOURCED__ && _WIN32_WINNT >= WIN2K]: Include winsock2.h
+       [!__WINSOCK2_H_SOURCED__ && _WIN32_WINNT < WIN2K]: Include winsock.h
+       [UNICODE vs. !UNICODE]: Discriminate generic symbol names, using...
+       (__AW_SUFFIXED__): ...this, to facilitate definition of each of...
+       (SetService, GetAddressByName, _SERVICE_INFO): ...these, and...
+       (__AW_ALIAS__): ...this, for definition of each of...
+       (SERVICE_INFO, LPSERVICE_INFO): ...these.
+
+       * include/winsock2.h (__WINSOCK2_H_SOURCED__): Define it temporarily.
+       (__CSADDR_T_DEFINED, struct _CSADDR_INFO, CSADDR_INFO, PCSADDR_INFO)
+       (LPCSADDR_INFO, __BLOB_T_DEFINED, BLOB, PBLOB, LPBLOB): Do not define;
+       include nspapi.h selectively, to acquire them.
+
+2017-09-23  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Factor <winerror.h> duplicate content out of winsock headers.
+
+       * include/winsock.h include/winsock2.h [!defined WSABASEERR]: Delete
+       conditional block, and all of its content; selectively include...
+       * include/winerror.h [__WINSOCK_H_SOURCED__]: ...this instead.
+       [__WINSOCK_H_SOURCED__] (_WINERROR_H): Do not define it.
+       (__WINSOCK_V1_ERRORS__, __WINSOCK_V2_ERRORS__): New temporary macros;
+       define them, to segregate WSA error messages applicable to WinSock v2
+       only, from those applicable to both WinSock v1.1 and WinSock v2.
+       (__WSA_ERRNO): New macro; use it to redefine all WSA specific error
+       codes, except WSABASEERR, relative to WSABASEERR itself.
+
+2017-09-15  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Factor <sys/time.h> duplicate content out of winsock headers.
+
+       * include/winsock.h include/winsock2.h [_TIMEVAL_DEFINED]: Delete
+       conditional block, and all its content; include <sys/time.h> instead.
+       (__WINSOCK_H_SOURCED__): New macro; define it temporarily, only while
+       processing this header, such that only selected content from other
+       internally referenced headers is exposed.
+
+2017-09-09  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Source BSD non-standard type definitions from mingwrt header.
+
+       * include/winsock.h include/winsock2.h [_BSDTYPES_DEFINED]: Delete
+       conditional block, and its entire type definition content; include...
+       * include/sys/bsdtypes.h: ...this common file instead; it defines...
+       (u_char, u_int, u_long, u_short): ...these non-standard data types.
+
+2017-09-07  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Correct misuse of __INSIDE_MSYS__ feature test.
+
+       * include/winsock2.h [!__INSIDE_MSYS__]: One of several instances
+       omits "defined" operator; it should be expressed consistently as...
+       [! defined __INSIDE_MSYS__]: ...this; correct it.
+
+2017-09-07  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Prepare for <winsock.h> vs. <winsock2.h> refactoring.
+
+       * include/winsock.h: Tidy layout; assert copyright.
+       (_BEGIN_C_DECLS, _END_C_DECLS): Use them to avoid C++ name mangling.
+
+       * include/winsock2.h: Assert copyright; tidy layout, ensuring that all
+       sections, which are common with <winsock.h>, are laid out congruently.
+       (_BEGIN_C_DECLS, _END_C_DECLS): Use them to avoid C++ name mangling.
+       (SD_RECEIVE, SD_SEND, SD_BOTH): Delete duplicate constant definitions.
+       (SO_DONTLINGER, MSG_MAXIOVLEN): Likewise, delete duplicate definitions.
+       (__AW_ALIAS__, __AW_SUFFIXED__): Use them, to avoid reproduction of...
+       [UNICODE]: ...alternative typedefs, and function name aliases...
+       [!UNICODE]: ...versus this case.
+
+2017-08-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Resolve secondary issue arising from MinGW-Bug [#2350]
+
+       * include/winuser.h (GetTitleBarInfo)
+       [_WIN32_WINDOWS >= _WIN32_WINDOWS_98]: Remove exposure restriction;
+       it conflicted with current MSDN documentation, so now falls within...
+       [_WIN32_WINNT >= Win2K || _WIN32_WINDOWS >= Win98]: ...this.
+
+2017-08-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Resolve MinGW-Bug [#2350]
+
+       * include/winuser.h (GetTitleBarInfo): Move prototype after...
+       (PTITLEBARINFO): ...this type definition; it is used as a function
+       argument type, so must be defined beforehand.
+
+2017-08-21  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Extend testsuite to cover winsock fd_set macro operations.
+
+       * tests/winsock.at: New file; it implements appropriate tests, and
+       enables use of "-k winsock", "-k winsock2", and "-k fd_set" autotest
+       keywords to invoke them, (e.g. make check TESTSUITEFLAGS='-k fd_set').
+
+       * tests/testsuite.at.in (winsock.at): Integrate it.
+       (MINGW_AT_CHECK_RUN): Accept a variant list of libraries when linking.
+       (MINGW_AT_LINK_LIBS_DEFAULT): New macro; it establishes the initial
+       default list of libraries, or resets the list to this initial default.
+       (MINGW_AT_LINK_LIBS): New macro; it establishes an augmented list of
+       library specifications, to be used until subsequently reset.
+
+2017-07-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Prepare and tag for release of MinGW.org WSL-5.0.1
+
+       * All files (wsl-5.0.1-release): Tag assigned.
+
+2017-07-12  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Automate testsuite dependency generation.
+
+       * tests/Makefile.in (testsuite) [$srcdir/*.at]: Automatically
+       enumerate all such wildcard matches as prerequisites, instead of...
+       (headers.at): ...this sole explicit dependency.
+
+2017-06-20  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Make <winnt.h> header effectively self-contained.
+
+       * include/winnt.h (_WINNT_H): Defer definition unless included via...
+       (windef.h): ...this; include it, to enforce inclusion order, then...
+       [_WINNT_H]: ...re-evaluate it, to avoid recursive inclusion loop.
+
+2017-06-12  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Consolidate <winuser.h> version specific conditionals.
+
+       * include/winuser.h: Reorganize file content; group manifest constant
+       definitions into one nested collection of conditional blocks, with one
+       block per Windows version evolution; do likewise for type definitions
+       and function prototypes which are always exposed, and separately...
+       [! defined NOGDI]: ...for those which may be suppressed, when GDI
+       support is not required.
+
+2017-06-06  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Make <winuser.h> header effectively self-contained.
+
+       * include/winuser.h (stdarg.h): Include it, in addition to...
+       [NOGDI] (windef.h): ...this, directly or otherwise indirectly via...
+       [!NOGDI] (wingdi.h): ...this, for effective self-containment.
+
+2017-06-04  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Consolidate <wingdi.h> version specific conditionals.
+
+       * include/wingdi.h: Reorganize file content; group manifest constant
+       definitions into a single nested collection of conditional blocks, for
+       those definitions which are common to both Win9x and WinNT, with one
+       block per Windows version evolution, sorting alphabetically within
+       each block; do likewise for additional manifest constant definitions
+       which are specific to WinNT, and also for data type definitions and
+       function prototypes.
+
+2017-06-03  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Tidy, and make <wingdi.h> header effectively self-contained.
+
+       * include/wingdi.h: Tidy layout; assert copyright.
+       (windef.h): Include it; this achieves self-containment.
+       [_BEGIN_C_DECLS, _END_C_DECLS]: Use them.
+       [UNICODE vs. !UNICODE]: Discriminate generic symbol names, using...
+       (__AW_ALIAS__): ...this, when defining each of...
+       (DEVMODE, PDEVMODE, LPDEVMODE, DOCINFO, LPDOCINFO, LOGCOLORSPACE)
+       (LOGFONT, PLOGFONT, LPLOGFONT, EXTLOGFONT, PEXTLOGFONT, LPEXTLOGFONT)
+       (LPLOGCOLORSPACE, TEXTMETRIC, PTEXTMETRIC, LPTEXTMETRIC, GCP_RESULTS)
+       (PPOLYTEXT, LPPOLYTEXT, NEWTEXTMETRIC, PNEWTEXTMETRIC, LPNEWTEXTMETRIC)
+       (LPENUMLOGFONTEX, ENUMLOGFONTEXDV, PENUMLOGFONTEXDV, LPENUMLOGFONTEXDV)
+       (OUTLINETEXTMETRIC, POUTLINETEXTMETRIC, LPOUTLINETEXTMETRIC, POLYTEXT)
+       (LPGCP_RESULTS, DISPLAY_DEVICE, PDISPLAY_DEVICE, LPDISPLAY_DEVICE)
+       (NEWTEXTMETRICEX, ENUMLOGFONT, LPENUMLOGFONT, ENUMLOGFONTEX): ...these.
+       (__AW_SUFFIXED__): Similarly, use this when declaring each of...
+       (FONTENUMPROC, ICMENUMPROC, AddFontResource, AddFontResourceEx,
+       (CopyEnhMetaFile, CopyMetaFile, CreateColorSpace, CreateEnhMetaFile)
+       (CreateDC, CreateFont, CreateFontIndirect, CreateIC, CreateMetaFile)
+       (CreateScalableFontResource, DeviceCapabilities, EnumFontFamilies)
+       (EnumFontFamiliesEx, EnumFonts, EnumICMProfiles, ExtTextOut)
+       (GetCharABCWidths, GetCharABCWidthsFloat, GetCharacterPlacement)
+       (GetCharWidth32, GetCharWidth, GetCharWidthFloat, GetEnhMetaFile)
+       (GetEnhMetaFileDescription, GetGlyphOutline, GetICMProfile)
+       (GetKerningPairs, GetLogColorSpace, GetMetaFile, GetObject)
+       (GetOutlineTextMetrics, GetTextExtentExPoint, GetTextExtentPoint)
+       (GetTextExtentPoint32, GetTextFace, GetTextMetrics, PolyTextOut,
+       (RemoveFontResource, RemoveFontResourceEx, ResetDC, SetICMProfile)
+       (StartDoc, TextOut, UpdateICMRegKey, wglUseFontBitmaps)
+       (wglUseFontOutlines, GetGlyphIndices): ...these.
+
+2017-05-31  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Declare CONDITION_VARIABLE API, per feature request [#2314]
+
+       * include/winbase.h [_WIN32_WINNT >= _WIN32_WINNT_VISTA]
+       (CONDITION_VARIABLE, PCONDITION_VARIABLE): Define data types, and...
+       (InitializeConditionVariable, SleepConditionVariableCS)
+       (SleepConditionVariableSRW, WakeAllConditionVariable)
+       (WakeConditionVariable): ...declare prototypes.
+
+2017-05-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Declare SRWLOCK API, to support feature request [#2314]
+
+       * include/winbase.h [_WIN32_WINNT >= _WIN32_WINNT_VISTA]
+       (SRWLOCK, *PSRWLOCK): Define these data types, and declare...
+       (InitializeSRWLock, AcquireSRWLockExclusive, AcquireSRWLockShared)
+       (ReleaseSRWLockExclusive, ReleaseSRWLockShared): ...these prototypes.
+       [_WIN32_WINNT >= _WIN32_WINNT_WIN7] (TryAcquireSRWLockExclusive)
+       (TryAcquireSRWLockShared): Declare additional prototypes.
+
+2017-03-24  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Resolve potential <winbase.h> vs. <winerror.h> inconsistency.
+
+       * include/winerror.h: Tidy layout; assert copyright.
+
+       * include/winbase.h (WAIT_TIMEOUT): Redefine; make it identical to...
+       * include/winerror.h (WAIT_TIMEOUT): ...this equivalent; remove...
+       [!defined WAIT_TIMEOUT]: ...this conditional redefinition guard from
+       both locations; it permitted inconsistency between the two.
+
+2017-03-24  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Consolidate <winbase.h> version specific conditionals.
+
+       * include/winbase.h: Reorganize file content; group manifest constant
+       definitions into one nested collection of conditional blocks, with one
+       block per Windows version evolution, sorting alphabetically within each
+       block; do likewise for data type definitions and function prototypes.
+
+2017-03-20  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Tidy, and make <winbase.h> header effectively self-contained.
+
+       * include/w32api.h (__AW_ALIAS__): Rename original implementation...
+       (__AW_ALIAS_EX__): ...as this, retaining its encapsulation of...
+       (__AW_EXTENDED__): ...this; subsequently reimplement...
+       (__AW_ALIAS__): ...this, with original name, now encapsulating...
+       (__AW_SUFFIXED__): ...this.
+
+       * include/dbt.h (__AW_ALIAS__): Replace all references with...
+       (__AW_ALIAS_EX__): ...this renamed alternative, when defining...
+       (DEV_BROADCAST_DEVICEINTERFACE, PDEV_BROADCAST_DEVICEINTERFACE)
+       (DEV_BROADCAST_PORT, PDEV_BROADCAST_PORT): ...these.
+
+       * include/winbase.h: Tidy layout; assert copyright.
+       (stdarg.h, windef.h): Include them, to achieve self-containment.
+       [_BEGIN_C_DECLS, _END_C_DECLS]: Use them, as appropriate.
+       [UNICODE vs. ! UNICODE]: Replace separated declarations; use...
+       [__AW_ALIAS__]: ...this, to correctly specify each of...
+       (STARTUPINFO, LPSTARTUPINFO, WIN32_FIND_DATA, PWIN32_FIND_DATA)
+       (LPWIN32_FIND_DATA, HW_PROFILE_INFO, LPHW_PROFILE_INFO, ACTCTX)
+       (PACTCTX, PCACTCTX): ...these generic typedefs, and...
+       [__AW_SUFFIXED__]: ...this, to correctly map each of...
+       (ENUMRESLANGPROC, ENUMRESNAMEPROC, ENUMRESTYPEPROC, AddAtom)
+       (AccessCheckAndAuditAlarm, BackupEventLog, BeginUpdateResource)
+       (BuildCommDCB, BuildCommDCBAndTimeouts, CheckNameLegalDOS8Dot3)
+       (CallNamedPipe, ClearEventLog, CommConfigDialog, CopyFile, CopyFileEx)
+       (CreateActCtx, CreateDirectory, CreateDirectoryEx, CreateEvent)
+       (CreateFile, CreateFileMapping, CreateHardLink, CreateJobObject)
+       (CreateMailslot, CreateMutex, CreateNamedPipe, CreateProcess)
+       (CreateProcessAsUser, CreateSemaphore, CreateSymbolicLink)
+       (CreateWaitableTimer, DefineDosDevice, DeleteFile, EncryptFile)
+       (DeleteVolumeMountPoint, DnsHostnameToComputerName, EndUpdateResource)
+       (EnumResourceLanguages, EnumResourceNames, EnumResourceTypes)
+       (ExpandEnvironmentStrings, FatalAppExit, FileEncryptionStatus)
+       (FindActCtxSectionString, FindAtom, FindFirstChangeNotification)
+       (FindFirstFile, FindFirstFileEx, FindFirstVolume, FindNextFile)
+       (FindFirstVolumeMountPoint, FindNextVolume, FindNextVolumeMountPoint)
+       (FindResource, FindResourceEx, FormatMessage, FreeEnvironmentStrings)
+       (GetAtomName, GetBinaryType, GetCommandLine, GetCompressedFileSize)
+       (GetComputerName, GetComputerNameEx, GetCurrentDirectory)
+       (GetDefaultCommConfig, GetDiskFreeSpace, GetDiskFreeSpaceEx)
+       (GetDllDirectory, GetDriveType, GetEnvironmentStrings)
+       (GetEnvironmentVariable, GetFileAttributes, GetFileAttributesEx)
+       (GetFileSecurity, GetFinalPathNameByHandle, GetFullPathName)
+       (GetLogicalDriveStrings, GetLongPathName, GetModuleFileName)
+       (GetModuleHandle, GetModuleHandleEx, GetNamedPipeHandleState)
+       (GetPrivateProfileInt, GetPrivateProfileSection)
+       (GetPrivateProfileSectionNames, GetPrivateProfileString)
+       (GetPrivateProfileStruct, GetProfileInt, GetProfileSection)
+       (GetProfileString, GetShortPathName, GetStartupInfo)
+       (GetSystemDirectory, GetSystemWindowsDirectory, GetTempFileName)
+       (GetSystemWow64Directory, GetTempPath, GetUserName, GetVersionEx)
+       (GetVolumeInformation, GetVolumeNameForVolumeMountPoint)
+       (GetVolumePathName, GetVolumePathNamesForVolumeName, GlobalAddAtom)
+       (GetWindowsDirectory, GlobalFindAtom, GlobalGetAtomName)
+       (IsBadStringPtr, LoadLibrary, LoadLibraryEx, LogonUser)
+       (LookupAccountName, LookupAccountSid, LookupPrivilegeDisplayName)
+       (LookupPrivilegeName, LookupPrivilegeValue, lstrcat, lstrcmp)
+       (lstrcmpi, lstrcpy, lstrcpyn, lstrlen, MoveFile, MoveFileEx)
+       (MoveFileWithProgress, ObjectCloseAuditAlarm, ObjectDeleteAuditAlarm)
+       (ObjectOpenAuditAlarm, ObjectPrivilegeAuditAlarm, OpenBackupEventLog)
+       (OpenEvent, OpenEventLog, OpenFileMapping, OpenMutex, OpenSemaphore)
+       (OutputDebugString, PrivilegedServiceAuditAlarm, QueryDosDevice)
+       (ReadEventLog, RegisterEventSource, RemoveDirectory, ReplaceFile)
+       (ReportEvent, SearchPath, SetComputerName, SetCurrentDirectory)
+       (SetDefaultCommConfig, SetDllDirectory, SetEnvironmentVariable)
+       (SetFileAttributes, SetFileSecurity, SetFileShortName, SetVolumeLabel)
+       (SetFirmwareEnvironmentVariable, SetVolumeMountPoint, UpdateResource)
+       (VerifyVersionInfo, WaitNamedPipe, WritePrivateProfileSection)
+       (WritePrivateProfileString, WritePrivateProfileStruct)
+       (WriteProfileSection, WriteProfileString): ...these, and add...
+       (GetCurrentHwProfile, OpenWaitableTimer, SetComputerNameEx)
+       (GetFirmwareEnvironmentVariable): ...these previously missing generic
+       function name aliases.
+
+2017-03-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Refactor mingwrt and w32api common makefile content.
+
+       * Makefile.in (w32api-srcdist-config-files): Rename it...
+       (w32api-srcdist-common-files): ...as this phoney build rule.
+       (shared_include_file): New macro; define it, and include named file.
+       (configure, config.status, Makefile, config.status.missing, _mingw.h)
+       (w32api.h, PACKAGE_VERSION_SCRIPT, PACKAGE_VERSION_FORMAT): Factor
+       out; relocate them to new file in common parent directory...
+       * ../Makefile.comm: ...here.
+
+2017-03-12  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Correct a copyright notice update omission.
+
+       * configure.ac: Extend copyright date range to include 2017.  Also
+       clean up superfluous trailing whitespace.
+
+2017-03-09  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Fix generated header file dependencies.
+
+       * Makefile.in (_mingw.h, w32api): Make them depend on changes in...
+       [VERSION.m4]: ...this; package version changes are no longer made...
+       [configure.ac]: ...here; delete associated prerequisite reference.
+       (distclean-local): Delete them.
+
+2017-03-08  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Prepare and tag for release of w32api-5.0 package set.
+
+       * All files (wsl-5.0-release): Tag assigned.
+
+2017-02-21  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Implement basic test suite infrastructure.
+
+       * tests: New subdirectory; it hosts...
+       * tests/Makefile.in tests/testsuite.at.in tests/atlocal.in
+       * tests/headers.at: ...these new files; they implement the basic test
+       suite infrastructure, initially comprising header integrity checks.
+
+       * configure.ac (AC_PROG_CXX): Check it.
+       (AC_CONFIG_TESTDIR): Configure tests subdirectory.
+       (AC_CHECK_PROG): Check for autom4te; configure fall back if missing.
+       (AC_CONFIG_FILES): Generate tests/atlocal, tests/testsuite.at.tmp, and
+       tests/Makefile.
+
+       * Makefile.in (check test tests): New rules; all are synonymous.
+       (check-recursive): New rule; invoked by each of the preceding three.
+       (w32api-srcdist-testsuite-files): New rule; implement and use it...
+       (w32api-srcdist-files): ...here.
+
+2017-02-14  Alexander Krisak  <akrisak@users.sourceforge.net>
+
+       Add missing constant definition, per issue [#2249].
+
+       * include/winnt.h (JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE): Define it.
+
+2017-02-10  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Avoid unnecessary duplication of configuration files.
+
+       * Makefile.in (vpath install-sh): Define it; it matches...
+       (vpath %.m4): ...this; add $top_srcdir/..; search it first; delete
+       rule for creating duplicate file reference links in $top_srcdir.
+       (configure): Add '-I ..' option, when running autoconf.
+       (w32api-srcdist-files): Rename it as...
+       (w32api-srcdist-package-files): ...this; remove dependencies on...
+       (aclocal.m4 VERSION.m4 install-sh): ...these; reinstate them in...
+       (w32api-srcdist-config-files): ...this new distributable files
+       enumeration goal; add it as one new prerequisite of...
+       (w32api-srcdist-files): ...this repurposed goal; also depends on...
+       (w32api-srcdist-package-files): ...this; populate it using...
+       (SRCDIST_ADD): ...this macro; redefine it accordingly.
+
+2016-12-08  Jerzy Tarasiuk  <jz_fuw@users.sourceforge.net>
+
+       Correct typo in <ddk/ntdddisk.h>; fix bug [#2323]
+
+       * include/ddk/ntdddisk.h (IOCTL_DISK_BASE): Correct definition;
+       it was previously transcribed incorrectly, as being equivalent to...
+       (FILE_TYPE_DISK): ...this, but it should have been equivalent to...
+       (FILE_DEVICE_DISK): ...this.
+
+2016-12-08  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Rationalize <winuser.h> ANSI vs. UNICODE definition strategy.
+
+       * include/winuser.h [UNICODE, !UNICODE]: Replace individual pairs of
+       alternative generic symbol mapping definitions, and typedefs, with...
+       (__AW_SUFFIXED__): ...one such macro expansion per pair; collate with
+       their respective ANSI and UNICODE specific references.
+
+2016-11-26  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Deprecate obsolete <winable.h> and <pbt.h> headers.
+
+       * Makefile.in (%.h.in): Generalize vpath definition.
+       (obsolete_headers, obsolete_header_script, w32api_dist_headers)
+       (w32api_generated_headers, replace_headers, macro_name): New macros.
+       (install-w32api-headers): Add dependency on w32api_dist_headers.
+       (%.h): New static pattern rule; it generates generic dependants of...
+       * include/obsolete.h.in: ...this new template for obsolete headers.
+
+       * include/winable.h include/pbt.h: Delete them; they are obsolete;
+       replace them by install-time generated generic stubs.
+
+2016-11-25  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Update <winuser.h> and <dbt.h>; fix issue [#2317].
+
+       * include/winuser.h: Tidy layout; add copyright notice.
+       [WINVER, _WIN32_WINDOWS, _WIN32_WINNT]: Compare them symbolically.
+       (__WINUSER_H_SOURCED__): New internal macro; define it, to facilitate
+       selective inclusion of content from other headers; delete when done.
+       (BSM_ALLCOMPONENTS, BSF_ALLOWSFW, BSM_APPLICATIONS, BSM_ALLDESKTOPS)
+       (BSM_INSTALLABLEDRIVERS, BSM_NETDRIVER, BSM_VXDS, BSF_FLUSHDISK)
+       (BSF_FORCEIFHUNG, BSF_IGNORECURRENTTASK, BSF_LUID, BSF_NOHANG)
+       (BSF_NOTIMEOUTIFNOTHUNG, BSF_POSTMESSAGE, BSF_QUERY, BSF_RETURNHDESK)
+       (BSF_SENDNOTIFYMESSAGE): Delete; do not define them locally; retrieve
+       them selectively from <dbt.h>, where they are properly defined.
+       [WINVER >= WIN2K/WIN98] (BlockInput): Add missing declaration.
+       (KillTimer, TIMERPROC): Declare timer event parameters as UINT_PTR;
+       formerly UINT, which doesn't match 64-bit size required for Win64.
+       (SetTimer): Likewise; also declare similar return type.
+       (WINEVENTPROC): Add missing CALLBACK attribute.
+       (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+
+       * include/w32api.h (__AW_ALIAS__): New macro; define it.
+       * include/sdkddkver.h (_WIN32_WINNT_NT4SP3): New macro; define it.
+
+       * include/dbt.h: Tidy layout; add copyright notice.
+       (_BEGIN_C_DECLS, _END_C_DECLS): Also prefer them here.
+       [__WINUSER_H_SOURCED__] (_DBT_H): Do not define; expose only...
+       (BSM_ALLCOMPONENTS, BSF_ALLOWSFW, BSM_APPLICATIONS, BSM_ALLDESKTOPS)
+       (BSM_INSTALLABLEDRIVERS, BSM_NETDRIVER, BSM_VXDS, BSF_FLUSHDISK)
+       (BSF_FORCEIFHUNG, BSF_IGNORECURRENTTASK, BSF_LUID, BSF_NOHANG)
+       (BSF_NOTIMEOUTIFNOTHUNG, BSF_POSTMESSAGE, BSF_QUERY, BSF_RETURNHDESK)
+       (BSF_SENDNOTIFYMESSAGE): ...these, to be duplicated in <winuser.h>
+       (__AW_ALIAS__): Use it to define ANSI/UNICODE specific aliases for...
+       (DEV_BROADCAST_PORT, DEV_BROADCAST_DEVICEINTERFACE): ...these generic
+       structure typedef names, and their respectively corresponding...
+       (PDEV_BROADCAST_PORT, PDEV_BROADCAST_DEVICEINTERFACE): ...pointer
+       type names.
+
+2016-09-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Fix a minor ISO-C++11 conformity issue.
+
+       * include/winnt.h (GetCurrentFiber): Insert spaces, as required
+       by ISO-C++11, between concatenated string literal elements.
+       (GetFiberData, NtCurrentTeb): Likewise.
+
+2016-08-01  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Merge w32api-3.18.1 legacy updates to 5.0-active branch.
+
+       * include/ddk/winddk.h: Update per issue [#2307] resolution.
+       * include/ddk/ntdddisk.h include/ddk/ntddstor.h: Likewise.
+
+2016-07-21  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Prepare and tag all files for release of w32api-3.18.1
+
+       * configure.ac (AC_INIT): Increment patch level to 3.18.1
+
+2016-07-21  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Resolve improper macro expansion issue [#2307].
+
+       * include/ddk/winddk.h (__FILE_AM_BUFFERED, __FILE_RD_BUFFERED)
+       (__FILE_RW_BUFFERED): Redefine, encapsulating the expansion of each
+       dependent macro WITHIN the expansion of each of these; hence...
+
+       * include/ddk/ntdddisk.h (IOCTL_DISK_GET_DRIVE_GEOMETRY)
+       (IOCTL_DISK_FORMAT_TRACKS_EX, IOCTL_DISK_REASSIGN_BLOCKS)
+       (IOCTL_DISK_GET_MEDIA_TYPES, IOCTL_DISK_CONTROLLER_NUMBER)
+       (IOCTL_DISK_GET_DRIVE_LAYOUT, IOCTL_DISK_SET_DRIVE_LAYOUT)
+       (IOCTL_DISK_GET_PARTITION_INFO, IOCTL_DISK_SET_PARTITION_INFO)
+       (IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, IOCTL_DISK_UPDATE_DRIVE_SIZE)
+       (IOCTL_DISK_VERIFY, IOCTL_DISK_FORMAT_TRACKS, IOCTL_DISK_PERFORMANCE)
+       (IOCTL_DISK_CREATE_DISK, IOCTL_DISK_RESERVE, IOCTL_DISK_IS_WRITABLE)
+       (IOCTL_DISK_GET_PARTITION_INFO_EX, IOCTL_DISK_SET_PARTITION_INFO_EX)
+       (IOCTL_DISK_GET_CACHE_INFORMATION, IOCTL_DISK_SET_CACHE_INFORMATION)
+       (IOCTL_DISK_INTERNAL_SET_VERIFY, IOCTL_DISK_INTERNAL_CLEAR_VERIFY)
+       (IOCTL_DISK_GET_DRIVE_LAYOUT_EX, IOCTL_DISK_SET_DRIVE_LAYOUT_EX)
+       (IOCTL_DISK_GROW_PARTITION, IOCTL_DISK_DELETE_DRIVE_LAYOUT)
+       (IOCTL_DISK_GET_LENGTH_INFO, IOCTL_DISK_PERFORMANCE_OFF)
+       (IOCTL_DISK_CHECK_VERIFY, IOCTL_DISK_FIND_NEW_DEVICES)
+       (SMART_GET_VERSION, SMART_RCV_DRIVE_DATA, SMART_SEND_DRIVE_COMMAND):
+       ...adjust these dependent macro definitions accordingly.
+
+       * include/ddk/ntddstor.h (IOCTL_STORAGE_CHECK_VERIFY)
+       (IOCTL_STORAGE_CHECK_VERIFY2, IOCTL_STORAGE_MEDIA_REMOVAL)
+       (IOCTL_STORAGE_EJECTION_CONTROL, IOCTL_STORAGE_MCN_CONTROL)
+       (IOCTL_STORAGE_GET_DEVICE_NUMBER, IOCTL_STORAGE_PREDICT_FAILURE)
+       (IOCTL_STORAGE_GET_MEDIA_TYPES, IOCTL_STORAGE_GET_MEDIA_TYPES_EX)
+       (IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER, IOCTL_STORAGE_QUERY_PROPERTY)
+       (IOCTL_STORAGE_RELEASE, IOCTL_STORAGE_FIND_NEW_DEVICES)
+       (IOCTL_STORAGE_RESET_BUS, IOCTL_STORAGE_RESET_DEVICE)
+       (IOCTL_STORAGE_EJECT_MEDIA, IOCTL_STORAGE_LOAD_MEDIA)
+       (IOCTL_STORAGE_LOAD_MEDIA2, IOCTL_STORAGE_RESERVE): Likewise.
+
+2016-07-19  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Update install-sh to match mingw.org/build-aux package.
+
+       * install-sh: Delete it; use version in parent directory instead,
+       recreating local copy, (as symlink, if supported), on demand.
+
+2016-07-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Eliminate redundant configuration files.
+
+       * aclocal.m4 VERSION.m4: Delete them; restore them on demand, via...
+       * Makefile.in ($top_srcdir/../%): ...this symlink dependency rule.
+
+       * configure.ac (AC_PROG_LN_S): Add configuration check.
+
+2016-07-16  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Discard redundant config.guess and config.sub files.
+
+       * config.guess config.sub: Delete them; they are no longer required.
+       * Makefile.in (SRCDIST_ADD): Remove related references.
+
+2016-07-16  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Merge recent legacy branch updates to 5.0-active branch.
+
+       * Makefile.in include/ddk/ntifs.h include/ddk/winddk.h
+       * include/sdkddkver.h include/setupapi.h include/windows.h
+       * include/winnt.h include/winuser.h include/winver.h
+       * include/wtsapi32.h lib/wtsapi32.def: Updated.
+
+2016-07-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Prepare and tag all files for release of w32api-3.18.
+
+2016-07-04  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Do not pass MAKEFLAGS explicitly, when invoking recursive make.
+
+       * Makefile.in (install-strip, uninstall): Delete explicit $(MAKEFLAGS)
+       references from $(MAKE) command lines; make passes them implicitly.
+
+2016-06-04  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Backport MemoryBarrier() implementation from 4.0-dev branch.
+
+       * include/winnt.h (MemoryBarrier): Implement it; this is a rework of
+       Earnie's original inline implementation, but declared 'static' to fix
+       issue [#1661]; it is further modified, to avoid the broken pre-Vista
+       fallback identified by issue [#2131], and to remove references to...
+       (__faststorefence, __mf): ...these MSVC intrinsics, replaced by...
+       [defined __ATOMIC_SEQ_CST] (__atomic_thread_fence): ...this, or...
+       [GCC >= 4.4] (__sync_synchronize): ...this, as appropriate, falling
+       back to inline assembly code when necessary.
+
+       * include/ddk/winddk.h (KeMemoryBarrier): Delegate it to...
+       (MemoryBarrier): ...this, so avoiding the potential to emit invalid
+       code, for hosts which do not support the SSE2 'mfence' instruction.
+
+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-12  Keith Marshall  <keithmarshall@users.sourceforge.net>
 
        Synchronize package version management with MinGW Runtime.
        (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) 
+       (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)
        * 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.
 2004-10-15  Robert Wruck  <wruck@tweerlei.de>
            Danny Smith  <dannysmith@users.sourceforge.net>
 
-       = include/winbase.h (InitializeSListHead, Interlocked*):
+       * include/winbase.h (InitializeSListHead, Interlocked*):
        Guard with !__USE_NTOSKRNL__.
 
        * include/ddk/ntddk.h (__USE_NTOSKRNL__): Define.
 
 2001-12-15  Andrew Begel  <abegel@eecs.berkeley.edu>
 
-       *include/winbase.h (CreateHardLink): Correct typo in UNICODE
+       * include/winbase.h (CreateHardLink): Correct typo in UNICODE
        mappings.
 
 2001-12-11  Phillip Susi  <psusi@cfl.rr.com>