From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42912) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VsyUj-0004At-2g for qemu-devel@nongnu.org; Tue, 17 Dec 2013 12:31:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VsyUe-0001YL-AU for qemu-devel@nongnu.org; Tue, 17 Dec 2013 12:31:45 -0500 Received: from smtp02.citrix.com ([66.165.176.63]:43913) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VsyUe-0001YE-6S for qemu-devel@nongnu.org; Tue, 17 Dec 2013 12:31:40 -0500 From: Stefano Stabellini Date: Tue, 17 Dec 2013 17:30:59 +0000 Message-ID: <1387301460-28164-1-git-send-email-stefano.stabellini@eu.citrix.com> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] [PATCH 1/2] xen_backend: introduce xenstore_read_uint64 and xenstore_read_fe_uint64 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: anthony.perard@citrix.com, xen-devel@lists.xensource.com, Stefano Stabellini Signed-off-by: Stefano Stabellini --- hw/xen/xen_backend.c | 18 ++++++++++++++++++ include/hw/xen/xen_backend.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/hw/xen/xen_backend.c b/hw/xen/xen_backend.c index 197795f..5f9be5a 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, "%"PRIu64, 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 3b7d96d..3b4125e 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); -- 1.7.10.4