hw/xen: Add xs_node_read() helper function

This returns the full contents of the node, having created the node path
from the printf-style format string provided in its arguments.

This will save various callers from having to do so for themselves (and
from using xs_node_scanf() with the non-portable %ms format string.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
[remove double newline and constify trace parameters]
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
This commit is contained in:
David Woodhouse 2025-01-10 10:35:30 +01:00
parent 7433709a14
commit e6cdeee959
3 changed files with 32 additions and 0 deletions

View file

@ -38,6 +38,15 @@ int xs_node_scanf(struct qemu_xs_handle *h, xs_transaction_t tid,
const char *fmt, ...)
G_GNUC_SCANF(6, 7);
/*
* Unlike other functions here, the printf-formatted path_fmt is for
* the XenStore path, not the contents of the node.
*/
char *xs_node_read(struct qemu_xs_handle *h, xs_transaction_t tid,
unsigned int *len, Error **errp,
const char *path_fmt, ...)
G_GNUC_PRINTF(5, 6);
/* Watch node/key unless node is empty, in which case watch key */
struct qemu_xs_watch *xs_node_watch(struct qemu_xs_handle *h, const char *node,
const char *key, xs_watch_fn fn,