Quick hack - "WSASendDisconnect" provides nearly the same function as "shutdown (SD_SEND)", except that it allows sending disconnect data (which is still unimplemented, but only needed for protocols that support it). Some Java applets won't run without it (started by appletviewer.exe). diff -urN wine-20020812.OLD/dlls/winsock/socket.c wine-20020812.NEW/dlls/winsock/socket.c --- wine-20020812.OLD/dlls/winsock/socket.c 2002-08-02 09:23:26.000000000 +0200 +++ wine-20020812.NEW/dlls/winsock/socket.c 2002-10-29 13:36:04.000000000 +0100 @@ -2506,6 +2506,15 @@ } /*********************************************************************** + * WSASendDisconnect (WS2_32.73) + */ +INT WINAPI WSASendDisconnect( SOCKET s, LPWSABUF lpBuffers ) +{ + return WS_shutdown ( s, SD_SEND ); +} + + +/*********************************************************************** * WSASendTo (WS2_32.74) */ INT WINAPI WSASendTo( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, diff -urN wine-20020812.OLD/dlls/winsock/ws2_32.spec wine-20020812.NEW/dlls/winsock/ws2_32.spec --- wine-20020812.OLD/dlls/winsock/ws2_32.spec 2002-07-04 09:48:58.000000000 +0200 +++ wine-20020812.NEW/dlls/winsock/ws2_32.spec 2002-10-29 13:32:50.000000000 +0100 @@ -77,7 +77,7 @@ 70 stub WSARemoveServiceClass 71 forward WSAResetEvent KERNEL32.ResetEvent 72 stdcall WSASend(long ptr long ptr long ptr ptr) WSASend -73 stub WSASendDisconnect +73 stdcall WSASendDisconnect(long ptr) WSASendDisconnect 74 stdcall WSASendTo(long ptr long ptr long ptr long ptr ptr) WSASendTo 75 stub WSASetEvent 76 stub WSASetServiceA