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;
}
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?