diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2012-10-13 14:20:31 +0100 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2012-10-13 16:04:21 +0100 |
commit | 96a76c79e40a5d6853c660fc2a980d084b0eaafd (patch) | |
tree | 8b4676670ebe74a97fe8c5e765628cc09a36bdb8 /src | |
parent | 325d67c615f19da1b679e4d673636cf6d91a4c41 (diff) | |
download | libguestfs-96a76c79e40a5d6853c660fc2a980d084b0eaafd.tar.gz libguestfs-96a76c79e40a5d6853c660fc2a980d084b0eaafd.tar.xz libguestfs-96a76c79e40a5d6853c660fc2a980d084b0eaafd.zip |
launch: libvirt: Make handle data conditional on HAVE_LIBVIRT.
This means that we can use virConnectPtr and virDomainPtr instead of
using void* types. In the case where libvirt support is disabled or
not present, effectively nothing changes.
Diffstat (limited to 'src')
-rw-r--r-- | src/guestfs-internal.h | 10 | ||||
-rw-r--r-- | src/launch-libvirt.c | 19 |
2 files changed, 18 insertions, 11 deletions
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h index 84145a3b..784f7627 100644 --- a/src/guestfs-internal.h +++ b/src/guestfs-internal.h @@ -28,6 +28,10 @@ #include <pcre.h> +#ifdef HAVE_LIBVIRT +#include <libvirt/libvirt.h> +#endif + #include "hash.h" #ifndef SOCK_CLOEXEC @@ -310,10 +314,12 @@ struct guestfs_h int virtio_scsi; /* See function qemu_supports_virtio_scsi */ } app; +#ifdef HAVE_LIBVIRT struct { /* Used only by src/launch-libvirt.c. */ - void *connv; /* libvirt connection (really virConnectPtr) */ - void *domv; /* libvirt domain (really virDomainPtr) */ + virConnectPtr conn; /* libvirt connection */ + virDomainPtr dom; /* libvirt domain */ } virt; +#endif }; /* Per-filesystem data stored for inspect_os. */ diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c index ad250826..4f015e3a 100644 --- a/src/launch-libvirt.c +++ b/src/launch-libvirt.c @@ -403,8 +403,8 @@ launch_libvirt (guestfs_h *g, const char *libvirt_uri) guestfs___launch_send_progress (g, 12); - g->virt.connv = conn; - g->virt.domv = dom; + g->virt.conn = conn; + g->virt.dom = dom; free (kernel); free (initrd); @@ -1312,8 +1312,8 @@ drive_free_priv (void *priv) static int shutdown_libvirt (guestfs_h *g, int check_for_errors) { - virConnectPtr conn = g->virt.connv; - virDomainPtr dom = g->virt.domv; + virConnectPtr conn = g->virt.conn; + virDomainPtr dom = g->virt.dom; int ret = 0; int flags; @@ -1333,7 +1333,8 @@ shutdown_libvirt (guestfs_h *g, int check_for_errors) if (conn != NULL) virConnectClose (conn); - g->virt.connv = g->virt.domv = NULL; + g->virt.conn = NULL; + g->virt.dom = NULL; return ret; } @@ -1383,8 +1384,8 @@ static xmlChar *construct_libvirt_xml_hot_add_disk (guestfs_h *g, struct drive * static int hot_add_drive_libvirt (guestfs_h *g, struct drive *drv, size_t drv_index) { - virConnectPtr conn = g->virt.connv; - virDomainPtr dom = g->virt.domv; + virConnectPtr conn = g->virt.conn; + virDomainPtr dom = g->virt.dom; xmlChar *xml = NULL; if (!conn || !dom) { @@ -1423,8 +1424,8 @@ hot_add_drive_libvirt (guestfs_h *g, struct drive *drv, size_t drv_index) static int hot_remove_drive_libvirt (guestfs_h *g, struct drive *drv, size_t drv_index) { - virConnectPtr conn = g->virt.connv; - virDomainPtr dom = g->virt.domv; + virConnectPtr conn = g->virt.conn; + virDomainPtr dom = g->virt.dom; xmlChar *xml = NULL; if (!conn || !dom) { |