mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-14 17:47:16 +00:00
server: Introduce IOCTL_AFD_WINE_SET_SO_SNDBUF.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
7f1623bc62
commit
a0bb5564eb
|
@ -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_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_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_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
|
struct afd_create_params
|
||||||
{
|
{
|
||||||
|
|
|
@ -2650,6 +2650,30 @@ static int sock_ioctl( struct fd *fd, ioctl_code_t code, struct async *async )
|
||||||
return 0;
|
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:
|
default:
|
||||||
set_error( STATUS_NOT_SUPPORTED );
|
set_error( STATUS_NOT_SUPPORTED );
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue