winsock: Add a WS_ prefix to the BSD types.
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index 73ba3c4..05815fa 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -1996,7 +1996,7 @@
* htonl (WINSOCK.8)
* htonl (WS2_32.8)
*/
-u_long WINAPI WS_htonl(u_long hostlong)
+WS_u_long WINAPI WS_htonl(WS_u_long hostlong)
{
return htonl(hostlong);
}
@@ -2006,7 +2006,7 @@
* htons (WINSOCK.9)
* htons (WS2_32.9)
*/
-u_short WINAPI WS_htons(u_short hostshort)
+WS_u_short WINAPI WS_htons(WS_u_short hostshort)
{
return htons(hostshort);
}
@@ -2018,7 +2018,7 @@
* socket. But why? This function only translates a host byte order
* u_long into a network byte order u_long...
*/
-int WINAPI WSAHtonl(SOCKET s, u_long hostlong, u_long *lpnetlong)
+int WINAPI WSAHtonl(SOCKET s, WS_u_long hostlong, WS_u_long *lpnetlong)
{
if (lpnetlong)
{
@@ -2036,7 +2036,7 @@
* socket. But why? This function only translates a host byte order
* u_short into a network byte order u_short...
*/
-int WINAPI WSAHtons(SOCKET s, u_short hostshort, u_short *lpnetshort)
+int WINAPI WSAHtons(SOCKET s, WS_u_short hostshort, WS_u_short *lpnetshort)
{
if (lpnetshort)
@@ -2053,7 +2053,7 @@
* inet_addr (WINSOCK.10)
* inet_addr (WS2_32.11)
*/
-u_long WINAPI WS_inet_addr(const char *cp)
+WS_u_long WINAPI WS_inet_addr(const char *cp)
{
return inet_addr(cp);
}
@@ -2063,7 +2063,7 @@
* ntohl (WINSOCK.14)
* ntohl (WS2_32.14)
*/
-u_long WINAPI WS_ntohl(u_long netlong)
+WS_u_long WINAPI WS_ntohl(WS_u_long netlong)
{
return ntohl(netlong);
}
@@ -2073,7 +2073,7 @@
* ntohs (WINSOCK.15)
* ntohs (WS2_32.15)
*/
-u_short WINAPI WS_ntohs(u_short netshort)
+WS_u_short WINAPI WS_ntohs(WS_u_short netshort)
{
return ntohs(netshort);
}
@@ -2121,14 +2121,14 @@
switch( dwIoControlCode )
{
case WS_FIONBIO:
- if (cbInBuffer != sizeof(u_long)) {
+ if (cbInBuffer != sizeof(WS_u_long)) {
WSASetLastError(WSAEFAULT);
return SOCKET_ERROR;
}
return WS_ioctlsocket( s, WS_FIONBIO, lpvInBuffer);
case WS_FIONREAD:
- if (cbOutBuffer != sizeof(u_long)) {
+ if (cbOutBuffer != sizeof(WS_u_long)) {
WSASetLastError(WSAEFAULT);
return SOCKET_ERROR;
}
@@ -2286,7 +2286,7 @@
/***********************************************************************
* ioctlsocket (WS2_32.10)
*/
-int WINAPI WS_ioctlsocket(SOCKET s, long cmd, u_long *argp)
+int WINAPI WS_ioctlsocket(SOCKET s, long cmd, WS_u_long *argp)
{
int fd;
long newcmd = cmd;
@@ -3628,7 +3628,7 @@
{
int i = set->fd_count;
- TRACE("(%d,%8lx(%i))\n", s,(unsigned long)set, i);
+ TRACE("(%d,%p(%i))\n", s, set, i);
while (i--)
if (set->fd_array[i] == s) return 1;
@@ -4254,7 +4254,7 @@
ptrPort = strchr(workBuffer,':');
if (ptrPort)
{
- ((LPSOCKADDR_IN)lpAddress)->sin_port = (u_short)atoi(ptrPort+1);
+ ((LPSOCKADDR_IN)lpAddress)->sin_port = (WS_u_short)atoi(ptrPort+1);
*ptrPort = '\0';
}
else
@@ -4586,7 +4586,7 @@
/***********************************************************************
* WSANtohl (WS2_32.64)
*/
-INT WINAPI WSANtohl( SOCKET s, u_long netlong, u_long* lphostlong )
+INT WINAPI WSANtohl( SOCKET s, WS_u_long netlong, WS_u_long* lphostlong )
{
TRACE( "(0x%04x 0x%08lx %p)\n", s, netlong, lphostlong );
@@ -4599,7 +4599,7 @@
/***********************************************************************
* WSANtohs (WS2_32.65)
*/
-INT WINAPI WSANtohs( SOCKET s, u_short netshort, u_short* lphostshort )
+INT WINAPI WSANtohs( SOCKET s, WS_u_short netshort, WS_u_short* lphostshort )
{
TRACE( "(0x%04x 0x%08x %p)\n", s, netshort, lphostshort );
diff --git a/include/winsock.h b/include/winsock.h
index e95ab2f..99ca397 100644
--- a/include/winsock.h
+++ b/include/winsock.h
@@ -111,7 +111,12 @@
#ifndef _WINSOCKAPI_
#define _WINSOCKAPI_
-#if (defined(_MSC_VER) || defined(__MINGW_H) || defined(__WATCOMC__)) && !defined(_BSDTYPES_DEFINED)
+#ifdef USE_WS_PREFIX
+typedef unsigned char WS_u_char;
+typedef unsigned short WS_u_short;
+typedef unsigned int WS_u_int;
+typedef unsigned long WS_u_long;
+#elif (defined(_MSC_VER) || defined(__MINGW_H) || defined(__WATCOMC__)) && !defined(_BSDTYPES_DEFINED)
/* MinGW doesn't define the u_xxx types */
typedef unsigned char u_char;
typedef unsigned short u_short;
@@ -286,7 +291,7 @@
char* n_name; /* official name of net */
char** n_aliases; /* alias list */
short n_addrtype; /* net address type */
- u_long n_net; /* network # */
+ WS(u_long) n_net; /* network # */
};
@@ -387,14 +392,14 @@
typedef struct WS(sockaddr)
{
- u_short sa_family;
- char sa_data[14];
+ WS(u_short) sa_family;
+ char sa_data[14];
} SOCKADDR, *PSOCKADDR, *LPSOCKADDR;
typedef struct WS(linger)
{
- u_short l_onoff; /* option on/off */
- u_short l_linger; /* linger time */
+ WS(u_short) l_onoff; /* option on/off */
+ WS(u_short) l_linger; /* linger time */
} LINGER, *PLINGER, *LPLINGER;
/*
@@ -416,7 +421,7 @@
typedef struct WS(fd_set)
{
- u_int fd_count; /* how many are SET? */
+ WS(u_int) fd_count; /* how many are SET? */
# ifndef USE_WS_PREFIX
SOCKET fd_array[FD_SETSIZE]; /* an array of SOCKETs */
# else
@@ -434,7 +439,7 @@
#endif
#define __WS_FD_CLR(fd, set, cast) do { \
- u_int __i; \
+ unsigned int __i; \
for (__i = 0; __i < ((cast*)(set))->fd_count ; __i++) \
{ \
if (((cast*)(set))->fd_array[__i] == fd) \
@@ -458,7 +463,7 @@
* only if it's not the case
*/
#define __WS_FD_SET2(fd, set, cast) do { \
- u_int __i; \
+ unsigned int __i; \
for (__i = 0; __i < ((cast*)(set))->fd_count ; __i++) \
{ \
if (((cast*)(set))->fd_array[__i]==(fd)) \
@@ -503,20 +508,20 @@
#ifdef WORDS_BIGENDIAN
-#define htonl(l) ((u_long)(l))
-#define htons(s) ((u_short)(s))
-#define ntohl(l) ((u_long)(l))
-#define ntohs(s) ((u_short)(s))
+#define htonl(l) ((WS(u_long))(l))
+#define htons(s) ((WS(u_short))(s))
+#define ntohl(l) ((WS(u_long))(l))
+#define ntohs(s) ((WS(u_short))(s))
#else /* WORDS_BIGENDIAN */
-inline static u_short __wine_ushort_swap(u_short s)
+inline static WS(u_short) __wine_ushort_swap(WS(u_short) s)
{
return (s >> 8) | (s << 8);
}
-inline static u_long __wine_ulong_swap(u_long l)
+inline static WS(u_long) __wine_ulong_swap(WS(u_long) l)
{
- return ((u_long)__wine_ushort_swap((u_short)l) << 16) | __wine_ushort_swap((u_short)(l >> 16));
+ return ((WS(u_long))__wine_ushort_swap((WS(u_short))l) << 16) | __wine_ushort_swap((WS(u_short))(l >> 16));
}
#define htonl(l) __wine_ulong_swap(l)
#define htons(s) __wine_ushort_swap(s)
@@ -564,14 +569,14 @@
#endif /* USE_WS_PREFIX */
#ifndef USE_WS_PREFIX
-#define INADDR_ANY (u_long)0x00000000
+#define INADDR_ANY ((u_long)0x00000000)
#define INADDR_LOOPBACK 0x7f000001
-#define INADDR_BROADCAST (u_long)0xffffffff
+#define INADDR_BROADCAST ((u_long)0xffffffff)
#define INADDR_NONE 0xffffffff
#else
-#define WS_INADDR_ANY (u_long)0x00000000
+#define WS_INADDR_ANY ((WS_u_long)0x00000000)
#define WS_INADDR_LOOPBACK 0x7f000001
-#define WS_INADDR_BROADCAST (u_long)0xffffffff
+#define WS_INADDR_BROADCAST ((WS_u_long)0xffffffff)
#define WS_INADDR_NONE 0xffffffff
#endif /* USE_WS_PREFIX */
@@ -579,12 +584,12 @@
{
union {
struct {
- u_char s_b1,s_b2,s_b3,s_b4;
+ WS(u_char) s_b1,s_b2,s_b3,s_b4;
} S_un_b;
struct {
- u_short s_w1,s_w2;
+ WS(u_short) s_w1,s_w2;
} S_un_w;
- u_long S_addr;
+ WS(u_long) S_addr;
} S_un;
#ifndef USE_WS_PREFIX
#define s_addr S_un.S_addr
@@ -606,7 +611,7 @@
typedef struct WS(sockaddr_in)
{
short sin_family;
- u_short sin_port;
+ WS(u_short) sin_port;
struct WS(in_addr) sin_addr;
char sin_zero[8];
} SOCKADDR_IN, *PSOCKADDR_IN, *LPSOCKADDR_IN;
@@ -656,7 +661,7 @@
#define SO_USELOOPBACK 0x0040
#define SO_LINGER 0x0080
#define SO_OOBINLINE 0x0100
-#define SO_DONTLINGER (u_int)(~SO_LINGER)
+#define SO_DONTLINGER ((u_int)(~SO_LINGER))
#define SO_SNDBUF 0x1001
#define SO_RCVBUF 0x1002
#define SO_SNDLOWAT 0x1003
@@ -689,7 +694,7 @@
#define WS_SO_USELOOPBACK 0x0040
#define WS_SO_LINGER 0x0080
#define WS_SO_OOBINLINE 0x0100
-#define WS_SO_DONTLINGER (u_int)(~WS_SO_LINGER)
+#define WS_SO_DONTLINGER ((WS_u_int)(~WS_SO_LINGER))
#define WS_SO_SNDBUF 0x1001
#define WS_SO_RCVBUF 0x1002
#define WS_SO_SNDLOWAT 0x1003
@@ -757,14 +762,14 @@
#define SIOCGLOWAT _IOR('s', 3, u_long)
#define SIOCATMARK _IOR('s', 7, u_long)
#else
-#define WS_FIONREAD WS__IOR('f', 127, u_long)
-#define WS_FIONBIO WS__IOW('f', 126, u_long)
-#define WS_FIOASYNC WS__IOW('f', 125, u_long)
-#define WS_SIOCSHIWAT WS__IOW('s', 0, u_long)
-#define WS_SIOCGHIWAT WS__IOR('s', 1, u_long)
-#define WS_SIOCSLOWAT WS__IOW('s', 2, u_long)
-#define WS_SIOCGLOWAT WS__IOR('s', 3, u_long)
-#define WS_SIOCATMARK WS__IOR('s', 7, u_long)
+#define WS_FIONREAD WS__IOR('f', 127, WS_u_long)
+#define WS_FIONBIO WS__IOW('f', 126, WS_u_long)
+#define WS_FIOASYNC WS__IOW('f', 125, WS_u_long)
+#define WS_SIOCSHIWAT WS__IOW('s', 0, WS_u_long)
+#define WS_SIOCGHIWAT WS__IOR('s', 1, WS_u_long)
+#define WS_SIOCSLOWAT WS__IOW('s', 2, WS_u_long)
+#define WS_SIOCGLOWAT WS__IOR('s', 3, WS_u_long)
+#define WS_SIOCATMARK WS__IOR('s', 7, WS_u_long)
#endif
/*
@@ -984,13 +989,13 @@
* "Winsock Function Typedefs" section in winsock2.h.
*/
#if !defined(__WINE_WINSOCK2__) || WS_API_PROTOTYPES
-HANDLE WINAPI WSAAsyncGetHostByAddr(HWND,u_int,const char*,int,int,char*,int);
-HANDLE WINAPI WSAAsyncGetHostByName(HWND,u_int,const char*,char*,int);
-HANDLE WINAPI WSAAsyncGetProtoByName(HWND,u_int,const char*,char*,int);
-HANDLE WINAPI WSAAsyncGetProtoByNumber(HWND,u_int,int,char*,int);
-HANDLE WINAPI WSAAsyncGetServByName(HWND,u_int,const char*,const char*,char*,int);
-HANDLE WINAPI WSAAsyncGetServByPort(HWND,u_int,int,const char*,char*,int);
-int WINAPI WSAAsyncSelect(SOCKET,HWND,u_int,long);
+HANDLE WINAPI WSAAsyncGetHostByAddr(HWND,WS(u_int),const char*,int,int,char*,int);
+HANDLE WINAPI WSAAsyncGetHostByName(HWND,WS(u_int),const char*,char*,int);
+HANDLE WINAPI WSAAsyncGetProtoByName(HWND,WS(u_int),const char*,char*,int);
+HANDLE WINAPI WSAAsyncGetProtoByNumber(HWND,WS(u_int),int,char*,int);
+HANDLE WINAPI WSAAsyncGetServByName(HWND,WS(u_int),const char*,const char*,char*,int);
+HANDLE WINAPI WSAAsyncGetServByPort(HWND,WS(u_int),int,const char*,char*,int);
+int WINAPI WSAAsyncSelect(SOCKET,HWND,WS(u_int),long);
int WINAPI WSACancelAsyncRequest(HANDLE);
int WINAPI WSACancelBlockingCall(void);
int WINAPI WSACleanup(void);
@@ -1018,9 +1023,9 @@
struct WS(servent)* WINAPI WS(getservbyport)(int,const char*);
int WINAPI WS(getsockname)(SOCKET,struct WS(sockaddr)*,int*);
int WINAPI WS(getsockopt)(SOCKET,int,int,char*,int*);
-unsigned long WINAPI WS(inet_addr)(const char*);
+WS(u_long) WINAPI WS(inet_addr)(const char*);
char* WINAPI WS(inet_ntoa)(struct WS(in_addr));
-int WINAPI WS(ioctlsocket)(SOCKET,long,u_long*);
+int WINAPI WS(ioctlsocket)(SOCKET,long,WS(u_long)*);
int WINAPI WS(listen)(SOCKET,int);
int WINAPI WS(recv)(SOCKET,char*,int,int);
int WINAPI WS(recvfrom)(SOCKET,char*,int,int,struct WS(sockaddr)*,int*);
diff --git a/include/winsock2.h b/include/winsock2.h
index 22329e8..f89390c 100644
--- a/include/winsock2.h
+++ b/include/winsock2.h
@@ -141,7 +141,7 @@
#ifndef USE_WS_PREFIX
#define SIO_GET_INTERFACE_LIST _IOR ('t', 127, u_long)
#else
-#define SIO_GET_INTERFACE_LIST WS__IOR ('t', 127, u_long)
+#define SIO_GET_INTERFACE_LIST WS__IOR ('t', 127, WS_u_long)
#endif
/* Constants for WSAIoctl() */
@@ -496,13 +496,13 @@
* "Prototypes" section in winsock.h.
*/
#if WS_API_TYPEDEFS
-typedef HANDLE (WINAPI *LPFN_WSAASYNCGETHOSTBYADDR)(HWND,u_int,const char*,int,int,char*,int);
-typedef HANDLE (WINAPI *LPFN_WSAASYNCGETHOSTBYNAME)(HWND,u_int,const char*,char*,int);
-typedef HANDLE (WINAPI *LPFN_WSAASYNCGETPROTOBYNAME)(HWND,u_int,const char*,char*,int);
-typedef HANDLE (WINAPI *LPFN_WSAASYNCGETPROTOBYNUMBER)(HWND,u_int,int,char*,int);
-typedef HANDLE (WINAPI *LPFN_WSAASYNCGETSERVBYNAME)(HWND,u_int,const char*,const char*,char*,int);
-typedef HANDLE (WINAPI *LPFN_WSAASYNCGETSERVBYPORT)(HWND,u_int,int,const char*,char*,int);
-typedef int (WINAPI *LPFN_WSAASYNCSELECT)(SOCKET,HWND,u_int,long);
+typedef HANDLE (WINAPI *LPFN_WSAASYNCGETHOSTBYADDR)(HWND,WS(u_int),const char*,int,int,char*,int);
+typedef HANDLE (WINAPI *LPFN_WSAASYNCGETHOSTBYNAME)(HWND,WS(u_int),const char*,char*,int);
+typedef HANDLE (WINAPI *LPFN_WSAASYNCGETPROTOBYNAME)(HWND,WS(u_int),const char*,char*,int);
+typedef HANDLE (WINAPI *LPFN_WSAASYNCGETPROTOBYNUMBER)(HWND,WS(u_int),int,char*,int);
+typedef HANDLE (WINAPI *LPFN_WSAASYNCGETSERVBYNAME)(HWND,WS(u_int),const char*,const char*,char*,int);
+typedef HANDLE (WINAPI *LPFN_WSAASYNCGETSERVBYPORT)(HWND,WS(u_int),int,const char*,char*,int);
+typedef int (WINAPI *LPFN_WSAASYNCSELECT)(SOCKET,HWND,WS(u_int),long);
typedef int (WINAPI *LPFN_WSACANCELASYNCREQUEST)(HANDLE);
typedef int (WINAPI *LPFN_WSACANCELBLOCKINGCALL)(void);
typedef int (WINAPI *LPFN_WSACLEANUP)(void);
@@ -530,14 +530,14 @@
typedef struct WS(servent)* (WINAPI *LPFN_GETSERVBYPORT)(int,const char*);
typedef int (WINAPI *LPFN_GETSOCKNAME)(SOCKET,struct WS(sockaddr)*,int*);
typedef int (WINAPI *LPFN_GETSOCKOPT)(SOCKET,int,int,char*,int*);
-typedef u_long (WINAPI *LPFN_HTONL)(u_long);
-typedef u_short (WINAPI *LPFN_HTONS)(u_short);
+typedef WS(u_long) (WINAPI *LPFN_HTONL)(WS(u_long));
+typedef WS(u_short) (WINAPI *LPFN_HTONS)(WS(u_short));
typedef unsigned long (WINAPI *LPFN_INET_ADDR)(const char*);
typedef char* (WINAPI *LPFN_INET_NTOA)(struct WS(in_addr);
-typedef int (WINAPI *LPFN_IOCTLSOCKET)(SOCKET,long,u_long*);
+typedef int (WINAPI *LPFN_IOCTLSOCKET)(SOCKET,long,WS(u_long)*);
typedef int (WINAPI *LPFN_LISTEN)(SOCKET,int);
-typedef u_long (WINAPI *LPFN_NTOHL)(u_long);
-typedef u_short (WINAPI *LPFN_NTOHS)(u_short);
+typedef WS(u_long) (WINAPI *LPFN_NTOHL)(WS(u_long));
+typedef WS(u_short) (WINAPI *LPFN_NTOHS)(WS(u_short));
typedef int (WINAPI *LPFN_RECV)(SOCKET,char*,int,int);
typedef int (WINAPI *LPFN_RECVFROM)(SOCKET,char*,int,int,struct WS(sockaddr)*,int*);
typedef int (WINAPI *LPFN_SEND)(SOCKET,const char*,int,int);
@@ -582,8 +582,8 @@
INT WINAPI WSAGetServiceClassNameByClassIdA(LPGUID,LPSTR,LPDWORD);
INT WINAPI WSAGetServiceClassNameByClassIdW(LPGUID,LPWSTR,LPDWORD);
#define WSAGetServiceClassNameByClassId WINELIB_NAME_AW(WSAGetServiceClassNameByClassId)
-int WINAPI WSAHtonl(SOCKET,u_long,u_long*);
-int WINAPI WSAHtons(SOCKET,u_short,u_short*);
+int WINAPI WSAHtonl(SOCKET,WS(u_long),WS(u_long)*);
+int WINAPI WSAHtons(SOCKET,WS(u_short),WS(u_short)*);
int WINAPI WSAInstallServiceClassA(LPWSASERVICECLASSINFOA);
int WINAPI WSAInstallServiceClassW(LPWSASERVICECLASSINFOW);
#define WSAInstallServiceClass WINELIB_NAME_AW(WSAInstallServiceClass)
@@ -596,8 +596,8 @@
INT WINAPI WSALookupServiceNextA(HANDLE,DWORD,LPDWORD,LPWSAQUERYSETA);
INT WINAPI WSALookupServiceNextW(HANDLE,DWORD,LPDWORD,LPWSAQUERYSETW);
#define WSALookupServiceNext WINELIB_NAME_AW(WSALookupServiceNext)
-int WINAPI WSANtohl(SOCKET,u_long,u_long*);
-int WINAPI WSANtohs(SOCKET,u_short,u_short*);
+int WINAPI WSANtohl(SOCKET,WS(u_long),WS(u_long)*);
+int WINAPI WSANtohs(SOCKET,WS(u_short),WS(u_short)*);
INT WINAPI WSAProviderConfigChange(LPHANDLE,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
int WINAPI WSARecv(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
int WINAPI WSARecvDisconnect(SOCKET,LPWSABUF);
@@ -655,8 +655,8 @@
typedef INT (WINAPI *LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA)(LPGUID,LPSTR,LPDWORD);
typedef INT (WINAPI *LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW)(LPGUID,LPWSTR,LPDWORD);
#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID WINELIB_NAME_AW(LPFN_WSAGETSERVICECLASSNAMEBYCLASSID)
-typedef int (WINAPI *LPFN_WSAHTONL)(SOCKET,u_long,u_long*);
-typedef int (WINAPI *LPFN_WSAHTONS)(SOCKET,u_short,u_short*);
+typedef int (WINAPI *LPFN_WSAHTONL)(SOCKET,WS(u_long),WS(u_long)*);
+typedef int (WINAPI *LPFN_WSAHTONS)(SOCKET,WS(u_short),WS(u_short)*);
typedef int (WINAPI LPFN_WSAINSTALLSERVICECLASSA)(LPWSASERVICECLASSINFOA);
typedef int (WINAPI LPFN_WSAINSTALLSERVICECLASSW)(LPWSASERVICECLASSINFOW);
typedef int (WINAPI *LPFN_WSAIOCTL)(SOCKET,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
@@ -668,8 +668,8 @@
typedef INT (WINAPI *LPFN_WSALOOKUPSERVICENEXTA)(HANDLE,DWORD,LPDWORD,LPWSAQUERYSETA);
typedef INT (WINAPI *LPFN_WSALOOKUPSERVICENEXTW)(HANDLE,DWORD,LPDWORD,LPWSAQUERYSETW);
#define LPFN_WSALOOKUPSERVICENEXT WINELIB_NAME_AW(LPFN_WSALOOKUPSERVICENEXT)
-typedef int (WINAPI *LPFN_WSANTOHL)(SOCKET,u_long,u_long*);
-typedef int (WINAPI *LPFN_WSANTOHS)(SOCKET,u_short,u_short*);
+typedef int (WINAPI *LPFN_WSANTOHL)(SOCKET,WS(u_long),WS(u_long)*);
+typedef int (WINAPI *LPFN_WSANTOHS)(SOCKET,WS(u_short),WS(u_short)*);
typedef INT (WINAPI *LPFN_WSAPROVIDERCONFIGCHANGE)(LPHANDLE,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
typedef int (WINAPI *LPFN_WSARECV)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
typedef int (WINAPI *LPFN_WSARECVDISCONNECT)(SOCKET,LPWSABUF);