xref: /qemu/include/chardev/spice.h (revision 24fa7da3ca6a6e385e50befa3774b7d427594ce4)
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