diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2012-08-03 09:54:03 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2012-08-03 09:54:03 +0100 |
commit | 6e6a6f3614b2451d5430836b4aa2d33b76a2d1b9 (patch) | |
tree | 9b2a550f25adb4cf57d665c8e2f81035801fbb91 /tools/libxl/libxl.h | |
parent | e50c91ab1a922304ab0b2af20981c0994b3a7840 (diff) | |
download | xen-6e6a6f3614b2451d5430836b4aa2d33b76a2d1b9.tar.gz xen-6e6a6f3614b2451d5430836b4aa2d33b76a2d1b9.tar.bz2 xen-6e6a6f3614b2451d5430836b4aa2d33b76a2d1b9.zip |
libxl: make libxl_device_pci_{add,remove,destroy} interfaces asynchronous
This does not make the implementation fully asynchronous but just
updates the API to support asynchrony in the future.
Currently although these functions do not call hotplug scripts etc and
therefore are not "slow" (per the comment about ao machinery in
libxl_internal.h) they do interact with the device model and so are
not quite "fast" either. We can live with this for now.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools/libxl/libxl.h')
-rw-r--r-- | tools/libxl/libxl.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h index 5ec2d749f7..cc74e1359f 100644 --- a/tools/libxl/libxl.h +++ b/tools/libxl/libxl.h @@ -757,10 +757,21 @@ int libxl_device_vfb_destroy(libxl_ctx *ctx, uint32_t domid, LIBXL_EXTERNAL_CALLERS_ONLY; /* PCI Passthrough */ -int libxl_device_pci_add(libxl_ctx *ctx, uint32_t domid, libxl_device_pci *pcidev); -int libxl_device_pci_remove(libxl_ctx *ctx, uint32_t domid, libxl_device_pci *pcidev); -int libxl_device_pci_destroy(libxl_ctx *ctx, uint32_t domid, libxl_device_pci *pcidev); -libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid, int *num); +int libxl_device_pci_add(libxl_ctx *ctx, uint32_t domid, + libxl_device_pci *pcidev, + const libxl_asyncop_how *ao_how) + LIBXL_EXTERNAL_CALLERS_ONLY; +int libxl_device_pci_remove(libxl_ctx *ctx, uint32_t domid, + libxl_device_pci *pcidev, + const libxl_asyncop_how *ao_how) + LIBXL_EXTERNAL_CALLERS_ONLY; +int libxl_device_pci_destroy(libxl_ctx *ctx, uint32_t domid, + libxl_device_pci *pcidev, + const libxl_asyncop_how *ao_how) + LIBXL_EXTERNAL_CALLERS_ONLY; + +libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid, + int *num); /* * Functions related to making devices assignable -- that is, bound to |