On 9/10/22 19:28, Alistair Leslie-Hughes wrote:
diff --git a/dlls/ntdll/unix/socket.c b/dlls/ntdll/unix/socket.c index f8ed9f6f854..faad0763632 100644 --- a/dlls/ntdll/unix/socket.c +++ b/dlls/ntdll/unix/socket.c @@ -1726,6 +1726,39 @@ NTSTATUS sock_ioctl( HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc, void *apc return STATUS_SUCCESS; }
+ case IOCTL_AFD_WINE_SEND_BACKLOG_QUERY: + { + union unix_sockaddr addr; + socklen_t addr_len; + + if (out_size < sizeof(DWORD)) + { + status = STATUS_BUFFER_TOO_SMALL; + break; + } + + if(get_sock_type( handle ) != SOCK_STREAM) + { + status = STATUS_NOT_SUPPORTED; + break; + } + + if ((status = server_get_unix_fd( handle, 0, &fd, &needs_close, NULL, NULL ))) + return status; + + addr_len = sizeof(addr); + if (getpeername( fd, &addr.addr, &addr_len ) != 0) + { + if (needs_close) close( fd ); + return sock_errno_to_status( errno ); + } + + *(DWORD*)out_buffer = 0x10000; /* 64k */ + + if (needs_close) close( fd ); + return STATUS_SUCCESS; + } + case IOCTL_AFD_WINE_SIOCATMARK: { int value, ret;
I believe all of this can be implemented on the PE side, which would be less code to deal with. Also, should we add a FIXME or WARN for this?