aboutsummaryrefslogtreecommitdiff
path: root/win32/include/winapi/psdk_inc
diff options
context:
space:
mode:
authorseyko <seyko2@gmail.com>2015-05-14 01:27:46 +0300
committerseyko <seyko2@gmail.com>2015-05-14 01:27:46 +0300
commit101cc8747f767344d38566bd229f1761ad96f744 (patch)
treeef800583f7994bb56c6c32bf4256f44727c5d48d /win32/include/winapi/psdk_inc
parent80322adaa0544eedc7198ed4c529a41856f66f43 (diff)
downloadtinycc-101cc8747f767344d38566bd229f1761ad96f744.tar.gz
tinycc-101cc8747f767344d38566bd229f1761ad96f744.tar.bz2
win32/include/winapi changes from https://github.com/run4flat/tinycc.git
just for testing. Is it needed? I'm not a MSYS citizen. run4flat is a tcc fork by David Mertens that knows how to work with multiple symbol tables. Excelent work. A good descriptions of the tcc internals inside a code comments.
Diffstat (limited to 'win32/include/winapi/psdk_inc')
-rw-r--r--win32/include/winapi/psdk_inc/_fd_types.h26
-rw-r--r--win32/include/winapi/psdk_inc/_ip_mreq1.h18
-rw-r--r--win32/include/winapi/psdk_inc/_ip_types.h104
-rw-r--r--win32/include/winapi/psdk_inc/_socket_types.h20
-rw-r--r--win32/include/winapi/psdk_inc/_ws1_undef.h248
-rw-r--r--win32/include/winapi/psdk_inc/_wsa_errnos.h225
-rw-r--r--win32/include/winapi/psdk_inc/_wsadata.h32
7 files changed, 673 insertions, 0 deletions
diff --git a/win32/include/winapi/psdk_inc/_fd_types.h b/win32/include/winapi/psdk_inc/_fd_types.h
new file mode 100644
index 0000000..7dd796b
--- /dev/null
+++ b/win32/include/winapi/psdk_inc/_fd_types.h
@@ -0,0 +1,26 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+
+#ifndef ___WSA_FD_TYPES_H
+#define ___WSA_FD_TYPES_H
+
+#include <psdk_inc/_socket_types.h>
+
+#ifndef FD_SETSIZE
+#define FD_SETSIZE 64
+#endif
+typedef struct fd_set
+{
+ u_int fd_count;
+ SOCKET fd_array[FD_SETSIZE];
+} fd_set;
+
+typedef struct fd_set FD_SET;
+typedef struct fd_set *PFD_SET;
+typedef struct fd_set *LPFD_SET;
+
+#endif /* ___WSA_FD_TYPES_H */
+
diff --git a/win32/include/winapi/psdk_inc/_ip_mreq1.h b/win32/include/winapi/psdk_inc/_ip_mreq1.h
new file mode 100644
index 0000000..ebdbf41
--- /dev/null
+++ b/win32/include/winapi/psdk_inc/_ip_mreq1.h
@@ -0,0 +1,18 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+
+#ifndef _MINGW_IP_MREQ1_H
+#define _MINGW_IP_MREQ1_H
+
+#include <inaddr.h>
+
+struct ip_mreq {
+ struct in_addr imr_multiaddr;
+ struct in_addr imr_interface;
+};
+
+#endif /* _MINGW_IP_MREQ1_H */
+
diff --git a/win32/include/winapi/psdk_inc/_ip_types.h b/win32/include/winapi/psdk_inc/_ip_types.h
new file mode 100644
index 0000000..0defa74
--- /dev/null
+++ b/win32/include/winapi/psdk_inc/_ip_types.h
@@ -0,0 +1,104 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+
+#ifndef _MINGW_IP_TYPES_H
+#define _MINGW_IP_TYPES_H
+
+#include <_bsd_types.h>
+
+#define h_addr h_addr_list[0]
+
+struct hostent {
+ char *h_name;
+ char **h_aliases;
+ short h_addrtype;
+ short h_length;
+ char **h_addr_list;
+};
+
+struct netent {
+ char *n_name;
+ char **n_aliases;
+ short n_addrtype;
+ u_long n_net;
+};
+
+struct servent {
+ char *s_name;
+ char **s_aliases;
+#ifdef _WIN64
+ char *s_proto;
+ short s_port;
+#else
+ short s_port;
+ char *s_proto;
+#endif
+};
+
+struct protoent {
+ char *p_name;
+ char **p_aliases;
+ short p_proto;
+};
+
+typedef struct hostent HOSTENT;
+typedef struct hostent *PHOSTENT;
+typedef struct hostent *LPHOSTENT;
+
+typedef struct servent SERVENT;
+typedef struct servent *PSERVENT;
+typedef struct servent *LPSERVENT;
+
+typedef struct protoent PROTOENT;
+typedef struct protoent *PPROTOENT;
+typedef struct protoent *LPPROTOENT;
+
+
+#include <inaddr.h>
+
+struct sockaddr_in {
+ short sin_family;
+ u_short sin_port;
+ struct in_addr sin_addr;
+ char sin_zero[8];
+};
+
+struct sockaddr {
+ u_short sa_family;
+ char sa_data[14];
+};
+
+struct sockproto {
+ u_short sp_family;
+ u_short sp_protocol;
+};
+
+struct linger {
+ u_short l_onoff;
+ u_short l_linger;
+};
+
+typedef struct sockaddr SOCKADDR;
+typedef struct sockaddr *PSOCKADDR;
+typedef struct sockaddr *LPSOCKADDR;
+
+typedef struct sockaddr_in SOCKADDR_IN;
+typedef struct sockaddr_in *PSOCKADDR_IN;
+typedef struct sockaddr_in *LPSOCKADDR_IN;
+
+typedef struct linger LINGER;
+typedef struct linger *PLINGER;
+typedef struct linger *LPLINGER;
+
+
+#include <_timeval.h>
+
+typedef struct timeval TIMEVAL;
+typedef struct timeval *PTIMEVAL;
+typedef struct timeval *LPTIMEVAL;
+
+#endif /* _MINGW_IP_TYPES_H */
+
diff --git a/win32/include/winapi/psdk_inc/_socket_types.h b/win32/include/winapi/psdk_inc/_socket_types.h
new file mode 100644
index 0000000..429d84e
--- /dev/null
+++ b/win32/include/winapi/psdk_inc/_socket_types.h
@@ -0,0 +1,20 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+
+#ifndef ___WSA_SOCKET_TYPES_H
+#define ___WSA_SOCKET_TYPES_H
+
+#if 1
+typedef UINT_PTR SOCKET;
+#else
+typedef INT_PTR SOCKET;
+#endif
+
+#define INVALID_SOCKET (SOCKET)(~0)
+#define SOCKET_ERROR (-1)
+
+#endif /* ___WSA_SOCKET_TYPES_H */
+
diff --git a/win32/include/winapi/psdk_inc/_ws1_undef.h b/win32/include/winapi/psdk_inc/_ws1_undef.h
new file mode 100644
index 0000000..047ba88
--- /dev/null
+++ b/win32/include/winapi/psdk_inc/_ws1_undef.h
@@ -0,0 +1,248 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+
+#undef FD_CLR
+#undef FD_ZERO
+#undef FD_ISSET
+#undef FD_SET
+
+#undef IOCPARM_MASK
+#undef IOC_VOID
+#undef IOC_OUT
+#undef IOC_IN
+#undef IOC_INOUT
+
+#undef _IO
+#undef _IOR
+#undef _IOW
+
+#undef FIONREAD
+#undef FIONBIO
+#undef FIOASYNC
+
+#undef SIOCSHIWAT
+#undef SIOCGHIWAT
+#undef SIOCSLOWAT
+#undef SIOCGLOWAT
+#undef SIOCATMARK
+
+#undef IPPROTO_IP
+#undef IPPROTO_ICMP
+#undef IPPROTO_IGMP
+#undef IPPROTO_GGP
+#undef IPPROTO_TCP
+#undef IPPROTO_PUP
+#undef IPPROTO_UDP
+#undef IPPROTO_IDP
+#undef IPPROTO_ND
+
+#undef IPPROTO_RAW
+#undef IPPROTO_MAX
+
+#undef IPPORT_ECHO
+#undef IPPORT_DISCARD
+#undef IPPORT_SYSTAT
+#undef IPPORT_DAYTIME
+#undef IPPORT_NETSTAT
+#undef IPPORT_FTP
+#undef IPPORT_TELNET
+#undef IPPORT_SMTP
+#undef IPPORT_TIMESERVER
+#undef IPPORT_NAMESERVER
+#undef IPPORT_WHOIS
+#undef IPPORT_MTP
+
+#undef IPPORT_TFTP
+#undef IPPORT_RJE
+#undef IPPORT_FINGER
+#undef IPPORT_TTYLINK
+#undef IPPORT_SUPDUP
+
+#undef IPPORT_EXECSERVER
+#undef IPPORT_LOGINSERVER
+#undef IPPORT_CMDSERVER
+#undef IPPORT_EFSSERVER
+
+#undef IPPORT_BIFFUDP
+#undef IPPORT_WHOSERVER
+#undef IPPORT_ROUTESERVER
+
+#undef IPPORT_RESERVED
+
+#undef IMPLINK_IP
+#undef IMPLINK_LOWEXPER
+#undef IMPLINK_HIGHEXPER
+
+#undef IN_CLASSA
+#undef IN_CLASSA_NET
+#undef IN_CLASSA_NSHIFT
+#undef IN_CLASSA_HOST
+#undef IN_CLASSA_MAX
+
+#undef IN_CLASSB
+#undef IN_CLASSB_NET
+#undef IN_CLASSB_NSHIFT
+#undef IN_CLASSB_HOST
+#undef IN_CLASSB_MAX
+
+#undef IN_CLASSC
+#undef IN_CLASSC_NET
+#undef IN_CLASSC_NSHIFT
+#undef IN_CLASSC_HOST
+
+#undef INADDR_ANY
+#undef INADDR_LOOPBACK
+#undef INADDR_BROADCAST
+#undef INADDR_NONE
+
+#undef IP_OPTIONS
+#undef IP_MULTICAST_IF
+#undef IP_MULTICAST_TTL
+#undef IP_MULTICAST_LOOP
+#undef IP_ADD_MEMBERSHIP
+#undef IP_DROP_MEMBERSHIP
+#undef IP_TTL
+#undef IP_TOS
+#undef IP_DONTFRAGMENT
+
+#undef IP_DEFAULT_MULTICAST_TTL
+#undef IP_DEFAULT_MULTICAST_LOOP
+#undef IP_MAX_MEMBERSHIPS
+
+#undef SOCK_STREAM
+#undef SOCK_DGRAM
+#undef SOCK_RAW
+#undef SOCK_RDM
+#undef SOCK_SEQPACKET
+
+#undef SO_DEBUG
+#undef SO_ACCEPTCONN
+#undef SO_REUSEADDR
+#undef SO_KEEPALIVE
+#undef SO_DONTROUTE
+#undef SO_BROADCAST
+#undef SO_USELOOPBACK
+#undef SO_LINGER
+#undef SO_OOBINLINE
+
+#undef SO_DONTLINGER
+
+#undef SO_SNDBUF
+#undef SO_RCVBUF
+#undef SO_SNDLOWAT
+#undef SO_RCVLOWAT
+#undef SO_SNDTIMEO
+#undef SO_RCVTIMEO
+#undef SO_ERROR
+#undef SO_TYPE
+
+#undef SO_CONNDATA
+#undef SO_CONNOPT
+#undef SO_DISCDATA
+#undef SO_DISCOPT
+#undef SO_CONNDATALEN
+#undef SO_CONNOPTLEN
+#undef SO_DISCDATALEN
+#undef SO_DISCOPTLEN
+
+#undef SO_OPENTYPE
+
+#undef SO_SYNCHRONOUS_ALERT
+#undef SO_SYNCHRONOUS_NONALERT
+
+#undef SO_MAXDG
+#undef SO_MAXPATHDG
+#undef SO_UPDATE_ACCEPT_CONTEXT
+#undef SO_CONNECT_TIME
+
+#undef TCP_NODELAY
+#undef TCP_BSDURGENT
+
+#undef AF_UNSPEC
+#undef AF_UNIX
+#undef AF_INET
+#undef AF_IMPLINK
+#undef AF_PUP
+#undef AF_CHAOS
+#undef AF_IPX
+#undef AF_NS
+#undef AF_ISO
+#undef AF_OSI
+#undef AF_ECMA
+#undef AF_DATAKIT
+#undef AF_CCITT
+#undef AF_SNA
+#undef AF_DECnet
+#undef AF_DLI
+#undef AF_LAT
+#undef AF_HYLINK
+#undef AF_APPLETALK
+#undef AF_NETBIOS
+#undef AF_VOICEVIEW
+#undef AF_FIREFOX
+#undef AF_UNKNOWN1
+#undef AF_BAN
+
+#undef AF_MAX
+
+#undef PF_UNSPEC
+#undef PF_UNIX
+#undef PF_INET
+#undef PF_IMPLINK
+#undef PF_PUP
+#undef PF_CHAOS
+#undef PF_NS
+#undef PF_IPX
+#undef PF_ISO
+#undef PF_OSI
+#undef PF_ECMA
+#undef PF_DATAKIT
+#undef PF_CCITT
+#undef PF_SNA
+#undef PF_DECnet
+#undef PF_DLI
+#undef PF_LAT
+#undef PF_HYLINK
+#undef PF_APPLETALK
+#undef PF_VOICEVIEW
+#undef PF_FIREFOX
+#undef PF_UNKNOWN1
+#undef PF_BAN
+
+#undef PF_MAX
+
+#undef SOL_SOCKET
+
+#undef SOMAXCONN
+
+#undef MSG_OOB
+#undef MSG_PEEK
+#undef MSG_DONTROUTE
+
+#undef MSG_MAXIOVLEN
+
+#undef MSG_PARTIAL
+
+#undef MAXGETHOSTSTRUCT
+
+#undef FD_READ
+#undef FD_WRITE
+#undef FD_OOB
+#undef FD_ACCEPT
+#undef FD_CONNECT
+#undef FD_CLOSE
+
+#undef TF_DISCONNECT
+#undef TF_REUSE_SOCKET
+#undef TF_WRITE_BEHIND
+
+#undef WSAMAKEASYNCREPLY
+#undef WSAMAKESELECTREPLY
+#undef WSAGETASYNCBUFLEN
+#undef WSAGETASYNCERROR
+#undef WSAGETSELECTEVENT
+#undef WSAGETSELECTERROR
+
diff --git a/win32/include/winapi/psdk_inc/_wsa_errnos.h b/win32/include/winapi/psdk_inc/_wsa_errnos.h
new file mode 100644
index 0000000..26f2478
--- /dev/null
+++ b/win32/include/winapi/psdk_inc/_wsa_errnos.h
@@ -0,0 +1,225 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+
+#ifndef WSABASEERR
+
+#define WSABASEERR 10000
+
+#define WSAEINTR (WSABASEERR + 4 )
+#define WSAEBADF (WSABASEERR + 9 )
+#define WSAEACCES (WSABASEERR + 13 )
+#define WSAEFAULT (WSABASEERR + 14 )
+#define WSAEINVAL (WSABASEERR + 22 )
+#define WSAEMFILE (WSABASEERR + 24 )
+
+#define WSAEWOULDBLOCK (WSABASEERR + 35 )
+#define WSAEINPROGRESS (WSABASEERR + 36 )
+#define WSAEALREADY (WSABASEERR + 37 )
+#define WSAENOTSOCK (WSABASEERR + 38 )
+#define WSAEDESTADDRREQ (WSABASEERR + 39 )
+#define WSAEMSGSIZE (WSABASEERR + 40 )
+#define WSAEPROTOTYPE (WSABASEERR + 41 )
+#define WSAENOPROTOOPT (WSABASEERR + 42 )
+#define WSAEPROTONOSUPPORT (WSABASEERR + 43 )
+#define WSAESOCKTNOSUPPORT (WSABASEERR + 44 )
+#define WSAEOPNOTSUPP (WSABASEERR + 45 )
+#define WSAEPFNOSUPPORT (WSABASEERR + 46 )
+#define WSAEAFNOSUPPORT (WSABASEERR + 47 )
+#define WSAEADDRINUSE (WSABASEERR + 48 )
+#define WSAEADDRNOTAVAIL (WSABASEERR + 49 )
+#define WSAENETDOWN (WSABASEERR + 50 )
+#define WSAENETUNREACH (WSABASEERR + 51 )
+#define WSAENETRESET (WSABASEERR + 52 )
+#define WSAECONNABORTED (WSABASEERR + 53 )
+#define WSAECONNRESET (WSABASEERR + 54 )
+#define WSAENOBUFS (WSABASEERR + 55 )
+#define WSAEISCONN (WSABASEERR + 56 )
+#define WSAENOTCONN (WSABASEERR + 57 )
+#define WSAESHUTDOWN (WSABASEERR + 58 )
+#define WSAETOOMANYREFS (WSABASEERR + 59 )
+#define WSAETIMEDOUT (WSABASEERR + 60 )
+#define WSAECONNREFUSED (WSABASEERR + 61 )
+#define WSAELOOP (WSABASEERR + 62 )
+#define WSAENAMETOOLONG (WSABASEERR + 63 )
+#define WSAEHOSTDOWN (WSABASEERR + 64 )
+#define WSAEHOSTUNREACH (WSABASEERR + 65 )
+#define WSAENOTEMPTY (WSABASEERR + 66 )
+#define WSAEPROCLIM (WSABASEERR + 67 )
+#define WSAEUSERS (WSABASEERR + 68 )
+#define WSAEDQUOT (WSABASEERR + 69 )
+#define WSAESTALE (WSABASEERR + 70 )
+#define WSAEREMOTE (WSABASEERR + 71 )
+
+#define WSASYSNOTREADY (WSABASEERR + 91 )
+#define WSAVERNOTSUPPORTED (WSABASEERR + 92 )
+#define WSANOTINITIALISED (WSABASEERR + 93 )
+
+#define WSAEDISCON (WSABASEERR + 101 )
+
+#ifndef WSAHOST_NOT_FOUND
+#define WSAHOST_NOT_FOUND (WSABASEERR + 1001)
+#endif
+#ifndef WSATRY_AGAIN
+#define WSATRY_AGAIN (WSABASEERR + 1002)
+#endif
+#ifndef WSANO_RECOVERY
+#define WSANO_RECOVERY (WSABASEERR + 1003)
+#endif
+#ifndef WSANO_DATA
+#define WSANO_DATA (WSABASEERR + 1004)
+#endif
+
+#endif /* WSABASEERR */
+
+#ifdef _WINSOCK2API_
+
+#ifndef WSAENOMORE
+#define WSAENOMORE (WSABASEERR + 102)
+#endif
+#ifndef WSAECANCELLED
+#define WSAECANCELLED (WSABASEERR + 103)
+#endif
+#ifndef WSAEINVALIDPROCTABLE
+#define WSAEINVALIDPROCTABLE (WSABASEERR + 104)
+#endif
+#ifndef WSAEINVALIDPROVIDER
+#define WSAEINVALIDPROVIDER (WSABASEERR + 105)
+#endif
+#ifndef WSAEPROVIDERFAILEDINIT
+#define WSAEPROVIDERFAILEDINIT (WSABASEERR + 106)
+#endif
+#ifndef WSASYSCALLFAILURE
+#define WSASYSCALLFAILURE (WSABASEERR + 107)
+#endif
+#ifndef WSASERVICE_NOT_FOUND
+#define WSASERVICE_NOT_FOUND (WSABASEERR + 108)
+#endif
+#ifndef WSATYPE_NOT_FOUND
+#define WSATYPE_NOT_FOUND (WSABASEERR + 109)
+#endif
+#ifndef WSA_E_NO_MORE
+#define WSA_E_NO_MORE (WSABASEERR + 110)
+#endif
+#ifndef WSA_E_CANCELLED
+#define WSA_E_CANCELLED (WSABASEERR + 111)
+#endif
+#ifndef WSAEREFUSED
+#define WSAEREFUSED (WSABASEERR + 112)
+#endif
+#ifndef WSA_QOS_RECEIVERS
+#define WSA_QOS_RECEIVERS (WSABASEERR + 1005)
+#endif
+#ifndef WSA_QOS_SENDERS
+#define WSA_QOS_SENDERS (WSABASEERR + 1006)
+#endif
+#ifndef WSA_QOS_NO_SENDERS
+#define WSA_QOS_NO_SENDERS (WSABASEERR + 1007)
+#define WSA_QOS_NO_RECEIVERS (WSABASEERR + 1008)
+#define WSA_QOS_REQUEST_CONFIRMED (WSABASEERR + 1009)
+#define WSA_QOS_ADMISSION_FAILURE (WSABASEERR + 1010)
+#define WSA_QOS_POLICY_FAILURE (WSABASEERR + 1011)
+#define WSA_QOS_BAD_STYLE (WSABASEERR + 1012)
+#define WSA_QOS_BAD_OBJECT (WSABASEERR + 1013)
+#define WSA_QOS_TRAFFIC_CTRL_ERROR (WSABASEERR + 1014)
+#define WSA_QOS_GENERIC_ERROR (WSABASEERR + 1015)
+#define WSA_QOS_ESERVICETYPE (WSABASEERR + 1016)
+#define WSA_QOS_EFLOWSPEC (WSABASEERR + 1017)
+#define WSA_QOS_EPROVSPECBUF (WSABASEERR + 1018)
+#endif
+#ifndef WSA_QOS_EFILTERSTYLE
+#define WSA_QOS_EFILTERSTYLE (WSABASEERR + 1019)
+#endif
+#ifndef WSA_QOS_EFILTERTYPE
+#define WSA_QOS_EFILTERTYPE (WSABASEERR + 1020)
+#endif
+#ifndef WSA_QOS_EFILTERCOUNT
+#define WSA_QOS_EFILTERCOUNT (WSABASEERR + 1021)
+#endif
+#ifndef WSA_QOS_EOBJLENGTH
+#define WSA_QOS_EOBJLENGTH (WSABASEERR + 1022)
+#endif
+#ifndef WSA_QOS_EFLOWCOUNT
+#define WSA_QOS_EFLOWCOUNT (WSABASEERR + 1023)
+#endif
+#ifndef WSA_QOS_EUNKNOWNPSOBJ
+#define WSA_QOS_EUNKNOWNPSOBJ (WSABASEERR + 1024)
+#endif
+#ifndef WSA_QOS_EPOLICYOBJ
+#define WSA_QOS_EPOLICYOBJ (WSABASEERR + 1025)
+#endif
+#ifndef WSA_QOS_EFLOWDESC
+#define WSA_QOS_EFLOWDESC (WSABASEERR + 1026)
+#endif
+#ifndef WSA_QOS_EPSFLOWSPEC
+#define WSA_QOS_EPSFLOWSPEC (WSABASEERR + 1027)
+#endif
+#ifndef WSA_QOS_EPSFILTERSPEC
+#define WSA_QOS_EPSFILTERSPEC (WSABASEERR + 1028)
+#endif
+#ifndef WSA_QOS_ESDMODEOBJ
+#define WSA_QOS_ESDMODEOBJ (WSABASEERR + 1029)
+#endif
+#ifndef WSA_QOS_ESHAPERATEOBJ
+#define WSA_QOS_ESHAPERATEOBJ (WSABASEERR + 1030)
+#endif
+#ifndef WSA_QOS_RESERVED_PETYPE
+#define WSA_QOS_RESERVED_PETYPE (WSABASEERR + 1031)
+#endif
+
+#endif /* _WINSOCK2API_ */
+
+#ifndef __WSA_ERR_MACROS_DEFINED
+#define __WSA_ERR_MACROS_DEFINED
+#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 WSANO_ADDRESS WSANO_DATA
+#define NO_ADDRESS WSANO_ADDRESS
+#endif /* __WSA_ERR_MACROS_DEFINED */
+
+#if 0
+#define EWOULDBLOCK WSAEWOULDBLOCK
+#define EINPROGRESS WSAEINPROGRESS
+#define EALREADY WSAEALREADY
+#define ENOTSOCK WSAENOTSOCK
+#define EDESTADDRREQ WSAEDESTADDRREQ
+#define EMSGSIZE WSAEMSGSIZE
+#define EPROTOTYPE WSAEPROTOTYPE
+#define ENOPROTOOPT WSAENOPROTOOPT
+#define EPROTONOSUPPORT WSAEPROTONOSUPPORT
+#define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
+#define EOPNOTSUPP WSAEOPNOTSUPP
+#define EPFNOSUPPORT WSAEPFNOSUPPORT
+#define EAFNOSUPPORT WSAEAFNOSUPPORT
+#define EADDRINUSE WSAEADDRINUSE
+#define EADDRNOTAVAIL WSAEADDRNOTAVAIL
+#define ENETDOWN WSAENETDOWN
+#define ENETUNREACH WSAENETUNREACH
+#define ENETRESET WSAENETRESET
+#define ECONNABORTED WSAECONNABORTED
+#define ECONNRESET WSAECONNRESET
+#define ENOBUFS WSAENOBUFS
+#define EISCONN WSAEISCONN
+#define ENOTCONN WSAENOTCONN
+#define ESHUTDOWN WSAESHUTDOWN
+#define ETOOMANYREFS WSAETOOMANYREFS
+#define ETIMEDOUT WSAETIMEDOUT
+#define ECONNREFUSED WSAECONNREFUSED
+#define ELOOP WSAELOOP
+#define ENAMETOOLONG WSAENAMETOOLONG
+#define EHOSTDOWN WSAEHOSTDOWN
+#define EHOSTUNREACH WSAEHOSTUNREACH
+#define ENOTEMPTY WSAENOTEMPTY
+#define EPROCLIM WSAEPROCLIM
+#define EUSERS WSAEUSERS
+#define EDQUOT WSAEDQUOT
+#define ESTALE WSAESTALE
+#define EREMOTE WSAEREMOTE
+#endif /* #if 0 */
+
diff --git a/win32/include/winapi/psdk_inc/_wsadata.h b/win32/include/winapi/psdk_inc/_wsadata.h
new file mode 100644
index 0000000..490698a
--- /dev/null
+++ b/win32/include/winapi/psdk_inc/_wsadata.h
@@ -0,0 +1,32 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+
+#ifndef __MINGW_WSADATA_H
+#define __MINGW_WSADATA_H
+
+#define WSADESCRIPTION_LEN 256
+#define WSASYS_STATUS_LEN 128
+
+typedef struct WSAData {
+ WORD wVersion;
+ WORD wHighVersion;
+#ifdef _WIN64
+ unsigned short iMaxSockets;
+ unsigned short iMaxUdpDg;
+ char *lpVendorInfo;
+ char szDescription[WSADESCRIPTION_LEN+1];
+ char szSystemStatus[WSASYS_STATUS_LEN+1];
+#else
+ char szDescription[WSADESCRIPTION_LEN+1];
+ char szSystemStatus[WSASYS_STATUS_LEN+1];
+ unsigned short iMaxSockets;
+ unsigned short iMaxUdpDg;
+ char *lpVendorInfo;
+#endif
+} WSADATA, *LPWSADATA;
+
+#endif /* __MINGW_WSADATA_H */
+