[libvirt] [PATCH v4 2/8] screenshot: Defining the internal API

Daniel P. Berrange berrange at redhat.com
Fri May 13 09:12:13 UTC 2011


On Thu, May 12, 2011 at 06:29:09PM +0200, Michal Privoznik wrote:
> * src/driver.h: Stub code for new API
> * src/esx/esx_driver.c, src/libxl/libxl_driver.c,
>   src/lxc/lxc_driver.c, src/openvz/openvz_driver.c,
>   src/phyp/phyp_driver.c, src/qemu/qemu_driver.c,
>   rc/remote/remote_driver.c, rc/test/test_driver.c,
>   src/uml/uml_driver.c, src/vbox/vbox_tmpl.c,
>   src/vmware/vmware_driver.c, src/xen/xen_driver.c,
>   src/xen/xen_driver.h, src/xen/xen_hypervisor.c,
>   src/xen/xen_inotify.c, src/xen/xend_internal.c,
>   src/xen/xm_internal.c, src/xen/xs_internal.c,
>   src/xenapi/xenapi_driver.c: Add dummy entries in driver
>   table for new APIs
> ---
>  src/driver.h               |    8 +++++++-
>  src/esx/esx_driver.c       |    1 +
>  src/libxl/libxl_driver.c   |    1 +
>  src/lxc/lxc_driver.c       |    1 +
>  src/openvz/openvz_driver.c |    1 +
>  src/phyp/phyp_driver.c     |    1 +
>  src/qemu/qemu_driver.c     |    1 +
>  src/remote/remote_driver.c |    1 +
>  src/test/test_driver.c     |    1 +
>  src/uml/uml_driver.c       |    1 +
>  src/vbox/vbox_tmpl.c       |    1 +
>  src/vmware/vmware_driver.c |    1 +
>  src/xen/xen_driver.c       |    1 +
>  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 +
>  20 files changed, 26 insertions(+), 1 deletions(-)
> 
> diff --git a/src/driver.h b/src/driver.h
> index ea80701..b800f35 100644
> --- a/src/driver.h
> +++ b/src/driver.h
> @@ -176,6 +176,11 @@ typedef int
>                                           const char *to,
>                                           int flags);
>  typedef char *
> +        (*virDrvDomainScreenshot)   (virDomainPtr domain,
> +                                         virStreamPtr stream,
> +                                         unsigned int screen,
> +                                         unsigned int flags);
> +typedef char *
>          (*virDrvDomainGetXMLDesc)		(virDomainPtr dom,
>                                           int flags);
>  typedef char *
> @@ -568,7 +573,8 @@ struct _virDriver {
>      virDrvDomainGetInfo		domainGetInfo;
>      virDrvDomainSave		domainSave;
>      virDrvDomainRestore		domainRestore;
> -    virDrvDomainCoreDump		domainCoreDump;
> +    virDrvDomainCoreDump        domainCoreDump;
> +    virDrvDomainScreenshot      domainScreenshot;
>      virDrvDomainSetVcpus		domainSetVcpus;
>      virDrvDomainSetVcpusFlags		domainSetVcpusFlags;
>      virDrvDomainGetVcpusFlags		domainGetVcpusFlags;
> diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
> index 2e0e9a1..ef7838a 100644
> --- a/src/esx/esx_driver.c
> +++ b/src/esx/esx_driver.c
> @@ -4626,6 +4626,7 @@ static virDriver esxDriver = {
>      NULL,                            /* domainSave */
>      NULL,                            /* domainRestore */
>      NULL,                            /* domainCoreDump */
> +    NULL,                            /* domainScreenshot */
>      esxDomainSetVcpus,               /* domainSetVcpus */
>      esxDomainSetVcpusFlags,          /* domainSetVcpusFlags */
>      esxDomainGetVcpusFlags,          /* domainGetVcpusFlags */
> diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
> index d7ff0c6..7e2e7c0 100644
> --- a/src/libxl/libxl_driver.c
> +++ b/src/libxl/libxl_driver.c
> @@ -2716,6 +2716,7 @@ static virDriver libxlDriver = {
>      NULL,                       /* domainSave */
>      NULL,                       /* domainRestore */
>      NULL,                       /* domainCoreDump */
> +    NULL,                       /* domainScreenshot */
>      libxlDomainSetVcpus,        /* domainSetVcpus */
>      libxlDomainSetVcpusFlags,   /* domainSetVcpusFlags */
>      libxlDomainGetVcpusFlags,   /* domainGetVcpusFlags */
> diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
> index 7a3e33d..1aadb02 100644
> --- a/src/lxc/lxc_driver.c
> +++ b/src/lxc/lxc_driver.c
> @@ -2742,6 +2742,7 @@ static virDriver lxcDriver = {
>      NULL, /* domainSave */
>      NULL, /* domainRestore */
>      NULL, /* domainCoreDump */
> +    NULL, /* domainScreenshot */
>      NULL, /* domainSetVcpus */
>      NULL, /* domainSetVcpusFlags */
>      NULL, /* domainGetVcpusFlags */
> diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
> index 60f2dc2..fbb8800 100644
> --- a/src/openvz/openvz_driver.c
> +++ b/src/openvz/openvz_driver.c
> @@ -1594,6 +1594,7 @@ static virDriver openvzDriver = {
>      NULL, /* domainSave */
>      NULL, /* domainRestore */
>      NULL, /* domainCoreDump */
> +    NULL, /* domainScreenshot */
>      openvzDomainSetVcpus, /* domainSetVcpus */
>      openvzDomainSetVcpusFlags, /* domainSetVcpusFlags */
>      openvzDomainGetVcpusFlags, /* domainGetVcpusFlags */
> diff --git a/src/phyp/phyp_driver.c b/src/phyp/phyp_driver.c
> index 5e48b98..cc9ace3 100644
> --- a/src/phyp/phyp_driver.c
> +++ b/src/phyp/phyp_driver.c
> @@ -3755,6 +3755,7 @@ static virDriver phypDriver = {
>      NULL,                       /* domainSave */
>      NULL,                       /* domainRestore */
>      NULL,                       /* domainCoreDump */
> +    NULL,                       /* domainScreenshot */
>      phypDomainSetCPU,           /* domainSetVcpus */
>      phypDomainSetVcpusFlags,    /* domainSetVcpusFlags */
>      phypDomainGetVcpusFlags,    /* domainGetVcpusFlags */
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 732c187..7a3556f 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -7170,6 +7170,7 @@ static virDriver qemuDriver = {
>      qemudDomainSave, /* domainSave */
>      qemuDomainRestore, /* domainRestore */
>      qemudDomainCoreDump, /* domainCoreDump */
> +    NULL, /* domainScreenshot */
>      qemudDomainSetVcpus, /* domainSetVcpus */
>      qemudDomainSetVcpusFlags, /* domainSetVcpusFlags */
>      qemudDomainGetVcpusFlags, /* domainGetVcpusFlags */
> diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
> index c50ff25..328ef62 100644
> --- a/src/remote/remote_driver.c
> +++ b/src/remote/remote_driver.c
> @@ -6425,6 +6425,7 @@ static virDriver remote_driver = {
>      remoteDomainSave, /* domainSave */
>      remoteDomainRestore, /* domainRestore */
>      remoteDomainCoreDump, /* domainCoreDump */
> +    NULL, /* domainScreenshot */
>      remoteDomainSetVcpus, /* domainSetVcpus */
>      remoteDomainSetVcpusFlags, /* domainSetVcpusFlags */
>      remoteDomainGetVcpusFlags, /* domainGetVcpusFlags */
> diff --git a/src/test/test_driver.c b/src/test/test_driver.c
> index bf33d13..0f0d77b 100644
> --- a/src/test/test_driver.c
> +++ b/src/test/test_driver.c
> @@ -5374,6 +5374,7 @@ static virDriver testDriver = {
>      testDomainSave, /* domainSave */
>      testDomainRestore, /* domainRestore */
>      testDomainCoreDump, /* domainCoreDump */
> +    NULL, /* domainScreenshot */
>      testSetVcpus, /* domainSetVcpus */
>      testDomainSetVcpusFlags, /* domainSetVcpusFlags */
>      testDomainGetVcpusFlags, /* domainGetVcpusFlags */
> diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c
> index 9460eb2..baef86c 100644
> --- a/src/uml/uml_driver.c
> +++ b/src/uml/uml_driver.c
> @@ -2180,6 +2180,7 @@ static virDriver umlDriver = {
>      NULL, /* domainSave */
>      NULL, /* domainRestore */
>      NULL, /* domainCoreDump */
> +    NULL, /* domainScreenshot */
>      NULL, /* domainSetVcpus */
>      NULL, /* domainSetVcpusFlags */
>      NULL, /* domainGetVcpusFlags */
> diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c
> index 2c3efde..dc91240 100644
> --- a/src/vbox/vbox_tmpl.c
> +++ b/src/vbox/vbox_tmpl.c
> @@ -8569,6 +8569,7 @@ virDriver NAME(Driver) = {
>      vboxDomainSave, /* domainSave */
>      NULL, /* domainRestore */
>      NULL, /* domainCoreDump */
> +    NULL, /* domainScreenshot */
>      vboxDomainSetVcpus, /* domainSetVcpus */
>      vboxDomainSetVcpusFlags, /* domainSetVcpusFlags */
>      vboxDomainGetVcpusFlags, /* domainGetVcpusFlags */
> diff --git a/src/vmware/vmware_driver.c b/src/vmware/vmware_driver.c
> index a3a13c1..b920f79 100644
> --- a/src/vmware/vmware_driver.c
> +++ b/src/vmware/vmware_driver.c
> @@ -934,6 +934,7 @@ static virDriver vmwareDriver = {
>      NULL,                       /* domainSave */
>      NULL,                       /* domainRestore */
>      NULL,                       /* domainCoreDump */
> +    NULL,                       /* domainScreenshot */
>      NULL,                       /* domainSetVcpus */
>      NULL,                       /* domainSetVcpusFlags */
>      NULL,                       /* domainGetVcpusFlags */
> diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
> index 3d8c2dd..0f19d27 100644
> --- a/src/xen/xen_driver.c
> +++ b/src/xen/xen_driver.c
> @@ -2135,6 +2135,7 @@ static virDriver xenUnifiedDriver = {
>      xenUnifiedDomainSave, /* domainSave */
>      xenUnifiedDomainRestore, /* domainRestore */
>      xenUnifiedDomainCoreDump, /* domainCoreDump */
> +    NULL, /* domainScreenshot */
>      xenUnifiedDomainSetVcpus, /* domainSetVcpus */
>      xenUnifiedDomainSetVcpusFlags, /* domainSetVcpusFlags */
>      xenUnifiedDomainGetVcpusFlags, /* domainGetVcpusFlags */
> diff --git a/src/xen/xen_driver.h b/src/xen/xen_driver.h
> index 58b8561..8fb5832 100644
> --- a/src/xen/xen_driver.h
> +++ b/src/xen/xen_driver.h
> @@ -93,6 +93,7 @@ struct xenUnifiedDriver {
>          virDrvDomainSave		domainSave;
>          virDrvDomainRestore		domainRestore;
>          virDrvDomainCoreDump		domainCoreDump;
> +        virDrvDomainScreenshot      domainScreenshot;
>          virDrvDomainPinVcpu		domainPinVcpu;
>          virDrvDomainGetVcpus		domainGetVcpus;
>          virDrvListDefinedDomains	listDefinedDomains;
> diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c
> index ac1b685..f442cfd 100644
> --- a/src/xen/xen_hypervisor.c
> +++ b/src/xen/xen_hypervisor.c
> @@ -824,6 +824,7 @@ struct xenUnifiedDriver xenHypervisorDriver = {
>      NULL, /* domainSave */
>      NULL, /* domainRestore */
>      NULL, /* domainCoreDump */
> +    NULL, /* domainScreenshot */
>      xenHypervisorPinVcpu, /* domainPinVcpu */
>      xenHypervisorGetVcpus, /* domainGetVcpus */
>      NULL, /* listDefinedDomains */
> diff --git a/src/xen/xen_inotify.c b/src/xen/xen_inotify.c
> index 6ef5359..71bb6be 100644
> --- a/src/xen/xen_inotify.c
> +++ b/src/xen/xen_inotify.c
> @@ -72,6 +72,7 @@ struct xenUnifiedDriver xenInotifyDriver = {
>      NULL, /* domainSave */
>      NULL, /* domainRestore */
>      NULL, /* domainCoreDump */
> +    NULL, /* domainScreenshot */
>      NULL, /* domainPinVcpu */
>      NULL, /* domainGetVcpus */
>      NULL, /* listDefinedDomains */
> diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
> index 64f65e7..8bd5ddf 100644
> --- a/src/xen/xend_internal.c
> +++ b/src/xen/xend_internal.c
> @@ -3864,6 +3864,7 @@ struct xenUnifiedDriver xenDaemonDriver = {
>      xenDaemonDomainSave,         /* domainSave */
>      xenDaemonDomainRestore,      /* domainRestore */
>      xenDaemonDomainCoreDump,     /* domainCoreDump */
> +    NULL,                        /* domainScreenshot */
>      xenDaemonDomainPinVcpu,      /* domainPinVcpu */
>      xenDaemonDomainGetVcpus,     /* domainGetVcpus */
>      xenDaemonListDefinedDomains, /* listDefinedDomains */
> diff --git a/src/xen/xm_internal.c b/src/xen/xm_internal.c
> index 69e14c3..642a5ee 100644
> --- a/src/xen/xm_internal.c
> +++ b/src/xen/xm_internal.c
> @@ -103,6 +103,7 @@ struct xenUnifiedDriver xenXMDriver = {
>      NULL, /* domainSave */
>      NULL, /* domainRestore */
>      NULL, /* domainCoreDump */
> +    NULL, /* domainScreenshot */
>      xenXMDomainPinVcpu, /* domainPinVcpu */
>      NULL, /* domainGetVcpus */
>      xenXMListDefinedDomains, /* listDefinedDomains */
> diff --git a/src/xen/xs_internal.c b/src/xen/xs_internal.c
> index 5d8dc3d..4529ef4 100644
> --- a/src/xen/xs_internal.c
> +++ b/src/xen/xs_internal.c
> @@ -65,6 +65,7 @@ struct xenUnifiedDriver xenStoreDriver = {
>      NULL, /* domainSave */
>      NULL, /* domainRestore */
>      NULL, /* domainCoreDump */
> +    NULL, /* domainScreenshot */
>      NULL, /* domainPinVcpu */
>      NULL, /* domainGetVcpus */
>      NULL, /* listDefinedDomains */
> diff --git a/src/xenapi/xenapi_driver.c b/src/xenapi/xenapi_driver.c
> index 7e863ac..136356d 100644
> --- a/src/xenapi/xenapi_driver.c
> +++ b/src/xenapi/xenapi_driver.c
> @@ -1816,6 +1816,7 @@ static virDriver xenapiDriver = {
>      NULL, /* domainSave */
>      NULL, /* domainRestore */
>      NULL, /* domainCoreDump */
> +    NULL, /* domainScreenshot */
>      xenapiDomainSetVcpus, /* domainSetVcpus */
>      xenapiDomainSetVcpusFlags, /* domainSetVcpusFlags */
>      xenapiDomainGetVcpusFlags, /* domainGetVcpusFlags */

ACK


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list