From: Stefano Stabellini Date: Wed, 18 Dec 2013 19:17:31 +0000 (+0000) Subject: xen_backend: introduce xenstore_read_uint64 and xenstore_read_fe_uint64 X-Git-Tag: qemu-xen-4.5.0-rc1~11 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=daac43237f02ccf70d7dd74433c58e002e205123;p=qemu-upstream-4.5-testing.git xen_backend: introduce xenstore_read_uint64 and xenstore_read_fe_uint64 Signed-off-by: Stefano Stabellini Reviewed-by: Peter Maydell --- diff --git a/hw/xen/xen_backend.c b/hw/xen/xen_backend.c index 197795ffe..c1d7ae560 100644 --- a/hw/xen/xen_backend.c +++ b/hw/xen/xen_backend.c @@ -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) diff --git a/include/hw/xen/xen_backend.h b/include/hw/xen/xen_backend.h index 3b7d96d7a..3b4125e39 100644 --- a/include/hw/xen/xen_backend.h +++ b/include/hw/xen/xen_backend.h @@ -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);