From 3496dacb3ed16cef29bd2c3a779109e3585fbd0d Mon Sep 17 00:00:00 2001 From: Scott Lindeneau Date: Fri, 22 Aug 2008 02:45:25 +0900 Subject: [PATCH] WSAIoctl returns AcceptEx an GetAcceptExSockaddrs To: wine-patches Updates WSAIoctl function to correctly return the addresses for AcceptEx and GetAcceptExSockaddrs when passed the WS_SIO_GET_EXTENSION_FUNCTION_POINTER flag. --- dlls/ws2_32/socket.c | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletions(-) diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c index 11448ac..9f16f80 100644 --- a/dlls/ws2_32/socket.c +++ b/dlls/ws2_32/socket.c @@ -2567,10 +2567,27 @@ INT WINAPI WSAIoctl(SOCKET s, break; case WS_SIO_GET_EXTENSION_FUNCTION_POINTER: + { + GUID acceptex_guid = WSAID_ACCEPTEX; + GUID acceptexsockaddrs_guid = WSAID_GETACCEPTEXSOCKADDRS; + if( IsEqualGUID(&acceptex_guid,lpvInBuffer) ) + { + LPFN_ACCEPTEX *lpfvDummy = (LPFN_ACCEPTEX*)lpbOutBuffer; + *lpfvDummy = AcceptEx; + WSASetLastError(STATUS_SUCCESS); + return STATUS_SUCCESS; + } + if( IsEqualGUID(&acceptexsockaddrs_guid,lpvInBuffer) ) + { + LPFN_GETACCEPTEXSOCKADDRS *lpfvDummy = (LPFN_GETACCEPTEXSOCKADDRS*)lpbOutBuffer; + *lpfvDummy = GetAcceptExSockaddrs; + WSASetLastError(STATUS_SUCCESS); + return STATUS_SUCCESS; + } FIXME("SIO_GET_EXTENSION_FUNCTION_POINTER %s: stub\n", debugstr_guid(lpvInBuffer)); WSASetLastError(WSAEOPNOTSUPP); return SOCKET_ERROR; - + } default: FIXME("unsupported WS_IOCTL cmd (%08x)\n", dwIoControlCode); WSASetLastError(WSAEOPNOTSUPP); -- 1.5.4.3