### winsock2.h ###

LPWSAQUERYSETA=type
type.LPWSAQUERYSETA=p

LPWSASERVICECLASSINFOW=type
type.LPWSASERVICECLASSINFOW=p

LPWSACOMPLETION=type
type.LPWSACOMPLETION=p

LPWSAQUERYSETW=type
type.LPWSAQUERYSETW=p

LPWSANAMESPACE_INFOEXA=type
type.LPWSANAMESPACE_INFOEXA=p

LPWSANETWORKEVENTS=type
type.LPWSANETWORKEVENTS=p

LPWSASERVICECLASSINFOA=type
type.LPWSASERVICECLASSINFOA=p

LPWSANAMESPACE_INFOA=type
type.LPWSANAMESPACE_INFOA=p

LPWSAPOLLFD=type
type.LPWSAPOLLFD=p

LPWSANAMESPACE_INFOW=type
type.LPWSANAMESPACE_INFOW=p

LPWSAPROTOCOL_INFOA=type
type.LPWSAPROTOCOL_INFOA=p

LPWSAOVERLAPPED=type
type.LPWSAOVERLAPPED=p

LPWSAPROTOCOL_INFOW=type
type.LPWSAPROTOCOL_INFOW=p

LPWSANAMESPACE_INFOEXW=type
type.LPWSANAMESPACE_INFOEXW=p

LPWSADATA=type
type.LPWSADATA=p



__WSAFDIsSet=func
func.__WSAFDIsSet.args=2
func.__WSAFDIsSet.arg.0=SOCKET,fd
func.__WSAFDIsSet.arg.1=fd_set *,ARG_1
func.__WSAFDIsSet.ret=int

accept=func
func.accept.args=3
func.accept.arg.0=SOCKET,s
func.accept.arg.1=sockaddr *,addr
func.accept.arg.2=int *,addrlen
func.accept.ret=SOCKET

bind=func
func.bind.args=3
func.bind.arg.0=SOCKET,s
func.bind.arg.1=const sockaddr *,name
func.bind.arg.2=int,namelen
func.bind.ret=int

closesocket=func
func.closesocket.args=1
func.closesocket.arg.0=SOCKET,s
func.closesocket.ret=int

connect=func
func.connect.args=3
func.connect.arg.0=SOCKET,s
func.connect.arg.1=const sockaddr *,name
func.connect.arg.2=int,namelen
func.connect.ret=int

gethostbyaddr=func
func.gethostbyaddr.args=3
func.gethostbyaddr.arg.0=const char *,addr
func.gethostbyaddr.arg.1=int,len
func.gethostbyaddr.arg.2=int,type
func.gethostbyaddr.ret=hostent *

gethostbyname=func
func.gethostbyname.args=1
func.gethostbyname.arg.0=const char *,name
func.gethostbyname.ret=hostent *

gethostname=func
func.gethostname.args=2
func.gethostname.arg.0=char *,name
func.gethostname.arg.1=int,namelen
func.gethostname.ret=int

GetHostNameW=func
func.GetHostNameW.args=2
func.GetHostNameW.arg.0=PWSTR,name
func.GetHostNameW.arg.1=int,namelen
func.GetHostNameW.ret=int

getpeername=func
func.getpeername.args=3
func.getpeername.arg.0=SOCKET,s
func.getpeername.arg.1=sockaddr *,name
func.getpeername.arg.2=int *,namelen
func.getpeername.ret=int

getprotobyname=func
func.getprotobyname.args=1
func.getprotobyname.arg.0=const char *,name
func.getprotobyname.ret=protoent *

getprotobynumber=func
func.getprotobynumber.args=1
func.getprotobynumber.arg.0=int,number
func.getprotobynumber.ret=protoent *

getservbyname=func
func.getservbyname.args=2
func.getservbyname.arg.0=const char *,name
func.getservbyname.arg.1=const char *,proto
func.getservbyname.ret=servent *

getservbyport=func
func.getservbyport.args=2
func.getservbyport.arg.0=int,port
func.getservbyport.arg.1=const char *,proto
func.getservbyport.ret=servent *

getsockname=func
func.getsockname.args=3
func.getsockname.arg.0=SOCKET,s
func.getsockname.arg.1=sockaddr *,name
func.getsockname.arg.2=int *,namelen
func.getsockname.ret=int

getsockopt=func
func.getsockopt.args=5
func.getsockopt.arg.0=SOCKET,s
func.getsockopt.arg.1=int,level
func.getsockopt.arg.2=int,optname
func.getsockopt.arg.3=char *,optval
func.getsockopt.arg.4=int *,optlen
func.getsockopt.ret=int

htond=func
func.htond.args=1
func.htond.arg.0=double,Value
func.htond.ret=unsigned __int64

htonf=func
func.htonf.args=1
func.htonf.arg.0=float,Value
func.htonf.ret=unsigned __int32

htonl=func
func.htonl.args=1
func.htonl.arg.0=u_long,hostlong
func.htonl.ret=u_long

htonll=func
func.htonll.args=1
func.htonll.arg.0=unsigned __int64,Value
func.htonll.ret=unsigned __int64

htons=func
func.htons.args=1
func.htons.arg.0=u_short,hostshort
func.htons.ret=u_short

inet_addr=func
func.inet_addr.args=1
func.inet_addr.arg.0=const char *,cp
func.inet_addr.ret=unsigned long

inet_ntoa=func
func.inet_ntoa.args=1
func.inet_ntoa.arg.0=in_addr,in
func.inet_ntoa.ret=char *

ioctlsocket=func
func.ioctlsocket.args=3
func.ioctlsocket.arg.0=SOCKET,s
func.ioctlsocket.arg.1=long,cmd
func.ioctlsocket.arg.2=u_long *,argp
func.ioctlsocket.ret=int

listen=func
func.listen.args=2
func.listen.arg.0=SOCKET,s
func.listen.arg.1=int,backlog
func.listen.ret=int

ntohd=func
func.ntohd.args=1
func.ntohd.arg.0=unsigned __int64,Value
func.ntohd.ret=double

ntohf=func
func.ntohf.args=1
func.ntohf.arg.0=unsigned __int32,Value
func.ntohf.ret=float

ntohl=func
func.ntohl.args=1
func.ntohl.arg.0=u_long,netlong
func.ntohl.ret=u_long

ntohll=func
func.ntohll.args=1
func.ntohll.arg.0=unsigned __int64,Value
func.ntohll.ret=unsigned __int64

ntohs=func
func.ntohs.args=1
func.ntohs.arg.0=u_short,netshort
func.ntohs.ret=u_short

recv=func
func.recv.args=4
func.recv.arg.0=SOCKET,s
func.recv.arg.1=char *,buf
func.recv.arg.2=int,len
func.recv.arg.3=int,flags
func.recv.ret=int

recvfrom=func
func.recvfrom.args=6
func.recvfrom.arg.0=SOCKET,s
func.recvfrom.arg.1=char *,buf
func.recvfrom.arg.2=int,len
func.recvfrom.arg.3=int,flags
func.recvfrom.arg.4=sockaddr *,from
func.recvfrom.arg.5=int *,fromlen
func.recvfrom.ret=int

select=func
func.select.args=5
func.select.arg.0=int,nfds
func.select.arg.1=fd_set *,readfds
func.select.arg.2=fd_set *,writefds
func.select.arg.3=fd_set *,exceptfds
func.select.arg.4=const timeval *,timeout
func.select.ret=int

send=func
func.send.args=4
func.send.arg.0=SOCKET,s
func.send.arg.1=const char *,buf
func.send.arg.2=int,len
func.send.arg.3=int,flags
func.send.ret=int

sendto=func
func.sendto.args=6
func.sendto.arg.0=SOCKET,s
func.sendto.arg.1=const char *,buf
func.sendto.arg.2=int,len
func.sendto.arg.3=int,flags
func.sendto.arg.4=const sockaddr *,to
func.sendto.arg.5=int,tolen
func.sendto.ret=int

setsockopt=func
func.setsockopt.args=5
func.setsockopt.arg.0=SOCKET,s
func.setsockopt.arg.1=int,level
func.setsockopt.arg.2=int,optname
func.setsockopt.arg.3=const char *,optval
func.setsockopt.arg.4=int,optlen
func.setsockopt.ret=int

shutdown=func
func.shutdown.args=2
func.shutdown.arg.0=SOCKET,s
func.shutdown.arg.1=int,how
func.shutdown.ret=int

socket=func
func.socket.args=3
func.socket.arg.0=int,af
func.socket.arg.1=int,type
func.socket.arg.2=int,protocol
func.socket.ret=SOCKET

WSAAccept=func
func.WSAAccept.args=5
func.WSAAccept.arg.0=SOCKET,s
func.WSAAccept.arg.1=sockaddr *,addr
func.WSAAccept.arg.2=LPINT,addrlen
func.WSAAccept.arg.3=LPCONDITIONPROC,lpfnCondition
func.WSAAccept.arg.4=DWORD_PTR,dwCallbackData
func.WSAAccept.ret=SOCKET

WSAAddressToStringA=func
func.WSAAddressToStringA.args=5
func.WSAAddressToStringA.arg.0=LPSOCKADDR,lpsaAddress
func.WSAAddressToStringA.arg.1=DWORD,dwAddressLength
func.WSAAddressToStringA.arg.2=LPWSAPROTOCOL_INFOA,lpProtocolInfo
func.WSAAddressToStringA.arg.3=LPSTR,lpszAddressString
func.WSAAddressToStringA.arg.4=LPDWORD,lpdwAddressStringLength
func.WSAAddressToStringA.ret=INT

WSAAddressToStringW=func
func.WSAAddressToStringW.args=5
func.WSAAddressToStringW.arg.0=LPSOCKADDR,lpsaAddress
func.WSAAddressToStringW.arg.1=DWORD,dwAddressLength
func.WSAAddressToStringW.arg.2=LPWSAPROTOCOL_INFOW,lpProtocolInfo
func.WSAAddressToStringW.arg.3=LPWSTR,lpszAddressString
func.WSAAddressToStringW.arg.4=LPDWORD,lpdwAddressStringLength
func.WSAAddressToStringW.ret=INT

