Mike Kaplinskiy : ws2_32: Improve SIO_GET_EXTENSION_FUNCTION_POINTER stub.

Alexandre Julliard julliard at winehq.org
Mon May 10 11:59:14 CDT 2010


Module: wine
Branch: master
Commit: df710826e17e9d49a3943cea9b82b168f5095b1d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=df710826e17e9d49a3943cea9b82b168f5095b1d

Author: Mike Kaplinskiy <mike.kaplinskiy at gmail.com>
Date:   Sat May  8 15:10:58 2010 -0400

ws2_32: Improve SIO_GET_EXTENSION_FUNCTION_POINTER stub.

---

 dlls/ws2_32/socket.c |   51 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 48 insertions(+), 3 deletions(-)

diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index e6a6973..63607fe 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -2706,9 +2706,54 @@ INT WINAPI WSAIoctl(SOCKET s,
 	break;
 
    case WS_SIO_GET_EXTENSION_FUNCTION_POINTER:
-       FIXME("SIO_GET_EXTENSION_FUNCTION_POINTER %s: stub\n", debugstr_guid(lpvInBuffer));
-       WSASetLastError(WSAEOPNOTSUPP);
-       return SOCKET_ERROR;
+   {
+        static const GUID connectex_guid = WSAID_CONNECTEX;
+        static const GUID disconnectex_guid = WSAID_DISCONNECTEX;
+        static const GUID acceptex_guid = WSAID_ACCEPTEX;
+        static const GUID getaccepexsockaddrs_guid = WSAID_GETACCEPTEXSOCKADDRS;
+        static const GUID transmitfile_guid = WSAID_TRANSMITFILE;
+        static const GUID transmitpackets_guid = WSAID_TRANSMITPACKETS;
+        static const GUID wsarecvmsg_guid = WSAID_WSARECVMSG;
+        static const GUID wsasendmsg_guid = WSAID_WSASENDMSG;
+
+        if ( IsEqualGUID(&connectex_guid, lpvInBuffer) )
+        {
+            FIXME("SIO_GET_EXTENSION_FUNCTION_POINTER: unimplemented ConnectEx\n");
+        }
+        else if ( IsEqualGUID(&disconnectex_guid, lpvInBuffer) )
+        {
+            FIXME("SIO_GET_EXTENSION_FUNCTION_POINTER: unimplemented DisconnectEx\n");
+        }
+        else if ( IsEqualGUID(&acceptex_guid, lpvInBuffer) )
+        {
+            FIXME("SIO_GET_EXTENSION_FUNCTION_POINTER: unimplemented AcceptEx\n");
+        }
+        else if ( IsEqualGUID(&getaccepexsockaddrs_guid, lpvInBuffer) )
+        {
+            FIXME("SIO_GET_EXTENSION_FUNCTION_POINTER: unimplemented GetAcceptExSockaddrs\n");
+        }
+        else if ( IsEqualGUID(&transmitfile_guid, lpvInBuffer) )
+        {
+            FIXME("SIO_GET_EXTENSION_FUNCTION_POINTER: unimplemented TransmitFile\n");
+        }
+        else if ( IsEqualGUID(&transmitpackets_guid, lpvInBuffer) )
+        {
+            FIXME("SIO_GET_EXTENSION_FUNCTION_POINTER: unimplemented TransmitPackets\n");
+        }
+        else if ( IsEqualGUID(&wsarecvmsg_guid, lpvInBuffer) )
+        {
+            FIXME("SIO_GET_EXTENSION_FUNCTION_POINTER: unimplemented WSARecvMsg\n");
+        }
+        else if ( IsEqualGUID(&wsasendmsg_guid, lpvInBuffer) )
+        {
+            FIXME("SIO_GET_EXTENSION_FUNCTION_POINTER: unimplemented WSASendMsg\n");
+        }
+        else
+            FIXME("SIO_GET_EXTENSION_FUNCTION_POINTER %s: stub\n", debugstr_guid(lpvInBuffer));
+
+        WSASetLastError(WSAEOPNOTSUPP);
+        return SOCKET_ERROR;
+   }
 
    case WS_SIO_KEEPALIVE_VALS:
    {




More information about the wine-cvs mailing list