From: Ross Lagerwall Date: Mon, 1 Sep 2014 15:57:59 +0000 (+0100) Subject: tools/libxl: Migration v2 stream format X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~2802 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d3ea9652585877a1431486786281a178b977c6b3;p=xen.git tools/libxl: Migration v2 stream format C structures describing the Libxl migration v2 stream format Signed-off-by: Ross Lagerwall Signed-off-by: Andrew Cooper Acked-by: Ian Campbell CC: Ian Jackson CC: Wei Liu --- v2: Move into libxl__ namespace --- diff --git a/tools/libxl/libxl_sr_stream_format.h b/tools/libxl/libxl_sr_stream_format.h new file mode 100644 index 0000000000..f4f790bbdd --- /dev/null +++ b/tools/libxl/libxl_sr_stream_format.h @@ -0,0 +1,57 @@ +#ifndef LIBXL__SR_STREAM_FORMAT_H +#define LIBXL__SR_STREAM_FORMAT_H + +/* + * C structures for the Migration v2 stream format. + * See docs/specs/libxl-migration-stream.pandoc + */ + +#include + +typedef struct libxl__sr_hdr +{ + uint64_t ident; + uint32_t version; + uint32_t options; +} libxl__sr_hdr; + +#define RESTORE_STREAM_IDENT 0x4c6962786c466d74UL +#define RESTORE_STREAM_VERSION 0x00000002U + +#define RESTORE_OPT_BIG_ENDIAN (1u << 0) +#define RESTORE_OPT_LEGACY (1u << 1) + + +typedef struct libxl__sr_rec_hdr +{ + uint32_t type; + uint32_t length; +} libxl__sr_rec_hdr; + +/* All records must be aligned up to an 8 octet boundary */ +#define REC_ALIGN_ORDER 3U + +#define REC_TYPE_END 0x00000000U +#define REC_TYPE_LIBXC_CONTEXT 0x00000001U +#define REC_TYPE_XENSTORE_DATA 0x00000002U +#define REC_TYPE_EMULATOR_CONTEXT 0x00000003U + +typedef struct libxl__sr_emulator_hdr +{ + uint32_t id; + uint32_t index; +} libxl__sr_emulator_hdr; + +#define EMULATOR_UNKNOWN 0x00000000U +#define EMULATOR_QEMU_TRADITIONAL 0x00000001U +#define EMULATOR_QEMU_UPSTREAM 0x00000002U + +#endif /* LIBXL__SR_STREAM_FORMAT_H */ + +/* + * Local variables: + * mode: C + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + */