diff options
Diffstat (limited to 'server/spice.h')
-rw-r--r-- | server/spice.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/server/spice.h b/server/spice.h index 87303ab9..f6a4fe04 100644 --- a/server/spice.h +++ b/server/spice.h @@ -322,6 +322,32 @@ void spice_server_record_stop(SpiceRecordInstance *sin); uint32_t spice_server_record_get_samples(SpiceRecordInstance *sin, uint32_t *samples, uint32_t bufsize); +/* char device interfaces */ + +#define SPICE_INTERFACE_CHAR_DEVICE "char_device" +#define SPICE_INTERFACE_CHAR_DEVICE_MAJOR 1 +#define SPICE_INTERFACE_CHAR_DEVICE_MINOR 1 +typedef struct SpiceCharDeviceInterface SpiceCharDeviceInterface; +typedef struct SpiceCharDeviceInstance SpiceCharDeviceInstance; +typedef struct SpiceCharDeviceState SpiceCharDeviceState; + +struct SpiceCharDeviceInterface { + SpiceBaseInterface base; + + void (*state)(SpiceCharDeviceInstance *sin, int connected); + int (*write)(SpiceCharDeviceInstance *sin, const uint8_t *buf, int len); + int (*read)(SpiceCharDeviceInstance *sin, uint8_t *buf, int len); +}; + +struct SpiceCharDeviceInstance { + SpiceBaseInstance base; + const char* subtype; + SpiceCharDeviceState *st; +}; + +void spice_server_char_device_wakeup(SpiceCharDeviceInstance *sin); +const char** spice_server_char_device_recognized_subtypes(void); + /* spice server setup */ /* Don't use features incompatible with a specific spice |