This series adds support for taking screenshots of a running domain console.
The iohelper was added a new argument - delete file after transfer. This is
needed, because the screenshot is written to file and asynchronously transferred
to client.
New API is accessible via virsh screenshot <domain> <path> <screnID>;
For now, we just save the file in format as returned by hypervisor:
PPM for Qemu, PNG for VirtualBox.
diff to v3:
- added screen ID argument
diff to v2:
- rebase
Michal Privoznik (8):
screenshot: Defining the public API
screenshot: Defining the internal API
screenshot: Implementing the public API
screenshot: Implementing the remote protocol
screenshot: Expose the new API in virsh
virFDStream: Add option for delete file after it's opening
qemu: Implement the driver methods
vbox: Implement the driver methods
daemon/remote.c | 57 ++++++++++++++++++
include/libvirt/libvirt.h.in | 8 +++
src/driver.h | 8 ++-
src/esx/esx_driver.c | 1 +
src/fdstream.c | 29 +++++++--
src/fdstream.h | 6 +-
src/libvirt.c | 60 +++++++++++++++++++
src/libvirt_public.syms | 1 +
src/libxl/libxl_driver.c | 1 +
src/lxc/lxc_driver.c | 4 +-
src/openvz/openvz_driver.c | 1 +
src/phyp/phyp_driver.c | 1 +
src/qemu/qemu_driver.c | 92 ++++++++++++++++++++++++++++-
src/qemu/qemu_monitor.c | 20 ++++++
src/qemu/qemu_monitor.h | 3 +
src/qemu/qemu_monitor_json.c | 23 +++++++
src/qemu/qemu_monitor_json.h | 5 ++
src/qemu/qemu_monitor_text.c | 31 ++++++++++
src/qemu/qemu_monitor_text.h | 3 +
src/remote/remote_driver.c | 41 +++++++++++++
src/remote/remote_protocol.x | 13 ++++-
src/remote_protocol-structs | 8 +++
src/storage/storage_driver.c | 4 +-
src/test/test_driver.c | 1 +
src/uml/uml_driver.c | 4 +-
src/util/iohelper.c | 12 +++-
src/vbox/vbox_tmpl.c | 134 ++++++++++++++++++++++++++++++++++++++++++
src/vmware/vmware_driver.c | 1 +
src/xen/xen_driver.c | 4 +-
src/xen/xen_driver.h | 1 +
src/xen/xen_hypervisor.c | 1 +
src/xen/xen_inotify.c | 1 +
src/xen/xend_internal.c | 1 +
src/xen/xm_internal.c | 1 +
src/xen/xs_internal.c | 1 +
src/xenapi/xenapi_driver.c | 1 +
tools/virsh.c | 97 ++++++++++++++++++++++++++++++
tools/virsh.pod | 6 ++
38 files changed, 667 insertions(+), 19 deletions(-)
--
1.7.5.rc3