+2017-11-28 Keith Marshall <keith@users.osdn.me>
+
+ Make <wsnetbs.h> header effectively self-contained.
+
+ * include/wsnetbs.h: Assert copyright; tidy layout; include
+ "_winsock.h", so making this header effectively self-contained, and
+ thus relieving the user of a responsibility for ensuring that some
+ other appropriate WinSock header has been included first.
+
+2017-11-28 Keith Marshall <keith@users.osdn.me>
+
+ Factor <winsock.h> duplicate content out of <winsock2.h>
+
+ * include/winsock2.h: Remove all declarations and definitions which
+ are identically specified in <winsock.h>, but keep them in scope by...
+ [! defined _WINSOCK_H]: ...including <winsock.h> itself; override any
+ declarations and definitions therefrom, which introduce conflicts.
+ [defined _WINSOCK_H]: Diagnose misuse; suppress all further
+ definitions and declarations.
+
+ * include/winsock.h (SOMAXCONN): Add comment; note disparity between
+ WinSock v1.1 and WinSock v2, the latter of which will override when
+ correctly included by <winsock2.h>
+
+2017-11-24 Keith Marshall <keith@users.osdn.me>
+
+ Make <winsock.h> and <winsock2.h> duplicate code congruent.
+
+ * include/winsock.h (SOMAXCONN): Move definition into...
+ [!__INSIDE_MSYS__]: ...this guarded scope.
+
+ * include/winsock2.h: Rearrange as necessary.
+ [_BEGIN_C_DECLS, _END_C_DECLS]: Keep them balanced.
+ (_USE_SYS_TYPES_FD_SET): Define and use, as in <winsock.h>
+ [!_WINSOCK_ANOMALOUS_TYPEDEFS] (FD_SET): Declare function, not type.
+ [!_WINSOCK_ANOMALOUS_TYPEDEFS] (PFD_SET, LPFD_SET): Suppress typedefs.
+ (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Reimplement, as in <winsock.h>
+ (FD_READ_BIT, FD_WRITE_BIT, FD_OOB_BIT, FD_ACCEPT_BIT)
+ (FD_CONNECT_BIT, FD_CLOSE_BIT, FD_QOS_BIT, FD_GROUP_QOS_BIT)
+ (FD_ROUTING_INTERFACE_CHANGE_BIT, FD_ADDRESS_LIST_CHANGE_BIT)
+ (FD_MAX_EVENTS): Enumerate them, as in <winsock.h>
+ [!(defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)]: Recast...
+ [!defined __INSIDE_MSYS__]: ...as this, throughout.
+ (gethostname): Update function prototype, adding...
+ (WINSOCK_API_LINKAGE): ...this DLL import control attribute.
+
+ * include/ws2spi.h: Tidy layout; assert copyright.
+ [_BEGIN_C_DECLS, _END_C_DECLS]: Use them, as appropriate.
+ (LPFD_SET): Delete all type references; use...
+ (fd_set *): ...this instead.
+
+2017-11-14 Keith Marshall <keith@users.osdn.me>
+
+ Establish default selection for WinSock API declaration.
+
+ * include/windows.h include/nspapi.h: Include...
+ * include/_winsock.h: ...this new system private header; it selects...
+ [_WIN32_WINNT >= _WIN32_WINNT_NT4]: ...WinSock v2 API declarations, as
+ provided by conditional inclusion of <winsock2.h>, otherwise...
+ [_WIN32_WINNT < _WIN32_WINNT_NT4]: ...WinSock v1.1 API declarations,
+ as provided by inclusion of <winsock.h>
+
+ * tests/headers.at <_winsock.h>: Add reference.
+
+2017-11-14 Keith Marshall <keith@users.osdn.me>
+
+ Update gethostname() declaration; drop Cygwin specificity.
+
+ * include/winsock.h (gethostname): Declare unconditionally; add...
+ (WINSOCK_API_LINKAGE): ...this DLL import control attribute.
+ [!(defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)]: Recast...
+ [!defined __INSIDE_MSYS__]: ...as this, throughout.
+
+2017-11-09 Keith Marshall <keith@users.osdn.me>
+
+ Normalize fd_set event macros for <winsock2.h> compatibility.
+
+ * include/winsock.h (FD_READ, FD_WRITE, FD_OOB, FD_ACCEPT, FD_CONNECT)
+ (FD_CLOSE): Redefine them, deriving respective values as shifts by...
+ (FD_READ_BIT, FD_WRITE_BIT, FD_OOB_BIT, FD_ACCEPT_BIT, FD_CONNECT_BIT)
+ (FD_CLOSE_BIT): ...this new enumerated count sequence, applying each
+ count to a bit flag with value of 1, in each case respectively.
+ [_WINSOCK2_H]: Extend shift count enumeration, to include...
+ (FD_QOS_BIT, FD_GROUP_QOS_BIT, FD_ROUTING_INTERFACE_CHANGE_BIT)
+ (FD_ADDRESS_LIST_CHANGE_BIT): ...these additional counts; hence...
+ [_WINSOCK2_H] (FD_QOS, FD_GROUP_QOS, FD_ROUTING_INTERFACE_CHANGE)
+ [_WINSOCK2_H] (FD_ADDRESS_LIST_CHANGE): ...define each of these.
+ (FD_MAX_EVENTS): Define unconditionally; it represents a shift count
+ of 1 greater than the offset of the last defined flag; hence...
+ (FD_ALL_EVENTS): ...derive this mask for all event flags.
+
+2017-11-09 Keith Marshall <keith@users.osdn.me>
+
+ Filter potential WinSock v2 conflicts out of <winsock.h>
+
+ * include/winsock.h [_WINSOCK2_H] <mswsock.h>: Do not include it.
+ [_WINSOCK2_H] (IP_MULTICAST_IF, IP_MULTICAST_TTL, IP_MULTICAST_LOOP)
+ (IP_ADD_MEMBERSHIP, IP_DROP_MEMBERSHIP, IP_DEFAULT_MULTICAST_TTL)
+ (IP_DEFAULT_MULTICAST_LOOP, IP_MAX_MEMBERSHIPS, struct ip_mreq): Do
+ not define any of these; they are not compatible with WinSock v2.
+ [_WINSOCK2_H] (SOMAXCONN): Do not define it; it will be defined
+ appropiately in <winsock2.h>
+
+2017-11-09 Keith Marshall <keith@users.osdn.me>
+
+ Filter out <winsock.h> typedef anomalies.
+
+ * include/winsock.h (FD_SET, PFD_SET, LPFD_SET): If user defines...
+ [_WINSOCK_ANOMALOUS_TYPEDEFS]: ...this new feature test macro, expose
+ them as type definitions, but warn of potential conflict with...
+ [!_WINSOCK_ANOMALOUS_TYPEDEFS] (FD_SET): ...this POSIX.1 mandated
+ function; declare its prototype.
+
+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.
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>