From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 15/27] tools/libxl: Migration v2 stream format Date: Mon, 15 Jun 2015 14:44:28 +0100 Message-ID: <1434375880-30914-16-git-send-email-andrew.cooper3@citrix.com> References: <1434375880-30914-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1434375880-30914-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Xen-devel Cc: Wei Liu , Ian Campbell , Andrew Cooper , Ian Jackson , Ross Lagerwall , Yang Hongyang List-Id: xen-devel@lists.xenproject.org From: Ross Lagerwall C structures describing the Libxl migration v2 stream format Signed-off-by: Ross Lagerwall Signed-off-by: Andrew Cooper CC: Ian Campbell CC: Ian Jackson CC: Wei Liu --- tools/libxl/libxl_sr_stream_format.h | 57 ++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 tools/libxl/libxl_sr_stream_format.h diff --git a/tools/libxl/libxl_sr_stream_format.h b/tools/libxl/libxl_sr_stream_format.h new file mode 100644 index 0000000..487f9e2 --- /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 (1 << 0) +#define RESTORE_OPT_LEGACY (1 << 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: + */ -- 1.7.10.4