diff options
author | Michael Roth <mdroth@linux.vnet.ibm.com> | 2011-07-19 15:41:55 -0500 |
---|---|---|
committer | Luiz Capitulino <lcapitulino@gmail.com> | 2011-07-21 16:48:15 -0300 |
commit | e3d4d25206a13ca48936e4357a53591997ce6d57 (patch) | |
tree | 1239b54af27fe1171fec77bc9c3ecc10436a0f4f /qemu-ga.c | |
parent | 48ff7a625b3611d075d8798585df86455bb2d1fd (diff) | |
download | qemu-e3d4d25206a13ca48936e4357a53591997ce6d57.zip qemu-e3d4d25206a13ca48936e4357a53591997ce6d57.tar.gz qemu-e3d4d25206a13ca48936e4357a53591997ce6d57.tar.bz2 |
guest agent: add guest agent RPCs/commands
This adds the initial set of QMP/QAPI commands provided by the guest
agent:
guest-sync
guest-ping
guest-info
guest-shutdown
guest-file-open
guest-file-read
guest-file-write
guest-file-seek
guest-file-flush
guest-file-close
guest-fsfreeze-freeze
guest-fsfreeze-thaw
guest-fsfreeze-status
The input/output specification for these commands are documented in the
schema.
Example usage:
host:
qemu -device virtio-serial \
-chardev socket,path=/tmp/vs0.sock,server,nowait,id=qga0 \
-device virtserialport,chardev=qga0,name=org.qemu.quest_agent.0
...
echo "{'execute':'guest-info'}" | socat stdio unix-connect:/tmp/qga0.sock
guest:
qemu-ga -m virtio-serial -p /dev/virtio-ports/org.qemu.guest_agent.0 \
-p /var/run/qemu-guest-agent.pid -d
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@gmail.com>
Diffstat (limited to 'qemu-ga.c')
-rw-r--r-- | qemu-ga.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -636,6 +636,9 @@ int main(int argc, char **argv) g_log_set_default_handler(ga_log, s); g_log_set_fatal_mask(NULL, G_LOG_LEVEL_ERROR); s->logging_enabled = true; + s->command_state = ga_command_state_new(); + ga_command_state_init(s, s->command_state); + ga_command_state_init_all(s->command_state); ga_state = s; module_call_init(MODULE_INIT_QAPI); @@ -644,6 +647,7 @@ int main(int argc, char **argv) g_main_loop_run(ga_state->main_loop); + ga_command_state_cleanup_all(ga_state->command_state); unlink(pidfile); return 0; |