[Spice-devel] [PATCH spice-server v2] spice-char: Add some documentation to SpiceCharDeviceInterface
Frediano Ziglio
fziglio at redhat.com
Mon Jun 17 16:34:56 UTC 2019
Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
server/spice-char.h | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
Changes since v1:
- updated comments
diff --git a/server/spice-char.h b/server/spice-char.h
index 1a8a031d2..a3b9d26bf 100644
--- a/server/spice-char.h
+++ b/server/spice-char.h
@@ -40,9 +40,35 @@ typedef enum {
struct SpiceCharDeviceInterface {
SpiceBaseInterface base;
+ /* Set the state of the device.
+ * connected should be 0 or 1.
+ * Setting state to 0 causes the device to be disabled.
+ * This can be used by SPICE server to tell guest that device is not
+ * working anymore (for instance because the guest itself sent some
+ * wrong request).
+ */
void (*state)(SpiceCharDeviceInstance *sin, int connected);
+
+ /* Write some bytes to the character device.
+ * Returns bytes copied from buf or a value < 0 on errors.
+ * If able to write some bytes the function should return the amount of
+ * bytes successfully written.
+ * Function can return a value < len, even 0.
+ * errno is not determined after calling this function.
+ * Function should be implemented as no-blocking.
+ * A len < 0 causes indeterminate results.
+ */
int (*write)(SpiceCharDeviceInstance *sin, const uint8_t *buf, int len);
+
+ /* Read some bytes from the character device.
+ * Returns bytes copied into buf or a value < 0 on errors.
+ * Function can return 0 if no data is available or len is 0.
+ * errno is not determined after calling this function.
+ * Function should be implemented as no-blocking.
+ * A len < 0 causes indeterminate results.
+ */
int (*read)(SpiceCharDeviceInstance *sin, uint8_t *buf, int len);
+
void (*event)(SpiceCharDeviceInstance *sin, uint8_t event);
spice_char_device_flags flags;
};
--
2.20.1
More information about the Spice-devel
mailing list