List snapshottable devices
This commit is contained in:
parent
cbb34bf927
commit
659539eace
@ -78,8 +78,6 @@ device_save_state_t* device_save_kind(device_snapshot_kind_t kind, char** names)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
qemu_put_byte(f, QEMU_VM_EOF);
|
qemu_put_byte(f, QEMU_VM_EOF);
|
||||||
|
|
||||||
qemu_fclose(f);
|
qemu_fclose(f);
|
||||||
@ -108,3 +106,29 @@ void device_restore_all(device_save_state_t* dss) {
|
|||||||
void device_free_all(device_save_state_t* dss) {
|
void device_free_all(device_save_state_t* dss) {
|
||||||
g_free(dss->save_buffer);
|
g_free(dss->save_buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char** device_list_all(void) {
|
||||||
|
SaveStateEntry *se;
|
||||||
|
|
||||||
|
size_t size = 1;
|
||||||
|
QTAILQ_FOREACH(se, &savevm_state.handlers, entry) {
|
||||||
|
size++;
|
||||||
|
}
|
||||||
|
|
||||||
|
char** list = malloc(size * sizeof(char*));
|
||||||
|
size_t i = 0;
|
||||||
|
QTAILQ_FOREACH(se, &savevm_state.handlers, entry) {
|
||||||
|
if (se->is_ram) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!strcmp(se->idstr, "globalstate")) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
list[i] = se->idstr;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
list[i] = NULL;
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
@ -19,5 +19,8 @@ typedef enum device_snapshot_kind_e {
|
|||||||
|
|
||||||
device_save_state_t* device_save_all(void);
|
device_save_state_t* device_save_all(void);
|
||||||
device_save_state_t* device_save_kind(device_snapshot_kind_t kind, char** names);
|
device_save_state_t* device_save_kind(device_snapshot_kind_t kind, char** names);
|
||||||
|
|
||||||
void device_restore_all(device_save_state_t* device_save_state);
|
void device_restore_all(device_save_state_t* device_save_state);
|
||||||
void device_free_all(device_save_state_t* dss);
|
void device_free_all(device_save_state_t* dss);
|
||||||
|
|
||||||
|
char** device_list_all(void);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user