summaryrefslogtreecommitdiffstats
path: root/server/spice.h
diff options
context:
space:
mode:
Diffstat (limited to 'server/spice.h')
-rw-r--r--server/spice.h26
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