15e22479aSJuan Quintela /* 25e22479aSJuan Quintela * QEMU snapshots 35e22479aSJuan Quintela * 45e22479aSJuan Quintela * Copyright (c) 2004-2008 Fabrice Bellard 55e22479aSJuan Quintela * Copyright (c) 2009-2015 Red Hat Inc 65e22479aSJuan Quintela * 75e22479aSJuan Quintela * Authors: 85e22479aSJuan Quintela * Juan Quintela <quintela@redhat.com> 95e22479aSJuan Quintela * 105e22479aSJuan Quintela * 115e22479aSJuan Quintela * This work is licensed under the terms of the GNU GPL, version 2 or later. 125e22479aSJuan Quintela * See the COPYING file in the top-level directory. 135e22479aSJuan Quintela */ 145e22479aSJuan Quintela 155e22479aSJuan Quintela #ifndef QEMU_MIGRATION_SNAPSHOT_H 165e22479aSJuan Quintela #define QEMU_MIGRATION_SNAPSHOT_H 175e22479aSJuan Quintela 18*f1a9fcddSDaniel P. Berrangé #include "qapi/qapi-builtin-types.h" 19*f1a9fcddSDaniel P. Berrangé 207ea14df2SPhilippe Mathieu-Daudé /** 217ea14df2SPhilippe Mathieu-Daudé * save_snapshot: Save an internal snapshot. 227ea14df2SPhilippe Mathieu-Daudé * @name: name of internal snapshot 23f781f841SDaniel P. Berrangé * @overwrite: replace existing snapshot with @name 24*f1a9fcddSDaniel P. Berrangé * @vmstate: blockdev node name to store VM state in 25*f1a9fcddSDaniel P. Berrangé * @has_devices: whether to use explicit device list 26*f1a9fcddSDaniel P. Berrangé * @devices: explicit device list to snapshot 277ea14df2SPhilippe Mathieu-Daudé * @errp: pointer to error object 287ea14df2SPhilippe Mathieu-Daudé * On success, return %true. 297ea14df2SPhilippe Mathieu-Daudé * On failure, store an error through @errp and return %false. 307ea14df2SPhilippe Mathieu-Daudé */ 31*f1a9fcddSDaniel P. Berrangé bool save_snapshot(const char *name, bool overwrite, 32*f1a9fcddSDaniel P. Berrangé const char *vmstate, 33*f1a9fcddSDaniel P. Berrangé bool has_devices, strList *devices, 34*f1a9fcddSDaniel P. Berrangé Error **errp); 35f61fe11aSDaniel P. Berrangé 36f61fe11aSDaniel P. Berrangé /** 37f61fe11aSDaniel P. Berrangé * load_snapshot: Load an internal snapshot. 38f61fe11aSDaniel P. Berrangé * @name: name of internal snapshot 39*f1a9fcddSDaniel P. Berrangé * @vmstate: blockdev node name to load VM state from 40*f1a9fcddSDaniel P. Berrangé * @has_devices: whether to use explicit device list 41*f1a9fcddSDaniel P. Berrangé * @devices: explicit device list to snapshot 42f61fe11aSDaniel P. Berrangé * @errp: pointer to error object 43f61fe11aSDaniel P. Berrangé * On success, return %true. 44f61fe11aSDaniel P. Berrangé * On failure, store an error through @errp and return %false. 45f61fe11aSDaniel P. Berrangé */ 46*f1a9fcddSDaniel P. Berrangé bool load_snapshot(const char *name, 47*f1a9fcddSDaniel P. Berrangé const char *vmstate, 48*f1a9fcddSDaniel P. Berrangé bool has_devices, strList *devices, 49*f1a9fcddSDaniel P. Berrangé Error **errp); 505e22479aSJuan Quintela 515e22479aSJuan Quintela #endif 52