----- Original Message ----- > 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). > right, I had already made a change locally to use the interface version (although I think we shouldn't be using that, but instead use regular library versioning) Sending now. _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel