diff options
author | Juan Quintela <quintela@redhat.com> | 2014-10-08 11:53:22 +0200 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2015-07-07 14:54:51 +0200 |
commit | 5e0f1940caf49f56e3bee123aa92e42a3f7fad20 (patch) | |
tree | ca4507b82174ab6b2a80d5e17d8304ac5ec525ad | |
parent | ff14e817f6c5f110b77e22185b256a17a96aa881 (diff) |
runstate: Add runstate store
This allows us to store the current state to send it through migration.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
-rw-r--r-- | include/sysemu/sysemu.h | 1 | ||||
-rw-r--r-- | vl.c | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h index df809518b4..44570d17e6 100644 --- a/include/sysemu/sysemu.h +++ b/include/sysemu/sysemu.h @@ -28,6 +28,7 @@ bool runstate_check(RunState state); void runstate_set(RunState new_state); int runstate_is_running(void); bool runstate_needs_reset(void); +bool runstate_store(char *str, size_t size); typedef struct vm_change_state_entry VMChangeStateEntry; typedef void VMChangeStateHandler(void *opaque, int running, RunState state); @@ -634,6 +634,18 @@ bool runstate_check(RunState state) return current_run_state == state; } +bool runstate_store(char *str, size_t size) +{ + const char *state = RunState_lookup[current_run_state]; + size_t len = strlen(state) + 1; + + if (len > size) { + return false; + } + memcpy(str, state, len); + return true; +} + static void runstate_init(void) { const RunStateTransition *p; |