diff options
Diffstat (limited to 'include/linux/virtio_console.h')
| -rw-r--r-- | include/linux/virtio_console.h | 30 | 
1 files changed, 28 insertions, 2 deletions
diff --git a/include/linux/virtio_console.h b/include/linux/virtio_console.h index fe885174cc1f..ae4f039515b4 100644 --- a/include/linux/virtio_console.h +++ b/include/linux/virtio_console.h @@ -3,19 +3,45 @@  #include <linux/types.h>  #include <linux/virtio_ids.h>  #include <linux/virtio_config.h> -/* This header, excluding the #ifdef __KERNEL__ part, is BSD licensed so - * anyone can use the definitions to implement compatible drivers/servers. */ +/* + * This header, excluding the #ifdef __KERNEL__ part, is BSD licensed so + * anyone can use the definitions to implement compatible drivers/servers. + * + * Copyright (C) Red Hat, Inc., 2009, 2010 + */  /* Feature bits */  #define VIRTIO_CONSOLE_F_SIZE	0	/* Does host provide console size? */ +#define VIRTIO_CONSOLE_F_MULTIPORT 1	/* Does host provide multiple ports? */  struct virtio_console_config {  	/* colums of the screens */  	__u16 cols;  	/* rows of the screens */  	__u16 rows; +	/* max. number of ports this device can hold */ +	__u32 max_nr_ports; +	/* number of ports added so far */ +	__u32 nr_ports;  } __attribute__((packed)); +/* + * A message that's passed between the Host and the Guest for a + * particular port. + */ +struct virtio_console_control { +	__u32 id;		/* Port number */ +	__u16 event;		/* The kind of control event (see below) */ +	__u16 value;		/* Extra information for the key */ +}; + +/* Some events for control messages */ +#define VIRTIO_CONSOLE_PORT_READY	0 +#define VIRTIO_CONSOLE_CONSOLE_PORT	1 +#define VIRTIO_CONSOLE_RESIZE		2 +#define VIRTIO_CONSOLE_PORT_OPEN	3 +#define VIRTIO_CONSOLE_PORT_NAME	4 +#define VIRTIO_CONSOLE_PORT_REMOVE	5  #ifdef __KERNEL__  int __init virtio_cons_early_init(int (*put_chars)(u32, const char *, int));  |