WSAAsyncGetHostByAddr=func
func.WSAAsyncGetHostByAddr.args=7
func.WSAAsyncGetHostByAddr.arg.0=HWND,hWnd
func.WSAAsyncGetHostByAddr.arg.1=u_int,wMsg
func.WSAAsyncGetHostByAddr.arg.2=const char *,addr
func.WSAAsyncGetHostByAddr.arg.3=int,len
func.WSAAsyncGetHostByAddr.arg.4=int,type
func.WSAAsyncGetHostByAddr.arg.5=char *,buf
func.WSAAsyncGetHostByAddr.arg.6=int,buflen
func.WSAAsyncGetHostByAddr.ret=HANDLE

WSAAsyncGetHostByName=func
func.WSAAsyncGetHostByName.args=5
func.WSAAsyncGetHostByName.arg.0=HWND,hWnd
func.WSAAsyncGetHostByName.arg.1=u_int,wMsg
func.WSAAsyncGetHostByName.arg.2=const char *,name
func.WSAAsyncGetHostByName.arg.3=char *,buf
func.WSAAsyncGetHostByName.arg.4=int,buflen
func.WSAAsyncGetHostByName.ret=HANDLE

WSAAsyncGetProtoByName=func
func.WSAAsyncGetProtoByName.args=5
func.WSAAsyncGetProtoByName.arg.0=HWND,hWnd
func.WSAAsyncGetProtoByName.arg.1=u_int,wMsg
func.WSAAsyncGetProtoByName.arg.2=const char *,name
func.WSAAsyncGetProtoByName.arg.3=char *,buf
func.WSAAsyncGetProtoByName.arg.4=int,buflen
func.WSAAsyncGetProtoByName.ret=HANDLE

WSAAsyncGetProtoByNumber=func
func.WSAAsyncGetProtoByNumber.args=5
func.WSAAsyncGetProtoByNumber.arg.0=HWND,hWnd
func.WSAAsyncGetProtoByNumber.arg.1=u_int,wMsg
func.WSAAsyncGetProtoByNumber.arg.2=int,number
func.WSAAsyncGetProtoByNumber.arg.3=char *,buf
func.WSAAsyncGetProtoByNumber.arg.4=int,buflen
func.WSAAsyncGetProtoByNumber.ret=HANDLE

WSAAsyncGetServByName=func
func.WSAAsyncGetServByName.args=6
func.WSAAsyncGetServByName.arg.0=HWND,hWnd
func.WSAAsyncGetServByName.arg.1=u_int,wMsg
func.WSAAsyncGetServByName.arg.2=const char *,name
func.WSAAsyncGetServByName.arg.3=const char *,proto
func.WSAAsyncGetServByName.arg.4=char *,buf
func.WSAAsyncGetServByName.arg.5=int,buflen
func.WSAAsyncGetServByName.ret=HANDLE

WSAAsyncGetServByPort=func
func.WSAAsyncGetServByPort.args=6
func.WSAAsyncGetServByPort.arg.0=HWND,hWnd
func.WSAAsyncGetServByPort.arg.1=u_int,wMsg
func.WSAAsyncGetServByPort.arg.2=int,port
func.WSAAsyncGetServByPort.arg.3=const char *,proto
func.WSAAsyncGetServByPort.arg.4=char *,buf
func.WSAAsyncGetServByPort.arg.5=int,buflen
func.WSAAsyncGetServByPort.ret=HANDLE

WSAAsyncSelect=func
func.WSAAsyncSelect.args=4
func.WSAAsyncSelect.arg.0=SOCKET,s
func.WSAAsyncSelect.arg.1=HWND,hWnd
func.WSAAsyncSelect.arg.2=u_int,wMsg
func.WSAAsyncSelect.arg.3=long,lEvent
func.WSAAsyncSelect.ret=int

WSACancelAsyncRequest=func
func.WSACancelAsyncRequest.args=1
func.WSACancelAsyncRequest.arg.0=HANDLE,hAsyncTaskHandle
func.WSACancelAsyncRequest.ret=int

WSACancelBlockingCall=func
func.WSACancelBlockingCall.args=0
func.WSACancelBlockingCall.ret=int

WSACleanup=func
func.WSACleanup.args=0
func.WSACleanup.ret=int

WSACloseEvent=func
func.WSACloseEvent.args=1
func.WSACloseEvent.arg.0=WSAEVENT,hEvent
func.WSACloseEvent.ret=BOOL

WSAConnect=func
func.WSAConnect.args=7
func.WSAConnect.arg.0=SOCKET,s
func.WSAConnect.arg.1=const sockaddr *,name
func.WSAConnect.arg.2=int,namelen
func.WSAConnect.arg.3=LPWSABUF,lpCallerData
func.WSAConnect.arg.4=LPWSABUF,lpCalleeData
func.WSAConnect.arg.5=LPQOS,lpSQOS
func.WSAConnect.arg.6=LPQOS,lpGQOS
func.WSAConnect.ret=int

