This list is closed, nobody may subscribe to it.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(12) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(13) |
Feb
(2) |
Mar
(1) |
Apr
(1) |
May
|
Jun
(38) |
Jul
(10) |
Aug
(70) |
Sep
(63) |
Oct
(61) |
Nov
(41) |
Dec
(28) |
| 2002 |
Jan
(43) |
Feb
(11) |
Mar
(9) |
Apr
(2) |
May
(97) |
Jun
(94) |
Jul
(13) |
Aug
(49) |
Sep
(41) |
Oct
(24) |
Nov
(55) |
Dec
(126) |
| 2003 |
Jan
(90) |
Feb
(75) |
Mar
(32) |
Apr
(24) |
May
(54) |
Jun
(54) |
Jul
(22) |
Aug
(4) |
Sep
(16) |
Oct
(8) |
Nov
(6) |
Dec
(13) |
| 2004 |
Jan
|
Feb
(17) |
Mar
(60) |
Apr
(21) |
May
(12) |
Jun
|
Jul
(13) |
Aug
|
Sep
(29) |
Oct
|
Nov
|
Dec
(2) |
| 2005 |
Jan
(22) |
Feb
(3) |
Mar
(2) |
Apr
(13) |
May
(82) |
Jun
(18) |
Jul
(30) |
Aug
(17) |
Sep
(3) |
Oct
(19) |
Nov
(4) |
Dec
(8) |
| 2006 |
Jan
(1) |
Feb
(6) |
Mar
(2) |
Apr
(40) |
May
|
Jun
(21) |
Jul
(1) |
Aug
(410) |
Sep
(3) |
Oct
|
Nov
(56) |
Dec
(7) |
| 2007 |
Jan
(19) |
Feb
|
Mar
(4) |
Apr
(8) |
May
(19) |
Jun
(6) |
Jul
(4) |
Aug
(6) |
Sep
|
Oct
(4) |
Nov
(3) |
Dec
(2) |
| 2008 |
Jan
(13) |
Feb
(18) |
Mar
(12) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
(6) |
Mar
(8) |
Apr
(2) |
May
(2) |
Jun
|
Jul
|
Aug
(2) |
Sep
(11) |
Oct
(13) |
Nov
(17) |
Dec
(6) |
| 2010 |
Jan
(24) |
Feb
(10) |
Mar
(27) |
Apr
(20) |
May
(108) |
Jun
(8) |
Jul
(23) |
Aug
(38) |
Sep
(49) |
Oct
(17) |
Nov
(12) |
Dec
(14) |
| 2011 |
Jan
(17) |
Feb
(7) |
Mar
(28) |
Apr
(8) |
May
(20) |
Jun
(11) |
Jul
(7) |
Aug
(12) |
Sep
(4) |
Oct
(20) |
Nov
(19) |
Dec
(2) |
| 2012 |
Jan
(2) |
Feb
(6) |
Mar
(5) |
Apr
(24) |
May
(5) |
Jun
(4) |
Jul
(6) |
Aug
(18) |
Sep
(38) |
Oct
(26) |
Nov
(12) |
Dec
(6) |
| 2013 |
Jan
(19) |
Feb
(18) |
Mar
(44) |
Apr
(35) |
May
(18) |
Jun
(21) |
Jul
(10) |
Aug
(19) |
Sep
(44) |
Oct
(25) |
Nov
(1) |
Dec
(2) |
| 2014 |
Jan
(8) |
Feb
|
Mar
|
Apr
(5) |
May
(1) |
Jun
(3) |
Jul
|
Aug
(3) |
Sep
|
Oct
(4) |
Nov
(4) |
Dec
(7) |
| 2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(4) |
Jul
(6) |
Aug
(2) |
Sep
(8) |
Oct
(2) |
Nov
(1) |
Dec
(3) |
| 2016 |
Jan
(7) |
Feb
(9) |
Mar
(5) |
Apr
(5) |
May
(9) |
Jun
(4) |
Jul
(20) |
Aug
(4) |
Sep
(7) |
Oct
(6) |
Nov
(9) |
Dec
(2) |
| 2017 |
Jan
(7) |
Feb
(7) |
Mar
(5) |
Apr
|
May
(1) |
Jun
(4) |
Jul
(12) |
Aug
(4) |
Sep
(1) |
Oct
(4) |
Nov
(11) |
Dec
(14) |
| 2018 |
Jan
(3) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
1
|
2
|
3
|
4
|
|
5
|
6
(1) |
7
(1) |
8
(2) |
9
(1) |
10
|
11
|
|
12
|
13
|
14
(2) |
15
|
16
|
17
|
18
|
|
19
|
20
|
21
|
22
|
23
|
24
(1) |
25
|
|
26
|
27
|
28
(3) |
29
|
30
|
|
|
|
From: Keith M. <no...@so...> - 2017-11-28 17:34:27
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via 7cd51d65489ca65c0e35725ecc349a51ba0cc95a (commit)
from d4d38f3736b22bb3b91b9f9010093a877a0dd0bd (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/7cd51d65489ca65c0e35725ecc349a51ba0cc95a/
commit 7cd51d65489ca65c0e35725ecc349a51ba0cc95a
Author: Keith Marshall <ke...@us...>
Date: Tue Nov 28 17:33:30 2017 +0000
Handle indeterminate FLT_EVAL_METHOD; fix issue [#2352].
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 1fed35f..9fb4f26 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,14 @@
+2017-11-28 Keith Marshall <ke...@us...>
+
+ Handle indeterminate FLT_EVAL_METHOD; fix issue [#2352].
+
+ * include/math.h [FLT_EVAL_METHOD == 0 || FLT_EVAL_METHOD == 1]
+ (float_t, double_t): Define them explicitly, as appropriate for each
+ of these two specific cases only; otherwise, define them as if for...
+ [FLT_EVAL_METHOD == 2]: ...this explicit case, but also apply it as a
+ suitable default compromise for the indeterminate case, in which...
+ [FLT_EVAL_METHOD != 2]: ...emit indeterminacy warning.
+
2017-10-25 Keith Marshall <kei...@us...>
Include, and make <sys/bsdtypes.h> test suite safe.
diff --git a/mingwrt/include/math.h b/mingwrt/include/math.h
index 2ac331c..ac30253 100644
--- a/mingwrt/include/math.h
+++ b/mingwrt/include/math.h
@@ -326,28 +326,48 @@ _CRTIMP int __cdecl _set_SSE2_enable (int);
# endif /* __MINGW_GNUC_PREREQ(3, 3) */
-#ifdef __FLT_EVAL_METHOD__
-/* Use the compiler's builtin definition for FLT_EVAL_METHOD
- * to establish appropriate float_t and double_t typedefs.
+/* Use the compiler's internal definition for FLT_EVAL_METHOD, if one
+ * is available, to establish appropriate float_t and double_t typedefs;
+ * in the case of GCC, this is specified as __FLT_EVAL_METHOD__, which
+ * is expected to be assigned standardized values of 0, 1, or 2, (or
+ * exceptionally, a value of -1, representing indeterminacy).
*/
+#if ! defined __FLT_EVAL_METHOD__ || __valueless(__FLT_EVAL_METHOD__) \
+ || (__FLT_EVAL_METHOD__ - 0) < 0 || (__FLT_EVAL_METHOD__ - 0) > 1
+ /* __FLT_EVAL_METHOD__ has not been defined, or it is defined with no
+ * value, or with a value of -1 (or less), or a value of 2 or more; in
+ * the specific case of a value of 2, this represents an explicit choice
+ * of the IX387 FPU configuration, while in each of the other cases, we
+ * implicitly fall back to this same default configuration.
+ *
+ * NOTE: this configuration is correct for X87 FPU computations, (for
+ * which __FLT_EVAL_METHOD__ is correctly specified as 2); however...
+ */
+# if defined __FLT_EVAL_METHOD__ && (__FLT_EVAL_METHOD__ - 0) != 2
+ /* ...due to a GCC bug, introduced in GCC-6 and persisting into later
+ * versions, it may be selected via __FLT_EVAL_METHOD__ == -1, for the
+ * case of the "-msse -mfpmath=sse" option combination. In this case,
+ * it is (at best) an unsatisfactory compromise; to avoid it, you may
+ * prefer to adopt "-mfpmath=387", or "-msse2 -mfpmath=sse" instead.
+ */
+# warning "Default FLT_EVAL_METHOD is inderminate; assuming X87 semantics."
+# endif
+ typedef long double float_t;
+ typedef long double double_t;
+
+#else
+ /* __FLT_EVAL_METHOD__ must have been defined with an explicit value
+ * of either 0 or 1; select the corresponding SSE configuration which
+ * is applicable in each case.
+ */
# if __FLT_EVAL_METHOD__ == 0
typedef float float_t;
typedef double double_t;
-# elif __FLT_EVAL_METHOD__ == 1
+# else /* __FLT_EVAL_METHOD__ == 1 */
typedef double float_t;
typedef double double_t;
-
-# elif __FLT_EVAL_METHOD__ == 2
- typedef long double float_t;
- typedef long double double_t;
-
# endif
-#else
- /* ix87 FPU default
- */
- typedef long double float_t;
- typedef long double double_t;
#endif
/* 7.12.3.1
-----------------------------------------------------------------------
Summary of changes:
mingwrt/ChangeLog | 11 +++++++++++
mingwrt/include/math.h | 48 ++++++++++++++++++++++++++++++++++--------------
2 files changed, 45 insertions(+), 14 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2017-11-28 16:50:58
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via d4d38f3736b22bb3b91b9f9010093a877a0dd0bd (commit)
from 4aa4a7a511f0fb7bf267088539aed97af93e4b71 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/d4d38f3736b22bb3b91b9f9010093a877a0dd0bd/
commit d4d38f3736b22bb3b91b9f9010093a877a0dd0bd
Author: Keith Marshall <ke...@us...>
Date: Tue Nov 28 16:48:29 2017 +0000
Make <wsnetbs.h> header effectively self-contained.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index e1919ca..c806b90 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,5 +1,14 @@
2017-11-28 Keith Marshall <ke...@us...>
+ 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 <ke...@us...>
+
Factor <winsock.h> duplicate content out of <winsock2.h>
* include/winsock2.h: Remove all declarations and definitions which
diff --git a/w32api/include/wsnetbs.h b/w32api/include/wsnetbs.h
index e435b5d..9914efc 100644
--- a/w32api/include/wsnetbs.h
+++ b/w32api/include/wsnetbs.h
@@ -1,35 +1,66 @@
+/*
+ * wsnetbs.h
+ *
+ * NetBIOS extensions to the standard WinSock API.
+ *
+ * $Id$
+ *
+ * Written by Kai Henningsen <kai...@us...>
+ * Copyright (C) 2002, 2017, MinGW.org Project
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
#ifndef _WSNETBS_H
-#define _WSNETBS_H
-#if __GNUC__ >=3
#pragma GCC system_header
-#endif
+#define _WSNETBS_H
-#define NETBIOS_NAME_LENGTH 16
-#define NETBIOS_UNIQUE_NAME 0
-#define NETBIOS_GROUP_NAME 1
-#define NETBIOS_TYPE_QUICK_UNIQUE 2
-#define NETBIOS_TYPE_QUICK_GROUP 3
+#define NETBIOS_NAME_LENGTH 16
+#define NETBIOS_UNIQUE_NAME 0
+#define NETBIOS_GROUP_NAME 1
+#define NETBIOS_TYPE_QUICK_UNIQUE 2
+#define NETBIOS_TYPE_QUICK_GROUP 3
#ifndef RC_INVOKED
-typedef struct sockaddr_nb {
- short snb_family;
- u_short snb_type;
- char snb_name[NETBIOS_NAME_LENGTH];
+
+#include "_winsock.h"
+
+typedef struct sockaddr_nb
+{ short snb_family;
+ u_short snb_type;
+ char snb_name[NETBIOS_NAME_LENGTH];
} SOCKADDR_NB, *PSOCKADDR_NB, *LPSOCKADDR_NB;
-#define SET_NETBIOS_SOCKADDR(_snb,_type,_name,_port) \
-{ \
- register int _i; \
- register char *_n = (_name); \
- register PSOCKADDR_NB _s = (_snb); \
- _s->snb_family = AF_NETBIOS; \
- _s->snb_type = (_type); \
- for (_i=0; _n[_i] != '\0' && _i<NETBIOS_NAME_LENGTH-1; _i++) { \
- _s->snb_name[_i] = _n[_i]; \
- } \
- for (; _i<NETBIOS_NAME_LENGTH-1; _i++) { \
- _s->snb_name[_i] = ' '; \
- } \
- _s->snb_name[NETBIOS_NAME_LENGTH-1] = (_port); \
-}
-#endif /* RC_INVOKED */
-#endif
+
+#define SET_NETBIOS_SOCKADDR(_snb,_type,_name,_port) \
+ { register int _i; \
+ register char *_n = (_name); \
+ register PSOCKADDR_NB _s = (_snb); \
+ _s->snb_family = AF_NETBIOS; \
+ _s->snb_type = (_type); \
+ for (_i = 0; _n[_i] != '\0' && _i < NETBIOS_NAME_LENGTH - 1; _i++) \
+ { _s->snb_name[_i] = _n[_i]; } \
+ while (_i < NETBIOS_NAME_LENGTH - 1) \
+ { _s->snb_name[_i++] = ' '; } \
+ _s->snb_name[NETBIOS_NAME_LENGTH - 1] = (_port); \
+ }
+
+#endif /* RC_INVOKED */
+#endif /* !_WSNETBS_H: $RCSfile$: end of file */
-----------------------------------------------------------------------
Summary of changes:
w32api/ChangeLog | 9 +++++
w32api/include/wsnetbs.h | 89 ++++++++++++++++++++++++++++++++----------------
2 files changed, 69 insertions(+), 29 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2017-11-28 13:29:16
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via 4aa4a7a511f0fb7bf267088539aed97af93e4b71 (commit)
from 411a15dacafc564d2620284f0393e1879488761e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/4aa4a7a511f0fb7bf267088539aed97af93e4b71/
commit 4aa4a7a511f0fb7bf267088539aed97af93e4b71
Author: Keith Marshall <ke...@us...>
Date: Tue Nov 28 13:28:34 2017 +0000
Factor <winsock.h> duplicate content out of <winsock2.h>
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 5e95b34..e1919ca 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,18 @@
+2017-11-28 Keith Marshall <ke...@us...>
+
+ 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 <ke...@us...>
Make <winsock.h> and <winsock2.h> duplicate code congruent.
diff --git a/w32api/include/winsock.h b/w32api/include/winsock.h
index 8b83d0c..08967b3 100644
--- a/w32api/include/winsock.h
+++ b/w32api/include/winsock.h
@@ -498,6 +498,11 @@ struct sockproto
#ifndef __INSIDE_MSYS__
+/* This definition of SOMAXCONN is correct for WinSock v1.1, but not
+ * for WinSock v2; we define it thus here, but note that, if included
+ * by <winsock2.h>, it will subsequently be overridden by the correct
+ * WinSock v2 definition.
+ */
#define SOMAXCONN 5
#define MSG_OOB 1
diff --git a/w32api/include/winsock2.h b/w32api/include/winsock2.h
index 328e00e..cdd1843 100644
--- a/w32api/include/winsock2.h
+++ b/w32api/include/winsock2.h
@@ -38,689 +38,29 @@
* Portions Copyright (C) 1993 by Digital Equipment Corporation.
*
*/
-#if !(defined _WINSOCK2_H || defined _WINSOCK_H)
+#ifndef _WINSOCK2_H
#pragma GCC system_header
#define _WINSOCK2_H
-/* WinSock v2 deprecates several features, which are standard
- * in WinSock v1.1; their declarations remain in scope, but we
- * define this qualifying macro up-front, to ensure that the
- * deprecated status is recorded.
+#ifdef _WINSOCK_H /* included prematurely */
+/* Oops! <winsock.h> appears to have been included already, which now
+ * precludes any use of WinSock v2 protocol.
*/
-#define __WINSOCK2_DEPRECATED __MINGW_ATTRIB_DEPRECATED
-
-#define _WINSOCK_H /* to prevent later inclusion of winsock.h */
-
-#define _GNU_H_WINDOWS32_SOCKETS
-#define __WINSOCK_H_SOURCED__ 1
-
-#include <windows.h>
-#include <winerror.h>
-#include <sys/bsdtypes.h>
-#include <sys/time.h>
-
-#ifndef WINSOCK_API_LINKAGE
-#ifdef __W32API_USE_DLLIMPORT__
-#define WINSOCK_API_LINKAGE DECLSPEC_IMPORT
-#else
-#define WINSOCK_API_LINKAGE
-#endif
-#endif
-
-#if ! defined _USE_SYS_TYPES_FD_SET && defined USE_SYS_TYPES_FD_SET
-/* Originally defined by the deprecated name, USE_SYS_TYPES_FD_SET, users
- * may specify this to suppress warnings, in the event that (incompatible)
- * fd_set manipulation macros may have been inherited from <sys/types.h>;
- * accommodate use of the deprecated feature test name.
- */
-#warning "Feature test macro USE_SYS_TYPES_FD_SET is deprecated."
-#warning "Use the _USE_SYS_TYPES_FD_SET feature test macro instead."
-#define _USE_SYS_TYPES_FD_SET 1
-#endif
-
-_BEGIN_C_DECLS
-
-/* Names common to Winsock1.1 and Winsock2
- */
-typedef u_int SOCKET;
-
-#ifndef FD_SETSIZE
-#define FD_SETSIZE 64
-#endif
-
-/* shutdown() how types */
-#define SD_RECEIVE 0x00
-#define SD_SEND 0x01
-#define SD_BOTH 0x02
-
-#ifndef _SYS_TYPES_FD_SET
-/* fd_set may have been defined by the newlib <sys/types.h>, if the
- * internal __USE_W32_SOCKETS feature test has not been enabled.
- */
-#undef fd_set
-typedef
-struct fd_set
-{ u_int fd_count;
- SOCKET fd_array[FD_SETSIZE];
-} fd_set;
-
-#ifndef FD_ISSET
-int FD_ISSET (SOCKET, fd_set *);
-#define FD_ISSET( __fd, __set ) __FD_ISSET ((__fd), (__set))
-
-/* Microsoft provide this library function equivalent of the FD_ISSET
- * macro, and erroneously claim that it is neccessary to implement the
- * macro. We could just as easily implement it entirely inline...
- */
-int PASCAL __WSAFDIsSet (SOCKET, fd_set *);
-/* ...but, given the availability of the library function, we may just
- * as well use it.
- */
-__CRT_ALIAS int __FD_ISSET( SOCKET __fd, fd_set *__set )
-{ return __WSAFDIsSet (__fd, __set); }
-#endif /* ! defined FD_ISSET */
-
-#ifndef FD_SET
-#if !_WINSOCK_ANOMALOUS_TYPEDEFS
-/* WinSock is intended to mimic the Berkeley Sockets API, for which
- * POSIX.1 provides a reference specification; this states that FD_SET
- * may be implemented as either a macro, or as a function. The reference
- * <winsock.h> implementation at http://www.sockets.com/winsock.htm#WinsockH
- * includes a typedef for FD_SET, which a) conflicts with the latter POSIX.1
- * provision, and b) creates potential confusion with the former. Thus, we
- * prefer to conform with POSIX.1 functional semantics, and recommend that
- * users avoid the potentially confusing FD_SET typedefs, so allowing us
- * to provide this function prototype:
- */
-void FD_SET (SOCKET, fd_set *);
-
-#else /* _WINSOCK_ANOMALOUS_TYPEDEFS */
-/* However, for users who insist on eschewing standard C/C++ syntax, and
- * for whatever reason must use FD_SET as a data type, instead of correctly
- * referring to fd_set, or for pointer references, use PFD_SET or LPFD_SET
- * instead of standard fd_set * references, we make these anomalous types
- * visible, when the _WINSOCK_ANOMALOUS_TYPEDEFS feature test macro is
- * defined with a non-zero value.
- */
-#warning "FD_SET, PFD_SET, and LPFD_SET data types are non-portable."
-#warning "Use portable fd_set, and fd_set * type references instead."
-
-typedef struct fd_set FD_SET, *PFD_SET, *LPFD_SET;
-#endif
-#define FD_SET( __fd, __set ) __FD_SET ((__fd), (__set))
-__CRT_ALIAS void __FD_SET (SOCKET __fd, fd_set *__set)
-{ if( (__set->fd_count < FD_SETSIZE) && ! FD_ISSET (__fd, __set) )
- __set->fd_array[__set->fd_count++] = __fd;
-}
-#endif /* ! defined FD_SET */
-
-#ifndef FD_CLR
-void FD_CLR (SOCKET, fd_set *);
-#define FD_CLR( __fd, __set ) __FD_CLR ((__fd), (__set))
-__CRT_ALIAS void __FD_CLR (SOCKET __fd, fd_set *__set)
-{ u_int __m, __n; for (__m = __n = 0; __n < __set->fd_count; __n++)
- { if (__fd != __set->fd_array[__n])
- { if (__m < __n) __set->fd_array[__m] = __set->fd_array[__n];
- ++__m;
- }
- } __set->fd_count = __m;
-}
-#endif /* ! defined FD_CLR */
-
-#ifndef FD_ZERO
-void FD_ZERO (fd_set *);
-#define FD_ZERO( __set ) __FD_ZERO (__set)
-__CRT_ALIAS void __FD_ZERO (fd_set *__set)
-{ __set->fd_count = 0; }
-#endif /* ! defined FD_ZERO */
-
-#elif ! defined _USE_SYS_TYPES_FD_SET
-/* Definitions from <sys/types.h> probably aren't what the user wants;
- * if they know what they are doing, and they are sure that this really
- * is what they want, then they may enable the _USE_SYS_TYPES_FD_SET
- * feature test macro, to suppress this warning.
- */
-#warning "fd_set and associated macros have been defined in <sys/types.h>"
-#warning "Your <sys/types.h> may cause runtime problems with W32 sockets."
-#endif /* !_SYS_TYPES_FD_SET */
-
-#ifndef __INSIDE_MSYS__
-
-struct hostent
-{ char *h_name;
- char **h_aliases;
- short h_addrtype;
- short h_length;
-# define h_addr h_addr_list[0]
- char **h_addr_list;
-};
-
-struct linger
-{ u_short l_onoff;
- u_short l_linger;
-};
-
-#endif /* !__INSIDE_MSYS__ */
-
-#define IOCPARM_MASK 0x7F
-#define IOC_VOID 0x20000000
-#define IOC_OUT 0x40000000
-#define IOC_IN 0x80000000
-#define IOC_INOUT (IOC_IN | IOC_OUT)
-
-#ifndef __INSIDE_MSYS__
-
-#define _IO(x,y) (IOC_VOID|((x)<<8)|(y))
-#define _IOR(x,y,t) (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
-#define _IOW(x,y,t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
-
-#define FIONBIO _IOW('f', 126, u_long)
-
-#endif /* !__INSIDE_MSYS__ */
-
-#define FIONREAD _IOR('f', 127, u_long)
-#define FIOASYNC _IOW('f', 125, u_long)
-#define SIOCSHIWAT _IOW('s', 0, u_long)
-#define SIOCGHIWAT _IOR('s', 1, u_long)
-#define SIOCSLOWAT _IOW('s', 2, u_long)
-#define SIOCGLOWAT _IOR('s', 3, u_long)
-#define SIOCATMARK _IOR('s', 7, u_long)
-
-#ifndef __INSIDE_MSYS__
-
-struct netent
-{ char *n_name;
- char **n_aliases;
- short n_addrtype;
- u_long n_net;
-};
-
-struct servent
-{ char *s_name;
- char **s_aliases;
- short s_port;
- char *s_proto;
-};
-
-struct protoent
-{ char *p_name;
- char **p_aliases;
- short p_proto;
-};
-
-#endif /* !__INSIDE_MSYS__ */
-
-#define IPPROTO_IP 0
-#define IPPROTO_ICMP 1
-#define IPPROTO_IGMP 2
-#define IPPROTO_GGP 3
-#define IPPROTO_TCP 6
-#define IPPROTO_PUP 12
-#define IPPROTO_UDP 17
-#define IPPROTO_IDP 22
-#define IPPROTO_ND 77
-
-#define IPPROTO_RAW 255
-#define IPPROTO_MAX 256
-
-/* IPv6 options: these are unsupported, prior to Winsock v2.
- */
-#define IPPROTO_HOPOPTS 0 /* IPv6 Hop-by-Hop options */
-#define IPPROTO_IPV6 41 /* IPv6 header */
-#define IPPROTO_ROUTING 43 /* IPv6 Routing header */
-#define IPPROTO_FRAGMENT 44 /* IPv6 fragmentation header */
-#define IPPROTO_ESP 50 /* encapsulating security payload */
-#define IPPROTO_AH 51 /* authentication header */
-#define IPPROTO_ICMPV6 58 /* ICMPv6 */
-#define IPPROTO_NONE 59 /* IPv6 no next header */
-#define IPPROTO_DSTOPTS 60 /* IPv6 Destination options */
-
-#define IPPORT_ECHO 7
-#define IPPORT_DISCARD 9
-#define IPPORT_SYSTAT 11
-#define IPPORT_DAYTIME 13
-#define IPPORT_NETSTAT 15
-#define IPPORT_FTP 21
-#define IPPORT_TELNET 23
-#define IPPORT_SMTP 25
-#define IPPORT_TIMESERVER 37
-#define IPPORT_NAMESERVER 42
-#define IPPORT_WHOIS 43
-#define IPPORT_MTP 57
-#define IPPORT_TFTP 69
-#define IPPORT_RJE 77
-#define IPPORT_FINGER 79
-#define IPPORT_TTYLINK 87
-#define IPPORT_SUPDUP 95
-#define IPPORT_EXECSERVER 512
-#define IPPORT_LOGINSERVER 513
-#define IPPORT_CMDSERVER 514
-#define IPPORT_EFSSERVER 520
-#define IPPORT_BIFFUDP 512
-#define IPPORT_WHOSERVER 513
-#define IPPORT_ROUTESERVER 520
-#define IPPORT_RESERVED 1024
-
-#define IMPLINK_IP 155
-#define IMPLINK_LOWEXPER 156
-#define IMPLINK_HIGHEXPER 158
-
-struct in_addr
-#define s_addr S_un.S_addr
-#define s_host S_un.S_un_b.s_b2
-#define s_net S_un.S_un_b.s_b1
-#define s_imp S_un.S_un_w.s_w2
-#define s_impno S_un.S_un_b.s_b4
-#define s_lh S_un.S_un_b.s_b3
-{ union
- { struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
- struct { u_short s_w1,s_w2; } S_un_w;
- u_long S_addr;
- } S_un;
-};
-
-#define IN_CLASSA(i) (((long)(i) & 0x80000000) == 0)
-#define IN_CLASSA_NET 0xFF000000
-#define IN_CLASSA_NSHIFT 24
-#define IN_CLASSA_HOST 0x00FFFFFF
-#define IN_CLASSA_MAX 128
-#define IN_CLASSB(i) (((long)(i) & 0xC0000000) == 0x80000000)
-#define IN_CLASSB_NET 0xFFFF0000
-#define IN_CLASSB_NSHIFT 16
-#define IN_CLASSB_HOST 0x0000FFFF
-#define IN_CLASSB_MAX 65536
-#define IN_CLASSC(i) (((long)(i) & 0xE0000000) == 0xC0000000)
-#define IN_CLASSC_NET 0xFFFFFF00
-#define IN_CLASSC_NSHIFT 8
-#define IN_CLASSC_HOST 0xFF
-#define INADDR_ANY (u_long)(0)
-#define INADDR_LOOPBACK 0x7F000001
-#define INADDR_BROADCAST (u_long)(0xFFFFFFFF)
-#define INADDR_NONE 0xFFFFFFFF
-
-struct sockaddr_in
-{ short sin_family;
- u_short sin_port;
- struct in_addr sin_addr;
- char sin_zero[8];
-};
-
-#define WSADESCRIPTION_LEN 256
-#define WSASYS_STATUS_LEN 128
-
-typedef
-struct WSAData
-{ WORD wVersion;
- WORD wHighVersion;
- char szDescription[WSADESCRIPTION_LEN+1];
- char szSystemStatus[WSASYS_STATUS_LEN+1];
- unsigned short iMaxSockets;
- unsigned short iMaxUdpDg;
- char *lpVendorInfo;
-} WSADATA, *LPWSADATA;
-
-#ifndef __INSIDE_MSYS__
-
-#define IP_OPTIONS 1
-#define SO_DEBUG 1
-#define SO_ACCEPTCONN 2
-#define SO_REUSEADDR 4
-#define SO_KEEPALIVE 8
-#define SO_DONTROUTE 16
-#define SO_BROADCAST 32
-#define SO_USELOOPBACK 64
-#define SO_LINGER 128
-#define SO_OOBINLINE 256
-
-#define SO_DONTLINGER (u_int)(~SO_LINGER)
-#define SO_EXCLUSIVEADDRUSE ((u_int)(~SO_REUSEADDR))
-
-#define SO_SNDBUF 0x1001
-#define SO_RCVBUF 0x1002
-#define SO_SNDLOWAT 0x1003
-#define SO_RCVLOWAT 0x1004
-#define SO_SNDTIMEO 0x1005
-#define SO_RCVTIMEO 0x1006
-#define SO_ERROR 0x1007
-#define SO_TYPE 0x1008
-
-#endif /* !__INSIDE_MSYS__ */
-
-#define INVALID_SOCKET (SOCKET)(~0)
-#define SOCKET_ERROR (-1)
-#define SOCK_STREAM 1
-#define SOCK_DGRAM 2
-#define SOCK_RAW 3
-#define SOCK_RDM 4
-#define SOCK_SEQPACKET 5
-#define TCP_NODELAY 0x0001
-#define AF_UNSPEC 0
-#define AF_UNIX 1
-#define AF_INET 2
-#define AF_IMPLINK 3
-#define AF_PUP 4
-#define AF_CHAOS 5
-#define AF_IPX 6
-#define AF_NS 6
-#define AF_ISO 7
-
-#define AF_OSI AF_ISO
-
-#define AF_ECMA 8
-#define AF_DATAKIT 9
-#define AF_CCITT 10
-#define AF_SNA 11
-#define AF_DECnet 12
-#define AF_DLI 13
-#define AF_LAT 14
-#define AF_HYLINK 15
-#define AF_APPLETALK 16
-#define AF_NETBIOS 17
-#define AF_VOICEVIEW 18
-#define AF_FIREFOX 19
-#define AF_UNKNOWN1 20
-#define AF_BAN 21
-#define AF_ATM 22
-#define AF_INET6 23
-
-#define AF_CLUSTER 24
-#define AF_12844 25
-#define AF_IRDA 26
-#define AF_NETDES 28
-
-#ifndef __INSIDE_MSYS__
-
-#define AF_MAX 29
-
-struct sockaddr
-{ u_short sa_family;
- char sa_data[14];
-};
-
-/* Portable IPv6/IPv4 version of sockaddr. Based on RFC 2553.
- * Pad to force 8 byte alignment and maximum size of 128 bytes.
- *
- * Desired design of maximum size and alignment
- */
-#define _SS_MAXSIZE 128
-#define _SS_ALIGNSIZE sizeof(__int64)
-
-/* Definitions used for sockaddr_storage structure padding.
- */
-#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(short))
-#define _SS_PAD2SIZE (_SS_MAXSIZE - (sizeof(short) + _SS_PAD1SIZE + _SS_ALIGNSIZE))
-
-struct sockaddr_storage
-{ short ss_family;
- char __ss_pad1[_SS_PAD1SIZE]; /* pad to 8 */
- __int64 __ss_align; /* force alignment */
- char __ss_pad2[_SS_PAD2SIZE]; /* pad to 128 */
-};
-
-#endif /* !__INSIDE_MSYS__ */
-
-struct sockproto
-{ u_short sp_family;
- u_short sp_protocol;
-};
-
-#define PF_UNSPEC AF_UNSPEC
-#define PF_UNIX AF_UNIX
-#define PF_INET AF_INET
-#define PF_IMPLINK AF_IMPLINK
-#define PF_PUP AF_PUP
-#define PF_CHAOS AF_CHAOS
-#define PF_NS AF_NS
-#define PF_IPX AF_IPX
-#define PF_ISO AF_ISO
-#define PF_OSI AF_OSI
-#define PF_ECMA AF_ECMA
-#define PF_DATAKIT AF_DATAKIT
-#define PF_CCITT AF_CCITT
-#define PF_SNA AF_SNA
-#define PF_DECnet AF_DECnet
-#define PF_DLI AF_DLI
-#define PF_LAT AF_LAT
-#define PF_HYLINK AF_HYLINK
-#define PF_APPLETALK AF_APPLETALK
-#define PF_VOICEVIEW AF_VOICEVIEW
-#define PF_FIREFOX AF_FIREFOX
-#define PF_UNKNOWN1 AF_UNKNOWN1
-#define PF_BAN AF_BAN
-#define PF_ATM AF_ATM
-#define PF_INET6 AF_INET6
-#define PF_MAX AF_MAX
-
-#define SOL_SOCKET 0xFFFF
-
-#ifndef __INSIDE_MSYS__
-
-#define SOMAXCONN 0x7FFFFFFF /* (5) in WinSock1.1 */
-
-#define MSG_OOB 1
-#define MSG_PEEK 2
-#define MSG_DONTROUTE 4
-
-#endif /* !__INSIDE_MSYS__ */
-
-#define MSG_MAXIOVLEN 16
-#define MSG_PARTIAL 0x8000
-#define MAXGETHOSTSTRUCT 1024
-
-enum
-{ /* Enumerate the flags used to represent the events which may be
- * detected on any socket, when monitored via an fd_set array.
- */
- FD_READ_BIT = 0,
-# define FD_READ (1 << FD_READ_BIT)
-
- FD_WRITE_BIT,
-# define FD_WRITE (1 << FD_WRITE_BIT)
-
- FD_OOB_BIT,
-# define FD_OOB (1 << FD_OOB_BIT)
-
- FD_ACCEPT_BIT,
-# define FD_ACCEPT (1 << FD_ACCEPT_BIT)
-
- FD_CONNECT_BIT,
-# define FD_CONNECT (1 << FD_CONNECT_BIT)
-
- FD_CLOSE_BIT,
-# define FD_CLOSE (1 << FD_CLOSE_BIT)
-
-# ifdef _WINSOCK2_H
-/* WinSock v1.1 defines no further events, beyond FD_CLOSE (1 << 5 = 32).
- * The following are specific to WinSock v2; for convenience, they may be
- * enumerated here, but they are exposed only when <winsock.h> is included
- * indirectly, by way of including <winsock2.h>
- */
- FD_QOS_BIT,
-# define FD_QOS (1 << FD_QOS_BIT)
-
- FD_GROUP_QOS_BIT,
-# define FD_GROUP_QOS (1 << FD_GROUP_QOS_BIT)
-
- FD_ROUTING_INTERFACE_CHANGE_BIT,
-# define FD_ROUTING_INTERFACE_CHANGE (1 << FD_ROUTING_INTERFACE_CHANGE_BIT)
-
- FD_ADDRESS_LIST_CHANGE_BIT,
-# define FD_ADDRESS_LIST_CHANGE (1 << FD_ADDRESS_LIST_CHANGE_BIT)
-
-# endif /* _WINSOCK2_H */
- /* Regardless of WinSock version, FD_MAX_EVENTS represents the first
- * unused flag bit, whence we may deduce FD_ALL_EVENTS, as a mask for
- * all supported event flags, specific to the WinSock version in use.
- */
- FD_MAX_EVENTS,
-# define FD_ALL_EVENTS ((1 << FD_MAX_EVENTS) - 1)
-};
-
-#define WSANO_ADDRESS WSANO_DATA
-
-#ifndef __INSIDE_MSYS__
-
-#define h_errno WSAGetLastError()
-#define HOST_NOT_FOUND WSAHOST_NOT_FOUND
-#define TRY_AGAIN WSATRY_AGAIN
-#define NO_RECOVERY WSANO_RECOVERY
-#define NO_DATA WSANO_DATA
-#define NO_ADDRESS WSANO_ADDRESS
-
-#endif /* !__INSIDE_MSYS__ */
-
-WINSOCK_API_LINKAGE SOCKET PASCAL accept (SOCKET, struct sockaddr *, int *);
-
-WINSOCK_API_LINKAGE int PASCAL bind (SOCKET, const struct sockaddr *, int);
-WINSOCK_API_LINKAGE int PASCAL closesocket (SOCKET);
-WINSOCK_API_LINKAGE int PASCAL connect (SOCKET, const struct sockaddr *, int);
-WINSOCK_API_LINKAGE int PASCAL ioctlsocket (SOCKET, long, u_long *);
-WINSOCK_API_LINKAGE int PASCAL getpeername (SOCKET, struct sockaddr *, int *);
-WINSOCK_API_LINKAGE int PASCAL getsockname (SOCKET, struct sockaddr *, int *);
-WINSOCK_API_LINKAGE int PASCAL getsockopt (SOCKET, int, int, char *, int *);
-
-WINSOCK_API_LINKAGE unsigned long PASCAL inet_addr (const char *);
-
-WINSOCK_API_LINKAGE DECLARE_STDCALL_P (char *) inet_ntoa (struct in_addr);
-
-WINSOCK_API_LINKAGE int PASCAL listen (SOCKET, int);
-WINSOCK_API_LINKAGE int PASCAL recv (SOCKET, char *, int, int);
-WINSOCK_API_LINKAGE int PASCAL recvfrom (SOCKET, char *, int, int, struct sockaddr *, int *);
-WINSOCK_API_LINKAGE int PASCAL send (SOCKET, const char *, int, int);
-WINSOCK_API_LINKAGE int PASCAL sendto (SOCKET, const char *, int, int, const struct sockaddr *, int);
-WINSOCK_API_LINKAGE int PASCAL setsockopt (SOCKET, int, int, const char *, int);
-WINSOCK_API_LINKAGE int PASCAL shutdown (SOCKET, int);
-
-WINSOCK_API_LINKAGE SOCKET PASCAL socket (int, int, int);
-
-WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct hostent *) gethostbyaddr (const char *, int, int);
-WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct hostent *) gethostbyname (const char *);
-WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct servent *) getservbyport (int, const char *);
-WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct servent *) getservbyname (const char *, const char *);
-WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct protoent *) getprotobynumber (int);
-WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct protoent *) getprotobyname (const char *);
-
-typedef SOCKET (PASCAL *LPFN_ACCEPT) (SOCKET, struct sockaddr *, int *);
-
-typedef int (PASCAL *LPFN_BIND) (SOCKET, const struct sockaddr *, int);
-typedef int (PASCAL *LPFN_CLOSESOCKET) (SOCKET);
-typedef int (PASCAL *LPFN_CONNECT) (SOCKET, const struct sockaddr *, int);
-typedef int (PASCAL *LPFN_IOCTLSOCKET) (SOCKET, long, u_long *);
-typedef int (PASCAL *LPFN_GETPEERNAME) (SOCKET, struct sockaddr *, int *);
-typedef int (PASCAL *LPFN_GETSOCKNAME) (SOCKET, struct sockaddr *, int *);
-typedef int (PASCAL *LPFN_GETSOCKOPT) (SOCKET, int, int, char *, int *);
-
-typedef u_long (PASCAL *LPFN_HTONL) (u_long);
-typedef u_short (PASCAL *LPFN_HTONS) (u_short);
-
-typedef unsigned long (PASCAL *LPFN_INET_ADDR) (const char *);
-
-typedef char *(PASCAL *LPFN_INET_NTOA) (struct in_addr);
-
-typedef int (PASCAL *LPFN_LISTEN) (SOCKET, int);
-
-typedef u_long (PASCAL *LPFN_NTOHL) (u_long);
-typedef u_short (PASCAL *LPFN_NTOHS) (u_short);
-
-typedef int (PASCAL *LPFN_RECV) (SOCKET, char *, int, int);
-typedef int (PASCAL *LPFN_RECVFROM) (SOCKET, char *, int, int, struct sockaddr *, int *);
-typedef int (PASCAL *LPFN_SELECT) (int, fd_set *, fd_set *, fd_set *, const struct timeval *);
-typedef int (PASCAL *LPFN_SEND) (SOCKET, const char *, int, int);
-typedef int (PASCAL *LPFN_SENDTO) (SOCKET, const char *, int, int, const struct sockaddr *, int);
-typedef int (PASCAL *LPFN_SETSOCKOPT) (SOCKET, int, int, const char *, int);
-typedef int (PASCAL *LPFN_SHUTDOWN) (SOCKET, int);
-
-typedef SOCKET (PASCAL *LPFN_SOCKET) (int, int, int);
-
-typedef struct hostent *(PASCAL *LPFN_GETHOSTBYADDR) ( const char *, int, int);
-typedef struct hostent *(PASCAL *LPFN_GETHOSTBYNAME) ( const char *);
-
-typedef int (PASCAL *LPFN_GETHOSTNAME) (char *, int);
-
-typedef struct servent *(PASCAL *LPFN_GETSERVBYPORT) (int, const char *);
-typedef struct servent *(PASCAL *LPFN_GETSERVBYNAME) (const char *, const char *);
-typedef struct protoent *(PASCAL *LPFN_GETPROTOBYNUMBER) (int);
-typedef struct protoent *(PASCAL *LPFN_GETPROTOBYNAME) (const char *);
-
-WINSOCK_API_LINKAGE int PASCAL WSAStartup (WORD, LPWSADATA);
-WINSOCK_API_LINKAGE int PASCAL WSACleanup (void);
-WINSOCK_API_LINKAGE void PASCAL WSASetLastError (int);
-WINSOCK_API_LINKAGE int PASCAL WSAGetLastError (void);
-
-typedef int (PASCAL *LPFN_WSASTARTUP) (WORD, LPWSADATA);
-typedef int (PASCAL *LPFN_WSACLEANUP) (void);
-typedef int (PASCAL *LPFN_WSAGETLASTERROR) (void);
-typedef void (PASCAL *LPFN_WSASETLASTERROR) (int);
-
-/* The following four pseudo-blocking functions are provided
- * to support WinSock v1.1, but have been marked as deprecated
- * in WinSock v2; they remain available, but it is recommended
- * that threads should be used instead!
+#error "Including <winsock2.h> after <winsock.h> is unsupported."
+#warning "Falling back to WinSock v1.1 protocol."
+
+#else /* !_WINSOCK_H included prematurely */
+/* This is correct WinSock v2 protocol usage: <winsock.h> has not been
+ * included previously, so we include it now, to establish definitions
+ * which are common to both WinSock v1 and WinSock v2 protocols. This
+ * is filtered, on our prior definition of _WINSOCK2_H, to exclude any
+ * obsolete or conflicting definitions from WinSock v1, which are no
+ * longer applicable in WinSock v2, and on __WINSOCK2_DEPRECATED to
+ * identify any which remain available, but have been deprecated.
*/
-WINSOCK_API_LINKAGE BOOL PASCAL WSAIsBlocking (void) __WINSOCK2_DEPRECATED;
-WINSOCK_API_LINKAGE int PASCAL WSAUnhookBlockingHook (void) __WINSOCK2_DEPRECATED;
-WINSOCK_API_LINKAGE FARPROC PASCAL WSASetBlockingHook (FARPROC) __WINSOCK2_DEPRECATED;
-WINSOCK_API_LINKAGE int PASCAL WSACancelBlockingCall (void) __WINSOCK2_DEPRECATED;
-
-typedef BOOL (PASCAL *LPFN_WSAISBLOCKING) (void);
-typedef int (PASCAL *LPFN_WSAUNHOOKBLOCKINGHOOK) (void);
-typedef FARPROC (PASCAL *LPFN_WSASETBLOCKINGHOOK) (FARPROC);
-typedef int (PASCAL *LPFN_WSACANCELBLOCKINGCALL) (void);
-
-WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetServByName (HWND, u_int, const char *, const char *, char *, int);
-WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetServByPort (HWND, u_int, int, const char *, char *, int);
-WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetProtoByName (HWND, u_int, const char *, char *, int);
-WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetProtoByNumber (HWND, u_int, int, char *, int);
-WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetHostByName (HWND, u_int, const char *, char *, int);
-WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetHostByAddr (HWND, u_int, const char *, int, int, char *, int);
-
-WINSOCK_API_LINKAGE int PASCAL WSACancelAsyncRequest (HANDLE);
-WINSOCK_API_LINKAGE int PASCAL WSAAsyncSelect (SOCKET, HWND, u_int, long);
-
-typedef HANDLE (PASCAL *LPFN_WSAASYNCGETSERVBYNAME) (HWND, u_int, const char *, const char *, char *, int);
-typedef HANDLE (PASCAL *LPFN_WSAASYNCGETSERVBYPORT) (HWND, u_int, int, const char *, char *, int);
-typedef HANDLE (PASCAL *LPFN_WSAASYNCGETPROTOBYNAME) (HWND, u_int, const char*, char*, int);
-typedef HANDLE (PASCAL *LPFN_WSAASYNCGETPROTOBYNUMBER) (HWND, u_int, int, char*, int);
-typedef HANDLE (PASCAL *LPFN_WSAASYNCGETHOSTBYADDR) (HWND, u_int, const char*, int, int, char*, int);
-
-typedef int (PASCAL *LPFN_WSACANCELASYNCREQUEST) (HANDLE);
-typedef int (PASCAL *LPFN_WSAASYNCSELECT) (SOCKET, HWND, u_int, long);
-
-#ifndef __INSIDE_MSYS__
-
-WINSOCK_API_LINKAGE u_long PASCAL htonl (u_long);
-WINSOCK_API_LINKAGE u_long PASCAL ntohl (u_long);
-WINSOCK_API_LINKAGE u_short PASCAL htons (u_short);
-WINSOCK_API_LINKAGE u_short PASCAL ntohs (u_short);
-WINSOCK_API_LINKAGE int PASCAL select (int nfds, fd_set *, fd_set *, fd_set *, const struct timeval *);
-
-#endif /* !__INSIDE_MSYS__ */
-
-WINSOCK_API_LINKAGE int PASCAL gethostname (char *, int);
-
-#define WSAMAKEASYNCREPLY(b,e) MAKELONG(b,e)
-#define WSAMAKESELECTREPLY(e,error) MAKELONG(e,error)
-#define WSAGETASYNCBUFLEN(l) LOWORD(l)
-#define WSAGETASYNCERROR(l) HIWORD(l)
-#define WSAGETSELECTEVENT(l) LOWORD(l)
-#define WSAGETSELECTERROR(l) HIWORD(l)
-
-typedef struct sockaddr SOCKADDR, *PSOCKADDR, *LPSOCKADDR;
-typedef struct sockaddr_storage SOCKADDR_STORAGE, *PSOCKADDR_STORAGE;
-typedef struct sockaddr_in SOCKADDR_IN, *PSOCKADDR_IN, *LPSOCKADDR_IN;
-typedef struct linger LINGER, *PLINGER, *LPLINGER;
-typedef struct in_addr IN_ADDR, *PIN_ADDR, *LPIN_ADDR;
-typedef struct hostent HOSTENT, *PHOSTENT, *LPHOSTENT;
-typedef struct servent SERVENT, *PSERVENT, *LPSERVENT;
-typedef struct protoent PROTOENT, *PPROTOENT, *LPPROTOENT;
-typedef struct timeval TIMEVAL, *PTIMEVAL, *LPTIMEVAL;
-
-_END_C_DECLS
-
-
-#undef __WINSOCK_H_SOURCED__
+#define __WINSOCK2_DEPRECATED __MINGW_ATTRIB_DEPRECATED
+#include "winsock.h"
-/* winsock2 additions */
#define __WINSOCK2_H_SOURCED__
/* We need a definition for the BLOB data type; although an incomplete
@@ -791,6 +131,70 @@ typedef enum
GuaranteedService
} GUARANTEE;
+/* IPv6 protocol options: these are additional to protocol option constants
+ * already defined in <winsock.h>; they are unsupported prior to WinSock v2.
+ */
+#define IPPROTO_HOPOPTS 0 /* IPv6 Hop-by-Hop options */
+#define IPPROTO_IPV6 41 /* IPv6 header */
+#define IPPROTO_ROUTING 43 /* IPv6 Routing header */
+#define IPPROTO_FRAGMENT 44 /* IPv6 fragmentation header */
+#define IPPROTO_ESP 50 /* encapsulating security payload */
+#define IPPROTO_AH 51 /* authentication header */
+#define IPPROTO_ICMPV6 58 /* ICMPv6 */
+#define IPPROTO_NONE 59 /* IPv6 no next header */
+#define IPPROTO_DSTOPTS 60 /* IPv6 Destination options */
+
+/* Address family definitions: these extend the set which has been defined
+ * already, in <winsock.h>; they are applicable only for WinSock v2.
+ */
+#define AF_CLUSTER 24
+#define AF_12844 25
+#define AF_IRDA 26
+#define AF_NETDES 28
+
+#ifndef __INSIDE_MSYS__
+/* MSYS provides its own definition for AF_MAX; otherwise, <winsock.h> has
+ * already defined it as 24, but we need to override that to accommodate the
+ * additional constants, defined above.
+ */
+#undef AF_MAX
+#define AF_MAX 29
+
+/* Portable IPv6/IPv4 version of sockaddr, based on RFC 2553.
+ * The sockaddr_storage structure is padded to force 8 byte alignment of
+ * its member fields, and its size is fixed at 128 bytes.
+ *
+ * Desired design maximum size and alignment.
+ */
+#define _SS_MAXSIZE 128
+#define _SS_ALIGNSIZE sizeof(__int64)
+
+/* Definitions used for sockaddr_storage structure padding.
+ */
+#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(short))
+#define _SS_PAD2SIZE (_SS_MAXSIZE - (sizeof(short) + _SS_PAD1SIZE + _SS_ALIGNSIZE))
+
+struct sockaddr_storage
+{ short ss_family;
+ char __ss_pad1[_SS_PAD1SIZE]; /* pad to 8 */
+ __int64 __ss_align; /* force alignment */
+ char __ss_pad2[_SS_PAD2SIZE]; /* pad to 128 */
+};
+
+/* As in the case of AF_MAX, MSYS provides its own value for SOMAXCONN;
+ * otherwise, <winsock.h> has already defined it, with a value of 5; this
+ * was correct for WinSock v1.1, but we must now override it with this
+ * alternative definition, to make it correct for WinSock v2.
+ */
+#undef SOMAXCONN
+#define SOMAXCONN 0x7FFFFFFF
+
+/* SO_EXCLUSIVEADDRUSE is not applicable, prior to WinSock v2; it is
+ * derived from SO_REUSEADDR, which has been defined in <winsock.h>
+ */
+#define SO_EXCLUSIVEADDRUSE ((u_int)(~SO_REUSEADDR))
+#endif /* !__INSIDE_MSYS__ */
+
/* FIXME: FLOWSPEC and related definitions belong in qos.h */
/* Windows Sockets 2 Application Programming Interface,
@@ -1091,46 +495,46 @@ struct _WSACOMPLETION
} Parameters;
} WSACOMPLETION, *PWSACOMPLETION, *LPWSACOMPLETION;
-#define PFL_MULTIPLE_PROTO_ENTRIES 0x00000001
-#define PFL_RECOMMENDED_PROTO_ENTRY 0x00000002
-#define PFL_HIDDEN 0x00000004
-#define PFL_MATCHES_PROTOCOL_ZERO 0x00000008
-#define XP1_CONNECTIONLESS 0x00000001
-#define XP1_GUARANTEED_DELIVERY 0x00000002
-#define XP1_GUARANTEED_ORDER 0x00000004
-#define XP1_MESSAGE_ORIENTED 0x00000008
-#define XP1_PSEUDO_STREAM 0x00000010
-#define XP1_GRACEFUL_CLOSE 0x00000020
-#define XP1_EXPEDITED_DATA 0x00000040
-#define XP1_CONNECT_DATA 0x00000080
-#define XP1_DISCONNECT_DATA 0x00000100
-#define XP1_SUPPORT_BROADCAST 0x00000200
-#define XP1_SUPPORT_MULTIPOINT 0x00000400
-#define XP1_MULTIPOINT_CONTROL_PLANE 0x00000800
-#define XP1_MULTIPOINT_DATA_PLANE 0x00001000
-#define XP1_QOS_SUPPORTED 0x00002000
-#define XP1_INTERRUPT 0x00004000
-#define XP1_UNI_SEND 0x00008000
-#define XP1_UNI_RECV 0x00010000
-#define XP1_IFS_HANDLES 0x00020000
-#define XP1_PARTIAL_MESSAGE 0x00040000
-
-#define BIGENDIAN 0x0000
-#define LITTLEENDIAN 0x0001
-
-#define SECURITY_PROTOCOL_NONE 0x0000
-#define JL_SENDER_ONLY 0x01
-#define JL_RECEIVER_ONLY 0x02
-#define JL_BOTH 0x04
-#define WSA_FLAG_OVERLAPPED 0x01
-#define WSA_FLAG_MULTIPOINT_C_ROOT 0x02
-#define WSA_FLAG_MULTIPOINT_C_LEAF 0x04
-#define WSA_FLAG_MULTIPOINT_D_ROOT 0x08
-#define WSA_FLAG_MULTIPOINT_D_LEAF 0x10
-#define IOC_UNIX 0x00000000
-#define IOC_WS2 0x08000000
-#define IOC_PROTOCOL 0x10000000
-#define IOC_VENDOR 0x18000000
+#define PFL_MULTIPLE_PROTO_ENTRIES 0x00000001
+#define PFL_RECOMMENDED_PROTO_ENTRY 0x00000002
+#define PFL_HIDDEN 0x00000004
+#define PFL_MATCHES_PROTOCOL_ZERO 0x00000008
+#define XP1_CONNECTIONLESS 0x00000001
+#define XP1_GUARANTEED_DELIVERY 0x00000002
+#define XP1_GUARANTEED_ORDER 0x00000004
+#define XP1_MESSAGE_ORIENTED 0x00000008
+#define XP1_PSEUDO_STREAM 0x00000010
+#define XP1_GRACEFUL_CLOSE 0x00000020
+#define XP1_EXPEDITED_DATA 0x00000040
+#define XP1_CONNECT_DATA 0x00000080
+#define XP1_DISCONNECT_DATA 0x00000100
+#define XP1_SUPPORT_BROADCAST 0x00000200
+#define XP1_SUPPORT_MULTIPOINT 0x00000400
+#define XP1_MULTIPOINT_CONTROL_PLANE 0x00000800
+#define XP1_MULTIPOINT_DATA_PLANE 0x00001000
+#define XP1_QOS_SUPPORTED 0x00002000
+#define XP1_INTERRUPT 0x00004000
+#define XP1_UNI_SEND 0x00008000
+#define XP1_UNI_RECV 0x00010000
+#define XP1_IFS_HANDLES 0x00020000
+#define XP1_PARTIAL_MESSAGE 0x00040000
+
+#define BIGENDIAN 0x0000
+#define LITTLEENDIAN 0x0001
+
+#define SECURITY_PROTOCOL_NONE 0x0000
+#define JL_SENDER_ONLY 0x01
+#define JL_RECEIVER_ONLY 0x02
+#define JL_BOTH 0x04
+#define WSA_FLAG_OVERLAPPED 0x01
+#define WSA_FLAG_MULTIPOINT_C_ROOT 0x02
+#define WSA_FLAG_MULTIPOINT_C_LEAF 0x04
+#define WSA_FLAG_MULTIPOINT_D_ROOT 0x08
+#define WSA_FLAG_MULTIPOINT_D_LEAF 0x10
+#define IOC_UNIX 0x00000000
+#define IOC_WS2 0x08000000
+#define IOC_PROTOCOL 0x10000000
+#define IOC_VENDOR 0x18000000
#define _WSAIO(x,y) (IOC_VOID|(x)|(y))
#define _WSAIOR(x,y) (IOC_OUT|(x)|(y))
@@ -1158,8 +562,71 @@ struct _WSACOMPLETION
#define SIO_NSP_NOTIFY_CHANGE _WSAIOW(IOC_WS2,25)
#define SIO_UDP_CONNRESET _WSAIOW(IOC_VENDOR,12)
-#define TH_NETDEV 0x00000001
-#define TH_TAPI 0x00000002
+#define TH_NETDEV 0x00000001
+#define TH_TAPI 0x00000002
+
+typedef SOCKET (PASCAL *LPFN_ACCEPT) (SOCKET, struct sockaddr *, int *);
+
+typedef int (PASCAL *LPFN_BIND) (SOCKET, const struct sockaddr *, int);
+typedef int (PASCAL *LPFN_CLOSESOCKET) (SOCKET);
+typedef int (PASCAL *LPFN_CONNECT) (SOCKET, const struct sockaddr *, int);
+typedef int (PASCAL *LPFN_IOCTLSOCKET) (SOCKET, long, u_long *);
+typedef int (PASCAL *LPFN_GETPEERNAME) (SOCKET, struct sockaddr *, int *);
+typedef int (PASCAL *LPFN_GETSOCKNAME) (SOCKET, struct sockaddr *, int *);
+typedef int (PASCAL *LPFN_GETSOCKOPT) (SOCKET, int, int, char *, int *);
+
+typedef u_long (PASCAL *LPFN_HTONL) (u_long);
+typedef u_short (PASCAL *LPFN_HTONS) (u_short);
+
+typedef unsigned long (PASCAL *LPFN_INET_ADDR) (const char *);
+
+typedef char *(PASCAL *LPFN_INET_NTOA) (struct in_addr);
+
+typedef int (PASCAL *LPFN_LISTEN) (SOCKET, int);
+
+typedef u_long (PASCAL *LPFN_NTOHL) (u_long);
+typedef u_short (PASCAL *LPFN_NTOHS) (u_short);
+
+typedef int (PASCAL *LPFN_RECV) (SOCKET, char *, int, int);
+typedef int (PASCAL *LPFN_RECVFROM) (SOCKET, char *, int, int, struct sockaddr *, int *);
+typedef int (PASCAL *LPFN_SELECT) (int, fd_set *, fd_set *, fd_set *, const struct timeval *);
+typedef int (PASCAL *LPFN_SEND) (SOCKET, const char *, int, int);
+typedef int (PASCAL *LPFN_SENDTO) (SOCKET, const char *, int, int, const struct sockaddr *, int);
+typedef int (PASCAL *LPFN_SETSOCKOPT) (SOCKET, int, int, const char *, int);
+typedef int (PASCAL *LPFN_SHUTDOWN) (SOCKET, int);
+
+typedef SOCKET (PASCAL *LPFN_SOCKET) (int, int, int);
+
+typedef struct hostent *(PASCAL *LPFN_GETHOSTBYADDR) ( const char *, int, int);
+typedef struct hostent *(PASCAL *LPFN_GETHOSTBYNAME) ( const char *);
+
+typedef int (PASCAL *LPFN_GETHOSTNAME) (char *, int);
+
+typedef struct servent *(PASCAL *LPFN_GETSERVBYPORT) (int, const char *);
+typedef struct servent *(PASCAL *LPFN_GETSERVBYNAME) (const char *, const char *);
+typedef struct protoent *(PASCAL *LPFN_GETPROTOBYNUMBER) (int);
+typedef struct protoent *(PASCAL *LPFN_GETPROTOBYNAME) (const char *);
+
+typedef int (PASCAL *LPFN_WSASTARTUP) (WORD, LPWSADATA);
+typedef int (PASCAL *LPFN_WSACLEANUP) (void);
+typedef int (PASCAL *LPFN_WSAGETLASTERROR) (void);
+typedef void (PASCAL *LPFN_WSASETLASTERROR) (int);
+
+typedef BOOL (PASCAL *LPFN_WSAISBLOCKING) (void);
+typedef int (PASCAL *LPFN_WSAUNHOOKBLOCKINGHOOK) (void);
+typedef FARPROC (PASCAL *LPFN_WSASETBLOCKINGHOOK) (FARPROC);
+typedef int (PASCAL *LPFN_WSACANCELBLOCKINGCALL) (void);
+
+typedef HANDLE (PASCAL *LPFN_WSAASYNCGETSERVBYNAME) (HWND, u_int, const char *, const char *, char *, int);
+typedef HANDLE (PASCAL *LPFN_WSAASYNCGETSERVBYPORT) (HWND, u_int, int, const char *, char *, int);
+typedef HANDLE (PASCAL *LPFN_WSAASYNCGETPROTOBYNAME) (HWND, u_int, const char*, char*, int);
+typedef HANDLE (PASCAL *LPFN_WSAASYNCGETPROTOBYNUMBER) (HWND, u_int, int, char*, int);
+typedef HANDLE (PASCAL *LPFN_WSAASYNCGETHOSTBYADDR) (HWND, u_int, const char*, int, int, char*, int);
+
+typedef int (PASCAL *LPFN_WSACANCELASYNCREQUEST) (HANDLE);
+typedef int (PASCAL *LPFN_WSAASYNCSELECT) (SOCKET, HWND, u_int, long);
+
+typedef struct sockaddr_storage SOCKADDR_STORAGE, *PSOCKADDR_STORAGE;
WINSOCK_API_LINKAGE SOCKET WINAPI WSAAccept (SOCKET, struct sockaddr *, LPINT, LPCONDITIONPROC, DWORD);
@@ -1328,4 +795,5 @@ typedef DWORD (WINAPI *LPFN_WSAWAITFORMULTIPLEEVENTS) (DWORD, const WSAEVENT *,
_END_C_DECLS
#undef __WINSOCK2_H_SOURCED__
+#endif /* !_WINSOCK_H included prematurely */
#endif /* _WINSOCK2_H: $RCSfile$: end of file */
-----------------------------------------------------------------------
Summary of changes:
w32api/ChangeLog | 15 +
w32api/include/winsock.h | 5 +
w32api/include/winsock2.h | 906 ++++++++++------------------------------------
3 files changed, 207 insertions(+), 719 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2017-11-24 17:06:31
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via 411a15dacafc564d2620284f0393e1879488761e (commit)
from e709449d08b3c4d9f0c6e5890953193abde396ac (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/411a15dacafc564d2620284f0393e1879488761e/
commit 411a15dacafc564d2620284f0393e1879488761e
Author: Keith Marshall <ke...@us...>
Date: Fri Nov 24 17:04:18 2017 +0000
Make <winsock.h> and <winsock2.h> duplicate code congruent.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 7cac41c..5e95b34 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,30 @@
+2017-11-24 Keith Marshall <ke...@us...>
+
+ 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 <ke...@us...>
Establish default selection for WinSock API declaration.
diff --git a/w32api/include/winsock.h b/w32api/include/winsock.h
index cc7e9cb..8b83d0c 100644
--- a/w32api/include/winsock.h
+++ b/w32api/include/winsock.h
@@ -496,20 +496,10 @@ struct sockproto
#define SOL_SOCKET 0xFFFF
-#ifndef _WINSOCK2_H
-/* FIXME: Is this behaviour correct?
- * Historically, <winsock.h> defined SOMAXCONN unconditionally, with a
- * value of 5. However, <winsock2.h> defines it, using a significantly
- * different value, only when compiling native Windows code, and doesn't
- * define it at all, when compiling for Cygwin or MSYS. To accommodate
- * this difference in philosophy, we must now suppress this definition
- * in <winsock.h>, when <winsock.h> has been included by <winsock2.h>
- */
-#define SOMAXCONN 5
-#endif /* !_WINSOCK2_H */
-
#ifndef __INSIDE_MSYS__
+#define SOMAXCONN 5
+
#define MSG_OOB 1
#define MSG_PEEK 2
#define MSG_DONTROUTE 4
diff --git a/w32api/include/winsock2.h b/w32api/include/winsock2.h
index 9ed1e87..328e00e 100644
--- a/w32api/include/winsock2.h
+++ b/w32api/include/winsock2.h
@@ -39,6 +39,7 @@
*
*/
#if !(defined _WINSOCK2_H || defined _WINSOCK_H)
+#pragma GCC system_header
#define _WINSOCK2_H
/* WinSock v2 deprecates several features, which are standard
@@ -49,7 +50,6 @@
#define __WINSOCK2_DEPRECATED __MINGW_ATTRIB_DEPRECATED
#define _WINSOCK_H /* to prevent later inclusion of winsock.h */
-#pragma GCC system_header
#define _GNU_H_WINDOWS32_SOCKETS
#define __WINSOCK_H_SOURCED__ 1
@@ -59,8 +59,6 @@
#include <sys/bsdtypes.h>
#include <sys/time.h>
-#undef __WINSOCK_H_SOURCED__
-
#ifndef WINSOCK_API_LINKAGE
#ifdef __W32API_USE_DLLIMPORT__
#define WINSOCK_API_LINKAGE DECLSPEC_IMPORT
@@ -69,6 +67,17 @@
#endif
#endif
+#if ! defined _USE_SYS_TYPES_FD_SET && defined USE_SYS_TYPES_FD_SET
+/* Originally defined by the deprecated name, USE_SYS_TYPES_FD_SET, users
+ * may specify this to suppress warnings, in the event that (incompatible)
+ * fd_set manipulation macros may have been inherited from <sys/types.h>;
+ * accommodate use of the deprecated feature test name.
+ */
+#warning "Feature test macro USE_SYS_TYPES_FD_SET is deprecated."
+#warning "Use the _USE_SYS_TYPES_FD_SET feature test macro instead."
+#define _USE_SYS_TYPES_FD_SET 1
+#endif
+
_BEGIN_C_DECLS
/* Names common to Winsock1.1 and Winsock2
@@ -95,61 +104,87 @@ struct fd_set
SOCKET fd_array[FD_SETSIZE];
} fd_set;
-int PASCAL __WSAFDIsSet (SOCKET, fd_set *);
+#ifndef FD_ISSET
+int FD_ISSET (SOCKET, fd_set *);
+#define FD_ISSET( __fd, __set ) __FD_ISSET ((__fd), (__set))
-#ifndef FD_CLR
-#define FD_CLR( fd, set ) do \
- { u_int __i; \
- for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) \
- { if (((fd_set *)(set))->fd_array[__i] == (fd)) \
- { while (__i < ((fd_set *)(set))->fd_count-1) \
- { ((fd_set *)(set))->fd_array[__i] \
- = ((fd_set *)(set))->fd_array[__i + 1]; __i++; \
- } \
- ((fd_set *)(set))->fd_count--; \
- break; \
- } \
- } \
- } while (0)
-#endif /* ! defined FD_CLR */
+/* Microsoft provide this library function equivalent of the FD_ISSET
+ * macro, and erroneously claim that it is neccessary to implement the
+ * macro. We could just as easily implement it entirely inline...
+ */
+int PASCAL __WSAFDIsSet (SOCKET, fd_set *);
+/* ...but, given the availability of the library function, we may just
+ * as well use it.
+ */
+__CRT_ALIAS int __FD_ISSET( SOCKET __fd, fd_set *__set )
+{ return __WSAFDIsSet (__fd, __set); }
+#endif /* ! defined FD_ISSET */
#ifndef FD_SET
-/* FIXME: this differs from the original definition in <winsock.h>, and also
- * from the corresponding definition in Cygwin's <sys/types.h>, (which isn't
- * compatible with the WinSock fd_set type); which is correct?
+#if !_WINSOCK_ANOMALOUS_TYPEDEFS
+/* WinSock is intended to mimic the Berkeley Sockets API, for which
+ * POSIX.1 provides a reference specification; this states that FD_SET
+ * may be implemented as either a macro, or as a function. The reference
+ * <winsock.h> implementation at http://www.sockets.com/winsock.htm#WinsockH
+ * includes a typedef for FD_SET, which a) conflicts with the latter POSIX.1
+ * provision, and b) creates potential confusion with the former. Thus, we
+ * prefer to conform with POSIX.1 functional semantics, and recommend that
+ * users avoid the potentially confusing FD_SET typedefs, so allowing us
+ * to provide this function prototype:
+ */
+void FD_SET (SOCKET, fd_set *);
+
+#else /* _WINSOCK_ANOMALOUS_TYPEDEFS */
+/* However, for users who insist on eschewing standard C/C++ syntax, and
+ * for whatever reason must use FD_SET as a data type, instead of correctly
+ * referring to fd_set, or for pointer references, use PFD_SET or LPFD_SET
+ * instead of standard fd_set * references, we make these anomalous types
+ * visible, when the _WINSOCK_ANOMALOUS_TYPEDEFS feature test macro is
+ * defined with a non-zero value.
*/
-#define FD_SET( fd, set ) do \
- { u_int __i; \
- for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) \
- if (((fd_set *)(set))->fd_array[__i] == (fd)) break; \
- if (__i == ((fd_set *)(set))->fd_count) \
- { if (((fd_set *)(set))->fd_count < FD_SETSIZE) \
- { ((fd_set *)(set))->fd_array[__i] = (fd); \
- ((fd_set *)(set))->fd_count++; \
- } \
- } \
- } while (0)
+#warning "FD_SET, PFD_SET, and LPFD_SET data types are non-portable."
+#warning "Use portable fd_set, and fd_set * type references instead."
+
+typedef struct fd_set FD_SET, *PFD_SET, *LPFD_SET;
+#endif
+#define FD_SET( __fd, __set ) __FD_SET ((__fd), (__set))
+__CRT_ALIAS void __FD_SET (SOCKET __fd, fd_set *__set)
+{ if( (__set->fd_count < FD_SETSIZE) && ! FD_ISSET (__fd, __set) )
+ __set->fd_array[__set->fd_count++] = __fd;
+}
#endif /* ! defined FD_SET */
+#ifndef FD_CLR
+void FD_CLR (SOCKET, fd_set *);
+#define FD_CLR( __fd, __set ) __FD_CLR ((__fd), (__set))
+__CRT_ALIAS void __FD_CLR (SOCKET __fd, fd_set *__set)
+{ u_int __m, __n; for (__m = __n = 0; __n < __set->fd_count; __n++)
+ { if (__fd != __set->fd_array[__n])
+ { if (__m < __n) __set->fd_array[__m] = __set->fd_array[__n];
+ ++__m;
+ }
+ } __set->fd_count = __m;
+}
+#endif /* ! defined FD_CLR */
+
#ifndef FD_ZERO
-#define FD_ZERO( set ) (((fd_set *)(set))->fd_count = 0)
+void FD_ZERO (fd_set *);
+#define FD_ZERO( __set ) __FD_ZERO (__set)
+__CRT_ALIAS void __FD_ZERO (fd_set *__set)
+{ __set->fd_count = 0; }
#endif /* ! defined FD_ZERO */
-#ifndef FD_ISSET
-#define FD_ISSET( fd, set ) __WSAFDIsSet((SOCKET)(fd), (fd_set *)(set))
-#endif /* ! defined FD_ISSET */
-
-#elif ! defined USE_SYS_TYPES_FD_SET
+#elif ! defined _USE_SYS_TYPES_FD_SET
/* Definitions from <sys/types.h> probably aren't what the user wants;
* if they know what they are doing, and they are sure that this really
- * is what they want, then they may enable the USE_SYS_TYPES_FD_SET
+ * is what they want, then they may enable the _USE_SYS_TYPES_FD_SET
* feature test macro, to suppress this warning.
*/
#warning "fd_set and associated macros have been defined in <sys/types.h>"
#warning "Your <sys/types.h> may cause runtime problems with W32 sockets."
#endif /* !_SYS_TYPES_FD_SET */
-#if ! (defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
+#ifndef __INSIDE_MSYS__
struct hostent
{ char *h_name;
@@ -165,7 +200,7 @@ struct linger
u_short l_linger;
};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+#endif /* !__INSIDE_MSYS__ */
#define IOCPARM_MASK 0x7F
#define IOC_VOID 0x20000000
@@ -173,7 +208,7 @@ struct linger
#define IOC_IN 0x80000000
#define IOC_INOUT (IOC_IN | IOC_OUT)
-#if ! (defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
+#ifndef __INSIDE_MSYS__
#define _IO(x,y) (IOC_VOID|((x)<<8)|(y))
#define _IOR(x,y,t) (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
@@ -181,7 +216,7 @@ struct linger
#define FIONBIO _IOW('f', 126, u_long)
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+#endif /* !__INSIDE_MSYS__ */
#define FIONREAD _IOR('f', 127, u_long)
#define FIOASYNC _IOW('f', 125, u_long)
@@ -191,7 +226,7 @@ struct linger
#define SIOCGLOWAT _IOR('s', 3, u_long)
#define SIOCATMARK _IOR('s', 7, u_long)
-#if ! ( defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
+#ifndef __INSIDE_MSYS__
struct netent
{ char *n_name;
@@ -213,7 +248,7 @@ struct protoent
short p_proto;
};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+#endif /* !__INSIDE_MSYS__ */
#define IPPROTO_IP 0
#define IPPROTO_ICMP 1
@@ -228,7 +263,8 @@ struct protoent
#define IPPROTO_RAW 255
#define IPPROTO_MAX 256
-/* IPv6 options */
+/* IPv6 options: these are unsupported, prior to Winsock v2.
+ */
#define IPPROTO_HOPOPTS 0 /* IPv6 Hop-by-Hop options */
#define IPPROTO_IPV6 41 /* IPv6 header */
#define IPPROTO_ROUTING 43 /* IPv6 Routing header */
@@ -323,7 +359,7 @@ struct WSAData
char *lpVendorInfo;
} WSADATA, *LPWSADATA;
-#if ! (defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
+#ifndef __INSIDE_MSYS__
#define IP_OPTIONS 1
#define SO_DEBUG 1
@@ -348,7 +384,7 @@ struct WSAData
#define SO_ERROR 0x1007
#define SO_TYPE 0x1008
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+#endif /* !__INSIDE_MSYS__ */
#define INVALID_SOCKET (SOCKET)(~0)
#define SOCKET_ERROR (-1)
@@ -457,7 +493,7 @@ struct sockproto
#define SOL_SOCKET 0xFFFF
-#if ! (defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
+#ifndef __INSIDE_MSYS__
#define SOMAXCONN 0x7FFFFFFF /* (5) in WinSock1.1 */
@@ -465,42 +501,64 @@ struct sockproto
#define MSG_PEEK 2
#define MSG_DONTROUTE 4
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+#endif /* !__INSIDE_MSYS__ */
#define MSG_MAXIOVLEN 16
#define MSG_PARTIAL 0x8000
#define MAXGETHOSTSTRUCT 1024
-#define FD_READ_BIT 0
-#define FD_READ (1 << FD_READ_BIT)
-#define FD_WRITE_BIT 1
-#define FD_WRITE (1 << FD_WRITE_BIT)
-#define FD_OOB_BIT 2
-#define FD_OOB (1 << FD_OOB_BIT)
-#define FD_ACCEPT_BIT 3
-#define FD_ACCEPT (1 << FD_ACCEPT_BIT)
-#define FD_CONNECT_BIT 4
-#define FD_CONNECT (1 << FD_CONNECT_BIT)
-#define FD_CLOSE_BIT 5
-#define FD_CLOSE (1 << FD_CLOSE_BIT)
-/* WinSock v1.1 defines no further events, beyond FD_CLOSE (32);
- * the following are specific to WinSock v2.
+enum
+{ /* Enumerate the flags used to represent the events which may be
+ * detected on any socket, when monitored via an fd_set array.
+ */
+ FD_READ_BIT = 0,
+# define FD_READ (1 << FD_READ_BIT)
+
+ FD_WRITE_BIT,
+# define FD_WRITE (1 << FD_WRITE_BIT)
+
+ FD_OOB_BIT,
+# define FD_OOB (1 << FD_OOB_BIT)
+
+ FD_ACCEPT_BIT,
+# define FD_ACCEPT (1 << FD_ACCEPT_BIT)
+
+ FD_CONNECT_BIT,
+# define FD_CONNECT (1 << FD_CONNECT_BIT)
+
+ FD_CLOSE_BIT,
+# define FD_CLOSE (1 << FD_CLOSE_BIT)
+
+# ifdef _WINSOCK2_H
+/* WinSock v1.1 defines no further events, beyond FD_CLOSE (1 << 5 = 32).
+ * The following are specific to WinSock v2; for convenience, they may be
+ * enumerated here, but they are exposed only when <winsock.h> is included
+ * indirectly, by way of including <winsock2.h>
*/
-#define FD_QOS_BIT 6
-#define FD_QOS (1 << FD_QOS_BIT)
-#define FD_GROUP_QOS_BIT 7
-#define FD_GROUP_QOS (1 << FD_GROUP_QOS_BIT)
-#define FD_ROUTING_INTERFACE_CHANGE_BIT 8
-#define FD_ROUTING_INTERFACE_CHANGE (1 << FD_ROUTING_INTERFACE_CHANGE_BIT)
-#define FD_ADDRESS_LIST_CHANGE_BIT 9
-#define FD_ADDRESS_LIST_CHANGE (1 << FD_ADDRESS_LIST_CHANGE_BIT)
-
-#define FD_MAX_EVENTS 10
-#define FD_ALL_EVENTS ((1 << FD_MAX_EVENTS) - 1)
+ FD_QOS_BIT,
+# define FD_QOS (1 << FD_QOS_BIT)
+
+ FD_GROUP_QOS_BIT,
+# define FD_GROUP_QOS (1 << FD_GROUP_QOS_BIT)
+
+ FD_ROUTING_INTERFACE_CHANGE_BIT,
+# define FD_ROUTING_INTERFACE_CHANGE (1 << FD_ROUTING_INTERFACE_CHANGE_BIT)
+
+ FD_ADDRESS_LIST_CHANGE_BIT,
+# define FD_ADDRESS_LIST_CHANGE (1 << FD_ADDRESS_LIST_CHANGE_BIT)
+
+# endif /* _WINSOCK2_H */
+ /* Regardless of WinSock version, FD_MAX_EVENTS represents the first
+ * unused flag bit, whence we may deduce FD_ALL_EVENTS, as a mask for
+ * all supported event flags, specific to the WinSock version in use.
+ */
+ FD_MAX_EVENTS,
+# define FD_ALL_EVENTS ((1 << FD_MAX_EVENTS) - 1)
+};
#define WSANO_ADDRESS WSANO_DATA
-#if ! (defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
+#ifndef __INSIDE_MSYS__
#define h_errno WSAGetLastError()
#define HOST_NOT_FOUND WSAHOST_NOT_FOUND
@@ -509,7 +567,7 @@ struct sockproto
#define NO_DATA WSANO_DATA
#define NO_ADDRESS WSANO_ADDRESS
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+#endif /* !__INSIDE_MSYS__ */
WINSOCK_API_LINKAGE SOCKET PASCAL accept (SOCKET, struct sockaddr *, int *);
@@ -542,7 +600,6 @@ WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct servent *) getservbyname (const c
WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct protoent *) getprotobynumber (int);
WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct protoent *) getprotobyname (const char *);
-
typedef SOCKET (PASCAL *LPFN_ACCEPT) (SOCKET, struct sockaddr *, int *);
typedef int (PASCAL *LPFN_BIND) (SOCKET, const struct sockaddr *, int);
@@ -629,7 +686,7 @@ typedef HANDLE (PASCAL *LPFN_WSAASYNCGETHOSTBYADDR) (HWND, u_int, const char*, i
typedef int (PASCAL *LPFN_WSACANCELASYNCREQUEST) (HANDLE);
typedef int (PASCAL *LPFN_WSAASYNCSELECT) (SOCKET, HWND, u_int, long);
-#if ! (defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
+#ifndef __INSIDE_MSYS__
WINSOCK_API_LINKAGE u_long PASCAL htonl (u_long);
WINSOCK_API_LINKAGE u_long PASCAL ntohl (u_long);
@@ -637,9 +694,9 @@ WINSOCK_API_LINKAGE u_short PASCAL htons (u_short);
WINSOCK_API_LINKAGE u_short PASCAL ntohs (u_short);
WINSOCK_API_LINKAGE int PASCAL select (int nfds, fd_set *, fd_set *, fd_set *, const struct timeval *);
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+#endif /* !__INSIDE_MSYS__ */
-int PASCAL gethostname (char *, int);
+WINSOCK_API_LINKAGE int PASCAL gethostname (char *, int);
#define WSAMAKEASYNCREPLY(b,e) MAKELONG(b,e)
#define WSAMAKESELECTREPLY(e,error) MAKELONG(e,error)
@@ -653,12 +710,16 @@ typedef struct sockaddr_storage SOCKADDR_STORAGE, *PSOCKADDR_STORAGE;
typedef struct sockaddr_in SOCKADDR_IN, *PSOCKADDR_IN, *LPSOCKADDR_IN;
typedef struct linger LINGER, *PLINGER, *LPLINGER;
typedef struct in_addr IN_ADDR, *PIN_ADDR, *LPIN_ADDR;
-typedef struct fd_set FD_SET, *PFD_SET, *LPFD_SET;
typedef struct hostent HOSTENT, *PHOSTENT, *LPHOSTENT;
typedef struct servent SERVENT, *PSERVENT, *LPSERVENT;
typedef struct protoent PROTOENT, *PPROTOENT, *LPPROTOENT;
typedef struct timeval TIMEVAL, *PTIMEVAL, *LPTIMEVAL;
+_END_C_DECLS
+
+
+#undef __WINSOCK_H_SOURCED__
+
/* winsock2 additions */
#define __WINSOCK2_H_SOURCED__
@@ -670,6 +731,8 @@ typedef struct timeval TIMEVAL, *PTIMEVAL, *LPTIMEVAL;
*/
#include "nspapi.h"
+_BEGIN_C_DECLS
+
#define ADDR_ANY INADDR_ANY
#define IN_CLASSD(i) (((long)(i) & 0xF0000000) == 0xE0000000)
diff --git a/w32api/include/ws2spi.h b/w32api/include/ws2spi.h
index 24fc61f..e35a8b2 100644
--- a/w32api/include/ws2spi.h
+++ b/w32api/include/ws2spi.h
@@ -1,202 +1,305 @@
/*
* ws2spi.h
*
- * Winsock 2 Service Provider Interface.
+ * WinSock v2 Service Provider Interface.
*
+ * $Id$
*
- * THIS SOFTWARE IS NOT COPYRIGHTED
+ * Written by Casper S. Hornstrup <ch...@us...>
+ * Copyright (C) 2002-2004, 2006, 2017, MinGW.org Project
*
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
*
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
*
*/
#ifndef _WS2SPI_H
-#define _WS2SPI_H
-#if __GNUC__ >= 3
#pragma GCC system_header
-#endif
+#define _WS2SPI_H
#include <winsock2.h>
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+_BEGIN_C_DECLS
-#define WSPAPI WSAAPI
-#define WSPDESCRIPTION_LEN 255
+#define WSPAPI WSAAPI
+#define WSPDESCRIPTION_LEN 255
#ifndef RC_INVOKED
-typedef struct WSPData {
- WORD wVersion;
- WORD wHighVersion;
- WCHAR szDescription[WSPDESCRIPTION_LEN+1];
+typedef
+struct WSPData
+{ WORD wVersion;
+ WORD wHighVersion;
+ WCHAR szDescription[WSPDESCRIPTION_LEN+1];
} WSPDATA, FAR *LPWSPDATA;
-typedef struct _WSATHREADID {
- HANDLE ThreadHandle;
- DWORD Reserved;
+
+typedef
+struct _WSATHREADID
+{ HANDLE ThreadHandle;
+ DWORD Reserved;
} WSATHREADID, FAR *LPWSATHREADID;
-typedef BOOL (CALLBACK FAR *LPBLOCKINGCALLBACK)(DWORD);
-typedef VOID (CALLBACK FAR *LPWSAUSERAPC)(DWORD);
-
-/* Prototypes for service provider procedure table */
-typedef SOCKET (WSPAPI *LPWSPACCEPT)(SOCKET,LPSOCKADDR,LPINT,LPCONDITIONPROC,DWORD,LPINT);
-typedef INT (WSPAPI *LPWSPADDRESSTOSTRING)(LPSOCKADDR,DWORD,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWORD,LPINT);
-typedef INT (WSPAPI *LPWSPASYNCSELECT)(SOCKET,HWND,UINT,LONG,LPINT);
-typedef INT (WSPAPI *LPWSPBIND)(SOCKET,const struct sockaddr*,INT,LPINT);
-typedef INT (WSPAPI *LPWSPCANCELBLOCKINGCALL)(LPINT);
-typedef INT (WSPAPI *LPWSPCLEANUP)(LPINT);
-typedef INT (WSPAPI *LPWSPCLOSESOCKET)(SOCKET,LPINT);
-typedef INT (WSPAPI *LPWSPCONNECT)(SOCKET,const struct sockaddr*,INT,LPWSABUF,LPWSABUF,LPQOS,LPQOS,LPINT);
-typedef INT (WSPAPI *LPWSPDUPLICATESOCKET)(SOCKET,DWORD,LPWSAPROTOCOL_INFOW,LPINT);
-typedef INT (WSPAPI *LPWSPENUMNETWORKEVENTS)(SOCKET,WSAEVENT,LPWSANETWORKEVENTS,LPINT);
-typedef INT (WSPAPI *LPWSPEVENTSELECT)(SOCKET,WSAEVENT,LONG,LPINT);
-typedef BOOL (WSPAPI *LPWSPGETOVERLAPPEDRESULT)(SOCKET,LPWSAOVERLAPPED,LPDWORD,BOOL,LPDWORD,LPINT);
-typedef INT (WSPAPI *LPWSPGETPEERNAME)(SOCKET,LPSOCKADDR,LPINT,LPINT);
-typedef BOOL (WSPAPI *LPWSPGETQOSBYNAME)(SOCKET,LPWSABUF,LPQOS,LPINT);
-typedef INT (WSPAPI *LPWSPGETSOCKNAME)(SOCKET,LPSOCKADDR,LPINT,LPINT);
-typedef INT (WSPAPI *LPWSPGETSOCKOPT)(SOCKET,INT,INT,CHAR FAR*,LPINT,LPINT);
-typedef INT (WSPAPI *LPWSPIOCTL)(SOCKET,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,
- LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef SOCKET (WSPAPI *LPWSPJOINLEAF)(SOCKET,const struct sockaddr*,INT,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD,LPINT);
-typedef INT (WSPAPI *LPWSPLISTEN)(SOCKET,INT,LPINT);
-typedef INT (WSPAPI *LPWSPRECV)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,
-LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef INT (WSPAPI *LPWSPRECVDISCONNECT)(SOCKET,LPWSABUF,LPINT);
-typedef INT (WSPAPI *LPWSPRECVFROM)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,LPSOCKADDR,
-LPINT,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef INT (WSPAPI *LPWSPSELECT)(INT,LPFD_SET,LPFD_SET,LPFD_SET,CONST TIMEVAL*,LPINT);
-typedef INT (WSPAPI *LPWSPSEND)(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,
-LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef INT (WSPAPI *LPWSPSENDDISCONNECT)(SOCKET,LPWSABUF,LPINT);
-typedef INT (WSPAPI *LPWSPSENDTO)(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,const struct sockaddr*,
- INT,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef INT (WSPAPI *LPWSPSETSOCKOPT)(SOCKET,INT,INT,CONST CHAR FAR*,INT,LPINT);
-typedef INT (WSPAPI *LPWSPSHUTDOWN)(SOCKET,INT,LPINT);
-typedef SOCKET (WSPAPI *LPWSPSOCKET)(INT,INT,INT,LPWSAPROTOCOL_INFOW,GROUP,DWORD,LPINT);
-typedef INT (WSPAPI *LPWSPSTRINGTOADDRESS)(LPWSTR,INT,LPWSAPROTOCOL_INFOW,LPSOCKADDR,LPINT,LPINT);
-
-/* Service provider procedure table */
-typedef struct _WSPPROC_TABLE {
- LPWSPACCEPT lpWSPAccept;
- LPWSPADDRESSTOSTRING lpWSPAddressToString;
- LPWSPASYNCSELECT lpWSPAsyncSelect;
- LPWSPBIND lpWSPBind;
- LPWSPCANCELBLOCKINGCALL lpWSPCancelBlockingCall;
- LPWSPCLEANUP lpWSPCleanup;
- LPWSPCLOSESOCKET lpWSPCloseSocket;
- LPWSPCONNECT lpWSPConnect;
- LPWSPDUPLICATESOCKET lpWSPDuplicateSocket;
- LPWSPENUMNETWORKEVENTS lpWSPEnumNetworkEvents;
- LPWSPEVENTSELECT lpWSPEventSelect;
- LPWSPGETOVERLAPPEDRESULT lpWSPGetOverlappedResult;
- LPWSPGETPEERNAME lpWSPGetPeerName;
- LPWSPGETSOCKNAME lpWSPGetSockName;
- LPWSPGETSOCKOPT lpWSPGetSockOpt;
- LPWSPGETQOSBYNAME lpWSPGetQOSByName;
- LPWSPIOCTL lpWSPIoctl;
- LPWSPJOINLEAF lpWSPJoinLeaf;
- LPWSPLISTEN lpWSPListen;
- LPWSPRECV lpWSPRecv;
- LPWSPRECVDISCONNECT lpWSPRecvDisconnect;
- LPWSPRECVFROM lpWSPRecvFrom;
- LPWSPSELECT lpWSPSelect;
- LPWSPSEND lpWSPSend;
- LPWSPSENDDISCONNECT lpWSPSendDisconnect;
- LPWSPSENDTO lpWSPSendTo;
- LPWSPSETSOCKOPT lpWSPSetSockOpt;
- LPWSPSHUTDOWN lpWSPShutdown;
- LPWSPSOCKET lpWSPSocket;
- LPWSPSTRINGTOADDRESS lpWSPStringToAddress;
-} WSPPROC_TABLE, FAR* LPWSPPROC_TABLE;
-
-/* Prototypes for service provider upcall procedure table */
-typedef BOOL (WSPAPI *LPWPUCLOSEEVENT)(WSAEVENT,LPINT);
-typedef INT (WSPAPI *LPWPUCLOSESOCKETHANDLE)(SOCKET,LPINT);
-typedef INT (WSPAPI *LPWPUCLOSETHREAD)(LPWSATHREADID,LPINT);
-typedef WSAEVENT (WSPAPI *LPWPUCREATEEVENT)(LPINT);
-typedef SOCKET (WSPAPI *LPWPUCREATESOCKETHANDLE)(DWORD,DWORD,LPINT);
-typedef SOCKET (WSPAPI *LPWPUFDISSET)(SOCKET,LPFD_SET);
-typedef INT (WSPAPI *LPWPUGETPROVIDERPATH)(LPGUID,LPWSTR,LPINT,LPINT);
-typedef SOCKET (WSPAPI *LPWPUMODIFYIFSHANDLE)(DWORD,SOCKET,LPINT);
-typedef INT (WSPAPI *LPWPUOPENCURRENTTHREAD)(LPWSATHREADID,LPINT);
-typedef BOOL (WSPAPI *LPWPUPOSTMESSAGE)(HWND,UINT,WPARAM,LPARAM);
-typedef INT (WSPAPI *LPWPUQUERYBLOCKINGCALLBACK)(DWORD,LPBLOCKINGCALLBACK FAR*,LPDWORD,LPINT);
-typedef INT (WSPAPI *LPWPUQUERYSOCKETHANDLECONTEXT)(SOCKET,LPDWORD,LPINT);
-typedef INT (WSPAPI *LPWPUQUEUEAPC)(LPWSATHREADID,LPWSAUSERAPC,DWORD,LPINT);
-typedef BOOL (WSPAPI *LPWPURESETEVENT)(WSAEVENT,LPINT);
-typedef BOOL (WSPAPI *LPWPUSETEVENT)(WSAEVENT,LPINT);
-/* Available only directly from the DLL */
-typedef INT (WSPAPI *LPWPUCOMPLETEOVERLAPPEDREQUEST)(SOCKET,LPWSAOVERLAPPED,DWORD,DWORD,LPINT);
-
-/* Service Provider upcall table */
-typedef struct _WSPUPCALLTABLE {
- LPWPUCLOSEEVENT lpWPUCloseEvent;
- LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle;
- LPWPUCREATEEVENT lpWPUCreateEvent;
- LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle;
- LPWPUFDISSET lpWPUFDIsSet;
- LPWPUGETPROVIDERPATH lpWPUGetProviderPath;
- LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle;
- LPWPUPOSTMESSAGE lpWPUPostMessage;
- LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback;
- LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext;
- LPWPUQUEUEAPC lpWPUQueueApc;
- LPWPURESETEVENT lpWPUResetEvent;
- LPWPUSETEVENT lpWPUSetEvent;
- LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread;
- LPWPUCLOSETHREAD lpWPUCloseThread;
-} WSPUPCALLTABLE, FAR* LPWSPUPCALLTABLE;
-
-typedef INT (WSPAPI *LPWSPSTARTUP)(WORD,LPWSPDATA,LPWSAPROTOCOL_INFOW,WSPUPCALLTABLE,LPWSPPROC_TABLE);
-
-/* Prototypes for service provider namespace procedure table */
-typedef INT (WSPAPI *LPNSPCLEANUP)(LPGUID);
-typedef INT (WSPAPI *LPNSPGETSERVICECLASSINFO)(LPGUID,LPDWORD,LPWSASERVICECLASSINFOW);
-typedef INT (WSPAPI *LPNSPINSTALLSERVICECLASS)(LPGUID,LPWSASERVICECLASSINFOW);
-typedef INT (WSPAPI *LPNSPLOOKUPSERVICEBEGIN)(LPGUID,LPWSAQUERYSETW,LPWSASERVICECLASSINFOW,DWORD,LPHANDLE);
-typedef INT (WSPAPI *LPNSPLOOKUPSERVICEEND)(HANDLE);
-typedef INT (WSPAPI *LPNSPLOOKUPSERVICENEXT)(HANDLE,DWORD,LPDWORD,LPWSAQUERYSET);
-typedef INT (WSPAPI *LPNSPREMOVESERVICECLASS)(LPGUID,LPGUID);
-typedef INT (WSPAPI *LPNSPSETSERVICE)(LPGUID,LPWSASERVICECLASSINFOW,LPWSAQUERYSETW,WSAESETSERVICEOP,DWORD);
-
-typedef struct _NSP_ROUTINE {
- DWORD cbSize;
- DWORD dwMajorVersion;
- DWORD dwMinorVersion;
- LPNSPCLEANUP NSPCleanup;
- LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin;
- LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext;
- LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd;
- LPNSPSETSERVICE NSPSetService;
- LPNSPINSTALLSERVICECLASS NSPInstallServiceClass;
- LPNSPREMOVESERVICECLASS NSPRemoveServiceClass;
- LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo;
+typedef BOOL (CALLBACK FAR *LPBLOCKINGCALLBACK) (DWORD);
+typedef VOID (CALLBACK FAR *LPWSAUSERAPC) (DWORD);
+
+/* Prototypes for functions which may be invoked
+ * via the Service Provider Procedure Table.
+ */
+typedef SOCKET (WSPAPI *LPWSPACCEPT)
+ ( SOCKET, LPSOCKADDR, LPINT, LPCONDITIONPROC, DWORD, LPINT
+ );
+typedef INT (WSPAPI *LPWSPADDRESSTOSTRING)
+ ( LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOW, LPWSTR, LPDWORD, LPINT
+ );
+typedef INT (WSPAPI *LPWSPASYNCSELECT) (SOCKET, HWND, UINT, LONG, LPINT);
+typedef INT (WSPAPI *LPWSPBIND) (SOCKET, const struct sockaddr *, INT, LPINT);
+typedef INT (WSPAPI *LPWSPCANCELBLOCKINGCALL) (LPINT);
+typedef INT (WSPAPI *LPWSPCLEANUP) (LPINT);
+typedef INT (WSPAPI *LPWSPCLOSESOCKET) (SOCKET, LPINT);
+
+typedef INT (WSPAPI *LPWSPCONNECT)
+ ( SOCKET, const struct sockaddr *, INT, LPWSABUF, LPWSABUF,
+ LPQOS, LPQOS, LPINT
+ );
+typedef INT (WSPAPI *LPWSPDUPLICATESOCKET)
+ ( SOCKET, DWORD, LPWSAPROTOCOL_INFOW, LPINT
+ );
+typedef INT (WSPAPI *LPWSPENUMNETWORKEVENTS)
+ ( SOCKET, WSAEVENT, LPWSANETWORKEVENTS, LPINT
+ );
+typedef INT (WSPAPI *LPWSPEVENTSELECT) (SOCKET, WSAEVENT, LONG, LPINT);
+
+typedef BOOL (WSPAPI *LPWSPGETOVERLAPPEDRESULT)
+ ( SOCKET, LPWSAOVERLAPPED, LPDWORD, BOOL, LPDWORD, LPINT
+ );
+typedef INT (WSPAPI *LPWSPGETPEERNAME) (SOCKET, LPSOCKADDR, LPINT, LPINT);
+typedef BOOL (WSPAPI *LPWSPGETQOSBYNAME) (SOCKET, LPWSABUF, LPQOS, LPINT);
+typedef INT (WSPAPI *LPWSPGETSOCKNAME) (SOCKET, LPSOCKADDR, LPINT, LPINT);
+
+typedef INT (WSPAPI *LPWSPGETSOCKOPT)
+ ( SOCKET, INT, INT, CHAR FAR *, LPINT, LPINT
+ );
+typedef INT (WSPAPI *LPWSPIOCTL)
+ ( SOCKET, DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPWSAOVERLAPPED,
+ LPWSAOVERLAPPED_COMPLETION_ROUTINE, LPWSATHREADID, LPINT
+ );
+typedef SOCKET (WSPAPI *LPWSPJOINLEAF)
+ ( SOCKET, const struct sockaddr*, INT, LPWSABUF, LPWSABUF,
+ LPQOS, LPQOS, DWORD, LPINT
+ );
+typedef INT (WSPAPI *LPWSPLISTEN) (SOCKET, INT, LPINT);
+
+typedef INT (WSPAPI *LPWSPRECV)
+ ( SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, LPWSAOVERLAPPED,
+ LPWSAOVERLAPPED_COMPLETION_ROUTINE, LPWSATHREADID, LPINT
+ );
+typedef INT (WSPAPI *LPWSPRECVDISCONNECT) (SOCKET, LPWSABUF, LPINT);
+
+typedef INT (WSPAPI *LPWSPRECVFROM)
+ ( SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, LPSOCKADDR, LPINT,
+ LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE, LPWSATHREADID,
+ LPINT
+ );
+typedef INT (WSPAPI *LPWSPSELECT)
+ ( INT, fd_set *, fd_set *, fd_set *, CONST TIMEVAL *, LPINT
+ );
+typedef INT (WSPAPI *LPWSPSEND)
+ ( SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, LPWSAOVERLAPPED,
+ LPWSAOVERLAPPED_COMPLETION_ROUTINE, LPWSATHREADID, LPINT
+ );
+typedef INT (WSPAPI *LPWSPSENDDISCONNECT) (SOCKET, LPWSABUF, LPINT);
+
+typedef INT (WSPAPI *LPWSPSENDTO)
+ ( SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, const struct sockaddr *,
+ INT, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE,
+ LPWSATHREADID, LPINT
+ );
+typedef INT (WSPAPI *LPWSPSETSOCKOPT)
+ ( SOCKET, INT, INT, CONST CHAR FAR *, INT, LPINT
+ );
+typedef INT (WSPAPI *LPWSPSHUTDOWN) (SOCKET, INT, LPINT);
+
+typedef SOCKET (WSPAPI *LPWSPSOCKET)
+ ( INT, INT, INT, LPWSAPROTOCOL_INFOW, GROUP, DWORD, LPINT
+ );
+typedef INT (WSPAPI *LPWSPSTRINGTOADDRESS)
+ ( LPWSTR, INT, LPWSAPROTOCOL_INFOW, LPSOCKADDR, LPINT, LPINT
+ );
+
+typedef
+struct _WSPPROC_TABLE
+{ /* Service Provider Procedure Table
+ */
+ LPWSPACCEPT lpWSPAccept;
+ LPWSPADDRESSTOSTRING lpWSPAddressToString;
+ LPWSPASYNCSELECT lpWSPAsyncSelect;
+ LPWSPBIND lpWSPBind;
+ LPWSPCANCELBLOCKINGCALL lpWSPCancelBlockingCall;
+ LPWSPCLEANUP lpWSPCleanup;
+ LPWSPCLOSESOCKET lpWSPCloseSocket;
+ LPWSPCONNECT lpWSPConnect;
+ LPWSPDUPLICATESOCKET lpWSPDuplicateSocket;
+ LPWSPENUMNETWORKEVENTS lpWSPEnumNetworkEvents;
+ LPWSPEVENTSELECT lpWSPEventSelect;
+ LPWSPGETOVERLAPPEDRESULT lpWSPGetOverlappedResult;
+ LPWSPGETPEERNAME lpWSPGetPeerName;
+ LPWSPGETSOCKNAME lpWSPGetSockName;
+ LPWSPGETSOCKOPT lpWSPGetSockOpt;
+ LPWSPGETQOSBYNAME lpWSPGetQOSByName;
+ LPWSPIOCTL lpWSPIoctl;
+ LPWSPJOINLEAF lpWSPJoinLeaf;
+ LPWSPLISTEN lpWSPListen;
+ LPWSPRECV lpWSPRecv;
+ LPWSPRECVDISCONNECT lpWSPRecvDisconnect;
+ LPWSPRECVFROM lpWSPRecvFrom;
+ LPWSPSELECT lpWSPSelect;
+ LPWSPSEND lpWSPSend;
+ LPWSPSENDDISCONNECT lpWSPSendDisconnect;
+ LPWSPSENDTO lpWSPSendTo;
+ LPWSPSETSOCKOPT lpWSPSetSockOpt;
+ LPWSPSHUTDOWN lpWSPShutdown;
+ LPWSPSOCKET lpWSPSocket;
+ LPWSPSTRINGTOADDRESS lpWSPStringToAddress;
+} WSPPROC_TABLE, FAR *LPWSPPROC_TABLE;
+
+/* Prototypes for functions which may be invoked via
+ * the Service Provider Upcall Procedure Table.
+ */
+typedef BOOL (WSPAPI *LPWPUCLOSEEVENT) (WSAEVENT, LPINT);
+typedef INT (WSPAPI *LPWPUCLOSESOCKETHANDLE) (SOCKET, LPINT);
+typedef INT (WSPAPI *LPWPUCLOSETHREAD) (LPWSATHREADID, LPINT);
+typedef WSAEVENT (WSPAPI *LPWPUCREATEEVENT) (LPINT);
+typedef SOCKET (WSPAPI *LPWPUCREATESOCKETHANDLE) (DWORD, DWORD, LPINT);
+typedef SOCKET (WSPAPI *LPWPUFDISSET) (SOCKET, fd_set *);
+typedef INT (WSPAPI *LPWPUGETPROVIDERPATH) (LPGUID, LPWSTR, LPINT, LPINT);
+typedef SOCKET (WSPAPI *LPWPUMODIFYIFSHANDLE) (DWORD, SOCKET, LPINT);
+typedef INT (WSPAPI *LPWPUOPENCURRENTTHREAD) (LPWSATHREADID, LPINT);
+typedef BOOL (WSPAPI *LPWPUPOSTMESSAGE) (HWND, UINT, WPARAM, LPARAM);
+
+typedef INT (WSPAPI *LPWPUQUERYBLOCKINGCALLBACK)
+ ( DWORD, LPBLOCKINGCALLBACK FAR *, LPDWORD, LPINT
+ );
+typedef INT (WSPAPI *LPWPUQUERYSOCKETHANDLECONTEXT) (SOCKET, LPDWORD, LPINT);
+
+typedef INT (WSPAPI *LPWPUQUEUEAPC)
+ ( LPWSATHREADID, LPWSAUSERAPC, DWORD, LPINT
+ );
+typedef BOOL (WSPAPI *LPWPURESETEVENT) (WSAEVENT, LPINT);
+typedef BOOL (WSPAPI *LPWPUSETEVENT) (WSAEVENT, LPINT);
+
+/* Functions matching the following prototype are available
+ * only directly from the DLL
+ */
+typedef INT (WSPAPI *LPWPUCOMPLETEOVERLAPPEDREQUEST)
+ ( SOCKET, LPWSAOVERLAPPED, DWORD, DWORD, LPINT
+ );
+
+typedef
+struct _WSPUPCALLTABLE
+{ /* Service Provider Upcall Table
+ */
+ LPWPUCLOSEEVENT lpWPUCloseEvent;
+ LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle;
+ LPWPUCREATEEVENT lpWPUCreateEvent;
+ LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle;
+ LPWPUFDISSET lpWPUFDIsSet;
+ LPWPUGETPROVIDERPATH lpWPUGetProviderPath;
+ LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle;
+ LPWPUPOSTMESSAGE lpWPUPostMessage;
+ LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback;
+ LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext;
+ LPWPUQUEUEAPC lpWPUQueueApc;
+ LPWPURESETEVENT lpWPUResetEvent;
+ LPWPUSETEVENT lpWPUSetEvent;
+ LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread;
+ LPWPUCLOSETHREAD lpWPUCloseThread;
+} WSPUPCALLTABLE, FAR *LPWSPUPCALLTABLE;
+
+typedef INT (WSPAPI *LPWSPSTARTUP)
+ ( WORD, LPWSPDATA, LPWSAPROTOCOL_INFOW, WSPUPCALLTABLE, LPWSPPROC_TABLE
+ );
+
+/* Prototypes for functions which may be invoked via
+ * the Service Provider Namespace Procedure Table.
+ */
+typedef INT (WSPAPI *LPNSPCLEANUP) (LPGUID);
+
+typedef INT (WSPAPI *LPNSPGETSERVICECLASSINFO)
+ ( LPGUID, LPDWORD, LPWSASERVICECLASSINFOW
+ );
+typedef INT (WSPAPI *LPNSPINSTALLSERVICECLASS)
+ ( LPGUID, LPWSASERVICECLASSINFOW
+ );
+typedef INT (WSPAPI *LPNSPLOOKUPSERVICEBEGIN)
+ ( LPGUID, LPWSAQUERYSETW, LPWSASERVICECLASSINFOW, DWORD, LPHANDLE
+ );
+typedef INT (WSPAPI *LPNSPLOOKUPSERVICEEND) (HANDLE);
+typedef INT (WSPAPI *LPNSPLOOKUPSERVICENEXT)
+ ( HANDLE, DWORD, LPDWORD, LPWSAQUERYSET
+ );
+typedef INT (WSPAPI *LPNSPREMOVESERVICECLASS) (LPGUID, LPGUID);
+
+typedef INT (WSPAPI *LPNSPSETSERVICE)
+ ( LPGUID, LPWSASERVICECLASSINFOW, LPWSAQUERYSETW, WSAESETSERVICEOP, DWORD
+ );
+
+typedef
+struct _NSP_ROUTINE
+{ /* Service Provider Namespace Procedure Table
+ */
+ DWORD cbSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ LPNSPCLEANUP NSPCleanup;
+ LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin;
+ LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext;
+ LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd;
+ LPNSPSETSERVICE NSPSetService;
+ LPNSPINSTALLSERVICECLASS NSPInstallServiceClass;
+ LPNSPREMOVESERVICECLASS NSPRemoveServiceClass;
+ LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo;
} NSP_ROUTINE, *PNSP_ROUTINE, *LPNSP_ROUTINE;
-INT WSPAPI NSPStartup(LPGUID,LPNSP_ROUTINE);
-
-/* WinSock 2 DLL function prototypes */
-INT WSPAPI WPUCompleteOverlappedRequest(SOCKET,LPWSAOVERLAPPED,DWORD,DWORD,LPINT);
-INT WSPAPI WSPStartup(WORD,LPWSPDATA,LPWSAPROTOCOL_INFOW,WSPUPCALLTABLE,LPWSPPROC_TABLE);
-INT WSPAPI WSCDeinstallProvider(LPGUID,LPINT);
-INT WSPAPI WSCEnumProtocols(LPINT,LPWSAPROTOCOL_INFOW,LPDWORD,LPINT);
-INT WSPAPI WSCGetProviderPath(LPGUID,LPWSTR,LPINT,LPINT);
-INT WSPAPI WSCInstallProvider(CONST LPGUID,CONST LPWSTR,CONST LPWSAPROTOCOL_INFOW,DWORD,LPINT);
-INT WSPAPI WSCEnableNSProvider(LPGUID,BOOL);
-INT WSPAPI WSCInstallNameSpace(LPWSTR,LPWSTR,DWORD,DWORD,LPGUID);
-INT WSPAPI WSCUnInstallNameSpace(LPGUID);
-INT WSPAPI WSCWriteProviderOrder(LPDWORD,DWORD);
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-#endif
+INT WSPAPI NSPStartup (LPGUID, LPNSP_ROUTINE);
+
+/* WinSock v2 DLL function prototypes
+ */
+INT WSPAPI WPUCompleteOverlappedRequest
+ ( SOCKET, LPWSAOVERLAPPED, DWORD, DWORD, LPINT
+ );
+INT WSPAPI WSPStartup
+ ( WORD, LPWSPDATA, LPWSAPROTOCOL_INFOW, WSPUPCALLTABLE, LPWSPPROC_TABLE
+ );
+INT WSPAPI WSCDeinstallProvider (LPGUID, LPINT);
+INT WSPAPI WSCEnumProtocols (LPINT, LPWSAPROTOCOL_INFOW, LPDWORD, LPINT);
+INT WSPAPI WSCGetProviderPath (LPGUID, LPWSTR, LPINT, LPINT);
+
+INT WSPAPI WSCInstallProvider
+ ( CONST LPGUID, CONST LPWSTR, CONST LPWSAPROTOCOL_INFOW, DWORD, LPINT
+ );
+INT WSPAPI WSCEnableNSProvider (LPGUID, BOOL);
+INT WSPAPI WSCInstallNameSpace (LPWSTR, LPWSTR, DWORD, DWORD, LPGUID);
+INT WSPAPI WSCUnInstallNameSpace (LPGUID);
+INT WSPAPI WSCWriteProviderOrder (LPDWORD, DWORD);
+
+#endif /* ! RC_INVOKED */
+
+_END_C_DECLS
+
+#endif /* !_WS2SPI_H: $RCSfile$: end of file */
-----------------------------------------------------------------------
Summary of changes:
w32api/ChangeLog | 27 +++
w32api/include/winsock.h | 14 +-
w32api/include/winsock2.h | 229 ++++++++++++++---------
w32api/include/ws2spi.h | 461 ++++++++++++++++++++++++++++------------------
4 files changed, 457 insertions(+), 274 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2017-11-14 20:11:15
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via e709449d08b3c4d9f0c6e5890953193abde396ac (commit)
from be218568e9ed4ef533763dbe34025c5562faf6d2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/e709449d08b3c4d9f0c6e5890953193abde396ac/
commit e709449d08b3c4d9f0c6e5890953193abde396ac
Author: Keith Marshall <ke...@us...>
Date: Tue Nov 14 20:07:02 2017 +0000
Establish default selection for WinSock API declaration.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index e3b7dad..7cac41c 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,5 +1,18 @@
2017-11-14 Keith Marshall <ke...@us...>
+ 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 <ke...@us...>
+
Update gethostname() declaration; drop Cygwin specificity.
* include/winsock.h (gethostname): Declare unconditionally; add...
diff --git a/w32api/include/_winsock.h b/w32api/include/_winsock.h
new file mode 100644
index 0000000..8395338
--- /dev/null
+++ b/w32api/include/_winsock.h
@@ -0,0 +1,59 @@
+/*
+ * _winsock.h
+ *
+ * A private system header, included wherever other system headers may
+ * require declaration of the WinSock API, without explicitly specifying
+ * a particular WinSock version dependency.
+ *
+ *
+ * $Id$
+ *
+ * Written by Keith Marshall <ke...@us...>
+ * Copyright (C) 2017, MinGW.org Project
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+#ifndef _WINSOCK_H
+#pragma GCC system_header
+
+/* The WinSock API dependency may be satisfied by including either <winsock.h>
+ * or <winsock2.h>; note that, regardless of whichever of these alternatives we
+ * choose, _WINSOCK_H will become defined, thus satisfying the repeat inclusion
+ * guard for this header file itself, without any requirement for us to provide
+ * an explicit definition herein.
+ */
+#include <sdkddkver.h>
+#if _WIN32_WINNT >= _WIN32_WINNT_NT4
+/* When the target operating system is WinNT4, or later, we prefer to support
+ * the WinSock v2 API, by default; (this is consistent with the default choice
+ * which was traditionally specified within MinGW.org's <windows.h>)...
+ */
+#include <winsock2.h>
+
+#else
+/* ...whereas, for operating systems predating WinNT4, we elect to offer
+ * support for only WinSock v1.1
+ */
+#include <winsock.h>
+#endif
+
+#endif /* !_WINSOCK_H: $RCSfile$: end of file */
diff --git a/w32api/include/nspapi.h b/w32api/include/nspapi.h
index fa7706f..c4c060b 100644
--- a/w32api/include/nspapi.h
+++ b/w32api/include/nspapi.h
@@ -42,21 +42,13 @@
* the full content, we must process the WinSock API declarations from
* <winsock.h> or <winsock2.h>, BEFORE we define the <nspapi.h> repeat
* inclusion guard, so that <winsock2.h> may, if necessary, recurse to
- * access the selectively exposed content.
+ * access the selectively exposed content. Inclusion of the following
+ * private header will declare the necessary WinSock API, choosing to
+ * include either <winsock.h> or <winsock2.h> by default, on the same
+ * basis as the similar choice made in <windows.h>
*/
-#ifndef _WINSOCK_H
-/* We must include <winsock.h> or <winsock2.h>; (we favour <winsock2.h>
- * over <winsock.h>, on the same basis as our <windows.h> does).
- */
-#include <sdkddkver.h>
-#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-#include <winsock2.h>
-
-#else /* _WIN32_WINNT < Win2K */
-#include <winsock.h>
-#endif
+#include "_winsock.h"
-#endif /* !_WINSOCK_H */
/* We can now be confident that the WinSock API has been appropriately
* declared; we may now define the <nspapi.h> repeat inclusion guard.
*/
diff --git a/w32api/include/windows.h b/w32api/include/windows.h
index 3603afd..f196cd2 100644
--- a/w32api/include/windows.h
+++ b/w32api/include/windows.h
@@ -6,7 +6,7 @@
* $Id$
*
* Written by Anders Norlander <ano...@he...>
- * Copyright (C) 1998-2003, 2006, 2007, 2016, MinGW.org Project
+ * Copyright (C) 1998-2003, 2006, 2007, 2016, 2017, MinGW.org Project
*
*
* Permission is hereby granted, free of charge, to any person obtaining a
@@ -68,24 +68,28 @@
#include <commdlg.h>
#include <winspool.h>
#endif
-#if defined(Win32_Winsock)
-#warning "The Win32_Winsock macro name is deprecated.\
- Please use __USE_W32_SOCKETS instead"
-#ifndef __USE_W32_SOCKETS
-#define __USE_W32_SOCKETS
+#if defined Win32_Winsock
+#warning "The Win32_Winsock macro is deprecated; use __USE_W32_SOCKETS instead."
+# ifndef __USE_W32_SOCKETS
+# define __USE_W32_SOCKETS
+# endif
#endif
-#endif
-#if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__) || defined(_UWIN))
-#if (_WIN32_WINNT >= 0x0400)
-#include <winsock2.h>
-/*
- * MS likes to include mswsock.h here as well,
- * but that can cause undefined symbols if
- * winsock2.h is included before windows.h
- */
-#else
-#include <winsock.h>
-#endif /* (_WIN32_WINNT >= 0x0400) */
+#if defined __USE_W32_SOCKETS \
+ || ! (defined __CYGWIN__ || defined __MSYS__ || defined _UWIN)
+ /* The WinSock API should be declared; including the following
+ * private header file will make an informed choice between the
+ * WinSock v1.1 API, as declared in <winsock.h>, and WinSock v2,
+ * as declared in <winsock2.h>, as the preferred default level
+ * of WinSock API support to be offered.
+ */
+# include "_winsock.h"
+ /*
+ * FIXME: strict Microsoft compatibility may require inclusion
+ * of <mswsock.h> here as well; however, this has been observed
+ * to produce undefined symbol errors, if <winsock2.h> has been
+ * included before <windows.h>, so we omit this.
+ */
+# /* include <mswsock.h> */
#endif
#ifndef NOGDI
/* In older versions we disallowed COM declarations in __OBJC__
diff --git a/w32api/tests/headers.at b/w32api/tests/headers.at
index 9069693..5edc831 100644
--- a/w32api/tests/headers.at
+++ b/w32api/tests/headers.at
@@ -255,6 +255,7 @@ winreg.h dnl
winresrc.h dnl
winsnmp.h dnl
winsock2.h dnl
+_winsock.h dnl
winsock.h dnl
winspool.h dnl
winsvc.h dnl
-----------------------------------------------------------------------
Summary of changes:
w32api/ChangeLog | 13 +++++++++++
w32api/include/_winsock.h | 59 +++++++++++++++++++++++++++++++++++++++++++++++
w32api/include/nspapi.h | 18 ++++-----------
w32api/include/windows.h | 40 +++++++++++++++++---------------
w32api/tests/headers.at | 1 +
5 files changed, 100 insertions(+), 31 deletions(-)
create mode 100644 w32api/include/_winsock.h
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2017-11-14 10:43:23
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via be218568e9ed4ef533763dbe34025c5562faf6d2 (commit)
via e1286e198603f4aaa68c5cc925a83855ace5aff2 (commit)
via cdeb514f102fd7ff08888042df58fc9a91f5f8fb (commit)
via a79cbf743e1120025e5a68e4ca68c5fcda9c2d1e (commit)
from c93876877c12a2b88d3da6d53e6303255f1d10f2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/be218568e9ed4ef533763dbe34025c5562faf6d2/
commit be218568e9ed4ef533763dbe34025c5562faf6d2
Author: Keith Marshall <ke...@us...>
Date: Tue Nov 14 10:19:03 2017 +0000
Update gethostname() declaration; drop Cygwin specificity.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index c1ba5d9..e3b7dad 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,12 @@
+2017-11-14 Keith Marshall <ke...@us...>
+
+ 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 <ke...@us...>
Normalize fd_set event macros for <winsock2.h> compatibility.
diff --git a/w32api/include/winsock.h b/w32api/include/winsock.h
index 2ade776..cc7e9cb 100644
--- a/w32api/include/winsock.h
+++ b/w32api/include/winsock.h
@@ -202,7 +202,7 @@ __CRT_ALIAS void __FD_ZERO (fd_set *__set)
#warning "Your <sys/types.h> may cause runtime problems with W32 sockets."
#endif /* !_SYS_TYPES_FD_SET */
-#if ! (defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
+#ifndef __INSIDE_MSYS__
struct hostent
{ char *h_name;
@@ -218,7 +218,7 @@ struct linger
u_short l_linger;
};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+#endif /* !__INSIDE_MSYS__ */
#define IOCPARM_MASK 0x7F
#define IOC_VOID 0x20000000
@@ -226,7 +226,7 @@ struct linger
#define IOC_IN 0x80000000
#define IOC_INOUT (IOC_IN | IOC_OUT)
-#if ! (defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
+#ifndef __INSIDE_MSYS__
#define _IO(x,y) (IOC_VOID|((x)<<8)|(y))
#define _IOR(x,y,t) (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
@@ -234,7 +234,7 @@ struct linger
#define FIONBIO _IOW('f', 126, u_long)
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+#endif /* !__INSIDE_MSYS__ */
#define FIONREAD _IOR('f', 127, u_long)
#define FIOASYNC _IOW('f', 125, u_long)
@@ -244,7 +244,7 @@ struct linger
#define SIOCGLOWAT _IOR('s', 3, u_long)
#define SIOCATMARK _IOR('s', 7, u_long)
-#if ! ( defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
+#ifndef __INSIDE_MSYS__
struct netent
{ char *n_name;
@@ -266,7 +266,7 @@ struct protoent
short p_proto;
};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+#endif /* !__INSIDE_MSYS__ */
#define IPPROTO_IP 0
#define IPPROTO_ICMP 1
@@ -451,7 +451,7 @@ struct ip_mreq
#define AF_ATM 22
#define AF_INET6 23
-#if ! (defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
+#ifndef __INSIDE_MSYS__
#define AF_MAX 24
@@ -460,7 +460,7 @@ struct sockaddr
char sa_data[14];
};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+#endif /* !__INSIDE_MSYS__ */
struct sockproto
{ u_short sp_family;
@@ -508,13 +508,13 @@ struct sockproto
#define SOMAXCONN 5
#endif /* !_WINSOCK2_H */
-#if ! (defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
+#ifndef __INSIDE_MSYS__
#define MSG_OOB 1
#define MSG_PEEK 2
#define MSG_DONTROUTE 4
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+#endif /* !__INSIDE_MSYS__ */
#define MSG_MAXIOVLEN 16
#define MSG_PARTIAL 0x8000
@@ -571,7 +571,7 @@ enum
#define WSANO_ADDRESS WSANO_DATA
-#if ! (defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
+#ifndef __INSIDE_MSYS__
#define h_errno WSAGetLastError()
#define HOST_NOT_FOUND WSAHOST_NOT_FOUND
@@ -580,7 +580,7 @@ enum
#define NO_DATA WSANO_DATA
#define NO_ADDRESS WSANO_ADDRESS
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+#endif /* !__INSIDE_MSYS__ */
WINSOCK_API_LINKAGE SOCKET PASCAL accept (SOCKET, struct sockaddr *, int *);
@@ -638,7 +638,7 @@ WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetHostByAddr (HWND, u_int, const char
WINSOCK_API_LINKAGE int PASCAL WSACancelAsyncRequest (HANDLE);
WINSOCK_API_LINKAGE int PASCAL WSAAsyncSelect (SOCKET, HWND, u_int, long);
-#if ! (defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
+#ifndef __INSIDE_MSYS__
WINSOCK_API_LINKAGE u_long PASCAL htonl (u_long);
WINSOCK_API_LINKAGE u_long PASCAL ntohl (u_long);
@@ -646,13 +646,9 @@ WINSOCK_API_LINKAGE u_short PASCAL htons (u_short);
WINSOCK_API_LINKAGE u_short PASCAL ntohs (u_short);
WINSOCK_API_LINKAGE int PASCAL select (int nfds, fd_set *, fd_set *, fd_set *, const struct timeval *);
-/* FIXME: <winsock2.h> moves the following declaration out of the
- * !(__INSIDE_CYGWIN__||__INSIDE_MSYS__) filter; which is correct?
- * Furthermore, should this not also have WINSOCK_API_LINKAGE?
- */
-int PASCAL gethostname (char *, int);
+#endif /* !__INSIDE_MSYS__ */
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
+WINSOCK_API_LINKAGE int PASCAL gethostname (char *, int);
#define WSAMAKEASYNCREPLY(b,e) MAKELONG(b,e)
#define WSAMAKESELECTREPLY(e,error) MAKELONG(e,error)
https://sf.net/p/mingw/mingw-org-wsl/ci/e1286e198603f4aaa68c5cc925a83855ace5aff2/
commit e1286e198603f4aaa68c5cc925a83855ace5aff2
Author: Keith Marshall <ke...@us...>
Date: Thu Nov 9 15:26:23 2017 +0000
Normalize fd_set event macros for <winsock2.h> compatibility.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 5524457..c1ba5d9 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,5 +1,23 @@
2017-11-09 Keith Marshall <ke...@us...>
+ 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 <ke...@us...>
+
Filter potential WinSock v2 conflicts out of <winsock.h>
* include/winsock.h [_WINSOCK2_H] <mswsock.h>: Do not include it.
diff --git a/w32api/include/winsock.h b/w32api/include/winsock.h
index 7aa2462..2ade776 100644
--- a/w32api/include/winsock.h
+++ b/w32api/include/winsock.h
@@ -1,7 +1,9 @@
/*
* winsock.h
*
- * Definitions for WinSock Version 1.1 API.
+ * Definitions for WinSock Version 1.1 API; also includes a subset of the
+ * definitions which become applicable for WinSock Version 2, filtered such
+ * that they are exposed only when this file is included by <winsock2.h>
*
*
* $Id$
@@ -518,12 +520,54 @@ struct sockproto
#define MSG_PARTIAL 0x8000
#define MAXGETHOSTSTRUCT 1024
-#define FD_READ 1
-#define FD_WRITE 2
-#define FD_OOB 4
-#define FD_ACCEPT 8
-#define FD_CONNECT 16
-#define FD_CLOSE 32
+enum
+{ /* Enumerate the flags used to represent the events which may be
+ * detected on any socket, when monitored via an fd_set array.
+ */
+ FD_READ_BIT = 0,
+# define FD_READ (1 << FD_READ_BIT)
+
+ FD_WRITE_BIT,
+# define FD_WRITE (1 << FD_WRITE_BIT)
+
+ FD_OOB_BIT,
+# define FD_OOB (1 << FD_OOB_BIT)
+
+ FD_ACCEPT_BIT,
+# define FD_ACCEPT (1 << FD_ACCEPT_BIT)
+
+ FD_CONNECT_BIT,
+# define FD_CONNECT (1 << FD_CONNECT_BIT)
+
+ FD_CLOSE_BIT,
+# define FD_CLOSE (1 << FD_CLOSE_BIT)
+
+# ifdef _WINSOCK2_H
+/* WinSock v1.1 defines no further events, beyond FD_CLOSE (1 << 5 = 32).
+ * The following are specific to WinSock v2; for convenience, they may be
+ * enumerated here, but they are exposed only when <winsock.h> is included
+ * indirectly, by way of including <winsock2.h>
+ */
+ FD_QOS_BIT,
+# define FD_QOS (1 << FD_QOS_BIT)
+
+ FD_GROUP_QOS_BIT,
+# define FD_GROUP_QOS (1 << FD_GROUP_QOS_BIT)
+
+ FD_ROUTING_INTERFACE_CHANGE_BIT,
+# define FD_ROUTING_INTERFACE_CHANGE (1 << FD_ROUTING_INTERFACE_CHANGE_BIT)
+
+ FD_ADDRESS_LIST_CHANGE_BIT,
+# define FD_ADDRESS_LIST_CHANGE (1 << FD_ADDRESS_LIST_CHANGE_BIT)
+
+# endif /* _WINSOCK2_H */
+ /* Regardless of WinSock version, FD_MAX_EVENTS represents the first
+ * unused flag bit, whence we may deduce FD_ALL_EVENTS, as a mask for
+ * all supported event flags, specific to the WinSock version in use.
+ */
+ FD_MAX_EVENTS,
+# define FD_ALL_EVENTS ((1 << FD_MAX_EVENTS) - 1)
+};
#define WSANO_ADDRESS WSANO_DATA
https://sf.net/p/mingw/mingw-org-wsl/ci/cdeb514f102fd7ff08888042df58fc9a91f5f8fb/
commit cdeb514f102fd7ff08888042df58fc9a91f5f8fb
Author: Keith Marshall <ke...@us...>
Date: Thu Nov 9 11:36:00 2017 +0000
Filter potential WinSock v2 conflicts out of <winsock.h>
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index d038251..5524457 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,5 +1,17 @@
2017-11-09 Keith Marshall <ke...@us...>
+ 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 <ke...@us...>
+
Filter out <winsock.h> typedef anomalies.
* include/winsock.h (FD_SET, PFD_SET, LPFD_SET): If user defines...
diff --git a/w32api/include/winsock.h b/w32api/include/winsock.h
index a4ee616..7aa2462 100644
--- a/w32api/include/winsock.h
+++ b/w32api/include/winsock.h
@@ -389,6 +389,7 @@ struct WSAData
#endif /* !__INSIDE_MSYS__ */
+#ifndef _WINSOCK2_H
/* The following IP defines are specific to WinSock v1.1 (wsock32.dll).
* They may cause errors, or produce unexpected results, if exposed when
* compiling application code which is intended to use the getsockopts(),
@@ -409,6 +410,7 @@ struct ip_mreq
{ struct in_addr imr_multiaddr;
struct in_addr imr_interface;
};
+#endif /* !_WINSOCK2_H */
#define INVALID_SOCKET (SOCKET)(~0)
#define SOCKET_ERROR (-1)
@@ -491,7 +493,18 @@ struct sockproto
#define PF_MAX AF_MAX
#define SOL_SOCKET 0xFFFF
+
+#ifndef _WINSOCK2_H
+/* FIXME: Is this behaviour correct?
+ * Historically, <winsock.h> defined SOMAXCONN unconditionally, with a
+ * value of 5. However, <winsock2.h> defines it, using a significantly
+ * different value, only when compiling native Windows code, and doesn't
+ * define it at all, when compiling for Cygwin or MSYS. To accommodate
+ * this difference in philosophy, we must now suppress this definition
+ * in <winsock.h>, when <winsock.h> has been included by <winsock2.h>
+ */
#define SOMAXCONN 5
+#endif /* !_WINSOCK2_H */
#if ! (defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
@@ -588,7 +601,12 @@ WINSOCK_API_LINKAGE u_long PASCAL ntohl (u_long);
WINSOCK_API_LINKAGE u_short PASCAL htons (u_short);
WINSOCK_API_LINKAGE u_short PASCAL ntohs (u_short);
WINSOCK_API_LINKAGE int PASCAL select (int nfds, fd_set *, fd_set *, fd_set *, const struct timeval *);
-int PASCAL gethostname (char *, int );
+
+/* FIXME: <winsock2.h> moves the following declaration out of the
+ * !(__INSIDE_CYGWIN__||__INSIDE_MSYS__) filter; which is correct?
+ * Furthermore, should this not also have WINSOCK_API_LINKAGE?
+ */
+int PASCAL gethostname (char *, int);
#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
@@ -610,6 +628,7 @@ typedef struct timeval TIMEVAL, *PTIMEVAL, *LPTIMEVAL;
_END_C_DECLS
+#ifndef _WINSOCK2_H
/* MSDN documentation indicates that the MS-specific extensions exported
* from mswsock.dll, (i.e. the AcceptEx(), TransmitFile(), WSARecEx(), and
* GetAcceptExSockaddrs() functions), are declared in <mswsock.h>. These
@@ -623,6 +642,7 @@ _END_C_DECLS
* references to the mswsock extensions.
*/
#include <mswsock.h>
+#endif
#undef __WINSOCK_H_SOURCED__
#endif /* _WINSOCK_H: $RCSfile$: end of file */
https://sf.net/p/mingw/mingw-org-wsl/ci/a79cbf743e1120025e5a68e4ca68c5fcda9c2d1e/
commit a79cbf743e1120025e5a68e4ca68c5fcda9c2d1e
Author: Keith Marshall <ke...@us...>
Date: Thu Nov 9 01:49:33 2017 +0000
Filter out <winsock.h> typedef anomalies.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 092ff33..d038251 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,13 @@
+2017-11-09 Keith Marshall <ke...@us...>
+
+ 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 <ke...@us...>
Overhaul WinSock fd_set content management macros.
diff --git a/w32api/include/winsock.h b/w32api/include/winsock.h
index 7049230..a4ee616 100644
--- a/w32api/include/winsock.h
+++ b/w32api/include/winsock.h
@@ -137,7 +137,32 @@ __CRT_ALIAS int __FD_ISSET( SOCKET __fd, fd_set *__set )
#endif /* ! defined FD_ISSET */
#ifndef FD_SET
+#if !_WINSOCK_ANOMALOUS_TYPEDEFS
+/* WinSock is intended to mimic the Berkeley Sockets API, for which
+ * POSIX.1 provides a reference specification; this states that FD_SET
+ * may be implemented as either a macro, or as a function. The reference
+ * <winsock.h> implementation at http://www.sockets.com/winsock.htm#WinsockH
+ * includes a typedef for FD_SET, which a) conflicts with the latter POSIX.1
+ * provision, and b) creates potential confusion with the former. Thus, we
+ * prefer to conform with POSIX.1 functional semantics, and recommend that
+ * users avoid the potentially confusing FD_SET typedefs, so allowing us
+ * to provide this function prototype:
+ */
void FD_SET (SOCKET, fd_set *);
+
+#else /* _WINSOCK_ANOMALOUS_TYPEDEFS */
+/* However, for users who insist on eschewing standard C/C++ syntax, and
+ * for whatever reason must use FD_SET as a data type, instead of correctly
+ * referring to fd_set, or for pointer references, use PFD_SET or LPFD_SET
+ * instead of standard fd_set * references, we make these anomalous types
+ * visible, when the _WINSOCK_ANOMALOUS_TYPEDEFS feature test macro is
+ * defined with a non-zero value.
+ */
+#warning "FD_SET, PFD_SET, and LPFD_SET data types are non-portable."
+#warning "Use portable fd_set, and fd_set * type references instead."
+
+typedef struct fd_set FD_SET, *PFD_SET, *LPFD_SET;
+#endif
#define FD_SET( __fd, __set ) __FD_SET ((__fd), (__set))
__CRT_ALIAS void __FD_SET (SOCKET __fd, fd_set *__set)
{ if( (__set->fd_count < FD_SETSIZE) && ! FD_ISSET (__fd, __set) )
@@ -574,7 +599,6 @@ int PASCAL gethostname (char *, int );
#define WSAGETSELECTEVENT(l) LOWORD(l)
#define WSAGETSELECTERROR(l) HIWORD(l)
-typedef struct fd_set /* FD_SET, */ *PFD_SET, *LPFD_SET;
typedef struct sockaddr SOCKADDR, *PSOCKADDR, *LPSOCKADDR;
typedef struct sockaddr_in SOCKADDR_IN, *PSOCKADDR_IN, *LPSOCKADDR_IN;
typedef struct linger LINGER, *PLINGER, *LPLINGER;
-----------------------------------------------------------------------
Summary of changes:
w32api/ChangeLog | 49 ++++++++++++++++++
w32api/include/winsock.h | 130 ++++++++++++++++++++++++++++++++++++++---------
2 files changed, 156 insertions(+), 23 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2017-11-09 01:04:46
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 6.0-exp has been updated
via db5fa447c066abf882a772a03d3b3be681e34712 (commit)
from e605acbe8516b3b4ddf55aa182483fce2992e5b9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/db5fa447c066abf882a772a03d3b3be681e34712/
commit db5fa447c066abf882a772a03d3b3be681e34712
Author: Keith Marshall <ke...@us...>
Date: Thu Nov 9 00:56:00 2017 +0000
Avoid an implication that the API is exclusively 32-bit.
--HG--
rename : w32api/CONTRIBUTIONS => wslapi/CONTRIBUTIONS
rename : w32api/ChangeLog => wslapi/ChangeLog
rename : w32api/Makefile.in => wslapi/Makefile.in
rename : w32api/README.w32api => wslapi/README.w32api
rename : w32api/TODO => wslapi/TODO
rename : w32api/configure.ac => wslapi/configure.ac
rename : w32api/include/GL/gl.h => wslapi/include/GL/gl.h
rename : w32api/include/GL/glext.h => wslapi/include/GL/glext.h
rename : w32api/include/GL/glu.h => wslapi/include/GL/glu.h
rename : w32api/include/accctrl.h => wslapi/include/accctrl.h
rename : w32api/include/aclapi.h => wslapi/include/aclapi.h
rename : w32api/include/aclui.h => wslapi/include/aclui.h
rename : w32api/include/adsprop.h => wslapi/include/adsprop.h
rename : w32api/include/afxres.h => wslapi/include/afxres.h
rename : w32api/include/amaudio.h => wslapi/include/amaudio.h
rename : w32api/include/amvideo.h => wslapi/include/amvideo.h
rename : w32api/include/audevcod.h => wslapi/include/audevcod.h
rename : w32api/include/aviriff.h => wslapi/include/aviriff.h
rename : w32api/include/aygshell.h => wslapi/include/aygshell.h
rename : w32api/include/basetsd.h => wslapi/include/basetsd.h
rename : w32api/include/basetyps.h => wslapi/include/basetyps.h
rename : w32api/include/bdatypes.h => wslapi/include/bdatypes.h
rename : w32api/include/cderr.h => wslapi/include/cderr.h
rename : w32api/include/cguid.h => wslapi/include/cguid.h
rename : w32api/include/cmnquery.h => wslapi/include/cmnquery.h
rename : w32api/include/comcat.h => wslapi/include/comcat.h
rename : w32api/include/commctrl.h => wslapi/include/commctrl.h
rename : w32api/include/commdlg.h => wslapi/include/commdlg.h
rename : w32api/include/control.h => wslapi/include/control.h
rename : w32api/include/cpl.h => wslapi/include/cpl.h
rename : w32api/include/cplext.h => wslapi/include/cplext.h
rename : w32api/include/custcntl.h => wslapi/include/custcntl.h
rename : w32api/include/dbt.h => wslapi/include/dbt.h
rename : w32api/include/dde.h => wslapi/include/dde.h
rename : w32api/include/ddeml.h => wslapi/include/ddeml.h
rename : w32api/include/ddk/atm.h => wslapi/include/ddk/atm.h
rename : w32api/include/ddk/batclass.h => wslapi/include/ddk/batclass.h
rename : w32api/include/ddk/cfg.h => wslapi/include/ddk/cfg.h
rename : w32api/include/ddk/cfgmgr32.h => wslapi/include/ddk/cfgmgr32.h
rename : w32api/include/ddk/d4drvif.h => wslapi/include/ddk/d4drvif.h
rename : w32api/include/ddk/d4iface.h => wslapi/include/ddk/d4iface.h
rename : w32api/include/ddk/ddkmapi.h => wslapi/include/ddk/ddkmapi.h
rename : w32api/include/ddk/hidclass.h => wslapi/include/ddk/hidclass.h
rename : w32api/include/ddk/hidpi.h => wslapi/include/ddk/hidpi.h
rename : w32api/include/ddk/hidsdi.h => wslapi/include/ddk/hidsdi.h
rename : w32api/include/ddk/hidusage.h => wslapi/include/ddk/hidusage.h
rename : w32api/include/ddk/kbdmou.h => wslapi/include/ddk/kbdmou.h
rename : w32api/include/ddk/mcd.h => wslapi/include/ddk/mcd.h
rename : w32api/include/ddk/miniport.h => wslapi/include/ddk/miniport.h
rename : w32api/include/ddk/minitape.h => wslapi/include/ddk/minitape.h
rename : w32api/include/ddk/mountdev.h => wslapi/include/ddk/mountdev.h
rename : w32api/include/ddk/mountmgr.h => wslapi/include/ddk/mountmgr.h
rename : w32api/include/ddk/ndis.h => wslapi/include/ddk/ndis.h
rename : w32api/include/ddk/ndisguid.h => wslapi/include/ddk/ndisguid.h
rename : w32api/include/ddk/ndistapi.h => wslapi/include/ddk/ndistapi.h
rename : w32api/include/ddk/ndiswan.h => wslapi/include/ddk/ndiswan.h
rename : w32api/include/ddk/netevent.h => wslapi/include/ddk/netevent.h
rename : w32api/include/ddk/netpnp.h => wslapi/include/ddk/netpnp.h
rename : w32api/include/ddk/newdev.h => wslapi/include/ddk/newdev.h
rename : w32api/include/ddk/ntapi.h => wslapi/include/ddk/ntapi.h
rename : w32api/include/ddk/ntdd8042.h => wslapi/include/ddk/ntdd8042.h
rename : w32api/include/ddk/ntddbeep.h => wslapi/include/ddk/ntddbeep.h
rename : w32api/include/ddk/ntddcdrm.h => wslapi/include/ddk/ntddcdrm.h
rename : w32api/include/ddk/ntddcdvd.h => wslapi/include/ddk/ntddcdvd.h
rename : w32api/include/ddk/ntddchgr.h => wslapi/include/ddk/ntddchgr.h
rename : w32api/include/ddk/ntdddisk.h => wslapi/include/ddk/ntdddisk.h
rename : w32api/include/ddk/ntddk.h => wslapi/include/ddk/ntddk.h
rename : w32api/include/ddk/ntddkbd.h => wslapi/include/ddk/ntddkbd.h
rename : w32api/include/ddk/ntddmou.h => wslapi/include/ddk/ntddmou.h
rename : w32api/include/ddk/ntddndis.h => wslapi/include/ddk/ntddndis.h
rename : w32api/include/ddk/ntddpar.h => wslapi/include/ddk/ntddpar.h
rename : w32api/include/ddk/ntddpcm.h => wslapi/include/ddk/ntddpcm.h
rename : w32api/include/ddk/ntddscsi.h => wslapi/include/ddk/ntddscsi.h
rename : w32api/include/ddk/ntddser.h => wslapi/include/ddk/ntddser.h
rename : w32api/include/ddk/ntddstor.h => wslapi/include/ddk/ntddstor.h
rename : w32api/include/ddk/ntddtape.h => wslapi/include/ddk/ntddtape.h
rename : w32api/include/ddk/ntddtdi.h => wslapi/include/ddk/ntddtdi.h
rename : w32api/include/ddk/ntddvdeo.h => wslapi/include/ddk/ntddvdeo.h
rename : w32api/include/ddk/ntddvol.h => wslapi/include/ddk/ntddvol.h
rename : w32api/include/ddk/ntifs.h => wslapi/include/ddk/ntifs.h
rename : w32api/include/ddk/ntpoapi.h => wslapi/include/ddk/ntpoapi.h
rename : w32api/include/ddk/ntstatus.h => wslapi/include/ddk/ntstatus.h
rename : w32api/include/ddk/parallel.h => wslapi/include/ddk/parallel.h
rename : w32api/include/ddk/pfhook.h => wslapi/include/ddk/pfhook.h
rename : w32api/include/ddk/poclass.h => wslapi/include/ddk/poclass.h
rename : w32api/include/ddk/scsi.h => wslapi/include/ddk/scsi.h
rename : w32api/include/ddk/scsiscan.h => wslapi/include/ddk/scsiscan.h
rename : w32api/include/ddk/scsiwmi.h => wslapi/include/ddk/scsiwmi.h
rename : w32api/include/ddk/smbus.h => wslapi/include/ddk/smbus.h
rename : w32api/include/ddk/srb.h => wslapi/include/ddk/srb.h
rename : w32api/include/ddk/storport.h => wslapi/include/ddk/storport.h
rename : w32api/include/ddk/tdi.h => wslapi/include/ddk/tdi.h
rename : w32api/include/ddk/tdiinfo.h => wslapi/include/ddk/tdiinfo.h
rename : w32api/include/ddk/tdikrnl.h => wslapi/include/ddk/tdikrnl.h
rename : w32api/include/ddk/tdistat.h => wslapi/include/ddk/tdistat.h
rename : w32api/include/ddk/tvout.h => wslapi/include/ddk/tvout.h
rename : w32api/include/ddk/upssvc.h => wslapi/include/ddk/upssvc.h
rename : w32api/include/ddk/usb.h => wslapi/include/ddk/usb.h
rename : w32api/include/ddk/usb100.h => wslapi/include/ddk/usb100.h
rename : w32api/include/ddk/usbcamdi.h => wslapi/include/ddk/usbcamdi.h
rename : w32api/include/ddk/usbdi.h => wslapi/include/ddk/usbdi.h
rename : w32api/include/ddk/usbioctl.h => wslapi/include/ddk/usbioctl.h
rename : w32api/include/ddk/usbiodef.h => wslapi/include/ddk/usbiodef.h
rename : w32api/include/ddk/usbscan.h => wslapi/include/ddk/usbscan.h
rename : w32api/include/ddk/usbuser.h => wslapi/include/ddk/usbuser.h
rename : w32api/include/ddk/video.h => wslapi/include/ddk/video.h
rename : w32api/include/ddk/videoagp.h => wslapi/include/ddk/videoagp.h
rename : w32api/include/ddk/win2k.h => wslapi/include/ddk/win2k.h
rename : w32api/include/ddk/winddi.h => wslapi/include/ddk/winddi.h
rename : w32api/include/ddk/winddk.h => wslapi/include/ddk/winddk.h
rename : w32api/include/ddk/winnt4.h => wslapi/include/ddk/winnt4.h
rename : w32api/include/ddk/winxp.h => wslapi/include/ddk/winxp.h
rename : w32api/include/ddk/ws2san.h => wslapi/include/ddk/ws2san.h
rename : w32api/include/ddk/xfilter.h => wslapi/include/ddk/xfilter.h
rename : w32api/include/devguid.h => wslapi/include/devguid.h
rename : w32api/include/dhcpcsdk.h => wslapi/include/dhcpcsdk.h
rename : w32api/include/directx/d3d9.h => wslapi/include/directx/d3d9.h
rename : w32api/include/directx/d3d9caps.h => wslapi/include/directx/d3d9caps.h
rename : w32api/include/directx/d3d9types.h => wslapi/include/directx/d3d9types.h
rename : w32api/include/directx/dxerr8.h => wslapi/include/directx/dxerr8.h
rename : w32api/include/directx/dxerr9.h => wslapi/include/directx/dxerr9.h
rename : w32api/include/dlgs.h => wslapi/include/dlgs.h
rename : w32api/include/docobj.h => wslapi/include/docobj.h
rename : w32api/include/dsadmin.h => wslapi/include/dsadmin.h
rename : w32api/include/dsclient.h => wslapi/include/dsclient.h
rename : w32api/include/dsgetdc.h => wslapi/include/dsgetdc.h
rename : w32api/include/dshow.h => wslapi/include/dshow.h
rename : w32api/include/dsquery.h => wslapi/include/dsquery.h
rename : w32api/include/dsrole.h => wslapi/include/dsrole.h
rename : w32api/include/dvdevcod.h => wslapi/include/dvdevcod.h
rename : w32api/include/dvdmedia.h => wslapi/include/dvdmedia.h
rename : w32api/include/edevdefs.h => wslapi/include/edevdefs.h
rename : w32api/include/errorrep.h => wslapi/include/errorrep.h
rename : w32api/include/errors.h => wslapi/include/errors.h
rename : w32api/include/evcode.h => wslapi/include/evcode.h
rename : w32api/include/exdisp.h => wslapi/include/exdisp.h
rename : w32api/include/exdispid.h => wslapi/include/exdispid.h
rename : w32api/include/fltdefs.h => wslapi/include/fltdefs.h
rename : w32api/include/gdiplus.h => wslapi/include/gdiplus.h
rename : w32api/include/gdiplus/gdiplus.h => wslapi/include/gdiplus/gdiplus.h
rename : w32api/include/gdiplus/gdiplusbase.h => wslapi/include/gdiplus/gdiplusbase.h
rename : w32api/include/gdiplus/gdiplusbrush.h => wslapi/include/gdiplus/gdiplusbrush.h
rename : w32api/include/gdiplus/gdipluscolor.h => wslapi/include/gdiplus/gdipluscolor.h
rename : w32api/include/gdiplus/gdipluscolormatrix.h => wslapi/include/gdiplus/gdipluscolormatrix.h
rename : w32api/include/gdiplus/gdipluseffects.h => wslapi/include/gdiplus/gdipluseffects.h
rename : w32api/include/gdiplus/gdiplusenums.h => wslapi/include/gdiplus/gdiplusenums.h
rename : w32api/include/gdiplus/gdiplusflat.h => wslapi/include/gdiplus/gdiplusflat.h
rename : w32api/include/gdiplus/gdiplusgpstubs.h => wslapi/include/gdiplus/gdiplusgpstubs.h
rename : w32api/include/gdiplus/gdiplusgraphics.h => wslapi/include/gdiplus/gdiplusgraphics.h
rename : w32api/include/gdiplus/gdiplusheaders.h => wslapi/include/gdiplus/gdiplusheaders.h
rename : w32api/include/gdiplus/gdiplusimageattributes.h => wslapi/include/gdiplus/gdiplusimageattributes.h
rename : w32api/include/gdiplus/gdiplusimagecodec.h => wslapi/include/gdiplus/gdiplusimagecodec.h
rename : w32api/include/gdiplus/gdiplusimaging.h => wslapi/include/gdiplus/gdiplusimaging.h
rename : w32api/include/gdiplus/gdiplusimpl.h => wslapi/include/gdiplus/gdiplusimpl.h
rename : w32api/include/gdiplus/gdiplusinit.h => wslapi/include/gdiplus/gdiplusinit.h
rename : w32api/include/gdiplus/gdipluslinecaps.h => wslapi/include/gdiplus/gdipluslinecaps.h
rename : w32api/include/gdiplus/gdiplusmatrix.h => wslapi/include/gdiplus/gdiplusmatrix.h
rename : w32api/include/gdiplus/gdiplusmem.h => wslapi/include/gdiplus/gdiplusmem.h
rename : w32api/include/gdiplus/gdiplusmetafile.h => wslapi/include/gdiplus/gdiplusmetafile.h
rename : w32api/include/gdiplus/gdiplusmetaheader.h => wslapi/include/gdiplus/gdiplusmetaheader.h
rename : w32api/include/gdiplus/gdipluspath.h => wslapi/include/gdiplus/gdipluspath.h
rename : w32api/include/gdiplus/gdipluspen.h => wslapi/include/gdiplus/gdipluspen.h
rename : w32api/include/gdiplus/gdipluspixelformats.h => wslapi/include/gdiplus/gdipluspixelformats.h
rename : w32api/include/gdiplus/gdiplusstringformat.h => wslapi/include/gdiplus/gdiplusstringformat.h
rename : w32api/include/gdiplus/gdiplustypes.h => wslapi/include/gdiplus/gdiplustypes.h
rename : w32api/include/httpext.h => wslapi/include/httpext.h
rename : w32api/include/icm.h => wslapi/include/icm.h
rename : w32api/include/idispids.h => wslapi/include/idispids.h
rename : w32api/include/il21dec.h => wslapi/include/il21dec.h
rename : w32api/include/imagehlp.h => wslapi/include/imagehlp.h
rename : w32api/include/imm.h => wslapi/include/imm.h
rename : w32api/include/initguid.h => wslapi/include/initguid.h
rename : w32api/include/intshcut.h => wslapi/include/intshcut.h
rename : w32api/include/ipexport.h => wslapi/include/ipexport.h
rename : w32api/include/iphlpapi.h => wslapi/include/iphlpapi.h
rename : w32api/include/ipifcons.h => wslapi/include/ipifcons.h
rename : w32api/include/ipinfoid.h => wslapi/include/ipinfoid.h
rename : w32api/include/iprtrmib.h => wslapi/include/iprtrmib.h
rename : w32api/include/iptypes.h => wslapi/include/iptypes.h
rename : w32api/include/ipxconst.h => wslapi/include/ipxconst.h
rename : w32api/include/ipxrtdef.h => wslapi/include/ipxrtdef.h
rename : w32api/include/ipxtfflt.h => wslapi/include/ipxtfflt.h
rename : w32api/include/isguids.h => wslapi/include/isguids.h
rename : w32api/include/ks.h => wslapi/include/ks.h
rename : w32api/include/ksmedia.h => wslapi/include/ksmedia.h
rename : w32api/include/largeint.h => wslapi/include/largeint.h
rename : w32api/include/lm.h => wslapi/include/lm.h
rename : w32api/include/lmaccess.h => wslapi/include/lmaccess.h
rename : w32api/include/lmalert.h => wslapi/include/lmalert.h
rename : w32api/include/lmapibuf.h => wslapi/include/lmapibuf.h
rename : w32api/include/lmat.h => wslapi/include/lmat.h
rename : w32api/include/lmaudit.h => wslapi/include/lmaudit.h
rename : w32api/include/lmbrowsr.h => wslapi/include/lmbrowsr.h
rename : w32api/include/lmchdev.h => wslapi/include/lmchdev.h
rename : w32api/include/lmconfig.h => wslapi/include/lmconfig.h
rename : w32api/include/lmcons.h => wslapi/include/lmcons.h
rename : w32api/include/lmerr.h => wslapi/include/lmerr.h
rename : w32api/include/lmerrlog.h => wslapi/include/lmerrlog.h
rename : w32api/include/lmmsg.h => wslapi/include/lmmsg.h
rename : w32api/include/lmremutl.h => wslapi/include/lmremutl.h
rename : w32api/include/lmrepl.h => wslapi/include/lmrepl.h
rename : w32api/include/lmserver.h => wslapi/include/lmserver.h
rename : w32api/include/lmshare.h => wslapi/include/lmshare.h
rename : w32api/include/lmsname.h => wslapi/include/lmsname.h
rename : w32api/include/lmstats.h => wslapi/include/lmstats.h
rename : w32api/include/lmsvc.h => wslapi/include/lmsvc.h
rename : w32api/include/lmuse.h => wslapi/include/lmuse.h
rename : w32api/include/lmuseflg.h => wslapi/include/lmuseflg.h
rename : w32api/include/lmwksta.h => wslapi/include/lmwksta.h
rename : w32api/include/lzexpand.h => wslapi/include/lzexpand.h
rename : w32api/include/mapi.h => wslapi/include/mapi.h
rename : w32api/include/mciavi.h => wslapi/include/mciavi.h
rename : w32api/include/mcx.h => wslapi/include/mcx.h
rename : w32api/include/mgm.h => wslapi/include/mgm.h
rename : w32api/include/mgmtapi.h => wslapi/include/mgmtapi.h
rename : w32api/include/mlang.h => wslapi/include/mlang.h
rename : w32api/include/mmreg.h => wslapi/include/mmreg.h
rename : w32api/include/mmsystem.h => wslapi/include/mmsystem.h
rename : w32api/include/mpegtype.h => wslapi/include/mpegtype.h
rename : w32api/include/mprapi.h => wslapi/include/mprapi.h
rename : w32api/include/mq.h => wslapi/include/mq.h
rename : w32api/include/msacm.h => wslapi/include/msacm.h
rename : w32api/include/mshtml.h => wslapi/include/mshtml.h
rename : w32api/include/mswsock.h => wslapi/include/mswsock.h
rename : w32api/include/nb30.h => wslapi/include/nb30.h
rename : w32api/include/nddeapi.h => wslapi/include/nddeapi.h
rename : w32api/include/nspapi.h => wslapi/include/nspapi.h
rename : w32api/include/ntdef.h => wslapi/include/ntdef.h
rename : w32api/include/ntdll.h => wslapi/include/ntdll.h
rename : w32api/include/ntdsapi.h => wslapi/include/ntdsapi.h
rename : w32api/include/ntdsbcli.h => wslapi/include/ntdsbcli.h
rename : w32api/include/ntldap.h => wslapi/include/ntldap.h
rename : w32api/include/ntsecapi.h => wslapi/include/ntsecapi.h
rename : w32api/include/ntsecpkg.h => wslapi/include/ntsecpkg.h
rename : w32api/include/oaidl.h => wslapi/include/oaidl.h
rename : w32api/include/objbase.h => wslapi/include/objbase.h
rename : w32api/include/objfwd.h => wslapi/include/objfwd.h
rename : w32api/include/objidl.h => wslapi/include/objidl.h
rename : w32api/include/objsafe.h => wslapi/include/objsafe.h
rename : w32api/include/objsel.h => wslapi/include/objsel.h
rename : w32api/include/obsolete.h.in => wslapi/include/obsolete.h.in
rename : w32api/include/ocidl.h => wslapi/include/ocidl.h
rename : w32api/include/odbcinst.h => wslapi/include/odbcinst.h
rename : w32api/include/ole.h => wslapi/include/ole.h
rename : w32api/include/ole2.h => wslapi/include/ole2.h
rename : w32api/include/ole2ver.h => wslapi/include/ole2ver.h
rename : w32api/include/oleacc.h => wslapi/include/oleacc.h
rename : w32api/include/oleauto.h => wslapi/include/oleauto.h
rename : w32api/include/olectl.h => wslapi/include/olectl.h
rename : w32api/include/olectlid.h => wslapi/include/olectlid.h
rename : w32api/include/oledlg.h => wslapi/include/oledlg.h
rename : w32api/include/oleidl.h => wslapi/include/oleidl.h
rename : w32api/include/poppack.h => wslapi/include/poppack.h
rename : w32api/include/powrprof.h => wslapi/include/powrprof.h
rename : w32api/include/prsht.h => wslapi/include/prsht.h
rename : w32api/include/psapi.h => wslapi/include/psapi.h
rename : w32api/include/pshpack1.h => wslapi/include/pshpack1.h
rename : w32api/include/pshpack2.h => wslapi/include/pshpack2.h
rename : w32api/include/pshpack4.h => wslapi/include/pshpack4.h
rename : w32api/include/pshpack8.h => wslapi/include/pshpack8.h
rename : w32api/include/qedit.h => wslapi/include/qedit.h
rename : w32api/include/rapi.h => wslapi/include/rapi.h
rename : w32api/include/ras.h => wslapi/include/ras.h
rename : w32api/include/rasdlg.h => wslapi/include/rasdlg.h
rename : w32api/include/raserror.h => wslapi/include/raserror.h
rename : w32api/include/rassapi.h => wslapi/include/rassapi.h
rename : w32api/include/reason.h => wslapi/include/reason.h
rename : w32api/include/regstr.h => wslapi/include/regstr.h
rename : w32api/include/richedit.h => wslapi/include/richedit.h
rename : w32api/include/richole.h => wslapi/include/richole.h
rename : w32api/include/routprot.h => wslapi/include/routprot.h
rename : w32api/include/rpc.h => wslapi/include/rpc.h
rename : w32api/include/rpcdce.h => wslapi/include/rpcdce.h
rename : w32api/include/rpcdce2.h => wslapi/include/rpcdce2.h
rename : w32api/include/rpcdcep.h => wslapi/include/rpcdcep.h
rename : w32api/include/rpcndr.h => wslapi/include/rpcndr.h
rename : w32api/include/rpcnsi.h => wslapi/include/rpcnsi.h
rename : w32api/include/rpcnsip.h => wslapi/include/rpcnsip.h
rename : w32api/include/rpcnterr.h => wslapi/include/rpcnterr.h
rename : w32api/include/rpcproxy.h => wslapi/include/rpcproxy.h
rename : w32api/include/rtutils.h => wslapi/include/rtutils.h
rename : w32api/include/schannel.h => wslapi/include/schannel.h
rename : w32api/include/schnlsp.h => wslapi/include/schnlsp.h
rename : w32api/include/scrnsave.h => wslapi/include/scrnsave.h
rename : w32api/include/sddl.h => wslapi/include/sddl.h
rename : w32api/include/sdkddkver.h => wslapi/include/sdkddkver.h
rename : w32api/include/secext.h => wslapi/include/secext.h
rename : w32api/include/security.h => wslapi/include/security.h
rename : w32api/include/servprov.h => wslapi/include/servprov.h
rename : w32api/include/setupapi.h => wslapi/include/setupapi.h
rename : w32api/include/shellapi.h => wslapi/include/shellapi.h
rename : w32api/include/shldisp.h => wslapi/include/shldisp.h
rename : w32api/include/shlguid.h => wslapi/include/shlguid.h
rename : w32api/include/shlobj.h => wslapi/include/shlobj.h
rename : w32api/include/shlwapi.h => wslapi/include/shlwapi.h
rename : w32api/include/shobjidl.h => wslapi/include/shobjidl.h
rename : w32api/include/snmp.h => wslapi/include/snmp.h
rename : w32api/include/specstrings.h => wslapi/include/specstrings.h
rename : w32api/include/sql.h => wslapi/include/sql.h
rename : w32api/include/sqlext.h => wslapi/include/sqlext.h
rename : w32api/include/sqltypes.h => wslapi/include/sqltypes.h
rename : w32api/include/sqlucode.h => wslapi/include/sqlucode.h
rename : w32api/include/sspi.h => wslapi/include/sspi.h
rename : w32api/include/stm.h => wslapi/include/stm.h
rename : w32api/include/strmif.h => wslapi/include/strmif.h
rename : w32api/include/subauth.h => wslapi/include/subauth.h
rename : w32api/include/svcguid.h => wslapi/include/svcguid.h
rename : w32api/include/tlhelp32.h => wslapi/include/tlhelp32.h
rename : w32api/include/tmschema.h => wslapi/include/tmschema.h
rename : w32api/include/unknwn.h => wslapi/include/unknwn.h
rename : w32api/include/userenv.h => wslapi/include/userenv.h
rename : w32api/include/usp10.h => wslapi/include/usp10.h
rename : w32api/include/uxtheme.h => wslapi/include/uxtheme.h
rename : w32api/include/vfw.h => wslapi/include/vfw.h
rename : w32api/include/vidcap.h => wslapi/include/vidcap.h
rename : w32api/include/vmr9.h => wslapi/include/vmr9.h
rename : w32api/include/vptype.h => wslapi/include/vptype.h
rename : w32api/include/w32api.h.in => wslapi/include/w32api.h.in
rename : w32api/include/winbase.h => wslapi/include/winbase.h
rename : w32api/include/winber.h => wslapi/include/winber.h
rename : w32api/include/wincon.h => wslapi/include/wincon.h
rename : w32api/include/wincrypt.h => wslapi/include/wincrypt.h
rename : w32api/include/windef.h => wslapi/include/windef.h
rename : w32api/include/windns.h => wslapi/include/windns.h
rename : w32api/include/windows.h => wslapi/include/windows.h
rename : w32api/include/windowsx.h => wslapi/include/windowsx.h
rename : w32api/include/winerror.h => wslapi/include/winerror.h
rename : w32api/include/wingdi.h => wslapi/include/wingdi.h
rename : w32api/include/wininet.h => wslapi/include/wininet.h
rename : w32api/include/winioctl.h => wslapi/include/winioctl.h
rename : w32api/include/winldap.h => wslapi/include/winldap.h
rename : w32api/include/winnetwk.h => wslapi/include/winnetwk.h
rename : w32api/include/winnls.h => wslapi/include/winnls.h
rename : w32api/include/winnt.h => wslapi/include/winnt.h
rename : w32api/include/winperf.h => wslapi/include/winperf.h
rename : w32api/include/winreg.h => wslapi/include/winreg.h
rename : w32api/include/winresrc.h => wslapi/include/winresrc.h
rename : w32api/include/winsnmp.h => wslapi/include/winsnmp.h
rename : w32api/include/winsock.h => wslapi/include/winsock.h
rename : w32api/include/winsock2.h => wslapi/include/winsock2.h
rename : w32api/include/winspool.h => wslapi/include/winspool.h
rename : w32api/include/winsvc.h => wslapi/include/winsvc.h
rename : w32api/include/winuser.h => wslapi/include/winuser.h
rename : w32api/include/winver.h => wslapi/include/winver.h
rename : w32api/include/ws2spi.h => wslapi/include/ws2spi.h
rename : w32api/include/ws2tcpip.h => wslapi/include/ws2tcpip.h
rename : w32api/include/wsahelp.h => wslapi/include/wsahelp.h
rename : w32api/include/wsipx.h => wslapi/include/wsipx.h
rename : w32api/include/wsnetbs.h => wslapi/include/wsnetbs.h
rename : w32api/include/wtsapi32.h => wslapi/include/wtsapi32.h
rename : w32api/include/wtypes.h => wslapi/include/wtypes.h
rename : w32api/include/xprtdefs.h => wslapi/include/xprtdefs.h
rename : w32api/include/zmouse.h => wslapi/include/zmouse.h
rename : w32api/lib/aclui.def => wslapi/lib/aclui.def
rename : w32api/lib/advapi32.def => wslapi/lib/advapi32.def
rename : w32api/lib/ativscp-uuid.c => wslapi/lib/ativscp-uuid.c
rename : w32api/lib/avicap32.def => wslapi/lib/avicap32.def
rename : w32api/lib/avifil32.def => wslapi/lib/avifil32.def
rename : w32api/lib/bthprops.def => wslapi/lib/bthprops.def
rename : w32api/lib/cap.def => wslapi/lib/cap.def
rename : w32api/lib/cguid-uuid.c => wslapi/lib/cguid-uuid.c
rename : w32api/lib/comcat-uuid.c => wslapi/lib/comcat-uuid.c
rename : w32api/lib/comctl32.def => wslapi/lib/comctl32.def
rename : w32api/lib/comdlg32.def => wslapi/lib/comdlg32.def
rename : w32api/lib/crypt32.def => wslapi/lib/crypt32.def
rename : w32api/lib/ctl3d32.def => wslapi/lib/ctl3d32.def
rename : w32api/lib/ddk/apcups.def => wslapi/lib/ddk/apcups.def
rename : w32api/lib/ddk/cfgmgr32.def => wslapi/lib/ddk/cfgmgr32.def
rename : w32api/lib/ddk/dxapi.def => wslapi/lib/ddk/dxapi.def
rename : w32api/lib/ddk/hal.def => wslapi/lib/ddk/hal.def
rename : w32api/lib/ddk/hid.def => wslapi/lib/ddk/hid.def
rename : w32api/lib/ddk/hidparse.def => wslapi/lib/ddk/hidparse.def
rename : w32api/lib/ddk/mcd.def => wslapi/lib/ddk/mcd.def
rename : w32api/lib/ddk/ndis.def => wslapi/lib/ddk/ndis.def
rename : w32api/lib/ddk/newdev.def => wslapi/lib/ddk/newdev.def
rename : w32api/lib/ddk/ntoskrnl.def => wslapi/lib/ddk/ntoskrnl.def
rename : w32api/lib/ddk/scsiport.def => wslapi/lib/ddk/scsiport.def
rename : w32api/lib/ddk/tdi.def => wslapi/lib/ddk/tdi.def
rename : w32api/lib/ddk/usbcamd.def => wslapi/lib/ddk/usbcamd.def
rename : w32api/lib/ddk/usbcamd2.def => wslapi/lib/ddk/usbcamd2.def
rename : w32api/lib/ddk/videoprt.def => wslapi/lib/ddk/videoprt.def
rename : w32api/lib/ddk/win32k.def => wslapi/lib/ddk/win32k.def
rename : w32api/lib/devguid.c => wslapi/lib/devguid.c
rename : w32api/lib/dhcpcsvc.def => wslapi/lib/dhcpcsvc.def
rename : w32api/lib/directx/d3d8.def => wslapi/lib/directx/d3d8.def
rename : w32api/lib/directx/d3d9.def => wslapi/lib/directx/d3d9.def
rename : w32api/lib/directx/d3dim.def => wslapi/lib/directx/d3dim.def
rename : w32api/lib/directx/d3drm.def => wslapi/lib/directx/d3drm.def
rename : w32api/lib/directx/d3dx8d.def => wslapi/lib/directx/d3dx8d.def
rename : w32api/lib/directx/d3dx9d.def => wslapi/lib/directx/d3dx9d.def
rename : w32api/lib/directx/d3dxof.def => wslapi/lib/directx/d3dxof.def
rename : w32api/lib/directx/ddraw.def => wslapi/lib/directx/ddraw.def
rename : w32api/lib/directx/dinput.def => wslapi/lib/directx/dinput.def
rename : w32api/lib/directx/dinput8.def => wslapi/lib/directx/dinput8.def
rename : w32api/lib/directx/dinput_joy.c => wslapi/lib/directx/dinput_joy.c
rename : w32api/lib/directx/dinput_joy2.c => wslapi/lib/directx/dinput_joy2.c
rename : w32api/lib/directx/dinput_kbd.c => wslapi/lib/directx/dinput_kbd.c
rename : w32api/lib/directx/dinput_mouse.c => wslapi/lib/directx/dinput_mouse.c
rename : w32api/lib/directx/dinput_mouse2.c => wslapi/lib/directx/dinput_mouse2.c
rename : w32api/lib/directx/dinput_private.h => wslapi/lib/directx/dinput_private.h
rename : w32api/lib/directx/dmoguids.c => wslapi/lib/directx/dmoguids.c
rename : w32api/lib/directx/dplayx.def => wslapi/lib/directx/dplayx.def
rename : w32api/lib/directx/dpnaddr.def => wslapi/lib/directx/dpnaddr.def
rename : w32api/lib/directx/dpnet.def => wslapi/lib/directx/dpnet.def
rename : w32api/lib/directx/dpnlobby.def => wslapi/lib/directx/dpnlobby.def
rename : w32api/lib/directx/dpvoice.def => wslapi/lib/directx/dpvoice.def
rename : w32api/lib/directx/dsetup.def => wslapi/lib/directx/dsetup.def
rename : w32api/lib/directx/dsound.def => wslapi/lib/directx/dsound.def
rename : w32api/lib/directx/dxerr.c => wslapi/lib/directx/dxerr.c
rename : w32api/lib/directx/dxerr8.c => wslapi/lib/directx/dxerr8.c
rename : w32api/lib/directx/dxerr8w.c => wslapi/lib/directx/dxerr8w.c
rename : w32api/lib/directx/dxerr9.c => wslapi/lib/directx/dxerr9.c
rename : w32api/lib/directx/dxerr9w.c => wslapi/lib/directx/dxerr9w.c
rename : w32api/lib/directx/dxguid.c => wslapi/lib/directx/dxguid.c
rename : w32api/lib/directx/ksproxy.def => wslapi/lib/directx/ksproxy.def
rename : w32api/lib/directx/ksuser.c => wslapi/lib/directx/ksuser.c
rename : w32api/lib/directx/ksuser.def => wslapi/lib/directx/ksuser.def
rename : w32api/lib/directx/msdmo.def => wslapi/lib/directx/msdmo.def
rename : w32api/lib/directx/strmiids.c => wslapi/lib/directx/strmiids.c
rename : w32api/lib/directx/test.c => wslapi/lib/directx/test.c
rename : w32api/lib/dlcapi.def => wslapi/lib/dlcapi.def
rename : w32api/lib/dnsapi.def => wslapi/lib/dnsapi.def
rename : w32api/lib/docobj-uuid.c => wslapi/lib/docobj-uuid.c
rename : w32api/lib/exdisp-uuid.c => wslapi/lib/exdisp-uuid.c
rename : w32api/lib/extras-uuid.c => wslapi/lib/extras-uuid.c
rename : w32api/lib/faultrep.def => wslapi/lib/faultrep.def
rename : w32api/lib/gdi32.def => wslapi/lib/gdi32.def
rename : w32api/lib/gdiplus.c => wslapi/lib/gdiplus.c
rename : w32api/lib/gdiplus.def => wslapi/lib/gdiplus.def
rename : w32api/lib/glaux.def => wslapi/lib/glaux.def
rename : w32api/lib/glu32.def => wslapi/lib/glu32.def
rename : w32api/lib/hlguids-uuid.c => wslapi/lib/hlguids-uuid.c
rename : w32api/lib/hlink-uuid.c => wslapi/lib/hlink-uuid.c
rename : w32api/lib/icmui.def => wslapi/lib/icmui.def
rename : w32api/lib/igmpagnt.def => wslapi/lib/igmpagnt.def
rename : w32api/lib/imagehlp.def => wslapi/lib/imagehlp.def
rename : w32api/lib/imm32.def => wslapi/lib/imm32.def
rename : w32api/lib/iphlpapi.def => wslapi/lib/iphlpapi.def
rename : w32api/lib/kernel32.def => wslapi/lib/kernel32.def
rename : w32api/lib/largeint.c => wslapi/lib/largeint.c
rename : w32api/lib/lz32.def => wslapi/lib/lz32.def
rename : w32api/lib/mapi32.def => wslapi/lib/mapi32.def
rename : w32api/lib/mfcuia32.def => wslapi/lib/mfcuia32.def
rename : w32api/lib/mgmtapi.def => wslapi/lib/mgmtapi.def
rename : w32api/lib/mlang-uuid.c => wslapi/lib/mlang-uuid.c
rename : w32api/lib/mpr.def => wslapi/lib/mpr.def
rename : w32api/lib/mprapi.def => wslapi/lib/mprapi.def
rename : w32api/lib/mqrt.def => wslapi/lib/mqrt.def
rename : w32api/lib/msacm32.def => wslapi/lib/msacm32.def
rename : w32api/lib/mscms.def => wslapi/lib/mscms.def
rename : w32api/lib/mshtml-uuid.c => wslapi/lib/mshtml-uuid.c
rename : w32api/lib/msimg32.def => wslapi/lib/msimg32.def
rename : w32api/lib/msvcp60.def => wslapi/lib/msvcp60.def
rename : w32api/lib/msvfw32.def => wslapi/lib/msvfw32.def
rename : w32api/lib/mswsock.def => wslapi/lib/mswsock.def
rename : w32api/lib/msxml-uuid.c => wslapi/lib/msxml-uuid.c
rename : w32api/lib/nddeapi.def => wslapi/lib/nddeapi.def
rename : w32api/lib/netapi32.def => wslapi/lib/netapi32.def
rename : w32api/lib/ntdll.def => wslapi/lib/ntdll.def
rename : w32api/lib/oaidl-uuid.c => wslapi/lib/oaidl-uuid.c
rename : w32api/lib/objidl-uuid.c => wslapi/lib/objidl-uuid.c
rename : w32api/lib/objsafe-uuid.c => wslapi/lib/objsafe-uuid.c
rename : w32api/lib/ocidl-uuid.c => wslapi/lib/ocidl-uuid.c
rename : w32api/lib/odbc32.def => wslapi/lib/odbc32.def
rename : w32api/lib/odbccp32.def => wslapi/lib/odbccp32.def
rename : w32api/lib/ole32.def => wslapi/lib/ole32.def
rename : w32api/lib/oleacc-uuid.c => wslapi/lib/oleacc-uuid.c
rename : w32api/lib/oleacc.def => wslapi/lib/oleacc.def
rename : w32api/lib/oleaut32.def => wslapi/lib/oleaut32.def
rename : w32api/lib/olecli32.def => wslapi/lib/olecli32.def
rename : w32api/lib/olectlid-uuid.c => wslapi/lib/olectlid-uuid.c
rename : w32api/lib/oledlg.def => wslapi/lib/oledlg.def
rename : w32api/lib/oleidl-uuid.c => wslapi/lib/oleidl-uuid.c
rename : w32api/lib/olepro32.def => wslapi/lib/olepro32.def
rename : w32api/lib/olesvr32.def => wslapi/lib/olesvr32.def
rename : w32api/lib/opengl32.def => wslapi/lib/opengl32.def
rename : w32api/lib/penwin32.def => wslapi/lib/penwin32.def
rename : w32api/lib/pkpd32.def => wslapi/lib/pkpd32.def
rename : w32api/lib/power-uuid.c => wslapi/lib/power-uuid.c
rename : w32api/lib/powrprof.def => wslapi/lib/powrprof.def
rename : w32api/lib/psapi.def => wslapi/lib/psapi.def
rename : w32api/lib/quartz.def => wslapi/lib/quartz.def
rename : w32api/lib/rapi.def => wslapi/lib/rapi.def
rename : w32api/lib/rasapi32.def => wslapi/lib/rasapi32.def
rename : w32api/lib/rasdlg.def => wslapi/lib/rasdlg.def
rename : w32api/lib/res.rc => wslapi/lib/res.rc
rename : w32api/lib/rpcdce4.def => wslapi/lib/rpcdce4.def
rename : w32api/lib/rpcns4.def => wslapi/lib/rpcns4.def
rename : w32api/lib/rpcrt4.def => wslapi/lib/rpcrt4.def
rename : w32api/lib/rtm.def => wslapi/lib/rtm.def
rename : w32api/lib/rtutils.def => wslapi/lib/rtutils.def
rename : w32api/lib/scrnsave.c => wslapi/lib/scrnsave.c
rename : w32api/lib/secur32.def => wslapi/lib/secur32.def
rename : w32api/lib/servprov-uuid.c => wslapi/lib/servprov-uuid.c
rename : w32api/lib/setupapi.def => wslapi/lib/setupapi.def
rename : w32api/lib/shell32.c => wslapi/lib/shell32.c
rename : w32api/lib/shell32.def => wslapi/lib/shell32.def
rename : w32api/lib/shfolder.def => wslapi/lib/shfolder.def
rename : w32api/lib/shlwapi.def => wslapi/lib/shlwapi.def
rename : w32api/lib/shobjidl-uuid.c => wslapi/lib/shobjidl-uuid.c
rename : w32api/lib/snmpapi.def => wslapi/lib/snmpapi.def
rename : w32api/lib/svrapi.def => wslapi/lib/svrapi.def
rename : w32api/lib/tapi32.def => wslapi/lib/tapi32.def
rename : w32api/lib/test.c => wslapi/lib/test.c
rename : w32api/lib/thunk32.def => wslapi/lib/thunk32.def
rename : w32api/lib/unknwn-uuid.c => wslapi/lib/unknwn-uuid.c
rename : w32api/lib/url.def => wslapi/lib/url.def
rename : w32api/lib/urlmon-uuid.c => wslapi/lib/urlmon-uuid.c
rename : w32api/lib/user32.def => wslapi/lib/user32.def
rename : w32api/lib/userenv.def => wslapi/lib/userenv.def
rename : w32api/lib/usp10.def => wslapi/lib/usp10.def
rename : w32api/lib/uxtheme.def => wslapi/lib/uxtheme.def
rename : w32api/lib/vdmdbg.def => wslapi/lib/vdmdbg.def
rename : w32api/lib/version.def => wslapi/lib/version.def
rename : w32api/lib/vfw32.mri => wslapi/lib/vfw32.mri
rename : w32api/lib/win32spl.def => wslapi/lib/win32spl.def
rename : w32api/lib/wininet.def => wslapi/lib/wininet.def
rename : w32api/lib/winmm.def => wslapi/lib/winmm.def
rename : w32api/lib/winspool.def => wslapi/lib/winspool.def
rename : w32api/lib/winstrm.def => wslapi/lib/winstrm.def
rename : w32api/lib/wldap32.def => wslapi/lib/wldap32.def
rename : w32api/lib/wow32.def => wslapi/lib/wow32.def
rename : w32api/lib/ws2_32.c => wslapi/lib/ws2_32.c
rename : w32api/lib/ws2_32.def => wslapi/lib/ws2_32.def
rename : w32api/lib/wsnmp32.def => wslapi/lib/wsnmp32.def
rename : w32api/lib/wsock32.def => wslapi/lib/wsock32.def
rename : w32api/lib/wst.def => wslapi/lib/wst.def
rename : w32api/lib/wtsapi32.def => wslapi/lib/wtsapi32.def
rename : w32api/tests/Makefile.in => wslapi/tests/Makefile.in
rename : w32api/tests/atlocal.in => wslapi/tests/atlocal.in
rename : w32api/tests/headers.at => wslapi/tests/headers.at
rename : w32api/tests/testsuite.at.in => wslapi/tests/testsuite.at.in
rename : w32api/tests/winsock.at => wslapi/tests/winsock.at
diff --git a/ChangeLog b/ChangeLog
index 8492771..4fccec2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2017-11-09 Keith Marshall <ke...@us...>
+
+ Avoid an implication that the API is exclusively 32-bit.
+
+ * w32api: Rename directory to...
+ * wslapi: ...this, thus removing any implied 32-bit specificity.
+ * configure.ac (AC_CONFIG_SUBDIRS): Update directory name reference
+ from "w32api" to "wslapi" accordingly.
+
+ * Makefile.comm (w32api_srcdir): Rename macro...
+ (wslapi_srcdir): ...to this.
+
2017-11-08 Earnie Boyd <ea...@us...>
Prepare environment for Earnie's tools.
diff --git a/Makefile.comm b/Makefile.comm
index af83ded..788aba1 100644
--- a/Makefile.comm
+++ b/Makefile.comm
@@ -77,7 +77,7 @@ configure: configure.ac aclocal.m4 VERSION.m4
# w32api.h header files, from their respective templates with each of
# the package version macro definitions completed.
#
-vpath %.h.in ${mingwrt_srcdir}/include ${w32api_srcdir}/include
+vpath %.h.in ${mingwrt_srcdir}/include ${wslapi_srcdir}/include
_mingw.h w32api.h: %.h: %.h.in VERSION.m4
$(PACKAGE_VERSION_SCRIPT) $< > $@
diff --git a/configure.ac b/configure.ac
index 39303e1..7024ee3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
# configure.ac -*- Autoconf -*- vim: filetype=config
#
-# Process this file with autoconf, to create a configure script for
-# the composite MinGW.org Runtime Library and Win32-API packages.
+# Process this file with "autoreconf -I ..", to create configure scripts
+# for the composite MinGW.org Runtime Library and Win-API packages.
#
# $Id$
#
@@ -35,7 +35,7 @@
AC_PROG_MKDIR_P
AC_PATH_PROG([LN],[ln],[ln])
- AC_CONFIG_SUBDIRS([mingwrt w32api])
+ AC_CONFIG_SUBDIRS([mingwrt wslapi])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
#
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 1fed35f..89eb707 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,18 @@
+2017-11-09 Keith Marshall <ke...@us...>
+
+ Avoid an implication that the API is exclusively 32-bit.
+
+ * configure.ac (MINGW_AC_CONFIG_EXTRA_SUBDIR): Update directory name
+ reference from "w32api" to "wslapi", per top level rename.
+
+ * Makefile.in (w32api_srcdir): Rename macro and AC_SUBST variable...
+ (wslapi_srcdir): ...to this; update all references.
+
+ * tests/Makefile.in (install-w32api-headers): Update directory name
+ reference, to ensure that the testsuite finds the corresponding target
+ in the build directory's wslapi/Makefile; do NOT change the target
+ name until it has been updated in wslapi/Makefile.in itself!
+
2017-10-25 Keith Marshall <kei...@us...>
Include, and make <sys/bsdtypes.h> test suite safe.
diff --git a/mingwrt/Makefile.in b/mingwrt/Makefile.in
index 7e2be61..e185ffa 100644
--- a/mingwrt/Makefile.in
+++ b/mingwrt/Makefile.in
@@ -50,7 +50,7 @@ NTDDI_VERSION_SPEC := $(NTDDI_VERSION:%=-D NTDDI_VERSION=%)
srcdir = @srcdir@
top_srcdir = @top_srcdir@
mingwrt_srcdir = @srcdir@
-w32api_srcdir = @w32api_srcdir@
+wslapi_srcdir = @wslapi_srcdir@
abs_builddir = @abs_builddir@
CC = @CC@
@@ -123,7 +123,7 @@ include $(call shared_include_file,${top_srcdir},Makefile.comm)
#
sinclude *.d
DEPFLAGS = -MD -MP
-INCLUDES = -nostdinc -I . -I ${top_srcdir}/include -I ${w32api_srcdir}/include \
+INCLUDES = -nostdinc -I . -I ${top_srcdir}/include -I ${wslapi_srcdir}/include \
-I ${top_srcdir} -I ${top_srcdir}/profile -iwithprefixbefore include
ALL_CFLAGS = $(CFLAGS) $(DEPFLAGS) $(INCLUDES) $(NTDDI_VERSION_SPEC)
diff --git a/mingwrt/configure.ac b/mingwrt/configure.ac
index 117b3e4..2328a66 100644
--- a/mingwrt/configure.ac
+++ b/mingwrt/configure.ac
@@ -35,7 +35,7 @@
AC_PREFIX_DEFAULT([/mingw])
AC_CONFIG_SRCDIR([include/_mingw.h.in])
- MINGW_AC_CONFIG_EXTRA_SRCDIR([w32api],[include/w32api.h.in])
+ MINGW_AC_CONFIG_EXTRA_SRCDIR([wslapi],[include/w32api.h.in])
MINGW_AC_PROG_CC_COMPILE_ONLY
MINGW_AC_PROG_COMPILE_SX
diff --git a/mingwrt/tests/Makefile.in b/mingwrt/tests/Makefile.in
index 2bdf904..0cc294f 100644
--- a/mingwrt/tests/Makefile.in
+++ b/mingwrt/tests/Makefile.in
@@ -141,7 +141,7 @@ install-mingwrt:
chkconfig = ($1/config.status --version | grep $2) 2>&1 > /dev/null
install-w32api-headers:
- @for dir in ../../w32api*; do \
+ @for dir in ../../wslapi*; do \
if $(call chkconfig,$$dir,'MinGW Win32 API'); then \
$(MAKE) -C $$dir --no-print-directory prefix=${CURDIR} $@; break; \
fi; \
diff --git a/w32api/CONTRIBUTIONS b/wslapi/CONTRIBUTIONS
similarity index 100%
rename from w32api/CONTRIBUTIONS
rename to wslapi/CONTRIBUTIONS
diff --git a/w32api/ChangeLog b/wslapi/ChangeLog
similarity index 99%
rename from w32api/ChangeLog
rename to wslapi/ChangeLog
index 092ff33..903fd14 100644
--- a/w32api/ChangeLog
+++ b/wslapi/ChangeLog
@@ -1,3 +1,10 @@
+2017-11-09 Keith Marshall <ke...@us...>
+
+ Avoid an implication that the API is exclusively 32-bit.
+
+ * Makefile.in (w32api_srcdir): Rename macro...
+ (wslapi_srcdir): ...to this; update all references.
+
2017-11-08 Keith Marshall <ke...@us...>
Overhaul WinSock fd_set content management macros.
diff --git a/w32api/Makefile.in b/wslapi/Makefile.in
similarity index 98%
rename from w32api/Makefile.in
rename to wslapi/Makefile.in
index ba39f7b..57a4cbd 100644
--- a/w32api/Makefile.in
+++ b/wslapi/Makefile.in
@@ -50,7 +50,7 @@ NTDDI_VERSION_SPEC := $(NTDDI_VERSION:%=-D NTDDI_VERSION=%)
srcdir = @srcdir@
top_srcdir = @top_srcdir@
mingwrt_srcdir = @mingwrt_srcdir@
-w32api_srcdir = @srcdir@
+wslapi_srcdir = @srcdir@
abs_builddir = @abs_builddir@
CC = @CC@
@@ -309,9 +309,9 @@ mingwrt-srcdist w32api-srcdist: %-srcdist: %-srcdist-dir %-srcdist-files
xz -c > $*-$(PACKAGE_RELEASE_TAG)-src.tar.xz
$(RM) -r dist/$*-$(PACKAGE_VERSION)
-w32api-srcdist-testsuite-files: $(wildcard ${w32api_srcdir}/tests/*.at)
-w32api-srcdist-testsuite-files: $(wildcard ${w32api_srcdir}/tests/*.in)
- (cd ${w32api_srcdir} && tar chf - $(addprefix tests/,$(notdir $^))) | \
+w32api-srcdist-testsuite-files: $(wildcard ${wslapi_srcdir}/tests/*.at)
+w32api-srcdist-testsuite-files: $(wildcard ${wslapi_srcdir}/tests/*.in)
+ (cd ${wslapi_srcdir} && tar chf - $(addprefix tests/,$(notdir $^))) | \
(cd dist/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) && tar xf -)
mingwrt-srcdist-dir w32api-srcdist-dir: %-srcdist-dir:
diff --git a/w32api/README.w32api b/wslapi/README.w32api
similarity index 100%
rename from w32api/README.w32api
rename to wslapi/README.w32api
diff --git a/w32api/TODO b/wslapi/TODO
similarity index 100%
rename from w32api/TODO
rename to wslapi/TODO
diff --git a/w32api/configure.ac b/wslapi/configure.ac
similarity index 100%
rename from w32api/configure.ac
rename to wslapi/configure.ac
diff --git a/w32api/include/GL/gl.h b/wslapi/include/GL/gl.h
similarity index 100%
rename from w32api/include/GL/gl.h
rename to wslapi/include/GL/gl.h
diff --git a/w32api/include/GL/glext.h b/wslapi/include/GL/glext.h
similarity index 100%
rename from w32api/include/GL/glext.h
rename to wslapi/include/GL/glext.h
diff --git a/w32api/include/GL/glu.h b/wslapi/include/GL/glu.h
similarity index 100%
rename from w32api/include/GL/glu.h
rename to wslapi/include/GL/glu.h
diff --git a/w32api/include/accctrl.h b/wslapi/include/accctrl.h
similarity index 100%
rename from w32api/include/accctrl.h
rename to wslapi/include/accctrl.h
diff --git a/w32api/include/aclapi.h b/wslapi/include/aclapi.h
similarity index 100%
rename from w32api/include/aclapi.h
rename to wslapi/include/aclapi.h
diff --git a/w32api/include/aclui.h b/wslapi/include/aclui.h
similarity index 100%
rename from w32api/include/aclui.h
rename to wslapi/include/aclui.h
diff --git a/w32api/include/adsprop.h b/wslapi/include/adsprop.h
similarity index 100%
rename from w32api/include/adsprop.h
rename to wslapi/include/adsprop.h
diff --git a/w32api/include/afxres.h b/wslapi/include/afxres.h
similarity index 100%
rename from w32api/include/afxres.h
rename to wslapi/include/afxres.h
diff --git a/w32api/include/amaudio.h b/wslapi/include/amaudio.h
similarity index 100%
rename from w32api/include/amaudio.h
rename to wslapi/include/amaudio.h
diff --git a/w32api/include/amvideo.h b/wslapi/include/amvideo.h
similarity index 100%
rename from w32api/include/amvideo.h
rename to wslapi/include/amvideo.h
diff --git a/w32api/include/audevcod.h b/wslapi/include/audevcod.h
similarity index 100%
rename from w32api/include/audevcod.h
rename to wslapi/include/audevcod.h
diff --git a/w32api/include/aviriff.h b/wslapi/include/aviriff.h
similarity index 100%
rename from w32api/include/aviriff.h
rename to wslapi/include/aviriff.h
diff --git a/w32api/include/aygshell.h b/wslapi/include/aygshell.h
similarity index 100%
rename from w32api/include/aygshell.h
rename to wslapi/include/aygshell.h
diff --git a/w32api/include/basetsd.h b/wslapi/include/basetsd.h
similarity index 100%
rename from w32api/include/basetsd.h
rename to wslapi/include/basetsd.h
diff --git a/w32api/include/basetyps.h b/wslapi/include/basetyps.h
similarity index 100%
rename from w32api/include/basetyps.h
rename to wslapi/include/basetyps.h
diff --git a/w32api/include/bdatypes.h b/wslapi/include/bdatypes.h
similarity index 100%
rename from w32api/include/bdatypes.h
rename to wslapi/include/bdatypes.h
diff --git a/w32api/include/cderr.h b/wslapi/include/cderr.h
similarity index 100%
rename from w32api/include/cderr.h
rename to wslapi/include/cderr.h
diff --git a/w32api/include/cguid.h b/wslapi/include/cguid.h
similarity index 100%
rename from w32api/include/cguid.h
rename to wslapi/include/cguid.h
diff --git a/w32api/include/cmnquery.h b/wslapi/include/cmnquery.h
similarity index 100%
rename from w32api/include/cmnquery.h
rename to wslapi/include/cmnquery.h
diff --git a/w32api/include/comcat.h b/wslapi/include/comcat.h
similarity index 100%
rename from w32api/include/comcat.h
rename to wslapi/include/comcat.h
diff --git a/w32api/include/commctrl.h b/wslapi/include/commctrl.h
similarity index 100%
rename from w32api/include/commctrl.h
rename to wslapi/include/commctrl.h
diff --git a/w32api/include/commdlg.h b/wslapi/include/commdlg.h
similarity index 100%
rename from w32api/include/commdlg.h
rename to wslapi/include/commdlg.h
diff --git a/w32api/include/control.h b/wslapi/include/control.h
similarity index 100%
rename from w32api/include/control.h
rename to wslapi/include/control.h
diff --git a/w32api/include/cpl.h b/wslapi/include/cpl.h
similarity index 100%
rename from w32api/include/cpl.h
rename to wslapi/include/cpl.h
diff --git a/w32api/include/cplext.h b/wslapi/include/cplext.h
similarity index 100%
rename from w32api/include/cplext.h
rename to wslapi/include/cplext.h
diff --git a/w32api/include/custcntl.h b/wslapi/include/custcntl.h
similarity index 100%
rename from w32api/include/custcntl.h
rename to wslapi/include/custcntl.h
diff --git a/w32api/include/dbt.h b/wslapi/include/dbt.h
similarity index 100%
rename from w32api/include/dbt.h
rename to wslapi/include/dbt.h
diff --git a/w32api/include/dde.h b/wslapi/include/dde.h
similarity index 100%
rename from w32api/include/dde.h
rename to wslapi/include/dde.h
diff --git a/w32api/include/ddeml.h b/wslapi/include/ddeml.h
similarity index 100%
rename from w32api/include/ddeml.h
rename to wslapi/include/ddeml.h
diff --git a/w32api/include/ddk/atm.h b/wslapi/include/ddk/atm.h
similarity index 100%
rename from w32api/include/ddk/atm.h
rename to wslapi/include/ddk/atm.h
diff --git a/w32api/include/ddk/batclass.h b/wslapi/include/ddk/batclass.h
similarity index 100%
rename from w32api/include/ddk/batclass.h
rename to wslapi/include/ddk/batclass.h
diff --git a/w32api/include/ddk/cfg.h b/wslapi/include/ddk/cfg.h
similarity index 100%
rename from w32api/include/ddk/cfg.h
rename to wslapi/include/ddk/cfg.h
diff --git a/w32api/include/ddk/cfgmgr32.h b/wslapi/include/ddk/cfgmgr32.h
similarity index 100%
rename from w32api/include/ddk/cfgmgr32.h
rename to wslapi/include/ddk/cfgmgr32.h
diff --git a/w32api/include/ddk/d4drvif.h b/wslapi/include/ddk/d4drvif.h
similarity index 100%
rename from w32api/include/ddk/d4drvif.h
rename to wslapi/include/ddk/d4drvif.h
diff --git a/w32api/include/ddk/d4iface.h b/wslapi/include/ddk/d4iface.h
similarity index 100%
rename from w32api/include/ddk/d4iface.h
rename to wslapi/include/ddk/d4iface.h
diff --git a/w32api/include/ddk/ddkmapi.h b/wslapi/include/ddk/ddkmapi.h
similarity index 100%
rename from w32api/include/ddk/ddkmapi.h
rename to wslapi/include/ddk/ddkmapi.h
diff --git a/w32api/include/ddk/hidclass.h b/wslapi/include/ddk/hidclass.h
similarity index 100%
rename from w32api/include/ddk/hidclass.h
rename to wslapi/include/ddk/hidclass.h
diff --git a/w32api/include/ddk/hidpi.h b/wslapi/include/ddk/hidpi.h
similarity index 100%
rename from w32api/include/ddk/hidpi.h
rename to wslapi/include/ddk/hidpi.h
diff --git a/w32api/include/ddk/hidsdi.h b/wslapi/include/ddk/hidsdi.h
similarity index 100%
rename from w32api/include/ddk/hidsdi.h
rename to wslapi/include/ddk/hidsdi.h
diff --git a/w32api/include/ddk/hidusage.h b/wslapi/include/ddk/hidusage.h
similarity index 100%
rename from w32api/include/ddk/hidusage.h
rename to wslapi/include/ddk/hidusage.h
diff --git a/w32api/include/ddk/kbdmou.h b/wslapi/include/ddk/kbdmou.h
similarity index 100%
rename from w32api/include/ddk/kbdmou.h
rename to wslapi/include/ddk/kbdmou.h
diff --git a/w32api/include/ddk/mcd.h b/wslapi/include/ddk/mcd.h
similarity index 100%
rename from w32api/include/ddk/mcd.h
rename to wslapi/include/ddk/mcd.h
diff --git a/w32api/include/ddk/miniport.h b/wslapi/include/ddk/miniport.h
similarity index 100%
rename from w32api/include/ddk/miniport.h
rename to wslapi/include/ddk/miniport.h
diff --git a/w32api/include/ddk/minitape.h b/wslapi/include/ddk/minitape.h
similarity index 100%
rename from w32api/include/ddk/minitape.h
rename to wslapi/include/ddk/minitape.h
diff --git a/w32api/include/ddk/mountdev.h b/wslapi/include/ddk/mountdev.h
similarity index 100%
rename from w32api/include/ddk/mountdev.h
rename to wslapi/include/ddk/mountdev.h
diff --git a/w32api/include/ddk/mountmgr.h b/wslapi/include/ddk/mountmgr.h
similarity index 100%
rename from w32api/include/ddk/mountmgr.h
rename to wslapi/include/ddk/mountmgr.h
diff --git a/w32api/include/ddk/ndis.h b/wslapi/include/ddk/ndis.h
similarity index 100%
rename from w32api/include/ddk/ndis.h
rename to wslapi/include/ddk/ndis.h
diff --git a/w32api/include/ddk/ndisguid.h b/wslapi/include/ddk/ndisguid.h
similarity index 100%
rename from w32api/include/ddk/ndisguid.h
rename to wslapi/include/ddk/ndisguid.h
diff --git a/w32api/include/ddk/ndistapi.h b/wslapi/include/ddk/ndistapi.h
similarity index 100%
rename from w32api/include/ddk/ndistapi.h
rename to wslapi/include/ddk/ndistapi.h
diff --git a/w32api/include/ddk/ndiswan.h b/wslapi/include/ddk/ndiswan.h
similarity index 100%
rename from w32api/include/ddk/ndiswan.h
rename to wslapi/include/ddk/ndiswan.h
diff --git a/w32api/include/ddk/netevent.h b/wslapi/include/ddk/netevent.h
similarity index 100%
rename from w32api/include/ddk/netevent.h
rename to wslapi/include/ddk/netevent.h
diff --git a/w32api/include/ddk/netpnp.h b/wslapi/include/ddk/netpnp.h
similarity index 100%
rename from w32api/include/ddk/netpnp.h
rename to wslapi/include/ddk/netpnp.h
diff --git a/w32api/include/ddk/newdev.h b/wslapi/include/ddk/newdev.h
similarity index 100%
rename from w32api/include/ddk/newdev.h
rename to wslapi/include/ddk/newdev.h
diff --git a/w32api/include/ddk/ntapi.h b/wslapi/include/ddk/ntapi.h
similarity index 100%
rename from w32api/include/ddk/ntapi.h
rename to wslapi/include/ddk/ntapi.h
diff --git a/w32api/include/ddk/ntdd8042.h b/wslapi/include/ddk/ntdd8042.h
similarity index 100%
rename from w32api/include/ddk/ntdd8042.h
rename to wslapi/include/ddk/ntdd8042.h
diff --git a/w32api/include/ddk/ntddbeep.h b/wslapi/include/ddk/ntddbeep.h
similarity index 100%
rename from w32api/include/ddk/ntddbeep.h
rename to wslapi/include/ddk/ntddbeep.h
diff --git a/w32api/include/ddk/ntddcdrm.h b/wslapi/include/ddk/ntddcdrm.h
similarity index 100%
rename from w32api/include/ddk/ntddcdrm.h
rename to wslapi/include/ddk/ntddcdrm.h
diff --git a/w32api/include/ddk/ntddcdvd.h b/wslapi/include/ddk/ntddcdvd.h
similarity index 100%
rename from w32api/include/ddk/ntddcdvd.h
rename to wslapi/include/ddk/ntddcdvd.h
diff --git a/w32api/include/ddk/ntddchgr.h b/wslapi/include/ddk/ntddchgr.h
similarity index 100%
rename from w32api/include/ddk/ntddchgr.h
rename to wslapi/include/ddk/ntddchgr.h
diff --git a/w32api/include/ddk/ntdddisk.h b/wslapi/include/ddk/ntdddisk.h
similarity index 100%
rename from w32api/include/ddk/ntdddisk.h
rename to wslapi/include/ddk/ntdddisk.h
diff --git a/w32api/include/ddk/ntddk.h b/wslapi/include/ddk/ntddk.h
similarity index 100%
rename from w32api/include/ddk/ntddk.h
rename to wslapi/include/ddk/ntddk.h
diff --git a/w32api/include/ddk/ntddkbd.h b/wslapi/include/ddk/ntddkbd.h
similarity index 100%
rename from w32api/include/ddk/ntddkbd.h
rename to wslapi/include/ddk/ntddkbd.h
diff --git a/w32api/include/ddk/ntddmou.h b/wslapi/include/ddk/ntddmou.h
similarity index 100%
rename from w32api/include/ddk/ntddmou.h
rename to wslapi/include/ddk/ntddmou.h
diff --git a/w32api/include/ddk/ntddndis.h b/wslapi/include/ddk/ntddndis.h
similarity index 100%
rename from w32api/include/ddk/ntddndis.h
rename to wslapi/include/ddk/ntddndis.h
diff --git a/w32api/include/ddk/ntddpar.h b/wslapi/include/ddk/ntddpar.h
similarity index 100%
rename from w32api/include/ddk/ntddpar.h
rename to wslapi/include/ddk/ntddpar.h
diff --git a/w32api/include/ddk/ntddpcm.h b/wslapi/include/ddk/ntddpcm.h
similarity index 100%
rename from w32api/include/ddk/ntddpcm.h
rename to wslapi/include/ddk/ntddpcm.h
diff --git a/w32api/include/ddk/ntddscsi.h b/wslapi/include/ddk/ntddscsi.h
similarity index 100%
rename from w32api/include/ddk/ntddscsi.h
rename to wslapi/include/ddk/ntddscsi.h
diff --git a/w32api/include/ddk/ntddser.h b/wslapi/include/ddk/ntddser.h
similarity index 100%
rename from w32api/include/ddk/ntddser.h
rename to wslapi/include/ddk/ntddser.h
diff --git a/w32api/include/ddk/ntddstor.h b/wslapi/include/ddk/ntddstor.h
similarity index 100%
rename from w32api/include/ddk/ntddstor.h
rename to wslapi/include/ddk/ntddstor.h
diff --git a/w32api/include/ddk/ntddtape.h b/wslapi/include/ddk/ntddtape.h
similarity index 100%
rename from w32api/include/ddk/ntddtape.h
rename to wslapi/include/ddk/ntddtape.h
diff --git a/w32api/include/ddk/ntddtdi.h b/wslapi/include/ddk/ntddtdi.h
similarity index 100%
rename from w32api/include/ddk/ntddtdi.h
rename to wslapi/include/ddk/ntddtdi.h
diff --git a/w32api/include/ddk/ntddvdeo.h b/wslapi/include/ddk/ntddvdeo.h
similarity index 100%
rename from w32api/include/ddk/ntddvdeo.h
rename to wslapi/include/ddk/ntddvdeo.h
diff --git a/w32api/include/ddk/ntddvol.h b/wslapi/include/ddk/ntddvol.h
similarity index 100%
rename from w32api/include/ddk/ntddvol.h
rename to wslapi/include/ddk/ntddvol.h
diff --git a/w32api/include/ddk/ntifs.h b/wslapi/include/ddk/ntifs.h
similarity index 100%
rename from w32api/include/ddk/ntifs.h
rename to wslapi/include/ddk/ntifs.h
diff --git a/w32api/include/ddk/ntpoapi.h b/wslapi/include/ddk/ntpoapi.h
similarity index 100%
rename from w32api/include/ddk/ntpoapi.h
rename to wslapi/include/ddk/ntpoapi.h
diff --git a/w32api/include/ddk/ntstatus.h b/wslapi/include/ddk/ntstatus.h
similarity index 100%
rename from w32api/include/ddk/ntstatus.h
rename to wslapi/include/ddk/ntstatus.h
diff --git a/w32api/include/ddk/parallel.h b/wslapi/include/ddk/parallel.h
similarity index 100%
rename from w32api/include/ddk/parallel.h
rename to wslapi/include/ddk/parallel.h
diff --git a/w32api/include/ddk/pfhook.h b/wslapi/include/ddk/pfhook.h
similarity index 100%
rename from w32api/include/ddk/pfhook.h
rename to wslapi/include/ddk/pfhook.h
diff --git a/w32api/include/ddk/poclass.h b/wslapi/include/ddk/poclass.h
similarity index 100%
rename from w32api/include/ddk/poclass.h
rename to wslapi/include/ddk/poclass.h
diff --git a/w32api/include/ddk/scsi.h b/wslapi/include/ddk/scsi.h
similarity index 100%
rename from w32api/include/ddk/scsi.h
rename to wslapi/include/ddk/scsi.h
diff --git a/w32api/include/ddk/scsiscan.h b/wslapi/include/ddk/scsiscan.h
similarity index 100%
rename from w32api/include/ddk/scsiscan.h
rename to wslapi/include/ddk/scsiscan.h
diff --git a/w32api/include/ddk/scsiwmi.h b/wslapi/include/ddk/scsiwmi.h
similarity index 100%
rename from w32api/include/ddk/scsiwmi.h
rename to wslapi/include/ddk/scsiwmi.h
diff --git a/w32api/include/ddk/smbus.h b/wslapi/include/ddk/smbus.h
similarity index 100%
rename from w32api/include/ddk/smbus.h
rename to wslapi/include/ddk/smbus.h
diff --git a/w32api/include/ddk/srb.h b/wslapi/include/ddk/srb.h
similarity index 100%
rename from w32api/include/ddk/srb.h
rename to wslapi/include/ddk/srb.h
diff --git a/w32api/include/ddk/storport.h b/wslapi/include/ddk/storport.h
similarity index 100%
rename from w32api/include/ddk/storport.h
rename to wslapi/include/ddk/storport.h
diff --git a/w32api/include/ddk/tdi.h b/wslapi/include/ddk/tdi.h
similarity index 100%
rename from w32api/include/ddk/tdi.h
rename to wslapi/include/ddk/tdi.h
diff --git a/w32api/include/ddk/tdiinfo.h b/wslapi/include/ddk/tdiinfo.h
similarity index 100%
rename from w32api/include/ddk/tdiinfo.h
rename to wslapi/include/ddk/tdiinfo.h
diff --git a/w32api/include/ddk/tdikrnl.h b/wslapi/include/ddk/tdikrnl.h
similarity index 100%
rename from w32api/include/ddk/tdikrnl.h
rename to wslapi/include/ddk/tdikrnl.h
diff --git a/w32api/include/ddk/tdistat.h b/wslapi/include/ddk/tdistat.h
similarity index 100%
rename from w32api/include/ddk/tdistat.h
rename to wslapi/include/ddk/tdistat.h
diff --git a/w32api/include/ddk/tvout.h b/wslapi/include/ddk/tvout.h
similarity index 100%
rename from w32api/include/ddk/tvout.h
rename to wslapi/include/ddk/tvout.h
diff --git a/w32api/include/ddk/upssvc.h b/wslapi/include/ddk/upssvc.h
similarity index 100%
rename from w32api/include/ddk/upssvc.h
rename to wslapi/include/ddk/upssvc.h
diff --git a/w32api/include/ddk/usb.h b/wslapi/include/ddk/usb.h
similarity index 100%
rename from w32api/include/ddk/usb.h
rename to wslapi/include/ddk/usb.h
diff --git a/w32api/include/ddk/usb100.h b/wslapi/include/ddk/usb100.h
similarity index 100%
rename from w32api/include/ddk/usb100.h
rename to wslapi/include/ddk/usb100.h
diff --git a/w32api/include/ddk/usbcamdi.h b/wslapi/include/ddk/usbcamdi.h
similarity index 100%
rename from w32api/include/ddk/usbcamdi.h
rename to wslapi/include/ddk/usbcamdi.h
diff --git a/w32api/include/ddk/usbdi.h b/wslapi/include/ddk/usbdi.h
similarity index 100%
rename from w32api/include/ddk/usbdi.h
rename to wslapi/include/ddk/usbdi.h
diff --git a/w32api/include/ddk/usbioctl.h b/wslapi/include/ddk/usbioctl.h
similarity index 100%
rename from w32api/include/ddk/usbioctl.h
rename to wslapi/include/ddk/usbioctl.h
diff --git a/w32api/include/ddk/usbiodef.h b/wslapi/include/ddk/usbiodef.h
similarity index 100%
rename from w32api/include/ddk/usbiodef.h
rename to wslapi/include/ddk/usbiodef.h
diff --git a/w32api/include/ddk/usbscan.h b/wslapi/include/ddk/usbscan.h
similarity index 100%
rename from w32api/include/ddk/usbscan.h
rename to wslapi/include/ddk/usbscan.h
diff --git a/w32api/include/ddk/usbuser.h b/wslapi/include/ddk/usbuser.h
similarity index 100%
rename from w32api/include/ddk/usbuser.h
rename to wslapi/include/ddk/usbuser.h
diff --git a/w32api/include/ddk/video.h b/wslapi/include/ddk/video.h
similarity index 100%
rename from w32api/include/ddk/video.h
rename to wslapi/include/ddk/video.h
diff --git a/w32api/include/ddk/videoagp.h b/ws...
[truncated message content] |
|
From: Keith M. <no...@so...> - 2017-11-08 21:03:34
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 6.0-exp has been created
at e605acbe8516b3b4ddf55aa182483fce2992e5b9 (commit)
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/e605acbe8516b3b4ddf55aa182483fce2992e5b9/
commit e605acbe8516b3b4ddf55aa182483fce2992e5b9
Author: Earnie Boyd <ea...@us...>
Date: Wed Nov 8 20:55:27 2017 +0000
Prepare environment for Earnie's tools.
diff --git a/.gitignore b/.gitignore
index f611c50..b06bbbb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,5 @@ depcomp
*.bak
*.o
*~
+nohup.out
+nbproject
diff --git a/ChangeLog b/ChangeLog
index f10ffbc..8492771 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-11-08 Earnie Boyd <ea...@us...>
+
+ Prepare environment for Earnie's tools.
+
+ * .gitignore (nohup.out, nbproject): Add, to avoid file collisions
+ from gvim wrapper and Netbeans IDE project system.
+
2017-11-08 Keith Marshall <ke...@us...>
Create 6.0-exp branch, for Win64 support preparation.
https://sf.net/p/mingw/mingw-org-wsl/ci/ec605493c6f28ec174ce5ac65cd1fb512d2b539a/
commit ec605493c6f28ec174ce5ac65cd1fb512d2b539a
Author: Keith Marshall <ke...@us...>
Date: Wed Nov 8 20:38:42 2017 +0000
Create 6.0-exp branch, for Win64 support preparation.
diff --git a/ChangeLog b/ChangeLog
index 377493b..f10ffbc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-11-08 Keith Marshall <ke...@us...>
+
+ Create 6.0-exp branch, for Win64 support preparation.
+
+ * VERSION.m4 (__VERSION__): Initialize it to 6.0, for this branch.
+
2017-07-31 Keith Marshall <kei...@us...>
MinGW.org WSL-5.0.1 released; update repository version.
diff --git a/VERSION.m4 b/VERSION.m4
index 6a0fec5..c0202b6 100644
--- a/VERSION.m4
+++ b/VERSION.m4
@@ -6,7 +6,7 @@
# assign a common version number to each of the mingwrt and w32api
# MinGW System Library sub-packages.
#
-m4_define([__VERSION__],[5.0.2])
+m4_define([__VERSION__],[6.0])
# This is also a convenient place to specify the import library
# associations, and DLLVERSION information for each DLL which may
-----------------------------------------------------------------------
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2017-11-08 21:03:31
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via c93876877c12a2b88d3da6d53e6303255f1d10f2 (commit)
from de0623962402df32a23e5244dc18a093ff4a74ad (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
w32api/ChangeLog | 17 +++++++++++++
w32api/include/winsock.h | 64 ++++++++++++++++++++++++++++--------------------
w32api/tests/winsock.at | 2 +-
3 files changed, 56 insertions(+), 27 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2017-11-07 19:31:18
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via de0623962402df32a23e5244dc18a093ff4a74ad (commit)
via 2ad6302a471bc858cf6807a54faded1fd6968b4e (commit)
from 735e702b3e1ebd2336004cbd2cdfffcfd88f862e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/de0623962402df32a23e5244dc18a093ff4a74ad/
commit de0623962402df32a23e5244dc18a093ff4a74ad
Author: Keith Marshall <ke...@us...>
Date: Tue Nov 7 19:24:55 2017 +0000
Identify features which have been deprecated in WinSock v2.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 7da5824..d81c326 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,5 +1,18 @@
2017-11-07 Keith Marshall <ke...@us...>
+ 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 <ke...@us...>
+
Adopt system naming convention for USE_SYS_TYPES_FD_SET macro.
* include/winsock.h (USE_SYS_TYPES_FD_SET): Deprecate it; use...
diff --git a/w32api/include/winsock.h b/w32api/include/winsock.h
index e0da4db..789ab04 100644
--- a/w32api/include/winsock.h
+++ b/w32api/include/winsock.h
@@ -87,6 +87,15 @@
#define _USE_SYS_TYPES_FD_SET 1
#endif
+#ifndef __WINSOCK2_DEPRECATED
+/* Some of the WinSock v1.1 declarations have become deprecated in
+ * WinSock v2. If <winsock2.h> has been included, this deprecation
+ * attribute macro should already have been defined; if not, we now
+ * define it to do nothing.
+ */
+#define __WINSOCK2_DEPRECATED
+#endif
+
_BEGIN_C_DECLS
typedef u_int SOCKET;
@@ -515,10 +524,15 @@ WINSOCK_API_LINKAGE int PASCAL WSACleanup (void);
WINSOCK_API_LINKAGE void PASCAL WSASetLastError (int);
WINSOCK_API_LINKAGE int PASCAL WSAGetLastError (void);
-WINSOCK_API_LINKAGE BOOL PASCAL WSAIsBlocking (void);
-WINSOCK_API_LINKAGE int PASCAL WSAUnhookBlockingHook (void);
-WINSOCK_API_LINKAGE FARPROC PASCAL WSASetBlockingHook (FARPROC);
-WINSOCK_API_LINKAGE int PASCAL WSACancelBlockingCall (void);
+/* The following four pseudo-blocking functions are provided
+ * to support WinSock v1.1, but have been marked as deprecated
+ * in WinSock v2; they remain available, but it is recommended
+ * that threads should be used instead!
+ */
+WINSOCK_API_LINKAGE BOOL PASCAL WSAIsBlocking (void) __WINSOCK2_DEPRECATED;
+WINSOCK_API_LINKAGE int PASCAL WSAUnhookBlockingHook (void) __WINSOCK2_DEPRECATED;
+WINSOCK_API_LINKAGE FARPROC PASCAL WSASetBlockingHook (FARPROC) __WINSOCK2_DEPRECATED;
+WINSOCK_API_LINKAGE int PASCAL WSACancelBlockingCall (void) __WINSOCK2_DEPRECATED;
WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetServByName (HWND, u_int, const char *, const char *, char *, int);
WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetServByPort (HWND, u_int, int, const char *, char *, int);
diff --git a/w32api/include/winsock2.h b/w32api/include/winsock2.h
index 6f6faef..9ed1e87 100644
--- a/w32api/include/winsock2.h
+++ b/w32api/include/winsock2.h
@@ -40,6 +40,14 @@
*/
#if !(defined _WINSOCK2_H || defined _WINSOCK_H)
#define _WINSOCK2_H
+
+/* WinSock v2 deprecates several features, which are standard
+ * in WinSock v1.1; their declarations remain in scope, but we
+ * define this qualifying macro up-front, to ensure that the
+ * deprecated status is recorded.
+ */
+#define __WINSOCK2_DEPRECATED __MINGW_ATTRIB_DEPRECATED
+
#define _WINSOCK_H /* to prevent later inclusion of winsock.h */
#pragma GCC system_header
@@ -587,13 +595,15 @@ typedef int (PASCAL *LPFN_WSACLEANUP) (void);
typedef int (PASCAL *LPFN_WSAGETLASTERROR) (void);
typedef void (PASCAL *LPFN_WSASETLASTERROR) (int);
-/* Pseudo-blocking functions are deprecated in WinSock v2.
- * Use threads instead of these!
+/* The following four pseudo-blocking functions are provided
+ * to support WinSock v1.1, but have been marked as deprecated
+ * in WinSock v2; they remain available, but it is recommended
+ * that threads should be used instead!
*/
-WINSOCK_API_LINKAGE BOOL PASCAL WSAIsBlocking (void);
-WINSOCK_API_LINKAGE int PASCAL WSAUnhookBlockingHook (void);
-WINSOCK_API_LINKAGE FARPROC PASCAL WSASetBlockingHook (FARPROC);
-WINSOCK_API_LINKAGE int PASCAL WSACancelBlockingCall (void);
+WINSOCK_API_LINKAGE BOOL PASCAL WSAIsBlocking (void) __WINSOCK2_DEPRECATED;
+WINSOCK_API_LINKAGE int PASCAL WSAUnhookBlockingHook (void) __WINSOCK2_DEPRECATED;
+WINSOCK_API_LINKAGE FARPROC PASCAL WSASetBlockingHook (FARPROC) __WINSOCK2_DEPRECATED;
+WINSOCK_API_LINKAGE int PASCAL WSACancelBlockingCall (void) __WINSOCK2_DEPRECATED;
typedef BOOL (PASCAL *LPFN_WSAISBLOCKING) (void);
typedef int (PASCAL *LPFN_WSAUNHOOKBLOCKINGHOOK) (void);
https://sf.net/p/mingw/mingw-org-wsl/ci/2ad6302a471bc858cf6807a54faded1fd6968b4e/
commit 2ad6302a471bc858cf6807a54faded1fd6968b4e
Author: Keith Marshall <ke...@us...>
Date: Tue Nov 7 11:40:46 2017 +0000
Adopt system naming convention for USE_SYS_TYPES_FD_SET macro.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 8785150..7da5824 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,11 @@
+2017-11-07 Keith Marshall <ke...@us...>
+
+ 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 <kei...@us...>
Use WINSOCK_API_LINKAGE consistently in WinSock headers.
diff --git a/w32api/include/winsock.h b/w32api/include/winsock.h
index 5a1d34c..e0da4db 100644
--- a/w32api/include/winsock.h
+++ b/w32api/include/winsock.h
@@ -76,6 +76,17 @@
#endif
#endif
+#if ! defined _USE_SYS_TYPES_FD_SET && defined USE_SYS_TYPES_FD_SET
+/* Originally defined by the deprecated name, USE_SYS_TYPES_FD_SET, users
+ * may specify this to suppress warnings, in the event that (incompatible)
+ * fd_set manipulation macros may have been inherited from <sys/types.h>;
+ * accommodate use of the deprecated feature test name.
+ */
+#warning "Feature test macro USE_SYS_TYPES_FD_SET is deprecated."
+#warning "Use the _USE_SYS_TYPES_FD_SET feature test macro instead."
+#define _USE_SYS_TYPES_FD_SET 1
+#endif
+
_BEGIN_C_DECLS
typedef u_int SOCKET;
@@ -133,10 +144,10 @@ int PASCAL __WSAFDIsSet (SOCKET, fd_set *);
#define FD_ISSET( fd, set ) __WSAFDIsSet((SOCKET)(fd), (fd_set *)(set))
#endif /* ! defined FD_ISSET */
-#elif ! defined USE_SYS_TYPES_FD_SET
+#elif ! defined _USE_SYS_TYPES_FD_SET
/* Definitions from <sys/types.h> probably aren't what the user wants;
* if they know what they are doing, and they are sure that this really
- * is what they want, then they may enable the USE_SYS_TYPES_FD_SET
+ * is what they want, then they may enable the _USE_SYS_TYPES_FD_SET
* feature test macro, to suppress this warning.
*/
#warning "fd_set and associated macros have been defined in <sys/types.h>"
-----------------------------------------------------------------------
Summary of changes:
w32api/ChangeLog | 21 +++++++++++++++++++++
w32api/include/winsock.h | 37 +++++++++++++++++++++++++++++++------
w32api/include/winsock2.h | 22 ++++++++++++++++------
3 files changed, 68 insertions(+), 12 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2017-11-06 11:32:25
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via 735e702b3e1ebd2336004cbd2cdfffcfd88f862e (commit)
from ed15b66700a919259c3388cdbd40d343c04ad0fc (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/735e702b3e1ebd2336004cbd2cdfffcfd88f862e/
commit 735e702b3e1ebd2336004cbd2cdfffcfd88f862e
Author: Keith Marshall <kei...@us...>
Date: Mon Nov 6 11:16:26 2017 +0000
Use WINSOCK_API_LINKAGE consistently in WinSock headers.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 175f632..8785150 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,22 @@
+2017-11-06 Keith Marshall <kei...@us...>
+
+ 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 <kei...@us...>
Refactor <wtypes.h> vs. <nspapi.h> and WinSock headers.
diff --git a/w32api/include/winsock.h b/w32api/include/winsock.h
index 8ddb9c2..5a1d34c 100644
--- a/w32api/include/winsock.h
+++ b/w32api/include/winsock.h
@@ -41,8 +41,8 @@
*
*/
#ifndef _WINSOCK_H
-#define _WINSOCK_H
#pragma GCC system_header
+#define _WINSOCK_H
#define _GNU_H_WINDOWS32_SOCKETS
#define __WINSOCK_H_SOURCED__ 1
@@ -52,6 +52,30 @@
#include <sys/bsdtypes.h>
#include <sys/time.h>
+#ifndef WINSOCK_API_LINKAGE
+/* Historically, this was defined (and used) within <winsock2.h>, but not
+ * <winsock.h>, to qualify function declarations which are common to both;
+ * for consistency, we now define, (and subsequently use it here), while
+ * preserving the effect of its previous absence, within <winsock.h>, by
+ * ensuring that it expands to nothing in this context.
+ *
+ * FIXME: Is this logical? Perhaps <winsock.h> should adopt the effect,
+ * exactly as it was previously implemented exclusively in <winsock2.h>?
+ */
+#if defined _WINSOCK2_H && defined __W32API_USE_DLLIMPORT__
+/* To preserve backward compatibility, DECLSPEC_IMPORT option is
+ * available only to WinSock v2 clients, which request it...
+ */
+#define WINSOCK_API_LINKAGE DECLSPEC_IMPORT
+
+#else
+/* ...whereas WinSock v1.1 clients, and those WinSock v2 clients which
+ * do not request DECLSPEC_IMPORT, will always use default linkage.
+ */
+#define WINSOCK_API_LINKAGE
+#endif
+#endif
+
_BEGIN_C_DECLS
typedef u_int SOCKET;
@@ -444,64 +468,64 @@ struct sockproto
#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-SOCKET PASCAL accept (SOCKET, struct sockaddr *, int *);
-
-int PASCAL bind (SOCKET, const struct sockaddr *, int);
-int PASCAL closesocket (SOCKET);
-int PASCAL connect (SOCKET, const struct sockaddr *, int);
-int PASCAL ioctlsocket (SOCKET, long, u_long *);
-int PASCAL getpeername (SOCKET, struct sockaddr *, int *);
-int PASCAL getsockname (SOCKET, struct sockaddr *, int *);
-int PASCAL getsockopt (SOCKET, int, int, char *, int *);
-
-unsigned long PASCAL inet_addr (const char *);
-
-DECLARE_STDCALL_P (char *) inet_ntoa (struct in_addr);
-
-int PASCAL listen (SOCKET, int);
-int PASCAL recv (SOCKET, char *, int, int);
-int PASCAL recvfrom (SOCKET, char *, int, int, struct sockaddr *, int *);
-int PASCAL send (SOCKET, const char *, int, int);
-int PASCAL sendto (SOCKET, const char *, int, int, const struct sockaddr *, int);
-int PASCAL setsockopt (SOCKET, int, int, const char *, int);
-int PASCAL shutdown (SOCKET, int);
-
-SOCKET PASCAL socket (int, int, int);
-
-DECLARE_STDCALL_P (struct hostent *) gethostbyaddr (const char *, int, int);
-DECLARE_STDCALL_P (struct hostent *) gethostbyname (const char *);
-DECLARE_STDCALL_P (struct servent *) getservbyport (int, const char *);
-DECLARE_STDCALL_P (struct servent *) getservbyname (const char *, const char *);
-DECLARE_STDCALL_P (struct protoent *) getprotobynumber (int);
-DECLARE_STDCALL_P (struct protoent *) getprotobyname (const char *);
-
-int PASCAL WSAStartup (WORD, LPWSADATA);
-int PASCAL WSACleanup (void);
-void PASCAL WSASetLastError (int);
-int PASCAL WSAGetLastError (void);
-
-BOOL PASCAL WSAIsBlocking (void);
-int PASCAL WSAUnhookBlockingHook (void);
-FARPROC PASCAL WSASetBlockingHook (FARPROC);
-int PASCAL WSACancelBlockingCall (void);
-
-HANDLE PASCAL WSAAsyncGetServByName (HWND, u_int, const char *, const char *, char *, int);
-HANDLE PASCAL WSAAsyncGetServByPort (HWND, u_int, int, const char *, char *, int);
-HANDLE PASCAL WSAAsyncGetProtoByName (HWND, u_int, const char *, char *, int);
-HANDLE PASCAL WSAAsyncGetProtoByNumber (HWND, u_int, int, char *, int);
-HANDLE PASCAL WSAAsyncGetHostByName (HWND, u_int, const char *, char *, int);
-HANDLE PASCAL WSAAsyncGetHostByAddr (HWND, u_int, const char *, int, int, char *, int);
-
-int PASCAL WSACancelAsyncRequest (HANDLE);
-int PASCAL WSAAsyncSelect (SOCKET, HWND, u_int, long);
+WINSOCK_API_LINKAGE SOCKET PASCAL accept (SOCKET, struct sockaddr *, int *);
+
+WINSOCK_API_LINKAGE int PASCAL bind (SOCKET, const struct sockaddr *, int);
+WINSOCK_API_LINKAGE int PASCAL closesocket (SOCKET);
+WINSOCK_API_LINKAGE int PASCAL connect (SOCKET, const struct sockaddr *, int);
+WINSOCK_API_LINKAGE int PASCAL ioctlsocket (SOCKET, long, u_long *);
+WINSOCK_API_LINKAGE int PASCAL getpeername (SOCKET, struct sockaddr *, int *);
+WINSOCK_API_LINKAGE int PASCAL getsockname (SOCKET, struct sockaddr *, int *);
+WINSOCK_API_LINKAGE int PASCAL getsockopt (SOCKET, int, int, char *, int *);
+
+WINSOCK_API_LINKAGE unsigned long PASCAL inet_addr (const char *);
+
+WINSOCK_API_LINKAGE DECLARE_STDCALL_P (char *) inet_ntoa (struct in_addr);
+
+WINSOCK_API_LINKAGE int PASCAL listen (SOCKET, int);
+WINSOCK_API_LINKAGE int PASCAL recv (SOCKET, char *, int, int);
+WINSOCK_API_LINKAGE int PASCAL recvfrom (SOCKET, char *, int, int, struct sockaddr *, int *);
+WINSOCK_API_LINKAGE int PASCAL send (SOCKET, const char *, int, int);
+WINSOCK_API_LINKAGE int PASCAL sendto (SOCKET, const char *, int, int, const struct sockaddr *, int);
+WINSOCK_API_LINKAGE int PASCAL setsockopt (SOCKET, int, int, const char *, int);
+WINSOCK_API_LINKAGE int PASCAL shutdown (SOCKET, int);
+
+WINSOCK_API_LINKAGE SOCKET PASCAL socket (int, int, int);
+
+WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct hostent *) gethostbyaddr (const char *, int, int);
+WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct hostent *) gethostbyname (const char *);
+WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct servent *) getservbyport (int, const char *);
+WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct servent *) getservbyname (const char *, const char *);
+WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct protoent *) getprotobynumber (int);
+WINSOCK_API_LINKAGE DECLARE_STDCALL_P (struct protoent *) getprotobyname (const char *);
+
+WINSOCK_API_LINKAGE int PASCAL WSAStartup (WORD, LPWSADATA);
+WINSOCK_API_LINKAGE int PASCAL WSACleanup (void);
+WINSOCK_API_LINKAGE void PASCAL WSASetLastError (int);
+WINSOCK_API_LINKAGE int PASCAL WSAGetLastError (void);
+
+WINSOCK_API_LINKAGE BOOL PASCAL WSAIsBlocking (void);
+WINSOCK_API_LINKAGE int PASCAL WSAUnhookBlockingHook (void);
+WINSOCK_API_LINKAGE FARPROC PASCAL WSASetBlockingHook (FARPROC);
+WINSOCK_API_LINKAGE int PASCAL WSACancelBlockingCall (void);
+
+WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetServByName (HWND, u_int, const char *, const char *, char *, int);
+WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetServByPort (HWND, u_int, int, const char *, char *, int);
+WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetProtoByName (HWND, u_int, const char *, char *, int);
+WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetProtoByNumber (HWND, u_int, int, char *, int);
+WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetHostByName (HWND, u_int, const char *, char *, int);
+WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetHostByAddr (HWND, u_int, const char *, int, int, char *, int);
+
+WINSOCK_API_LINKAGE int PASCAL WSACancelAsyncRequest (HANDLE);
+WINSOCK_API_LINKAGE int PASCAL WSAAsyncSelect (SOCKET, HWND, u_int, long);
#if ! (defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)
-u_long PASCAL htonl (u_long);
-u_long PASCAL ntohl (u_long);
-u_short PASCAL htons (u_short);
-u_short PASCAL ntohs (u_short);
-int PASCAL select (int nfds, fd_set *, fd_set *, fd_set *, const struct timeval *);
+WINSOCK_API_LINKAGE u_long PASCAL htonl (u_long);
+WINSOCK_API_LINKAGE u_long PASCAL ntohl (u_long);
+WINSOCK_API_LINKAGE u_short PASCAL htons (u_short);
+WINSOCK_API_LINKAGE u_short PASCAL ntohs (u_short);
+WINSOCK_API_LINKAGE int PASCAL select (int nfds, fd_set *, fd_set *, fd_set *, const struct timeval *);
int PASCAL gethostname (char *, int );
#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
diff --git a/w32api/include/winsock2.h b/w32api/include/winsock2.h
index f51e45c..6f6faef 100644
--- a/w32api/include/winsock2.h
+++ b/w32api/include/winsock2.h
@@ -582,7 +582,7 @@ WINSOCK_API_LINKAGE int PASCAL WSACleanup (void);
WINSOCK_API_LINKAGE void PASCAL WSASetLastError (int);
WINSOCK_API_LINKAGE int PASCAL WSAGetLastError (void);
-WINSOCK_API_LINKAGE typedef int (PASCAL *LPFN_WSASTARTUP) (WORD, LPWSADATA);
+typedef int (PASCAL *LPFN_WSASTARTUP) (WORD, LPWSADATA);
typedef int (PASCAL *LPFN_WSACLEANUP) (void);
typedef int (PASCAL *LPFN_WSAGETLASTERROR) (void);
typedef void (PASCAL *LPFN_WSASETLASTERROR) (int);
-----------------------------------------------------------------------
Summary of changes:
w32api/ChangeLog | 19 +++++++
w32api/include/winsock.h | 136 +++++++++++++++++++++++++++-------------------
w32api/include/winsock2.h | 2 +-
3 files changed, 100 insertions(+), 57 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|