1*24fa7da3SMarc-André Lureau #ifndef CHARDEV_SPICE_H_ 2*24fa7da3SMarc-André Lureau #define CHARDEV_SPICE_H_ 3*24fa7da3SMarc-André Lureau 4*24fa7da3SMarc-André Lureau #include <spice.h> 5*24fa7da3SMarc-André Lureau #include "chardev/char-fe.h" 6*24fa7da3SMarc-André Lureau 7*24fa7da3SMarc-André Lureau typedef struct SpiceChardev { 8*24fa7da3SMarc-André Lureau Chardev parent; 9*24fa7da3SMarc-André Lureau 10*24fa7da3SMarc-André Lureau SpiceCharDeviceInstance sin; 11*24fa7da3SMarc-André Lureau bool active; 12*24fa7da3SMarc-André Lureau bool blocked; 13*24fa7da3SMarc-André Lureau const uint8_t *datapos; 14*24fa7da3SMarc-André Lureau int datalen; 15*24fa7da3SMarc-André Lureau QLIST_ENTRY(SpiceChardev) next; 16*24fa7da3SMarc-André Lureau } SpiceChardev; 17*24fa7da3SMarc-André Lureau 18*24fa7da3SMarc-André Lureau #define TYPE_CHARDEV_SPICE "chardev-spice" 19*24fa7da3SMarc-André Lureau #define TYPE_CHARDEV_SPICEVMC "chardev-spicevmc" 20*24fa7da3SMarc-André Lureau #define TYPE_CHARDEV_SPICEPORT "chardev-spiceport" 21*24fa7da3SMarc-André Lureau 22*24fa7da3SMarc-André Lureau #define SPICE_CHARDEV(obj) OBJECT_CHECK(SpiceChardev, (obj), TYPE_CHARDEV_SPICE) 23*24fa7da3SMarc-André Lureau 24*24fa7da3SMarc-André Lureau void qemu_chr_open_spice_port(Chardev *chr, ChardevBackend *backend, 25*24fa7da3SMarc-André Lureau bool *be_opened, Error **errp); 26*24fa7da3SMarc-André Lureau 27*24fa7da3SMarc-André Lureau #endif 28