WSAConnectByList=func
func.WSAConnectByList.args=8
func.WSAConnectByList.arg.0=SOCKET,s
func.WSAConnectByList.arg.1=PSOCKET_ADDRESS_LIST,SocketAddress
func.WSAConnectByList.arg.2=LPDWORD,LocalAddressLength
func.WSAConnectByList.arg.3=LPSOCKADDR,LocalAddress
func.WSAConnectByList.arg.4=LPDWORD,RemoteAddressLength
func.WSAConnectByList.arg.5=LPSOCKADDR,RemoteAddress
func.WSAConnectByList.arg.6=const timeval *,timeout
func.WSAConnectByList.arg.7=LPWSAOVERLAPPED,Reserved
func.WSAConnectByList.ret=BOOL

WSAConnectByNameA=func
func.WSAConnectByNameA.args=9
func.WSAConnectByNameA.arg.0=SOCKET,s
func.WSAConnectByNameA.arg.1=LPCSTR,nodename
func.WSAConnectByNameA.arg.2=LPCSTR,servicename
func.WSAConnectByNameA.arg.3=LPDWORD,LocalAddressLength
func.WSAConnectByNameA.arg.4=LPSOCKADDR,LocalAddress
func.WSAConnectByNameA.arg.5=LPDWORD,RemoteAddressLength
func.WSAConnectByNameA.arg.6=LPSOCKADDR,RemoteAddress
func.WSAConnectByNameA.arg.7=const timeval *,timeout
func.WSAConnectByNameA.arg.8=LPWSAOVERLAPPED,Reserved
func.WSAConnectByNameA.ret=BOOL

WSAConnectByNameW=func
func.WSAConnectByNameW.args=9
func.WSAConnectByNameW.arg.0=SOCKET,s
func.WSAConnectByNameW.arg.1=LPWSTR,nodename
func.WSAConnectByNameW.arg.2=LPWSTR,servicename
func.WSAConnectByNameW.arg.3=LPDWORD,LocalAddressLength
func.WSAConnectByNameW.arg.4=LPSOCKADDR,LocalAddress
func.WSAConnectByNameW.arg.5=LPDWORD,RemoteAddressLength
func.WSAConnectByNameW.arg.6=LPSOCKADDR,RemoteAddress
func.WSAConnectByNameW.arg.7=const timeval *,timeout
func.WSAConnectByNameW.arg.8=LPWSAOVERLAPPED,Reserved
func.WSAConnectByNameW.ret=BOOL

WSACreateEvent=func
func.WSACreateEvent.args=0
func.WSACreateEvent.ret=WSAEVENT

WSADuplicateSocketA=func
func.WSADuplicateSocketA.args=3
func.WSADuplicateSocketA.arg.0=SOCKET,s
func.WSADuplicateSocketA.arg.1=DWORD,dwProcessId
func.WSADuplicateSocketA.arg.2=LPWSAPROTOCOL_INFOA,lpProtocolInfo
func.WSADuplicateSocketA.ret=int

WSADuplicateSocketW=func
func.WSADuplicateSocketW.args=3
func.WSADuplicateSocketW.arg.0=SOCKET,s
func.WSADuplicateSocketW.arg.1=DWORD,dwProcessId
func.WSADuplicateSocketW.arg.2=LPWSAPROTOCOL_INFOW,lpProtocolInfo
func.WSADuplicateSocketW.ret=int

WSAEnumNameSpaceProvidersA=func
func.WSAEnumNameSpaceProvidersA.args=2
func.WSAEnumNameSpaceProvidersA.arg.0=LPDWORD,lpdwBufferLength
func.WSAEnumNameSpaceProvidersA.arg.1=LPWSANAMESPACE_INFOA,lpnspBuffer
func.WSAEnumNameSpaceProvidersA.ret=INT

WSAEnumNameSpaceProvidersExA=func
func.WSAEnumNameSpaceProvidersExA.args=2
func.WSAEnumNameSpaceProvidersExA.arg.0=LPDWORD,lpdwBufferLength
func.WSAEnumNameSpaceProvidersExA.arg.1=LPWSANAMESPACE_INFOEXA,lpnspBuffer
func.WSAEnumNameSpaceProvidersExA.ret=INT

WSAEnumNameSpaceProvidersExW=func
func.WSAEnumNameSpaceProvidersExW.args=2
func.WSAEnumNameSpaceProvidersExW.arg.0=LPDWORD,lpdwBufferLength
func.WSAEnumNameSpaceProvidersExW.arg.1=LPWSANAMESPACE_INFOEXW,lpnspBuffer
func.WSAEnumNameSpaceProvidersExW.ret=INT

WSAEnumNameSpaceProvidersW=func
func.WSAEnumNameSpaceProvidersW.args=2
func.WSAEnumNameSpaceProvidersW.arg.0=LPDWORD,lpdwBufferLength
func.WSAEnumNameSpaceProvidersW.arg.1=LPWSANAMESPACE_INFOW,lpnspBuffer
func.WSAEnumNameSpaceProvidersW.ret=INT

WSAEnumNetworkEvents=func
func.WSAEnumNetworkEvents.args=3
func.WSAEnumNetworkEvents.arg.0=SOCKET,s
func.WSAEnumNetworkEvents.arg.1=WSAEVENT,hEventObject
func.WSAEnumNetworkEvents.arg.2=LPWSANETWORKEVENTS,lpNetworkEvents
func.WSAEnumNetworkEvents.ret=int

WSAEnumProtocolsA=func
func.WSAEnumProtocolsA.args=3
func.WSAEnumProtocolsA.arg.0=LPINT,lpiProtocols
func.WSAEnumProtocolsA.arg.1=LPWSAPROTOCOL_INFOA,lpProtocolBuffer
func.WSAEnumProtocolsA.arg.2=LPDWORD,lpdwBufferLength
func.WSAEnumProtocolsA.ret=int

WSAEnumProtocolsW=func
func.WSAEnumProtocolsW.args=3
func.WSAEnumProtocolsW.arg.0=LPINT,lpiProtocols
func.WSAEnumProtocolsW.arg.1=LPWSAPROTOCOL_INFOW,lpProtocolBuffer
func.WSAEnumProtocolsW.arg.2=LPDWORD,lpdwBufferLength
func.WSAEnumProtocolsW.ret=int

WSAEventSelect=func
func.WSAEventSelect.args=3
func.WSAEventSelect.arg.0=SOCKET,s
func.WSAEventSelect.arg.1=WSAEVENT,hEventObject
func.WSAEventSelect.arg.2=long,lNetworkEvents
func.WSAEventSelect.ret=int

WSAGetLastError=func
func.WSAGetLastError.args=0
func.WSAGetLastError.ret=int

WSAGetOverlappedResult=func
func.WSAGetOverlappedResult.args=5
func.WSAGetOverlappedResult.arg.0=SOCKET,s
func.WSAGetOverlappedResult.arg.1=LPWSAOVERLAPPED,lpOverlapped
func.WSAGetOverlappedResult.arg.2=LPDWORD,lpcbTransfer
func.WSAGetOverlappedResult.arg.3=BOOL,fWait
func.WSAGetOverlappedResult.arg.4=LPDWORD,lpdwFlags
func.WSAGetOverlappedResult.ret=BOOL

WSAGetQOSByName=func
func.WSAGetQOSByName.args=3
func.WSAGetQOSByName.arg.0=SOCKET,s
func.WSAGetQOSByName.arg.1=LPWSABUF,lpQOSName
func.WSAGetQOSByName.arg.2=LPQOS,lpQOS
func.WSAGetQOSByName.ret=BOOL

WSAGetServiceClassInfoA=func
func.WSAGetServiceClassInfoA.args=4
func.WSAGetServiceClassInfoA.arg.0=LPGUID,lpProviderId
func.WSAGetServiceClassInfoA.arg.1=LPGUID,lpServiceClassId
func.WSAGetServiceClassInfoA.arg.2=LPDWORD,lpdwBufSize
func.WSAGetServiceClassInfoA.arg.3=LPWSASERVICECLASSINFOA,lpServiceClassInfo
func.WSAGetServiceClassInfoA.ret=INT

WSAGetServiceClassInfoW=func
func.WSAGetServiceClassInfoW.args=4
func.WSAGetServiceClassInfoW.arg.0=LPGUID,lpProviderId
func.WSAGetServiceClassInfoW.arg.1=LPGUID,lpServiceClassId
func.WSAGetServiceClassInfoW.arg.2=LPDWORD,lpdwBufSize
func.WSAGetServiceClassInfoW.arg.3=LPWSASERVICECLASSINFOW,lpServiceClassInfo
func.WSAGetServiceClassInfoW.ret=INT

WSAGetServiceClassNameByClassIdA=func
func.WSAGetServiceClassNameByClassIdA.args=3
func.WSAGetServiceClassNameByClassIdA.arg.0=LPGUID,lpServiceClassId
func.WSAGetServiceClassNameByClassIdA.arg.1=LPSTR,lpszServiceClassName
func.WSAGetServiceClassNameByClassIdA.arg.2=LPDWORD,lpdwBufferLength
func.WSAGetServiceClassNameByClassIdA.ret=INT

WSAGetServiceClassNameByClassIdW=func
func.WSAGetServiceClassNameByClassIdW.args=3
func.WSAGetServiceClassNameByClassIdW.arg.0=LPGUID,lpServiceClassId
func.WSAGetServiceClassNameByClassIdW.arg.1=LPWSTR,lpszServiceClassName
func.WSAGetServiceClassNameByClassIdW.arg.2=LPDWORD,lpdwBufferLength
func.WSAGetServiceClassNameByClassIdW.ret=INT

WSAHtonl=func
func.WSAHtonl.args=3
func.WSAHtonl.arg.0=SOCKET,s
func.WSAHtonl.arg.1=u_long,hostlong
func.WSAHtonl.arg.2=u_long *,lpnetlong
func.WSAHtonl.ret=int

