xref: /qemu/include/migration/snapshot.h (revision f1a9fcdd0197ed5ecfee187f8834e7b609d596a6)
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