diff options
author | ewan@localhost.localdomain <ewan@localhost.localdomain> | 2007-04-21 12:21:06 -0700 |
---|---|---|
committer | ewan@localhost.localdomain <ewan@localhost.localdomain> | 2007-04-21 12:21:06 -0700 |
commit | e83be1159570416909d74bca47175a30a13534f8 (patch) | |
tree | 19f11bd4afd52f260e4fef177a4938fcae43e8a4 | |
parent | 5c8b4287a45c0f0215d188769ab46458399351f5 (diff) | |
download | xen-e83be1159570416909d74bca47175a30a13534f8.tar.gz xen-e83be1159570416909d74bca47175a30a13534f8.tar.bz2 xen-e83be1159570416909d74bca47175a30a13534f8.zip |
Move all internal header files to a separate directory, so that it's clear what
forms the public API. Tidy up a couple of macros in xen_internal.h. Remove
test_hvm_bindings, which no longer builds, and which has had its functionality
subsumed into test_bindings. Bump the library version to 0.9.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
-rw-r--r-- | tools/libxen/Makefile | 33 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_all.h | 39 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_common.h (renamed from tools/libxen/include/xen_common.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_console.h (renamed from tools/libxen/include/xen_console.h) | 10 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_console_decl.h (renamed from tools/libxen/include/xen_console_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_console_protocol.h (renamed from tools/libxen/include/xen_console_protocol.h) | 4 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_crashdump.h (renamed from tools/libxen/include/xen_crashdump.h) | 10 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_crashdump_decl.h (renamed from tools/libxen/include/xen_crashdump_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_event.h (renamed from tools/libxen/include/xen_event.h) | 8 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_event_decl.h (renamed from tools/libxen/include/xen_event_decl.h) | 0 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_event_operation.h (renamed from tools/libxen/include/xen_event_operation.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_host.h (renamed from tools/libxen/include/xen_host.h) | 20 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_host_cpu.h (renamed from tools/libxen/include/xen_host_cpu.h) | 6 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_host_cpu_decl.h (renamed from tools/libxen/include/xen_host_cpu_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_host_decl.h (renamed from tools/libxen/include/xen_host_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_host_metrics.h (renamed from tools/libxen/include/xen_host_metrics.h) | 4 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_host_metrics_decl.h (renamed from tools/libxen/include/xen_host_metrics_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_int_float_map.h (renamed from tools/libxen/include/xen_int_float_map.h) | 4 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_int_int_map.h (renamed from tools/libxen/include/xen_int_int_map.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_int_string_set_map.h (renamed from tools/libxen/include/xen_int_string_set_map.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_network.h (renamed from tools/libxen/include/xen_network.h) | 10 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_network_decl.h (renamed from tools/libxen/include/xen_network_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_on_crash_behaviour.h (renamed from tools/libxen/include/xen_on_crash_behaviour.h) | 4 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_on_normal_exit.h (renamed from tools/libxen/include/xen_on_normal_exit.h) | 4 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_pbd.h (renamed from tools/libxen/include/xen_pbd.h) | 10 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_pbd_decl.h (renamed from tools/libxen/include/xen_pbd_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_pif.h (renamed from tools/libxen/include/xen_pif.h) | 14 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_pif_decl.h (renamed from tools/libxen/include/xen_pif_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_pif_metrics.h (renamed from tools/libxen/include/xen_pif_metrics.h) | 4 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_pif_metrics_decl.h (renamed from tools/libxen/include/xen_pif_metrics_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_sr.h (renamed from tools/libxen/include/xen_sr.h) | 10 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_sr_decl.h (renamed from tools/libxen/include/xen_sr_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_string_set.h (renamed from tools/libxen/include/xen_string_set.h) | 0 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_string_string_map.h (renamed from tools/libxen/include/xen_string_string_map.h) | 4 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_user.h (renamed from tools/libxen/include/xen_user.h) | 4 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_user_decl.h (renamed from tools/libxen/include/xen_user_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vbd.h (renamed from tools/libxen/include/xen_vbd.h) | 24 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vbd_decl.h (renamed from tools/libxen/include/xen_vbd_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vbd_metrics.h (renamed from tools/libxen/include/xen_vbd_metrics.h) | 4 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vbd_metrics_decl.h (renamed from tools/libxen/include/xen_vbd_metrics_decl.h) | 0 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vbd_mode.h (renamed from tools/libxen/include/xen_vbd_mode.h) | 4 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vbd_type.h (renamed from tools/libxen/include/xen_vbd_type.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vdi.h (renamed from tools/libxen/include/xen_vdi.h) | 14 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vdi_decl.h (renamed from tools/libxen/include/xen_vdi_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vdi_type.h (renamed from tools/libxen/include/xen_vdi_type.h) | 4 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vif.h (renamed from tools/libxen/include/xen_vif.h) | 14 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vif_decl.h (renamed from tools/libxen/include/xen_vif_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vif_metrics.h (renamed from tools/libxen/include/xen_vif_metrics.h) | 4 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vif_metrics_decl.h (renamed from tools/libxen/include/xen_vif_metrics_decl.h) | 0 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vm.h (renamed from tools/libxen/include/xen_vm.h) | 30 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vm_decl.h (renamed from tools/libxen/include/xen_vm_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vm_guest_metrics.h (renamed from tools/libxen/include/xen_vm_guest_metrics.h) | 6 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vm_guest_metrics_decl.h (renamed from tools/libxen/include/xen_vm_guest_metrics_decl.h) | 0 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vm_metrics.h (renamed from tools/libxen/include/xen_vm_metrics.h) | 14 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vm_metrics_decl.h (renamed from tools/libxen/include/xen_vm_metrics_decl.h) | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vm_power_state.h (renamed from tools/libxen/include/xen_vm_power_state.h) | 4 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vtpm.h (renamed from tools/libxen/include/xen_vtpm.h) | 13 | ||||
-rw-r--r-- | tools/libxen/include/xen/api/xen_vtpm_decl.h (renamed from tools/libxen/include/xen_vtpm_decl.h) | 0 | ||||
-rw-r--r-- | tools/libxen/include/xen_console_protocol_internal.h | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen_internal.h | 61 | ||||
-rw-r--r-- | tools/libxen/include/xen_on_crash_behaviour_internal.h | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen_on_normal_exit_internal.h | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen_vbd_mode_internal.h | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen_vdi_type_internal.h | 2 | ||||
-rw-r--r-- | tools/libxen/include/xen_vm_power_state_internal.h | 2 | ||||
-rw-r--r-- | tools/libxen/src/xen_common.c | 12 | ||||
-rw-r--r-- | tools/libxen/src/xen_console.c | 8 | ||||
-rw-r--r-- | tools/libxen/src/xen_console_protocol.c | 4 | ||||
-rw-r--r-- | tools/libxen/src/xen_crashdump.c | 8 | ||||
-rw-r--r-- | tools/libxen/src/xen_event.c | 4 | ||||
-rw-r--r-- | tools/libxen/src/xen_event_operation.c | 2 | ||||
-rw-r--r-- | tools/libxen/src/xen_host.c | 18 | ||||
-rw-r--r-- | tools/libxen/src/xen_host_cpu.c | 6 | ||||
-rw-r--r-- | tools/libxen/src/xen_host_metrics.c | 4 | ||||
-rw-r--r-- | tools/libxen/src/xen_int_float_map.c | 6 | ||||
-rw-r--r-- | tools/libxen/src/xen_int_int_map.c | 4 | ||||
-rw-r--r-- | tools/libxen/src/xen_int_string_set_map.c | 6 | ||||
-rw-r--r-- | tools/libxen/src/xen_network.c | 10 | ||||
-rw-r--r-- | tools/libxen/src/xen_on_crash_behaviour.c | 4 | ||||
-rw-r--r-- | tools/libxen/src/xen_on_normal_exit.c | 4 | ||||
-rw-r--r-- | tools/libxen/src/xen_pbd.c | 10 | ||||
-rw-r--r-- | tools/libxen/src/xen_pif.c | 10 | ||||
-rw-r--r-- | tools/libxen/src/xen_pif_metrics.c | 4 | ||||
-rw-r--r-- | tools/libxen/src/xen_sr.c | 8 | ||||
-rw-r--r-- | tools/libxen/src/xen_string_set.c | 2 | ||||
-rw-r--r-- | tools/libxen/src/xen_string_string_map.c | 6 | ||||
-rw-r--r-- | tools/libxen/src/xen_user.c | 4 | ||||
-rw-r--r-- | tools/libxen/src/xen_vbd.c | 12 | ||||
-rw-r--r-- | tools/libxen/src/xen_vbd_metrics.c | 4 | ||||
-rw-r--r-- | tools/libxen/src/xen_vbd_mode.c | 4 | ||||
-rw-r--r-- | tools/libxen/src/xen_vbd_type.c | 2 | ||||
-rw-r--r-- | tools/libxen/src/xen_vdi.c | 12 | ||||
-rw-r--r-- | tools/libxen/src/xen_vdi_type.c | 4 | ||||
-rw-r--r-- | tools/libxen/src/xen_vif.c | 12 | ||||
-rw-r--r-- | tools/libxen/src/xen_vif_metrics.c | 4 | ||||
-rw-r--r-- | tools/libxen/src/xen_vm.c | 24 | ||||
-rw-r--r-- | tools/libxen/src/xen_vm_guest_metrics.c | 6 | ||||
-rw-r--r-- | tools/libxen/src/xen_vm_metrics.c | 12 | ||||
-rw-r--r-- | tools/libxen/src/xen_vm_power_state.c | 4 | ||||
-rw-r--r-- | tools/libxen/src/xen_vtpm.c | 8 | ||||
-rw-r--r-- | tools/libxen/test/test_bindings.c | 9 | ||||
-rw-r--r-- | tools/libxen/test/test_event_handling.c | 3 | ||||
-rw-r--r-- | tools/libxen/test/test_hvm_bindings.c | 445 |
103 files changed, 373 insertions, 788 deletions
diff --git a/tools/libxen/Makefile b/tools/libxen/Makefile index 51062d7c5b..d91be3c33d 100644 --- a/tools/libxen/Makefile +++ b/tools/libxen/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2006, XenSource Inc. +# Copyright (c) 2006-2007, XenSource Inc. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -18,20 +18,21 @@ XEN_ROOT=../.. include $(XEN_ROOT)/tools/Rules.mk -MAJOR = 0.1 -MINOR = 0 +MAJOR = 0.9 +MINOR = 1 CFLAGS = -Iinclude \ - $(shell xml2-config --cflags) \ + $(shell xml2-config --cflags) \ $(shell curl-config --cflags) \ -W -Wall -Wmissing-prototypes -Werror -std=c99 -O2 -fPIC LDFLAGS = $(shell xml2-config --libs) \ $(shell curl-config --libs) -LIBXENAPI_HDRS = $(wildcard include/*.h) +LIBXENAPI_HDRS = $(wildcard include/xen/api/*.h) include/xen/api/xen_all.h LIBXENAPI_OBJS = $(patsubst %.c, %.o, $(wildcard src/*.c)) +TEST_PROGRAMS = test/test_bindings test/test_event_handling .PHONY: all all: libxenapi.so libxenapi.a @@ -48,13 +49,7 @@ libxenapi.so.$(MAJOR).$(MINOR): $(LIBXENAPI_OBJS) libxenapi.a: $(LIBXENAPI_OBJS) $(AR) rcs libxenapi.a $^ -test/test_bindings: test/test_bindings.o libxenapi.so - $(CC) $(LDFLAGS) -o $@ $< -L . -lxenapi - -test/test_event_handling: test/test_event_handling.o libxenapi.so - $(CC) $(LDFLAGS) -o $@ $< -L . -lxenapi - -test/test_hvm_bindings: test/test_hvm_bindings.o libxenapi.so +$(TEST_PROGRAMS): test/%: test/%.o libxenapi.so $(CC) $(LDFLAGS) -o $@ $< -L . -lxenapi @@ -70,9 +65,21 @@ install: all $(INSTALL_DATA) $$i $(DESTDIR)/usr/include/xen/api; \ done + .PHONY: clean clean: rm -f `find -name *.o` rm -f libxenapi.so* rm -f libxenapi.a - rm -f test/test_bindings + rm -f $(TEST_PROGRAMS) + + +.PHONY: uberheader +uberheader: include/xen/api/xen_all.h +include/xen/api/xen_all.h:: + echo "/* This file is autogenerated */" >$@ + echo "#ifndef XEN_API_XEN_ALL_H" >>$@ + echo "#define XEN_API_XEN_ALL_H" >>$@ + ls include/xen/api/*.h | grep -v xen_all.h | grep -v _decl.h | \ + sed 's,^include/\(.*\)$$,#include <\1>,g' >>$@ + echo "#endif" >>$@ diff --git a/tools/libxen/include/xen/api/xen_all.h b/tools/libxen/include/xen/api/xen_all.h new file mode 100644 index 0000000000..8f0c1b83bc --- /dev/null +++ b/tools/libxen/include/xen/api/xen_all.h @@ -0,0 +1,39 @@ +/* This file is autogenerated */ +#ifndef XEN_API_XEN_ALL_H +#define XEN_API_XEN_ALL_H +#include <xen/api/xen_common.h> +#include <xen/api/xen_console.h> +#include <xen/api/xen_console_protocol.h> +#include <xen/api/xen_crashdump.h> +#include <xen/api/xen_event.h> +#include <xen/api/xen_event_operation.h> +#include <xen/api/xen_host_cpu.h> +#include <xen/api/xen_host.h> +#include <xen/api/xen_host_metrics.h> +#include <xen/api/xen_int_float_map.h> +#include <xen/api/xen_int_int_map.h> +#include <xen/api/xen_int_string_set_map.h> +#include <xen/api/xen_network.h> +#include <xen/api/xen_on_crash_behaviour.h> +#include <xen/api/xen_on_normal_exit.h> +#include <xen/api/xen_pbd.h> +#include <xen/api/xen_pif.h> +#include <xen/api/xen_pif_metrics.h> +#include <xen/api/xen_sr.h> +#include <xen/api/xen_string_set.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_user.h> +#include <xen/api/xen_vbd.h> +#include <xen/api/xen_vbd_metrics.h> +#include <xen/api/xen_vbd_mode.h> +#include <xen/api/xen_vbd_type.h> +#include <xen/api/xen_vdi.h> +#include <xen/api/xen_vdi_type.h> +#include <xen/api/xen_vif.h> +#include <xen/api/xen_vif_metrics.h> +#include <xen/api/xen_vm_guest_metrics.h> +#include <xen/api/xen_vm.h> +#include <xen/api/xen_vm_metrics.h> +#include <xen/api/xen_vm_power_state.h> +#include <xen/api/xen_vtpm.h> +#endif diff --git a/tools/libxen/include/xen_common.h b/tools/libxen/include/xen/api/xen_common.h index fc8d092e74..89d92cacc4 100644 --- a/tools/libxen/include/xen_common.h +++ b/tools/libxen/include/xen/api/xen_common.h @@ -25,7 +25,7 @@ #include <stdint.h> #include <time.h> -#include "xen_host_decl.h" +#include "xen/api/xen_host_decl.h" typedef bool (*xen_result_func)(const void *data, size_t len, diff --git a/tools/libxen/include/xen_console.h b/tools/libxen/include/xen/api/xen_console.h index 5402ae9fbe..19bfdeb082 100644 --- a/tools/libxen/include/xen_console.h +++ b/tools/libxen/include/xen/api/xen_console.h @@ -19,11 +19,11 @@ #ifndef XEN_CONSOLE_H #define XEN_CONSOLE_H -#include "xen_common.h" -#include "xen_console_decl.h" -#include "xen_console_protocol.h" -#include "xen_string_string_map.h" -#include "xen_vm_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_console_decl.h> +#include <xen/api/xen_console_protocol.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vm_decl.h> /* diff --git a/tools/libxen/include/xen_console_decl.h b/tools/libxen/include/xen/api/xen_console_decl.h index 1392164593..432ff76919 100644 --- a/tools/libxen/include/xen_console_decl.h +++ b/tools/libxen/include/xen/api/xen_console_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_console_protocol.h b/tools/libxen/include/xen/api/xen_console_protocol.h index e6fcf62b4a..413ad7aa9b 100644 --- a/tools/libxen/include/xen_console_protocol.h +++ b/tools/libxen/include/xen/api/xen_console_protocol.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ #define XEN_CONSOLE_PROTOCOL_H -#include "xen_common.h" +#include <xen/api/xen_common.h> enum xen_console_protocol diff --git a/tools/libxen/include/xen_crashdump.h b/tools/libxen/include/xen/api/xen_crashdump.h index 00869dbb4c..145e0419a7 100644 --- a/tools/libxen/include/xen_crashdump.h +++ b/tools/libxen/include/xen/api/xen_crashdump.h @@ -19,10 +19,10 @@ #ifndef XEN_CRASHDUMP_H #define XEN_CRASHDUMP_H -#include "xen_common.h" -#include "xen_crashdump_decl.h" -#include "xen_vdi_decl.h" -#include "xen_vm_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_crashdump_decl.h> +#include <xen/api/xen_vdi_decl.h> +#include <xen/api/xen_vm_decl.h> /* @@ -183,7 +183,7 @@ xen_crashdump_get_vdi(xen_session *session, xen_vdi *result, xen_crashdump crash /** - * Destroy the specified crashdump + * Destroy the specified crashdump. */ extern bool xen_crashdump_destroy(xen_session *session, xen_crashdump self); diff --git a/tools/libxen/include/xen_crashdump_decl.h b/tools/libxen/include/xen/api/xen_crashdump_decl.h index 3087715c4f..4eb6d5493f 100644 --- a/tools/libxen/include/xen_crashdump_decl.h +++ b/tools/libxen/include/xen/api/xen_crashdump_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_event.h b/tools/libxen/include/xen/api/xen_event.h index 1e171b8d26..6a2845b4b2 100644 --- a/tools/libxen/include/xen_event.h +++ b/tools/libxen/include/xen/api/xen_event.h @@ -19,10 +19,10 @@ #ifndef XEN_EVENT_H #define XEN_EVENT_H -#include "xen_common.h" -#include "xen_event_decl.h" -#include "xen_event_operation.h" -#include "xen_string_set.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_event_decl.h> +#include <xen/api/xen_event_operation.h> +#include <xen/api/xen_string_set.h> /* diff --git a/tools/libxen/include/xen_event_decl.h b/tools/libxen/include/xen/api/xen_event_decl.h index 856991fd09..856991fd09 100644 --- a/tools/libxen/include/xen_event_decl.h +++ b/tools/libxen/include/xen/api/xen_event_decl.h diff --git a/tools/libxen/include/xen_event_operation.h b/tools/libxen/include/xen/api/xen_event_operation.h index 05319ef58a..31cce20b8a 100644 --- a/tools/libxen/include/xen_event_operation.h +++ b/tools/libxen/include/xen/api/xen_event_operation.h @@ -20,7 +20,7 @@ #define XEN_EVENT_OPERATION_H -#include "xen_common.h" +#include <xen/api/xen_common.h> enum xen_event_operation diff --git a/tools/libxen/include/xen_host.h b/tools/libxen/include/xen/api/xen_host.h index cb2c447fc4..9ca40d700e 100644 --- a/tools/libxen/include/xen_host.h +++ b/tools/libxen/include/xen/api/xen_host.h @@ -19,16 +19,16 @@ #ifndef XEN_HOST_H #define XEN_HOST_H -#include "xen_common.h" -#include "xen_host_cpu_decl.h" -#include "xen_host_decl.h" -#include "xen_host_metrics_decl.h" -#include "xen_pbd_decl.h" -#include "xen_pif_decl.h" -#include "xen_sr_decl.h" -#include "xen_string_set.h" -#include "xen_string_string_map.h" -#include "xen_vm_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_host_cpu_decl.h> +#include <xen/api/xen_host_decl.h> +#include <xen/api/xen_host_metrics_decl.h> +#include <xen/api/xen_pbd_decl.h> +#include <xen/api/xen_pif_decl.h> +#include <xen/api/xen_sr_decl.h> +#include <xen/api/xen_string_set.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vm_decl.h> /* diff --git a/tools/libxen/include/xen_host_cpu.h b/tools/libxen/include/xen/api/xen_host_cpu.h index b484793782..f1bdb7134f 100644 --- a/tools/libxen/include/xen_host_cpu.h +++ b/tools/libxen/include/xen/api/xen_host_cpu.h @@ -19,9 +19,9 @@ #ifndef XEN_HOST_CPU_H #define XEN_HOST_CPU_H -#include "xen_common.h" -#include "xen_host_cpu_decl.h" -#include "xen_host_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_host_cpu_decl.h> +#include <xen/api/xen_host_decl.h> /* diff --git a/tools/libxen/include/xen_host_cpu_decl.h b/tools/libxen/include/xen/api/xen_host_cpu_decl.h index 1d24953ecc..1e9be29004 100644 --- a/tools/libxen/include/xen_host_cpu_decl.h +++ b/tools/libxen/include/xen/api/xen_host_cpu_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_host_decl.h b/tools/libxen/include/xen/api/xen_host_decl.h index affb676869..79d974b471 100644 --- a/tools/libxen/include/xen_host_decl.h +++ b/tools/libxen/include/xen/api/xen_host_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_host_metrics.h b/tools/libxen/include/xen/api/xen_host_metrics.h index 84121332c7..2055362672 100644 --- a/tools/libxen/include/xen_host_metrics.h +++ b/tools/libxen/include/xen/api/xen_host_metrics.h @@ -19,8 +19,8 @@ #ifndef XEN_HOST_METRICS_H #define XEN_HOST_METRICS_H -#include "xen_common.h" -#include "xen_host_metrics_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_host_metrics_decl.h> /* diff --git a/tools/libxen/include/xen_host_metrics_decl.h b/tools/libxen/include/xen/api/xen_host_metrics_decl.h index e9137160ed..8b73554e69 100644 --- a/tools/libxen/include/xen_host_metrics_decl.h +++ b/tools/libxen/include/xen/api/xen_host_metrics_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_int_float_map.h b/tools/libxen/include/xen/api/xen_int_float_map.h index 9cc4769d48..058c45e459 100644 --- a/tools/libxen/include/xen_int_float_map.h +++ b/tools/libxen/include/xen/api/xen_int_float_map.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ #define XEN_INT_FLOAT_MAP_H -#include "xen_common.h" +#include <xen/api/xen_common.h> typedef struct xen_int_float_map_contents diff --git a/tools/libxen/include/xen_int_int_map.h b/tools/libxen/include/xen/api/xen_int_int_map.h index 5d11e146b0..71295a62b8 100644 --- a/tools/libxen/include/xen_int_int_map.h +++ b/tools/libxen/include/xen/api/xen_int_int_map.h @@ -20,7 +20,7 @@ #define XEN_INT_INT_MAP_H -#include "xen_common.h" +#include <xen/api/xen_common.h> typedef struct xen_int_int_map_contents diff --git a/tools/libxen/include/xen_int_string_set_map.h b/tools/libxen/include/xen/api/xen_int_string_set_map.h index 7a784fd070..bca1a6bb7e 100644 --- a/tools/libxen/include/xen_int_string_set_map.h +++ b/tools/libxen/include/xen/api/xen_int_string_set_map.h @@ -20,7 +20,7 @@ #define XEN_INT_STRING_SET_MAP_H -#include "xen_common.h" +#include <xen/api/xen_common.h> typedef struct xen_int_string_set_map_contents diff --git a/tools/libxen/include/xen_network.h b/tools/libxen/include/xen/api/xen_network.h index 988495f2f4..bf8295afe0 100644 --- a/tools/libxen/include/xen_network.h +++ b/tools/libxen/include/xen/api/xen_network.h @@ -19,11 +19,11 @@ #ifndef XEN_NETWORK_H #define XEN_NETWORK_H -#include "xen_common.h" -#include "xen_network_decl.h" -#include "xen_pif_decl.h" -#include "xen_string_string_map.h" -#include "xen_vif_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_network_decl.h> +#include <xen/api/xen_pif_decl.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vif_decl.h> /* diff --git a/tools/libxen/include/xen_network_decl.h b/tools/libxen/include/xen/api/xen_network_decl.h index d970c2af15..dbfb3e919e 100644 --- a/tools/libxen/include/xen_network_decl.h +++ b/tools/libxen/include/xen/api/xen_network_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_on_crash_behaviour.h b/tools/libxen/include/xen/api/xen_on_crash_behaviour.h index 8286488659..47792c6a01 100644 --- a/tools/libxen/include/xen_on_crash_behaviour.h +++ b/tools/libxen/include/xen/api/xen_on_crash_behaviour.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ #define XEN_ON_CRASH_BEHAVIOUR_H -#include "xen_common.h" +#include <xen/api/xen_common.h> enum xen_on_crash_behaviour diff --git a/tools/libxen/include/xen_on_normal_exit.h b/tools/libxen/include/xen/api/xen_on_normal_exit.h index 3897fef24c..cd5a813ff0 100644 --- a/tools/libxen/include/xen_on_normal_exit.h +++ b/tools/libxen/include/xen/api/xen_on_normal_exit.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ #define XEN_ON_NORMAL_EXIT_H -#include "xen_common.h" +#include <xen/api/xen_common.h> enum xen_on_normal_exit diff --git a/tools/libxen/include/xen_pbd.h b/tools/libxen/include/xen/api/xen_pbd.h index 335d20b2ff..224d2d4a40 100644 --- a/tools/libxen/include/xen_pbd.h +++ b/tools/libxen/include/xen/api/xen_pbd.h @@ -19,11 +19,11 @@ #ifndef XEN_PBD_H #define XEN_PBD_H -#include "xen_common.h" -#include "xen_host_decl.h" -#include "xen_pbd_decl.h" -#include "xen_sr_decl.h" -#include "xen_string_string_map.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_host_decl.h> +#include <xen/api/xen_pbd_decl.h> +#include <xen/api/xen_sr_decl.h> +#include <xen/api/xen_string_string_map.h> /* diff --git a/tools/libxen/include/xen_pbd_decl.h b/tools/libxen/include/xen/api/xen_pbd_decl.h index 81f8f4b300..c7e324e94e 100644 --- a/tools/libxen/include/xen_pbd_decl.h +++ b/tools/libxen/include/xen/api/xen_pbd_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_pif.h b/tools/libxen/include/xen/api/xen_pif.h index 63fc88477b..d36efd0699 100644 --- a/tools/libxen/include/xen_pif.h +++ b/tools/libxen/include/xen/api/xen_pif.h @@ -19,11 +19,11 @@ #ifndef XEN_PIF_H #define XEN_PIF_H -#include "xen_common.h" -#include "xen_host_decl.h" -#include "xen_network_decl.h" -#include "xen_pif_decl.h" -#include "xen_pif_metrics_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_host_decl.h> +#include <xen/api/xen_network_decl.h> +#include <xen/api/xen_pif_decl.h> +#include <xen/api/xen_pif_metrics_decl.h> /* @@ -253,7 +253,7 @@ xen_pif_set_vlan(xen_session *session, xen_pif pif, int64_t vlan); /** - * Create a VLAN interface from an existing physical interface + * Create a VLAN interface from an existing physical interface. */ extern bool xen_pif_create_vlan(xen_session *session, xen_pif *result, char *device, xen_network network, xen_host host, int64_t vlan); @@ -261,7 +261,7 @@ xen_pif_create_vlan(xen_session *session, xen_pif *result, char *device, xen_net /** * Destroy the interface (provided it is a synthetic interface like a - * VLAN; fail if it is a physical interface) + * VLAN; fail if it is a physical interface). */ extern bool xen_pif_destroy(xen_session *session, xen_pif self); diff --git a/tools/libxen/include/xen_pif_decl.h b/tools/libxen/include/xen/api/xen_pif_decl.h index b326bea3bc..6d49bdb6c3 100644 --- a/tools/libxen/include/xen_pif_decl.h +++ b/tools/libxen/include/xen/api/xen_pif_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_pif_metrics.h b/tools/libxen/include/xen/api/xen_pif_metrics.h index 970700feb1..06b9d268b4 100644 --- a/tools/libxen/include/xen_pif_metrics.h +++ b/tools/libxen/include/xen/api/xen_pif_metrics.h @@ -19,8 +19,8 @@ #ifndef XEN_PIF_METRICS_H #define XEN_PIF_METRICS_H -#include "xen_common.h" -#include "xen_pif_metrics_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_pif_metrics_decl.h> /* diff --git a/tools/libxen/include/xen_pif_metrics_decl.h b/tools/libxen/include/xen/api/xen_pif_metrics_decl.h index 71afe69d53..f6ef2fd276 100644 --- a/tools/libxen/include/xen_pif_metrics_decl.h +++ b/tools/libxen/include/xen/api/xen_pif_metrics_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_sr.h b/tools/libxen/include/xen/api/xen_sr.h index 39a8dd6650..08204a29f6 100644 --- a/tools/libxen/include/xen_sr.h +++ b/tools/libxen/include/xen/api/xen_sr.h @@ -19,11 +19,11 @@ #ifndef XEN_SR_H #define XEN_SR_H -#include "xen_common.h" -#include "xen_pbd_decl.h" -#include "xen_sr_decl.h" -#include "xen_string_set.h" -#include "xen_vdi_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_pbd_decl.h> +#include <xen/api/xen_sr_decl.h> +#include <xen/api/xen_string_set.h> +#include <xen/api/xen_vdi_decl.h> /* diff --git a/tools/libxen/include/xen_sr_decl.h b/tools/libxen/include/xen/api/xen_sr_decl.h index 533e90c49e..ae7d4f6b1c 100644 --- a/tools/libxen/include/xen_sr_decl.h +++ b/tools/libxen/include/xen/api/xen_sr_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_string_set.h b/tools/libxen/include/xen/api/xen_string_set.h index a14af9412b..a14af9412b 100644 --- a/tools/libxen/include/xen_string_set.h +++ b/tools/libxen/include/xen/api/xen_string_set.h diff --git a/tools/libxen/include/xen_string_string_map.h b/tools/libxen/include/xen/api/xen_string_string_map.h index e3e5f6890b..d800442c90 100644 --- a/tools/libxen/include/xen_string_string_map.h +++ b/tools/libxen/include/xen/api/xen_string_string_map.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ #define XEN_STRING_STRING_MAP_H -#include "xen_common.h" +#include <xen/api/xen_common.h> typedef struct xen_string_string_map_contents diff --git a/tools/libxen/include/xen_user.h b/tools/libxen/include/xen/api/xen_user.h index 9669e07116..a6d9dd99e5 100644 --- a/tools/libxen/include/xen_user.h +++ b/tools/libxen/include/xen/api/xen_user.h @@ -19,8 +19,8 @@ #ifndef XEN_USER_H #define XEN_USER_H -#include "xen_common.h" -#include "xen_user_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_user_decl.h> /* diff --git a/tools/libxen/include/xen_user_decl.h b/tools/libxen/include/xen/api/xen_user_decl.h index e5caae473b..723a8bfa68 100644 --- a/tools/libxen/include/xen_user_decl.h +++ b/tools/libxen/include/xen/api/xen_user_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_vbd.h b/tools/libxen/include/xen/api/xen_vbd.h index d40af36796..9806c5ee73 100644 --- a/tools/libxen/include/xen_vbd.h +++ b/tools/libxen/include/xen/api/xen_vbd.h @@ -19,15 +19,15 @@ #ifndef XEN_VBD_H #define XEN_VBD_H -#include "xen_common.h" -#include "xen_string_set.h" -#include "xen_string_string_map.h" -#include "xen_vbd_decl.h" -#include "xen_vbd_metrics_decl.h" -#include "xen_vbd_mode.h" -#include "xen_vbd_type.h" -#include "xen_vdi_decl.h" -#include "xen_vm_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_string_set.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vbd_decl.h> +#include <xen/api/xen_vbd_metrics_decl.h> +#include <xen/api/xen_vbd_mode.h> +#include <xen/api/xen_vbd_type.h> +#include <xen/api/xen_vdi_decl.h> +#include <xen/api/xen_vm_decl.h> /* @@ -358,7 +358,7 @@ xen_vbd_remove_from_qos_algorithm_params(xen_session *session, xen_vbd vbd, char /** * Change the media in the device for CDROM-like devices only. For - * other devices, detach the VBD and attach a new one + * other devices, detach the VBD and attach a new one. */ extern bool xen_vbd_media_change(xen_session *session, xen_vbd vbd, xen_vdi vdi); @@ -366,7 +366,7 @@ xen_vbd_media_change(xen_session *session, xen_vbd vbd, xen_vdi vdi); /** * Hotplug the specified VBD, dynamically attaching it to the running - * VM + * VM. */ extern bool xen_vbd_plug(xen_session *session, xen_vbd self); @@ -374,7 +374,7 @@ xen_vbd_plug(xen_session *session, xen_vbd self); /** * Hot-unplug the specified VBD, dynamically unattaching it from the - * running VM + * running VM. */ extern bool xen_vbd_unplug(xen_session *session, xen_vbd self); diff --git a/tools/libxen/include/xen_vbd_decl.h b/tools/libxen/include/xen/api/xen_vbd_decl.h index c6877866b6..018af3b85d 100644 --- a/tools/libxen/include/xen_vbd_decl.h +++ b/tools/libxen/include/xen/api/xen_vbd_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_vbd_metrics.h b/tools/libxen/include/xen/api/xen_vbd_metrics.h index f1aa420a34..1cb1a2bc85 100644 --- a/tools/libxen/include/xen_vbd_metrics.h +++ b/tools/libxen/include/xen/api/xen_vbd_metrics.h @@ -19,8 +19,8 @@ #ifndef XEN_VBD_METRICS_H #define XEN_VBD_METRICS_H -#include "xen_common.h" -#include "xen_vbd_metrics_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_vbd_metrics_decl.h> /* diff --git a/tools/libxen/include/xen_vbd_metrics_decl.h b/tools/libxen/include/xen/api/xen_vbd_metrics_decl.h index 501aa8f60c..501aa8f60c 100644 --- a/tools/libxen/include/xen_vbd_metrics_decl.h +++ b/tools/libxen/include/xen/api/xen_vbd_metrics_decl.h diff --git a/tools/libxen/include/xen_vbd_mode.h b/tools/libxen/include/xen/api/xen_vbd_mode.h index b0cd1c2cf3..8cab27ec73 100644 --- a/tools/libxen/include/xen_vbd_mode.h +++ b/tools/libxen/include/xen/api/xen_vbd_mode.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ #define XEN_VBD_MODE_H -#include "xen_common.h" +#include <xen/api/xen_common.h> enum xen_vbd_mode diff --git a/tools/libxen/include/xen_vbd_type.h b/tools/libxen/include/xen/api/xen_vbd_type.h index 656fa16316..d19aef83bf 100644 --- a/tools/libxen/include/xen_vbd_type.h +++ b/tools/libxen/include/xen/api/xen_vbd_type.h @@ -20,7 +20,7 @@ #define XEN_VBD_TYPE_H -#include "xen_common.h" +#include <xen/api/xen_common.h> enum xen_vbd_type diff --git a/tools/libxen/include/xen_vdi.h b/tools/libxen/include/xen/api/xen_vdi.h index 74b63542e6..c40dcfc4be 100644 --- a/tools/libxen/include/xen_vdi.h +++ b/tools/libxen/include/xen/api/xen_vdi.h @@ -19,13 +19,13 @@ #ifndef XEN_VDI_H #define XEN_VDI_H -#include "xen_common.h" -#include "xen_crashdump_decl.h" -#include "xen_sr_decl.h" -#include "xen_string_string_map.h" -#include "xen_vbd_decl.h" -#include "xen_vdi_decl.h" -#include "xen_vdi_type.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_crashdump_decl.h> +#include <xen/api/xen_sr_decl.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vbd_decl.h> +#include <xen/api/xen_vdi_decl.h> +#include <xen/api/xen_vdi_type.h> /* diff --git a/tools/libxen/include/xen_vdi_decl.h b/tools/libxen/include/xen/api/xen_vdi_decl.h index 34692a2495..13a328e044 100644 --- a/tools/libxen/include/xen_vdi_decl.h +++ b/tools/libxen/include/xen/api/xen_vdi_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_vdi_type.h b/tools/libxen/include/xen/api/xen_vdi_type.h index 01168491ee..d98a2abc51 100644 --- a/tools/libxen/include/xen_vdi_type.h +++ b/tools/libxen/include/xen/api/xen_vdi_type.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ #define XEN_VDI_TYPE_H -#include "xen_common.h" +#include <xen/api/xen_common.h> enum xen_vdi_type diff --git a/tools/libxen/include/xen_vif.h b/tools/libxen/include/xen/api/xen_vif.h index e9ad6b4369..26608f0af9 100644 --- a/tools/libxen/include/xen_vif.h +++ b/tools/libxen/include/xen/api/xen_vif.h @@ -19,13 +19,13 @@ #ifndef XEN_VIF_H #define XEN_VIF_H -#include "xen_common.h" -#include "xen_network_decl.h" -#include "xen_string_set.h" -#include "xen_string_string_map.h" -#include "xen_vif_decl.h" -#include "xen_vif_metrics_decl.h" -#include "xen_vm_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_network_decl.h> +#include <xen/api/xen_string_set.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vif_decl.h> +#include <xen/api/xen_vif_metrics_decl.h> +#include <xen/api/xen_vm_decl.h> /* diff --git a/tools/libxen/include/xen_vif_decl.h b/tools/libxen/include/xen/api/xen_vif_decl.h index 6a130f7154..0d4c59d668 100644 --- a/tools/libxen/include/xen_vif_decl.h +++ b/tools/libxen/include/xen/api/xen_vif_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_vif_metrics.h b/tools/libxen/include/xen/api/xen_vif_metrics.h index 2febab468d..a363137816 100644 --- a/tools/libxen/include/xen_vif_metrics.h +++ b/tools/libxen/include/xen/api/xen_vif_metrics.h @@ -19,8 +19,8 @@ #ifndef XEN_VIF_METRICS_H #define XEN_VIF_METRICS_H -#include "xen_common.h" -#include "xen_vif_metrics_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_vif_metrics_decl.h> /* diff --git a/tools/libxen/include/xen_vif_metrics_decl.h b/tools/libxen/include/xen/api/xen_vif_metrics_decl.h index 5734723adf..5734723adf 100644 --- a/tools/libxen/include/xen_vif_metrics_decl.h +++ b/tools/libxen/include/xen/api/xen_vif_metrics_decl.h diff --git a/tools/libxen/include/xen_vm.h b/tools/libxen/include/xen/api/xen_vm.h index d33f31b860..35448afd9f 100644 --- a/tools/libxen/include/xen_vm.h +++ b/tools/libxen/include/xen/api/xen_vm.h @@ -19,21 +19,21 @@ #ifndef XEN_VM_H #define XEN_VM_H -#include "xen_common.h" -#include "xen_console_decl.h" -#include "xen_crashdump_decl.h" -#include "xen_host_decl.h" -#include "xen_on_crash_behaviour.h" -#include "xen_on_normal_exit.h" -#include "xen_string_string_map.h" -#include "xen_vbd_decl.h" -#include "xen_vdi_decl.h" -#include "xen_vif_decl.h" -#include "xen_vm_decl.h" -#include "xen_vm_guest_metrics_decl.h" -#include "xen_vm_metrics_decl.h" -#include "xen_vm_power_state.h" -#include "xen_vtpm_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_console_decl.h> +#include <xen/api/xen_crashdump_decl.h> +#include <xen/api/xen_host_decl.h> +#include <xen/api/xen_on_crash_behaviour.h> +#include <xen/api/xen_on_normal_exit.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vbd_decl.h> +#include <xen/api/xen_vdi_decl.h> +#include <xen/api/xen_vif_decl.h> +#include <xen/api/xen_vm_decl.h> +#include <xen/api/xen_vm_guest_metrics_decl.h> +#include <xen/api/xen_vm_metrics_decl.h> +#include <xen/api/xen_vm_power_state.h> +#include <xen/api/xen_vtpm_decl.h> /* diff --git a/tools/libxen/include/xen_vm_decl.h b/tools/libxen/include/xen/api/xen_vm_decl.h index 815b036ea5..f4ca986b62 100644 --- a/tools/libxen/include/xen_vm_decl.h +++ b/tools/libxen/include/xen/api/xen_vm_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_vm_guest_metrics.h b/tools/libxen/include/xen/api/xen_vm_guest_metrics.h index 2734764526..fd4d23a24c 100644 --- a/tools/libxen/include/xen_vm_guest_metrics.h +++ b/tools/libxen/include/xen/api/xen_vm_guest_metrics.h @@ -19,9 +19,9 @@ #ifndef XEN_VM_GUEST_METRICS_H #define XEN_VM_GUEST_METRICS_H -#include "xen_common.h" -#include "xen_string_string_map.h" -#include "xen_vm_guest_metrics_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vm_guest_metrics_decl.h> /* diff --git a/tools/libxen/include/xen_vm_guest_metrics_decl.h b/tools/libxen/include/xen/api/xen_vm_guest_metrics_decl.h index 837528b919..837528b919 100644 --- a/tools/libxen/include/xen_vm_guest_metrics_decl.h +++ b/tools/libxen/include/xen/api/xen_vm_guest_metrics_decl.h diff --git a/tools/libxen/include/xen_vm_metrics.h b/tools/libxen/include/xen/api/xen_vm_metrics.h index 3350a66807..128c1a3a3a 100644 --- a/tools/libxen/include/xen_vm_metrics.h +++ b/tools/libxen/include/xen/api/xen_vm_metrics.h @@ -19,13 +19,13 @@ #ifndef XEN_VM_METRICS_H #define XEN_VM_METRICS_H -#include "xen_common.h" -#include "xen_int_float_map.h" -#include "xen_int_int_map.h" -#include "xen_int_string_set_map.h" -#include "xen_string_set.h" -#include "xen_string_string_map.h" -#include "xen_vm_metrics_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_int_float_map.h> +#include <xen/api/xen_int_int_map.h> +#include <xen/api/xen_int_string_set_map.h> +#include <xen/api/xen_string_set.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vm_metrics_decl.h> /* diff --git a/tools/libxen/include/xen_vm_metrics_decl.h b/tools/libxen/include/xen/api/xen_vm_metrics_decl.h index ea1bcb51f7..76810b5ba6 100644 --- a/tools/libxen/include/xen_vm_metrics_decl.h +++ b/tools/libxen/include/xen/api/xen_vm_metrics_decl.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_vm_power_state.h b/tools/libxen/include/xen/api/xen_vm_power_state.h index c5404b89cf..649f49a7f1 100644 --- a/tools/libxen/include/xen_vm_power_state.h +++ b/tools/libxen/include/xen/api/xen_vm_power_state.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ #define XEN_VM_POWER_STATE_H -#include "xen_common.h" +#include <xen/api/xen_common.h> enum xen_vm_power_state diff --git a/tools/libxen/include/xen_vtpm.h b/tools/libxen/include/xen/api/xen_vtpm.h index add504221f..920948d134 100644 --- a/tools/libxen/include/xen_vtpm.h +++ b/tools/libxen/include/xen/api/xen_vtpm.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * Copyright (c) 2006, IBM Corp. * * This library is free software; you can redistribute it and/or @@ -20,14 +20,14 @@ #ifndef XEN_VTPM_H #define XEN_VTPM_H -#include "xen_common.h" -#include "xen_vm_decl.h" -#include "xen_vtpm_decl.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_vm_decl.h> +#include <xen/api/xen_vtpm_decl.h> /* - * The VTPM class. - * + * The VTPM class. + * * A virtual TPM device. */ @@ -195,4 +195,5 @@ xen_vtpm_get_vm(xen_session *session, xen_vm *result, xen_vtpm vtpm); extern bool xen_vtpm_get_backend(xen_session *session, xen_vm *result, xen_vtpm vtpm); + #endif diff --git a/tools/libxen/include/xen_vtpm_decl.h b/tools/libxen/include/xen/api/xen_vtpm_decl.h index 7798e3856d..7798e3856d 100644 --- a/tools/libxen/include/xen_vtpm_decl.h +++ b/tools/libxen/include/xen/api/xen_vtpm_decl.h diff --git a/tools/libxen/include/xen_console_protocol_internal.h b/tools/libxen/include/xen_console_protocol_internal.h index 70cdae37af..d2ddaa0319 100644 --- a/tools/libxen/include/xen_console_protocol_internal.h +++ b/tools/libxen/include/xen_console_protocol_internal.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_internal.h b/tools/libxen/include/xen_internal.h index ea326b29de..21f75de5fe 100644 --- a/tools/libxen/include/xen_internal.h +++ b/tools/libxen/include/xen_internal.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006 XenSource, Inc. + * Copyright (c) 2006-2007 XenSource, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -24,7 +24,7 @@ #include <stdbool.h> #include <stdlib.h> -#include "xen_common.h" +#include <xen/api/xen_common.h> enum abstract_typename @@ -147,7 +147,12 @@ type__ ## _free(type__ handle) \ } \ -#define XEN_SET_ALLOC_FREE(type__) \ +#define XEN_SET_ALLOC_FREE(type__) \ + XEN_SET_ALLOC(type__) \ + XEN_SET_FREE(type__) + + +#define XEN_SET_ALLOC(type__) \ type__ ## _set * \ type__ ## _set_alloc(size_t size) \ { \ @@ -155,43 +160,29 @@ type__ ## _set_alloc(size_t size) \ size * sizeof(type__)); \ result->size = size; \ return result; \ -} \ - \ -void \ -type__ ## _set_free(type__ ## _set *set) \ +} + + +#define XEN_SET_FREE(type__) \ +void type__ ## _set_free(type__ ## _set *set) \ { \ if (set == NULL) \ - { \ return; \ - } \ - size_t n = set->size; \ - for (size_t i = 0; i < n; i++) \ - { \ + for (size_t i = 0; i < set->size; i++) \ type__ ## _free(set->contents[i]); \ - } \ - \ free(set); \ -} \ - - -#define XEN_RECORD_OPT_FREE(type__) \ -void \ -type__ ## _record_opt_free(type__ ## _record_opt *opt) \ -{ \ - if (opt == NULL) \ - { \ - return; \ - } \ - if (opt->is_record) \ - { \ - type__ ## _record_free(opt->u.record); \ - } \ - else \ - { \ - type__ ## _free(opt->u.handle); \ - } \ - free(opt); \ -} \ +} + + +#define XEN_RECORD_OPT_FREE(type__) \ +void type__ ## _record_opt_free(type__ ## _record_opt *opt) { \ + if (opt == NULL) return; \ + if (opt->is_record) \ + type__ ## _record_free(opt->u.record); \ + else \ + type__ ## _free(opt->u.handle); \ + free(opt); \ +} #endif diff --git a/tools/libxen/include/xen_on_crash_behaviour_internal.h b/tools/libxen/include/xen_on_crash_behaviour_internal.h index 012398b814..bd6f1faa7a 100644 --- a/tools/libxen/include/xen_on_crash_behaviour_internal.h +++ b/tools/libxen/include/xen_on_crash_behaviour_internal.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_on_normal_exit_internal.h b/tools/libxen/include/xen_on_normal_exit_internal.h index 3a94f8919c..ffff46a869 100644 --- a/tools/libxen/include/xen_on_normal_exit_internal.h +++ b/tools/libxen/include/xen_on_normal_exit_internal.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_vbd_mode_internal.h b/tools/libxen/include/xen_vbd_mode_internal.h index 3efd4a63d5..4f05681118 100644 --- a/tools/libxen/include/xen_vbd_mode_internal.h +++ b/tools/libxen/include/xen_vbd_mode_internal.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_vdi_type_internal.h b/tools/libxen/include/xen_vdi_type_internal.h index 1de23c8c83..9c575ffaab 100644 --- a/tools/libxen/include/xen_vdi_type_internal.h +++ b/tools/libxen/include/xen_vdi_type_internal.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/include/xen_vm_power_state_internal.h b/tools/libxen/include/xen_vm_power_state_internal.h index 2c88856c08..a3f5af114c 100644 --- a/tools/libxen/include/xen_vm_power_state_internal.h +++ b/tools/libxen/include/xen_vm_power_state_internal.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/tools/libxen/src/xen_common.c b/tools/libxen/src/xen_common.c index f0fc4cce33..1819381640 100644 --- a/tools/libxen/src/xen_common.c +++ b/tools/libxen/src/xen_common.c @@ -31,13 +31,13 @@ #include <libxml/xmlstring.h> #include <libxml/xpath.h> -#include "xen_common.h" -#include "xen_host.h" +#include "xen/api/xen_common.h" +#include "xen/api/xen_host.h" #include "xen_internal.h" -#include "xen_int_float_map.h" -#include "xen_int_int_map.h" -#include "xen_int_string_set_map.h" -#include "xen_string_string_map.h" +#include "xen/api/xen_int_float_map.h" +#include "xen/api/xen_int_int_map.h" +#include "xen/api/xen_int_string_set_map.h" +#include "xen/api/xen_string_string_map.h" /* diff --git a/tools/libxen/src/xen_console.c b/tools/libxen/src/xen_console.c index 9d0764a2d6..2b45498295 100644 --- a/tools/libxen/src/xen_console.c +++ b/tools/libxen/src/xen_console.c @@ -20,12 +20,12 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" -#include "xen_console.h" #include "xen_console_protocol_internal.h" #include "xen_internal.h" -#include "xen_string_string_map.h" -#include "xen_vm.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_console.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vm.h> XEN_FREE(xen_console) diff --git a/tools/libxen/src/xen_console_protocol.c b/tools/libxen/src/xen_console_protocol.c index cb87ac01c9..031d64d9a5 100644 --- a/tools/libxen/src/xen_console_protocol.c +++ b/tools/libxen/src/xen_console_protocol.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,7 +19,7 @@ #include <string.h> #include "xen_internal.h" -#include "xen_console_protocol.h" +#include <xen/api/xen_console_protocol.h> #include "xen_console_protocol_internal.h" diff --git a/tools/libxen/src/xen_crashdump.c b/tools/libxen/src/xen_crashdump.c index 5d8f70a2ea..ba2121bcde 100644 --- a/tools/libxen/src/xen_crashdump.c +++ b/tools/libxen/src/xen_crashdump.c @@ -20,11 +20,11 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" -#include "xen_crashdump.h" #include "xen_internal.h" -#include "xen_vdi.h" -#include "xen_vm.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_crashdump.h> +#include <xen/api/xen_vdi.h> +#include <xen/api/xen_vm.h> XEN_FREE(xen_crashdump) diff --git a/tools/libxen/src/xen_event.c b/tools/libxen/src/xen_event.c index 3022caffed..30e8d60820 100644 --- a/tools/libxen/src/xen_event.c +++ b/tools/libxen/src/xen_event.c @@ -20,10 +20,10 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" -#include "xen_event.h" #include "xen_event_operation_internal.h" #include "xen_internal.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_event.h> XEN_ALLOC(xen_event_record) diff --git a/tools/libxen/src/xen_event_operation.c b/tools/libxen/src/xen_event_operation.c index c338af0930..48a7c362ac 100644 --- a/tools/libxen/src/xen_event_operation.c +++ b/tools/libxen/src/xen_event_operation.c @@ -19,7 +19,7 @@ #include <string.h> #include "xen_internal.h" -#include "xen_event_operation.h" +#include <xen/api/xen_event_operation.h> #include "xen_event_operation_internal.h" diff --git a/tools/libxen/src/xen_host.c b/tools/libxen/src/xen_host.c index 331ed2105b..0739c4fe4e 100644 --- a/tools/libxen/src/xen_host.c +++ b/tools/libxen/src/xen_host.c @@ -20,16 +20,16 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" -#include "xen_host.h" -#include "xen_host_cpu.h" -#include "xen_host_metrics.h" #include "xen_internal.h" -#include "xen_pbd.h" -#include "xen_pif.h" -#include "xen_sr.h" -#include "xen_string_string_map.h" -#include "xen_vm.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_host.h> +#include <xen/api/xen_host_cpu.h> +#include <xen/api/xen_host_metrics.h> +#include <xen/api/xen_pbd.h> +#include <xen/api/xen_pif.h> +#include <xen/api/xen_sr.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vm.h> XEN_FREE(xen_host) diff --git a/tools/libxen/src/xen_host_cpu.c b/tools/libxen/src/xen_host_cpu.c index 9509c570e4..6e84b49f63 100644 --- a/tools/libxen/src/xen_host_cpu.c +++ b/tools/libxen/src/xen_host_cpu.c @@ -20,10 +20,10 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" -#include "xen_host.h" -#include "xen_host_cpu.h" #include "xen_internal.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_host.h> +#include <xen/api/xen_host_cpu.h> XEN_FREE(xen_host_cpu) diff --git a/tools/libxen/src/xen_host_metrics.c b/tools/libxen/src/xen_host_metrics.c index 203f25ed0a..976f4c5e40 100644 --- a/tools/libxen/src/xen_host_metrics.c +++ b/tools/libxen/src/xen_host_metrics.c @@ -20,9 +20,9 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" -#include "xen_host_metrics.h" #include "xen_internal.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_host_metrics.h> XEN_FREE(xen_host_metrics) diff --git a/tools/libxen/src/xen_int_float_map.c b/tools/libxen/src/xen_int_float_map.c index 33ff29de62..ed3bf48243 100644 --- a/tools/libxen/src/xen_int_float_map.c +++ b/tools/libxen/src/xen_int_float_map.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -17,9 +17,9 @@ */ -#include "xen_common.h" -#include "xen_int_float_map.h" #include "xen_internal.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_int_float_map.h> xen_int_float_map * diff --git a/tools/libxen/src/xen_int_int_map.c b/tools/libxen/src/xen_int_int_map.c index b7eeba6e96..3d87c22885 100644 --- a/tools/libxen/src/xen_int_int_map.c +++ b/tools/libxen/src/xen_int_int_map.c @@ -17,9 +17,9 @@ */ -#include "xen_common.h" -#include "xen_int_int_map.h" #include "xen_internal.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_int_int_map.h> xen_int_int_map * diff --git a/tools/libxen/src/xen_int_string_set_map.c b/tools/libxen/src/xen_int_string_set_map.c index 1b37927034..ba61c81268 100644 --- a/tools/libxen/src/xen_int_string_set_map.c +++ b/tools/libxen/src/xen_int_string_set_map.c @@ -17,10 +17,10 @@ */ -#include "xen_common.h" -#include "xen_int_string_set_map.h" #include "xen_internal.h" -#include "xen_string_set.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_int_string_set_map.h> +#include <xen/api/xen_string_set.h> xen_int_string_set_map * diff --git a/tools/libxen/src/xen_network.c b/tools/libxen/src/xen_network.c index 01393f6773..4b03ead0e4 100644 --- a/tools/libxen/src/xen_network.c +++ b/tools/libxen/src/xen_network.c @@ -20,12 +20,12 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" #include "xen_internal.h" -#include "xen_network.h" -#include "xen_pif.h" -#include "xen_string_string_map.h" -#include "xen_vif.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_network.h> +#include <xen/api/xen_pif.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vif.h> XEN_FREE(xen_network) diff --git a/tools/libxen/src/xen_on_crash_behaviour.c b/tools/libxen/src/xen_on_crash_behaviour.c index cb1d0deca9..abd25db47e 100644 --- a/tools/libxen/src/xen_on_crash_behaviour.c +++ b/tools/libxen/src/xen_on_crash_behaviour.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,7 +19,7 @@ #include <string.h> #include "xen_internal.h" -#include "xen_on_crash_behaviour.h" +#include <xen/api/xen_on_crash_behaviour.h> #include "xen_on_crash_behaviour_internal.h" diff --git a/tools/libxen/src/xen_on_normal_exit.c b/tools/libxen/src/xen_on_normal_exit.c index 3cfe09766b..bbb4e276dc 100644 --- a/tools/libxen/src/xen_on_normal_exit.c +++ b/tools/libxen/src/xen_on_normal_exit.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,7 +19,7 @@ #include <string.h> #include "xen_internal.h" -#include "xen_on_normal_exit.h" +#include <xen/api/xen_on_normal_exit.h> #include "xen_on_normal_exit_internal.h" diff --git a/tools/libxen/src/xen_pbd.c b/tools/libxen/src/xen_pbd.c index 2b8bbd5b44..d3702ef4e2 100644 --- a/tools/libxen/src/xen_pbd.c +++ b/tools/libxen/src/xen_pbd.c @@ -20,12 +20,12 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" -#include "xen_host.h" #include "xen_internal.h" -#include "xen_pbd.h" -#include "xen_sr.h" -#include "xen_string_string_map.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_host.h> +#include <xen/api/xen_pbd.h> +#include <xen/api/xen_sr.h> +#include <xen/api/xen_string_string_map.h> XEN_FREE(xen_pbd) diff --git a/tools/libxen/src/xen_pif.c b/tools/libxen/src/xen_pif.c index 9dfaec7b51..7cf9a744ab 100644 --- a/tools/libxen/src/xen_pif.c +++ b/tools/libxen/src/xen_pif.c @@ -20,12 +20,12 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" -#include "xen_host.h" #include "xen_internal.h" -#include "xen_network.h" -#include "xen_pif.h" -#include "xen_pif_metrics.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_host.h> +#include <xen/api/xen_network.h> +#include <xen/api/xen_pif.h> +#include <xen/api/xen_pif_metrics.h> XEN_FREE(xen_pif) diff --git a/tools/libxen/src/xen_pif_metrics.c b/tools/libxen/src/xen_pif_metrics.c index c1413442ca..f150f7f5e9 100644 --- a/tools/libxen/src/xen_pif_metrics.c +++ b/tools/libxen/src/xen_pif_metrics.c @@ -20,9 +20,9 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" #include "xen_internal.h" -#include "xen_pif_metrics.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_pif_metrics.h> XEN_FREE(xen_pif_metrics) diff --git a/tools/libxen/src/xen_sr.c b/tools/libxen/src/xen_sr.c index 5220fa3019..b2ff310f7e 100644 --- a/tools/libxen/src/xen_sr.c +++ b/tools/libxen/src/xen_sr.c @@ -20,11 +20,11 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" #include "xen_internal.h" -#include "xen_pbd.h" -#include "xen_sr.h" -#include "xen_vdi.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_pbd.h> +#include <xen/api/xen_sr.h> +#include <xen/api/xen_vdi.h> XEN_FREE(xen_sr) diff --git a/tools/libxen/src/xen_string_set.c b/tools/libxen/src/xen_string_set.c index 882943356c..7af0f882a6 100644 --- a/tools/libxen/src/xen_string_set.c +++ b/tools/libxen/src/xen_string_set.c @@ -18,7 +18,7 @@ #include "xen_internal.h" -#include "xen_string_set.h" +#include <xen/api/xen_string_set.h> xen_string_set * diff --git a/tools/libxen/src/xen_string_string_map.c b/tools/libxen/src/xen_string_string_map.c index b07acfbf7c..84ae0fcd19 100644 --- a/tools/libxen/src/xen_string_string_map.c +++ b/tools/libxen/src/xen_string_string_map.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -17,9 +17,9 @@ */ -#include "xen_common.h" #include "xen_internal.h" -#include "xen_string_string_map.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_string_string_map.h> xen_string_string_map * diff --git a/tools/libxen/src/xen_user.c b/tools/libxen/src/xen_user.c index b4dde9d74e..377f8f89ca 100644 --- a/tools/libxen/src/xen_user.c +++ b/tools/libxen/src/xen_user.c @@ -20,9 +20,9 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" #include "xen_internal.h" -#include "xen_user.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_user.h> XEN_FREE(xen_user) diff --git a/tools/libxen/src/xen_vbd.c b/tools/libxen/src/xen_vbd.c index facedad94f..85b034b45a 100644 --- a/tools/libxen/src/xen_vbd.c +++ b/tools/libxen/src/xen_vbd.c @@ -20,15 +20,15 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" #include "xen_internal.h" -#include "xen_string_string_map.h" -#include "xen_vbd.h" -#include "xen_vbd_metrics.h" #include "xen_vbd_mode_internal.h" #include "xen_vbd_type_internal.h" -#include "xen_vdi.h" -#include "xen_vm.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vbd.h> +#include <xen/api/xen_vbd_metrics.h> +#include <xen/api/xen_vdi.h> +#include <xen/api/xen_vm.h> XEN_FREE(xen_vbd) diff --git a/tools/libxen/src/xen_vbd_metrics.c b/tools/libxen/src/xen_vbd_metrics.c index fb5395d309..c4f336c82e 100644 --- a/tools/libxen/src/xen_vbd_metrics.c +++ b/tools/libxen/src/xen_vbd_metrics.c @@ -20,9 +20,9 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" #include "xen_internal.h" -#include "xen_vbd_metrics.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_vbd_metrics.h> XEN_FREE(xen_vbd_metrics) diff --git a/tools/libxen/src/xen_vbd_mode.c b/tools/libxen/src/xen_vbd_mode.c index e9fa71140a..71abc42465 100644 --- a/tools/libxen/src/xen_vbd_mode.c +++ b/tools/libxen/src/xen_vbd_mode.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,7 +19,7 @@ #include <string.h> #include "xen_internal.h" -#include "xen_vbd_mode.h" +#include <xen/api/xen_vbd_mode.h> #include "xen_vbd_mode_internal.h" diff --git a/tools/libxen/src/xen_vbd_type.c b/tools/libxen/src/xen_vbd_type.c index 874eb096ef..0572635ffb 100644 --- a/tools/libxen/src/xen_vbd_type.c +++ b/tools/libxen/src/xen_vbd_type.c @@ -19,7 +19,7 @@ #include <string.h> #include "xen_internal.h" -#include "xen_vbd_type.h" +#include <xen/api/xen_vbd_type.h> #include "xen_vbd_type_internal.h" diff --git a/tools/libxen/src/xen_vdi.c b/tools/libxen/src/xen_vdi.c index 66a524c9c3..9c161a4c8d 100644 --- a/tools/libxen/src/xen_vdi.c +++ b/tools/libxen/src/xen_vdi.c @@ -20,14 +20,14 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" -#include "xen_crashdump.h" #include "xen_internal.h" -#include "xen_sr.h" -#include "xen_string_string_map.h" -#include "xen_vbd.h" -#include "xen_vdi.h" #include "xen_vdi_type_internal.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_crashdump.h> +#include <xen/api/xen_sr.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vbd.h> +#include <xen/api/xen_vdi.h> XEN_FREE(xen_vdi) diff --git a/tools/libxen/src/xen_vdi_type.c b/tools/libxen/src/xen_vdi_type.c index 79e855fa59..4f0bda7b3a 100644 --- a/tools/libxen/src/xen_vdi_type.c +++ b/tools/libxen/src/xen_vdi_type.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,7 +19,7 @@ #include <string.h> #include "xen_internal.h" -#include "xen_vdi_type.h" +#include <xen/api/xen_vdi_type.h> #include "xen_vdi_type_internal.h" diff --git a/tools/libxen/src/xen_vif.c b/tools/libxen/src/xen_vif.c index b0ea376a4b..bc9dd0dd2f 100644 --- a/tools/libxen/src/xen_vif.c +++ b/tools/libxen/src/xen_vif.c @@ -20,13 +20,13 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" #include "xen_internal.h" -#include "xen_network.h" -#include "xen_string_string_map.h" -#include "xen_vif.h" -#include "xen_vif_metrics.h" -#include "xen_vm.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_network.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vif.h> +#include <xen/api/xen_vif_metrics.h> +#include <xen/api/xen_vm.h> XEN_FREE(xen_vif) diff --git a/tools/libxen/src/xen_vif_metrics.c b/tools/libxen/src/xen_vif_metrics.c index 7c101f8933..9b876e52f8 100644 --- a/tools/libxen/src/xen_vif_metrics.c +++ b/tools/libxen/src/xen_vif_metrics.c @@ -20,9 +20,9 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" #include "xen_internal.h" -#include "xen_vif_metrics.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_vif_metrics.h> XEN_FREE(xen_vif_metrics) diff --git a/tools/libxen/src/xen_vm.c b/tools/libxen/src/xen_vm.c index d2a4309a0d..495103c9a9 100644 --- a/tools/libxen/src/xen_vm.c +++ b/tools/libxen/src/xen_vm.c @@ -20,22 +20,22 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" -#include "xen_console.h" -#include "xen_crashdump.h" -#include "xen_host.h" #include "xen_internal.h" #include "xen_on_crash_behaviour_internal.h" #include "xen_on_normal_exit_internal.h" -#include "xen_string_string_map.h" -#include "xen_vbd.h" -#include "xen_vdi.h" -#include "xen_vif.h" -#include "xen_vm.h" -#include "xen_vm_guest_metrics.h" -#include "xen_vm_metrics.h" #include "xen_vm_power_state_internal.h" -#include "xen_vtpm.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_console.h> +#include <xen/api/xen_crashdump.h> +#include <xen/api/xen_host.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vbd.h> +#include <xen/api/xen_vdi.h> +#include <xen/api/xen_vif.h> +#include <xen/api/xen_vm.h> +#include <xen/api/xen_vm_guest_metrics.h> +#include <xen/api/xen_vm_metrics.h> +#include <xen/api/xen_vtpm.h> XEN_FREE(xen_vm) diff --git a/tools/libxen/src/xen_vm_guest_metrics.c b/tools/libxen/src/xen_vm_guest_metrics.c index 0e60926bab..251b65e1b5 100644 --- a/tools/libxen/src/xen_vm_guest_metrics.c +++ b/tools/libxen/src/xen_vm_guest_metrics.c @@ -20,10 +20,10 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" #include "xen_internal.h" -#include "xen_string_string_map.h" -#include "xen_vm_guest_metrics.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vm_guest_metrics.h> XEN_FREE(xen_vm_guest_metrics) diff --git a/tools/libxen/src/xen_vm_metrics.c b/tools/libxen/src/xen_vm_metrics.c index 267393a935..7f2ab94441 100644 --- a/tools/libxen/src/xen_vm_metrics.c +++ b/tools/libxen/src/xen_vm_metrics.c @@ -20,13 +20,13 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" -#include "xen_int_float_map.h" -#include "xen_int_int_map.h" -#include "xen_int_string_set_map.h" #include "xen_internal.h" -#include "xen_string_string_map.h" -#include "xen_vm_metrics.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_int_float_map.h> +#include <xen/api/xen_int_int_map.h> +#include <xen/api/xen_int_string_set_map.h> +#include <xen/api/xen_string_string_map.h> +#include <xen/api/xen_vm_metrics.h> XEN_FREE(xen_vm_metrics) diff --git a/tools/libxen/src/xen_vm_power_state.c b/tools/libxen/src/xen_vm_power_state.c index 9f96f34f9b..9797e63163 100644 --- a/tools/libxen/src/xen_vm_power_state.c +++ b/tools/libxen/src/xen_vm_power_state.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, XenSource Inc. + * Copyright (c) 2006-2007, XenSource Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,7 +19,7 @@ #include <string.h> #include "xen_internal.h" -#include "xen_vm_power_state.h" +#include <xen/api/xen_vm_power_state.h> #include "xen_vm_power_state_internal.h" diff --git a/tools/libxen/src/xen_vtpm.c b/tools/libxen/src/xen_vtpm.c index 28d849ae1c..5ed3692234 100644 --- a/tools/libxen/src/xen_vtpm.c +++ b/tools/libxen/src/xen_vtpm.c @@ -21,10 +21,10 @@ #include <stddef.h> #include <stdlib.h> -#include "xen_common.h" #include "xen_internal.h" -#include "xen_vm.h" -#include "xen_vtpm.h" +#include <xen/api/xen_common.h> +#include <xen/api/xen_vm.h> +#include <xen/api/xen_vtpm.h> XEN_FREE(xen_vtpm) @@ -46,7 +46,7 @@ static const struct_member xen_vtpm_record_struct_members[] = .offset = offsetof(xen_vtpm_record, vm) }, { .key = "backend", .type = &abstract_type_ref, - .offset = offsetof(xen_vtpm_record, backend) }, + .offset = offsetof(xen_vtpm_record, backend) } }; const abstract_type xen_vtpm_record_abstract_type_ = diff --git a/tools/libxen/test/test_bindings.c b/tools/libxen/test/test_bindings.c index 0659cd89e1..566a0388fa 100644 --- a/tools/libxen/test/test_bindings.c +++ b/tools/libxen/test/test_bindings.c @@ -25,14 +25,7 @@ #include <libxml/parser.h> #include <curl/curl.h> - -#include "xen_host.h" -#include "xen_sr.h" -#include "xen_vbd.h" -#include "xen_vdi.h" -#include "xen_console.h" -#include "xen_vm.h" -#include "xen_vm_metrics.h" +#include <xen/api/xen_all.h> //#define PRINT_XML diff --git a/tools/libxen/test/test_event_handling.c b/tools/libxen/test/test_event_handling.c index 16ba293da6..188b585d0b 100644 --- a/tools/libxen/test/test_event_handling.c +++ b/tools/libxen/test/test_event_handling.c @@ -25,8 +25,7 @@ #include <libxml/parser.h> #include <curl/curl.h> - -#include "xen_event.h" +#include <xen/api/xen_event.h> //#define PRINT_XML diff --git a/tools/libxen/test/test_hvm_bindings.c b/tools/libxen/test/test_hvm_bindings.c deleted file mode 100644 index 8bc8e7c347..0000000000 --- a/tools/libxen/test/test_hvm_bindings.c +++ /dev/null @@ -1,445 +0,0 @@ -/* - * Copyright (c) 2006 XenSource, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#define _GNU_SOURCE -#include <inttypes.h> -#include <stdlib.h> -#include <stdio.h> -#include <string.h> - -#include <libxml/parser.h> -#include <curl/curl.h> - -#include "xen_host.h" -#include "xen_sr.h" -#include "xen_vbd.h" -#include "xen_vdi.h" -#include "xen_vm.h" - - -static void usage() -{ - fprintf(stderr, -"Usage:\n" -"\n" -" test_bindings <url> <username> <password>\n" -"\n" -"where\n" -" <url> is a fragment of the server's URL, e.g. localhost:8005/RPC2;\n" -" <username> is the username to use at the server; and\n" -" <password> is the password.\n"); - - exit(EXIT_FAILURE); -} - - -static char *url; - - -typedef struct -{ - xen_result_func func; - void *handle; -} xen_comms; - - -static xen_vm create_new_vm(xen_session *session); -static void print_vm_power_state(xen_session *session, xen_vm vm); - - -static size_t -write_func(void *ptr, size_t size, size_t nmemb, xen_comms *comms) -{ - size_t n = size * nmemb; - return comms->func(ptr, n, comms->handle) ? n : 0; -} - - -static int -call_func(const void *data, size_t len, void *user_handle, - void *result_handle, xen_result_func result_func) -{ - (void)user_handle; - - CURL *curl = curl_easy_init(); - if (!curl) { - return -1; - } - - xen_comms comms = { - .func = result_func, - .handle = result_handle - }; - - curl_easy_setopt(curl, CURLOPT_URL, url); - curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1); - curl_easy_setopt(curl, CURLOPT_MUTE, 1); - curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &write_func); - curl_easy_setopt(curl, CURLOPT_WRITEDATA, &comms); - curl_easy_setopt(curl, CURLOPT_POST, 1); - curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data); - curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, len); - - CURLcode result = curl_easy_perform(curl); - - curl_easy_cleanup(curl); - - return result; -} - - -static void print_error(xen_session *session) -{ - fprintf(stderr, "Error: %d", session->error_description_count); - for (int i = 0; i < session->error_description_count; i++) - { - fprintf(stderr, "%s ", session->error_description[i]); - } - fprintf(stderr, "\n"); -} - - -int main(int argc, char **argv) -{ - if (argc != 4) - { - usage(); - } - - url = argv[1]; - char *username = argv[2]; - char *password = argv[3]; - - xmlInitParser(); - xen_init(); - curl_global_init(CURL_GLOBAL_ALL); - -#define CLEANUP \ - do { \ - xen_session_logout(session); \ - curl_global_cleanup(); \ - xen_fini(); \ - xmlCleanupParser(); \ - } while(0) \ - - - xen_session *session = - xen_session_login_with_password(call_func, NULL, username, password); - - xen_vm vm; - if (!xen_vm_get_by_uuid(session, &vm, - "00000000-0000-0000-0000-000000000000")) - { - print_error(session); - CLEANUP; - return 1; - } - - char *vm_uuid; - if (!xen_vm_get_uuid(session, &vm_uuid, vm)) - { - print_error(session); - xen_vm_free(vm); - CLEANUP; - return 1; - } - - char *vm_uuid_bytes; - if (!xen_uuid_string_to_bytes(vm_uuid, &vm_uuid_bytes)) - { - fprintf(stderr, "xen_uuid_string_to_bytes failed.\n"); - xen_uuid_free(vm_uuid); - xen_vm_free(vm); - CLEANUP; - return 1; - } - - xen_vm_record *vm_record; - if (!xen_vm_get_record(session, &vm_record, vm)) - { - print_error(session); - xen_uuid_bytes_free(vm_uuid_bytes); - xen_uuid_free(vm_uuid); - xen_vm_free(vm); - CLEANUP; - return 1; - } - - xen_host host; - if (!xen_session_get_this_host(session, &host)) - { - print_error(session); - xen_vm_record_free(vm_record); - xen_uuid_bytes_free(vm_uuid_bytes); - xen_uuid_free(vm_uuid); - xen_vm_free(vm); - CLEANUP; - return 1; - } - - xen_string_string_map *versions; - if (!xen_host_get_software_version(session, &versions, host)) - { - print_error(session); - xen_host_free(host); - xen_vm_record_free(vm_record); - xen_uuid_bytes_free(vm_uuid_bytes); - xen_uuid_free(vm_uuid); - xen_vm_free(vm); - CLEANUP; - return 1; - } - - printf("%s.\n", vm_uuid); - - fprintf(stderr, "In bytes, the VM UUID is "); - for (int i = 0; i < 15; i++) - { - fprintf(stderr, "%x, ", (unsigned int)vm_uuid_bytes[i]); - } - fprintf(stderr, "%x.\n", (unsigned int)vm_uuid_bytes[15]); - - printf("%zd.\n", versions->size); - - for (size_t i = 0; i < versions->size; i++) - { - printf("%s -> %s.\n", versions->contents[i].key, - versions->contents[i].val); - } - - printf("%s.\n", vm_record->uuid); - - printf("Resident on %s.\n", (char *)vm_record->resident_on->u.handle); - - printf("%s.\n", xen_vm_power_state_to_string(vm_record->power_state)); - - for (size_t i = 0; i < vm_record->vcpus_utilisation->size; i++) - { - printf("%"PRId64" -> %lf.\n", - vm_record->vcpus_utilisation->contents[i].key, - vm_record->vcpus_utilisation->contents[i].val); - } - - xen_uuid_bytes_free(vm_uuid_bytes); - xen_uuid_free(vm_uuid); - xen_vm_free(vm); - - xen_vm_record_free(vm_record); - - xen_host_free(host); - xen_string_string_map_free(versions); - - - xen_vm new_vm = create_new_vm(session); - if (!session->ok) - { - /* Error has been logged, just clean up. */ - CLEANUP; - return 1; - } - - print_vm_power_state(session, new_vm); - if (!session->ok) - { - /* Error has been logged, just clean up. */ - xen_vm_free(new_vm); - CLEANUP; - return 1; - } - - xen_vm_free(new_vm); - CLEANUP; - - return 0; -} - - -/** - * Creation of a new VM, using the Named Parameters idiom. Allocate the - * xen_vm_record here, but the sets through the library. Either - * allocation patterns can be used, as long as the allocation and free are - * paired correctly. - */ -static xen_vm create_new_vm(xen_session *session) -{ - xen_string_string_map *vcpus_params = xen_string_string_map_alloc(1); - xen_vm_record vm_record = - { - .name_label = "NewHVM", - .name_description = "New HVM Description", - .user_version = 1, - .is_a_template = false, - .memory_static_max = 256, - .memory_dynamic_max = 256, - .memory_dynamic_min = 128, - .memory_static_min = 128, - .vcpus_policy = "credit", - .vcpus_params = vcpus_params, - .vcpus_number = 2, - .actions_after_shutdown = XEN_ON_NORMAL_EXIT_DESTROY, - .actions_after_reboot = XEN_ON_NORMAL_EXIT_RESTART, - .actions_after_crash = XEN_ON_CRASH_BEHAVIOUR_PRESERVE, - .hvm_boot = "cda", - }; - - - xen_vm vm; - xen_vm_create(session, &vm, &vm_record); - - if (!session->ok) - { - fprintf(stderr, "VM creation failed.\n"); - print_error(session); - return NULL; - } - - - /* - * Create a new disk for the new VM. - */ - xen_sr_set *srs; - if (!xen_sr_get_by_name_label(session, &srs, "Local") || - srs->size < 1) - { - fprintf(stderr, "SR lookup failed.\n"); - print_error(session); - xen_vm_free(vm); - return NULL; - } - - xen_sr_record_opt sr_record = - { - .u.handle = srs->contents[0] - }; - xen_vdi_record vdi0_record = - { - .name_label = "MyRootFS", - .name_description = "MyRootFS description", - .sr = &sr_record, - .virtual_size = (1 << 21), // 1GiB / 512 bytes/sector - .sector_size = 512, - .location = "file:/root/gentoo.amd64.hvm.img", - .type = XEN_VDI_TYPE_SYSTEM, - .sharable = false, - .read_only = false - }; - - xen_vdi vdi0; - if (!xen_vdi_create(session, &vdi0, &vdi0_record)) - { - fprintf(stderr, "VDI creation failed.\n"); - print_error(session); - - xen_sr_set_free(srs); - xen_vm_free(vm); - return NULL; - } - - - xen_vm_record_opt vm_record_opt = - { - .u.handle = vm - }; - xen_vdi_record_opt vdi0_record_opt = - { - .u.handle = vdi0 - }; - xen_vbd_record vbd0_record = - { - .vm = &vm_record_opt, - .vdi = &vdi0_record_opt, - .device = "xvda1", - .mode = XEN_VBD_MODE_RW - }; - - xen_vbd vbd0; - if (!xen_vbd_create(session, &vbd0, &vbd0_record)) - { - fprintf(stderr, "VBD creation failed.\n"); - print_error(session); - - xen_vdi_free(vdi0); - xen_sr_set_free(srs); - xen_vm_free(vm); - return NULL; - } - - char *vm_uuid; - char *vdi0_uuid; - char *vbd0_uuid; - - xen_vm_get_uuid(session, &vm_uuid, vm); - xen_vdi_get_uuid(session, &vdi0_uuid, vdi0); - xen_vbd_get_uuid(session, &vbd0_uuid, vbd0); - - if (!session->ok) - { - fprintf(stderr, "get_uuid call failed.\n"); - print_error(session); - - xen_uuid_free(vm_uuid); - xen_uuid_free(vdi0_uuid); - xen_uuid_free(vbd0_uuid); - xen_vbd_free(vbd0); - xen_vdi_free(vdi0); - xen_sr_set_free(srs); - xen_vm_free(vm); - return NULL; - } - - fprintf(stderr, - "Created a new VM, with UUID %s, VDI UUID %s, and VBD UUID %s.\n", - vm_uuid, vdi0_uuid, vbd0_uuid); - - xen_uuid_free(vm_uuid); - xen_uuid_free(vdi0_uuid); - xen_uuid_free(vbd0_uuid); - xen_vbd_free(vbd0); - xen_vdi_free(vdi0); - xen_sr_set_free(srs); - - return vm; -} - - -/** - * Print the power state for the given VM. - */ -static void print_vm_power_state(xen_session *session, xen_vm vm) -{ - char *vm_uuid; - enum xen_vm_power_state power_state; - - if (!xen_vm_get_uuid(session, &vm_uuid, vm)) - { - print_error(session); - return; - } - - if (!xen_vm_get_power_state(session, &power_state, vm)) - { - xen_uuid_free(vm_uuid); - print_error(session); - return; - } - - printf("VM %s power state is %s.\n", vm_uuid, - xen_vm_power_state_to_string(power_state)); - - xen_uuid_free(vm_uuid); -} |