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_fclose(f);
|
||||
@ -108,3 +106,29 @@ void device_restore_all(device_save_state_t* dss) {
|
||||
void device_free_all(device_save_state_t* dss) {
|
||||
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_kind(device_snapshot_kind_t kind, char** names);
|
||||
|
||||
void device_restore_all(device_save_state_t* device_save_state);
|
||||
void device_free_all(device_save_state_t* dss);
|
||||
|
||||
char** device_list_all(void);
|
||||
|
Loading…
x
Reference in New Issue
Block a user