Stub implementations for WPUCompleteOverlappedRequest,
WSADuplicateSocketW, WSAEnumNameSpaceProviders{A,W}, WSAGetQOSByName, WSAGetServiceClassInfo{A,W}, WSAGetServiceClassNameByClassId{A,W}, WSALookupServiceEnd, WSALookupServiceNext{A,W}, WSAProviderConfigChange, WSASetService{A,W}, WSCEnableNSProvider, WSCGetProviderPath, WSCInstallNameSpace, WSCWriteProviderOrder. Implementations for WSANtohl, WSANtohs, WSASocketA->W crosscall. Avoid NULL dereferences in WSAStringToAddress{A,W} and WSAAddressToString{A,W}.
This commit is contained in:
parent
07aa50bc48
commit
8be26da723
|
@ -760,3 +760,17 @@ INT WINAPI WSApSetPostRoutine(LPWPUPOSTMESSAGE lpPostRoutine)
|
||||||
FIXME("(%p), stub !\n", lpPostRoutine);
|
FIXME("(%p), stub !\n", lpPostRoutine);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* (WS2_32.25)
|
||||||
|
*/
|
||||||
|
WSAEVENT WINAPI WPUCompleteOverlappedRequest(SOCKET s, LPWSAOVERLAPPED overlapped,
|
||||||
|
DWORD error, DWORD transferred, LPINT errno)
|
||||||
|
{
|
||||||
|
FIXME("(0x%08x,%p,0x%08lx,0x%08lx,%p), stub !\n", s, overlapped, error, transferred, errno);
|
||||||
|
|
||||||
|
if (errno)
|
||||||
|
*errno = WSAEINVAL;
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
|
@ -3018,11 +3018,40 @@ BOOL WINAPI WSACloseEvent(WSAEVENT event)
|
||||||
SOCKET WINAPI WSASocketA(int af, int type, int protocol,
|
SOCKET WINAPI WSASocketA(int af, int type, int protocol,
|
||||||
LPWSAPROTOCOL_INFOA lpProtocolInfo,
|
LPWSAPROTOCOL_INFOA lpProtocolInfo,
|
||||||
GROUP g, DWORD dwFlags)
|
GROUP g, DWORD dwFlags)
|
||||||
|
{
|
||||||
|
INT len;
|
||||||
|
WSAPROTOCOL_INFOW info;
|
||||||
|
|
||||||
|
TRACE("af=%d type=%d protocol=%d protocol_info=%p group=%d flags=0x%lx\n",
|
||||||
|
af, type, protocol, lpProtocolInfo, g, dwFlags);
|
||||||
|
|
||||||
|
if (!lpProtocolInfo) return WSASocketW(af, type, protocol, NULL, g, dwFlags);
|
||||||
|
|
||||||
|
memcpy(&info, lpProtocolInfo, FIELD_OFFSET(WSAPROTOCOL_INFOW, szProtocol));
|
||||||
|
len = MultiByteToWideChar(CP_ACP, 0, lpProtocolInfo->szProtocol, -1,
|
||||||
|
info.szProtocol, WSAPROTOCOL_LEN * sizeof(WCHAR) + 1);
|
||||||
|
|
||||||
|
if (!len)
|
||||||
|
{
|
||||||
|
WSASetLastError( WSAEINVAL);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
return WSASocketW(af, type, protocol, &info, g, dwFlags);
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSASocketW (WS2_32.79)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
SOCKET WINAPI WSASocketW(int af, int type, int protocol,
|
||||||
|
LPWSAPROTOCOL_INFOW lpProtocolInfo,
|
||||||
|
GROUP g, DWORD dwFlags)
|
||||||
{
|
{
|
||||||
SOCKET ret;
|
SOCKET ret;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
FIXME: The "advanced" parameters of WSASocketA (lpProtocolInfo,
|
FIXME: The "advanced" parameters of WSASocketW (lpProtocolInfo,
|
||||||
g, dwFlags except WSA_FLAG_OVERLAPPED) are ignored.
|
g, dwFlags except WSA_FLAG_OVERLAPPED) are ignored.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -3673,6 +3702,25 @@ int WINAPI WSADuplicateSocketA( SOCKET s, DWORD dwProcessId, LPWSAPROTOCOL_INFOA
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSADuplicateSocketW (WS2_32.33)
|
||||||
|
*/
|
||||||
|
int WINAPI WSADuplicateSocketW( SOCKET s, DWORD dwProcessId, LPWSAPROTOCOL_INFOW lpProtocolInfo )
|
||||||
|
{
|
||||||
|
HANDLE hProcess;
|
||||||
|
|
||||||
|
TRACE("(%d,%lx,%p)\n", s, dwProcessId, lpProtocolInfo);
|
||||||
|
|
||||||
|
memset(lpProtocolInfo, 0, sizeof(*lpProtocolInfo));
|
||||||
|
hProcess = OpenProcess(PROCESS_DUP_HANDLE, FALSE, dwProcessId);
|
||||||
|
DuplicateHandle(GetCurrentProcess(), SOCKET2HANDLE(s),
|
||||||
|
hProcess, (LPHANDLE)&lpProtocolInfo->dwCatalogEntryId,
|
||||||
|
0, FALSE, DUPLICATE_SAME_ACCESS);
|
||||||
|
CloseHandle(hProcess);
|
||||||
|
lpProtocolInfo->dwServiceFlags4 = 0xff00ff00; /* magic */
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* WSAInstallServiceClassA (WS2_32.48)
|
* WSAInstallServiceClassA (WS2_32.48)
|
||||||
*/
|
*/
|
||||||
|
@ -3716,8 +3764,10 @@ INT WINAPI WSAStringToAddressA(LPSTR AddressString,
|
||||||
LONG inetaddr;
|
LONG inetaddr;
|
||||||
LPSTR workBuffer=NULL,ptrPort;
|
LPSTR workBuffer=NULL,ptrPort;
|
||||||
|
|
||||||
TRACE( "(%s, %x, %p, %p, %d)\n", AddressString, AddressFamily, lpProtocolInfo,
|
TRACE( "(%s, %x, %p, %p, %p)\n", AddressString, AddressFamily, lpProtocolInfo,
|
||||||
lpAddress, *lpAddressLength );
|
lpAddress, lpAddressLength );
|
||||||
|
|
||||||
|
if (!lpAddressLength || !lpAddress) return SOCKET_ERROR;
|
||||||
|
|
||||||
if (AddressString)
|
if (AddressString)
|
||||||
{
|
{
|
||||||
|
@ -3801,8 +3851,10 @@ INT WINAPI WSAStringToAddressW(LPWSTR AddressString,
|
||||||
WSAPROTOCOL_INFOA infoA;
|
WSAPROTOCOL_INFOA infoA;
|
||||||
LPWSAPROTOCOL_INFOA lpProtoInfoA = NULL;
|
LPWSAPROTOCOL_INFOA lpProtoInfoA = NULL;
|
||||||
|
|
||||||
TRACE( "(%s, %x, %p, %p, %d)\n", debugstr_w(AddressString), AddressFamily, lpProtocolInfo,
|
TRACE( "(%s, %x, %p, %p, %p)\n", debugstr_w(AddressString), AddressFamily, lpProtocolInfo,
|
||||||
lpAddress, *lpAddressLength );
|
lpAddress, lpAddressLength );
|
||||||
|
|
||||||
|
if (!lpAddressLength || !lpAddress) return SOCKET_ERROR;
|
||||||
|
|
||||||
/* if ProtocolInfo is available - convert to ANSI variant */
|
/* if ProtocolInfo is available - convert to ANSI variant */
|
||||||
if (lpProtocolInfo)
|
if (lpProtocolInfo)
|
||||||
|
@ -3856,9 +3908,10 @@ INT WINAPI WSAAddressToStringA( LPSOCKADDR sockaddr, DWORD len,
|
||||||
CHAR buffer[22]; /* 12 digits + 3 dots + ':' + 5 digits + '\0' */
|
CHAR buffer[22]; /* 12 digits + 3 dots + ':' + 5 digits + '\0' */
|
||||||
CHAR *p;
|
CHAR *p;
|
||||||
|
|
||||||
TRACE( "(%p, %lx, %p, %p, %ld)\n", sockaddr, len, info, string, *lenstr );
|
TRACE( "(%p, %lx, %p, %p, %p)\n", sockaddr, len, info, string, lenstr );
|
||||||
|
|
||||||
if (!sockaddr || len < sizeof(SOCKADDR_IN)) return SOCKET_ERROR;
|
if (!sockaddr || len < sizeof(SOCKADDR_IN)) return SOCKET_ERROR;
|
||||||
|
if (!string || !lenstr) return SOCKET_ERROR;
|
||||||
|
|
||||||
/* sin_family is garanteed to be the first u_short */
|
/* sin_family is garanteed to be the first u_short */
|
||||||
if (((SOCKADDR_IN *)sockaddr)->sin_family != AF_INET) return SOCKET_ERROR;
|
if (((SOCKADDR_IN *)sockaddr)->sin_family != AF_INET) return SOCKET_ERROR;
|
||||||
|
@ -3916,9 +3969,10 @@ INT WINAPI WSAAddressToStringW( LPSOCKADDR sockaddr, DWORD len,
|
||||||
static const WCHAR format[] = { '%','u','.','%','u','.','%','u','.','%','u',':','%','u',0 };
|
static const WCHAR format[] = { '%','u','.','%','u','.','%','u','.','%','u',':','%','u',0 };
|
||||||
WCHAR *p;
|
WCHAR *p;
|
||||||
|
|
||||||
TRACE( "(%p, %lx, %p, %p, %ld)\n", sockaddr, len, info, string, *lenstr );
|
TRACE( "(%p, %lx, %p, %p, %p)\n", sockaddr, len, info, string, lenstr );
|
||||||
|
|
||||||
if (!sockaddr || len < sizeof(SOCKADDR_IN)) return SOCKET_ERROR;
|
if (!sockaddr || len < sizeof(SOCKADDR_IN)) return SOCKET_ERROR;
|
||||||
|
if (!string || !lenstr) return SOCKET_ERROR;
|
||||||
|
|
||||||
/* sin_family is garanteed to be the first u_short */
|
/* sin_family is garanteed to be the first u_short */
|
||||||
if (((SOCKADDR_IN *)sockaddr)->sin_family != AF_INET) return SOCKET_ERROR;
|
if (((SOCKADDR_IN *)sockaddr)->sin_family != AF_INET) return SOCKET_ERROR;
|
||||||
|
@ -3945,6 +3999,77 @@ INT WINAPI WSAAddressToStringW( LPSOCKADDR sockaddr, DWORD len,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSAEnumNameSpaceProvidersA (WS2_32.34)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSAEnumNameSpaceProvidersA( LPDWORD len, LPWSANAMESPACE_INFOA buffer )
|
||||||
|
{
|
||||||
|
FIXME( "(%p %p) Stub!\n", len, buffer );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSAEnumNameSpaceProvidersW (WS2_32.35)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSAEnumNameSpaceProvidersW( LPDWORD len, LPWSANAMESPACE_INFOW buffer )
|
||||||
|
{
|
||||||
|
FIXME( "(%p %p) Stub!\n", len, buffer );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSAGetQOSByName (WS2_32.41)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI WSAGetQOSByName( SOCKET s, LPWSABUF lpQOSName, LPQOS lpQOS )
|
||||||
|
{
|
||||||
|
FIXME( "(0x%04x %p %p) Stub!\n", s, lpQOSName, lpQOS );
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSAGetServiceClassInfoA (WS2_32.42)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSAGetServiceClassInfoA( LPGUID provider, LPGUID service, LPDWORD len,
|
||||||
|
LPWSASERVICECLASSINFOA info )
|
||||||
|
{
|
||||||
|
FIXME( "(%s %s %p %p) Stub!\n", debugstr_guid(provider), debugstr_guid(service),
|
||||||
|
len, info );
|
||||||
|
WSASetLastError(WSA_NOT_ENOUGH_MEMORY);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSAGetServiceClassInfoW (WS2_32.43)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSAGetServiceClassInfoW( LPGUID provider, LPGUID service, LPDWORD len,
|
||||||
|
LPWSASERVICECLASSINFOW info )
|
||||||
|
{
|
||||||
|
FIXME( "(%s %s %p %p) Stub!\n", debugstr_guid(provider), debugstr_guid(service),
|
||||||
|
len, info );
|
||||||
|
WSASetLastError(WSA_NOT_ENOUGH_MEMORY);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSAGetServiceClassNameByClassIdA (WS2_32.44)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSAGetServiceClassNameByClassIdA( LPGUID class, LPSTR service, LPDWORD len )
|
||||||
|
{
|
||||||
|
FIXME( "(%s %p %p) Stub!\n", debugstr_guid(class), service, len );
|
||||||
|
WSASetLastError(WSA_NOT_ENOUGH_MEMORY);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSAGetServiceClassNameByClassIdW (WS2_32.45)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSAGetServiceClassNameByClassIdW( LPGUID class, LPWSTR service, LPDWORD len )
|
||||||
|
{
|
||||||
|
FIXME( "(%s %p %p) Stub!\n", debugstr_guid(class), service, len );
|
||||||
|
WSASetLastError(WSA_NOT_ENOUGH_MEMORY);
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* WSALookupServiceBeginA (WS2_32.59)
|
* WSALookupServiceBeginA (WS2_32.59)
|
||||||
*/
|
*/
|
||||||
|
@ -3971,9 +4096,144 @@ INT WINAPI WSALookupServiceBeginW( LPWSAQUERYSETW lpqsRestrictions,
|
||||||
return SOCKET_ERROR;
|
return SOCKET_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSALookupServiceBeginW (WS2_32.61)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSALookupServiceEnd( HANDLE lookup )
|
||||||
|
{
|
||||||
|
FIXME("(%p) Stub!\n", lookup );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSALookupServiceNextA (WS2_32.62)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSALookupServiceNextA( HANDLE lookup, DWORD flags, LPDWORD len, LPWSAQUERYSETA results )
|
||||||
|
{
|
||||||
|
FIXME( "(%p 0x%08lx %p %p) Stub!\n", lookup, flags, len, results );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSALookupServiceNextW (WS2_32.63)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSALookupServiceNextW( HANDLE lookup, DWORD flags, LPDWORD len, LPWSAQUERYSETW results )
|
||||||
|
{
|
||||||
|
FIXME( "(%p 0x%08lx %p %p) Stub!\n", lookup, flags, len, results );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSANtohl (WS2_32.64)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSANtohl( SOCKET s, u_long netlong, u_long* lphostlong )
|
||||||
|
{
|
||||||
|
TRACE( "(0x%04x 0x%08lx %p)\n", s, netlong, lphostlong );
|
||||||
|
|
||||||
|
if (!lphostlong) return WSAEFAULT;
|
||||||
|
|
||||||
|
*lphostlong = ntohl( netlong );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSANtohs (WS2_32.65)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSANtohs( SOCKET s, u_short netshort, u_short* lphostshort )
|
||||||
|
{
|
||||||
|
TRACE( "(0x%04x 0x%08x %p)\n", s, netshort, lphostshort );
|
||||||
|
|
||||||
|
if (!lphostshort) return WSAEFAULT;
|
||||||
|
|
||||||
|
*lphostshort = ntohs( netshort );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSAProviderConfigChange (WS2_32.66)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSAProviderConfigChange( LPHANDLE handle, LPWSAOVERLAPPED overlapped,
|
||||||
|
LPWSAOVERLAPPED_COMPLETION_ROUTINE completion )
|
||||||
|
{
|
||||||
|
FIXME( "(%p %p %p) Stub!\n", handle, overlapped, completion );
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSARecvDisconnect (WS2_32.68)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSARecvDisconnect( SOCKET s, LPWSABUF disconnectdata )
|
||||||
|
{
|
||||||
|
TRACE( "(0x%04x %p)\n", s, disconnectdata );
|
||||||
|
|
||||||
|
return WS_shutdown( s, 0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSASetServiceA (WS2_32.76)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSASetServiceA( LPWSAQUERYSETA query, WSAESETSERVICEOP operation, DWORD flags )
|
||||||
|
{
|
||||||
|
FIXME( "(%p 0x%08x 0x%08lx) Stub!\n", query, operation, flags );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSASetServiceW (WS2_32.77)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSASetServiceW( LPWSAQUERYSETW query, WSAESETSERVICEOP operation, DWORD flags )
|
||||||
|
{
|
||||||
|
FIXME( "(%p 0x%08x 0x%08lx) Stub!\n", query, operation, flags );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSCEnableNSProvider (WS2_32.84)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSCEnableNSProvider( LPGUID provider, BOOL enable )
|
||||||
|
{
|
||||||
|
FIXME( "(%s 0x%08x) Stub!\n", debugstr_guid(provider), enable );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSCGetProviderPath (WS2_32.86)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSCGetProviderPath( LPGUID provider, LPWSTR path, LPINT len, LPINT errno )
|
||||||
|
{
|
||||||
|
FIXME( "(%s %p %p %p) Stub!\n", debugstr_guid(provider), path, len, errno );
|
||||||
|
|
||||||
|
if (!errno || !provider || !len) return WSAEFAULT;
|
||||||
|
|
||||||
|
*errno = WSAEINVAL;
|
||||||
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSCInstallNameSpace (WS2_32.87)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSCInstallNameSpace( LPWSTR identifier, LPWSTR path, DWORD namespace,
|
||||||
|
DWORD version, LPGUID provider )
|
||||||
|
{
|
||||||
|
FIXME( "(%s %s 0x%08lx 0x%08lx %s) Stub!\n", debugstr_w(identifier), debugstr_w(path),
|
||||||
|
namespace, version, debugstr_guid(provider) );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSCUnInstallNameSpace (WS2_32.89)
|
||||||
|
*/
|
||||||
INT WINAPI WSCUnInstallNameSpace( LPGUID lpProviderId )
|
INT WINAPI WSCUnInstallNameSpace( LPGUID lpProviderId )
|
||||||
{
|
{
|
||||||
FIXME("(%p) Stub!\n", lpProviderId);
|
FIXME("(%p) Stub!\n", lpProviderId);
|
||||||
|
|
||||||
return NO_ERROR;
|
return NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSCWriteProviderOrder (WS2_32.91)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSCWriteProviderOrder( LPDWORD entry, DWORD number )
|
||||||
|
{
|
||||||
|
FIXME("(%p 0x%08lx) Stub!\n", entry, number);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
22 stdcall shutdown(long long) WS_shutdown
|
22 stdcall shutdown(long long) WS_shutdown
|
||||||
23 stdcall socket(long long long) WS_socket
|
23 stdcall socket(long long long) WS_socket
|
||||||
24 stdcall WSApSetPostRoutine(ptr)
|
24 stdcall WSApSetPostRoutine(ptr)
|
||||||
25 stub WPUCompleteOverlappedRequest
|
25 stdcall WPUCompleteOverlappedRequest(long ptr long long ptr)
|
||||||
26 stdcall WSAAccept(long ptr ptr ptr long)
|
26 stdcall WSAAccept(long ptr ptr ptr long)
|
||||||
27 stdcall WSAAddressToStringA(ptr long ptr ptr ptr)
|
27 stdcall WSAAddressToStringA(ptr long ptr ptr ptr)
|
||||||
28 stdcall WSAAddressToStringW(ptr long ptr ptr ptr)
|
28 stdcall WSAAddressToStringW(ptr long ptr ptr ptr)
|
||||||
|
@ -34,19 +34,19 @@
|
||||||
30 stdcall WSAConnect(long ptr long ptr ptr ptr ptr)
|
30 stdcall WSAConnect(long ptr long ptr ptr ptr ptr)
|
||||||
31 stdcall WSACreateEvent ()
|
31 stdcall WSACreateEvent ()
|
||||||
32 stdcall WSADuplicateSocketA(long long ptr)
|
32 stdcall WSADuplicateSocketA(long long ptr)
|
||||||
33 stub WSADuplicateSocketW
|
33 stdcall WSADuplicateSocketW(long long ptr)
|
||||||
34 stub WSAEnumNameSpaceProvidersA
|
34 stdcall WSAEnumNameSpaceProvidersA(ptr ptr)
|
||||||
35 stub WSAEnumNameSpaceProvidersW
|
35 stdcall WSAEnumNameSpaceProvidersW(ptr ptr)
|
||||||
36 stdcall WSAEnumNetworkEvents(long long ptr)
|
36 stdcall WSAEnumNetworkEvents(long long ptr)
|
||||||
37 stdcall WSAEnumProtocolsA(ptr ptr ptr)
|
37 stdcall WSAEnumProtocolsA(ptr ptr ptr)
|
||||||
38 stdcall WSAEnumProtocolsW(ptr ptr ptr)
|
38 stdcall WSAEnumProtocolsW(ptr ptr ptr)
|
||||||
39 stdcall WSAEventSelect(long long long)
|
39 stdcall WSAEventSelect(long long long)
|
||||||
40 stdcall WSAGetOverlappedResult(long ptr ptr long ptr)
|
40 stdcall WSAGetOverlappedResult(long ptr ptr long ptr)
|
||||||
41 stub WSAGetQOSByName
|
41 stdcall WSAGetQOSByName(long ptr ptr)
|
||||||
42 stub WSAGetServiceClassInfoA
|
42 stdcall WSAGetServiceClassInfoA(ptr ptr ptr ptr)
|
||||||
43 stub WSAGetServiceClassInfoW
|
43 stdcall WSAGetServiceClassInfoW(ptr ptr ptr ptr)
|
||||||
44 stub WSAGetServiceClassNameByClassIdA
|
44 stdcall WSAGetServiceClassNameByClassIdA(ptr ptr ptr)
|
||||||
45 stub WSAGetServiceClassNameByClassIdW
|
45 stdcall WSAGetServiceClassNameByClassIdW(ptr ptr ptr)
|
||||||
46 stdcall WSAHtonl(long long ptr)
|
46 stdcall WSAHtonl(long long ptr)
|
||||||
47 stdcall WSAHtons(long long ptr)
|
47 stdcall WSAHtons(long long ptr)
|
||||||
48 stdcall WSAInstallServiceClassA(ptr)
|
48 stdcall WSAInstallServiceClassA(ptr)
|
||||||
|
@ -62,14 +62,14 @@
|
||||||
58 stdcall WSAJoinLeaf(long ptr long ptr ptr ptr ptr long)
|
58 stdcall WSAJoinLeaf(long ptr long ptr ptr ptr ptr long)
|
||||||
59 stdcall WSALookupServiceBeginA(ptr long ptr)
|
59 stdcall WSALookupServiceBeginA(ptr long ptr)
|
||||||
60 stdcall WSALookupServiceBeginW(ptr long ptr)
|
60 stdcall WSALookupServiceBeginW(ptr long ptr)
|
||||||
61 stub WSALookupServiceEnd
|
61 stdcall WSALookupServiceEnd(long)
|
||||||
62 stub WSALookupServiceNextA
|
62 stdcall WSALookupServiceNextA(long long ptr ptr)
|
||||||
63 stub WSALookupServiceNextW
|
63 stdcall WSALookupServiceNextW(long long ptr ptr)
|
||||||
64 stub WSANtohl
|
64 stdcall WSANtohl(long long ptr)
|
||||||
65 stub WSANtohs
|
65 stdcall WSANtohs(long long ptr)
|
||||||
66 stub WSAProviderConfigChange
|
66 stdcall WSAProviderConfigChange(ptr ptr ptr)
|
||||||
67 stdcall WSARecv(long ptr long ptr ptr ptr ptr)
|
67 stdcall WSARecv(long ptr long ptr ptr ptr ptr)
|
||||||
68 stub WSARecvDisconnect
|
68 stdcall WSARecvDisconnect(long ptr)
|
||||||
69 stdcall WSARecvFrom(long ptr long ptr ptr ptr ptr ptr ptr )
|
69 stdcall WSARecvFrom(long ptr long ptr ptr ptr ptr ptr ptr )
|
||||||
70 stdcall WSARemoveServiceClass(ptr)
|
70 stdcall WSARemoveServiceClass(ptr)
|
||||||
71 stdcall WSAResetEvent(long) kernel32.ResetEvent
|
71 stdcall WSAResetEvent(long) kernel32.ResetEvent
|
||||||
|
@ -77,22 +77,22 @@
|
||||||
73 stdcall WSASendDisconnect(long ptr)
|
73 stdcall WSASendDisconnect(long ptr)
|
||||||
74 stdcall WSASendTo(long ptr long ptr long ptr long ptr ptr)
|
74 stdcall WSASendTo(long ptr long ptr long ptr long ptr ptr)
|
||||||
75 stdcall WSASetEvent(long) kernel32.SetEvent
|
75 stdcall WSASetEvent(long) kernel32.SetEvent
|
||||||
76 stub WSASetServiceA
|
76 stdcall WSASetServiceA(ptr long long)
|
||||||
77 stub WSASetServiceW
|
77 stdcall WSASetServiceW(ptr long long)
|
||||||
78 stdcall WSASocketA(long long long ptr long long)
|
78 stdcall WSASocketA(long long long ptr long long)
|
||||||
79 stub WSASocketW
|
79 stdcall WSASocketW(long long long ptr long long)
|
||||||
80 stdcall WSAStringToAddressA(str long ptr ptr ptr)
|
80 stdcall WSAStringToAddressA(str long ptr ptr ptr)
|
||||||
81 stdcall WSAStringToAddressW(wstr long ptr ptr ptr)
|
81 stdcall WSAStringToAddressW(wstr long ptr ptr ptr)
|
||||||
82 stdcall WSAWaitForMultipleEvents(long ptr long long long) kernel32.WaitForMultipleObjectsEx
|
82 stdcall WSAWaitForMultipleEvents(long ptr long long long) kernel32.WaitForMultipleObjectsEx
|
||||||
83 stdcall WSCDeinstallProvider(ptr ptr)
|
83 stdcall WSCDeinstallProvider(ptr ptr)
|
||||||
84 stub WSCEnableNSProvider
|
84 stdcall WSCEnableNSProvider(ptr long)
|
||||||
85 stdcall WSCEnumProtocols(ptr ptr ptr ptr)
|
85 stdcall WSCEnumProtocols(ptr ptr ptr ptr)
|
||||||
86 stub WSCGetProviderPath
|
86 stdcall WSCGetProviderPath(ptr ptr ptr ptr)
|
||||||
87 stub WSCInstallNameSpace
|
87 stdcall WSCInstallNameSpace(wstr wstr long long ptr)
|
||||||
88 stdcall WSCInstallProvider(ptr wstr ptr long ptr)
|
88 stdcall WSCInstallProvider(ptr wstr ptr long ptr)
|
||||||
89 stdcall WSCUnInstallNameSpace(ptr)
|
89 stdcall WSCUnInstallNameSpace(ptr)
|
||||||
90 stub WSCWriteNameSpaceOrder
|
90 stub WSCWriteNameSpaceOrder
|
||||||
91 stub WSCWriteProviderOrder
|
91 stdcall WSCWriteProviderOrder(ptr long)
|
||||||
|
|
||||||
# 92 ~ 100 UNKNOWN
|
# 92 ~ 100 UNKNOWN
|
||||||
|
|
||||||
|
|
|
@ -465,6 +465,31 @@ DECL_WINELIB_TYPE_AW(WSAQUERYSET)
|
||||||
DECL_WINELIB_TYPE_AW(PWSAQUERYSET)
|
DECL_WINELIB_TYPE_AW(PWSAQUERYSET)
|
||||||
DECL_WINELIB_TYPE_AW(LPWSAQUERYSET)
|
DECL_WINELIB_TYPE_AW(LPWSAQUERYSET)
|
||||||
|
|
||||||
|
typedef enum _WSAESETSERVICEOP {
|
||||||
|
RNRSERVICE_REGISTER = 0,
|
||||||
|
RNRSERVICE_DEREGISTER,
|
||||||
|
RNRSERVICE_DELETE
|
||||||
|
} WSAESETSERVICEOP, *PWSAESETSERVICEOP, *LPWSAESETSERVICEOP;
|
||||||
|
|
||||||
|
typedef struct _WSANAMESPACE_INFOA {
|
||||||
|
GUID NSProviderId;
|
||||||
|
DWORD dwNameSpace;
|
||||||
|
BOOL fActive;
|
||||||
|
DWORD dwVersion;
|
||||||
|
LPSTR lpszIdentifier;
|
||||||
|
} WSANAMESPACE_INFOA, *PWSANAMESPACE_INFOA, *LPWSANAMESPACE_INFOA;
|
||||||
|
|
||||||
|
typedef struct _WSANAMESPACE_INFOW {
|
||||||
|
GUID NSProviderId;
|
||||||
|
DWORD dwNameSpace;
|
||||||
|
BOOL fActive;
|
||||||
|
DWORD dwVersion;
|
||||||
|
LPWSTR lpszIdentifier;
|
||||||
|
} WSANAMESPACE_INFOW, *PWSANAMESPACE_INFOW, *LPWSANAMESPACE_INFOW;
|
||||||
|
|
||||||
|
DECL_WINELIB_TYPE_AW(WSANAMESPACE_INFO)
|
||||||
|
DECL_WINELIB_TYPE_AW(PWSANAMESPACE_INFO)
|
||||||
|
DECL_WINELIB_TYPE_AW(LPWSANAMESPACE_INFO)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Winsock Function Typedefs
|
* Winsock Function Typedefs
|
||||||
|
@ -540,21 +565,25 @@ INT WINAPI WSAAddressToStringW(LPSOCKADDR,DWORD,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWO
|
||||||
BOOL WINAPI WSACloseEvent(WSAEVENT);
|
BOOL WINAPI WSACloseEvent(WSAEVENT);
|
||||||
int WINAPI WSAConnect(SOCKET,const struct WS(sockaddr)*,int,LPWSABUF,LPWSABUF,LPQOS,LPQOS);
|
int WINAPI WSAConnect(SOCKET,const struct WS(sockaddr)*,int,LPWSABUF,LPWSABUF,LPQOS,LPQOS);
|
||||||
WSAEVENT WINAPI WSACreateEvent(void);
|
WSAEVENT WINAPI WSACreateEvent(void);
|
||||||
/* WSADuplicateSocketA */
|
INT WINAPI WSADuplicateSocketA(SOCKET,DWORD,LPWSAPROTOCOL_INFOA);
|
||||||
/* WSADuplicateSocketW */
|
INT WINAPI WSADuplicateSocketW(SOCKET,DWORD,LPWSAPROTOCOL_INFOW);
|
||||||
/* WSAEnumNameSpaceProvidersA */
|
#define WSADuplicateSocket WINELIB_NAME_AW(WSADuplicateSocket)
|
||||||
/* WSAEnumNameSpaceProvidersW */
|
INT WINAPI WSAEnumNameSpaceProvidersA(LPDWORD,LPWSANAMESPACE_INFOA);
|
||||||
|
INT WINAPI WSAEnumNameSpaceProvidersW(LPDWORD,LPWSANAMESPACE_INFOW);
|
||||||
|
#define WSAEnumNameSpaceProviders WINELIB_NAME_AW(WSAEnumNameSpaceProviders)
|
||||||
int WINAPI WSAEnumNetworkEvents(SOCKET,WSAEVENT,LPWSANETWORKEVENTS);
|
int WINAPI WSAEnumNetworkEvents(SOCKET,WSAEVENT,LPWSANETWORKEVENTS);
|
||||||
int WINAPI WSAEnumProtocolsA(LPINT,LPWSAPROTOCOL_INFOA,LPDWORD);
|
int WINAPI WSAEnumProtocolsA(LPINT,LPWSAPROTOCOL_INFOA,LPDWORD);
|
||||||
int WINAPI WSAEnumProtocolsW(LPINT,LPWSAPROTOCOL_INFOW,LPDWORD);
|
int WINAPI WSAEnumProtocolsW(LPINT,LPWSAPROTOCOL_INFOW,LPDWORD);
|
||||||
#define WSAEnumProtocols WINELIB_NAME_AW(WSAEnumProtocols)
|
#define WSAEnumProtocols WINELIB_NAME_AW(WSAEnumProtocols)
|
||||||
int WINAPI WSAEventSelect(SOCKET,WSAEVENT,long);
|
int WINAPI WSAEventSelect(SOCKET,WSAEVENT,long);
|
||||||
BOOL WINAPI WSAGetOverlappedResult(SOCKET,LPWSAOVERLAPPED,LPDWORD,BOOL,LPDWORD);
|
BOOL WINAPI WSAGetOverlappedResult(SOCKET,LPWSAOVERLAPPED,LPDWORD,BOOL,LPDWORD);
|
||||||
/* WSAGetQOSByName */
|
BOOL WINAPI WSAGetQOSByName(SOCKET,LPWSABUF,LPQOS);
|
||||||
/* WSAGetServiceClassInfoA */
|
INT WINAPI WSAGetServiceClassInfoA(LPGUID,LPGUID,LPDWORD,LPWSASERVICECLASSINFOA);
|
||||||
/* WSAGetServiceClassInfoW */
|
INT WINAPI WSAGetServiceClassInfoW(LPGUID,LPGUID,LPDWORD,LPWSASERVICECLASSINFOW);
|
||||||
/* WSAGetServiceClassNameByClassIdA */
|
#define WSAGetServiceClassInfo WINELIB_NAME_AW(WSAGetServiceClassInfo)
|
||||||
/* WSAGetServiceClassNameByClassIdW */
|
INT WINAPI WSAGetServiceClassNameByClassIdA(LPGUID,LPSTR,LPDWORD);
|
||||||
|
INT WINAPI WSAGetServiceClassNameByClassIdW(LPGUID,LPWSTR,LPDWORD);
|
||||||
|
#define WSAGetServiceClassNameByClassId WINELIB_NAME_AW(WSAGetServiceClassNameByClassId)
|
||||||
int WINAPI WSAHtonl(SOCKET,u_long,u_long*);
|
int WINAPI WSAHtonl(SOCKET,u_long,u_long*);
|
||||||
int WINAPI WSAHtons(SOCKET,u_short,u_short*);
|
int WINAPI WSAHtons(SOCKET,u_short,u_short*);
|
||||||
int WINAPI WSAInstallServiceClassA(LPWSASERVICECLASSINFOA);
|
int WINAPI WSAInstallServiceClassA(LPWSASERVICECLASSINFOA);
|
||||||
|
@ -565,23 +594,25 @@ SOCKET WINAPI WSAJoinLeaf(SOCKET,const struct WS(sockaddr)*,int,LPWSABUF,LPWSABU
|
||||||
INT WINAPI WSALookupServiceBeginA(LPWSAQUERYSETA,DWORD,LPHANDLE);
|
INT WINAPI WSALookupServiceBeginA(LPWSAQUERYSETA,DWORD,LPHANDLE);
|
||||||
INT WINAPI WSALookupServiceBeginW(LPWSAQUERYSETW,DWORD,LPHANDLE);
|
INT WINAPI WSALookupServiceBeginW(LPWSAQUERYSETW,DWORD,LPHANDLE);
|
||||||
#define WSALookupServiceBegin WINELIB_NAME_AW(WSALookupServiceBegin)
|
#define WSALookupServiceBegin WINELIB_NAME_AW(WSALookupServiceBegin)
|
||||||
/* WSALookupServiceEnd */
|
INT WINAPI WSALookupServiceEnd(HANDLE);
|
||||||
/* WSALookupServiceNextA */
|
INT WINAPI WSALookupServiceNextA(HANDLE,DWORD,LPDWORD,LPWSAQUERYSETA);
|
||||||
/* WSALookupServiceNextW */
|
INT WINAPI WSALookupServiceNextW(HANDLE,DWORD,LPDWORD,LPWSAQUERYSETW);
|
||||||
|
#define WSALookupServiceNext WINELIB_NAME_AW(WSALookupServiceNext)
|
||||||
int WINAPI WSANtohl(SOCKET,u_long,u_long*);
|
int WINAPI WSANtohl(SOCKET,u_long,u_long*);
|
||||||
int WINAPI WSANtohs(SOCKET,u_short,u_short*);
|
int WINAPI WSANtohs(SOCKET,u_short,u_short*);
|
||||||
/* WSAProviderConfigChange */
|
INT WINAPI WSAProviderConfigChange(LPHANDLE,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
||||||
int WINAPI WSARecv(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
int WINAPI WSARecv(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
||||||
int WINAPI WSARecvDisconnect(SOCKET,LPWSABUF);
|
int WINAPI WSARecvDisconnect(SOCKET,LPWSABUF);
|
||||||
int WINAPI WSARecvFrom(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,struct WS(sockaddr)*,LPINT,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
int WINAPI WSARecvFrom(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,struct WS(sockaddr)*,LPINT,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
||||||
/* WSARemoveServiceClass */
|
INT WINAPI WSARemoveServiceClass(LPGUID);
|
||||||
BOOL WINAPI WSAResetEvent(WSAEVENT);
|
BOOL WINAPI WSAResetEvent(WSAEVENT);
|
||||||
int WINAPI WSASend(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
int WINAPI WSASend(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
||||||
int WINAPI WSASendDisconnect(SOCKET,LPWSABUF);
|
int WINAPI WSASendDisconnect(SOCKET,LPWSABUF);
|
||||||
int WINAPI WSASendTo(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,const struct WS(sockaddr)*,int,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
int WINAPI WSASendTo(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,const struct WS(sockaddr)*,int,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
||||||
BOOL WINAPI WSASetEvent(WSAEVENT);
|
BOOL WINAPI WSASetEvent(WSAEVENT);
|
||||||
/* WSASetServiceA */
|
INT WINAPI WSASetServiceA(LPWSAQUERYSETA,WSAESETSERVICEOP,DWORD);
|
||||||
/* WSASetServiceW */
|
INT WINAPI WSASetServiceW(LPWSAQUERYSETW,WSAESETSERVICEOP,DWORD);
|
||||||
|
#define WSASetService WINELIB_NAME_AW(WSASetService)
|
||||||
SOCKET WINAPI WSASocketA(int,int,int,LPWSAPROTOCOL_INFOA,GROUP,DWORD);
|
SOCKET WINAPI WSASocketA(int,int,int,LPWSAPROTOCOL_INFOA,GROUP,DWORD);
|
||||||
SOCKET WINAPI WSASocketW(int,int,int,LPWSAPROTOCOL_INFOW,GROUP,DWORD);
|
SOCKET WINAPI WSASocketW(int,int,int,LPWSAPROTOCOL_INFOW,GROUP,DWORD);
|
||||||
#define WSASocket WINELIB_NAME_AW(WSASocket)
|
#define WSASocket WINELIB_NAME_AW(WSASocket)
|
||||||
|
@ -607,46 +638,53 @@ typedef INT (WINAPI *LPFN_WSAADRESSTOSTRINGW)(LPSOCKADDR,DWORD,LPWSAPROTOCOL_INF
|
||||||
typedef BOOL (WINAPI *LPFN_WSACLOSEEVENT)(WSAEVENT);
|
typedef BOOL (WINAPI *LPFN_WSACLOSEEVENT)(WSAEVENT);
|
||||||
typedef int (WINAPI *LPFN_WSACONNECT)(SOCKET,const struct WS(sockaddr)*,int,LPWSABUF,LPWSABUF,LPQOS,LPQOS);
|
typedef int (WINAPI *LPFN_WSACONNECT)(SOCKET,const struct WS(sockaddr)*,int,LPWSABUF,LPWSABUF,LPQOS,LPQOS);
|
||||||
typedef WSAEVENT (WINAPI *LPFN_WSACREATEEVENT)(void);
|
typedef WSAEVENT (WINAPI *LPFN_WSACREATEEVENT)(void);
|
||||||
/* WSADuplicateSocketA */
|
typedef INT (WINAPI *LPFN_WSADUPLICATESOCKETA)(SOCKET,DWORD,LPWSAPROTOCOL_INFOA);
|
||||||
/* WSADuplicateSocketW */
|
typedef INT (WINAPI *LPFN_WSADUPLICATESOCKETW)(SOCKET,DWORD,LPWSAPROTOCOL_INFOW);
|
||||||
/* WSAEnumNameSpaceProvidersA */
|
#define LPFN_WSADUPLICATESOCKET WINELIB_NAME_AW(LPFN_WSADUPLICATESOCKET)
|
||||||
/* WSAEnumNameSpaceProvidersW */
|
typedef INT (WINAPI *LPFNWSAENUMNAMESPACEPROVIDERSA)(LPDWORD,LPWSANAMESPACE_INFOA);
|
||||||
|
typedef INT (WINAPI *LPFNWSAENUMNAMESPACEPROVIDERSW)(LPDWORD,LPWSANAMESPACE_INFOW);
|
||||||
|
#define LPFN_WSAENUMNAMESPACEPROVIDERS WINELIB_NAME_AW(LPFNWSAENUMNAMESPACEPROVIDERS)
|
||||||
typedef int (WINAPI *LPFN_WSAENUMNETWORKEVENT)(SOCKET,WSAEVENT,LPWSANETWORKEVENTS);
|
typedef int (WINAPI *LPFN_WSAENUMNETWORKEVENT)(SOCKET,WSAEVENT,LPWSANETWORKEVENTS);
|
||||||
typedef int (WINAPI *LPFN_WSAENUMPROTOCOLSA)(LPINT,LPWSAPROTOCOL_INFOA,LPDWORD);
|
typedef int (WINAPI *LPFN_WSAENUMPROTOCOLSA)(LPINT,LPWSAPROTOCOL_INFOA,LPDWORD);
|
||||||
typedef int (WINAPI *LPFN_WSAENUMPROTOCOLSW)(LPINT,LPWSAPROTOCOL_INFOW,LPDWORD);
|
typedef int (WINAPI *LPFN_WSAENUMPROTOCOLSW)(LPINT,LPWSAPROTOCOL_INFOW,LPDWORD);
|
||||||
#define LPFN_WSAENUMPROTOCOLS WINELIB_NAME_AW(LPFN_WSAENUMPROTOCOLS)
|
#define LPFN_WSAENUMPROTOCOLS WINELIB_NAME_AW(LPFN_WSAENUMPROTOCOLS)
|
||||||
typedef int (WINAPI *LPFN_WSAEVENTSELECT)(SOCKET,WSAEVENT,long);
|
typedef int (WINAPI *LPFN_WSAEVENTSELECT)(SOCKET,WSAEVENT,long);
|
||||||
typedef BOOL (WINAPI *LPFN_WSAGETOVERLAPPEDRESULT)(SOCKET,LPWSAOVERLAPPED,LPDWORD,BOOL,LPDWORD);
|
typedef BOOL (WINAPI *LPFN_WSAGETOVERLAPPEDRESULT)(SOCKET,LPWSAOVERLAPPED,LPDWORD,BOOL,LPDWORD);
|
||||||
/* WSAGetQOSByName */
|
typedef BOOL (WINAPI *LPFNWSAGETQOSBYNAME)(SOCKET,LPWSABUF,LPQOS);
|
||||||
/* WSAGetServiceClassInfoA */
|
typedef INT (WINAPI *LPFNWSAGETSERVICECLASSINFOA)(LPGUID,LPGUID,LPDWORD,LPWSASERVICECLASSINFOA);
|
||||||
/* WSAGetServiceClassInfoW */
|
typedef INT (WINAPI *LPFNWSAGETSERVICECLASSINFOW)(LPGUID,LPGUID,LPDWORD,LPWSASERVICECLASSINFOW);
|
||||||
/* WSAGetServiceClassNameByClassIdA */
|
#define LPFN_LPFNWSAGETSERVICECLASSINFO WINELIB_NAME_AW(LPFN_LPFNWSAGETSERVICECLASSINFO)
|
||||||
/* WSAGetServiceClassNameByClassIdW */
|
typedef INT (WINAPI *LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA)(LPGUID,LPSTR,LPDWORD);
|
||||||
|
typedef INT (WINAPI *LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW)(LPGUID,LPWSTR,LPDWORD);
|
||||||
|
#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID WINELIB_NAME_AW(LPFN_WSAGETSERVICECLASSNAMEBYCLASSID)
|
||||||
typedef int (WINAPI *LPFN_WSAHTONL)(SOCKET,u_long,u_long*);
|
typedef int (WINAPI *LPFN_WSAHTONL)(SOCKET,u_long,u_long*);
|
||||||
typedef int (WINAPI *LPFN_WSAHTONS)(SOCKET,u_short,u_short*);
|
typedef int (WINAPI *LPFN_WSAHTONS)(SOCKET,u_short,u_short*);
|
||||||
typedef int (WINAPI LPFN_WSAINSTALLSERVICECLASSA)(LPWSASERVICECLASSINFOA);
|
typedef int (WINAPI LPFN_WSAINSTALLSERVICECLASSA)(LPWSASERVICECLASSINFOA);
|
||||||
typedef int (WINAPI LPFN_WSAINSTALLSERVICECLASSW)(LPWSASERVICECLASSINFOW);
|
typedef int (WINAPI LPFN_WSAINSTALLSERVICECLASSW)(LPWSASERVICECLASSINFOW);
|
||||||
typedef int (WINAPI *LPFN_WSAIOCTL)(SOCKET,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
typedef int (WINAPI *LPFN_WSAIOCTL)(SOCKET,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
||||||
typedef int (WINAPI *LPFN_WSAJOINLEAF)(SOCKET,const struct WS(sockaddr)*,int,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD);
|
typedef int (WINAPI *LPFN_WSAJOINLEAF)(SOCKET,const struct WS(sockaddr)*,int,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD);
|
||||||
/* WSALookupServiceBeginA */
|
typedef INT (WINAPI *LPFN_WSALOOKUPSERVICEBEGINA)(LPWSAQUERYSETA,DWORD,LPHANDLE);
|
||||||
/* WSALookupServiceBeginW */
|
typedef INT (WINAPI *LPFN_WSALOOKUPSERVICEBEGINW)(LPWSAQUERYSETW,DWORD,LPHANDLE);
|
||||||
/* WSALookupServiceEnd */
|
#define LPFN_WSALOOKUPSERVICEBEGIN WINELIB_NAME_AW(LPFN_WSALOOKUPSERVICEBEGIN);
|
||||||
/* WSALookupServiceNextA */
|
typedef INT (WINAPI *LPFN_WSALOOKUPSERVICEEND(HANDLE);
|
||||||
/* WSALookupServiceNextW */
|
typedef INT (WINAPI *LPFN_WSALOOKUPSERVICENEXTA)(HANDLE,DWORD,LPDWORD,LPWSAQUERYSETA);
|
||||||
|
typedef INT (WINAPI *LPFN_WSALOOKUPSERVICENEXTW)(HANDLE,DWORD,LPDWORD,LPWSAQUERYSETW);
|
||||||
|
#define LPFN_WSALOOKUPSERVICENEXT WINELIB_NAME_AW(LPFN_WSALOOKUPSERVICENEXT)
|
||||||
typedef int (WINAPI *LPFN_WSANTOHL)(SOCKET,u_long,u_long*);
|
typedef int (WINAPI *LPFN_WSANTOHL)(SOCKET,u_long,u_long*);
|
||||||
typedef int (WINAPI *LPFN_WSANTOHS)(SOCKET,u_short,u_short*);
|
typedef int (WINAPI *LPFN_WSANTOHS)(SOCKET,u_short,u_short*);
|
||||||
/* WSAProviderConfigChange */
|
typedef INT (WINAPI *LPFN_WSAPROVIDERCONFIGCHANGE)(LPHANDLE,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
||||||
typedef int (WINAPI *LPFN_WSARECV)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
typedef int (WINAPI *LPFN_WSARECV)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
||||||
typedef int (WINAPI *LPFN_WSARECVDISCONNECT)(SOCKET,LPWSABUF);
|
typedef int (WINAPI *LPFN_WSARECVDISCONNECT)(SOCKET,LPWSABUF);
|
||||||
typedef int (WINAPI *LPFN_WSARECVFROM)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,struct WS(sockaddr)*,LPINT,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
typedef int (WINAPI *LPFN_WSARECVFROM)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,struct WS(sockaddr)*,LPINT,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
||||||
/* WSARemoveServiceClass */
|
typedef INT (WINAPI *LPFN_WSAREMOVESERVICECLASS)(LPGUID);
|
||||||
typedef BOOL (WINAPI *LPFN_WSARESETEVENT)(WSAEVENT);
|
typedef BOOL (WINAPI *LPFN_WSARESETEVENT)(WSAEVENT);
|
||||||
typedef int (WINAPI *LPFN_WSASEND)(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
typedef int (WINAPI *LPFN_WSASEND)(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
||||||
typedef int (WINAPI *LPFN_WSASENDDISCONNECT)(SOCKET,LPWSABUF);
|
typedef int (WINAPI *LPFN_WSASENDDISCONNECT)(SOCKET,LPWSABUF);
|
||||||
typedef int (WINAPI *LPFN_WSASENDTO)(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,const struct WS(sockaddr)*,int,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
typedef int (WINAPI *LPFN_WSASENDTO)(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,const struct WS(sockaddr)*,int,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
||||||
typedef BOOL (WINAPI *LPFN_WSASETEVENT)(WSAEVENT);
|
typedef BOOL (WINAPI *LPFN_WSASETEVENT)(WSAEVENT);
|
||||||
/* WSASetServiceA */
|
typedef INT (WINAPI *LPFN_WSASETSERVICEA)(LPWSAQUERYSETA,WSAESETSERVICEOP,DWORD);
|
||||||
/* WSASetServiceW */
|
typedef INT (WINAPI *LPFN_WSASETSERVICEW)(LPWSAQUERYSETW,WSAESETSERVICEOP,DWORD);
|
||||||
|
#define LPFN_WSASETSERVICE WINELIB_NAME_AW(LPFN_WSASETSERVICE)
|
||||||
typedef SOCKET (WINAPI *LPFN_WSASOCKETA)(int,int,int,LPWSAPROTOCOL_INFOA,GROUP,DWORD);
|
typedef SOCKET (WINAPI *LPFN_WSASOCKETA)(int,int,int,LPWSAPROTOCOL_INFOA,GROUP,DWORD);
|
||||||
typedef SOCKET (WINAPI *LPFN_WSASOCKETW)(int,int,int,LPWSAPROTOCOL_INFOW,GROUP,DWORD);
|
typedef SOCKET (WINAPI *LPFN_WSASOCKETW)(int,int,int,LPWSAPROTOCOL_INFOW,GROUP,DWORD);
|
||||||
typedef INT (WINAPI *LPFN_WSASTRINGTOADDRESSA)(LPSTR,INT,LPWSAPROTOCOL_INFOA,LPSOCKADDR,LPINT);
|
typedef INT (WINAPI *LPFN_WSASTRINGTOADDRESSA)(LPSTR,INT,LPWSAPROTOCOL_INFOA,LPSOCKADDR,LPINT);
|
||||||
|
|
Loading…
Reference in New Issue