;--- include file created by h2incx v0.99.11, copyright 2005 japheth
;--- source file: c:\programme\devstudio\vc6\include\WINSOCK2.H, last modified: 4/24/1998 0:0

ifndef _WINSOCK2API_
_WINSOCK2API_	EQU	<>
_WINSOCKAPI_	EQU	<>
	include pshpack4.inc
ifndef INCL_WINSOCK_API_PROTOTYPES
INCL_WINSOCK_API_PROTOTYPES	EQU	1
endif 
ifndef INCL_WINSOCK_API_TYPEDEFS
INCL_WINSOCK_API_TYPEDEFS	EQU	0
endif 
ifndef _INC_WINDOWS
	include windows.inc
endif 
if  0 eq defined(MAKEWORD)
MAKEWORD macro low,high
	exitm <( ( ( low ) )  or  ( ( ( high ) )  shl  8 ) ) ) >
	endm
endif 
ifndef WINSOCK_VERSION
WINSOCK_VERSION	EQU	<MAKEWORD ( 2 , 2 )>
endif 
ifndef WINSOCK_API_LINKAGE
ifdef DECLSPEC_IMPORT
WINSOCK_API_LINKAGE	EQU	<DECLSPEC_IMPORT>
else 
WINSOCK_API_LINKAGE	EQU	<>
endif 
endif 
ifdef __cplusplus
;extern "C"
;{
endif 
u_char typedef BYTE
u_short typedef WORD
u_int typedef DWORD
u_long typedef DWORD
SOCKET typedef u_int
ifndef FD_SETSIZE
FD_SETSIZE	EQU	64
endif 
fd_set	struct 
fd_count	u_int	?
fd_array	SOCKET FD_SETSIZE dup (?)
fd_set	ends

__WSAFDIsSet proto stdcall :SOCKET, :ptr fd_set

FD_CLR macro fd,set
;	exitm <do { u_int __i ; for ( __i = 0 ; __i < ( ( fd_set FAR * ) ( set ) ) -> fd_count ; __i + + ) { if ( ( ( fd_set FAR * ) ( set ) ) -> fd_array [ __i ] == fd ) { while ( __i < ( ( fd_set FAR * ) ( set ) ) -> fd_count - 1 ) { ( ( fd_set FAR * ) ( set ) ) -> fd_array [ __i ] = ( ( fd_set FAR * ) ( set ) ) -> fd_array [ __i + 1 ] ; __i + + ; } ( ( fd_set FAR * ) ( set ) ) -> fd_count - - ; break ; } } } while ( 0 ) >
	pushad
	lea ebx, set
    mov eax, fd
    mov ecx, [ebx].fd_set.fd_count
    lea esi, [ebx].fd_set.fd_array
    mov edi, esi
    .while (ecx)
    	.if (eax == [esi])
        	dec [ebx].fd_set.fd_count
            add esi, 4
        .endif
        movsd
        dec ecx
    .endw
    popad
	endm

if 1
FD_SET macro fd,set
;	exitm <do { u_int __i ; for ( __i = 0 ; __i < ( ( fd_set FAR * ) ( set ) ) -> fd_count ; __i + + ) { if ( ( ( fd_set FAR * ) ( set ) ) -> fd_array [ __i ] == ( fd ) ) { break ; } } if ( __i == ( ( fd_set FAR * ) ( set ) ) -> fd_count ) { if ( ( ( fd_set FAR * ) ( set ) ) -> fd_count < FD_SETSIZE ) { ( ( fd_set FAR * ) ( set ) ) -> fd_array [ __i ] = ( fd ) ; ( ( fd_set FAR * ) ( set ) ) -> fd_count + + ; } } } while ( 0 ) >
	lea edx, set
    mov eax, fd
    mov ecx, [edx].fd_set.fd_count
    .if (ecx < FD_SETSIZE)
    	mov [edx].fd_set.fd_array[ecx*4],eax
        inc [edx].fd_set.fd_count
    .endif
	endm
endif    

FD_ZERO macro set
;	exitm <( ( ( fd_set FAR * ) ( set ) ) -> fd_count = 0 ) >
    lea eax, set
    mov [eax].fd_set.fd_count, 0
	endm
FD_ISSET macro fd,set
;	exitm <__WSAFDIsSet ( ( SOCKET ) ( fd ) , ( fd_set FAR * ) ( set ) ) >
	exitm <invoke __WSAFDIsSet, fd , addr set >
	endm

timeval	struct 
tv_sec	SDWORD	?
tv_usec	SDWORD	?
timeval	ends

timerisset macro tvp
	exitm <( ( tvp ) -> tv_sec || ( tvp ) -> tv_usec ) >
	endm
timercmp macro tvp,uvp,cmp
	exitm <( ( tvp ) -> tv_sec cmp ( uvp ) -> tv_sec || ( tvp ) -> tv_sec == ( uvp ) -> tv_sec && ( tvp ) -> tv_usec cmp ( uvp ) -> tv_usec ) >
	endm
timerclear macro tvp
	exitm <( tvp ) -> tv_sec = ( tvp ) -> tv_usec = 0 >
	endm
IOCPARM_MASK	EQU	7fh
IOC_VOID	EQU	20000000h
IOC_OUT	EQU	40000000h
IOC_IN	EQU	80000000h
IOC_INOUT	EQU	( IOC_IN  or  IOC_OUT )
_IO macro x,y
	exitm <( IOC_VOID  or  ( ( x )  shl  8 )  or  ( y ) ) >
	endm
_IOR macro x,y,t
	exitm <( IOC_OUT  or  ( ( ( long ) sizeof ( t )  and  IOCPARM_MASK )  shl  16 )  or  ( ( x )  shl  8 )  or  ( y ) ) >
	endm
_IOW macro x,y,t
	exitm <( IOC_IN  or  ( ( ( long ) sizeof ( t )  and  IOCPARM_MASK )  shl  16 )  or  ( ( x )  shl  8 )  or  ( y ) ) >
	endm
FIONREAD	EQU	<_IOR ( 'f' , 127 , u_long )>
FIONBIO	EQU	<_IOW ( 'f' , 126 , u_long )>
FIOASYNC	EQU	<_IOW ( 'f' , 125 , u_long )>
SIOCSHIWAT	EQU	<_IOW ( 's' , 0 , u_long )>
SIOCGHIWAT	EQU	<_IOR ( 's' , 1 , u_long )>
SIOCSLOWAT	EQU	<_IOW ( 's' , 2 , u_long )>
SIOCGLOWAT	EQU	<_IOR ( 's' , 3 , u_long )>
SIOCATMARK	EQU	<_IOR ( 's' , 7 , u_long )>
hostent	struct 
h_name	DWORD	?
h_aliases	DWORD	?
h_addrtype	SWORD	?
h_length	SWORD	?
h_addr_list	DWORD	?
h_addr	EQU	<h_addr_list [ 0 ]>
hostent	ends

netent	struct 
n_name	DWORD	?
n_aliases	DWORD	?
n_addrtype	SWORD	?
n_net	u_long	?
netent	ends

servent	struct 
s_name	DWORD	?
s_aliases	DWORD	?
s_port	SWORD	?
s_proto	DWORD	?
servent	ends

protoent	struct 
p_name	DWORD	?
p_aliases	DWORD	?
p_proto	SWORD	?
protoent	ends

IPPROTO_IP	EQU	0
IPPROTO_ICMP	EQU	1
IPPROTO_IGMP	EQU	2
IPPROTO_GGP	EQU	3
IPPROTO_TCP	EQU	6
IPPROTO_PUP	EQU	12
IPPROTO_UDP	EQU	17
IPPROTO_IDP	EQU	22
IPPROTO_ND	EQU	77
IPPROTO_RAW	EQU	255
IPPROTO_MAX	EQU	256
IPPORT_ECHO	EQU	7
IPPORT_DISCARD	EQU	9
IPPORT_SYSTAT	EQU	11
IPPORT_DAYTIME	EQU	13
IPPORT_NETSTAT	EQU	15
IPPORT_FTP	EQU	21
IPPORT_TELNET	EQU	23
IPPORT_SMTP	EQU	25
IPPORT_TIMESERVER	EQU	37
IPPORT_NAMESERVER	EQU	42
IPPORT_WHOIS	EQU	43
IPPORT_MTP	EQU	57
IPPORT_TFTP	EQU	69
IPPORT_RJE	EQU	77
IPPORT_FINGER	EQU	79
IPPORT_TTYLINK	EQU	87
IPPORT_SUPDUP	EQU	95
IPPORT_EXECSERVER	EQU	512
IPPORT_LOGINSERVER	EQU	513
IPPORT_CMDSERVER	EQU	514
IPPORT_EFSSERVER	EQU	520
IPPORT_BIFFUDP	EQU	512
IPPORT_WHOSERVER	EQU	513
IPPORT_ROUTESERVER	EQU	520
IPPORT_RESERVED	EQU	1024
IMPLINK_IP	EQU	155
IMPLINK_LOWEXPER	EQU	156
IMPLINK_HIGHEXPER	EQU	158
in_addr	struct 
union S_un
struct S_un_b
s_b1	u_char	?
s_b2	u_char	?
s_b3	u_char	?
s_b4	u_char	?
ends
struct S_un_w
s_w1	u_short	?
s_w2	u_short	?
ends
S_addr	u_long	?
ends
s_addr	EQU	<S_un.S_addr>
s_host	EQU	<S_un.S_un_b.s_b2>
s_net	EQU	<S_un.S_un_b.s_b1>
s_imp	EQU	<S_un.S_un_w.s_w2>
s_impno	EQU	<S_un.S_un_b.s_b4>
s_lh	EQU	<S_un.S_un_b.s_b3>
in_addr	ends

IN_CLASSA macro i
	exitm <( ( ( long ) ( i )  and  80000000h ) == 0 ) >
	endm
IN_CLASSA_NET	EQU	0ff000000h
IN_CLASSA_NSHIFT	EQU	24
IN_CLASSA_HOST	EQU	00ffffffh
IN_CLASSA_MAX	EQU	128
IN_CLASSB macro i
	exitm <( ( ( long ) ( i )  and  0c0000000h ) == 80000000h ) >
	endm
IN_CLASSB_NET	EQU	0ffff0000h
IN_CLASSB_NSHIFT	EQU	16
IN_CLASSB_HOST	EQU	0000ffffh
IN_CLASSB_MAX	EQU	65536
IN_CLASSC macro i
	exitm <( ( ( long ) ( i )  and  0e0000000h ) == 0c0000000h ) >
	endm
IN_CLASSC_NET	EQU	0ffffff00h
IN_CLASSC_NSHIFT	EQU	8
IN_CLASSC_HOST	EQU	000000ffh
IN_CLASSD macro i
	exitm <( ( ( long ) ( i )  and  0f0000000h ) == 0e0000000h ) >
	endm
IN_CLASSD_NET	EQU	0f0000000h
IN_CLASSD_NSHIFT	EQU	28
IN_CLASSD_HOST	EQU	0fffffffh
IN_MULTICAST macro i
	exitm <IN_CLASSD ( i ) >
	endm
INADDR_ANY	EQU	( u_long ) 00000000h
INADDR_LOOPBACK	EQU	7f000001h
INADDR_BROADCAST	EQU	( u_long ) 0ffffffffh
INADDR_NONE	EQU	0ffffffffh
ADDR_ANY	EQU	<INADDR_ANY>
sockaddr_in	struct 
sin_family	SWORD	?
sin_port	u_short	?
sin_addr in_addr <>
sin_zero	SBYTE 8 dup (?)
sockaddr_in	ends

WSADESCRIPTION_LEN	EQU	256
WSASYS_STATUS_LEN	EQU	128
WSADATA	struct 
wVersion	WORD	?
wHighVersion	WORD	?
szDescription	SBYTE WSADESCRIPTION_LEN+1 dup (?)
szSystemStatus	SBYTE WSASYS_STATUS_LEN+1 dup (?)
iMaxSockets	WORD	?
iMaxUdpDg	WORD	?
lpVendorInfo	DWORD	?
WSADATA	ends

LPWSADATA typedef ptr WSADATA

INVALID_SOCKET	EQU	<(  not  0 )>
SOCKET_ERROR	EQU	- 1
FROM_PROTOCOL_INFO	EQU	- 1
SOCK_STREAM	EQU	1
SOCK_DGRAM	EQU	2
SOCK_RAW	EQU	3
SOCK_RDM	EQU	4
SOCK_SEQPACKET	EQU	5
SO_DEBUG	EQU	0001h
SO_ACCEPTCONN	EQU	0002h
SO_REUSEADDR	EQU	0004h
SO_KEEPALIVE	EQU	0008h
SO_DONTROUTE	EQU	0010h
SO_BROADCAST	EQU	0020h
SO_USELOOPBACK	EQU	0040h
SO_LINGER	EQU	0080h
SO_OOBINLINE	EQU	0100h
SO_DONTLINGER	EQU	<(  not  SO_LINGER )>
SO_SNDBUF	EQU	1001h
SO_RCVBUF	EQU	1002h
SO_SNDLOWAT	EQU	1003h
SO_RCVLOWAT	EQU	1004h
SO_SNDTIMEO	EQU	1005h
SO_RCVTIMEO	EQU	1006h
SO_ERROR	EQU	1007h
SO_TYPE	EQU	1008h
SO_GROUP_ID	EQU	2001h
SO_GROUP_PRIORITY	EQU	2002h
SO_MAX_MSG_SIZE	EQU	2003h
SO_PROTOCOL_INFOA	EQU	2004h
SO_PROTOCOL_INFOW	EQU	2005h
ifdef UNICODE
SO_PROTOCOL_INFO	EQU	<SO_PROTOCOL_INFOW>
else 
SO_PROTOCOL_INFO	EQU	<SO_PROTOCOL_INFOA>
endif 
PVD_CONFIG	EQU	3001h
TCP_NODELAY	EQU	0001h
AF_UNSPEC	EQU	0
AF_UNIX	EQU	1
AF_INET	EQU	2
AF_IMPLINK	EQU	3
AF_PUP	EQU	4
AF_CHAOS	EQU	5
AF_NS	EQU	6
AF_IPX	EQU	<AF_NS>
AF_ISO	EQU	7
AF_OSI	EQU	<AF_ISO>
AF_ECMA	EQU	8
AF_DATAKIT	EQU	9
AF_CCITT	EQU	10
AF_SNA	EQU	11
AF_DECnet	EQU	12
AF_DLI	EQU	13
AF_LAT	EQU	14
AF_HYLINK	EQU	15
AF_APPLETALK	EQU	16
AF_NETBIOS	EQU	17
AF_VOICEVIEW	EQU	18
AF_FIREFOX	EQU	19
AF_UNKNOWN1	EQU	20
AF_BAN	EQU	21
AF_ATM	EQU	22
AF_INET6	EQU	23
AF_CLUSTER	EQU	24
AF_12844	EQU	25
AF_MAX	EQU	26
sockaddr	struct 
sa_family	u_short	?
sa_data	SBYTE 14 dup (?)
sockaddr	ends

sockproto	struct 
sp_family	u_short	?
sp_protocol	u_short	?
sockproto	ends

PF_UNSPEC	EQU	<AF_UNSPEC>
PF_UNIX	EQU	<AF_UNIX>
PF_INET	EQU	<AF_INET>
PF_IMPLINK	EQU	<AF_IMPLINK>
PF_PUP	EQU	<AF_PUP>
PF_CHAOS	EQU	<AF_CHAOS>
PF_NS	EQU	<AF_NS>
PF_IPX	EQU	<AF_IPX>
PF_ISO	EQU	<AF_ISO>
PF_OSI	EQU	<AF_OSI>
PF_ECMA	EQU	<AF_ECMA>
PF_DATAKIT	EQU	<AF_DATAKIT>
PF_CCITT	EQU	<AF_CCITT>
PF_SNA	EQU	<AF_SNA>
PF_DECnet	EQU	<AF_DECnet>
PF_DLI	EQU	<AF_DLI>
PF_LAT	EQU	<AF_LAT>
PF_HYLINK	EQU	<AF_HYLINK>
PF_APPLETALK	EQU	<AF_APPLETALK>
PF_VOICEVIEW	EQU	<AF_VOICEVIEW>
PF_FIREFOX	EQU	<AF_FIREFOX>
PF_UNKNOWN1	EQU	<AF_UNKNOWN1>
PF_BAN	EQU	<AF_BAN>
PF_ATM	EQU	<AF_ATM>
PF_INET6	EQU	<AF_INET6>
PF_MAX	EQU	<AF_MAX>
linger	struct 
l_onoff	u_short	?
l_linger	u_short	?
linger	ends

SOL_SOCKET	EQU	0ffffh
SOMAXCONN	EQU	7fffffffh
MSG_OOB	EQU	1h
MSG_PEEK	EQU	2h
MSG_DONTROUTE	EQU	4h
MSG_PARTIAL	EQU	8000h
MSG_INTERRUPT	EQU	10h
MSG_MAXIOVLEN	EQU	16
MAXGETHOSTSTRUCT	EQU	1024
FD_READ_BIT	EQU	0
FD_READ	EQU	( 1  shl  FD_READ_BIT )
FD_WRITE_BIT	EQU	1
FD_WRITE	EQU	( 1  shl  FD_WRITE_BIT )
FD_OOB_BIT	EQU	2
FD_OOB	EQU	( 1  shl  FD_OOB_BIT )
FD_ACCEPT_BIT	EQU	3
FD_ACCEPT	EQU	( 1  shl  FD_ACCEPT_BIT )
FD_CONNECT_BIT	EQU	4
FD_CONNECT	EQU	( 1  shl  FD_CONNECT_BIT )
FD_CLOSE_BIT	EQU	5
FD_CLOSE	EQU	( 1  shl  FD_CLOSE_BIT )
FD_QOS_BIT	EQU	6
FD_QOS	EQU	( 1  shl  FD_QOS_BIT )
FD_GROUP_QOS_BIT	EQU	7
FD_GROUP_QOS	EQU	( 1  shl  FD_GROUP_QOS_BIT )
FD_ROUTING_INTERFACE_CHANGE_BIT	EQU	8
FD_ROUTING_INTERFACE_CHANGE	EQU	( 1  shl  FD_ROUTING_INTERFACE_CHANGE_BIT )
FD_ADDRESS_LIST_CHANGE_BIT	EQU	9
FD_ADDRESS_LIST_CHANGE	EQU	( 1  shl  FD_ADDRESS_LIST_CHANGE_BIT )
FD_MAX_EVENTS	EQU	10
FD_ALL_EVENTS	EQU	( ( 1  shl  FD_MAX_EVENTS ) - 1 )
WSABASEERR	EQU	10000
WSAEINTR	EQU	( WSABASEERR + 4 )
WSAEBADF	EQU	( WSABASEERR + 9 )
WSAEACCES	EQU	( WSABASEERR + 13 )
WSAEFAULT	EQU	( WSABASEERR + 14 )
WSAEINVAL	EQU	( WSABASEERR + 22 )
WSAEMFILE	EQU	( WSABASEERR + 24 )
WSAEWOULDBLOCK	EQU	( WSABASEERR + 35 )
WSAEINPROGRESS	EQU	( WSABASEERR + 36 )
WSAEALREADY	EQU	( WSABASEERR + 37 )
WSAENOTSOCK	EQU	( WSABASEERR + 38 )
WSAEDESTADDRREQ	EQU	( WSABASEERR + 39 )
WSAEMSGSIZE	EQU	( WSABASEERR + 40 )
WSAEPROTOTYPE	EQU	( WSABASEERR + 41 )
WSAENOPROTOOPT	EQU	( WSABASEERR + 42 )
WSAEPROTONOSUPPORT	EQU	( WSABASEERR + 43 )
WSAESOCKTNOSUPPORT	EQU	( WSABASEERR + 44 )
WSAEOPNOTSUPP	EQU	( WSABASEERR + 45 )
WSAEPFNOSUPPORT	EQU	( WSABASEERR + 46 )
WSAEAFNOSUPPORT	EQU	( WSABASEERR + 47 )
WSAEADDRINUSE	EQU	( WSABASEERR + 48 )
WSAEADDRNOTAVAIL	EQU	( WSABASEERR + 49 )
WSAENETDOWN	EQU	( WSABASEERR + 50 )
WSAENETUNREACH	EQU	( WSABASEERR + 51 )
WSAENETRESET	EQU	( WSABASEERR + 52 )
WSAECONNABORTED	EQU	( WSABASEERR + 53 )
WSAECONNRESET	EQU	( WSABASEERR + 54 )
WSAENOBUFS	EQU	( WSABASEERR + 55 )
WSAEISCONN	EQU	( WSABASEERR + 56 )
WSAENOTCONN	EQU	( WSABASEERR + 57 )
WSAESHUTDOWN	EQU	( WSABASEERR + 58 )
WSAETOOMANYREFS	EQU	( WSABASEERR + 59 )
WSAETIMEDOUT	EQU	( WSABASEERR + 60 )
WSAECONNREFUSED	EQU	( WSABASEERR + 61 )
WSAELOOP	EQU	( WSABASEERR + 62 )
WSAENAMETOOLONG	EQU	( WSABASEERR + 63 )
WSAEHOSTDOWN	EQU	( WSABASEERR + 64 )
WSAEHOSTUNREACH	EQU	( WSABASEERR + 65 )
WSAENOTEMPTY	EQU	( WSABASEERR + 66 )
WSAEPROCLIM	EQU	( WSABASEERR + 67 )
WSAEUSERS	EQU	( WSABASEERR + 68 )
WSAEDQUOT	EQU	( WSABASEERR + 69 )
WSAESTALE	EQU	( WSABASEERR + 70 )
WSAEREMOTE	EQU	( WSABASEERR + 71 )
WSASYSNOTREADY	EQU	( WSABASEERR + 91 )
WSAVERNOTSUPPORTED	EQU	( WSABASEERR + 92 )
WSANOTINITIALISED	EQU	( WSABASEERR + 93 )
WSAEDISCON	EQU	( WSABASEERR + 101 )
WSAENOMORE	EQU	( WSABASEERR + 102 )
WSAECANCELLED	EQU	( WSABASEERR + 103 )
WSAEINVALIDPROCTABLE	EQU	( WSABASEERR + 104 )
WSAEINVALIDPROVIDER	EQU	( WSABASEERR + 105 )
WSAEPROVIDERFAILEDINIT	EQU	( WSABASEERR + 106 )
WSASYSCALLFAILURE	EQU	( WSABASEERR + 107 )
WSASERVICE_NOT_FOUND	EQU	( WSABASEERR + 108 )
WSATYPE_NOT_FOUND	EQU	( WSABASEERR + 109 )
WSA_E_NO_MORE	EQU	( WSABASEERR + 110 )
WSA_E_CANCELLED	EQU	( WSABASEERR + 111 )
WSAEREFUSED	EQU	( WSABASEERR + 112 )
h_errno	EQU	<WSAGetLastError ( )>
WSAHOST_NOT_FOUND	EQU	( WSABASEERR + 1001 )
HOST_NOT_FOUND	EQU	<WSAHOST_NOT_FOUND>
WSATRY_AGAIN	EQU	( WSABASEERR + 1002 )
TRY_AGAIN	EQU	<WSATRY_AGAIN>
WSANO_RECOVERY	EQU	( WSABASEERR + 1003 )
NO_RECOVERY	EQU	<WSANO_RECOVERY>
WSANO_DATA	EQU	( WSABASEERR + 1004 )
NO_DATA	EQU	<WSANO_DATA>
WSANO_ADDRESS	EQU	<WSANO_DATA>
NO_ADDRESS	EQU	<WSANO_ADDRESS>
WSA_QOS_RECEIVERS	EQU	( WSABASEERR + 1005 )
WSA_QOS_SENDERS	EQU	( WSABASEERR + 1006 )
WSA_QOS_NO_SENDERS	EQU	( WSABASEERR + 1007 )
WSA_QOS_NO_RECEIVERS	EQU	( WSABASEERR + 1008 )
WSA_QOS_REQUEST_CONFIRMED	EQU	( WSABASEERR + 1009 )
WSA_QOS_ADMISSION_FAILURE	EQU	( WSABASEERR + 1010 )
WSA_QOS_POLICY_FAILURE	EQU	( WSABASEERR + 1011 )
WSA_QOS_BAD_STYLE	EQU	( WSABASEERR + 1012 )
WSA_QOS_BAD_OBJECT	EQU	( WSABASEERR + 1013 )
WSA_QOS_TRAFFIC_CTRL_ERROR	EQU	( WSABASEERR + 1014 )
WSA_QOS_GENERIC_ERROR	EQU	( WSABASEERR + 1015 )
if 0
EWOULDBLOCK	EQU	<WSAEWOULDBLOCK>
EINPROGRESS	EQU	<WSAEINPROGRESS>
EALREADY	EQU	<WSAEALREADY>
ENOTSOCK	EQU	<WSAENOTSOCK>
EDESTADDRREQ	EQU	<WSAEDESTADDRREQ>
EMSGSIZE	EQU	<WSAEMSGSIZE>
EPROTOTYPE	EQU	<WSAEPROTOTYPE>
ENOPROTOOPT	EQU	<WSAENOPROTOOPT>
EPROTONOSUPPORT	EQU	<WSAEPROTONOSUPPORT>
ESOCKTNOSUPPORT	EQU	<WSAESOCKTNOSUPPORT>
EOPNOTSUPP	EQU	<WSAEOPNOTSUPP>
EPFNOSUPPORT	EQU	<WSAEPFNOSUPPORT>
EAFNOSUPPORT	EQU	<WSAEAFNOSUPPORT>
EADDRINUSE	EQU	<WSAEADDRINUSE>
EADDRNOTAVAIL	EQU	<WSAEADDRNOTAVAIL>
ENETDOWN	EQU	<WSAENETDOWN>
ENETUNREACH	EQU	<WSAENETUNREACH>
ENETRESET	EQU	<WSAENETRESET>
ECONNABORTED	EQU	<WSAECONNABORTED>
ECONNRESET	EQU	<WSAECONNRESET>
ENOBUFS	EQU	<WSAENOBUFS>
EISCONN	EQU	<WSAEISCONN>
ENOTCONN	EQU	<WSAENOTCONN>
ESHUTDOWN	EQU	<WSAESHUTDOWN>
ETOOMANYREFS	EQU	<WSAETOOMANYREFS>
ETIMEDOUT	EQU	<WSAETIMEDOUT>
ECONNREFUSED	EQU	<WSAECONNREFUSED>
ELOOP	EQU	<WSAELOOP>
ENAMETOOLONG	EQU	<WSAENAMETOOLONG>
EHOSTDOWN	EQU	<WSAEHOSTDOWN>
EHOSTUNREACH	EQU	<WSAEHOSTUNREACH>
ENOTEMPTY	EQU	<WSAENOTEMPTY>
EPROCLIM	EQU	<WSAEPROCLIM>
EUSERS	EQU	<WSAEUSERS>
EDQUOT	EQU	<WSAEDQUOT>
ESTALE	EQU	<WSAESTALE>
EREMOTE	EQU	<WSAEREMOTE>
endif 
ifdef WIN32
WSAAPI	EQU	<FAR PASCAL>
WSAEVENT	EQU	<HANDLE>
LPWSAEVENT	EQU	<LPHANDLE>
WSAOVERLAPPED	EQU	<OVERLAPPED>
LPWSAOVERLAPPED typedef ptr _OVERLAPPED

WSA_IO_PENDING	EQU	<( ERROR_IO_PENDING )>
WSA_IO_INCOMPLETE	EQU	<( ERROR_IO_INCOMPLETE )>
WSA_INVALID_HANDLE	EQU	<( ERROR_INVALID_HANDLE )>
WSA_INVALID_PARAMETER	EQU	<( ERROR_INVALID_PARAMETER )>
WSA_NOT_ENOUGH_MEMORY	EQU	<( ERROR_NOT_ENOUGH_MEMORY )>
WSA_OPERATION_ABORTED	EQU	<( ERROR_OPERATION_ABORTED )>
WSA_INVALID_EVENT	EQU	<( ( WSAEVENT ) NULL )>
WSA_MAXIMUM_WAIT_EVENTS	EQU	<( MAXIMUM_WAIT_OBJECTS )>
WSA_WAIT_FAILED	EQU	- 1
WSA_WAIT_EVENT_0	EQU	<( WAIT_OBJECT_0 )>
WSA_WAIT_IO_COMPLETION	EQU	<( WAIT_IO_COMPLETION )>
WSA_WAIT_TIMEOUT	EQU	<( WAIT_TIMEOUT )>
WSA_INFINITE	EQU	<( INFINITE )>
else 
WSAAPI	EQU	<FAR PASCAL>
WSAEVENT typedef DWORD
LPWSAEVENT typedef ptr DWORD
WSAOVERLAPPED	struct 
Internal	DWORD	?
InternalHigh	DWORD	?
Offset_	DWORD	?
OffsetHigh	DWORD	?
hEvent	WSAEVENT	?
WSAOVERLAPPED	ends

LPWSAOVERLAPPED typedef ptr WSAOVERLAPPED

WSA_IO_PENDING	EQU	<( WSAEWOULDBLOCK )>
WSA_IO_INCOMPLETE	EQU	<( WSAEWOULDBLOCK )>
WSA_INVALID_HANDLE	EQU	<( WSAENOTSOCK )>
WSA_INVALID_PARAMETER	EQU	<( WSAEINVAL )>
WSA_NOT_ENOUGH_MEMORY	EQU	<( WSAENOBUFS )>
WSA_OPERATION_ABORTED	EQU	<( WSAEINTR )>
WSA_INVALID_EVENT	EQU	<( ( WSAEVENT ) NULL )>
WSA_MAXIMUM_WAIT_EVENTS	EQU	<( MAXIMUM_WAIT_OBJECTS )>
WSA_WAIT_FAILED	EQU	- 1
WSA_WAIT_EVENT_0	EQU	0
WSA_WAIT_TIMEOUT	EQU	102h
WSA_INFINITE	EQU	- 1
endif 
WSABUF	struct 
len	u_long	?
buf	DWORD	?
WSABUF	ends

LPWSABUF typedef ptr WSABUF

	include qos.inc
QOS	struct 
SendingFlowspec	FLOWSPEC	<>
ReceivingFlowspec	FLOWSPEC	<>
ProviderSpecific	WSABUF	<>
QOS	ends

LPQOS typedef ptr QOS

CF_ACCEPT	EQU	0000h
CF_REJECT	EQU	0001h
CF_DEFER	EQU	0002h
SD_RECEIVE	EQU	00h
SD_SEND	EQU	01h
SD_BOTH	EQU	02h
GROUP_ typedef DWORD
SG_UNCONSTRAINED_GROUP	EQU	01h
SG_CONSTRAINED_GROUP	EQU	02h
WSANETWORKEVENTS	struct 
lNetworkEvents	SDWORD	?
iErrorCode	DWORD FD_MAX_EVENTS dup (?)
WSANETWORKEVENTS	ends

LPWSANETWORKEVENTS typedef ptr WSANETWORKEVENTS

ifndef GUID_DEFINED
GUID_DEFINED	EQU	<>
GUID	struct 
Data1	DWORD	?
Data2	WORD	?
Data3	WORD	?
Data4	BYTE 8 dup (?)
GUID	ends

endif 
ifndef __LPGUID_DEFINED__
__LPGUID_DEFINED__	EQU	<>
LPGUID typedef ptr GUID
endif 
MAX_PROTOCOL_CHAIN	EQU	7
BASE_PROTOCOL	EQU	1
LAYERED_PROTOCOL	EQU	0
WSAPROTOCOLCHAIN	struct 
ChainLen	DWORD	?
ChainEntries	DWORD MAX_PROTOCOL_CHAIN dup (?)
WSAPROTOCOLCHAIN	ends

LPWSAPROTOCOLCHAIN typedef ptr WSAPROTOCOLCHAIN

WSAPROTOCOL_LEN	EQU	255
WSAPROTOCOL_INFOA	struct 
dwServiceFlags1	DWORD	?
dwServiceFlags2	DWORD	?
dwServiceFlags3	DWORD	?
dwServiceFlags4	DWORD	?
dwProviderFlags	DWORD	?
ProviderId	GUID	<>
dwCatalogEntryId	DWORD	?
ProtocolChain	WSAPROTOCOLCHAIN	<>
iVersion	DWORD	?
iAddressFamily	DWORD	?
iMaxSockAddr	DWORD	?
iMinSockAddr	DWORD	?
iSocketType	DWORD	?
iProtocol	DWORD	?
iProtocolMaxOffset	DWORD	?
iNetworkByteOrder	DWORD	?
iSecurityScheme	DWORD	?
dwMessageSize	DWORD	?
dwProviderReserved	DWORD	?
szProtocol	CHAR WSAPROTOCOL_LEN+1 dup (?)
WSAPROTOCOL_INFOA	ends

LPWSAPROTOCOL_INFOA typedef ptr WSAPROTOCOL_INFOA

WSAPROTOCOL_INFOW	struct 
dwServiceFlags1	DWORD	?
dwServiceFlags2	DWORD	?
dwServiceFlags3	DWORD	?
dwServiceFlags4	DWORD	?
dwProviderFlags	DWORD	?
ProviderId	GUID	<>
dwCatalogEntryId	DWORD	?
ProtocolChain	WSAPROTOCOLCHAIN	<>
iVersion	DWORD	?
iAddressFamily	DWORD	?
iMaxSockAddr	DWORD	?
iMinSockAddr	DWORD	?
iSocketType	DWORD	?
iProtocol	DWORD	?
iProtocolMaxOffset	DWORD	?
iNetworkByteOrder	DWORD	?
iSecurityScheme	DWORD	?
dwMessageSize	DWORD	?
dwProviderReserved	DWORD	?
szProtocol	WCHAR WSAPROTOCOL_LEN+1 dup (?)
WSAPROTOCOL_INFOW	ends

LPWSAPROTOCOL_INFOW typedef ptr WSAPROTOCOL_INFOW

ifdef UNICODE
WSAPROTOCOL_INFO typedef WSAPROTOCOL_INFOW
LPWSAPROTOCOL_INFO typedef LPWSAPROTOCOL_INFOW
else 
WSAPROTOCOL_INFO typedef WSAPROTOCOL_INFOA
LPWSAPROTOCOL_INFO typedef LPWSAPROTOCOL_INFOA
endif 
PFL_MULTIPLE_PROTO_ENTRIES	EQU	00000001h
PFL_RECOMMENDED_PROTO_ENTRY	EQU	00000002h
PFL_HIDDEN	EQU	00000004h
PFL_MATCHES_PROTOCOL_ZERO	EQU	00000008h
XP1_CONNECTIONLESS	EQU	00000001h
XP1_GUARANTEED_DELIVERY	EQU	00000002h
XP1_GUARANTEED_ORDER	EQU	00000004h
XP1_MESSAGE_ORIENTED	EQU	00000008h
XP1_PSEUDO_STREAM	EQU	00000010h
XP1_GRACEFUL_CLOSE	EQU	00000020h
XP1_EXPEDITED_DATA	EQU	00000040h
XP1_CONNECT_DATA	EQU	00000080h
XP1_DISCONNECT_DATA	EQU	00000100h
XP1_SUPPORT_BROADCAST	EQU	00000200h
XP1_SUPPORT_MULTIPOINT	EQU	00000400h
XP1_MULTIPOINT_CONTROL_PLANE	EQU	00000800h
XP1_MULTIPOINT_DATA_PLANE	EQU	00001000h
XP1_QOS_SUPPORTED	EQU	00002000h
XP1_INTERRUPT	EQU	00004000h
XP1_UNI_SEND	EQU	00008000h
XP1_UNI_RECV	EQU	00010000h
XP1_IFS_HANDLES	EQU	00020000h
XP1_PARTIAL_MESSAGE	EQU	00040000h
BIGENDIAN	EQU	0000h
LITTLEENDIAN	EQU	0001h
SECURITY_PROTOCOL_NONE	EQU	0000h
JL_SENDER_ONLY	EQU	01h
JL_RECEIVER_ONLY	EQU	02h
JL_BOTH	EQU	04h
WSA_FLAG_OVERLAPPED	EQU	01h
WSA_FLAG_MULTIPOINT_C_ROOT	EQU	02h
WSA_FLAG_MULTIPOINT_C_LEAF	EQU	04h
WSA_FLAG_MULTIPOINT_D_ROOT	EQU	08h
WSA_FLAG_MULTIPOINT_D_LEAF	EQU	10h
IOC_UNIX	EQU	00000000h
IOC_WS2	EQU	08000000h
IOC_PROTOCOL	EQU	10000000h
IOC_VENDOR	EQU	18000000h
_WSAIO macro x,y
	exitm <( IOC_VOID  or  ( x )  or  ( y ) ) >
	endm
_WSAIOR macro x,y
	exitm <( IOC_OUT  or  ( x )  or  ( y ) ) >
	endm
_WSAIOW macro x,y
	exitm <( IOC_IN  or  ( x )  or  ( y ) ) >
	endm
_WSAIORW macro x,y
	exitm <( IOC_INOUT  or  ( x )  or  ( y ) ) >
	endm
SIO_ASSOCIATE_HANDLE	EQU	<_WSAIOW ( IOC_WS2 , 1 )>
SIO_ENABLE_CIRCULAR_QUEUEING	EQU	<_WSAIO ( IOC_WS2 , 2 )>
SIO_FIND_ROUTE	EQU	<_WSAIOR ( IOC_WS2 , 3 )>
SIO_FLUSH	EQU	<_WSAIO ( IOC_WS2 , 4 )>
SIO_GET_BROADCAST_ADDRESS	EQU	<_WSAIOR ( IOC_WS2 , 5 )>
SIO_GET_EXTENSION_FUNCTION_POINTER	EQU	<_WSAIORW ( IOC_WS2 , 6 )>
SIO_GET_QOS	EQU	<_WSAIORW ( IOC_WS2 , 7 )>
SIO_GET_GROUP_QOS	EQU	<_WSAIORW ( IOC_WS2 , 8 )>
SIO_MULTIPOINT_LOOPBACK	EQU	<_WSAIOW ( IOC_WS2 , 9 )>
SIO_MULTICAST_SCOPE	EQU	<_WSAIOW ( IOC_WS2 , 10 )>
SIO_SET_QOS	EQU	<_WSAIOW ( IOC_WS2 , 11 )>
SIO_SET_GROUP_QOS	EQU	<_WSAIOW ( IOC_WS2 , 12 )>
SIO_TRANSLATE_HANDLE	EQU	<_WSAIORW ( IOC_WS2 , 13 )>
SIO_ROUTING_INTERFACE_QUERY	EQU	<_WSAIORW ( IOC_WS2 , 20 )>
SIO_ROUTING_INTERFACE_CHANGE	EQU	<_WSAIOW ( IOC_WS2 , 21 )>
SIO_ADDRESS_LIST_QUERY	EQU	<_WSAIOR ( IOC_WS2 , 22 )>
SIO_ADDRESS_LIST_CHANGE	EQU	<_WSAIO ( IOC_WS2 , 23 )>
SIO_QUERY_TARGET_PNP_HANDLE	EQU	<_WSAIOR ( IOC_W32 , 24 )>
TH_NETDEV	EQU	00000001h
TH_TAPI	EQU	00000002h
SOCKADDR typedef sockaddr

PSOCKADDR typedef ptr sockaddr

LPSOCKADDR typedef ptr sockaddr

ifndef _tagBLOB_DEFINED
_tagBLOB_DEFINED	EQU	<>
_BLOB_DEFINED	EQU	<>
_LPBLOB_DEFINED	EQU	<>
BLOB	struct 
cbSize	DWORD	?
ifdef MIDL_PASS
pBlobData	DWORD size_is(cbSize) dup (?)
else 
pBlobData	DWORD	?
endif 
BLOB	ends

LPBLOB typedef ptr BLOB

endif 
SERVICE_MULTIPLE	EQU	00000001h
NS_ALL	EQU	0
NS_SAP	EQU	1
NS_NDS	EQU	2
NS_PEER_BROWSE	EQU	3
NS_TCPIP_LOCAL	EQU	10
NS_TCPIP_HOSTS	EQU	11
NS_DNS	EQU	12
NS_NETBT	EQU	13
NS_WINS	EQU	14
NS_NBP	EQU	20
NS_MS	EQU	30
NS_STDA	EQU	31
NS_NTDS	EQU	32
NS_X500	EQU	40
NS_NIS	EQU	41
NS_NISPLUS	EQU	42
NS_WRQ	EQU	50
RES_UNUSED_1	EQU	00000001h
RES_FLUSH_CACHE	EQU	00000002h
ifndef RES_SERVICE
RES_SERVICE	EQU	00000004h
endif 
SERVICE_TYPE_VALUE_IPXPORTA	EQU	<"IpxSocket">
SERVICE_TYPE_VALUE_IPXPORTW	EQU	<L("IpxSocket")>
SERVICE_TYPE_VALUE_SAPIDA	EQU	<"SapId">
SERVICE_TYPE_VALUE_SAPIDW	EQU	<L("SapId")>
SERVICE_TYPE_VALUE_TCPPORTA	EQU	<"TcpPort">
SERVICE_TYPE_VALUE_TCPPORTW	EQU	<L("TcpPort")>
SERVICE_TYPE_VALUE_UDPPORTA	EQU	<"UdpPort">
SERVICE_TYPE_VALUE_UDPPORTW	EQU	<L("UdpPort")>
SERVICE_TYPE_VALUE_OBJECTIDA	EQU	<"ObjectId">
SERVICE_TYPE_VALUE_OBJECTIDW	EQU	<L("ObjectId")>
ifdef UNICODE
SERVICE_TYPE_VALUE_SAPID	EQU	<SERVICE_TYPE_VALUE_SAPIDW>
SERVICE_TYPE_VALUE_TCPPORT	EQU	<SERVICE_TYPE_VALUE_TCPPORTW>
SERVICE_TYPE_VALUE_UDPPORT	EQU	<SERVICE_TYPE_VALUE_UDPPORTW>
SERVICE_TYPE_VALUE_OBJECTID	EQU	<SERVICE_TYPE_VALUE_OBJECTIDW>
else 
SERVICE_TYPE_VALUE_SAPID	EQU	<SERVICE_TYPE_VALUE_SAPIDA>
SERVICE_TYPE_VALUE_TCPPORT	EQU	<SERVICE_TYPE_VALUE_TCPPORTA>
SERVICE_TYPE_VALUE_UDPPORT	EQU	<SERVICE_TYPE_VALUE_UDPPORTA>
SERVICE_TYPE_VALUE_OBJECTID	EQU	<SERVICE_TYPE_VALUE_OBJECTIDA>
endif 
ifndef __CSADDR_DEFINED__
__CSADDR_DEFINED__	EQU	<>
SOCKET_ADDRESS	struct 
lpSockaddr	LPSOCKADDR	?
iSockaddrLength	DWORD	?
SOCKET_ADDRESS	ends

PSOCKET_ADDRESS typedef ptr SOCKET_ADDRESS
LPSOCKET_ADDRESS typedef ptr SOCKET_ADDRESS

CSADDR_INFO	struct 
LocalAddr	SOCKET_ADDRESS	<>
RemoteAddr	SOCKET_ADDRESS	<>
iSocketType	DWORD	?
iProtocol	DWORD	?
CSADDR_INFO	ends

PCSADDR_INFO typedef ptr CSADDR_INFO
LPCSADDR_INFO typedef ptr CSADDR_INFO

endif 
SOCKET_ADDRESS_LIST	struct 
iAddressCount	DWORD	?
Address	SOCKET_ADDRESS 1 dup (<>)
SOCKET_ADDRESS_LIST	ends

LPSOCKET_ADDRESS_LIST typedef ptr SOCKET_ADDRESS_LIST

AFPROTOCOLS	struct 
iAddressFamily	DWORD	?
iProtocol	DWORD	?
AFPROTOCOLS	ends

PAFPROTOCOLS typedef ptr AFPROTOCOLS
LPAFPROTOCOLS typedef ptr AFPROTOCOLS

WSAECOMPARATOR typedef DWORD
COMP_EQUAL = 0 
COMP_NOTLESS = 1

PWSAECOMPARATOR typedef ptr WSAECOMPARATOR
LPWSAECOMPARATOR typedef ptr WSAECOMPARATOR

WSAVERSION	struct 
dwVersion	DWORD	?
ecHow	WSAECOMPARATOR	?
WSAVERSION	ends

PWSAVERSION typedef ptr WSAVERSION
LPWSAVERSION typedef ptr WSAVERSION

WSAQUERYSETA	struct 
dwSize	DWORD	?
lpszServiceInstanceName	LPSTR	?
lpServiceClassId	LPGUID	?
lpVersion	LPWSAVERSION	?
lpszComment	LPSTR	?
dwNameSpace	DWORD	?
lpNSProviderId	LPGUID	?
lpszContext	LPSTR	?
dwNumberOfProtocols	DWORD	?
lpafpProtocols	LPAFPROTOCOLS	?
lpszQueryString	LPSTR	?
dwNumberOfCsAddrs	DWORD	?
lpcsaBuffer	LPCSADDR_INFO	?
dwOutputFlags	DWORD	?
lpBlob	LPBLOB	?
WSAQUERYSETA	ends

PWSAQUERYSETA typedef ptr WSAQUERYSETA
LPWSAQUERYSETA typedef ptr WSAQUERYSETA

WSAQUERYSETW	struct 
dwSize	DWORD	?
lpszServiceInstanceName	LPWSTR	?
lpServiceClassId	LPGUID	?
lpVersion	LPWSAVERSION	?
lpszComment	LPWSTR	?
dwNameSpace	DWORD	?
lpNSProviderId	LPGUID	?
lpszContext	LPWSTR	?
dwNumberOfProtocols	DWORD	?
lpafpProtocols	LPAFPROTOCOLS	?
lpszQueryString	LPWSTR	?
dwNumberOfCsAddrs	DWORD	?
lpcsaBuffer	LPCSADDR_INFO	?
dwOutputFlags	DWORD	?
lpBlob	LPBLOB	?
WSAQUERYSETW	ends

PWSAQUERYSETW typedef ptr WSAQUERYSETW
LPWSAQUERYSETW typedef ptr WSAQUERYSETW

ifdef UNICODE
WSAQUERYSET typedef WSAQUERYSETW
PWSAQUERYSET typedef PWSAQUERYSETW
LPWSAQUERYSET typedef LPWSAQUERYSETW
else 
WSAQUERYSET typedef WSAQUERYSETA
PWSAQUERYSET typedef PWSAQUERYSETA
LPWSAQUERYSET typedef LPWSAQUERYSETA
endif 
LUP_DEEP	EQU	0001h
LUP_CONTAINERS	EQU	0002h
LUP_NOCONTAINERS	EQU	0004h
LUP_NEAREST	EQU	0008h
LUP_RETURN_NAME	EQU	0010h
LUP_RETURN_TYPE	EQU	0020h
LUP_RETURN_VERSION	EQU	0040h
LUP_RETURN_COMMENT	EQU	0080h
LUP_RETURN_ADDR	EQU	0100h
LUP_RETURN_BLOB	EQU	0200h
LUP_RETURN_ALIASES	EQU	0400h
LUP_RETURN_QUERY_STRING	EQU	0800h
LUP_RETURN_ALL	EQU	0FF0h
LUP_RES_SERVICE	EQU	8000h
LUP_FLUSHCACHE	EQU	1000h
LUP_FLUSHPREVIOUS	EQU	2000h
RESULT_IS_ALIAS	EQU	0001h
WSAESETSERVICEOP typedef DWORD
RNRSERVICE_REGISTER = 0 
RNRSERVICE_DEREGISTER = 1
RNRSERVICE_DELETE = 2

PWSAESETSERVICEOP typedef ptr WSAESETSERVICEOP
LPWSAESETSERVICEOP typedef ptr WSAESETSERVICEOP

WSANSCLASSINFOA	struct 
lpszName	LPSTR	?
dwNameSpace	DWORD	?
dwValueType	DWORD	?
dwValueSize	DWORD	?
lpValue	LPVOID	?
WSANSCLASSINFOA	ends

PWSANSCLASSINFOA typedef ptr WSANSCLASSINFOA
LPWSANSCLASSINFOA typedef ptr WSANSCLASSINFOA

WSANSCLASSINFOW	struct 
lpszName	LPWSTR	?
dwNameSpace	DWORD	?
dwValueType	DWORD	?
dwValueSize	DWORD	?
lpValue	LPVOID	?
WSANSCLASSINFOW	ends

PWSANSCLASSINFOW typedef ptr WSANSCLASSINFOW
LPWSANSCLASSINFOW typedef ptr WSANSCLASSINFOW

ifdef UNICODE
WSANSCLASSINFO typedef WSANSCLASSINFOW
PWSANSCLASSINFO typedef PWSANSCLASSINFOW
LPWSANSCLASSINFO typedef LPWSANSCLASSINFOW
else 
WSANSCLASSINFO typedef WSANSCLASSINFOA
PWSANSCLASSINFO typedef PWSANSCLASSINFOA
LPWSANSCLASSINFO typedef LPWSANSCLASSINFOA
endif 
WSASERVICECLASSINFOA	struct 
lpServiceClassId	LPGUID	?
lpszServiceClassName	LPSTR	?
dwCount	DWORD	?
lpClassInfos	LPWSANSCLASSINFOA	?
WSASERVICECLASSINFOA	ends

PWSASERVICECLASSINFOA typedef ptr WSASERVICECLASSINFOA
LPWSASERVICECLASSINFOA typedef ptr WSASERVICECLASSINFOA

WSASERVICECLASSINFOW	struct 
lpServiceClassId	LPGUID	?
lpszServiceClassName	LPWSTR	?
dwCount	DWORD	?
lpClassInfos	LPWSANSCLASSINFOW	?
WSASERVICECLASSINFOW	ends

PWSASERVICECLASSINFOW typedef ptr WSASERVICECLASSINFOW
LPWSASERVICECLASSINFOW typedef ptr WSASERVICECLASSINFOW

ifdef UNICODE
WSASERVICECLASSINFO typedef WSASERVICECLASSINFOW
PWSASERVICECLASSINFO typedef PWSASERVICECLASSINFOW
LPWSASERVICECLASSINFO typedef LPWSASERVICECLASSINFOW
else 
WSASERVICECLASSINFO typedef WSASERVICECLASSINFOA
PWSASERVICECLASSINFO typedef PWSASERVICECLASSINFOA
LPWSASERVICECLASSINFO typedef LPWSASERVICECLASSINFOA
endif 
WSANAMESPACE_INFOA	struct 
NSProviderId	GUID	<>
dwNameSpace	DWORD	?
fActive	BOOL	?
dwVersion	DWORD	?
lpszIdentifier	LPSTR	?
WSANAMESPACE_INFOA	ends

PWSANAMESPACE_INFOA typedef ptr WSANAMESPACE_INFOA
LPWSANAMESPACE_INFOA typedef ptr WSANAMESPACE_INFOA

WSANAMESPACE_INFOW	struct 
NSProviderId	GUID	<>
dwNameSpace	DWORD	?
fActive	BOOL	?
dwVersion	DWORD	?
lpszIdentifier	LPWSTR	?
WSANAMESPACE_INFOW	ends

PWSANAMESPACE_INFOW typedef ptr WSANAMESPACE_INFOW
LPWSANAMESPACE_INFOW typedef ptr WSANAMESPACE_INFOW

ifdef UNICODE
WSANAMESPACE_INFO typedef WSANAMESPACE_INFOW
PWSANAMESPACE_INFO typedef PWSANAMESPACE_INFOW
LPWSANAMESPACE_INFO typedef LPWSANAMESPACE_INFOW
else 
WSANAMESPACE_INFO typedef WSANAMESPACE_INFOA
PWSANAMESPACE_INFO typedef PWSANAMESPACE_INFOA
LPWSANAMESPACE_INFO typedef LPWSANAMESPACE_INFOA
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_accept typedef proto stdcall :SOCKET, :ptr sockaddr, :ptr DWORD
externdef stdcall _imp__accept@12: ptr proto_accept
accept equ <_imp__accept@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_ACCEPT typedef proto stdcall :SOCKET,:ptr sockaddr,:ptr DWORD
LPFN_ACCEPT typedef ptr proto_LPFN_ACCEPT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_bind typedef proto stdcall :SOCKET, :ptr sockaddr, :DWORD
externdef stdcall _imp__bind@12: ptr proto_bind
bind equ <_imp__bind@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_BIND typedef proto stdcall :SOCKET,:ptr sockaddr,:DWORD
LPFN_BIND typedef ptr proto_LPFN_BIND
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_closesocket typedef proto stdcall :SOCKET
externdef stdcall _imp__closesocket@4: ptr proto_closesocket
closesocket equ <_imp__closesocket@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_CLOSESOCKET typedef proto stdcall :SOCKET
LPFN_CLOSESOCKET typedef ptr proto_LPFN_CLOSESOCKET
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_connect typedef proto stdcall :SOCKET, :ptr sockaddr, :DWORD
externdef stdcall _imp__connect@12: ptr proto_connect
connect equ <_imp__connect@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_CONNECT typedef proto stdcall :SOCKET,:ptr sockaddr,:DWORD
LPFN_CONNECT typedef ptr proto_LPFN_CONNECT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_ioctlsocket typedef proto stdcall :SOCKET, :SDWORD, :ptr u_long
externdef stdcall _imp__ioctlsocket@12: ptr proto_ioctlsocket
ioctlsocket equ <_imp__ioctlsocket@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_IOCTLSOCKET typedef proto stdcall :SOCKET,:SDWORD,:ptr u_long
LPFN_IOCTLSOCKET typedef ptr proto_LPFN_IOCTLSOCKET
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_getpeername typedef proto stdcall :SOCKET, :ptr sockaddr, :ptr DWORD
externdef stdcall _imp__getpeername@12: ptr proto_getpeername
getpeername equ <_imp__getpeername@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_GETPEERNAME typedef proto stdcall :SOCKET,:ptr sockaddr,:ptr DWORD
LPFN_GETPEERNAME typedef ptr proto_LPFN_GETPEERNAME
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_getsockname typedef proto stdcall :SOCKET, :ptr sockaddr, :ptr DWORD
externdef stdcall _imp__getsockname@12: ptr proto_getsockname
getsockname equ <_imp__getsockname@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_GETSOCKNAME typedef proto stdcall :SOCKET,:ptr sockaddr,:ptr DWORD
LPFN_GETSOCKNAME typedef ptr proto_LPFN_GETSOCKNAME
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_getsockopt typedef proto stdcall :SOCKET, :DWORD, :DWORD, :ptr SBYTE, :ptr DWORD
externdef stdcall _imp__getsockopt@20: ptr proto_getsockopt
getsockopt equ <_imp__getsockopt@20>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_GETSOCKOPT typedef proto stdcall :SOCKET,:DWORD,:DWORD,:ptr SBYTE,:ptr DWORD
LPFN_GETSOCKOPT typedef ptr proto_LPFN_GETSOCKOPT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_htonl typedef proto stdcall :u_long
externdef stdcall _imp__htonl@4: ptr proto_htonl
htonl equ <_imp__htonl@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_HTONL typedef proto stdcall :u_long
LPFN_HTONL typedef ptr proto_LPFN_HTONL
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_htons typedef proto stdcall :DWORD
externdef stdcall _imp__htons@4: ptr proto_htons
htons equ <_imp__htons@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_HTONS typedef proto stdcall :DWORD
LPFN_HTONS typedef ptr proto_LPFN_HTONS
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_inet_addr typedef proto stdcall :ptr SBYTE
externdef stdcall _imp__inet_addr@4: ptr proto_inet_addr
inet_addr equ <_imp__inet_addr@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_INET_ADDR typedef proto stdcall :ptr SBYTE
LPFN_INET_ADDR typedef ptr proto_LPFN_INET_ADDR
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_inet_ntoa typedef proto stdcall :in_addr
externdef stdcall _imp__inet_ntoa@4: ptr proto_inet_ntoa
inet_ntoa equ <_imp__inet_ntoa@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_INET_NTOA typedef proto stdcall :in_addr
LPFN_INET_NTOA typedef ptr proto_LPFN_INET_NTOA
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_listen typedef proto stdcall :SOCKET, :DWORD
externdef stdcall _imp__listen@8: ptr proto_listen
listen equ <_imp__listen@8>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_LISTEN typedef proto stdcall :SOCKET,:DWORD
LPFN_LISTEN typedef ptr proto_LPFN_LISTEN
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_ntohl typedef proto stdcall :u_long
externdef stdcall _imp__ntohl@4: ptr proto_ntohl
ntohl equ <_imp__ntohl@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_NTOHL typedef proto stdcall :u_long
LPFN_NTOHL typedef ptr proto_LPFN_NTOHL
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_ntohs typedef proto stdcall :u_short
externdef stdcall _imp__ntohs@4: ptr proto_ntohs
ntohs equ <_imp__ntohs@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_NTOHS typedef proto stdcall :u_short
LPFN_NTOHS typedef ptr proto_LPFN_NTOHS
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_recv typedef proto stdcall :SOCKET, :ptr SBYTE, :DWORD, :DWORD
externdef stdcall _imp__recv@16: ptr proto_recv
recv equ <_imp__recv@16>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_RECV typedef proto stdcall :SOCKET,:ptr SBYTE,:DWORD,:DWORD
LPFN_RECV typedef ptr proto_LPFN_RECV
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_recvfrom typedef proto stdcall :SOCKET, :ptr SBYTE, :DWORD, :DWORD, :ptr sockaddr, :ptr DWORD
externdef stdcall _imp__recvfrom@24: ptr proto_recvfrom
recvfrom equ <_imp__recvfrom@24>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_RECVFROM typedef proto stdcall :SOCKET,:ptr SBYTE,:DWORD,:DWORD,:ptr sockaddr,:ptr DWORD
LPFN_RECVFROM typedef ptr proto_LPFN_RECVFROM
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_select typedef proto stdcall :DWORD, :ptr fd_set, :ptr fd_set, :ptr fd_set, :ptr timeval
externdef stdcall _imp__select@20: ptr proto_select
select equ <_imp__select@20>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_SELECT typedef proto stdcall :DWORD,:ptr fd_set,:ptr fd_set,:ptr fd_set,:ptr timeval
LPFN_SELECT typedef ptr proto_LPFN_SELECT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_send typedef proto stdcall :SOCKET, :ptr SBYTE, :DWORD, :DWORD
externdef stdcall _imp__send@16: ptr proto_send
send equ <_imp__send@16>
endif
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_SEND typedef proto stdcall :SOCKET,:ptr SBYTE,:DWORD,:DWORD
LPFN_SEND typedef ptr proto_LPFN_SEND
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_sendto typedef proto stdcall :SOCKET, :ptr SBYTE, :DWORD, :DWORD, :ptr sockaddr, :DWORD
externdef stdcall _imp__sendto@24: ptr proto_sendto
sendto equ <_imp__sendto@24>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_SENDTO typedef proto stdcall :SOCKET,:ptr SBYTE,:DWORD,:DWORD,:ptr sockaddr,:DWORD
LPFN_SENDTO typedef ptr proto_LPFN_SENDTO
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_setsockopt typedef proto stdcall :SOCKET, :DWORD, :DWORD, :ptr SBYTE, :DWORD
externdef stdcall _imp__setsockopt@20: ptr proto_setsockopt
setsockopt equ <_imp__setsockopt@20>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_SETSOCKOPT typedef proto stdcall :SOCKET,:DWORD,:DWORD,:ptr SBYTE,:DWORD
LPFN_SETSOCKOPT typedef ptr proto_LPFN_SETSOCKOPT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_shutdown typedef proto stdcall :SOCKET, :DWORD
externdef stdcall _imp__shutdown@8: ptr proto_shutdown
shutdown equ <_imp__shutdown@8>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_SHUTDOWN typedef proto stdcall :SOCKET,:DWORD
LPFN_SHUTDOWN typedef ptr proto_LPFN_SHUTDOWN
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_socket typedef proto stdcall :DWORD, :DWORD, :DWORD
externdef stdcall _imp__socket@12: ptr proto_socket
socket equ <_imp__socket@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_SOCKET typedef proto stdcall :DWORD,:DWORD,:DWORD
LPFN_SOCKET typedef ptr proto_LPFN_SOCKET
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_gethostbyaddr typedef proto stdcall :ptr SBYTE, :DWORD, :DWORD
externdef stdcall _imp__gethostbyaddr@12: ptr proto_gethostbyaddr
gethostbyaddr equ <_imp__gethostbyaddr@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
addr typedef ptr ptr ptr hostent
len typedef hostent
) typedef hostent

endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_gethostbyname typedef proto stdcall :ptr SBYTE
externdef stdcall _imp__gethostbyname@4: ptr proto_gethostbyname
gethostbyname equ <_imp__gethostbyname@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
) typedef ptr ptr ptr hostent

endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_gethostname typedef proto stdcall :ptr SBYTE, :DWORD
externdef stdcall _imp__gethostname@8: ptr proto_gethostname
gethostname equ <_imp__gethostname@8>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_GETHOSTNAME typedef proto stdcall :ptr SBYTE,:DWORD
LPFN_GETHOSTNAME typedef ptr proto_LPFN_GETHOSTNAME
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_getservbyport typedef proto stdcall :DWORD, :ptr SBYTE
externdef stdcall _imp__getservbyport@8: ptr proto_getservbyport
getservbyport equ <_imp__getservbyport@8>
endif 
if INCL_WINSOCK_API_TYPEDEFS
port typedef ptr ptr servent
) typedef ptr servent

endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_getservbyname typedef proto stdcall :ptr SBYTE, :ptr SBYTE
externdef stdcall _imp__getservbyname@8: ptr proto_getservbyname
getservbyname equ <_imp__getservbyname@8>
endif 
if INCL_WINSOCK_API_TYPEDEFS
name typedef ptr ptr ptr servent
) typedef ptr servent

endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_getprotobynumber typedef proto stdcall :DWORD
externdef stdcall _imp__getprotobynumber@4: ptr proto_getprotobynumber
getprotobynumber equ <_imp__getprotobynumber@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
) typedef ptr ptr protoent

endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_getprotobyname typedef proto stdcall :ptr SBYTE
externdef stdcall _imp__getprotobyname@4: ptr proto_getprotobyname
getprotobyname equ <_imp__getprotobyname@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
) typedef ptr ptr ptr protoent

endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAStartup typedef proto stdcall :WORD, :LPWSADATA
externdef stdcall _imp__WSAStartup@8: ptr proto_WSAStartup
WSAStartup equ <_imp__WSAStartup@8>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSASTARTUP typedef proto stdcall :WORD,:LPWSADATA
LPFN_WSASTARTUP typedef ptr proto_LPFN_WSASTARTUP
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSACleanup typedef proto stdcall 
externdef stdcall _imp__WSACleanup@0: ptr proto_WSACleanup
WSACleanup equ <_imp__WSACleanup@0>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSACLEANUP typedef proto stdcall 
LPFN_WSACLEANUP typedef ptr proto_LPFN_WSACLEANUP
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSASetLastError typedef proto stdcall :DWORD
externdef stdcall _imp__WSASetLastError@4: ptr proto_WSASetLastError
WSASetLastError equ <_imp__WSASetLastError@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSASETLASTERROR typedef proto stdcall :DWORD
LPFN_WSASETLASTERROR typedef ptr proto_LPFN_WSASETLASTERROR
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAGetLastError typedef proto stdcall 
externdef stdcall _imp__WSAGetLastError@0: ptr proto_WSAGetLastError
WSAGetLastError equ <_imp__WSAGetLastError@0>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAGETLASTERROR typedef proto stdcall 
LPFN_WSAGETLASTERROR typedef ptr proto_LPFN_WSAGETLASTERROR
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAIsBlocking typedef proto stdcall 
externdef stdcall _imp__WSAIsBlocking@0: ptr proto_WSAIsBlocking
WSAIsBlocking equ <_imp__WSAIsBlocking@0>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAISBLOCKING typedef proto stdcall 
LPFN_WSAISBLOCKING typedef ptr proto_LPFN_WSAISBLOCKING
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAUnhookBlockingHook typedef proto stdcall 
externdef stdcall _imp__WSAUnhookBlockingHook@0: ptr proto_WSAUnhookBlockingHook
WSAUnhookBlockingHook equ <_imp__WSAUnhookBlockingHook@0>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAUNHOOKBLOCKINGHOOK typedef proto stdcall 
LPFN_WSAUNHOOKBLOCKINGHOOK typedef ptr proto_LPFN_WSAUNHOOKBLOCKINGHOOK
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSASetBlockingHook typedef proto stdcall :FARPROC
externdef stdcall _imp__WSASetBlockingHook@4: ptr proto_WSASetBlockingHook
WSASetBlockingHook equ <_imp__WSASetBlockingHook@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSASETBLOCKINGHOOK typedef proto stdcall :FARPROC
LPFN_WSASETBLOCKINGHOOK typedef ptr proto_LPFN_WSASETBLOCKINGHOOK
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSACancelBlockingCall typedef proto stdcall 
externdef stdcall _imp__WSACancelBlockingCall@0: ptr proto_WSACancelBlockingCall
WSACancelBlockingCall equ <_imp__WSACancelBlockingCall@0>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSACANCELBLOCKINGCALL typedef proto stdcall 
LPFN_WSACANCELBLOCKINGCALL typedef ptr proto_LPFN_WSACANCELBLOCKINGCALL
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAAsyncGetServByName typedef proto stdcall :HWND, :u_int, :ptr SBYTE, :ptr SBYTE, :ptr SBYTE, :DWORD
externdef stdcall _imp__WSAAsyncGetServByName@24: ptr proto_WSAAsyncGetServByName
WSAAsyncGetServByName equ <_imp__WSAAsyncGetServByName@24>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAASYNCGETSERVBYNAME typedef proto stdcall :HWND,:u_int,:ptr SBYTE,:ptr SBYTE,:ptr SBYTE,:DWORD
LPFN_WSAASYNCGETSERVBYNAME typedef ptr proto_LPFN_WSAASYNCGETSERVBYNAME
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAAsyncGetServByPort typedef proto stdcall :HWND, :u_int, :DWORD, :ptr SBYTE, :ptr SBYTE, :DWORD
externdef stdcall _imp__WSAAsyncGetServByPort@24: ptr proto_WSAAsyncGetServByPort
WSAAsyncGetServByPort equ <_imp__WSAAsyncGetServByPort@24>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAASYNCGETSERVBYPORT typedef proto stdcall :HWND,:u_int,:DWORD,:ptr SBYTE,:ptr SBYTE,:DWORD
LPFN_WSAASYNCGETSERVBYPORT typedef ptr proto_LPFN_WSAASYNCGETSERVBYPORT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAAsyncGetProtoByName typedef proto stdcall :HWND, :u_int, :ptr SBYTE, :ptr SBYTE, :DWORD
externdef stdcall _imp__WSAAsyncGetProtoByName@20: ptr proto_WSAAsyncGetProtoByName
WSAAsyncGetProtoByName equ <_imp__WSAAsyncGetProtoByName@20>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAASYNCGETPROTOBYNAME typedef proto stdcall :HWND,:u_int,:ptr SBYTE,:ptr SBYTE,:DWORD
LPFN_WSAASYNCGETPROTOBYNAME typedef ptr proto_LPFN_WSAASYNCGETPROTOBYNAME
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAAsyncGetProtoByNumber typedef proto stdcall :HWND, :u_int, :DWORD, :ptr SBYTE, :DWORD
externdef stdcall _imp__WSAAsyncGetProtoByNumber@20: ptr proto_WSAAsyncGetProtoByNumber
WSAAsyncGetProtoByNumber equ <_imp__WSAAsyncGetProtoByNumber@20>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAASYNCGETPROTOBYNUMBER typedef proto stdcall :HWND,:u_int,:DWORD,:ptr SBYTE,:DWORD
LPFN_WSAASYNCGETPROTOBYNUMBER typedef ptr proto_LPFN_WSAASYNCGETPROTOBYNUMBER
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAAsyncGetHostByName typedef proto stdcall :HWND, :u_int, :ptr SBYTE, :ptr SBYTE, :DWORD
externdef stdcall _imp__WSAAsyncGetHostByName@20: ptr proto_WSAAsyncGetHostByName
WSAAsyncGetHostByName equ <_imp__WSAAsyncGetHostByName@20>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAASYNCGETHOSTBYNAME typedef proto stdcall :HWND,:u_int,:ptr SBYTE,:ptr SBYTE,:DWORD
LPFN_WSAASYNCGETHOSTBYNAME typedef ptr proto_LPFN_WSAASYNCGETHOSTBYNAME
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAAsyncGetHostByAddr typedef proto stdcall :HWND, :u_int, :ptr SBYTE, :DWORD, :DWORD, :ptr SBYTE, :DWORD
externdef stdcall _imp__WSAAsyncGetHostByAddr@28: ptr proto_WSAAsyncGetHostByAddr
WSAAsyncGetHostByAddr equ <_imp__WSAAsyncGetHostByAddr@28>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAASYNCGETHOSTBYADDR typedef proto stdcall :HWND,:u_int,:ptr SBYTE,:DWORD,:DWORD,:ptr SBYTE,:DWORD
LPFN_WSAASYNCGETHOSTBYADDR typedef ptr proto_LPFN_WSAASYNCGETHOSTBYADDR
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSACancelAsyncRequest typedef proto stdcall :HANDLE
externdef stdcall _imp__WSACancelAsyncRequest@4: ptr proto_WSACancelAsyncRequest
WSACancelAsyncRequest equ <_imp__WSACancelAsyncRequest@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSACANCELASYNCREQUEST typedef proto stdcall :HANDLE
LPFN_WSACANCELASYNCREQUEST typedef ptr proto_LPFN_WSACANCELASYNCREQUEST
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAAsyncSelect typedef proto stdcall :SOCKET, :HWND, :u_int, :SDWORD
externdef stdcall _imp__WSAAsyncSelect@16: ptr proto_WSAAsyncSelect
WSAAsyncSelect equ <_imp__WSAAsyncSelect@16>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAASYNCSELECT typedef proto stdcall :SOCKET,:HWND,:u_int,:SDWORD
LPFN_WSAASYNCSELECT typedef ptr proto_LPFN_WSAASYNCSELECT
endif 
proto_LPCONDITIONPROC typedef proto stdcall :LPWSABUF,:LPWSABUF,:LPQOS,:LPQOS,:LPWSABUF,:LPWSABUF,:ptr GROUP_,:DWORD
LPCONDITIONPROC typedef ptr proto_LPCONDITIONPROC
proto_LPWSAOVERLAPPED_COMPLETION_ROUTINE typedef proto stdcall :DWORD,:DWORD,:LPWSAOVERLAPPED,:DWORD
LPWSAOVERLAPPED_COMPLETION_ROUTINE typedef ptr proto_LPWSAOVERLAPPED_COMPLETION_ROUTINE
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAAccept typedef proto stdcall :SOCKET, :ptr sockaddr, :LPINT, :LPCONDITIONPROC, :DWORD
externdef stdcall _imp__WSAAccept@20: ptr proto_WSAAccept
WSAAccept equ <_imp__WSAAccept@20>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAACCEPT typedef proto stdcall :SOCKET,:ptr sockaddr,:LPINT,:LPCONDITIONPROC,:DWORD
LPFN_WSAACCEPT typedef ptr proto_LPFN_WSAACCEPT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSACloseEvent typedef proto stdcall :WSAEVENT
externdef stdcall _imp__WSACloseEvent@4: ptr proto_WSACloseEvent
WSACloseEvent equ <_imp__WSACloseEvent@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSACLOSEEVENT typedef proto stdcall :WSAEVENT
LPFN_WSACLOSEEVENT typedef ptr proto_LPFN_WSACLOSEEVENT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAConnect typedef proto stdcall :SOCKET, :ptr sockaddr, :DWORD, :LPWSABUF, :LPWSABUF, :LPQOS, :LPQOS
externdef stdcall _imp__WSAConnect@28: ptr proto_WSAConnect
WSAConnect equ <_imp__WSAConnect@28>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSACONNECT typedef proto stdcall :SOCKET,:ptr sockaddr,:DWORD,:LPWSABUF,:LPWSABUF,:LPQOS,:LPQOS
LPFN_WSACONNECT typedef ptr proto_LPFN_WSACONNECT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSACreateEvent typedef proto stdcall 
externdef stdcall _imp__WSACreateEvent@0: ptr proto_WSACreateEvent
WSACreateEvent equ <_imp__WSACreateEvent@0>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSACREATEEVENT typedef proto stdcall 
LPFN_WSACREATEEVENT typedef ptr proto_LPFN_WSACREATEEVENT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSADuplicateSocketA typedef proto stdcall :SOCKET, :DWORD, :LPWSAPROTOCOL_INFOA
externdef stdcall _imp__WSADuplicateSocketA@12: ptr proto_WSADuplicateSocketA
WSADuplicateSocketA equ <_imp__WSADuplicateSocketA@12>
proto_WSADuplicateSocketW typedef proto stdcall :SOCKET, :DWORD, :LPWSAPROTOCOL_INFOW
externdef stdcall _imp__WSADuplicateSocketW@12: ptr proto_WSADuplicateSocketW
WSADuplicateSocketW equ <_imp__WSADuplicateSocketW@12>
ifdef UNICODE
WSADuplicateSocket	EQU	<WSADuplicateSocketW>
else 
WSADuplicateSocket	EQU	<WSADuplicateSocketA>
endif 
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSADUPLICATESOCKETA typedef proto stdcall :SOCKET,:DWORD,:LPWSAPROTOCOL_INFOA
LPFN_WSADUPLICATESOCKETA typedef ptr proto_LPFN_WSADUPLICATESOCKETA
proto_LPFN_WSADUPLICATESOCKETW typedef proto stdcall :SOCKET,:DWORD,:LPWSAPROTOCOL_INFOW
LPFN_WSADUPLICATESOCKETW typedef ptr proto_LPFN_WSADUPLICATESOCKETW
ifdef UNICODE
LPFN_WSADUPLICATESOCKET	EQU	<LPFN_WSADUPLICATESOCKETW>
else 
LPFN_WSADUPLICATESOCKET	EQU	<LPFN_WSADUPLICATESOCKETA>
endif 
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAEnumNetworkEvents typedef proto stdcall :SOCKET, :WSAEVENT, :LPWSANETWORKEVENTS
externdef stdcall _imp__WSAEnumNetworkEvents@12: ptr proto_WSAEnumNetworkEvents
WSAEnumNetworkEvents equ <_imp__WSAEnumNetworkEvents@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAENUMNETWORKEVENTS typedef proto stdcall :SOCKET,:WSAEVENT,:LPWSANETWORKEVENTS
LPFN_WSAENUMNETWORKEVENTS typedef ptr proto_LPFN_WSAENUMNETWORKEVENTS
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAEnumProtocolsA typedef proto stdcall :LPINT, :LPWSAPROTOCOL_INFOA, :LPDWORD
externdef stdcall _imp__WSAEnumProtocolsA@12: ptr proto_WSAEnumProtocolsA
WSAEnumProtocolsA equ <_imp__WSAEnumProtocolsA@12>
proto_WSAEnumProtocolsW typedef proto stdcall :LPINT, :LPWSAPROTOCOL_INFOW, :LPDWORD
externdef stdcall _imp__WSAEnumProtocolsW@12: ptr proto_WSAEnumProtocolsW
WSAEnumProtocolsW equ <_imp__WSAEnumProtocolsW@12>
ifdef UNICODE
WSAEnumProtocols	EQU	<WSAEnumProtocolsW>
else 
WSAEnumProtocols	EQU	<WSAEnumProtocolsA>
endif 
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAENUMPROTOCOLSA typedef proto stdcall :LPINT,:LPWSAPROTOCOL_INFOA,:LPDWORD
LPFN_WSAENUMPROTOCOLSA typedef ptr proto_LPFN_WSAENUMPROTOCOLSA
proto_LPFN_WSAENUMPROTOCOLSW typedef proto stdcall :LPINT,:LPWSAPROTOCOL_INFOW,:LPDWORD
LPFN_WSAENUMPROTOCOLSW typedef ptr proto_LPFN_WSAENUMPROTOCOLSW
ifdef UNICODE
LPFN_WSAENUMPROTOCOLS	EQU	<LPFN_WSAENUMPROTOCOLSW>
else 
LPFN_WSAENUMPROTOCOLS	EQU	<LPFN_WSAENUMPROTOCOLSA>
endif 
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAEventSelect typedef proto stdcall :SOCKET, :WSAEVENT, :SDWORD
externdef stdcall _imp__WSAEventSelect@12: ptr proto_WSAEventSelect
WSAEventSelect equ <_imp__WSAEventSelect@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAEVENTSELECT typedef proto stdcall :SOCKET,:WSAEVENT,:SDWORD
LPFN_WSAEVENTSELECT typedef ptr proto_LPFN_WSAEVENTSELECT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAGetOverlappedResult typedef proto stdcall :SOCKET, :LPWSAOVERLAPPED, :LPDWORD, :BOOL, :LPDWORD
externdef stdcall _imp__WSAGetOverlappedResult@20: ptr proto_WSAGetOverlappedResult
WSAGetOverlappedResult equ <_imp__WSAGetOverlappedResult@20>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAGETOVERLAPPEDRESULT typedef proto stdcall :SOCKET,:LPWSAOVERLAPPED,:LPDWORD,:BOOL,:LPDWORD
LPFN_WSAGETOVERLAPPEDRESULT typedef ptr proto_LPFN_WSAGETOVERLAPPEDRESULT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAGetQOSByName typedef proto stdcall :SOCKET, :LPWSABUF, :LPQOS
externdef stdcall _imp__WSAGetQOSByName@12: ptr proto_WSAGetQOSByName
WSAGetQOSByName equ <_imp__WSAGetQOSByName@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAGETQOSBYNAME typedef proto stdcall :SOCKET,:LPWSABUF,:LPQOS
LPFN_WSAGETQOSBYNAME typedef ptr proto_LPFN_WSAGETQOSBYNAME
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAHtonl typedef proto stdcall :SOCKET, :u_long, :ptr u_long
externdef stdcall _imp__WSAHtonl@12: ptr proto_WSAHtonl
WSAHtonl equ <_imp__WSAHtonl@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAHTONL typedef proto stdcall :SOCKET,:u_long,:ptr u_long
LPFN_WSAHTONL typedef ptr proto_LPFN_WSAHTONL
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAHtons typedef proto stdcall :SOCKET, :DWORD, :ptr u_short
externdef stdcall _imp__WSAHtons@12: ptr proto_WSAHtons
WSAHtons equ <_imp__WSAHtons@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAHTONS typedef proto stdcall :SOCKET,:u_short,:ptr u_short
LPFN_WSAHTONS typedef ptr proto_LPFN_WSAHTONS
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAIoctl typedef proto stdcall :SOCKET, :DWORD, :LPVOID, :DWORD, :LPVOID, :DWORD, :LPDWORD, :LPWSAOVERLAPPED, :LPWSAOVERLAPPED_COMPLETION_ROUTINE
externdef stdcall _imp__WSAIoctl@36: ptr proto_WSAIoctl
WSAIoctl equ <_imp__WSAIoctl@36>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAIOCTL typedef proto stdcall :SOCKET,:DWORD,:LPVOID,:DWORD,:LPVOID,:DWORD,:LPDWORD,:LPWSAOVERLAPPED,:LPWSAOVERLAPPED_COMPLETION_ROUTINE
LPFN_WSAIOCTL typedef ptr proto_LPFN_WSAIOCTL
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAJoinLeaf typedef proto stdcall :SOCKET, :ptr sockaddr, :DWORD, :LPWSABUF, :LPWSABUF, :LPQOS, :LPQOS, :DWORD
externdef stdcall _imp__WSAJoinLeaf@32: ptr proto_WSAJoinLeaf
WSAJoinLeaf equ <_imp__WSAJoinLeaf@32>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAJOINLEAF typedef proto stdcall :SOCKET,:ptr sockaddr,:DWORD,:LPWSABUF,:LPWSABUF,:LPQOS,:LPQOS,:DWORD
LPFN_WSAJOINLEAF typedef ptr proto_LPFN_WSAJOINLEAF
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSANtohl typedef proto stdcall :SOCKET, :u_long, :ptr u_long
externdef stdcall _imp__WSANtohl@12: ptr proto_WSANtohl
WSANtohl equ <_imp__WSANtohl@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSANTOHL typedef proto stdcall :SOCKET,:u_long,:ptr u_long
LPFN_WSANTOHL typedef ptr proto_LPFN_WSANTOHL
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSANtohs typedef proto stdcall :SOCKET, :u_short, :ptr u_short
externdef stdcall _imp__WSANtohs@12: ptr proto_WSANtohs
WSANtohs equ <_imp__WSANtohs@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSANTOHS typedef proto stdcall :SOCKET,:u_short,:ptr u_short
LPFN_WSANTOHS typedef ptr proto_LPFN_WSANTOHS
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSARecv typedef proto stdcall :SOCKET, :LPWSABUF, :DWORD, :LPDWORD, :LPDWORD, :LPWSAOVERLAPPED, :LPWSAOVERLAPPED_COMPLETION_ROUTINE
externdef stdcall _imp__WSARecv@28: ptr proto_WSARecv
WSARecv equ <_imp__WSARecv@28>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSARECV typedef proto stdcall :SOCKET,:LPWSABUF,:DWORD,:LPDWORD,:LPDWORD,:LPWSAOVERLAPPED,:LPWSAOVERLAPPED_COMPLETION_ROUTINE
LPFN_WSARECV typedef ptr proto_LPFN_WSARECV
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSARecvDisconnect typedef proto stdcall :SOCKET, :LPWSABUF
externdef stdcall _imp__WSARecvDisconnect@8: ptr proto_WSARecvDisconnect
WSARecvDisconnect equ <_imp__WSARecvDisconnect@8>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSARECVDISCONNECT typedef proto stdcall :SOCKET,:LPWSABUF
LPFN_WSARECVDISCONNECT typedef ptr proto_LPFN_WSARECVDISCONNECT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSARecvFrom typedef proto stdcall :SOCKET, :LPWSABUF, :DWORD, :LPDWORD, :LPDWORD, :ptr sockaddr, :LPINT, :LPWSAOVERLAPPED, :LPWSAOVERLAPPED_COMPLETION_ROUTINE
externdef stdcall _imp__WSARecvFrom@36: ptr proto_WSARecvFrom
WSARecvFrom equ <_imp__WSARecvFrom@36>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSARECVFROM typedef proto stdcall :SOCKET,:LPWSABUF,:DWORD,:LPDWORD,:LPDWORD,:ptr sockaddr,:LPINT,:LPWSAOVERLAPPED,:LPWSAOVERLAPPED_COMPLETION_ROUTINE
LPFN_WSARECVFROM typedef ptr proto_LPFN_WSARECVFROM
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAResetEvent typedef proto stdcall :WSAEVENT
externdef stdcall _imp__WSAResetEvent@4: ptr proto_WSAResetEvent
WSAResetEvent equ <_imp__WSAResetEvent@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSARESETEVENT typedef proto stdcall :WSAEVENT
LPFN_WSARESETEVENT typedef ptr proto_LPFN_WSARESETEVENT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSASend typedef proto stdcall :SOCKET, :LPWSABUF, :DWORD, :LPDWORD, :DWORD, :LPWSAOVERLAPPED, :LPWSAOVERLAPPED_COMPLETION_ROUTINE
externdef stdcall _imp__WSASend@28: ptr proto_WSASend
WSASend equ <_imp__WSASend@28>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSASEND typedef proto stdcall :SOCKET,:LPWSABUF,:DWORD,:LPDWORD,:DWORD,:LPWSAOVERLAPPED,:LPWSAOVERLAPPED_COMPLETION_ROUTINE
LPFN_WSASEND typedef ptr proto_LPFN_WSASEND
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSASendDisconnect typedef proto stdcall :SOCKET, :LPWSABUF
externdef stdcall _imp__WSASendDisconnect@8: ptr proto_WSASendDisconnect
WSASendDisconnect equ <_imp__WSASendDisconnect@8>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSASENDDISCONNECT typedef proto stdcall :SOCKET,:LPWSABUF
LPFN_WSASENDDISCONNECT typedef ptr proto_LPFN_WSASENDDISCONNECT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSASendTo typedef proto stdcall :SOCKET, :LPWSABUF, :DWORD, :LPDWORD, :DWORD, :ptr sockaddr, :DWORD, :LPWSAOVERLAPPED, :LPWSAOVERLAPPED_COMPLETION_ROUTINE
externdef stdcall _imp__WSASendTo@36: ptr proto_WSASendTo
WSASendTo equ <_imp__WSASendTo@36>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSASENDTO typedef proto stdcall :SOCKET,:LPWSABUF,:DWORD,:LPDWORD,:DWORD,:ptr sockaddr,:DWORD,:LPWSAOVERLAPPED,:LPWSAOVERLAPPED_COMPLETION_ROUTINE
LPFN_WSASENDTO typedef ptr proto_LPFN_WSASENDTO
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSASetEvent typedef proto stdcall :WSAEVENT
externdef stdcall _imp__WSASetEvent@4: ptr proto_WSASetEvent
WSASetEvent equ <_imp__WSASetEvent@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSASETEVENT typedef proto stdcall :WSAEVENT
LPFN_WSASETEVENT typedef ptr proto_LPFN_WSASETEVENT
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSASocketA typedef proto stdcall :DWORD, :DWORD, :DWORD, :LPWSAPROTOCOL_INFOA, :GROUP_, :DWORD
externdef stdcall _imp__WSASocketA@24: ptr proto_WSASocketA
WSASocketA equ <_imp__WSASocketA@24>
proto_WSASocketW typedef proto stdcall :DWORD, :DWORD, :DWORD, :LPWSAPROTOCOL_INFOW, :GROUP_, :DWORD
externdef stdcall _imp__WSASocketW@24: ptr proto_WSASocketW
WSASocketW equ <_imp__WSASocketW@24>
ifdef UNICODE
WSASocket	EQU	<WSASocketW>
else 
WSASocket	EQU	<WSASocketA>
endif 
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSASOCKETA typedef proto stdcall :DWORD,:DWORD,:DWORD,:LPWSAPROTOCOL_INFOA,:GROUP_,:DWORD
LPFN_WSASOCKETA typedef ptr proto_LPFN_WSASOCKETA
proto_LPFN_WSASOCKETW typedef proto stdcall :DWORD,:DWORD,:DWORD,:LPWSAPROTOCOL_INFOW,:GROUP_,:DWORD
LPFN_WSASOCKETW typedef ptr proto_LPFN_WSASOCKETW
ifdef UNICODE
LPFN_WSASOCKET	EQU	<LPFN_WSASOCKETW>
else 
LPFN_WSASOCKET	EQU	<LPFN_WSASOCKETA>
endif 
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAWaitForMultipleEvents typedef proto stdcall :DWORD, :ptr WSAEVENT, :BOOL, :DWORD, :BOOL
externdef stdcall _imp__WSAWaitForMultipleEvents@20: ptr proto_WSAWaitForMultipleEvents
WSAWaitForMultipleEvents equ <_imp__WSAWaitForMultipleEvents@20>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAWAITFORMULTIPLEEVENTS typedef proto stdcall :DWORD,:ptr WSAEVENT,:BOOL,:DWORD,:BOOL
LPFN_WSAWAITFORMULTIPLEEVENTS typedef ptr proto_LPFN_WSAWAITFORMULTIPLEEVENTS
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAAddressToStringA typedef proto stdcall :LPSOCKADDR, :DWORD, :LPWSAPROTOCOL_INFOA, :LPSTR, :LPDWORD
externdef stdcall _imp__WSAAddressToStringA@20: ptr proto_WSAAddressToStringA
WSAAddressToStringA equ <_imp__WSAAddressToStringA@20>
proto_WSAAddressToStringW typedef proto stdcall :LPSOCKADDR, :DWORD, :LPWSAPROTOCOL_INFOW, :LPWSTR, :LPDWORD
externdef stdcall _imp__WSAAddressToStringW@20: ptr proto_WSAAddressToStringW
WSAAddressToStringW equ <_imp__WSAAddressToStringW@20>
ifdef UNICODE
WSAAddressToString	EQU	<WSAAddressToStringW>
else 
WSAAddressToString	EQU	<WSAAddressToStringA>
endif 
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAADDRESSTOSTRINGA typedef proto stdcall :LPSOCKADDR,:DWORD,:LPWSAPROTOCOL_INFOA,:LPSTR,:LPDWORD
LPFN_WSAADDRESSTOSTRINGA typedef ptr proto_LPFN_WSAADDRESSTOSTRINGA
proto_LPFN_WSAADDRESSTOSTRINGW typedef proto stdcall :LPSOCKADDR,:DWORD,:LPWSAPROTOCOL_INFOW,:LPWSTR,:LPDWORD
LPFN_WSAADDRESSTOSTRINGW typedef ptr proto_LPFN_WSAADDRESSTOSTRINGW
ifdef UNICODE
LPFN_WSAADDRESSTOSTRING	EQU	<LPFN_WSAADDRESSTOSTRINGW>
else 
LPFN_WSAADDRESSTOSTRING	EQU	<LPFN_WSAADDRESSTOSTRINGA>
endif 
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAStringToAddressA typedef proto stdcall :LPSTR, :DWORD, :LPWSAPROTOCOL_INFOA, :LPSOCKADDR, :LPINT
externdef stdcall _imp__WSAStringToAddressA@20: ptr proto_WSAStringToAddressA
WSAStringToAddressA equ <_imp__WSAStringToAddressA@20>
proto_WSAStringToAddressW typedef proto stdcall :LPWSTR, :DWORD, :LPWSAPROTOCOL_INFOW, :LPSOCKADDR, :LPINT
externdef stdcall _imp__WSAStringToAddressW@20: ptr proto_WSAStringToAddressW
WSAStringToAddressW equ <_imp__WSAStringToAddressW@20>
ifdef UNICODE
WSAStringToAddress	EQU	<WSAStringToAddressW>
else 
WSAStringToAddress	EQU	<WSAStringToAddressA>
endif 
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSASTRINGTOADDRESSA typedef proto stdcall :LPSTR,:DWORD,:LPWSAPROTOCOL_INFOA,:LPSOCKADDR,:LPINT
LPFN_WSASTRINGTOADDRESSA typedef ptr proto_LPFN_WSASTRINGTOADDRESSA
proto_LPFN_WSASTRINGTOADDRESSW typedef proto stdcall :LPWSTR,:DWORD,:LPWSAPROTOCOL_INFOW,:LPSOCKADDR,:LPINT
LPFN_WSASTRINGTOADDRESSW typedef ptr proto_LPFN_WSASTRINGTOADDRESSW
ifdef UNICODE
LPFN_WSASTRINGTOADDRESS	EQU	<LPFN_WSASTRINGTOADDRESSW>
else 
LPFN_WSASTRINGTOADDRESS	EQU	<LPFN_WSASTRINGTOADDRESSA>
endif 
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSALookupServiceBeginA typedef proto stdcall :LPWSAQUERYSETA, :DWORD, :LPHANDLE
externdef stdcall _imp__WSALookupServiceBeginA@12: ptr proto_WSALookupServiceBeginA
WSALookupServiceBeginA equ <_imp__WSALookupServiceBeginA@12>
proto_WSALookupServiceBeginW typedef proto stdcall :LPWSAQUERYSETW, :DWORD, :LPHANDLE
externdef stdcall _imp__WSALookupServiceBeginW@12: ptr proto_WSALookupServiceBeginW
WSALookupServiceBeginW equ <_imp__WSALookupServiceBeginW@12>
ifdef UNICODE
WSALookupServiceBegin	EQU	<WSALookupServiceBeginW>
else 
WSALookupServiceBegin	EQU	<WSALookupServiceBeginA>
endif 
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSALOOKUPSERVICEBEGINA typedef proto stdcall :LPWSAQUERYSETA,:DWORD,:LPHANDLE
LPFN_WSALOOKUPSERVICEBEGINA typedef ptr proto_LPFN_WSALOOKUPSERVICEBEGINA
proto_LPFN_WSALOOKUPSERVICEBEGINW typedef proto stdcall :LPWSAQUERYSETW,:DWORD,:LPHANDLE
LPFN_WSALOOKUPSERVICEBEGINW typedef ptr proto_LPFN_WSALOOKUPSERVICEBEGINW
ifdef UNICODE
LPFN_WSALOOKUPSERVICEBEGIN	EQU	<LPFN_WSALOOKUPSERVICEBEGINW>
else 
LPFN_WSALOOKUPSERVICEBEGIN	EQU	<LPFN_WSALOOKUPSERVICEBEGINA>
endif 
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSALookupServiceNextA typedef proto stdcall :HANDLE, :DWORD, :LPDWORD, :LPWSAQUERYSETA
externdef stdcall _imp__WSALookupServiceNextA@16: ptr proto_WSALookupServiceNextA
WSALookupServiceNextA equ <_imp__WSALookupServiceNextA@16>
proto_WSALookupServiceNextW typedef proto stdcall :HANDLE, :DWORD, :LPDWORD, :LPWSAQUERYSETW
externdef stdcall _imp__WSALookupServiceNextW@16: ptr proto_WSALookupServiceNextW
WSALookupServiceNextW equ <_imp__WSALookupServiceNextW@16>
ifdef UNICODE
WSALookupServiceNext	EQU	<WSALookupServiceNextW>
else 
WSALookupServiceNext	EQU	<WSALookupServiceNextA>
endif 
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSALOOKUPSERVICENEXTA typedef proto stdcall :HANDLE,:DWORD,:LPDWORD,:LPWSAQUERYSETA
LPFN_WSALOOKUPSERVICENEXTA typedef ptr proto_LPFN_WSALOOKUPSERVICENEXTA
proto_LPFN_WSALOOKUPSERVICENEXTW typedef proto stdcall :HANDLE,:DWORD,:LPDWORD,:LPWSAQUERYSETW
LPFN_WSALOOKUPSERVICENEXTW typedef ptr proto_LPFN_WSALOOKUPSERVICENEXTW
ifdef UNICODE
LPFN_WSALOOKUPSERVICENEXT	EQU	<LPFN_WSALOOKUPSERVICENEXTW>
else 
LPFN_WSALOOKUPSERVICENEXT	EQU	<LPFN_WSALOOKUPSERVICENEXTA>
endif 
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSALookupServiceEnd typedef proto stdcall :HANDLE
externdef stdcall _imp__WSALookupServiceEnd@4: ptr proto_WSALookupServiceEnd
WSALookupServiceEnd equ <_imp__WSALookupServiceEnd@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSALOOKUPSERVICEEND typedef proto stdcall :HANDLE
LPFN_WSALOOKUPSERVICEEND typedef ptr proto_LPFN_WSALOOKUPSERVICEEND
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAInstallServiceClassA typedef proto stdcall :LPWSASERVICECLASSINFOA
externdef stdcall _imp__WSAInstallServiceClassA@4: ptr proto_WSAInstallServiceClassA
WSAInstallServiceClassA equ <_imp__WSAInstallServiceClassA@4>
proto_WSAInstallServiceClassW typedef proto stdcall :LPWSASERVICECLASSINFOW
externdef stdcall _imp__WSAInstallServiceClassW@4: ptr proto_WSAInstallServiceClassW
WSAInstallServiceClassW equ <_imp__WSAInstallServiceClassW@4>
ifdef UNICODE
WSAInstallServiceClass	EQU	<WSAInstallServiceClassW>
else 
WSAInstallServiceClass	EQU	<WSAInstallServiceClassA>
endif 
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAINSTALLSERVICECLASSA typedef proto stdcall :LPWSASERVICECLASSINFOA
LPFN_WSAINSTALLSERVICECLASSA typedef ptr proto_LPFN_WSAINSTALLSERVICECLASSA
proto_LPFN_WSAINSTALLSERVICECLASSW typedef proto stdcall :LPWSASERVICECLASSINFOW
LPFN_WSAINSTALLSERVICECLASSW typedef ptr proto_LPFN_WSAINSTALLSERVICECLASSW
ifdef UNICODE
LPFN_WSAINSTALLSERVICECLASS	EQU	<LPFN_WSAINSTALLSERVICECLASSW>
else 
LPFN_WSAINSTALLSERVICECLASS	EQU	<LPFN_WSAINSTALLSERVICECLASSA>
endif 
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSARemoveServiceClass typedef proto stdcall :LPGUID
externdef stdcall _imp__WSARemoveServiceClass@4: ptr proto_WSARemoveServiceClass
WSARemoveServiceClass equ <_imp__WSARemoveServiceClass@4>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAREMOVESERVICECLASS typedef proto stdcall :LPGUID
LPFN_WSAREMOVESERVICECLASS typedef ptr proto_LPFN_WSAREMOVESERVICECLASS
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAGetServiceClassInfoA typedef proto stdcall :LPGUID, :LPGUID, :LPDWORD, :LPWSASERVICECLASSINFOA
externdef stdcall _imp__WSAGetServiceClassInfoA@16: ptr proto_WSAGetServiceClassInfoA
WSAGetServiceClassInfoA equ <_imp__WSAGetServiceClassInfoA@16>
proto_WSAGetServiceClassInfoW typedef proto stdcall :LPGUID, :LPGUID, :LPDWORD, :LPWSASERVICECLASSINFOW
externdef stdcall _imp__WSAGetServiceClassInfoW@16: ptr proto_WSAGetServiceClassInfoW
WSAGetServiceClassInfoW equ <_imp__WSAGetServiceClassInfoW@16>
ifdef UNICODE
WSAGetServiceClassInfo	EQU	<WSAGetServiceClassInfoW>
else 
WSAGetServiceClassInfo	EQU	<WSAGetServiceClassInfoA>
endif 
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAGETSERVICECLASSINFOA typedef proto stdcall :LPGUID,:LPGUID,:LPDWORD,:LPWSASERVICECLASSINFOA
LPFN_WSAGETSERVICECLASSINFOA typedef ptr proto_LPFN_WSAGETSERVICECLASSINFOA
proto_LPFN_WSAGETSERVICECLASSINFOW typedef proto stdcall :LPGUID,:LPGUID,:LPDWORD,:LPWSASERVICECLASSINFOW
LPFN_WSAGETSERVICECLASSINFOW typedef ptr proto_LPFN_WSAGETSERVICECLASSINFOW
ifdef UNICODE
LPFN_WSAGETSERVICECLASSINFO	EQU	<LPFN_WSAGETSERVICECLASSINFOW>
else 
LPFN_WSAGETSERVICECLASSINFO	EQU	<LPFN_WSAGETSERVICECLASSINFOA>
endif 
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAEnumNameSpaceProvidersA typedef proto stdcall :LPDWORD, :LPWSANAMESPACE_INFOA
externdef stdcall _imp__WSAEnumNameSpaceProvidersA@8: ptr proto_WSAEnumNameSpaceProvidersA
WSAEnumNameSpaceProvidersA equ <_imp__WSAEnumNameSpaceProvidersA@8>
proto_WSAEnumNameSpaceProvidersW typedef proto stdcall :LPDWORD, :LPWSANAMESPACE_INFOW
externdef stdcall _imp__WSAEnumNameSpaceProvidersW@8: ptr proto_WSAEnumNameSpaceProvidersW
WSAEnumNameSpaceProvidersW equ <_imp__WSAEnumNameSpaceProvidersW@8>
ifdef UNICODE
WSAEnumNameSpaceProviders	EQU	<WSAEnumNameSpaceProvidersW>
else 
WSAEnumNameSpaceProviders	EQU	<WSAEnumNameSpaceProvidersA>
endif 
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAENUMNAMESPACEPROVIDERSA typedef proto stdcall :LPDWORD,:LPWSANAMESPACE_INFOA
LPFN_WSAENUMNAMESPACEPROVIDERSA typedef ptr proto_LPFN_WSAENUMNAMESPACEPROVIDERSA
proto_LPFN_WSAENUMNAMESPACEPROVIDERSW typedef proto stdcall :LPDWORD,:LPWSANAMESPACE_INFOW
LPFN_WSAENUMNAMESPACEPROVIDERSW typedef ptr proto_LPFN_WSAENUMNAMESPACEPROVIDERSW
ifdef UNICODE
LPFN_WSAENUMNAMESPACEPROVIDERS	EQU	<LPFN_WSAENUMNAMESPACEPROVIDERSW>
else 
LPFN_WSAENUMNAMESPACEPROVIDERS	EQU	<LPFN_WSAENUMNAMESPACEPROVIDERSA>
endif 
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAGetServiceClassNameByClassIdA typedef proto stdcall :LPGUID, :LPSTR, :LPDWORD
externdef stdcall _imp__WSAGetServiceClassNameByClassIdA@12: ptr proto_WSAGetServiceClassNameByClassIdA
WSAGetServiceClassNameByClassIdA equ <_imp__WSAGetServiceClassNameByClassIdA@12>
proto_WSAGetServiceClassNameByClassIdW typedef proto stdcall :LPGUID, :LPWSTR, :LPDWORD
externdef stdcall _imp__WSAGetServiceClassNameByClassIdW@12: ptr proto_WSAGetServiceClassNameByClassIdW
WSAGetServiceClassNameByClassIdW equ <_imp__WSAGetServiceClassNameByClassIdW@12>
ifdef UNICODE
WSAGetServiceClassNameByClassId	EQU	<WSAGetServiceClassNameByClassIdW>
else 
WSAGetServiceClassNameByClassId	EQU	<WSAGetServiceClassNameByClassIdA>
endif 
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA typedef proto stdcall :LPGUID,:LPSTR,:LPDWORD
LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA typedef ptr proto_LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA
proto_LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW typedef proto stdcall :LPGUID,:LPWSTR,:LPDWORD
LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW typedef ptr proto_LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW
ifdef UNICODE
LPFN_WSAGETSERVICECLASSNAMEBYCLASSID	EQU	<LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW>
else 
LPFN_WSAGETSERVICECLASSNAMEBYCLASSID	EQU	<LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA>
endif 
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSASetServiceA typedef proto stdcall :LPWSAQUERYSETA, :WSAESETSERVICEOP, :DWORD
externdef stdcall _imp__WSASetServiceA@12: ptr proto_WSASetServiceA
WSASetServiceA equ <_imp__WSASetServiceA@12>
proto_WSASetServiceW typedef proto stdcall :LPWSAQUERYSETW, :WSAESETSERVICEOP, :DWORD
externdef stdcall _imp__WSASetServiceW@12: ptr proto_WSASetServiceW
WSASetServiceW equ <_imp__WSASetServiceW@12>
ifdef UNICODE
WSASetService	EQU	<WSASetServiceW>
else 
WSASetService	EQU	<WSASetServiceA>
endif 
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSASETSERVICEA typedef proto stdcall :LPWSAQUERYSETA,:WSAESETSERVICEOP,:DWORD
LPFN_WSASETSERVICEA typedef ptr proto_LPFN_WSASETSERVICEA
proto_LPFN_WSASETSERVICEW typedef proto stdcall :LPWSAQUERYSETW,:WSAESETSERVICEOP,:DWORD
LPFN_WSASETSERVICEW typedef ptr proto_LPFN_WSASETSERVICEW
ifdef UNICODE
LPFN_WSASETSERVICE	EQU	<LPFN_WSASETSERVICEW>
else 
LPFN_WSASETSERVICE	EQU	<LPFN_WSASETSERVICEA>
endif 
endif 
if INCL_WINSOCK_API_PROTOTYPES
proto_WSAProviderConfigChange typedef proto stdcall :LPHANDLE, :LPWSAOVERLAPPED, :LPWSAOVERLAPPED_COMPLETION_ROUTINE
externdef stdcall _imp__WSAProviderConfigChange@12: ptr proto_WSAProviderConfigChange
WSAProviderConfigChange equ <_imp__WSAProviderConfigChange@12>
endif 
if INCL_WINSOCK_API_TYPEDEFS
proto_LPFN_WSAPROVIDERCONFIGCHANGE typedef proto stdcall :LPHANDLE,:LPWSAOVERLAPPED,:LPWSAOVERLAPPED_COMPLETION_ROUTINE
LPFN_WSAPROVIDERCONFIGCHANGE typedef ptr proto_LPFN_WSAPROVIDERCONFIGCHANGE
endif 
SOCKADDR_IN typedef sockaddr_in

