server: Use attributes instead of inherit flag in file requests.
This commit is contained in:
parent
bc30303c56
commit
27b1aec925
|
@ -214,7 +214,7 @@ NTSTATUS WINAPI NtCreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATTRIB
|
||||||
SERVER_START_REQ( create_file )
|
SERVER_START_REQ( create_file )
|
||||||
{
|
{
|
||||||
req->access = access;
|
req->access = access;
|
||||||
req->inherit = (attr->Attributes & OBJ_INHERIT) != 0;
|
req->attributes = attr->Attributes;
|
||||||
req->sharing = sharing;
|
req->sharing = sharing;
|
||||||
req->create = disposition;
|
req->create = disposition;
|
||||||
req->options = options;
|
req->options = options;
|
||||||
|
|
|
@ -455,9 +455,9 @@ int wine_server_fd_to_handle( int fd, unsigned int access, int inherit, obj_hand
|
||||||
|
|
||||||
SERVER_START_REQ( alloc_file_handle )
|
SERVER_START_REQ( alloc_file_handle )
|
||||||
{
|
{
|
||||||
req->access = access;
|
req->access = access;
|
||||||
req->inherit = inherit;
|
req->attributes = inherit ? OBJ_INHERIT : 0;
|
||||||
req->fd = fd;
|
req->fd = fd;
|
||||||
if (!(ret = wine_server_call( req ))) *handle = reply->handle;
|
if (!(ret = wine_server_call( req ))) *handle = reply->handle;
|
||||||
}
|
}
|
||||||
SERVER_END_REQ;
|
SERVER_END_REQ;
|
||||||
|
|
|
@ -754,7 +754,7 @@ struct create_file_request
|
||||||
{
|
{
|
||||||
struct request_header __header;
|
struct request_header __header;
|
||||||
unsigned int access;
|
unsigned int access;
|
||||||
int inherit;
|
unsigned int attributes;
|
||||||
unsigned int sharing;
|
unsigned int sharing;
|
||||||
int create;
|
int create;
|
||||||
unsigned int options;
|
unsigned int options;
|
||||||
|
@ -773,7 +773,7 @@ struct alloc_file_handle_request
|
||||||
{
|
{
|
||||||
struct request_header __header;
|
struct request_header __header;
|
||||||
unsigned int access;
|
unsigned int access;
|
||||||
int inherit;
|
unsigned int attributes;
|
||||||
int fd;
|
int fd;
|
||||||
};
|
};
|
||||||
struct alloc_file_handle_reply
|
struct alloc_file_handle_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 208
|
#define SERVER_PROTOCOL_VERSION 209
|
||||||
|
|
||||||
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */
|
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */
|
||||||
|
|
|
@ -356,7 +356,8 @@ DECL_HANDLER(create_file)
|
||||||
if ((file = create_file( get_req_data(), get_req_data_size(), req->access,
|
if ((file = create_file( get_req_data(), get_req_data_size(), req->access,
|
||||||
req->sharing, req->create, req->options, req->attrs )))
|
req->sharing, req->create, req->options, req->attrs )))
|
||||||
{
|
{
|
||||||
reply->handle = alloc_handle( current->process, file, req->access, req->inherit );
|
reply->handle = alloc_handle( current->process, file, req->access,
|
||||||
|
req->attributes & OBJ_INHERIT );
|
||||||
release_object( file );
|
release_object( file );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -375,7 +376,8 @@ DECL_HANDLER(alloc_file_handle)
|
||||||
}
|
}
|
||||||
if ((file = create_file_for_fd( fd, req->access, FILE_SHARE_READ | FILE_SHARE_WRITE )))
|
if ((file = create_file_for_fd( fd, req->access, FILE_SHARE_READ | FILE_SHARE_WRITE )))
|
||||||
{
|
{
|
||||||
reply->handle = alloc_handle( current->process, file, req->access, req->inherit );
|
reply->handle = alloc_handle( current->process, file, req->access,
|
||||||
|
req->attributes & OBJ_INHERIT );
|
||||||
release_object( file );
|
release_object( file );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -590,7 +590,7 @@ enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
|
||||||
/* Create a file */
|
/* Create a file */
|
||||||
@REQ(create_file)
|
@REQ(create_file)
|
||||||
unsigned int access; /* wanted access rights */
|
unsigned int access; /* wanted access rights */
|
||||||
int inherit; /* inherit flag */
|
unsigned int attributes; /* object attributes */
|
||||||
unsigned int sharing; /* sharing flags */
|
unsigned int sharing; /* sharing flags */
|
||||||
int create; /* file create action */
|
int create; /* file create action */
|
||||||
unsigned int options; /* file options */
|
unsigned int options; /* file options */
|
||||||
|
@ -604,7 +604,7 @@ enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
|
||||||
/* Allocate a file handle for a Unix fd */
|
/* Allocate a file handle for a Unix fd */
|
||||||
@REQ(alloc_file_handle)
|
@REQ(alloc_file_handle)
|
||||||
unsigned int access; /* wanted access rights */
|
unsigned int access; /* wanted access rights */
|
||||||
int inherit; /* inherit flag */
|
unsigned int attributes; /* object attributes */
|
||||||
int fd; /* file descriptor on the client side */
|
int fd; /* file descriptor on the client side */
|
||||||
@REPLY
|
@REPLY
|
||||||
obj_handle_t handle; /* handle to the file */
|
obj_handle_t handle; /* handle to the file */
|
||||||
|
|
|
@ -1008,7 +1008,7 @@ static void dump_open_semaphore_reply( const struct open_semaphore_reply *req )
|
||||||
static void dump_create_file_request( const struct create_file_request *req )
|
static void dump_create_file_request( const struct create_file_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, " sharing=%08x,", req->sharing );
|
fprintf( stderr, " sharing=%08x,", req->sharing );
|
||||||
fprintf( stderr, " create=%d,", req->create );
|
fprintf( stderr, " create=%d,", req->create );
|
||||||
fprintf( stderr, " options=%08x,", req->options );
|
fprintf( stderr, " options=%08x,", req->options );
|
||||||
|
@ -1025,7 +1025,7 @@ static void dump_create_file_reply( const struct create_file_reply *req )
|
||||||
static void dump_alloc_file_handle_request( const struct alloc_file_handle_request *req )
|
static void dump_alloc_file_handle_request( const struct alloc_file_handle_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, " fd=%d", req->fd );
|
fprintf( stderr, " fd=%d", req->fd );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue