Re: [PATCH 1/3] ws2_32: Ask the server to process unsupported WSAIoctl operations (resend).
"Erich E. Hoover" <erich.e.hoover(a)gmail.com> writes:
@@ -4101,11 +4125,29 @@ INT WINAPI WSAIoctl(SOCKET s, DWORD code, LPVOID in_buff, DWORD in_size, LPVOID WSASetLastError(WSAEOPNOTSUPP); return SOCKET_ERROR; default: - FIXME("unsupported WS_IOCTL cmd (%s)\n", debugstr_wsaioctl(code)); status = WSAEOPNOTSUPP; break; }
+ if (status == WSAEOPNOTSUPP) + { + status = server_ioctl_sock(s, code, in_buff, in_size, out_buff, out_size, ret_size, + overlapped, completion); + if (status != WSAEOPNOTSUPP) + { + if (status == 0 || status == WSA_IO_PENDING) + TRACE("-> %s request\n", debugstr_wsaioctl(code)); + else + ERR("-> %s request failed with status 0x%x\n", debugstr_wsaioctl(code), status); + + /* overlapped and completion operations will be handled by the server */ + completion = NULL; + overlapped = NULL; + } + else + FIXME("unsupported WS_IOCTL cmd (%s)\n", debugstr_wsaioctl(code)); + }
The returned size handling doesn't look right. -- Alexandre Julliard julliard(a)winehq.org
On Wed, Feb 12, 2014 at 12:43 PM, Alexandre Julliard <julliard(a)winehq.org> wrote:
... The returned size handling doesn't look right.
Really sorry about that, that's my bad. I know at one point that I implemented that functionality but it looks like that code didn't survive a "git reset" :/ I'll resubmit with the appropriate fix here shortly. Best, Erich
participants (2)
-
Alexandre Julliard -
Erich E. Hoover