Hello, Kirill Smelkov <kirr@xxxxxxxxxxxxxxxxxxx> added stub and prototype for WSAJoinLeaf.
Index: dlls/winsock/socket.c =================================================================== RCS file: /home/wine/wine/dlls/winsock/socket.c,v retrieving revision 1.141 diff -u -u -r1.141 socket.c --- dlls/winsock/socket.c 2 Dec 2003 04:19:56 -0000 1.141 +++ dlls/winsock/socket.c 9 Dec 2003 14:55:48 -0000 @@ -1582,6 +1582,24 @@ return htons(hostshort); } +/*********************************************************************** + * WSAHtons (WS2_32.47) + */ +int WINAPI WSAHtons(SOCKET s, u_short hostshort, ushort *lpnetshort) +{ + FIXME("stub.\n"); + return INVALID_SOCKET; +} + +/*********************************************************************** + * WSAHtonl (WS2_32.46) + */ +int WINAPI WSAHtonl(SOCKET s, u_long hostlong, ulong *lpnetlong) +{ + FIXME("stub.\n"); + return INVALID_SOCKET; +} + /*********************************************************************** * inet_addr (WINSOCK.10) @@ -2833,6 +2851,23 @@ return INVALID_SOCKET; } +/*********************************************************************** + * WSAJoinLeaf (WS2_32.58) + * + */ +SOCKET WINAPI WSAJoinLeaf( + SOCKET s, + const struct WS_sockaddr *addr, + int addrlen, + LPWSABUF lpCallerData, + LPWSABUF lpCalleeData, + LPQOS lpSQOS, + LPQOS lpGQOS, + DWORD dwFlags) +{ + FIXME("stub.\n"); + return INVALID_SOCKET; +} /*********************************************************************** * __WSAFDIsSet (WS2_32.151) Index: dlls/winsock/ws2_32.spec =================================================================== RCS file: /home/wine/wine/dlls/winsock/ws2_32.spec,v retrieving revision 1.33 diff -u -u -r1.33 ws2_32.spec --- dlls/winsock/ws2_32.spec 4 Jun 2003 20:23:58 -0000 1.33 +++ dlls/winsock/ws2_32.spec 9 Dec 2003 14:55:48 -0000 @@ -47,8 +47,8 @@ 43 stub WSAGetServiceClassInfoW 44 stub WSAGetServiceClassNameByClassIdA 45 stub WSAGetServiceClassNameByClassIdW -46 stub WSAHtonl -47 stub WSAHtons +46 stdcall WSAHtonl(long long ptr) +47 stdcall WSAHtons(long long ptr) 48 stdcall WSAInstallServiceClassA(ptr) 49 stdcall WSAInstallServiceClassW(ptr) 50 stdcall WSAIoctl(long long ptr long ptr long ptr ptr ptr) @@ -59,7 +59,7 @@ 55 stdcall getservbyname(str str) WS_getservbyname 56 stdcall getservbyport(long str) WS_getservbyport 57 stdcall gethostname(ptr long) WS_gethostname -58 stub WSAJoinLeaf +58 stdcall WSAJoinLeaf(long ptr long ptr ptr ptr ptr long) 59 stub WSALookupServiceBeginA 60 stub WSALookupServiceBeginW 61 stub WSALookupServiceEnd Index: include/winsock2.h =================================================================== RCS file: /home/wine/wine/include/winsock2.h,v retrieving revision 1.20 diff -u -u -r1.20 winsock2.h --- include/winsock2.h 28 Aug 2003 21:43:35 -0000 1.20 +++ include/winsock2.h 9 Dec 2003 14:56:00 -0000 @@ -137,6 +137,11 @@ #define WSA_FLAG_MULTIPOINT_D_ROOT 0x08 #define WSA_FLAG_MULTIPOINT_D_LEAF 0x10 +/* Constants for WSAJoinLeaf() */ +#define JL_SENDER_ONLY 0x01 +#define JL_RECEIVER_ONLY 0x02 +#define JL_BOTH 0x04 + #ifndef GUID_DEFINED #include <guiddef.h> @@ -426,7 +431,7 @@ int WINAPI WSAInstallServiceClassW(LPWSASERVICECLASSINFOW); #define WSAInstallServiceClass WINELIB_NAME_AW(WSAInstallServiceClass) int WINAPI WSAIoctl(SOCKET,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE); -/* WSAJoinLeaf */ +SOCKET WINAPI WSAJoinLeaf(SOCKET,const struct WS(sockaddr)*,int,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD); /* WSALookupServiceBeginA */ /* WSALookupServiceBeginW */ /* WSALookupServiceEnd */ @@ -491,7 +496,7 @@ typedef int (WINAPI LPFN_WSAINSTALLSERVICECLASSA)(LPWSASERVICECLASSINFOA); typedef int (WINAPI LPFN_WSAINSTALLSERVICECLASSW)(LPWSASERVICECLASSINFOW); typedef int (WINAPI *LPFN_WSAIOCTL)(SOCKET,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE); -/* WSAJoinLeaf */ +typedef int (WINAPI *LPFN_WSAJOINLEAF)(SOCKET,const struct WS(sockaddr)*,int,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD); /* WSALookupServiceBeginA */ /* WSALookupServiceBeginW */ /* WSALookupServiceEnd */