server: Use attributes instead of inherit flag in console requests.
diff --git a/server/console.c b/server/console.c
index e567d60..e096079 100644
--- a/server/console.c
+++ b/server/console.c
@@ -1240,7 +1240,7 @@
}
if ((console = (struct console_input*)create_console_input( current )))
{
- if ((in = alloc_handle( renderer, console, req->access, req->inherit )))
+ if ((in = alloc_handle( renderer, console, req->access, req->attributes & OBJ_INHERIT )))
{
if ((evt = alloc_handle( renderer, console->evt,
SYNCHRONIZE|GENERIC_READ|GENERIC_WRITE, FALSE )))
@@ -1312,7 +1312,7 @@
/* FIXME: req->share is not used (as in screen buffer creation) */
if (obj)
{
- 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 );
}
else if (!get_error()) set_error( STATUS_ACCESS_DENIED );
@@ -1411,7 +1411,7 @@
/* FIXME: should store sharing and test it when opening the CONOUT$ device
* see file.c on how this could be done */
reply->handle_out = alloc_handle( current->process, screen_buffer,
- req->access, req->inherit );
+ req->access, req->attributes & OBJ_INHERIT );
release_object( screen_buffer );
}
release_object( console );
diff --git a/server/protocol.def b/server/protocol.def
index 98bcb90..2dfd020 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -738,7 +738,7 @@
/* Allocate a console (only used by a console renderer) */
@REQ(alloc_console)
unsigned int access; /* wanted access rights */
- int inherit; /* inherit flag */
+ unsigned int attributes; /* object attributes */
process_id_t pid; /* pid of process which shall be attached to the console */
@REPLY
obj_handle_t handle_in; /* handle to console input */
@@ -808,7 +808,7 @@
int from; /* 0 (resp 1) input (resp output) of current process console */
/* otherwise console_in handle to get active screen buffer? */
unsigned int access; /* wanted access rights */
- int inherit; /* inherit flag */
+ unsigned int attributes; /* object attributes */
int share; /* share mask (only for output handles) */
@REPLY
obj_handle_t handle; /* handle to the console */
@@ -885,9 +885,9 @@
/* creates a new screen buffer on process' console */
@REQ(create_console_output)
obj_handle_t handle_in; /* handle to console input, or 0 for process' console */
- int access; /* wanted access rights */
- int share; /* sharing credentials */
- int inherit; /* inherit flag */
+ unsigned int access; /* wanted access rights */
+ unsigned int attributes; /* object attributes */
+ unsigned int share; /* sharing credentials */
@REPLY
obj_handle_t handle_out; /* handle to the screen buffer */
@END
diff --git a/server/trace.c b/server/trace.c
index 6ede1c2..d79adb6 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -1169,7 +1169,7 @@
static void dump_alloc_console_request( const struct alloc_console_request *req )
{
fprintf( stderr, " access=%08x,", req->access );
- fprintf( stderr, " inherit=%d,", req->inherit );
+ fprintf( stderr, " attributes=%08x,", req->attributes );
fprintf( stderr, " pid=%04x", req->pid );
}
@@ -1198,7 +1198,7 @@
{
fprintf( stderr, " from=%d,", req->from );
fprintf( stderr, " access=%08x,", req->access );
- fprintf( stderr, " inherit=%d,", req->inherit );
+ fprintf( stderr, " attributes=%08x,", req->attributes );
fprintf( stderr, " share=%d", req->share );
}
@@ -1282,9 +1282,9 @@
static void dump_create_console_output_request( const struct create_console_output_request *req )
{
fprintf( stderr, " handle_in=%p,", req->handle_in );
- fprintf( stderr, " access=%d,", req->access );
- fprintf( stderr, " share=%d,", req->share );
- fprintf( stderr, " inherit=%d", req->inherit );
+ fprintf( stderr, " access=%08x,", req->access );
+ fprintf( stderr, " attributes=%08x,", req->attributes );
+ fprintf( stderr, " share=%08x", req->share );
}
static void dump_create_console_output_reply( const struct create_console_output_reply *req )