Module: wine Branch: master Commit: df710826e17e9d49a3943cea9b82b168f5095b1d URL: http://source.winehq.org/git/wine.git/?a=commit;h=df710826e17e9d49a3943cea9b... Author: Mike Kaplinskiy <mike.kaplinskiy(a)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: {