WSAHtons=func
func.WSAHtons.args=3
func.WSAHtons.arg.0=SOCKET,s
func.WSAHtons.arg.1=u_short,hostshort
func.WSAHtons.arg.2=u_short *,lpnetshort
func.WSAHtons.ret=int

WSAInstallServiceClassA=func
func.WSAInstallServiceClassA.args=1
func.WSAInstallServiceClassA.arg.0=LPWSASERVICECLASSINFOA,lpServiceClassInfo
func.WSAInstallServiceClassA.ret=INT

WSAInstallServiceClassW=func
func.WSAInstallServiceClassW.args=1
func.WSAInstallServiceClassW.arg.0=LPWSASERVICECLASSINFOW,lpServiceClassInfo
func.WSAInstallServiceClassW.ret=INT

WSAIoctl=func
func.WSAIoctl.args=9
func.WSAIoctl.arg.0=SOCKET,s
func.WSAIoctl.arg.1=DWORD,dwIoControlCode
func.WSAIoctl.arg.2=LPVOID,lpvInBuffer
func.WSAIoctl.arg.3=DWORD,cbInBuffer
func.WSAIoctl.arg.4=LPVOID,lpvOutBuffer
func.WSAIoctl.arg.5=DWORD,cbOutBuffer
func.WSAIoctl.arg.6=LPDWORD,lpcbBytesReturned
func.WSAIoctl.arg.7=LPWSAOVERLAPPED,lpOverlapped
func.WSAIoctl.arg.8=LPWSAOVERLAPPED_COMPLETION_ROUTINE,lpCompletionRoutine
func.WSAIoctl.ret=int

WSAIsBlocking=func
func.WSAIsBlocking.args=0
func.WSAIsBlocking.ret=BOOL

WSAJoinLeaf=func
func.WSAJoinLeaf.args=8
func.WSAJoinLeaf.arg.0=SOCKET,s
func.WSAJoinLeaf.arg.1=const sockaddr *,name
func.WSAJoinLeaf.arg.2=int,namelen
func.WSAJoinLeaf.arg.3=LPWSABUF,lpCallerData
func.WSAJoinLeaf.arg.4=LPWSABUF,lpCalleeData
func.WSAJoinLeaf.arg.5=LPQOS,lpSQOS
func.WSAJoinLeaf.arg.6=LPQOS,lpGQOS
func.WSAJoinLeaf.arg.7=DWORD,dwFlags
func.WSAJoinLeaf.ret=SOCKET

WSALookupServiceBeginA=func
func.WSALookupServiceBeginA.args=3
func.WSALookupServiceBeginA.arg.0=LPWSAQUERYSETA,lpqsRestrictions
func.WSALookupServiceBeginA.arg.1=DWORD,dwControlFlags
func.WSALookupServiceBeginA.arg.2=LPHANDLE,lphLookup
func.WSALookupServiceBeginA.ret=INT

WSALookupServiceBeginW=func
func.WSALookupServiceBeginW.args=3
func.WSALookupServiceBeginW.arg.0=LPWSAQUERYSETW,lpqsRestrictions
func.WSALookupServiceBeginW.arg.1=DWORD,dwControlFlags
func.WSALookupServiceBeginW.arg.2=LPHANDLE,lphLookup
func.WSALookupServiceBeginW.ret=INT

WSALookupServiceEnd=func
func.WSALookupServiceEnd.args=1
func.WSALookupServiceEnd.arg.0=HANDLE,hLookup
func.WSALookupServiceEnd.ret=INT

WSALookupServiceNextA=func
func.WSALookupServiceNextA.args=4
func.WSALookupServiceNextA.arg.0=HANDLE,hLookup
func.WSALookupServiceNextA.arg.1=DWORD,dwControlFlags
func.WSALookupServiceNextA.arg.2=LPDWORD,lpdwBufferLength
func.WSALookupServiceNextA.arg.3=LPWSAQUERYSETA,lpqsResults
func.WSALookupServiceNextA.ret=INT

WSALookupServiceNextW=func
func.WSALookupServiceNextW.args=4
func.WSALookupServiceNextW.arg.0=HANDLE,hLookup
func.WSALookupServiceNextW.arg.1=DWORD,dwControlFlags
func.WSALookupServiceNextW.arg.2=LPDWORD,lpdwBufferLength
func.WSALookupServiceNextW.arg.3=LPWSAQUERYSETW,lpqsResults
func.WSALookupServiceNextW.ret=INT

WSANSPIoctl=func
func.WSANSPIoctl.args=8
func.WSANSPIoctl.arg.0=HANDLE,hLookup
func.WSANSPIoctl.arg.1=DWORD,dwControlCode
func.WSANSPIoctl.arg.2=LPVOID,lpvInBuffer
func.WSANSPIoctl.arg.3=DWORD,cbInBuffer
func.WSANSPIoctl.arg.4=LPVOID,lpvOutBuffer
func.WSANSPIoctl.arg.5=DWORD,cbOutBuffer
func.WSANSPIoctl.arg.6=LPDWORD,lpcbBytesReturned
func.WSANSPIoctl.arg.7=LPWSACOMPLETION,lpCompletion
func.WSANSPIoctl.ret=INT

