aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxl/libxl.h
diff options
context:
space:
mode:
authorIan Jackson <ian.jackson@eu.citrix.com>2012-05-11 18:59:00 +0100
committerIan Jackson <ian.jackson@eu.citrix.com>2012-05-11 18:59:00 +0100
commit599c7844af1ffe83ce79b94a02515208256d20af (patch)
tree545478a544848b38809b76b268da0df6b4a6100b /tools/libxl/libxl.h
parent4572b1f8becaf7686125648398379d75a18c478a (diff)
downloadxen-599c7844af1ffe83ce79b94a02515208256d20af.tar.gz
xen-599c7844af1ffe83ce79b94a02515208256d20af.tar.bz2
xen-599c7844af1ffe83ce79b94a02515208256d20af.zip
libxl: ao: Convert libxl_run_bootloader
Convert libxl_run_bootloader to an ao_how-taking function. It's implemented in terms of libxl__bootloader_run, which can be used internally. The resulting code is pretty much a rewrite. Significant changes include: - We direct the bootloader's results to a file, not a pipe. This makes it simpler to deal with as we don't have to read it concurrently along with everything else. - We now issue a warning if we find unexpected statements in the bootloader results. - The arrangements for buffering of bootloader input and output are completely changed. Now we have a fixed limit of 64k on output, and 4k on input, and discard the oldest data when this overflows (which it shouldn't). There is no timeout any more. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Changes since v6: * Use libxl__ev_child_inuse rather than testing pid directly. * Fix a code style error. * Properly initialise the sub-operations' aos in _init. * Bugfixes. Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Diffstat (limited to 'tools/libxl/libxl.h')
-rw-r--r--tools/libxl/libxl.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index fb90aedb20..3087146ee6 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -495,7 +495,8 @@ int libxl_get_max_cpus(libxl_ctx *ctx);
int libxl_run_bootloader(libxl_ctx *ctx,
libxl_domain_build_info *info,
libxl_device_disk *disk,
- uint32_t domid);
+ uint32_t domid,
+ libxl_asyncop_how *ao_how);
/* 0 means ERROR_ENOMEM, which we have logged */