mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-14 20:28:26 +00:00
server: Use attributes instead of inherit flag in socket requests.
This commit is contained in:
parent
834385cad4
commit
bc30303c56
|
@ -1592,9 +1592,9 @@ SOCKET WINAPI WS_accept(SOCKET s, struct WS_sockaddr *addr,
|
||||||
}
|
}
|
||||||
SERVER_START_REQ( accept_socket )
|
SERVER_START_REQ( accept_socket )
|
||||||
{
|
{
|
||||||
req->lhandle = SOCKET2HANDLE(s);
|
req->lhandle = SOCKET2HANDLE(s);
|
||||||
req->access = GENERIC_READ|GENERIC_WRITE|SYNCHRONIZE;
|
req->access = GENERIC_READ|GENERIC_WRITE|SYNCHRONIZE;
|
||||||
req->inherit = TRUE;
|
req->attributes = OBJ_INHERIT;
|
||||||
set_error( wine_server_call( req ) );
|
set_error( wine_server_call( req ) );
|
||||||
as = HANDLE2SOCKET( reply->handle );
|
as = HANDLE2SOCKET( reply->handle );
|
||||||
}
|
}
|
||||||
|
@ -3513,12 +3513,12 @@ SOCKET WINAPI WSASocketW(int af, int type, int protocol,
|
||||||
|
|
||||||
SERVER_START_REQ( create_socket )
|
SERVER_START_REQ( create_socket )
|
||||||
{
|
{
|
||||||
req->family = af;
|
req->family = af;
|
||||||
req->type = type;
|
req->type = type;
|
||||||
req->protocol = protocol;
|
req->protocol = protocol;
|
||||||
req->access = GENERIC_READ|GENERIC_WRITE|SYNCHRONIZE;
|
req->access = GENERIC_READ|GENERIC_WRITE|SYNCHRONIZE;
|
||||||
req->flags = dwFlags;
|
req->attributes = OBJ_INHERIT;
|
||||||
req->inherit = TRUE;
|
req->flags = dwFlags;
|
||||||
set_error( wine_server_call( req ) );
|
set_error( wine_server_call( req ) );
|
||||||
ret = HANDLE2SOCKET( reply->handle );
|
ret = HANDLE2SOCKET( reply->handle );
|
||||||
}
|
}
|
||||||
|
|
|
@ -885,7 +885,7 @@ struct create_socket_request
|
||||||
{
|
{
|
||||||
struct request_header __header;
|
struct request_header __header;
|
||||||
unsigned int access;
|
unsigned int access;
|
||||||
int inherit;
|
unsigned int attributes;
|
||||||
int family;
|
int family;
|
||||||
int type;
|
int type;
|
||||||
int protocol;
|
int protocol;
|
||||||
|
@ -904,7 +904,7 @@ struct accept_socket_request
|
||||||
struct request_header __header;
|
struct request_header __header;
|
||||||
obj_handle_t lhandle;
|
obj_handle_t lhandle;
|
||||||
unsigned int access;
|
unsigned int access;
|
||||||
int inherit;
|
unsigned int attributes;
|
||||||
};
|
};
|
||||||
struct accept_socket_reply
|
struct accept_socket_reply
|
||||||
{
|
{
|
||||||
|
@ -4316,6 +4316,6 @@ union generic_reply
|
||||||
struct query_symlink_reply query_symlink_reply;
|
struct query_symlink_reply query_symlink_reply;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define SERVER_PROTOCOL_VERSION 207
|
#define SERVER_PROTOCOL_VERSION 208
|
||||||
|
|
||||||
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */
|
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */
|
||||||
|
|
|
@ -679,7 +679,7 @@ enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
|
||||||
/* Create a socket */
|
/* Create a socket */
|
||||||
@REQ(create_socket)
|
@REQ(create_socket)
|
||||||
unsigned int access; /* wanted access rights */
|
unsigned int access; /* wanted access rights */
|
||||||
int inherit; /* inherit flag */
|
unsigned int attributes; /* object attributes */
|
||||||
int family; /* family, see socket manpage */
|
int family; /* family, see socket manpage */
|
||||||
int type; /* type, see socket manpage */
|
int type; /* type, see socket manpage */
|
||||||
int protocol; /* protocol, see socket manpage */
|
int protocol; /* protocol, see socket manpage */
|
||||||
|
@ -693,7 +693,7 @@ enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
|
||||||
@REQ(accept_socket)
|
@REQ(accept_socket)
|
||||||
obj_handle_t lhandle; /* handle to the listening socket */
|
obj_handle_t lhandle; /* handle to the listening socket */
|
||||||
unsigned int access; /* wanted access rights */
|
unsigned int access; /* wanted access rights */
|
||||||
int inherit; /* inherit flag */
|
unsigned int attributes; /* object attributes */
|
||||||
@REPLY
|
@REPLY
|
||||||
obj_handle_t handle; /* handle to the new socket */
|
obj_handle_t handle; /* handle to the new socket */
|
||||||
@END
|
@END
|
||||||
|
|
|
@ -773,7 +773,8 @@ DECL_HANDLER(create_socket)
|
||||||
reply->handle = 0;
|
reply->handle = 0;
|
||||||
if ((obj = create_socket( req->family, req->type, req->protocol, req->flags )) != NULL)
|
if ((obj = create_socket( req->family, req->type, req->protocol, req->flags )) != NULL)
|
||||||
{
|
{
|
||||||
reply->handle = alloc_handle( current->process, obj, req->access, req->inherit );
|
reply->handle = alloc_handle( current->process, obj, req->access,
|
||||||
|
req->attributes & OBJ_INHERIT );
|
||||||
release_object( obj );
|
release_object( obj );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -786,7 +787,8 @@ DECL_HANDLER(accept_socket)
|
||||||
reply->handle = 0;
|
reply->handle = 0;
|
||||||
if ((sock = accept_socket( req->lhandle )) != NULL)
|
if ((sock = accept_socket( req->lhandle )) != NULL)
|
||||||
{
|
{
|
||||||
reply->handle = alloc_handle( current->process, &sock->obj, req->access, req->inherit );
|
reply->handle = alloc_handle( current->process, &sock->obj, req->access,
|
||||||
|
req->attributes & OBJ_INHERIT );
|
||||||
sock->wparam = reply->handle; /* wparam for message is the socket handle */
|
sock->wparam = reply->handle; /* wparam for message is the socket handle */
|
||||||
sock_reselect( sock );
|
sock_reselect( sock );
|
||||||
release_object( &sock->obj );
|
release_object( &sock->obj );
|
||||||
|
|
|
@ -1103,7 +1103,7 @@ static void dump_unmount_device_request( const struct unmount_device_request *re
|
||||||
static void dump_create_socket_request( const struct create_socket_request *req )
|
static void dump_create_socket_request( const struct create_socket_request *req )
|
||||||
{
|
{
|
||||||
fprintf( stderr, " access=%08x,", req->access );
|
fprintf( stderr, " access=%08x,", req->access );
|
||||||
fprintf( stderr, " inherit=%d,", req->inherit );
|
fprintf( stderr, " attributes=%08x,", req->attributes );
|
||||||
fprintf( stderr, " family=%d,", req->family );
|
fprintf( stderr, " family=%d,", req->family );
|
||||||
fprintf( stderr, " type=%d,", req->type );
|
fprintf( stderr, " type=%d,", req->type );
|
||||||
fprintf( stderr, " protocol=%d,", req->protocol );
|
fprintf( stderr, " protocol=%d,", req->protocol );
|
||||||
|
@ -1119,7 +1119,7 @@ static void dump_accept_socket_request( const struct accept_socket_request *req
|
||||||
{
|
{
|
||||||
fprintf( stderr, " lhandle=%p,", req->lhandle );
|
fprintf( stderr, " lhandle=%p,", req->lhandle );
|
||||||
fprintf( stderr, " access=%08x,", req->access );
|
fprintf( stderr, " access=%08x,", req->access );
|
||||||
fprintf( stderr, " inherit=%d", req->inherit );
|
fprintf( stderr, " attributes=%08x", req->attributes );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dump_accept_socket_reply( const struct accept_socket_reply *req )
|
static void dump_accept_socket_reply( const struct accept_socket_reply *req )
|
||||||
|
|
Loading…
Reference in a new issue