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

ifndef _WINSOCKAPI_
_WINSOCKAPI_	EQU	<>
ifndef _INC_WINDOWS
	include windows.inc
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

ifdef __cplusplus
;extern "C"
;{
endif 

proto___WSAFDIsSet typedef proto stdcall :SOCKET, :ptr fd_set
externdef stdcall _imp____WSAFDIsSet@8: ptr proto___WSAFDIsSet
__WSAFDIsSet equ <_imp____WSAFDIsSet@8>
ifdef __cplusplus
;}
endif 

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 { if ( ( ( fd_set FAR * ) ( set ) ) -> fd_count < FD_SETSIZE ) ( ( fd_set FAR * ) ( set ) ) -> fd_array [ ( ( fd_set FAR * ) ( set ) ) -> fd_count + + ] = ( fd ) ; } 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  ( ( (sizeof t )  and  IOCPARM_MASK )  shl  16 )  or  ( ( x )  shl  8 )  or  ( y ) ) >
	endm
_IOW macro x,y,t
	exitm <( IOC_IN  or  ( ( (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	?
hostent	ends

h_addr	EQU	<h_addr_list>

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
in_addr	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_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
INADDR_ANY	EQU	( u_long ) 00000000h
INADDR_LOOPBACK	EQU	7f000001h
INADDR_BROADCAST	EQU	( u_long ) 0ffffffffh
INADDR_NONE	EQU	0ffffffffh
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 4
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
IP_OPTIONS	EQU	1
IP_MULTICAST_IF	EQU	2
IP_MULTICAST_TTL	EQU	3
IP_MULTICAST_LOOP	EQU	4
IP_ADD_MEMBERSHIP	EQU	5
IP_DROP_MEMBERSHIP	EQU	6
IP_TTL	EQU	7
IP_TOS	EQU	8
IP_DONTFRAGMENT	EQU	9
IP_DEFAULT_MULTICAST_TTL	EQU	1
IP_DEFAULT_MULTICAST_LOOP	EQU	1
IP_MAX_MEMBERSHIPS	EQU	20
ip_mreq	struct 
imr_multiaddr DWORD ?
imr_interface DWORD ?
ip_mreq	ends

INVALID_SOCKET	EQU	<(  not  0 )>
SOCKET_ERROR	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	<( u_int ) (  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_CONNDATA	EQU	7000h
SO_CONNOPT	EQU	7001h
SO_DISCDATA	EQU	7002h
SO_DISCOPT	EQU	7003h
SO_CONNDATALEN	EQU	7004h
SO_CONNOPTLEN	EQU	7005h
SO_DISCDATALEN	EQU	7006h
SO_DISCOPTLEN	EQU	7007h
SO_OPENTYPE	EQU	7008h
SO_SYNCHRONOUS_ALERT	EQU	10h
SO_SYNCHRONOUS_NONALERT	EQU	20h
SO_MAXDG	EQU	7009h
SO_MAXPATHDG	EQU	700Ah
SO_UPDATE_ACCEPT_CONTEXT	EQU	700Bh
SO_CONNECT_TIME	EQU	700Ch
TCP_NODELAY	EQU	0001h
TCP_BSDURGENT	EQU	7000h
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_IPX	EQU	6
AF_NS	EQU	6
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_MAX	EQU	22
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_MAX	EQU	<AF_MAX>
linger	struct 
l_onoff	u_short	?
l_linger	u_short	?
linger	ends

SOL_SOCKET	EQU	0ffffh
SOMAXCONN	EQU	5
MSG_OOB	EQU	1h
MSG_PEEK	EQU	2h
MSG_DONTROUTE	EQU	4h
MSG_MAXIOVLEN	EQU	16
MSG_PARTIAL	EQU	8000h
MAXGETHOSTSTRUCT	EQU	1024
FD_READ	EQU	01h
FD_WRITE	EQU	02h
FD_OOB	EQU	04h
FD_ACCEPT	EQU	08h
FD_CONNECT	EQU	10h
FD_CLOSE	EQU	20h
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 )
WSAEDISCON	EQU	( WSABASEERR + 101 )
WSASYSNOTREADY	EQU	( WSABASEERR + 91 )
WSAVERNOTSUPPORTED	EQU	( WSABASEERR + 92 )
WSANOTINITIALISED	EQU	( WSABASEERR + 93 )
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>
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 __cplusplus
;extern "C"
;{
endif 
proto_accept typedef proto stdcall :SOCKET, :ptr sockaddr, :ptr DWORD
externdef stdcall _imp__accept@12: ptr proto_accept
accept equ <_imp__accept@12>
proto_bind typedef proto stdcall :SOCKET, :ptr sockaddr, :DWORD
externdef stdcall _imp__bind@12: ptr proto_bind
bind equ <_imp__bind@12>
proto_closesocket typedef proto stdcall :SOCKET
externdef stdcall _imp__closesocket@4: ptr proto_closesocket
closesocket equ <_imp__closesocket@4>
proto_connect typedef proto stdcall :SOCKET, :ptr sockaddr, :DWORD
externdef stdcall _imp__connect@12: ptr proto_connect
connect equ <_imp__connect@12>
proto_ioctlsocket typedef proto stdcall :SOCKET, :SDWORD, :ptr u_long
externdef stdcall _imp__ioctlsocket@12: ptr proto_ioctlsocket
ioctlsocket equ <_imp__ioctlsocket@12>
proto_getpeername typedef proto stdcall :SOCKET, :ptr sockaddr, :ptr DWORD
externdef stdcall _imp__getpeername@12: ptr proto_getpeername
getpeername equ <_imp__getpeername@12>
proto_getsockname typedef proto stdcall :SOCKET, :ptr sockaddr, :ptr DWORD
externdef stdcall _imp__getsockname@12: ptr proto_getsockname
getsockname equ <_imp__getsockname@12>
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>
proto_htonl typedef proto stdcall :u_long
externdef stdcall _imp__htonl@4: ptr proto_htonl
htonl equ <_imp__htonl@4>
proto_htons typedef proto stdcall :u_long
externdef stdcall _imp__htons@4: ptr proto_htons
htons equ <_imp__htons@4>
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>
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>
proto_listen typedef proto stdcall :SOCKET, :DWORD
externdef stdcall _imp__listen@8: ptr proto_listen
listen equ <_imp__listen@8>
proto_ntohl typedef proto stdcall :u_long
externdef stdcall _imp__ntohl@4: ptr proto_ntohl
ntohl equ <_imp__ntohl@4>
proto_ntohs typedef proto stdcall :u_long
externdef stdcall _imp__ntohs@4: ptr proto_ntohs
ntohs equ <_imp__ntohs@4>
proto_recv typedef proto stdcall :SOCKET, :ptr SBYTE, :DWORD, :DWORD
externdef stdcall _imp__recv@16: ptr proto_recv
recv equ <_imp__recv@16>
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>
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>
proto_send typedef proto stdcall :SOCKET, :ptr SBYTE, :DWORD, :DWORD
externdef stdcall _imp__send@16: ptr proto_send
send equ <_imp__send@16>
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>
proto_setsockopt typedef proto stdcall :SOCKET, :DWORD, :DWORD, :ptr SBYTE, :DWORD
externdef stdcall _imp__setsockopt@20: ptr proto_setsockopt
setsockopt equ <_imp__setsockopt@20>
proto_shutdown typedef proto stdcall :SOCKET, :DWORD
externdef stdcall _imp__shutdown@8: ptr proto_shutdown
shutdown equ <_imp__shutdown@8>
proto_socket typedef proto stdcall :DWORD, :DWORD, :DWORD
externdef stdcall _imp__socket@12: ptr proto_socket
socket equ <_imp__socket@12>
proto_gethostbyaddr typedef proto stdcall :ptr SBYTE, :DWORD, :DWORD
externdef stdcall _imp__gethostbyaddr@12: ptr proto_gethostbyaddr
gethostbyaddr equ <_imp__gethostbyaddr@12>
proto_gethostbyname typedef proto stdcall :ptr SBYTE
externdef stdcall _imp__gethostbyname@4: ptr proto_gethostbyname
gethostbyname equ <_imp__gethostbyname@4>
proto_gethostname typedef proto stdcall :ptr SBYTE, :DWORD
externdef stdcall _imp__gethostname@8: ptr proto_gethostname
gethostname equ <_imp__gethostname@8>
proto_getservbyport typedef proto stdcall :DWORD, :ptr SBYTE
externdef stdcall _imp__getservbyport@8: ptr proto_getservbyport
getservbyport equ <_imp__getservbyport@8>
proto_getservbyname typedef proto stdcall :ptr SBYTE, :ptr SBYTE
externdef stdcall _imp__getservbyname@8: ptr proto_getservbyname
getservbyname equ <_imp__getservbyname@8>
proto_getprotobynumber typedef proto stdcall :DWORD
externdef stdcall _imp__getprotobynumber@4: ptr proto_getprotobynumber
getprotobynumber equ <_imp__getprotobynumber@4>
proto_getprotobyname typedef proto stdcall :ptr SBYTE
externdef stdcall _imp__getprotobyname@4: ptr proto_getprotobyname
getprotobyname equ <_imp__getprotobyname@4>
proto_WSAStartup typedef proto stdcall :WORD, :LPWSADATA
externdef stdcall _imp__WSAStartup@8: ptr proto_WSAStartup
WSAStartup equ <_imp__WSAStartup@8>
proto_WSACleanup typedef proto stdcall 
externdef stdcall _imp__WSACleanup@0: ptr proto_WSACleanup
WSACleanup equ <_imp__WSACleanup@0>
proto_WSASetLastError typedef proto stdcall :DWORD
externdef stdcall _imp__WSASetLastError@4: ptr proto_WSASetLastError
WSASetLastError equ <_imp__WSASetLastError@4>
proto_WSAGetLastError typedef proto stdcall 
externdef stdcall _imp__WSAGetLastError@0: ptr proto_WSAGetLastError
WSAGetLastError equ <_imp__WSAGetLastError@0>
proto_WSAIsBlocking typedef proto stdcall 
externdef stdcall _imp__WSAIsBlocking@0: ptr proto_WSAIsBlocking
WSAIsBlocking equ <_imp__WSAIsBlocking@0>
proto_WSAUnhookBlockingHook typedef proto stdcall 
externdef stdcall _imp__WSAUnhookBlockingHook@0: ptr proto_WSAUnhookBlockingHook
WSAUnhookBlockingHook equ <_imp__WSAUnhookBlockingHook@0>
proto_WSASetBlockingHook typedef proto stdcall :FARPROC
externdef stdcall _imp__WSASetBlockingHook@4: ptr proto_WSASetBlockingHook
WSASetBlockingHook equ <_imp__WSASetBlockingHook@4>
proto_WSACancelBlockingCall typedef proto stdcall 
externdef stdcall _imp__WSACancelBlockingCall@0: ptr proto_WSACancelBlockingCall
WSACancelBlockingCall equ <_imp__WSACancelBlockingCall@0>
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>
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>
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>
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>
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>
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>
proto_WSACancelAsyncRequest typedef proto stdcall :HANDLE
externdef stdcall _imp__WSACancelAsyncRequest@4: ptr proto_WSACancelAsyncRequest
WSACancelAsyncRequest equ <_imp__WSACancelAsyncRequest@4>
proto_WSAAsyncSelect typedef proto stdcall :SOCKET, :HWND, :u_int, :SDWORD
externdef stdcall _imp__WSAAsyncSelect@16: ptr proto_WSAAsyncSelect
WSAAsyncSelect equ <_imp__WSAAsyncSelect@16>
proto_WSARecvEx typedef proto stdcall :SOCKET, :ptr SBYTE, :DWORD, :ptr DWORD
externdef stdcall _imp__WSARecvEx@16: ptr proto_WSARecvEx
WSARecvEx equ <_imp__WSARecvEx@16>
TRANSMIT_FILE_BUFFERS	struct 
Head	PVOID	?
HeadLength	DWORD	?
Tail	PVOID	?
TailLength	DWORD	?
TRANSMIT_FILE_BUFFERS	ends

PTRANSMIT_FILE_BUFFERS typedef ptr TRANSMIT_FILE_BUFFERS
LPTRANSMIT_FILE_BUFFERS typedef ptr TRANSMIT_FILE_BUFFERS

TF_DISCONNECT	EQU	01h
TF_REUSE_SOCKET	EQU	02h
TF_WRITE_BEHIND	EQU	04h
proto_TransmitFile typedef proto stdcall :SOCKET, :HANDLE, :DWORD, :DWORD, :LPOVERLAPPED, :LPTRANSMIT_FILE_BUFFERS, :DWORD
externdef stdcall _imp__TransmitFile@28: ptr proto_TransmitFile
TransmitFile equ <_imp__TransmitFile@28>
proto_AcceptEx typedef proto stdcall :SOCKET, :SOCKET, :PVOID, :DWORD, :DWORD, :DWORD, :LPDWORD, :LPOVERLAPPED
externdef stdcall _imp__AcceptEx@32: ptr proto_AcceptEx
AcceptEx equ <_imp__AcceptEx@32>
proto_GetAcceptExSockaddrs typedef proto stdcall :PVOID, :DWORD, :DWORD, :DWORD, :ptr ptr sockaddr, :LPINT, :ptr ptr sockaddr, :LPINT
externdef stdcall _imp__GetAcceptExSockaddrs@32: ptr proto_GetAcceptExSockaddrs
GetAcceptExSockaddrs equ <_imp__GetAcceptExSockaddrs@32>
ifdef __cplusplus
;}
endif 
SOCKADDR typedef sockaddr

PSOCKADDR typedef ptr sockaddr

LPSOCKADDR typedef ptr sockaddr

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
endif 

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