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 @@ | |||
| 3 | #include <linux/types.h> | 3 | #include <linux/types.h> | 
| 4 | #include <linux/virtio_ids.h> | 4 | #include <linux/virtio_ids.h> | 
| 5 | #include <linux/virtio_config.h> | 5 | #include <linux/virtio_config.h> | 
| 6 | /* This header, excluding the #ifdef __KERNEL__ part, is BSD licensed so | 6 | /* | 
| 7 | * anyone can use the definitions to implement compatible drivers/servers. */ | 7 | * This header, excluding the #ifdef __KERNEL__ part, is BSD licensed so | 
| 8 | * anyone can use the definitions to implement compatible drivers/servers. | ||
| 9 | * | ||
| 10 | * Copyright (C) Red Hat, Inc., 2009, 2010 | ||
| 11 | */ | ||
| 8 | 12 | ||
| 9 | /* Feature bits */ | 13 | /* Feature bits */ | 
| 10 | #define VIRTIO_CONSOLE_F_SIZE 0 /* Does host provide console size? */ | 14 | #define VIRTIO_CONSOLE_F_SIZE 0 /* Does host provide console size? */ | 
| 15 | #define VIRTIO_CONSOLE_F_MULTIPORT 1 /* Does host provide multiple ports? */ | ||
| 11 | 16 | ||
| 12 | struct virtio_console_config { | 17 | struct virtio_console_config { | 
| 13 | /* colums of the screens */ | 18 | /* colums of the screens */ | 
| 14 | __u16 cols; | 19 | __u16 cols; | 
| 15 | /* rows of the screens */ | 20 | /* rows of the screens */ | 
| 16 | __u16 rows; | 21 | __u16 rows; | 
| 22 | /* max. number of ports this device can hold */ | ||
| 23 | __u32 max_nr_ports; | ||
| 24 | /* number of ports added so far */ | ||
| 25 | __u32 nr_ports; | ||
| 17 | } __attribute__((packed)); | 26 | } __attribute__((packed)); | 
| 18 | 27 | ||
| 28 | /* | ||
| 29 | * A message that's passed between the Host and the Guest for a | ||
| 30 | * particular port. | ||
| 31 | */ | ||
| 32 | struct virtio_console_control { | ||
| 33 | __u32 id; /* Port number */ | ||
| 34 | __u16 event; /* The kind of control event (see below) */ | ||
| 35 | __u16 value; /* Extra information for the key */ | ||
| 36 | }; | ||
| 37 | |||
| 38 | /* Some events for control messages */ | ||
| 39 | #define VIRTIO_CONSOLE_PORT_READY 0 | ||
| 40 | #define VIRTIO_CONSOLE_CONSOLE_PORT 1 | ||
| 41 | #define VIRTIO_CONSOLE_RESIZE 2 | ||
| 42 | #define VIRTIO_CONSOLE_PORT_OPEN 3 | ||
| 43 | #define VIRTIO_CONSOLE_PORT_NAME 4 | ||
| 44 | #define VIRTIO_CONSOLE_PORT_REMOVE 5 | ||
| 19 | 45 | ||
| 20 | #ifdef __KERNEL__ | 46 | #ifdef __KERNEL__ | 
| 21 | int __init virtio_cons_early_init(int (*put_chars)(u32, const char *, int)); | 47 | int __init virtio_cons_early_init(int (*put_chars)(u32, const char *, int)); | 
