diff options
-rw-r--r-- | tools/libxl/Makefile | 3 | ||||
-rw-r--r-- | tools/libxl/libxl.c | 3 | ||||
-rw-r--r-- | tools/libxl/libxl.h | 5 | ||||
-rw-r--r-- | tools/libxl/libxl_device.c | 7 | ||||
-rw-r--r-- | tools/libxl/libxl_dom.c | 16 | ||||
-rw-r--r-- | tools/libxl/libxl_exec.c | 3 | ||||
-rw-r--r-- | tools/libxl/libxl_internal.c | 10 | ||||
-rw-r--r-- | tools/libxl/libxl_osdeps.h (renamed from tools/libxl/osdeps.h) | 11 | ||||
-rw-r--r-- | tools/libxl/libxl_utils.c | 6 | ||||
-rw-r--r-- | tools/libxl/libxl_xshelp.c | 7 | ||||
-rw-r--r-- | tools/libxl/osdeps.c | 4 | ||||
-rw-r--r-- | tools/libxl/xl.c | 7 |
12 files changed, 58 insertions, 24 deletions
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile index 492d6d9151..0358cea7b5 100644 --- a/tools/libxl/Makefile +++ b/tools/libxl/Makefile @@ -23,8 +23,7 @@ LIBCONFIG_URL ?= http://www.hyperrealm.com/libconfig LIBCONFIG_SOURCE = libconfig-1.3.2 LIBCONFIG_OUTPUT = $(LIBCONFIG_SOURCE)/.libs -LIBXL_OBJS-y = -LIBXL_OBJS-$(CONFIG_Linux) += osdeps.o +LIBXL_OBJS-y = osdeps.o LIBXL_OBJS = flexarray.o libxl.o libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o libxl_internal.o xenguest.o libxl_utils.o $(LIBXL_OBJS-y) CLIENTS = xl diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 2eea3a8138..c20025ff90 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -14,6 +14,8 @@ * GNU Lesser General Public License for more details. */ +#include "libxl_osdeps.h" + #include <stdio.h> #include <string.h> #include <stdlib.h> @@ -25,6 +27,7 @@ #include <unistd.h> /* for write, unlink and close */ #include <stdint.h> #include <inttypes.h> + #include "libxl.h" #include "libxl_utils.h" #include "libxl_internal.h" diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h index 0c6f168fee..ac4c79e39c 100644 --- a/tools/libxl/libxl.h +++ b/tools/libxl/libxl.h @@ -15,14 +15,13 @@ #ifndef LIBXL_H #define LIBXL_H -#include "osdeps.h" #include <stdint.h> #include <stdarg.h> #include <netinet/in.h> #include <xenctrl.h> -#include "xen_uuid.h" +#include <xs.h> -typedef int bool; +#include "xen_uuid.h" typedef void (*libxl_log_callback)(void *userdata, int loglevel, const char *file, int line, const char *func, char *s); diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c index 82a2a30580..451233fd4f 100644 --- a/tools/libxl/libxl_device.c +++ b/tools/libxl/libxl_device.c @@ -14,15 +14,18 @@ * GNU Lesser General Public License for more details. */ +#include "libxl_osdeps.h" + #include <string.h> #include <stdio.h> -#include "libxl.h" -#include "libxl_internal.h" #include <sys/time.h> /* for struct timeval */ #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> +#include "libxl.h" +#include "libxl_internal.h" + char *string_of_kinds[] = { [DEVICE_VIF] = "vif", [DEVICE_VBD] = "vbd", diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c index e3cf4374c5..68b2b21378 100644 --- a/tools/libxl/libxl_dom.c +++ b/tools/libxl/libxl_dom.c @@ -13,17 +13,21 @@ * GNU Lesser General Public License for more details. */ -#include "libxl.h" -#include "libxl_internal.h" +#include "libxl_osdeps.h" + #include <stdio.h> #include <inttypes.h> -#include <xenguest.h> -#include <xenctrl.h> -#include <xc_dom.h> #include <string.h> #include <sys/time.h> /* for struct timeval */ #include <unistd.h> /* for sleep(2) */ +#include <xenctrl.h> +#include <xc_dom.h> +#include <xenguest.h> + +#include "libxl.h" +#include "libxl_internal.h" + int is_hvm(struct libxl_ctx *ctx, uint32_t domid) { xc_domaininfo_t info; @@ -110,7 +114,7 @@ int build_pv(struct libxl_ctx *ctx, uint32_t domid, dom = xc_dom_allocate(info->u.pv.cmdline, info->u.pv.features); if (!dom) { - XL_LOG_ERRNOVAL(ctx, XL_LOG_ERROR, dom, "xc_dom_allocate failed"); + XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "xc_dom_allocate failed"); return -1; } if ((ret = xc_dom_linux_build(ctx->xch, dom, domid, info->max_memkb / 1024, diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c index 8a589b676c..5186ac8c7c 100644 --- a/tools/libxl/libxl_exec.c +++ b/tools/libxl/libxl_exec.c @@ -15,9 +15,12 @@ * GNU Lesser General Public License for more details. */ +#include "libxl_osdeps.h" + #include <stdio.h> #include <unistd.h> #include <stdlib.h> + #include "libxl.h" #include "libxl_internal.h" diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c index 7ba0c9790f..a04ac8ddf7 100644 --- a/tools/libxl/libxl_internal.c +++ b/tools/libxl/libxl_internal.c @@ -12,13 +12,17 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. */ -#include "libxl.h" -#include "libxl_internal.h" -#include "libxl_utils.h" + +#include "libxl_osdeps.h" + #include <stdio.h> #include <stdarg.h> #include <string.h> +#include "libxl.h" +#include "libxl_internal.h" +#include "libxl_utils.h" + int libxl_error_set(struct libxl_ctx *ctx, int code) { return 0; diff --git a/tools/libxl/osdeps.h b/tools/libxl/libxl_osdeps.h index 5391727fa7..fc453c3553 100644 --- a/tools/libxl/osdeps.h +++ b/tools/libxl/libxl_osdeps.h @@ -13,14 +13,21 @@ * GNU Lesser General Public License for more details. */ +/* + * This header must be included first, before any system headers, + * so that _GNU_SOURCE takes effect properly. + */ + #ifndef LIBXL_OSDEP #define LIBXL_OSDEP +#define _GNU_SOURCE + +#ifdef NEED_OWN_ASPRINTF #include <stdarg.h> -#if defined(__linux__) int asprintf(char **buffer, char *fmt, ...); int vasprintf(char **buffer, const char *fmt, va_list ap); -#endif +#endif /*NEED_OWN_ASPRINTF*/ #endif diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c index 5048fd06aa..c174d0f510 100644 --- a/tools/libxl/libxl_utils.c +++ b/tools/libxl/libxl_utils.c @@ -13,8 +13,8 @@ * GNU Lesser General Public License for more details. */ -#include "libxl_utils.h" -#include "libxl_internal.h" +#include "libxl_osdeps.h" + #include <stdio.h> #include <stdlib.h> #include <stdint.h> @@ -24,6 +24,8 @@ #include <ctype.h> #include <errno.h> +#include "libxl_utils.h" +#include "libxl_internal.h" unsigned long libxl_get_required_shadow_memory(unsigned long maxmem_kb, unsigned int smp_cpus) diff --git a/tools/libxl/libxl_xshelp.c b/tools/libxl/libxl_xshelp.c index f59eee7523..87c494a4a5 100644 --- a/tools/libxl/libxl_xshelp.c +++ b/tools/libxl/libxl_xshelp.c @@ -13,13 +13,16 @@ * GNU Lesser General Public License for more details. */ +#include "libxl_osdeps.h" + #include <string.h> #include <stddef.h> -#include "libxl.h" -#include "libxl_internal.h" #include <stdio.h> #include <stdarg.h> +#include "libxl.h" +#include "libxl_internal.h" + char **libxl_xs_kvs_of_flexarray(struct libxl_ctx *ctx, flexarray_t *array, int length) { char **kvs; diff --git a/tools/libxl/osdeps.c b/tools/libxl/osdeps.c index 81175aa328..ad96480a85 100644 --- a/tools/libxl/osdeps.c +++ b/tools/libxl/osdeps.c @@ -19,6 +19,8 @@ #include <sys/time.h> #include <stdlib.h> +#ifdef NEED_OWN_ASPRINTF + int vasprintf(char **buffer, const char *fmt, va_list ap) { int size = 0; @@ -60,3 +62,5 @@ int asprintf(char **buffer, char *fmt, ...) va_end (ap); return status; } + +#endif diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c index 3b735ec78a..727fe4a837 100644 --- a/tools/libxl/xl.c +++ b/tools/libxl/xl.c @@ -14,8 +14,8 @@ * GNU Lesser General Public License for more details. */ -#include "libxl.h" -#include "libxl_utils.h" +#include "libxl_osdeps.h" + #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -29,6 +29,9 @@ #include <arpa/inet.h> #include <xenctrl.h> +#include "libxl.h" +#include "libxl_utils.h" + void log_callback(void *userdata, int loglevel, const char *file, int line, const char *func, char *s) { fprintf(stderr, "[%d] %s:%d:%s: %s\n", loglevel, file, line, func, s); |