]>
Commit | Line | Data |
---|---|---|
20a519a0 JQ |
1 | /* |
2 | * QEMU save vm functions | |
3 | * | |
4 | * Copyright (c) 2003-2008 Fabrice Bellard | |
5 | * Copyright (c) 2009-2017 Red Hat Inc | |
6 | * | |
7 | * Authors: | |
8 | * Juan Quintela <[email protected]> | |
9 | * | |
10 | * This work is licensed under the terms of the GNU GPL, version 2 or later. | |
11 | * See the COPYING file in the top-level directory. | |
12 | */ | |
13 | ||
14 | #ifndef MIGRATION_SAVEVM_H | |
15 | #define MIGRATION_SAVEVM_H | |
16 | ||
c3d2e2e7 JQ |
17 | #define QEMU_VM_FILE_MAGIC 0x5145564d |
18 | #define QEMU_VM_FILE_VERSION_COMPAT 0x00000002 | |
19 | #define QEMU_VM_FILE_VERSION 0x00000003 | |
20 | ||
21 | #define QEMU_VM_EOF 0x00 | |
22 | #define QEMU_VM_SECTION_START 0x01 | |
23 | #define QEMU_VM_SECTION_PART 0x02 | |
24 | #define QEMU_VM_SECTION_END 0x03 | |
25 | #define QEMU_VM_SECTION_FULL 0x04 | |
26 | #define QEMU_VM_SUBSECTION 0x05 | |
27 | #define QEMU_VM_VMDESCRIPTION 0x06 | |
28 | #define QEMU_VM_CONFIGURATION 0x07 | |
29 | #define QEMU_VM_COMMAND 0x08 | |
30 | #define QEMU_VM_SECTION_FOOTER 0x7e | |
31 | ||
20a519a0 | 32 | bool qemu_savevm_state_blocked(Error **errp); |
9907e842 | 33 | void qemu_savevm_state_setup(QEMUFile *f); |
d1b8eadb | 34 | int qemu_savevm_state_resume_prepare(MigrationState *s); |
20a519a0 JQ |
35 | void qemu_savevm_state_header(QEMUFile *f); |
36 | int qemu_savevm_state_iterate(QEMUFile *f, bool postcopy); | |
37 | void qemu_savevm_state_cleanup(void); | |
38 | void qemu_savevm_state_complete_postcopy(QEMUFile *f); | |
a1fbe750 FZ |
39 | int qemu_savevm_state_complete_precopy(QEMUFile *f, bool iterable_only, |
40 | bool inactivate_disks); | |
20a519a0 | 41 | void qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size, |
47995026 VSO |
42 | uint64_t *res_precopy_only, |
43 | uint64_t *res_compatible, | |
44 | uint64_t *res_postcopy_only); | |
20a519a0 JQ |
45 | void qemu_savevm_send_ping(QEMUFile *f, uint32_t value); |
46 | void qemu_savevm_send_open_return_path(QEMUFile *f); | |
47 | int qemu_savevm_send_packaged(QEMUFile *f, const uint8_t *buf, size_t len); | |
48 | void qemu_savevm_send_postcopy_advise(QEMUFile *f); | |
49 | void qemu_savevm_send_postcopy_listen(QEMUFile *f); | |
50 | void qemu_savevm_send_postcopy_run(QEMUFile *f); | |
3f5875ec | 51 | void qemu_savevm_send_postcopy_resume(QEMUFile *f); |
f25d4225 | 52 | void qemu_savevm_send_recv_bitmap(QEMUFile *f, char *block_name); |
20a519a0 JQ |
53 | |
54 | void qemu_savevm_send_postcopy_ram_discard(QEMUFile *f, const char *name, | |
55 | uint16_t len, | |
56 | uint64_t *start_list, | |
57 | uint64_t *length_list); | |
58 | ||
59 | int qemu_loadvm_state(QEMUFile *f); | |
acb5ea86 | 60 | void qemu_loadvm_state_cleanup(void); |
20a519a0 JQ |
61 | |
62 | #endif |