--- server/migration_protocol.h | 33 +++++++++++++++++++++++++++++++++ 1 files changed, 33 insertions(+), 0 deletions(-) diff --git a/server/migration_protocol.h b/server/migration_protocol.h index 67ad1bf..d2a5575 100644 --- a/server/migration_protocol.h +++ b/server/migration_protocol.h @@ -18,6 +18,8 @@ #ifndef _H_MIGRATION_PROTOCOL #define _H_MIGRATION_PROTOCOL +#include <spice/vd_agent.h> + /* ************************************************ * src-server to dst-server migration data messages * ************************************************/ @@ -76,6 +78,37 @@ typedef struct __attribute__ ((__packed__)) SpiceMigrateDataSmartcard { uint32_t read_data_ptr; } SpiceMigrateDataSmartcard; +/* ********************************* + * main channel (mainly guest agent) + * *********************************/ +#define SPICE_MIGRATE_DATA_MAIN_VERSION 1 /* NOTE: increase version when CHAR_DEVICE_VERSION + is increased */ +#define SPICE_MIGRATE_DATA_MAIN_MAGIC (*(uint32_t *)"MNMD") + +typedef struct __attribute__ ((__packed__)) SpiceMigrateDataMain { + SpiceMigrateDataCharDevice agent_base; + uint8_t client_agent_started; /* for discarding messages */ + + struct __attribute__ ((__packed__)) { + /* partial data read from device. Such data is stored only + * if the chunk header or the entire msg header haven't yet been read completely. + * Once the headers are read, partial reads of chunks can be sent as + * smaller chunks to the client, without the roundtrip overhead of migration data */ + uint32_t chunk_header_size; + VDIChunkHeader chunk_header; + uint8_t msg_header_done; + uint32_t msg_header_partial_len; + uint32_t msg_header_ptr; + uint32_t msg_remaining; + uint8_t msg_filter_result; + } agent2client; + + struct __attribute__ ((__packed__)) { + uint32_t msg_remaining; + uint8_t msg_filter_result; + } client2agent; +} SpiceMigrateDataMain; + static inline int migration_protocol_validate_header(SpiceMigrateDataHeader *header, uint32_t magic, uint32_t version) -- 1.7.7.6 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel