|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 21 of 29 RFC] libxl: add libxl__parse_hotplug_path
# HG changeset patch
# User Roger Pau Monne <roger.pau@xxxxxxxxxxxxx>
# Date 1328178994 -3600
# Node ID 346d86654b1dd81b5aba821bf9732844bb35c7a3
# Parent bc38aa2e11e21b34dbc29a81f069133a3276848a
libxl: add libxl__parse_hotplug_path
Generate libxl__device from hotplug path.
Signed-off-by: Roger Pau Monne <roger.pau@xxxxxxxxxxxxx>
diff -r bc38aa2e11e2 -r 346d86654b1d tools/libxl/libxl_device.c
--- a/tools/libxl/libxl_device.c Thu Feb 02 11:33:27 2012 +0100
+++ b/tools/libxl/libxl_device.c Thu Feb 02 11:36:34 2012 +0100
@@ -66,6 +66,24 @@ int libxl__parse_backend_path(libxl__gc
return libxl__device_kind_from_string(strkind, &dev->backend_kind);
}
+int libxl__parse_hotplug_path(libxl__gc *gc,
+ const char *path,
+ libxl__device *dev)
+{
+ /* /hotplug/<backend_domid>/<frontend_domid>/<kind> */
+ char strkind[16]; /* Longest is actually "console" */
+ int rc = sscanf(path, "/hotplug/%u/%u/%15[^/]/%d",
+ &dev->backend_domid,
+ &dev->domid,
+ strkind,
+ &dev->devid);
+
+ if (rc != 4)
+ return ERROR_FAIL;
+
+ return libxl__device_kind_from_string(strkind, &dev->backend_kind);
+}
+
int libxl__device_generic_add(libxl__gc *gc, libxl__device *device,
char **bents, char **fents)
{
diff -r bc38aa2e11e2 -r 346d86654b1d tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h Thu Feb 02 11:33:27 2012 +0100
+++ b/tools/libxl/libxl_internal.h Thu Feb 02 11:36:34 2012 +0100
@@ -307,6 +307,9 @@ typedef struct {
_hidden char *libxl__device_hotplug_path(libxl__gc *gc, libxl__device *device);
_hidden int libxl__parse_backend_path(libxl__gc *gc, const char *path,
libxl__device *dev);
+_hidden int libxl__parse_hotplug_path(libxl__gc *gc,
+ const char *path,
+ libxl__device *dev);
_hidden int libxl__device_remove(libxl__gc *gc, libxl__device *dev);
_hidden int libxl__device_destroy(libxl__gc *gc, libxl__device *dev);
_hidden int libxl__devices_destroy(libxl__gc *gc, uint32_t domid);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |