]> git.proxmox.com Git - mirror_qemu.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 10:37:40 +0000 (10:37 +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 3cd45b407cccc0a23d642958deaeafb5366f2af6..b2cb22b99dbcd9663cdf01631e3c3145ca301fdd 100644 (file)
@@ -111,6 +111,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);
@@ -146,6 +159,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);