]> xenbits.xensource.com Git - qemu-upstream-4.5-testing.git/commitdiff
xen_backend: introduce xenstore_read_uint64 and xenstore_read_fe_uint64
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>
Wed, 18 Dec 2013 19:17:31 +0000 (19:17 +0000)
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>
Mon, 7 Jul 2014 15:47:51 +0000 (15:47 +0000)
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
hw/xen/xen_backend.c
include/hw/xen/xen_backend.h

index 197795ffe15a6552bae106cc46f5bdf8eb592461..c1d7ae5604d7fb1e67e2c000ac55e37da3e98d81 100644 (file)
@@ -112,6 +112,19 @@ int xenstore_read_int(const char *base, const char *node, int *ival)
     return rc;
 }
 
+int xenstore_read_uint64(const char *base, const char *node, uint64_t *uval)
+{
+    char *val;
+    int rc = -1;
+
+    val = xenstore_read_str(base, node);
+    if (val && 1 == sscanf(val, "%"SCNu64, uval)) {
+        rc = 0;
+    }
+    g_free(val);
+    return rc;
+}
+
 int xenstore_write_be_str(struct XenDevice *xendev, const char *node, const char *val)
 {
     return xenstore_write_str(xendev->be, node, val);
@@ -147,6 +160,11 @@ int xenstore_read_fe_int(struct XenDevice *xendev, const char *node, int *ival)
     return xenstore_read_int(xendev->fe, node, ival);
 }
 
+int xenstore_read_fe_uint64(struct XenDevice *xendev, const char *node, uint64_t *uval)
+{
+    return xenstore_read_uint64(xendev->fe, node, uval);
+}
+
 /* ------------------------------------------------------------- */
 
 const char *xenbus_strstate(enum xenbus_state state)
index 3b7d96d7a50c4cfef37ea46bbb48b723f5ce9b3e..3b4125e39f38833b1ab65f7282101c4fa07efd12 100644 (file)
@@ -74,6 +74,8 @@ char *xenstore_read_be_str(struct XenDevice *xendev, const char *node);
 int xenstore_read_be_int(struct XenDevice *xendev, const char *node, int *ival);
 char *xenstore_read_fe_str(struct XenDevice *xendev, const char *node);
 int xenstore_read_fe_int(struct XenDevice *xendev, const char *node, int *ival);
+int xenstore_read_uint64(const char *base, const char *node, uint64_t *uval);
+int xenstore_read_fe_uint64(struct XenDevice *xendev, const char *node, uint64_t *uval);
 
 const char *xenbus_strstate(enum xenbus_state state);
 struct XenDevice *xen_be_find_xendev(const char *type, int dom, int dev);