Commit a0bb5564 authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

server: Introduce IOCTL_AFD_WINE_SET_SO_SNDBUF.

parent 7f1623bc
......@@ -175,6 +175,7 @@ struct afd_get_events_params
#define IOCTL_AFD_WINE_GET_SO_RCVTIMEO CTL_CODE(FILE_DEVICE_NETWORK, 232, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AFD_WINE_GET_SO_REUSEADDR CTL_CODE(FILE_DEVICE_NETWORK, 233, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AFD_WINE_SET_SO_REUSEADDR CTL_CODE(FILE_DEVICE_NETWORK, 234, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AFD_WINE_SET_SO_SNDBUF CTL_CODE(FILE_DEVICE_NETWORK, 235, METHOD_BUFFERED, FILE_ANY_ACCESS)
struct afd_create_params
{
......
......@@ -2650,6 +2650,30 @@ static int sock_ioctl( struct fd *fd, ioctl_code_t code, struct async *async )
return 0;
}
case IOCTL_AFD_WINE_SET_SO_SNDBUF:
{
DWORD sndbuf;
if (get_req_data_size() < sizeof(sndbuf))
{
set_error( STATUS_BUFFER_TOO_SMALL );
return 0;
}
sndbuf = *(DWORD *)get_req_data();
#ifdef __APPLE__
if (!sndbuf)
{
/* setsockopt fails if a zero value is passed */
return 0;
}
#endif
if (setsockopt( unix_fd, SOL_SOCKET, SO_SNDBUF, (char *)&sndbuf, sizeof(sndbuf) ) < 0)
set_error( sock_get_ntstatus( errno ) );
return 0;
}
default:
set_error( STATUS_NOT_SUPPORTED );
return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment