server: Use attributes instead of inherit flag in socket requests.

oldstable
Alexandre Julliard 2005-12-09 11:58:55 +01:00
parent 834385cad4
commit bc30303c56
5 changed files with 20 additions and 18 deletions

View File

@ -1592,9 +1592,9 @@ SOCKET WINAPI WS_accept(SOCKET s, struct WS_sockaddr *addr,
}
SERVER_START_REQ( accept_socket )
{
req->lhandle = SOCKET2HANDLE(s);
req->access = GENERIC_READ|GENERIC_WRITE|SYNCHRONIZE;
req->inherit = TRUE;
req->lhandle = SOCKET2HANDLE(s);
req->access = GENERIC_READ|GENERIC_WRITE|SYNCHRONIZE;
req->attributes = OBJ_INHERIT;
set_error( wine_server_call( req ) );
as = HANDLE2SOCKET( reply->handle );
}
@ -3513,12 +3513,12 @@ SOCKET WINAPI WSASocketW(int af, int type, int protocol,
SERVER_START_REQ( create_socket )
{
req->family = af;
req->type = type;
req->protocol = protocol;
req->access = GENERIC_READ|GENERIC_WRITE|SYNCHRONIZE;
req->flags = dwFlags;
req->inherit = TRUE;
req->family = af;
req->type = type;
req->protocol = protocol;
req->access = GENERIC_READ|GENERIC_WRITE|SYNCHRONIZE;
req->attributes = OBJ_INHERIT;
req->flags = dwFlags;
set_error( wine_server_call( req ) );
ret = HANDLE2SOCKET( reply->handle );
}

View File

@ -885,7 +885,7 @@ struct create_socket_request
{
struct request_header __header;
unsigned int access;
int inherit;
unsigned int attributes;
int family;
int type;
int protocol;
@ -904,7 +904,7 @@ struct accept_socket_request
struct request_header __header;
obj_handle_t lhandle;
unsigned int access;
int inherit;
unsigned int attributes;
};
struct accept_socket_reply
{
@ -4316,6 +4316,6 @@ union generic_reply
struct query_symlink_reply query_symlink_reply;
};
#define SERVER_PROTOCOL_VERSION 207
#define SERVER_PROTOCOL_VERSION 208
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */

View File

@ -679,7 +679,7 @@ enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
/* Create a socket */
@REQ(create_socket)
unsigned int access; /* wanted access rights */
int inherit; /* inherit flag */
unsigned int attributes; /* object attributes */
int family; /* family, see socket manpage */
int type; /* type, 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)
obj_handle_t lhandle; /* handle to the listening socket */
unsigned int access; /* wanted access rights */
int inherit; /* inherit flag */
unsigned int attributes; /* object attributes */
@REPLY
obj_handle_t handle; /* handle to the new socket */
@END

View File

@ -773,7 +773,8 @@ DECL_HANDLER(create_socket)
reply->handle = 0;
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 );
}
}
@ -786,7 +787,8 @@ DECL_HANDLER(accept_socket)
reply->handle = 0;
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_reselect( sock );
release_object( &sock->obj );

View File

@ -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 )
{
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, " type=%d,", req->type );
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, " 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 )