WSANtohl=func
func.WSANtohl.args=3
func.WSANtohl.arg.0=SOCKET,s
func.WSANtohl.arg.1=u_long,netlong
func.WSANtohl.arg.2=u_long *,lphostlong
func.WSANtohl.ret=int

WSANtohs=func
func.WSANtohs.args=3
func.WSANtohs.arg.0=SOCKET,s
func.WSANtohs.arg.1=u_short,netshort
func.WSANtohs.arg.2=u_short *,lphostshort
func.WSANtohs.ret=int

WSAPoll=func
func.WSAPoll.args=3
func.WSAPoll.arg.0=LPWSAPOLLFD,fdArray
func.WSAPoll.arg.1=ULONG,fds
func.WSAPoll.arg.2=INT,timeout
func.WSAPoll.ret=int

WSAProviderConfigChange=func
func.WSAProviderConfigChange.args=3
func.WSAProviderConfigChange.arg.0=LPHANDLE,lpNotificationHandle
func.WSAProviderConfigChange.arg.1=LPWSAOVERLAPPED,lpOverlapped
func.WSAProviderConfigChange.arg.2=LPWSAOVERLAPPED_COMPLETION_ROUTINE,lpCompletionRoutine
func.WSAProviderConfigChange.ret=INT

WSARecv=func
func.WSARecv.args=7
func.WSARecv.arg.0=SOCKET,s
func.WSARecv.arg.1=LPWSABUF,lpBuffers
func.WSARecv.arg.2=DWORD,dwBufferCount
func.WSARecv.arg.3=LPDWORD,lpNumberOfBytesRecvd
func.WSARecv.arg.4=LPDWORD,lpFlags
func.WSARecv.arg.5=LPWSAOVERLAPPED,lpOverlapped
func.WSARecv.arg.6=LPWSAOVERLAPPED_COMPLETION_ROUTINE,lpCompletionRoutine
func.WSARecv.ret=int

WSARecvDisconnect=func
func.WSARecvDisconnect.args=2
func.WSARecvDisconnect.arg.0=SOCKET,s
func.WSARecvDisconnect.arg.1=LPWSABUF,lpInboundDisconnectData
func.WSARecvDisconnect.ret=int

WSARecvFrom=func
func.WSARecvFrom.args=9
func.WSARecvFrom.arg.0=SOCKET,s
func.WSARecvFrom.arg.1=LPWSABUF,lpBuffers
func.WSARecvFrom.arg.2=DWORD,dwBufferCount
func.WSARecvFrom.arg.3=LPDWORD,lpNumberOfBytesRecvd
func.WSARecvFrom.arg.4=LPDWORD,lpFlags
func.WSARecvFrom.arg.5=sockaddr *,lpFrom
func.WSARecvFrom.arg.6=LPINT,lpFromlen
func.WSARecvFrom.arg.7=LPWSAOVERLAPPED,lpOverlapped
func.WSARecvFrom.arg.8=LPWSAOVERLAPPED_COMPLETION_ROUTINE,lpCompletionRoutine
func.WSARecvFrom.ret=int

WSARemoveServiceClass=func
func.WSARemoveServiceClass.args=1
func.WSARemoveServiceClass.arg.0=LPGUID,lpServiceClassId
func.WSARemoveServiceClass.ret=INT

WSAResetEvent=func
func.WSAResetEvent.args=1
func.WSAResetEvent.arg.0=WSAEVENT,hEvent
func.WSAResetEvent.ret=BOOL

WSASend=func
func.WSASend.args=7
func.WSASend.arg.0=SOCKET,s
func.WSASend.arg.1=LPWSABUF,lpBuffers
func.WSASend.arg.2=DWORD,dwBufferCount
func.WSASend.arg.3=LPDWORD,lpNumberOfBytesSent
func.WSASend.arg.4=DWORD,dwFlags
func.WSASend.arg.5=LPWSAOVERLAPPED,lpOverlapped
func.WSASend.arg.6=LPWSAOVERLAPPED_COMPLETION_ROUTINE,lpCompletionRoutine
func.WSASend.ret=int

WSASendDisconnect=func
func.WSASendDisconnect.args=2
func.WSASendDisconnect.arg.0=SOCKET,s
func.WSASendDisconnect.arg.1=LPWSABUF,lpOutboundDisconnectData
func.WSASendDisconnect.ret=int

WSASendMsg=func
func.WSASendMsg.args=6
func.WSASendMsg.arg.0=SOCKET,Handle
func.WSASendMsg.arg.1=LPWSAMSG,lpMsg
func.WSASendMsg.arg.2=DWORD,dwFlags
func.WSASendMsg.arg.3=LPDWORD,lpNumberOfBytesSent
func.WSASendMsg.arg.4=LPWSAOVERLAPPED,lpOverlapped
func.WSASendMsg.arg.5=LPWSAOVERLAPPED_COMPLETION_ROUTINE,lpCompletionRoutine
func.WSASendMsg.ret=int

WSASendTo=func
func.WSASendTo.args=9
func.WSASendTo.arg.0=SOCKET,s
func.WSASendTo.arg.1=LPWSABUF,lpBuffers
func.WSASendTo.arg.2=DWORD,dwBufferCount
func.WSASendTo.arg.3=LPDWORD,lpNumberOfBytesSent
func.WSASendTo.arg.4=DWORD,dwFlags
func.WSASendTo.arg.5=const sockaddr *,lpTo
func.WSASendTo.arg.6=int,iTolen
func.WSASendTo.arg.7=LPWSAOVERLAPPED,lpOverlapped
func.WSASendTo.arg.8=LPWSAOVERLAPPED_COMPLETION_ROUTINE,lpCompletionRoutine
func.WSASendTo.ret=int

WSASetBlockingHook=func
func.WSASetBlockingHook.args=1
func.WSASetBlockingHook.arg.0=FARPROC,lpBlockFunc
func.WSASetBlockingHook.ret=FARPROC

WSASetEvent=func
func.WSASetEvent.args=1
func.WSASetEvent.arg.0=WSAEVENT,hEvent
func.WSASetEvent.ret=BOOL

WSASetLastError=func
func.WSASetLastError.args=1
func.WSASetLastError.arg.0=int,iError
func.WSASetLastError.ret=void

WSASetServiceA=func
func.WSASetServiceA.args=3
func.WSASetServiceA.arg.0=LPWSAQUERYSETA,lpqsRegInfo
func.WSASetServiceA.arg.1=WSAESETSERVICEOP,essoperation
func.WSASetServiceA.arg.2=DWORD,dwControlFlags
func.WSASetServiceA.ret=INT

WSASetServiceW=func
func.WSASetServiceW.args=3
func.WSASetServiceW.arg.0=LPWSAQUERYSETW,lpqsRegInfo
func.WSASetServiceW.arg.1=WSAESETSERVICEOP,essoperation
func.WSASetServiceW.arg.2=DWORD,dwControlFlags
func.WSASetServiceW.ret=INT

WSASocketA=func
func.WSASocketA.args=6
func.WSASocketA.arg.0=int,af
func.WSASocketA.arg.1=int,type
func.WSASocketA.arg.2=int,protocol
func.WSASocketA.arg.3=LPWSAPROTOCOL_INFOA,lpProtocolInfo
func.WSASocketA.arg.4=GROUP,g
func.WSASocketA.arg.5=DWORD,dwFlags
func.WSASocketA.ret=SOCKET

WSASocketW=func
func.WSASocketW.args=6
func.WSASocketW.arg.0=int,af
func.WSASocketW.arg.1=int,type
func.WSASocketW.arg.2=int,protocol
func.WSASocketW.arg.3=LPWSAPROTOCOL_INFOW,lpProtocolInfo
func.WSASocketW.arg.4=GROUP,g
func.WSASocketW.arg.5=DWORD,dwFlags
func.WSASocketW.ret=SOCKET

WSAStartup=func
func.WSAStartup.args=2
func.WSAStartup.arg.0=WORD,wVersionRequested
func.WSAStartup.arg.1=LPWSADATA,lpWSAData
func.WSAStartup.ret=int

WSAStringToAddressA=func
func.WSAStringToAddressA.args=5
func.WSAStringToAddressA.arg.0=LPSTR,AddressString
func.WSAStringToAddressA.arg.1=INT,AddressFamily
func.WSAStringToAddressA.arg.2=LPWSAPROTOCOL_INFOA,lpProtocolInfo
func.WSAStringToAddressA.arg.3=LPSOCKADDR,lpAddress
func.WSAStringToAddressA.arg.4=LPINT,lpAddressLength
func.WSAStringToAddressA.ret=INT

WSAStringToAddressW=func
func.WSAStringToAddressW.args=5
func.WSAStringToAddressW.arg.0=LPWSTR,AddressString
func.WSAStringToAddressW.arg.1=INT,AddressFamily
func.WSAStringToAddressW.arg.2=LPWSAPROTOCOL_INFOW,lpProtocolInfo
func.WSAStringToAddressW.arg.3=LPSOCKADDR,lpAddress
func.WSAStringToAddressW.arg.4=LPINT,lpAddressLength
func.WSAStringToAddressW.ret=INT

WSAUnhookBlockingHook=func
func.WSAUnhookBlockingHook.args=0
func.WSAUnhookBlockingHook.ret=int

WSAWaitForMultipleEvents=func
func.WSAWaitForMultipleEvents.args=5
func.WSAWaitForMultipleEvents.arg.0=DWORD,cEvents
func.WSAWaitForMultipleEvents.arg.1=const WSAEVENT *,lphEvents
func.WSAWaitForMultipleEvents.arg.2=BOOL,fWaitAll
func.WSAWaitForMultipleEvents.arg.3=DWORD,dwTimeout
func.WSAWaitForMultipleEvents.arg.4=BOOL,fAlertable
func.WSAWaitForMultipleEvents.ret=DWORD
