On Fri, Oct 24, 2014 at 10:54:24AM +0200, Marc-André Lureau wrote: > @@ -407,6 +407,10 @@ typedef struct SpiceCharDeviceInterface SpiceCharDeviceInterface; > typedef struct SpiceCharDeviceInstance SpiceCharDeviceInstance; > typedef struct SpiceCharDeviceState SpiceCharDeviceState; > > +typedef enum { > + SPICE_CHAR_DEVICE_NOTIFY_WRITABLE = 1 << 0, > +} spice_char_device_flags; > + > struct SpiceCharDeviceInterface { > SpiceBaseInterface base; > > @@ -414,6 +418,7 @@ struct SpiceCharDeviceInterface { > int (*write)(SpiceCharDeviceInstance *sin, const uint8_t *buf, int len); > int (*read)(SpiceCharDeviceInstance *sin, uint8_t *buf, int len); > void (*event)(SpiceCharDeviceInstance *sin, uint8_t event); > + spice_char_device_flags flags; > }; QEMU uses a static SpiceCharDeviceInterface: static SpiceCharDeviceInterface vmc_interface = { .base.type = SPICE_INTERFACE_CHAR_DEVICE, .base.description = "spice virtual channel char device", .base.major_version = SPICE_INTERFACE_CHAR_DEVICE_MAJOR, .base.minor_version = SPICE_INTERFACE_CHAR_DEVICE_MINOR, .state = vmc_state, .write = vmc_write, .read = vmc_read, #if SPICE_SERVER_VERSION >= 0x000c02 .event = vmc_event, #endif }; If we are using a QEMU version compiled against an older spice-server, and then upgrade spice-server but not QEMU, I don't think accessing that new 'flags' filed is going to work (in other words, this change seems to be an ABI break). Christophe
Attachment:
pgp8CzxDBj0xh.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel