server: Rename console_input to console.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2020-11-27 18:13:30 +01:00 committed by Alexandre Julliard
parent a7c8499902
commit 6f3cf86a56
2 changed files with 101 additions and 102 deletions

View file

@ -51,7 +51,7 @@ struct history_line
WCHAR text[1]; WCHAR text[1];
}; };
struct console_input struct console
{ {
struct object obj; /* object header */ struct object obj; /* object header */
int signaled; /* is console signaled */ int signaled; /* is console signaled */
@ -65,57 +65,57 @@ struct console_input
struct async_queue read_q; /* read queue */ struct async_queue read_q; /* read queue */
}; };
static void console_input_dump( struct object *obj, int verbose ); static void console_dump( struct object *obj, int verbose );
static void console_input_destroy( struct object *obj ); static void console_destroy( struct object *obj );
static int console_input_signaled( struct object *obj, struct wait_queue_entry *entry ); static int console_signaled( struct object *obj, struct wait_queue_entry *entry );
static struct fd *console_input_get_fd( struct object *obj ); static struct fd *console_get_fd( struct object *obj );
static struct object *console_input_lookup_name( struct object *obj, struct unicode_str *name, static struct object *console_lookup_name( struct object *obj, struct unicode_str *name,
unsigned int attr, struct object *root ); unsigned int attr, struct object *root );
static struct object *console_input_open_file( struct object *obj, unsigned int access, static struct object *console_open_file( struct object *obj, unsigned int access,
unsigned int sharing, unsigned int options ); unsigned int sharing, unsigned int options );
static const struct object_ops console_input_ops = static const struct object_ops console_ops =
{ {
sizeof(struct console_input), /* size */ sizeof(struct console), /* size */
console_input_dump, /* dump */ console_dump, /* dump */
no_get_type, /* get_type */ no_get_type, /* get_type */
add_queue, /* add_queue */ add_queue, /* add_queue */
remove_queue, /* remove_queue */ remove_queue, /* remove_queue */
console_input_signaled, /* signaled */ console_signaled, /* signaled */
no_satisfied, /* satisfied */ no_satisfied, /* satisfied */
no_signal, /* signal */ no_signal, /* signal */
console_input_get_fd, /* get_fd */ console_get_fd, /* get_fd */
default_fd_map_access, /* map_access */ default_fd_map_access, /* map_access */
default_get_sd, /* get_sd */ default_get_sd, /* get_sd */
default_set_sd, /* set_sd */ default_set_sd, /* set_sd */
no_get_full_name, /* get_full_name */ no_get_full_name, /* get_full_name */
console_input_lookup_name, /* lookup_name */ console_lookup_name, /* lookup_name */
no_link_name, /* link_name */ no_link_name, /* link_name */
NULL, /* unlink_name */ NULL, /* unlink_name */
console_input_open_file, /* open_file */ console_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */ no_kernel_obj_list, /* get_kernel_obj_list */
no_close_handle, /* close_handle */ no_close_handle, /* close_handle */
console_input_destroy /* destroy */ console_destroy /* destroy */
}; };
static enum server_fd_type console_get_fd_type( struct fd *fd ); static enum server_fd_type console_get_fd_type( struct fd *fd );
static void console_get_file_info( struct fd *fd, obj_handle_t handle, unsigned int info_class ); static void console_get_file_info( struct fd *fd, obj_handle_t handle, unsigned int info_class );
static void console_get_volume_info( struct fd *fd, unsigned int info_class ); static void console_get_volume_info( struct fd *fd, unsigned int info_class );
static int console_input_read( struct fd *fd, struct async *async, file_pos_t pos ); static int console_read( struct fd *fd, struct async *async, file_pos_t pos );
static int console_input_flush( struct fd *fd, struct async *async ); static int console_flush( struct fd *fd, struct async *async );
static int console_input_ioctl( struct fd *fd, ioctl_code_t code, struct async *async ); static int console_ioctl( struct fd *fd, ioctl_code_t code, struct async *async );
static const struct fd_ops console_input_fd_ops = static const struct fd_ops console_fd_ops =
{ {
default_fd_get_poll_events, /* get_poll_events */ default_fd_get_poll_events, /* get_poll_events */
default_poll_event, /* poll_event */ default_poll_event, /* poll_event */
console_get_fd_type, /* get_fd_type */ console_get_fd_type, /* get_fd_type */
console_input_read, /* read */ console_read, /* read */
no_fd_write, /* write */ no_fd_write, /* write */
console_input_flush, /* flush */ console_flush, /* flush */
console_get_file_info, /* get_file_info */ console_get_file_info, /* get_file_info */
console_get_volume_info, /* get_volume_info */ console_get_volume_info, /* get_volume_info */
console_input_ioctl, /* ioctl */ console_ioctl, /* ioctl */
default_fd_queue_async, /* queue_async */ default_fd_queue_async, /* queue_async */
default_fd_reselect_async /* reselect_async */ default_fd_reselect_async /* reselect_async */
}; };
@ -132,7 +132,7 @@ struct console_server
{ {
struct object obj; /* object header */ struct object obj; /* object header */
struct fd *fd; /* pseudo-fd for ioctls */ struct fd *fd; /* pseudo-fd for ioctls */
struct console_input *console; /* attached console */ struct console *console; /* attached console */
struct list queue; /* ioctl queue */ struct list queue; /* ioctl queue */
struct list read_queue; /* blocking read queue */ struct list read_queue; /* blocking read queue */
int busy; /* flag if server processing an ioctl */ int busy; /* flag if server processing an ioctl */
@ -204,7 +204,7 @@ struct screen_buffer
{ {
struct object obj; /* object header */ struct object obj; /* object header */
struct list entry; /* entry in list of all screen buffers */ struct list entry; /* entry in list of all screen buffers */
struct console_input *input; /* associated console input */ struct console *input; /* associated console input */
unsigned int id; /* buffer id */ unsigned int id; /* buffer id */
struct fd *fd; /* for bare console, attached output fd */ struct fd *fd; /* for bare console, attached output fd */
struct async_queue ioctl_q; /* ioctl queue */ struct async_queue ioctl_q; /* ioctl queue */
@ -408,17 +408,17 @@ static const struct fd_ops console_connection_fd_ops =
static struct list screen_buffer_list = LIST_INIT(screen_buffer_list); static struct list screen_buffer_list = LIST_INIT(screen_buffer_list);
static int console_input_signaled( struct object *obj, struct wait_queue_entry *entry ) static int console_signaled( struct object *obj, struct wait_queue_entry *entry )
{ {
struct console_input *console = (struct console_input*)obj; struct console *console = (struct console*)obj;
return console->signaled; return console->signaled;
} }
static struct fd *console_input_get_fd( struct object* obj ) static struct fd *console_get_fd( struct object *obj )
{ {
struct console_input *console_input = (struct console_input*)obj; struct console *console = (struct console *)obj;
assert( obj->ops == &console_input_ops ); assert( obj->ops == &console_ops );
return (struct fd *)grab_object( console_input->fd ); return (struct fd *)grab_object( console->fd );
} }
static enum server_fd_type console_get_fd_type( struct fd *fd ) static enum server_fd_type console_get_fd_type( struct fd *fd )
@ -453,32 +453,31 @@ static void console_get_volume_info( struct fd *fd, unsigned int info_class )
} }
} }
static struct object *create_console_input(void) static struct object *create_console(void)
{ {
struct console_input *console_input; struct console *console;
if (!(console_input = alloc_object( &console_input_ops ))) if (!(console = alloc_object( &console_ops )))
return NULL; return NULL;
console_input->renderer = NULL; console->renderer = NULL;
console_input->signaled = 0; console->signaled = 0;
console_input->num_proc = 0; console->num_proc = 0;
console_input->active = NULL; console->active = NULL;
console_input->server = NULL; console->server = NULL;
console_input->fd = NULL; console->fd = NULL;
console_input->last_id = 0; console->last_id = 0;
init_async_queue( &console_input->ioctl_q ); init_async_queue( &console->ioctl_q );
init_async_queue( &console_input->read_q ); init_async_queue( &console->read_q );
console_input->fd = alloc_pseudo_fd( &console_input_fd_ops, &console_input->obj, console->fd = alloc_pseudo_fd( &console_fd_ops, &console->obj, FILE_SYNCHRONOUS_IO_NONALERT );
FILE_SYNCHRONOUS_IO_NONALERT ); if (!console->fd)
if (!console_input->fd)
{ {
release_object( console_input ); release_object( console );
return NULL; return NULL;
} }
allow_fd_caching( console_input->fd ); allow_fd_caching( console->fd );
return &console_input->obj; return &console->obj;
} }
static void console_host_ioctl_terminate( struct console_host_ioctl *call, unsigned int status ) static void console_host_ioctl_terminate( struct console_host_ioctl *call, unsigned int status )
@ -542,21 +541,21 @@ static void disconnect_console_server( struct console_server *server )
} }
} }
static void set_active_screen_buffer( struct console_input *console_input, struct screen_buffer *screen_buffer ) static void set_active_screen_buffer( struct console *console, struct screen_buffer *screen_buffer )
{ {
if (console_input->active == screen_buffer) return; if (console->active == screen_buffer) return;
if (console_input->active) release_object( console_input->active ); if (console->active) release_object( console->active );
console_input->active = (struct screen_buffer *)grab_object( screen_buffer ); console->active = (struct screen_buffer *)grab_object( screen_buffer );
if (console_input->server) queue_host_ioctl( console_input->server, IOCTL_CONDRV_ACTIVATE, if (console->server) queue_host_ioctl( console->server, IOCTL_CONDRV_ACTIVATE,
screen_buffer->id, NULL, NULL ); screen_buffer->id, NULL, NULL );
} }
static struct object *create_console_output( struct console_input *console_input ) static struct object *create_console_output( struct console *console )
{ {
struct screen_buffer *screen_buffer; struct screen_buffer *screen_buffer;
if (console_input->last_id == ~0) if (console->last_id == ~0)
{ {
set_error( STATUS_NO_MEMORY ); set_error( STATUS_NO_MEMORY );
return NULL; return NULL;
@ -565,8 +564,8 @@ static struct object *create_console_output( struct console_input *console_input
if (!(screen_buffer = alloc_object( &screen_buffer_ops ))) if (!(screen_buffer = alloc_object( &screen_buffer_ops )))
return NULL; return NULL;
screen_buffer->id = ++console_input->last_id; screen_buffer->id = ++console->last_id;
screen_buffer->input = console_input; screen_buffer->input = console;
init_async_queue( &screen_buffer->ioctl_q ); init_async_queue( &screen_buffer->ioctl_q );
list_add_head( &screen_buffer_list, &screen_buffer->entry ); list_add_head( &screen_buffer_list, &screen_buffer->entry );
@ -579,16 +578,16 @@ static struct object *create_console_output( struct console_input *console_input
} }
allow_fd_caching(screen_buffer->fd); allow_fd_caching(screen_buffer->fd);
if (console_input->server) queue_host_ioctl( console_input->server, IOCTL_CONDRV_INIT_OUTPUT, if (console->server) queue_host_ioctl( console->server, IOCTL_CONDRV_INIT_OUTPUT,
screen_buffer->id, NULL, NULL ); screen_buffer->id, NULL, NULL );
if (!console_input->active) set_active_screen_buffer( console_input, screen_buffer ); if (!console->active) set_active_screen_buffer( console, screen_buffer );
return &screen_buffer->obj; return &screen_buffer->obj;
} }
/* free the console for this process */ /* free the console for this process */
int free_console( struct process *process ) int free_console( struct process *process )
{ {
struct console_input* console = process->console; struct console *console = process->console;
if (!console) return 0; if (!console) return 0;
@ -599,14 +598,14 @@ int free_console( struct process *process )
return 1; return 1;
} }
struct thread *console_get_renderer( struct console_input *console ) struct thread *console_get_renderer( struct console *console )
{ {
return console->renderer; return console->renderer;
} }
struct console_signal_info struct console_signal_info
{ {
struct console_input *console; struct console *console;
process_id_t group; process_id_t group;
int signal; int signal;
}; };
@ -628,7 +627,7 @@ static int propagate_console_signal_cb(struct process *process, void *user)
return FALSE; return FALSE;
} }
static void propagate_console_signal( struct console_input *console, static void propagate_console_signal( struct console *console,
int sig, process_id_t group_id ) int sig, process_id_t group_id )
{ {
struct console_signal_info csi; struct console_signal_info csi;
@ -652,42 +651,42 @@ static void propagate_console_signal( struct console_input *console,
} }
/* dumb dump */ /* dumb dump */
static void console_input_dump( struct object *obj, int verbose ) static void console_dump( struct object *obj, int verbose )
{ {
struct console_input *console = (struct console_input *)obj; struct console *console = (struct console *)obj;
assert( obj->ops == &console_input_ops ); assert( obj->ops == &console_ops );
fprintf( stderr, "Console input active=%p server=%p\n", fprintf( stderr, "Console input active=%p server=%p\n",
console->active, console->server ); console->active, console->server );
} }
static void console_input_destroy( struct object *obj ) static void console_destroy( struct object *obj )
{ {
struct console_input *console_in = (struct console_input *)obj; struct console *console = (struct console *)obj;
struct screen_buffer *curr; struct screen_buffer *curr;
assert( obj->ops == &console_input_ops ); assert( obj->ops == &console_ops );
if (console_in->server) if (console->server)
{ {
assert( console_in->server->console == console_in ); assert( console->server->console == console );
disconnect_console_server( console_in->server ); disconnect_console_server( console->server );
} }
if (console_in->active) release_object( console_in->active ); if (console->active) release_object( console->active );
console_in->active = NULL; console->active = NULL;
LIST_FOR_EACH_ENTRY( curr, &screen_buffer_list, struct screen_buffer, entry ) LIST_FOR_EACH_ENTRY( curr, &screen_buffer_list, struct screen_buffer, entry )
{ {
if (curr->input == console_in) curr->input = NULL; if (curr->input == console) curr->input = NULL;
} }
free_async_queue( &console_in->ioctl_q ); free_async_queue( &console->ioctl_q );
free_async_queue( &console_in->read_q ); free_async_queue( &console->read_q );
if (console_in->fd) if (console->fd)
release_object( console_in->fd ); release_object( console->fd );
} }
static struct object *create_console_connection( struct console_input *console ) static struct object *create_console_connection( struct console *console )
{ {
struct console_connection *connection; struct console_connection *connection;
@ -706,19 +705,19 @@ static struct object *create_console_connection( struct console_input *console )
if (console) if (console)
{ {
current->process->console = (struct console_input *)grab_object( console ); current->process->console = (struct console *)grab_object( console );
console->num_proc++; console->num_proc++;
} }
return &connection->obj; return &connection->obj;
} }
static struct object *console_input_lookup_name( struct object *obj, struct unicode_str *name, static struct object *console_lookup_name( struct object *obj, struct unicode_str *name,
unsigned int attr, struct object *root ) unsigned int attr, struct object *root )
{ {
struct console_input *console = (struct console_input *)obj; struct console *console = (struct console *)obj;
static const WCHAR connectionW[] = {'C','o','n','n','e','c','t','i','o','n'}; static const WCHAR connectionW[] = {'C','o','n','n','e','c','t','i','o','n'};
assert( obj->ops == &console_input_ops ); assert( obj->ops == &console_ops );
if (name->len == sizeof(connectionW) && !memcmp( name->str, connectionW, name->len )) if (name->len == sizeof(connectionW) && !memcmp( name->str, connectionW, name->len ))
{ {
@ -729,7 +728,7 @@ static struct object *console_input_lookup_name( struct object *obj, struct unic
return NULL; return NULL;
} }
static struct object *console_input_open_file( struct object *obj, unsigned int access, static struct object *console_open_file( struct object *obj, unsigned int access,
unsigned int sharing, unsigned int options ) unsigned int sharing, unsigned int options )
{ {
return grab_object( obj ); return grab_object( obj );
@ -814,7 +813,7 @@ static struct object *console_server_lookup_name( struct object *obj, struct uni
set_error( STATUS_INVALID_HANDLE ); set_error( STATUS_INVALID_HANDLE );
return 0; return 0;
} }
if (!(server->console = (struct console_input *)create_console_input())) return NULL; if (!(server->console = (struct console *)create_console())) return NULL;
if (!(screen_buffer = (struct screen_buffer *)create_console_output( server->console ))) if (!(screen_buffer = (struct screen_buffer *)create_console_output( server->console )))
{ {
release_object( server->console ); release_object( server->console );
@ -884,9 +883,9 @@ static int is_blocking_read_ioctl( unsigned int code )
} }
} }
static int console_input_ioctl( struct fd *fd, ioctl_code_t code, struct async *async ) static int console_ioctl( struct fd *fd, ioctl_code_t code, struct async *async )
{ {
struct console_input *console = get_fd_user( fd ); struct console *console = get_fd_user( fd );
switch (code) switch (code)
{ {
@ -919,9 +918,9 @@ static int console_input_ioctl( struct fd *fd, ioctl_code_t code, struct async *
} }
} }
static int console_input_read( struct fd *fd, struct async *async, file_pos_t pos ) static int console_read( struct fd *fd, struct async *async, file_pos_t pos )
{ {
struct console_input *console = get_fd_user( fd ); struct console *console = get_fd_user( fd );
if (!console->server) if (!console->server)
{ {
@ -931,9 +930,9 @@ static int console_input_read( struct fd *fd, struct async *async, file_pos_t po
return queue_host_ioctl( console->server, IOCTL_CONDRV_READ_FILE, 0, async, &console->ioctl_q ); return queue_host_ioctl( console->server, IOCTL_CONDRV_READ_FILE, 0, async, &console->ioctl_q );
} }
static int console_input_flush( struct fd *fd, struct async *async ) static int console_flush( struct fd *fd, struct async *async )
{ {
struct console_input *console = get_fd_user( fd ); struct console *console = get_fd_user( fd );
if (!console->server) if (!console->server)
{ {
@ -1023,7 +1022,7 @@ static int console_connection_ioctl( struct fd *fd, ioctl_code_t code, struct as
if (process->console) if (process->console)
{ {
current->process->console = (struct console_input *)grab_object( process->console ); current->process->console = (struct console *)grab_object( process->console );
process->console->num_proc++; process->console->num_proc++;
} }
else set_error( STATUS_ACCESS_DENIED ); else set_error( STATUS_ACCESS_DENIED );

View file

@ -80,7 +80,7 @@ struct process
struct list asyncs; /* list of async object owned by the process */ struct list asyncs; /* list of async object owned by the process */
struct list locks; /* list of file locks owned by the process */ struct list locks; /* list of file locks owned by the process */
struct list classes; /* window classes owned by the process */ struct list classes; /* window classes owned by the process */
struct console_input*console; /* console input */ struct console *console; /* console input */
enum startup_state startup_state; /* startup state */ enum startup_state startup_state; /* startup state */
struct startup_info *startup_info; /* startup info while init is in progress */ struct startup_info *startup_info; /* startup info while init is in progress */
struct event *idle_event; /* event for input idle */ struct event *idle_event; /* event for input idle */
@ -133,7 +133,7 @@ extern void enum_processes( int (*cb)(struct process*, void*), void *user);
/* console functions */ /* console functions */
extern int free_console( struct process *process ); extern int free_console( struct process *process );
extern struct thread *console_get_renderer( struct console_input *console ); extern struct thread *console_get_renderer( struct console *console );
/* process tracing mechanism to use */ /* process tracing mechanism to use */
#ifdef __APPLE__ #ifdef __APPLE__