mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice-protocol
synced 2025-12-26 14:18:31 +00:00
Add some types needed by the demarshalling work
This commit is contained in:
parent
ed14a2ab2e
commit
d58376dc57
10
spice/draw.h
10
spice/draw.h
@ -81,12 +81,22 @@ typedef struct SPICE_ATTR_PACKED SpicePathSeg {
|
||||
uint8_t data[0];
|
||||
} SpicePathSeg;
|
||||
|
||||
typedef struct SPICE_ATTR_PACKED SpicePath {
|
||||
uint32_t size;
|
||||
uint8_t segments[0];
|
||||
} SpicePath;
|
||||
|
||||
enum SpiceClipType {
|
||||
SPICE_CLIP_TYPE_NONE,
|
||||
SPICE_CLIP_TYPE_RECTS,
|
||||
SPICE_CLIP_TYPE_PATH,
|
||||
};
|
||||
|
||||
typedef struct SPICE_ATTR_PACKED SpiceClipRects {
|
||||
uint32_t num_rects;
|
||||
SpiceRect rects[0];
|
||||
} SpiceClipRects;
|
||||
|
||||
typedef struct SPICE_ATTR_PACKED SpiceClip {
|
||||
uint32_t type;
|
||||
SPICE_ADDRESS data;
|
||||
|
||||
@ -122,6 +122,14 @@ typedef struct SPICE_ATTR_PACKED SpiceSubMessageList {
|
||||
uint32_t sub_messages[0]; //offsets to SpicedSubMessage
|
||||
} SpiceSubMessageList;
|
||||
|
||||
typedef struct SPICE_ATTR_PACKED SpiceMsgData {
|
||||
uint32_t data_size;
|
||||
uint8_t data[0];
|
||||
} SpiceMsgData;
|
||||
|
||||
typedef struct SPICE_ATTR_PACKED SpiceMsgEmpty {
|
||||
} SpiceMsgEmpty;
|
||||
|
||||
enum {
|
||||
SPICE_MSG_MIGRATE = 1,
|
||||
SPICE_MSG_MIGRATE_DATA,
|
||||
@ -263,6 +271,10 @@ typedef struct SPICE_ATTR_PACKED SpiceMsgSetAck {
|
||||
uint32_t window;
|
||||
} SpiceMsgSetAck;
|
||||
|
||||
typedef struct SPICE_ATTR_PACKED SpiceMsgcAckSync {
|
||||
uint32_t generation;
|
||||
} SpiceMsgcAckSync;
|
||||
|
||||
typedef struct SPICE_ATTR_PACKED SpiceWaitForChannel {
|
||||
uint8_t channel_type;
|
||||
uint8_t channel_id;
|
||||
|
||||
@ -410,6 +410,11 @@ typedef struct SPICE_ATTR_PACKED QXLImageID {
|
||||
uint32_t unique;
|
||||
} QXLImageID;
|
||||
|
||||
typedef union {
|
||||
QXLImageID id;
|
||||
uint64_t value;
|
||||
} QXLImageIDUnion;
|
||||
|
||||
enum {
|
||||
QXL_IMAGE_CACHE = (1 << 0),
|
||||
QXL_IMAGE_HIGH_BITS_SET = (1 << 1),
|
||||
@ -422,10 +427,7 @@ enum {
|
||||
};
|
||||
|
||||
#define QXL_SET_IMAGE_ID(image, _group, _unique) { \
|
||||
uint64_t* id_ptr = &(image)->descriptor.id; \
|
||||
QXLImageID *image_id = (QXLImageID *)id_ptr; \
|
||||
image_id->group = _group; \
|
||||
image_id->unique = _unique; \
|
||||
(image)->descriptor.id = (((uint64_t)_unique) << 32) | _group; \
|
||||
}
|
||||
|
||||
typedef struct SPICE_ATTR_PACKED QXLImage {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user