PSOCKADDR_IN typedef ptr sockaddr_in

LPSOCKADDR_IN typedef ptr sockaddr_in

LINGER typedef linger

PLINGER typedef ptr linger

LPLINGER typedef ptr linger

IN_ADDR typedef in_addr

PIN_ADDR typedef ptr in_addr

LPIN_ADDR typedef ptr in_addr

;;FD_SET typedef fd_set

PFD_SET typedef ptr fd_set

LPFD_SET typedef ptr fd_set

HOSTENT typedef hostent

PHOSTENT typedef ptr hostent

LPHOSTENT typedef ptr hostent

SERVENT typedef servent

PSERVENT typedef ptr servent

LPSERVENT typedef ptr servent

PROTOENT typedef protoent

PPROTOENT typedef ptr protoent

LPPROTOENT typedef ptr protoent

TIMEVAL typedef timeval

PTIMEVAL typedef ptr timeval

LPTIMEVAL typedef ptr timeval

WSAMAKEASYNCREPLY macro buflen,error
	exitm <MAKELONG ( buflen , error ) >
	endm
WSAMAKESELECTREPLY macro event,error
	exitm <MAKELONG ( event , error ) >
	endm
WSAGETASYNCBUFLEN macro lParam
	exitm <LOWORD ( lParam ) >
	endm
WSAGETASYNCERROR macro lParam
	exitm <HIWORD ( lParam ) >
	endm
WSAGETSELECTEVENT macro lParam
	exitm <LOWORD ( lParam ) >
	endm
WSAGETSELECTERROR macro lParam
	exitm <HIWORD ( lParam ) >
	endm
ifdef __cplusplus
;}
endif 
	include poppack.inc
endif 

;--- warnings: 1
;--- errors: 0
;--- end of file ---
