|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 1 of 2] libxl: add libxl_device_<type>_list_free helpers
# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1344326374 -3600
# Node ID 0a67d3147a174a26dda2e268ca801e56a9c5b711
# Parent a7ad22e5525831dd491d7ee1fe538b7543404ac7
libxl: add libxl_device_<type>_list_free helpers
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
diff -r a7ad22e55258 -r 0a67d3147a17 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c Mon Aug 06 12:31:02 2012 +0100
+++ b/tools/libxl/libxl.c Tue Aug 07 08:59:34 2012 +0100
@@ -2090,6 +2090,14 @@ out_err:
return NULL;
}
+void libxl_device_disk_list_free(libxl_device_disk *list, int nr)
+{
+ int i;
+ for (i = 0; i < nr; i++)
+ libxl_device_disk_dispose(&list[i]);
+ free(list);
+}
+
int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
libxl_device_disk *disk, libxl_diskinfo
*diskinfo)
{
@@ -2759,6 +2767,14 @@ out_err:
return NULL;
}
+void libxl_device_nic_list_free(libxl_device_nic *list, int nr)
+{
+ int i;
+ for (i = 0; i < nr; i++)
+ libxl_device_nic_dispose(&list[i]);
+ free(list);
+}
+
int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32_t domid,
libxl_device_nic *nic, libxl_nicinfo *nicinfo)
{
diff -r a7ad22e55258 -r 0a67d3147a17 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h Mon Aug 06 12:31:02 2012 +0100
+++ b/tools/libxl/libxl.h Tue Aug 07 08:59:34 2012 +0100
@@ -668,6 +668,11 @@ void libxl_vcpuinfo_list_free(libxl_vcpu
* Initialises info with details of the given device which must be
* attached to the specified domain.
*
+ * libxl_device_<type>_list_free(*devs, int nr_dev):
+ *
+ * Dispose nr_dev elements of the array devs and then free the array
+ * itself.
+ *
* Creation / Control
* ------------------
*
@@ -714,6 +719,8 @@ int libxl_device_disk_destroy(libxl_ctx
LIBXL_EXTERNAL_CALLERS_ONLY;
libxl_device_disk *libxl_device_disk_list(libxl_ctx *ctx, uint32_t domid, int
*num);
+void libxl_device_disk_list_free(libxl_device_disk *disks, int nr_disks);
+
int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
libxl_device_disk *disk, libxl_diskinfo
*diskinfo);
@@ -739,6 +746,7 @@ int libxl_device_nic_destroy(libxl_ctx *
LIBXL_EXTERNAL_CALLERS_ONLY;
libxl_device_nic *libxl_device_nic_list(libxl_ctx *ctx, uint32_t domid, int
*num);
+void libxl_device_nic_list_free(libxl_device_nic *nics, int nr_nics);
int libxl_device_nic_getinfo(libxl_ctx *ctx, uint32_t domid,
libxl_device_nic *nic, libxl_nicinfo *nicinfo);
@@ -784,6 +792,7 @@ int libxl_device_pci_destroy(libxl_ctx *
libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid,
int *num);
+void libxl_device_pci_list_free(libxl_device_pci *pcis, int nr_pcis);
/*
* Functions related to making devices assignable -- that is, bound to
diff -r a7ad22e55258 -r 0a67d3147a17 tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c Mon Aug 06 12:31:02 2012 +0100
+++ b/tools/libxl/libxl_pci.c Tue Aug 07 08:59:34 2012 +0100
@@ -1406,6 +1406,14 @@ out:
return pcidevs;
}
+void libxl_device_pci_list_free(libxl_device_pci *list, int nr)
+{
+ int i;
+ for (i = 0; i < nr; i++)
+ libxl_device_pci_dispose(&list[i]);
+ free(list);
+}
+
int libxl__device_pci_destroy_all(libxl__gc *gc, uint32_t domid)
{
libxl_ctx *ctx = libxl__gc_owner(gc);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |