diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2010-05-28 09:30:19 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2010-05-28 09:30:19 +0100 |
commit | 5cc436c1d2b3b0be3f42104582f53eec3969b43a (patch) | |
tree | 1e30ade146ee7287c486d1309b5d3d2c69a2d9b9 /tools/xcutils/readnotes.c | |
parent | 7f9a888af4b65cb8c22cea3c8295d30d0fedd623 (diff) | |
download | xen-5cc436c1d2b3b0be3f42104582f53eec3969b43a.tar.gz xen-5cc436c1d2b3b0be3f42104582f53eec3969b43a.tar.bz2 xen-5cc436c1d2b3b0be3f42104582f53eec3969b43a.zip |
libxc: eliminate static variables, use xentoollog; API change
This patch eliminate the global variables in libxenctrl (used for
logging and error reporting).
Instead the information which was in the global variables is now in a
new xc_interface* opaque structure, which xc_interface open returns
instead of the raw file descriptor; furthermore, logging is done via
xentoollog.
There are three new parameters to xc_interface_open to control the
logging, but existing callers can just pass "0" for all three to get
the old behaviour.
All libxc callers have been adjusted accordingly.
Also update QEMU_TAG for corresponding qemu change.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools/xcutils/readnotes.c')
-rw-r--r-- | tools/xcutils/readnotes.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/tools/xcutils/readnotes.c b/tools/xcutils/readnotes.c index 270c48b017..26376854b2 100644 --- a/tools/xcutils/readnotes.c +++ b/tools/xcutils/readnotes.c @@ -5,6 +5,7 @@ #include <stdlib.h> #include <string.h> #include <unistd.h> +#include <stdarg.h> #include <sys/types.h> #include <sys/stat.h> @@ -15,6 +16,8 @@ #include <xen/libelf/libelf.h> +static xc_interface *xch; + static void print_string_note(const char *prefix, struct elf_binary *elf, const elf_note *note) { @@ -135,6 +138,8 @@ int main(int argc, char **argv) } f = argv[1]; + xch = xc_interface_open(0,0,XC_OPENFLAG_DUMMY); + fd = open(f, O_RDONLY); if (fd == -1) { @@ -156,11 +161,11 @@ int main(int argc, char **argv) } size = st.st_size; - usize = xc_dom_check_gzip(image, st.st_size); + usize = xc_dom_check_gzip(xch, image, st.st_size); if (usize) { tmp = malloc(usize); - xc_dom_do_gunzip(image, st.st_size, tmp, usize); + xc_dom_do_gunzip(xch, image, st.st_size, tmp, usize); image = tmp; size = usize; } @@ -170,7 +175,7 @@ int main(int argc, char **argv) fprintf(stderr, "File %s is not an ELF image\n", f); return 1; } - xc_elf_set_logfile(&elf, stderr, 0); + xc_elf_set_logfile(xch, &elf, 0); count = elf_phdr_count(&elf); for ( h=0; h < count; h++) |