From df710826e17e9d49a3943cea9b82b168f5095b1d Mon Sep 17 00:00:00 2001 From: Mike Kaplinskiy Date: Sat, 8 May 2010 15:10:58 -0400 Subject: [PATCH] ws2_32: Improve SIO_GET_EXTENSION_FUNCTION_POINTER stub. --- dlls/ws2_32/socket.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c index e6a6973eb4e..63607fec1ff 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: { -- 2.11.4.GIT