aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2011-04-06 16:50:16 +0100
committerIan Campbell <ian.campbell@citrix.com>2011-04-06 16:50:16 +0100
commitbbfc7c38075c1f5181ff205b5111eddc0a8c76eb (patch)
tree255743bf4cfc1ab2b4e075cc1ba891b15bd07fb8 /tools
parente15c160c0f6ee65e0160826d8a3987a65ccfa9ec (diff)
downloadxen-bbfc7c38075c1f5181ff205b5111eddc0a8c76eb.tar.gz
xen-bbfc7c38075c1f5181ff205b5111eddc0a8c76eb.tar.bz2
xen-bbfc7c38075c1f5181ff205b5111eddc0a8c76eb.zip
libxl: do not expose libxenctrl/libxenstore headers via libxl.h
This completely removes libxenstore from libxl users' view. xl still needs libxenctrl directly due to the direct use of the xentoollog functionality but it is not exposed to the indirect linkage anymore. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/Rules.mk2
-rw-r--r--tools/libxl/Makefile6
-rw-r--r--tools/libxl/libxl.c13
-rw-r--r--tools/libxl/libxl.h23
-rw-r--r--tools/libxl/libxl_internal.h11
-rw-r--r--tools/libxl/libxlu_cfg.c1
-rw-r--r--tools/libxl/xl.c7
-rw-r--r--tools/libxl/xl.h2
-rw-r--r--tools/libxl/xl_cmdimpl.c375
-rw-r--r--tools/ocaml/libs/xl/xl_stubs.c50
-rw-r--r--tools/python/setup.py2
-rw-r--r--tools/python/xen/lowlevel/xl/xl.c32
12 files changed, 273 insertions, 251 deletions
diff --git a/tools/Rules.mk b/tools/Rules.mk
index c1a5e053b0..0d048af350 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -49,7 +49,7 @@ LDLIBS_libblktapctl =
SHLIB_libblktapctl =
endif
-CFLAGS_libxenlight = -I$(XEN_XENLIGHT) $(CFLAGS_libxenctrl) $(CFLAGS_libxenstore) $(CFLAGS_xeninclude)
+CFLAGS_libxenlight = -I$(XEN_XENLIGHT) $(CFLAGS_libxenctrl) $(CFLAGS_xeninclude)
LDLIBS_libxenlight = -L$(XEN_XENLIGHT) $(SHLIB_libxenctrl) $(SHLIB_libxenstore) $(SHLIB_libblktapctl) -lxenlight
SHLIB_libxenlight = -Wl,-rpath-link=$(XEN_XENLIGHT)
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 5fac906abc..3299aa6bc3 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -13,7 +13,6 @@ XLUMINOR = 0
CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations
CFLAGS += -I. -fPIC
-CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl)
ifeq ($(CONFIG_Linux),y)
LIBUUID_LIBS += -luuid
@@ -38,13 +37,18 @@ LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
libxl_internal.o libxl_utils.o libxl_uuid.o $(LIBXL_OBJS-y)
LIBXL_OBJS += _libxl_types.o
+$(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl)
+
AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h
AUTOSRCS= libxlu_cfg_y.c libxlu_cfg_l.c
LIBXLU_OBJS = libxlu_cfg_y.o libxlu_cfg_l.o libxlu_cfg.o
+$(LIBXLU_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
CLIENTS = xl
XL_OBJS = xl.o xl_cmdimpl.o xl_cmdtable.o
+$(XL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
+$(XL_OBJS): CFLAGS += $(CFLAGS_libxenlight)
.PHONY: all
all: $(CLIENTS) libxenlight.so libxenlight.a libxlutil.so libxlutil.a \
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 38616f7a34..7efd68cb6f 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -41,15 +41,22 @@
#define STRINGIFY(x) #x
#define TOSTRING(x) STRINGIFY(x)
-int libxl_ctx_init(libxl_ctx *ctx, int version, xentoollog_logger *lg)
+int libxl_ctx_alloc(libxl_ctx **pctx, int version, xentoollog_logger * lg)
{
+ libxl_ctx *ctx;
struct stat stat_buf;
if (version != LIBXL_VERSION)
return ERROR_VERSION;
+
+ ctx = malloc(sizeof(*ctx));
+ if (!ctx) {
+ LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Failed to allocate context\n");
+ return ERROR_NOMEM;
+ }
+
memset(ctx, 0, sizeof(libxl_ctx));
ctx->lg = lg;
- memset(&ctx->version_info, 0, sizeof(libxl_version_info));
if ( stat(XENSTORE_PID_FILE, &stat_buf) != 0 ) {
LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Is xenstore daemon running?\n"
@@ -73,6 +80,8 @@ int libxl_ctx_init(libxl_ctx *ctx, int version, xentoollog_logger *lg)
xc_interface_close(ctx->xch);
return ERROR_FAIL;
}
+
+ *pctx = ctx;
return 0;
}
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 9bf5260482..77fd92fac8 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -124,13 +124,18 @@
#ifndef LIBXL_H
#define LIBXL_H
+#include <stdbool.h>
#include <stdint.h>
#include <stdarg.h>
+#include <errno.h>
#include <netinet/in.h>
-#include <xenctrl.h>
-#include <xs.h>
#include <sys/wait.h> /* for pid_t */
+#include <xentoollog.h>
+
+#include <xen/sched.h>
+#include <xen/sysctl.h>
+
#include <libxl_uuid.h>
typedef uint8_t libxl_mac[6];
@@ -216,17 +221,7 @@ void libxl_cpuid_destroy(libxl_cpuid_policy_list *cpuid_list);
#include "_libxl_types.h"
-typedef struct {
- xentoollog_logger *lg;
- xc_interface *xch;
- struct xs_handle *xsh;
-
- /* for callers who reap children willy-nilly; caller must only
- * set this after libxl_init and before any other call - or
- * may leave them untouched */
- int (*waitpid_instead)(pid_t pid, int *status, int flags);
- libxl_version_info version_info;
-} libxl_ctx;
+typedef struct libxl__ctx libxl_ctx;
const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx);
@@ -283,7 +278,7 @@ typedef struct {
} libxl_domain_config;
/* context functions */
-int libxl_ctx_init(libxl_ctx *ctx, int version, xentoollog_logger*);
+int libxl_ctx_alloc(libxl_ctx **pctx, int version, xentoollog_logger *lg);
int libxl_ctx_free(libxl_ctx *ctx);
int libxl_ctx_postfork(libxl_ctx *ctx);
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index d0ddf081bc..023cf8f032 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -82,6 +82,17 @@ _hidden void libxl__log(libxl_ctx *ctx, xentoollog_level msglevel, int errnoval,
/* these functions preserve errno (saving and restoring) */
+struct libxl__ctx {
+ xentoollog_logger *lg;
+ xc_interface *xch;
+ struct xs_handle *xsh;
+
+ /* for callers who reap children willy-nilly; caller must only
+ * set this after libxl_init and before any other call - or
+ * may leave them untouched */
+ int (*waitpid_instead)(pid_t pid, int *status, int flags);
+ libxl_version_info version_info;
+};
typedef enum {
DEVICE_VIF = 1,
diff --git a/tools/libxl/libxlu_cfg.c b/tools/libxl/libxlu_cfg.c
index f947c219b4..1ea1b0ad00 100644
--- a/tools/libxl/libxlu_cfg.c
+++ b/tools/libxl/libxlu_cfg.c
@@ -1,3 +1,4 @@
+#include <limits.h>
#include "libxlu_internal.h"
#include "libxlu_cfg_y.h"
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 9e3023c629..5bab2ff1b8 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -26,6 +26,7 @@
#include <fcntl.h>
#include <ctype.h>
#include <inttypes.h>
+#include <xenctrl.h>
#include "libxl.h"
#include "libxl_utils.h"
@@ -111,7 +112,7 @@ int main(int argc, char **argv)
logger = xtl_createlogger_stdiostream(stderr, minmsglevel, 0);
if (!logger) exit(1);
- if (libxl_ctx_init(&ctx, LIBXL_VERSION, (xentoollog_logger*)logger)) {
+ if (libxl_ctx_alloc(&ctx, LIBXL_VERSION, (xentoollog_logger*)logger)) {
fprintf(stderr, "cannot init xl context\n");
exit(1);
}
@@ -123,7 +124,7 @@ int main(int argc, char **argv)
exit(1);
}
- ret = libxl_read_file_contents(&ctx, config_file,
+ ret = libxl_read_file_contents(ctx, config_file,
&config_data, &config_len);
if (ret)
fprintf(stderr, "Failed to read config file: %s: %s\n",
@@ -147,7 +148,7 @@ int main(int argc, char **argv)
ret = 1;
}
- libxl_ctx_free(&ctx);
+ libxl_ctx_free(ctx);
xtl_logger_destroy((xentoollog_logger*)logger);
return ret;
diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h
index 653be2e982..a1aa8ef9cc 100644
--- a/tools/libxl/xl.h
+++ b/tools/libxl/xl.h
@@ -95,7 +95,7 @@ extern int cmdtable_len;
/* Look up a command in the table, allowing unambiguous truncation */
struct cmd_spec *cmdtable_lookup(const char *s);
-extern libxl_ctx ctx;
+extern libxl_ctx *ctx;
extern xentoollog_logger_stdiostream *logger;
/* global options */
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index a1a0d36b0b..9974ca9ad6 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -31,9 +31,10 @@
#include <sys/socket.h>
#include <sys/select.h>
#include <sys/utsname.h> /* for utsname in xl info */
-#include <xenctrl.h>
+#include <xentoollog.h>
#include <ctype.h>
#include <inttypes.h>
+#include <limits.h>
#include "libxl.h"
#include "libxl_utils.h"
@@ -62,7 +63,7 @@
int logfile = 2;
/* every libxl action in xl uses this same libxl context */
-libxl_ctx ctx;
+libxl_ctx *ctx;
/* when we operate on a domain, it is this one: */
static uint32_t domid;
@@ -150,11 +151,11 @@ static int domain_qualifier_to_domid(const char *p, uint32_t *domid_r,
*was_name_r = was_name;
if (was_name) {
- rc = libxl_name_to_domid(&ctx, p, domid_r);
+ rc = libxl_name_to_domid(ctx, p, domid_r);
if (rc)
return rc;
} else {
- rc = libxl_domain_info(&ctx, &dominfo, *domid_r);
+ rc = libxl_domain_info(ctx, &dominfo, *domid_r);
/* error only if domain does not exist */
if (rc == ERROR_INVAL)
return rc;
@@ -170,7 +171,7 @@ static int cpupool_qualifier_to_cpupoolid(const char *p, uint32_t *poolid_r,
was_name = qualifier_to_id(p, poolid_r);
if (was_name_r) *was_name_r = was_name;
- return was_name ? libxl_name_to_cpupoolid(&ctx, p, poolid_r) : 0;
+ return was_name ? libxl_name_to_cpupoolid(ctx, p, poolid_r) : 0;
}
static void find_domain(const char *p)
@@ -182,7 +183,7 @@ static void find_domain(const char *p)
fprintf(stderr, "%s is an invalid domain identifier (rc=%d)\n", p, rc);
exit(2);
}
- common_domname = was_name ? p : libxl_domid_to_name(&ctx, domid);
+ common_domname = was_name ? p : libxl_domid_to_name(ctx, domid);
}
static int acquire_lock(void)
@@ -303,7 +304,7 @@ static void printf_info(int domid,
/* retrieve the UUID from dominfo, since it is probably generated
* during parsing and thus does not match the real one
*/
- if (libxl_domain_info(&ctx, &info, domid) == 0) {
+ if (libxl_domain_info(ctx, &info, domid) == 0) {
printf("\t(uuid " LIBXL_UUID_FMT ")\n", LIBXL_UUID_BYTES(info.uuid));
} else {
printf("\t(uuid <unknown>)\n");
@@ -668,7 +669,7 @@ static void parse_config_data(const char *configfile_filename_report,
c_info->poolid = -1;
cpupool_qualifier_to_cpupoolid(buf, &c_info->poolid, NULL);
}
- c_info->poolname = libxl_cpupoolid_to_name(&ctx, c_info->poolid);
+ c_info->poolname = libxl_cpupoolid_to_name(ctx, c_info->poolid);
if (!c_info->poolname) {
fprintf(stderr, "Illegal pool specified\n");
exit(1);
@@ -878,7 +879,7 @@ static void parse_config_data(const char *configfile_filename_report,
free(nic->ifname);
nic->ifname = strdup(p2 + 1);
} else if (!strcmp(p, "backend")) {
- if(libxl_name_to_domid(&ctx, (p2 + 1), &(nic->backend_domid))) {
+ if(libxl_name_to_domid(ctx, (p2 + 1), &(nic->backend_domid))) {
fprintf(stderr, "Specified backend domain does not exist, defaulting to Dom0\n");
nic->backend_domid = 0;
}
@@ -1025,7 +1026,7 @@ skip_vfb:
pcidev->msitranslate = pci_msitranslate;
pcidev->power_mgmt = pci_power_mgmt;
- if (!libxl_device_pci_parse_bdf(&ctx, pcidev, buf))
+ if (!libxl_device_pci_parse_bdf(ctx, pcidev, buf))
d_config->num_pcidevs++;
}
}
@@ -1294,23 +1295,23 @@ static int freemem(libxl_domain_build_info *b_info, libxl_device_model_info *dm_
if (!autoballoon)
return 0;
- rc = libxl_domain_need_memory(&ctx, b_info, dm_info, &need_memkb);
+ rc = libxl_domain_need_memory(ctx, b_info, dm_info, &need_memkb);
if (rc < 0)
return rc;
do {
- rc = libxl_get_free_memory(&ctx, &free_memkb);
+ rc = libxl_get_free_memory(ctx, &free_memkb);
if (rc < 0)
return rc;
if (free_memkb >= need_memkb)
return 0;
- rc = libxl_set_memory_target(&ctx, 0, free_memkb - need_memkb, 1, 0);
+ rc = libxl_set_memory_target(ctx, 0, free_memkb - need_memkb, 1, 0);
if (rc < 0)
return rc;
- rc = libxl_wait_for_free_memory(&ctx, domid, need_memkb, 10);
+ rc = libxl_wait_for_free_memory(ctx, domid, need_memkb, 10);
if (!rc)
return 0;
else if (rc != ERROR_NOMEM)
@@ -1318,7 +1319,7 @@ static int freemem(libxl_domain_build_info *b_info, libxl_device_model_info *dm_
/* the memory target has been reached but the free memory is still
* not enough: loop over again */
- rc = libxl_wait_for_memory_target(&ctx, 0, 1);
+ rc = libxl_wait_for_memory_target(ctx, 0, 1);
if (rc < 0)
return rc;
@@ -1383,7 +1384,7 @@ static int create_domain(struct domain_create *dom_info)
restore_fd = migrate_fd >= 0 ? migrate_fd :
open(restore_file, O_RDONLY);
- CHK_ERRNO( libxl_read_exactly(&ctx, restore_fd, &hdr,
+ CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, &hdr,
sizeof(hdr), restore_file, "header") );
if (memcmp(hdr.magic, savefileheader_magic, sizeof(hdr.magic))) {
fprintf(stderr, "File has wrong magic number -"
@@ -1409,7 +1410,7 @@ static int create_domain(struct domain_create *dom_info)
}
if (hdr.optional_data_len) {
optdata_begin = xmalloc(hdr.optional_data_len);
- CHK_ERRNO( libxl_read_exactly(&ctx, restore_fd, optdata_begin,
+ CHK_ERRNO( libxl_read_exactly(ctx, restore_fd, optdata_begin,
hdr.optional_data_len, restore_file, "optdata") );
}
@@ -1441,7 +1442,7 @@ static int create_domain(struct domain_create *dom_info)
if (config_file) {
free(config_data); config_data = 0;
- ret = libxl_read_file_contents(&ctx, config_file,
+ ret = libxl_read_file_contents(ctx, config_file,
&config_data, &config_len);
if (ret) { fprintf(stderr, "Failed to read config file: %s: %s\n",
config_file, strerror(errno)); return ERROR_FAIL; }
@@ -1520,17 +1521,17 @@ start:
}
if ( restore_file ) {
- ret = libxl_domain_create_restore(&ctx, &d_config,
+ ret = libxl_domain_create_restore(ctx, &d_config,
cb, &child_console_pid,
&domid, restore_fd);
}else{
- ret = libxl_domain_create_new(&ctx, &d_config,
+ ret = libxl_domain_create_new(ctx, &d_config,
cb, &child_console_pid, &domid);
}
if ( ret )
goto error_out;
- ret = libxl_userdata_store(&ctx, domid, "xl",
+ ret = libxl_userdata_store(ctx, domid, "xl",
config_data, config_len);
if (ret) {
perror("cannot save config file");
@@ -1541,7 +1542,7 @@ start:
release_lock();
if (!paused)
- libxl_domain_unpause(&ctx, domid);
+ libxl_domain_unpause(ctx, domid);
ret = domid; /* caller gets success in parent */
if (!daemonize)
@@ -1552,7 +1553,7 @@ start:
pid_t child1, got_child;
int nullfd;
- child1 = libxl_fork(&ctx);
+ child1 = libxl_fork(ctx);
if (child1) {
printf("Daemon running with PID %d\n", child1);
@@ -1567,7 +1568,7 @@ start:
}
}
if (status) {
- libxl_report_child_exitstatus(&ctx, XTL_ERROR,
+ libxl_report_child_exitstatus(ctx, XTL_ERROR,
"daemonizing child", child1, status);
ret = ERROR_FAIL;
goto error_out;
@@ -1576,7 +1577,7 @@ start:
goto out;
}
- rc = libxl_ctx_postfork(&ctx);
+ rc = libxl_ctx_postfork(ctx);
if (rc) {
LOG("failed to reinitialise context after fork");
exit(-1);
@@ -1586,7 +1587,7 @@ start:
LOG("Failed to allocate memory in asprintf");
exit(1);
}
- rc = libxl_create_logfile(&ctx, name, &fullname);
+ rc = libxl_create_logfile(ctx, name, &fullname);
if (rc) {
LOG("failed to open logfile %s: %s",fullname,strerror(errno));
exit(-1);
@@ -1608,9 +1609,9 @@ start:
d_config.c_info.name, domid, (long)getpid());
w1 = (libxl_waiter*) xmalloc(sizeof(libxl_waiter) * d_config.num_disks);
w2 = (libxl_waiter*) xmalloc(sizeof(libxl_waiter));
- libxl_wait_for_disk_ejects(&ctx, domid, d_config.disks, d_config.num_disks, w1);
- libxl_wait_for_domain_death(&ctx, domid, w2);
- libxl_get_wait_fd(&ctx, &fd);
+ libxl_wait_for_disk_ejects(ctx, domid, d_config.disks, d_config.num_disks, w1);
+ libxl_wait_for_domain_death(ctx, domid, w2);
+ libxl_get_wait_fd(ctx, &fd);
while (1) {
int ret;
fd_set rfds;
@@ -1624,10 +1625,10 @@ start:
ret = select(fd + 1, &rfds, NULL, NULL, NULL);
if (!ret)
continue;
- libxl_get_event(&ctx, &event);
+ libxl_get_event(ctx, &event);
switch (event.type) {
case LIBXL_EVENT_DOMAIN_DEATH:
- ret = libxl_event_get_domain_death_info(&ctx, domid, &event, &info);
+ ret = libxl_event_get_domain_death_info(ctx, domid, &event, &info);
if (ret < 0) {
libxl_free_event(&event);
@@ -1637,9 +1638,9 @@ start:
LOG("Domain %d is dead", domid);
if (ret) {
- switch (handle_domain_death(&ctx, domid, &event, &d_config, &info)) {
+ switch (handle_domain_death(ctx, domid, &event, &d_config, &info)) {
case 2:
- if (!preserve_domain(&ctx, domid, &event, &d_config, &info)) {
+ if (!preserve_domain(ctx, domid, &event, &d_config, &info)) {
/* If we fail then exit leaving the old domain in place. */
ret = -1;
goto out;
@@ -1685,8 +1686,8 @@ start:
}
break;
case LIBXL_EVENT_DISK_EJECT:
- if (libxl_event_get_disk_eject_info(&ctx, domid, &event, &disk)) {
- libxl_cdrom_insert(&ctx, domid, &disk);
+ if (libxl_event_get_disk_eject_info(ctx, domid, &event, &disk)) {
+ libxl_cdrom_insert(ctx, domid, &disk);
libxl_device_disk_destroy(&disk);
}
break;
@@ -1697,7 +1698,7 @@ start:
error_out:
release_lock();
if (libxl_domid_valid_guest(domid))
- libxl_domain_destroy(&ctx, domid, 0);
+ libxl_domain_destroy(ctx, domid, 0);
out:
if (logfile != 2)
@@ -1792,7 +1793,7 @@ static int set_memory_max(const char *p, const char *mem)
exit(3);
}
- rc = libxl_domain_setmaxmem(&ctx, domid, memorykb);
+ rc = libxl_domain_setmaxmem(ctx, domid, memorykb);
return rc;
}
@@ -1842,7 +1843,7 @@ static void set_memory_target(const char *p, const char *mem)
exit(3);
}
- libxl_set_memory_target(&ctx, domid, memorykb, 0, /* enforce */ 1);
+ libxl_set_memory_target(ctx, domid, memorykb, 0, /* enforce */ 1);
}
int main_memset(int argc, char **argv)
@@ -1890,7 +1891,7 @@ static void cd_insert(const char *dom, const char *virtdev, char *phys)
disk.backend_domid = 0;
disk.domid = domid;
- libxl_cdrom_insert(&ctx, domid, &disk);
+ libxl_cdrom_insert(ctx, domid, &disk);
free(buf);
}
@@ -1985,9 +1986,9 @@ int main_console(int argc, char **argv)
find_domain(argv[optind]);
if (!type)
- libxl_primary_console_exec(&ctx, domid);
+ libxl_primary_console_exec(ctx, domid);
else
- libxl_console_exec(&ctx, domid, num, type);
+ libxl_console_exec(ctx, domid, num, type);
fprintf(stderr, "Unable to attach console\n");
return 1;
}
@@ -1995,7 +1996,7 @@ int main_console(int argc, char **argv)
static int vncviewer(const char *domain_spec, int autopass)
{
find_domain(domain_spec);
- libxl_vncviewer_exec(&ctx, domid, autopass);
+ libxl_vncviewer_exec(ctx, domid, autopass);
fprintf(stderr, "Unable to execute vncviewer\n");
return 1;
}
@@ -2043,7 +2044,7 @@ static void pcilist_assignable(void)
libxl_device_pci *pcidevs;
int num, i;
- if ( libxl_device_pci_list_assignable(&ctx, &pcidevs, &num) )
+ if ( libxl_device_pci_list_assignable(ctx, &pcidevs, &num) )
return;
for (i = 0; i < num; i++) {
printf("%04x:%02x:%02x.%01x\n",
@@ -2078,7 +2079,7 @@ static void pcilist(const char *dom)
find_domain(dom);
- if (libxl_device_pci_list_assigned(&ctx, &pcidevs, domid, &num))
+ if (libxl_device_pci_list_assigned(ctx, &pcidevs, domid, &num))
return;
printf("Vdev Device\n");
for (i = 0; i < num; i++) {
@@ -2123,11 +2124,11 @@ static void pcidetach(const char *dom, const char *bdf, int force)
find_domain(dom);
memset(&pcidev, 0x00, sizeof(pcidev));
- if (libxl_device_pci_parse_bdf(&ctx, &pcidev, bdf)) {
+ if (libxl_device_pci_parse_bdf(ctx, &pcidev, bdf)) {
fprintf(stderr, "pci-detach: malformed BDF specification \"%s\"\n", bdf);
exit(2);
}
- libxl_device_pci_remove(&ctx, domid, &pcidev, force);
+ libxl_device_pci_remove(ctx, domid, &pcidev, force);
libxl_device_pci_destroy(&pcidev);
}
@@ -2168,11 +2169,11 @@ static void pciattach(const char *dom, const char *bdf, const char *vs)
find_domain(dom);
memset(&pcidev, 0x00, sizeof(pcidev));
- if (libxl_device_pci_parse_bdf(&ctx, &pcidev, bdf)) {
+ if (libxl_device_pci_parse_bdf(ctx, &pcidev, bdf)) {
fprintf(stderr, "pci-attach: malformed BDF specification \"%s\"\n", bdf);
exit(2);
}
- libxl_device_pci_add(&ctx, domid, &pcidev);
+ libxl_device_pci_add(ctx, domid, &pcidev);
libxl_device_pci_destroy(&pcidev);
}
@@ -2209,13 +2210,13 @@ int main_pciattach(int argc, char **argv)
static void pause_domain(const char *p)
{
find_domain(p);
- libxl_domain_pause(&ctx, domid);
+ libxl_domain_pause(ctx, domid);
}
static void unpause_domain(const char *p)
{
find_domain(p);
- libxl_domain_unpause(&ctx, domid);
+ libxl_domain_unpause(ctx, domid);
}
static void destroy_domain(const char *p)
@@ -2226,7 +2227,7 @@ static void destroy_domain(const char *p)
fprintf(stderr, "Cannot destroy privileged domain 0.\n\n");
exit(-1);
}
- rc = libxl_domain_destroy(&ctx, domid, 0);
+ rc = libxl_domain_destroy(ctx, domid, 0);
if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n",rc); exit(-1); }
}
@@ -2235,16 +2236,16 @@ static void shutdown_domain(const char *p, int wait)
int rc;
find_domain(p);
- rc=libxl_domain_shutdown(&ctx, domid, 0);
+ rc=libxl_domain_shutdown(ctx, domid, 0);
if (rc) { fprintf(stderr,"shutdown failed (rc=%d)\n",rc);exit(-1); }
if (wait) {
libxl_waiter waiter;
int fd;
- libxl_wait_for_domain_death(&ctx, domid, &waiter);
+ libxl_wait_for_domain_death(ctx, domid, &waiter);
- libxl_get_wait_fd(&ctx, &fd);
+ libxl_get_wait_fd(ctx, &fd);
while (wait) {
fd_set rfds;
@@ -2257,10 +2258,10 @@ static void shutdown_domain(const char *p, int wait)
if (!select(fd + 1, &rfds, NULL, NULL, NULL))
continue;
- libxl_get_event(&ctx, &event);
+ libxl_get_event(ctx, &event);
if (event.type == LIBXL_EVENT_DOMAIN_DEATH) {
- if (libxl_event_get_domain_death_info(&ctx, domid, &event, &info) < 0)
+ if (libxl_event_get_domain_death_info(ctx, domid, &event, &info) < 0)
continue;
LOG("Domain %d is dead", domid);
@@ -2277,7 +2278,7 @@ static void reboot_domain(const char *p)
{
int rc;
find_domain(p);
- rc=libxl_domain_shutdown(&ctx, domid, 1);
+ rc=libxl_domain_shutdown(ctx, domid, 1);
if (rc) { fprintf(stderr,"reboot failed (rc=%d)\n",rc);exit(-1); }
}
@@ -2294,7 +2295,7 @@ static void list_domains_details(const libxl_dominfo *info, int nb_domain)
/* no detailed info available on dom0 */
if (info[i].domid == 0)
continue;
- rc = libxl_userdata_retrieve(&ctx, info[i].domid, "xl", &data, &len);
+ rc = libxl_userdata_retrieve(ctx, info[i].domid, "xl", &data, &len);
if (rc)
continue;
CHK_ERRNO(asprintf(&config_file, "<domid %d data>", info[i].domid));
@@ -2318,7 +2319,7 @@ static void list_domains(int verbose, const libxl_dominfo *info, int nb_domain)
for (i = 0; i < nb_domain; i++) {
char *domname;
unsigned shutdown_reason;
- domname = libxl_domid_to_name(&ctx, info[i].domid);
+ domname = libxl_domid_to_name(ctx, info[i].domid);
shutdown_reason = info[i].shutdown ? info[i].shutdown_reason : 0;
printf("%-40s %5d %5lu %5d %c%c%c%c%c%c %8.1f",
domname,
@@ -2350,7 +2351,7 @@ static void list_vm(void)
char *domname;
int nb_vm, i;
- info = libxl_list_vm(&ctx, &nb_vm);
+ info = libxl_list_vm(ctx, &nb_vm);
if (info < 0) {
fprintf(stderr, "libxl_domain_infolist failed.\n");
@@ -2358,7 +2359,7 @@ static void list_vm(void)
}
printf("UUID ID name\n");
for (i = 0; i < nb_vm; i++) {
- domname = libxl_domid_to_name(&ctx, info[i].domid);
+ domname = libxl_domid_to_name(ctx, info[i].domid);
printf(LIBXL_UUID_FMT " %d %-30s\n", LIBXL_UUID_BYTES(info[i].uuid),
info[i].domid, domname);
free(domname);
@@ -2379,11 +2380,11 @@ static void save_domain_core_begin(const char *domain_spec,
if (override_config_file) {
void *config_v = 0;
- rc = libxl_read_file_contents(&ctx, override_config_file,
+ rc = libxl_read_file_contents(ctx, override_config_file,
&config_v, config_len_r);
*config_data_r = config_v;
} else {
- rc = libxl_userdata_retrieve(&ctx, domid, "xl",
+ rc = libxl_userdata_retrieve(ctx, domid, "xl",
config_data_r, config_len_r);
}
if (rc) {
@@ -2420,9 +2421,9 @@ static void save_domain_core_writeconfig(int fd, const char *filename,
/* that's the optional data */
- CHK_ERRNO( libxl_write_exactly(&ctx, fd,
+ CHK_ERRNO( libxl_write_exactly(ctx, fd,
&hdr, sizeof(hdr), filename, "header") );
- CHK_ERRNO( libxl_write_exactly(&ctx, fd,
+ CHK_ERRNO( libxl_write_exactly(ctx, fd,
optdata_begin, hdr.optional_data_len, filename, "header") );
fprintf(stderr, "Saving to %s new xl format (info"
@@ -2452,13 +2453,13 @@ static int save_domain(const char *p, const char *filename, int checkpoint,
save_domain_core_writeconfig(fd, filename, config_data, config_len);
- CHK_ERRNO(libxl_domain_suspend(&ctx, NULL, domid, fd));
+ CHK_ERRNO(libxl_domain_suspend(ctx, NULL, domid, fd));
close(fd);
if (checkpoint)
- libxl_domain_unpause(&ctx, domid);
+ libxl_domain_unpause(ctx, domid);
else
- libxl_domain_destroy(&ctx, domid, 0);
+ libxl_domain_destroy(ctx, domid, 0);
exit(0);
}
@@ -2470,7 +2471,7 @@ static int migrate_read_fixedmessage(int fd, const void *msg, int msgsz,
int rc;
stream = rune ? "migration receiver stream" : "migration stream";
- rc = libxl_read_exactly(&ctx, fd, buf, msgsz, stream, what);
+ rc = libxl_read_exactly(ctx, fd, buf, msgsz, stream, what);
if (rc) return ERROR_FAIL;
if (memcmp(buf, msg, msgsz)) {
@@ -2499,7 +2500,7 @@ static void migration_child_report(pid_t migration_child, int recv_fd) {
if (child == migration_child) {
if (status)
- libxl_report_child_exitstatus(&ctx, XTL_INFO,
+ libxl_report_child_exitstatus(ctx, XTL_INFO,
"migration target process",
migration_child, status);
break;
@@ -2570,10 +2571,10 @@ static void migrate_domain(const char *domain_spec, const char *rune,
exit(1);
}
- MUST( libxl_pipe(&ctx, sendpipe) );
- MUST( libxl_pipe(&ctx, recvpipe) );
+ MUST( libxl_pipe(ctx, sendpipe) );
+ MUST( libxl_pipe(ctx, recvpipe) );
- child = libxl_fork(&ctx);
+ child = libxl_fork(ctx);
if (child==-1) exit(1);
if (!child) {
@@ -2611,7 +2612,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
memset(&suspinfo, 0, sizeof(suspinfo));
suspinfo.flags |= XL_SUSPEND_LIVE;
- rc = libxl_domain_suspend(&ctx, &suspinfo, domid, send_fd);
+ rc = libxl_domain_suspend(ctx, &suspinfo, domid, send_fd);
if (rc) {
fprintf(stderr, "migration sender: libxl_domain_suspend failed"
" (rc=%d)\n", rc);
@@ -2641,7 +2642,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
if (common_domname) {
if (asprintf(&away_domname, "%s--migratedaway", common_domname) < 0)
goto failed_resume;
- rc = libxl_domain_rename(&ctx, domid, common_domname, away_domname);
+ rc = libxl_domain_rename(ctx, domid, common_domname, away_domname);
if (rc) goto failed_resume;
}
@@ -2652,7 +2653,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
fprintf(stderr, "migration sender: Giving target permission to start.\n");
- rc = libxl_write_exactly(&ctx, send_fd,
+ rc = libxl_write_exactly(ctx, send_fd,
migrate_permission_to_go,
sizeof(migrate_permission_to_go),
"migration stream", "GO message");
@@ -2663,7 +2664,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
"success/failure report message", rune);
if (rc) goto failed_badly;
- rc = libxl_read_exactly(&ctx, recv_fd,
+ rc = libxl_read_exactly(ctx, recv_fd,
&rc_buf, 1,
"migration ack stream", "success/failure status");
if (rc) goto failed_badly;
@@ -2681,9 +2682,9 @@ static void migrate_domain(const char *domain_spec, const char *rune,
fprintf(stderr, "migration sender: Trying to resume at our end.\n");
if (common_domname) {
- libxl_domain_rename(&ctx, domid, away_domname, common_domname);
+ libxl_domain_rename(ctx, domid, away_domname, common_domname);
}
- rc = libxl_domain_resume(&ctx, domid);
+ rc = libxl_domain_resume(ctx, domid);
if (!rc) fprintf(stderr, "migration sender: Resumed OK.\n");
fprintf(stderr, "Migration failed due to problems at target.\n");
@@ -2691,7 +2692,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
}
fprintf(stderr, "migration sender: Target reports successful startup.\n");
- libxl_domain_destroy(&ctx, domid, 1); /* bang! */
+ libxl_domain_destroy(ctx, domid, 1); /* bang! */
fprintf(stderr, "Migration successful.\n");
exit(0);
@@ -2705,7 +2706,7 @@ static void migrate_domain(const char *domain_spec, const char *rune,
close(send_fd);
migration_child_report(child, recv_fd);
fprintf(stderr, "Migration failed, resuming at sender.\n");
- libxl_domain_resume(&ctx, domid);
+ libxl_domain_resume(ctx, domid);
exit(-ERROR_FAIL);
failed_badly:
@@ -2726,7 +2727,7 @@ static void core_dump_domain(const char *domain_spec, const char *filename)
{
int rc;
find_domain(domain_spec);
- rc=libxl_domain_core_dump(&ctx, domid, filename);
+ rc=libxl_domain_core_dump(ctx, domid, filename);
if (rc) { fprintf(stderr,"core dump failed (rc=%d)\n",rc);exit(-1); }
}
@@ -2742,7 +2743,7 @@ static void migrate_receive(int debug, int daemonize)
fprintf(stderr, "migration target: Ready to receive domain.\n");
- CHK_ERRNO( libxl_write_exactly(&ctx, 1,
+ CHK_ERRNO( libxl_write_exactly(ctx, 1,
migrate_receiver_banner,
sizeof(migrate_receiver_banner)-1,
"migration ack stream",
@@ -2766,7 +2767,7 @@ static void migrate_receive(int debug, int daemonize)
fprintf(stderr, "migration target: Transfer complete,"
" requesting permission to start domain.\n");
- rc = libxl_write_exactly(&ctx, 1,
+ rc = libxl_write_exactly(ctx, 1,
migrate_receiver_ready,
sizeof(migrate_receiver_ready),
"migration ack stream", "ready message");
@@ -2780,18 +2781,18 @@ static void migrate_receive(int debug, int daemonize)
fprintf(stderr, "migration target: Got permission, starting domain.\n");
if (migration_domname) {
- rc = libxl_domain_rename(&ctx, domid, migration_domname, common_domname);
+ rc = libxl_domain_rename(ctx, domid, migration_domname, common_domname);
if (rc) goto perhaps_destroy_notify_rc;
}
- rc = libxl_domain_unpause(&ctx, domid);
+ rc = libxl_domain_unpause(ctx, domid);
if (rc) goto perhaps_destroy_notify_rc;
fprintf(stderr, "migration target: Domain started successsfully.\n");
rc = 0;
perhaps_destroy_notify_rc:
- rc2 = libxl_write_exactly(&ctx, 1,
+ rc2 = libxl_write_exactly(ctx, 1,
migrate_report, sizeof(migrate_report),
"migration ack stream",
"success/failure report");
@@ -2799,7 +2800,7 @@ static void migrate_receive(int debug, int daemonize)
rc_buf = -rc;
assert(!!rc_buf == !!rc);
- rc2 = libxl_write_exactly(&ctx, 1, &rc_buf, 1,
+ rc2 = libxl_write_exactly(ctx, 1, &rc_buf, 1,
"migration ack stream",
"success/failure code");
if (rc2) exit(-ERROR_BADFAIL);
@@ -2807,7 +2808,7 @@ static void migrate_receive(int debug, int daemonize)
if (rc) {
fprintf(stderr, "migration target: Failure, destroying our copy.\n");
- rc2 = libxl_domain_destroy(&ctx, domid, 1);
+ rc2 = libxl_domain_destroy(ctx, domid, 1);
if (rc2) {
fprintf(stderr, "migration target: Failed to destroy our copy"
" (code %d).\n", rc2);
@@ -2817,7 +2818,7 @@ static void migrate_receive(int debug, int daemonize)
fprintf(stderr, "migration target: Cleanup OK, granting sender"
" permission to resume.\n");
- rc2 = libxl_write_exactly(&ctx, 1,
+ rc2 = libxl_write_exactly(ctx, 1,
migrate_permission_to_go,
sizeof(migrate_permission_to_go),
"migration ack stream",
@@ -3197,7 +3198,7 @@ int main_list(int argc, char **argv)
}
if (optind >= argc) {
- info = libxl_list_domain(&ctx, &nb_domain);
+ info = libxl_list_domain(ctx, &nb_domain);
if (!info) {
fprintf(stderr, "libxl_domain_infolist failed.\n");
return 1;
@@ -3205,7 +3206,7 @@ int main_list(int argc, char **argv)
info_free = info;
} else if (optind == argc-1) {
find_domain(argv[optind]);
- rc = libxl_domain_info(&ctx, &info_buf, domid);
+ rc = libxl_domain_info(ctx, &info_buf, domid);
if (rc == ERROR_INVAL) {
fprintf(stderr, "Error: Domain \'%s\' does not exist.\n",
argv[optind]);
@@ -3356,7 +3357,7 @@ static void button_press(const char *p, const char *b)
exit(2);
}
- libxl_button_press(&ctx, domid, button);
+ libxl_button_press(ctx, domid, button);
}
int main_button_press(int argc, char **argv)
@@ -3444,7 +3445,7 @@ static void print_vcpuinfo(uint32_t tdomid,
char *domname;
/* NAME ID VCPU */
- domname = libxl_domid_to_name(&ctx, tdomid);
+ domname = libxl_domid_to_name(ctx, tdomid);
printf("%-32s %5u %5u",
domname, tdomid, vcpuinfo->vcpuid);
free(domname);
@@ -3469,7 +3470,7 @@ static void print_domain_vcpuinfo(uint32_t domid, uint32_t nr_cpus)
libxl_vcpuinfo *vcpuinfo;
int i, nb_vcpu, nrcpus;
- vcpuinfo = libxl_list_vcpu(&ctx, domid, &nb_vcpu, &nrcpus);
+ vcpuinfo = libxl_list_vcpu(ctx, domid, &nb_vcpu, &nrcpus);
if (!vcpuinfo) {
fprintf(stderr, "libxl_list_vcpu failed.\n");
@@ -3490,7 +3491,7 @@ static void vcpulist(int argc, char **argv)
libxl_physinfo physinfo;
int i, nb_domain;
- if (libxl_get_physinfo(&ctx, &physinfo) != 0) {
+ if (libxl_get_physinfo(ctx, &physinfo) != 0) {
fprintf(stderr, "libxl_physinfo failed.\n");
goto vcpulist_out;
}
@@ -3498,7 +3499,7 @@ static void vcpulist(int argc, char **argv)
printf("%-32s %5s %5s %5s %5s %9s %s\n",
"Name", "ID", "VCPU", "CPU", "State", "Time(s)", "CPU Affinity");
if (!argc) {
- if (!(dominfo = libxl_list_domain(&ctx, &nb_domain))) {
+ if (!(dominfo = libxl_list_domain(ctx, &nb_domain))) {
fprintf(stderr, "libxl_list_domain failed.\n");
goto vcpulist_out;
}
@@ -3561,7 +3562,7 @@ static void vcpupin(const char *d, const char *vcpu, char *cpu)
find_domain(d);
- if (libxl_cpumap_alloc(&ctx, &cpumap)) {
+ if (libxl_cpumap_alloc(ctx, &cpumap)) {
goto vcpupin_out;
}
if (strcmp(cpu, "all")) {
@@ -3592,17 +3593,17 @@ static void vcpupin(const char *d, const char *vcpu, char *cpu)
}
if (vcpuid != -1) {
- if (libxl_set_vcpuaffinity(&ctx, domid, vcpuid, &cpumap) == -1) {
+ if (libxl_set_vcpuaffinity(ctx, domid, vcpuid, &cpumap) == -1) {
fprintf(stderr, "Could not set affinity for vcpu `%u'.\n", vcpuid);
}
}
else {
- if (!(vcpuinfo = libxl_list_vcpu(&ctx, domid, &nb_vcpu, &i))) {
+ if (!(vcpuinfo = libxl_list_vcpu(ctx, domid, &nb_vcpu, &i))) {
fprintf(stderr, "libxl_list_vcpu failed.\n");
goto vcpupin_out1;
}
for (; nb_vcpu > 0; --nb_vcpu, ++vcpuinfo) {
- if (libxl_set_vcpuaffinity(&ctx, domid, vcpuinfo->vcpuid, &cpumap) == -1) {
+ if (libxl_set_vcpuaffinity(ctx, domid, vcpuinfo->vcpuid, &cpumap) == -1) {
fprintf(stderr, "libxl_set_vcpuaffinity failed on vcpu `%u'.\n", vcpuinfo->vcpuid);
}
}
@@ -3651,14 +3652,14 @@ static void vcpuset(const char *d, const char* nr_vcpus)
find_domain(d);
- if (libxl_cpumap_alloc(&ctx, &cpumap)) {
+ if (libxl_cpumap_alloc(ctx, &cpumap)) {
fprintf(stderr, "libxl_cpumap_alloc failed\n");
return;
}
for (i = 0; i < max_vcpus; i++)
libxl_cpumap_set(&cpumap, i);
- if (libxl_set_vcpuonline(&ctx, domid, &cpumap) < 0)
+ if (libxl_set_vcpuonline(ctx, domid, &cpumap) < 0)
fprintf(stderr, "libxl_set_vcpuonline failed domid=%d max_vcpus=%d\n", domid, max_vcpus);
libxl_cpumap_destroy(&cpumap);
@@ -3692,12 +3693,12 @@ static void output_xeninfo(void)
const libxl_version_info *info;
int sched_id;
- if (!(info = libxl_get_version_info(&ctx))) {
+ if (!(info = libxl_get_version_info(ctx))) {
fprintf(stderr, "libxl_get_version_info failed.\n");
return;
}
- if ((sched_id = libxl_get_sched_id(&ctx)) < 0) {
+ if ((sched_id = libxl_get_sched_id(ctx)) < 0) {
fprintf(stderr, "get_sched_id sysctl failed.\n");
return;
}
@@ -3706,7 +3707,7 @@ static void output_xeninfo(void)
printf("xen_minor : %d\n", info->xen_version_minor);
printf("xen_extra : %s\n", info->xen_version_extra);
printf("xen_caps : %s\n", info->capabilities);
- printf("xen_scheduler : %s\n", libxl_schedid_to_name(&ctx, sched_id));
+ printf("xen_scheduler : %s\n", libxl_schedid_to_name(ctx, sched_id));
printf("xen_pagesize : %lu\n", info->pagesize);
printf("platform_params : virt_start=0x%lx\n", info->virt_start);
printf("xen_changeset : %s\n", info->changeset);
@@ -3740,7 +3741,7 @@ static void output_physinfo(void)
libxl_cpumap cpumap;
int n = 0;
- if (libxl_get_physinfo(&ctx, &info) != 0) {
+ if (libxl_get_physinfo(ctx, &info) != 0) {
fprintf(stderr, "libxl_physinfo failed.\n");
return;
}
@@ -3759,13 +3760,13 @@ static void output_physinfo(void)
if (info.phys_cap & XEN_SYSCTL_PHYSCAP_hvm_directio)
printf(" hvm_directio");
printf("\n");
- vinfo = libxl_get_version_info(&ctx);
+ vinfo = libxl_get_version_info(ctx);
if (vinfo) {
i = (1 << 20) / vinfo->pagesize;
printf("total_memory : %"PRIu64"\n", info.total_pages / i);
printf("free_memory : %"PRIu64"\n", info.free_pages / i);
}
- if (!libxl_get_freecpus(&ctx, &cpumap)) {
+ if (!libxl_get_freecpus(ctx, &cpumap)) {
libxl_for_each_cpu(i, cpumap)
if (libxl_cpumap_test(&cpumap, i))
n++;
@@ -3781,7 +3782,7 @@ static void output_topologyinfo(void)
libxl_topologyinfo info;
int i;
- if (libxl_get_topologyinfo(&ctx, &info)) {
+ if (libxl_get_topologyinfo(ctx, &info)) {
fprintf(stderr, "libxl_get_topologyinfo failed.\n");
return;
}
@@ -3852,7 +3853,7 @@ static int sched_credit_domain_get(
{
int rc;
- rc = libxl_sched_credit_domain_get(&ctx, domid, scinfo);
+ rc = libxl_sched_credit_domain_get(ctx, domid, scinfo);
if (rc)
fprintf(stderr, "libxl_sched_credit_domain_get failed.\n");
@@ -3864,7 +3865,7 @@ static int sched_credit_domain_set(
{
int rc;
- rc = libxl_sched_credit_domain_set(&ctx, domid, scinfo);
+ rc = libxl_sched_credit_domain_set(ctx, domid, scinfo);
if (rc)
fprintf(stderr, "libxl_sched_credit_domain_set failed.\n");
@@ -3875,7 +3876,7 @@ static void sched_credit_domain_output(
int domid, libxl_sched_credit *scinfo)
{
char *domname;
- domname = libxl_domid_to_name(&ctx, domid);
+ domname = libxl_domid_to_name(ctx, domid);
printf("%-33s %4d %6d %4d\n",
domname,
domid,
@@ -3921,7 +3922,7 @@ int main_sched_credit(int argc, char **argv)
}
if (!dom) { /* list all domain's credit scheduler info */
- info = libxl_list_domain(&ctx, &nb_domain);
+ info = libxl_list_domain(ctx, &nb_domain);
if (!info) {
fprintf(stderr, "libxl_domain_infolist failed.\n");
return 1;
@@ -3981,7 +3982,7 @@ int main_domid(int argc, char **argv)
return 1;
}
- if (libxl_name_to_domid(&ctx, domname, &domid)) {
+ if (libxl_name_to_domid(ctx, domname, &domid)) {
fprintf(stderr, "Can't get domid of domain name '%s', maybe this domain does not exist.\n", domname);
return 1;
}
@@ -4020,7 +4021,7 @@ int main_domname(int argc, char **argv)
return 1;
}
- domname = libxl_domid_to_name(&ctx, domid);
+ domname = libxl_domid_to_name(ctx, domid);
if (!domname) {
fprintf(stderr, "Can't get domain name of domain id '%d', maybe this domain does not exist.\n", domid);
return 1;
@@ -4059,7 +4060,7 @@ int main_rename(int argc, char **argv)
find_domain(dom);
new_name = argv[optind];
- if (libxl_domain_rename(&ctx, domid, common_domname, new_name)) {
+ if (libxl_domain_rename(ctx, domid, common_domname, new_name)) {
fprintf(stderr, "Can't rename domain '%s'.\n", dom);
return 1;
}
@@ -4104,7 +4105,7 @@ int main_trigger(int argc, char **argv)
}
}
- libxl_send_trigger(&ctx, domid, trigger_name, vcpuid);
+ libxl_send_trigger(ctx, domid, trigger_name, vcpuid);
return 0;
}
@@ -4144,7 +4145,7 @@ int main_sysrq(int argc, char **argv)
return 1;
}
- libxl_send_sysrq(&ctx, domid, sysrq[0]);
+ libxl_send_sysrq(ctx, domid, sysrq[0]);
return 0;
}
@@ -4171,7 +4172,7 @@ int main_debug_keys(int argc, char **argv)
keys = argv[optind];
- if (libxl_send_debug_keys(&ctx, keys)) {
+ if (libxl_send_debug_keys(ctx, keys)) {
fprintf(stderr, "cannot send debug keys: %s\n", keys);
return 1;
}
@@ -4200,15 +4201,15 @@ int main_dmesg(int argc, char **argv)
}
}
- cr = libxl_xen_console_read_start(&ctx, clear);
+ cr = libxl_xen_console_read_start(ctx, clear);
if (!cr)
goto finish;
- while ((ret = libxl_xen_console_read_line(&ctx, cr, &line)) > 0)
+ while ((ret = libxl_xen_console_read_line(ctx, cr, &line)) > 0)
printf("%s", line);
finish:
- libxl_xen_console_read_finish(&ctx, cr);
+ libxl_xen_console_read_finish(ctx, cr);
return ret;
}
@@ -4289,7 +4290,7 @@ int main_networkattach(int argc, char **argv)
free(nic.script);
nic.script = strdup((*argv) + 6);
} else if (!strncmp("backend=", *argv, 8)) {
- if(libxl_name_to_domid(&ctx, ((*argv) + 8), &val)) {
+ if(libxl_name_to_domid(ctx, ((*argv) + 8), &val)) {
fprintf(stderr, "Specified backend domain does not exist, defaulting to Dom0\n");
val = 0;
}
@@ -4308,7 +4309,7 @@ int main_networkattach(int argc, char **argv)
}
}
nic.domid = domid;
- if (libxl_device_nic_add(&ctx, domid, &nic)) {
+ if (libxl_device_nic_add(ctx, domid, &nic)) {
fprintf(stderr, "libxl_device_nic_add failed.\n");
return 1;
}
@@ -4345,7 +4346,7 @@ int main_networklist(int argc, char **argv)
fprintf(stderr, "%s is an invalid domain identifier\n", *argv);
continue;
}
- if (!(nics = libxl_list_nics(&ctx, domid, &nb))) {
+ if (!(nics = libxl_list_nics(ctx, domid, &nb))) {
continue;
}
for (i = 0; i < nb; ++i) {
@@ -4392,17 +4393,17 @@ int main_networkdetach(int argc, char **argv)
}
if (!strchr(argv[optind+1], ':')) {
- if (libxl_devid_to_device_nic(&ctx, domid, argv[optind+1], &nic)) {
+ if (libxl_devid_to_device_nic(ctx, domid, argv[optind+1], &nic)) {
fprintf(stderr, "Unknown device %s.\n", argv[optind+1]);
return 1;
}
} else {
- if (libxl_mac_to_device_nic(&ctx, domid, argv[optind+1], &nic)) {
+ if (libxl_mac_to_device_nic(ctx, domid, argv[optind+1], &nic)) {
fprintf(stderr, "Unknown device %s.\n", argv[optind+1]);
return 1;
}
}
- if (libxl_device_nic_del(&ctx, &nic, 1)) {
+ if (libxl_device_nic_del(ctx, &nic, 1)) {
fprintf(stderr, "libxl_device_nic_del failed.\n");
return 1;
}
@@ -4480,7 +4481,7 @@ int main_blockattach(int argc, char **argv)
disk.domid = fe_domid;
disk.backend_domid = be_domid;
- if (libxl_device_disk_add(&ctx, fe_domid, &disk)) {
+ if (libxl_device_disk_add(ctx, fe_domid, &disk)) {
fprintf(stderr, "libxl_device_disk_add failed.\n");
}
return 0;
@@ -4515,12 +4516,12 @@ int main_blocklist(int argc, char **argv)
fprintf(stderr, "%s is an invalid domain identifier\n", *argv);
continue;
}
- disks = libxl_device_disk_list(&ctx, domid, &nb);
+ disks = libxl_device_disk_list(ctx, domid, &nb);
if (!disks) {
continue;
}
for (i=0; i<nb; i++) {
- if (!libxl_device_disk_getinfo(&ctx, domid, &disks[i], &diskinfo)) {
+ if (!libxl_device_disk_getinfo(ctx, domid, &disks[i], &diskinfo)) {
/* Vdev BE hdl st evch rref BE-path*/
printf("%-5d %-3d %-6d %-5d %-6d %-8d %-30s\n",
diskinfo.devid, diskinfo.backend_id, diskinfo.frontend_id,
@@ -4558,11 +4559,11 @@ int main_blockdetach(int argc, char **argv)
fprintf(stderr, "%s is an invalid domain identifier\n", argv[optind]);
return 1;
}
- if (libxl_devid_to_device_disk(&ctx, domid, argv[optind+1], &disk)) {
+ if (libxl_devid_to_device_disk(ctx, domid, argv[optind+1], &disk)) {
fprintf(stderr, "Error: Device %s not connected.\n", argv[optind+1]);
return 1;
}
- if (libxl_device_disk_del(&ctx, &disk, 1)) {
+ if (libxl_device_disk_del(ctx, &disk, 1)) {
fprintf(stderr, "libxl_device_disk_del failed.\n");
}
return 0;
@@ -4659,7 +4660,7 @@ int main_network2attach(int argc, char **argv)
}
net2.domid = domid;
net2.backend_domid = back_domid;
- if (libxl_device_net2_add(&ctx, domid, &net2)) {
+ if (libxl_device_net2_add(ctx, domid, &net2)) {
fprintf(stderr, "libxl_device_net2_add failed.\n");
}
return 0;
@@ -4694,7 +4695,7 @@ int main_network2list(int argc, char **argv)
fprintf(stderr, "%s is an invalid domain identifier\n", *argv);
continue;
}
- if ((net2s = libxl_device_net2_list(&ctx, domid, &nb))) {
+ if ((net2s = libxl_device_net2_list(ctx, domid, &nb))) {
for (; nb > 0; --nb, ++net2s) {
printf("%3d %2d %5d ", net2s->devid, net2s->backend_id, net2s->state);
printf("%02x:%02x:%02x:%02x:%02x:%02x ",
@@ -4734,11 +4735,11 @@ int main_network2detach(int argc, char **argv)
fprintf(stderr, "%s is an invalid domain identifier\n", argv[optind]);
return 1;
}
- if (libxl_devid_to_device_net2(&ctx, domid, argv[optind+1], &net2)) {
+ if (libxl_devid_to_device_net2(ctx, domid, argv[optind+1], &net2)) {
fprintf(stderr, "Error: Device %s not connected.\n", argv[optind+1]);
return 1;
}
- if (libxl_device_net2_del(&ctx, &net2, 1)) {
+ if (libxl_device_net2_del(ctx, &net2, 1)) {
fprintf(stderr, "libxl_device_net2_del failed.\n");
return 1;
}
@@ -4818,7 +4819,7 @@ static void print_dom0_uptime(int short_mode, time_t now)
strtok(buf, " ");
uptime = strtoul(buf, NULL, 10);
- domname = libxl_domid_to_name(&ctx, 0);
+ domname = libxl_domid_to_name(ctx, 0);
if (short_mode)
{
now_str = current_time_to_string(now);
@@ -4851,11 +4852,11 @@ static void print_domU_uptime(uint32_t domuid, int short_mode, time_t now)
char *now_str = NULL;
char *domname;
- s_time = libxl_vm_get_start_time(&ctx, domuid);
+ s_time = libxl_vm_get_start_time(ctx, domuid);
if (s_time == -1)
return;
uptime = now - s_time;
- domname = libxl_domid_to_name(&ctx, domuid);
+ domname = libxl_domid_to_name(ctx, domuid);
if (short_mode)
{
now_str = current_time_to_string(now);
@@ -4890,7 +4891,7 @@ static void print_uptime(int short_mode, uint32_t doms[], int nb_doms)
if (nb_doms == 0) {
print_dom0_uptime(short_mode, now);
- info = libxl_list_vm(&ctx, &nb_vm);
+ info = libxl_list_vm(ctx, &nb_vm);
for (i = 0; i < nb_vm; i++)
print_domU_uptime(info[i].domid, short_mode, now);
} else {
@@ -4972,7 +4973,7 @@ int main_tmem_list(int argc, char **argv)
else
find_domain(dom);
- buf = libxl_tmem_list(&ctx, domid, use_long);
+ buf = libxl_tmem_list(ctx, domid, use_long);
if (buf == NULL)
return -1;
@@ -5013,7 +5014,7 @@ int main_tmem_freeze(int argc, char **argv)
else
find_domain(dom);
- libxl_tmem_freeze(&ctx, domid);
+ libxl_tmem_freeze(ctx, domid);
return 0;
}
@@ -5049,7 +5050,7 @@ int main_tmem_destroy(int argc, char **argv)
else
find_domain(dom);
- libxl_tmem_destroy(&ctx, domid);
+ libxl_tmem_destroy(ctx, domid);
return 0;
}
@@ -5085,7 +5086,7 @@ int main_tmem_thaw(int argc, char **argv)
else
find_domain(dom);
- libxl_tmem_thaw(&ctx, domid);
+ libxl_tmem_thaw(ctx, domid);
return 0;
}
@@ -5142,11 +5143,11 @@ int main_tmem_set(int argc, char **argv)
}
if (opt_w)
- libxl_tmem_set(&ctx, domid, "weight", weight);
+ libxl_tmem_set(ctx, domid, "weight", weight);
if (opt_c)
- libxl_tmem_set(&ctx, domid, "cap", cap);
+ libxl_tmem_set(ctx, domid, "cap", cap);
if (opt_p)
- libxl_tmem_set(&ctx, domid, "compress", compress);
+ libxl_tmem_set(ctx, domid, "compress", compress);
return 0;
}
@@ -5205,7 +5206,7 @@ int main_tmem_shared_auth(int argc, char **argv)
return 1;
}
- libxl_tmem_shared_auth(&ctx, domid, uuid, auth);
+ libxl_tmem_shared_auth(ctx, domid, uuid, auth);
return 0;
}
@@ -5226,7 +5227,7 @@ int main_tmem_freeable(int argc, char **argv)
}
}
- mb = libxl_tmem_freeable(&ctx);
+ mb = libxl_tmem_freeable(ctx);
if (mb == -1)
return -1;
@@ -5307,7 +5308,7 @@ int main_cpupoolcreate(int argc, char **argv)
return -ERROR_FAIL;
}
- if (libxl_read_file_contents(&ctx, filename, (void **)&config_data, &config_len)) {
+ if (libxl_read_file_contents(ctx, filename, (void **)&config_data, &config_len)) {
fprintf(stderr, "Failed to read config file: %s: %s\n",
filename, strerror(errno));
return -ERROR_FAIL;
@@ -5345,36 +5346,36 @@ int main_cpupoolcreate(int argc, char **argv)
name = strdup(buf);
else
name = libxl_basename(filename);
- if (!libxl_name_to_cpupoolid(&ctx, name, &poolid)) {
+ if (!libxl_name_to_cpupoolid(ctx, name, &poolid)) {
fprintf(stderr, "Pool name \"%s\" already exists\n", name);
return -ERROR_FAIL;
}
if (!xlu_cfg_get_string (config, "sched", &buf)) {
- if ((schedid = libxl_name_to_schedid(&ctx, buf)) < 0) {
+ if ((schedid = libxl_name_to_schedid(ctx, buf)) < 0) {
fprintf(stderr, "Unknown scheduler\n");
return -ERROR_FAIL;
}
} else {
- if ((schedid = libxl_get_sched_id(&ctx)) < 0) {
+ if ((schedid = libxl_get_sched_id(ctx)) < 0) {
fprintf(stderr, "get_sched_id sysctl failed.\n");
return -ERROR_FAIL;
}
}
- sched = libxl_schedid_to_name(&ctx, schedid);
+ sched = libxl_schedid_to_name(ctx, schedid);
- if (libxl_get_freecpus(&ctx, &freemap)) {
+ if (libxl_get_freecpus(ctx, &freemap)) {
fprintf(stderr, "libxl_get_freecpus failed\n");
return -ERROR_FAIL;
}
- if (libxl_cpumap_alloc(&ctx, &cpumap)) {
+ if (libxl_cpumap_alloc(ctx, &cpumap)) {
fprintf(stderr, "Failed to allocate cpumap\n");
return -ERROR_FAIL;
}
if (!xlu_cfg_get_list(config, "nodes", &nodes, 0, 0)) {
n_cpus = 0;
n_nodes = 0;
- if (libxl_get_topologyinfo(&ctx, &topology)) {
+ if (libxl_get_topologyinfo(ctx, &topology)) {
fprintf(stderr, "libxl_get_topologyinfo failed\n");
return -ERROR_FAIL;
}
@@ -5434,7 +5435,7 @@ int main_cpupoolcreate(int argc, char **argv)
return 0;
poolid = 0;
- if (libxl_create_cpupool(&ctx, name, schedid, cpumap, &uuid, &poolid)) {
+ if (libxl_create_cpupool(ctx, name, schedid, cpumap, &uuid, &poolid)) {
fprintf(stderr, "error on creating cpupool\n");
return -ERROR_FAIL;
}
@@ -5488,13 +5489,13 @@ int main_cpupoollist(int argc, char **argv)
}
if (optind < argc) {
pool = argv[optind];
- if (libxl_name_to_cpupoolid(&ctx, pool, &poolid)) {
+ if (libxl_name_to_cpupoolid(ctx, pool, &poolid)) {
fprintf(stderr, "Pool \'%s\' does not exist\n", pool);
return -ERROR_FAIL;
}
}
- poolinfo = libxl_list_cpupool(&ctx, &n_pools);
+ poolinfo = libxl_list_cpupool(ctx, &n_pools);
if (!poolinfo) {
fprintf(stderr, "error getting cpupool info\n");
return -ERROR_NOMEM;
@@ -5508,7 +5509,7 @@ int main_cpupoollist(int argc, char **argv)
for (p = 0; p < n_pools; p++) {
if (!ret && (!pool || (poolinfo[p].poolid == poolid))) {
- name = libxl_cpupoolid_to_name(&ctx, poolinfo[p].poolid);
+ name = libxl_cpupoolid_to_name(ctx, poolinfo[p].poolid);
if (!name) {
fprintf(stderr, "error getting cpupool info\n");
ret = -ERROR_NOMEM;
@@ -5524,7 +5525,7 @@ int main_cpupoollist(int argc, char **argv)
}
if (!opt_cpus) {
printf("%3d %9s y %4d", n,
- libxl_schedid_to_name(&ctx, poolinfo[p].sched_id),
+ libxl_schedid_to_name(ctx, poolinfo[p].sched_id),
poolinfo[p].n_dom);
}
printf("\n");
@@ -5561,12 +5562,12 @@ int main_cpupooldestroy(int argc, char **argv)
}
if (cpupool_qualifier_to_cpupoolid(pool, &poolid, NULL) ||
- !libxl_cpupoolid_to_name(&ctx, poolid)) {
+ !libxl_cpupoolid_to_name(ctx, poolid)) {
fprintf(stderr, "unknown cpupool \'%s\'\n", pool);
return -ERROR_FAIL;
}
- return -libxl_destroy_cpupool(&ctx, poolid);
+ return -libxl_destroy_cpupool(ctx, poolid);
}
int main_cpupoolrename(int argc, char **argv)
@@ -5595,14 +5596,14 @@ int main_cpupoolrename(int argc, char **argv)
}
if (cpupool_qualifier_to_cpupoolid(pool, &poolid, NULL) ||
- !libxl_cpupoolid_to_name(&ctx, poolid)) {
+ !libxl_cpupoolid_to_name(ctx, poolid)) {
fprintf(stderr, "unknown cpupool \'%s\'\n", pool);
return -ERROR_FAIL;
}
new_name = argv[optind];
- if (libxl_cpupool_rename(&ctx, new_name, poolid)) {
+ if (libxl_cpupool_rename(ctx, new_name, poolid)) {
fprintf(stderr, "Can't rename cpupool '%s'.\n", pool);
return 1;
}
@@ -5651,16 +5652,16 @@ int main_cpupoolcpuadd(int argc, char **argv)
}
if (cpupool_qualifier_to_cpupoolid(pool, &poolid, NULL) ||
- !libxl_cpupoolid_to_name(&ctx, poolid)) {
+ !libxl_cpupoolid_to_name(ctx, poolid)) {
fprintf(stderr, "unknown cpupool \'%s\'\n", pool);
return -ERROR_FAIL;
}
if (cpu >= 0) {
- return -libxl_cpupool_cpuadd(&ctx, poolid, cpu);
+ return -libxl_cpupool_cpuadd(ctx, poolid, cpu);
}
- if (libxl_cpupool_cpuadd_node(&ctx, poolid, node, &n)) {
+ if (libxl_cpupool_cpuadd_node(ctx, poolid, node, &n)) {
fprintf(stderr, "libxl_cpupool_cpuadd_node failed\n");
return -ERROR_FAIL;
}
@@ -5714,16 +5715,16 @@ int main_cpupoolcpuremove(int argc, char **argv)
}
if (cpupool_qualifier_to_cpupoolid(pool, &poolid, NULL) ||
- !libxl_cpupoolid_to_name(&ctx, poolid)) {
+ !libxl_cpupoolid_to_name(ctx, poolid)) {
fprintf(stderr, "unknown cpupool \'%s\'\n", pool);
return -ERROR_FAIL;
}
if (cpu >= 0) {
- return -libxl_cpupool_cpuremove(&ctx, poolid, cpu);
+ return -libxl_cpupool_cpuremove(ctx, poolid, cpu);
}
- if (libxl_cpupool_cpuremove_node(&ctx, poolid, node, &n)) {
+ if (libxl_cpupool_cpuremove_node(ctx, poolid, node, &n)) {
fprintf(stderr, "libxl_cpupool_cpuremove_node failed\n");
return -ERROR_FAIL;
}
@@ -5770,18 +5771,18 @@ int main_cpupoolmigrate(int argc, char **argv)
}
if (domain_qualifier_to_domid(dom, &domid, NULL) ||
- !libxl_domid_to_name(&ctx, domid)) {
+ !libxl_domid_to_name(ctx, domid)) {
fprintf(stderr, "unknown domain \'%s\'\n", dom);
return -ERROR_FAIL;
}
if (cpupool_qualifier_to_cpupoolid(pool, &poolid, NULL) ||
- !libxl_cpupoolid_to_name(&ctx, poolid)) {
+ !libxl_cpupoolid_to_name(ctx, poolid)) {
fprintf(stderr, "unknown cpupool \'%s\'\n", pool);
return -ERROR_FAIL;
}
- return -libxl_cpupool_movedomain(&ctx, poolid, domid);
+ return -libxl_cpupool_movedomain(ctx, poolid, domid);
}
int main_cpupoolnumasplit(int argc, char **argv)
@@ -5814,7 +5815,7 @@ int main_cpupoolnumasplit(int argc, char **argv)
}
ret = 0;
- poolinfo = libxl_list_cpupool(&ctx, &n_pools);
+ poolinfo = libxl_list_cpupool(ctx, &n_pools);
if (!poolinfo) {
fprintf(stderr, "error getting cpupool info\n");
return -ERROR_NOMEM;
@@ -5829,12 +5830,12 @@ int main_cpupoolnumasplit(int argc, char **argv)
return -ERROR_FAIL;
}
- if (libxl_get_topologyinfo(&ctx, &topology)) {
+ if (libxl_get_topologyinfo(ctx, &topology)) {
fprintf(stderr, "libxl_get_topologyinfo failed\n");
return -ERROR_FAIL;
}
- if (libxl_cpumap_alloc(&ctx, &cpumap)) {
+ if (libxl_cpumap_alloc(ctx, &cpumap)) {
fprintf(stderr, "Failed to allocate cpumap\n");
libxl_topologyinfo_destroy(&topology);
return -ERROR_FAIL;
@@ -5844,13 +5845,13 @@ int main_cpupoolnumasplit(int argc, char **argv)
a cpupool without cpus in between */
node = topology.nodemap.array[0];
- if (libxl_cpupool_cpuadd_node(&ctx, 0, node, &n)) {
+ if (libxl_cpupool_cpuadd_node(ctx, 0, node, &n)) {
fprintf(stderr, "error on adding cpu to Pool 0\n");
return -ERROR_FAIL;
}
snprintf(name, 15, "Pool-node%d", node);
- ret = -libxl_cpupool_rename(&ctx, name, 0);
+ ret = -libxl_cpupool_rename(ctx, name, 0);
if (ret) {
fprintf(stderr, "error on renaming Pool 0\n");
goto out;
@@ -5864,12 +5865,12 @@ int main_cpupoolnumasplit(int argc, char **argv)
n++;
}
}
- if (libxl_set_vcpuonline(&ctx, 0, &cpumap)) {
+ if (libxl_set_vcpuonline(ctx, 0, &cpumap)) {
fprintf(stderr, "error on removing vcpus for Domain-0\n");
goto out;
}
for (c = 0; c < 10; c++) {
- if (libxl_domain_info(&ctx, &info, 0)) {
+ if (libxl_domain_info(ctx, &info, 0)) {
fprintf(stderr, "error on getting info for Domain-0\n");
goto out;
}
@@ -5890,7 +5891,7 @@ int main_cpupoolnumasplit(int argc, char **argv)
}
node = topology.nodemap.array[c];
- ret = -libxl_cpupool_cpuremove_node(&ctx, 0, node, &n);
+ ret = -libxl_cpupool_cpuremove_node(ctx, 0, node, &n);
if (ret) {
fprintf(stderr, "error on removing cpu from Pool 0\n");
goto out;
@@ -5899,13 +5900,13 @@ int main_cpupoolnumasplit(int argc, char **argv)
snprintf(name, 15, "Pool-node%d", node);
libxl_uuid_generate(&uuid);
poolid = 0;
- ret = -libxl_create_cpupool(&ctx, name, schedid, cpumap, &uuid, &poolid);
+ ret = -libxl_create_cpupool(ctx, name, schedid, cpumap, &uuid, &poolid);
if (ret) {
fprintf(stderr, "error on creating cpupool\n");
goto out;
}
- ret = -libxl_cpupool_cpuadd_node(&ctx, poolid, node, &n);
+ ret = -libxl_cpupool_cpuadd_node(ctx, poolid, node, &n);
if (ret) {
fprintf(stderr, "error on adding cpus to cpupool\n");
goto out;
diff --git a/tools/ocaml/libs/xl/xl_stubs.c b/tools/ocaml/libs/xl/xl_stubs.c
index 33aba54ab0..81c8ea2afd 100644
--- a/tools/ocaml/libs/xl/xl_stubs.c
+++ b/tools/ocaml/libs/xl/xl_stubs.c
@@ -52,21 +52,21 @@ void log_destroy(struct xentoollog_logger *logger)
{
}
-#define INIT_STRUCT() libxl_ctx ctx; struct caml_logger lg; struct caml_gc gc; gc.offset = 0;
+#define INIT_STRUCT() libxl_ctx *ctx; struct caml_logger lg; struct caml_gc gc; gc.offset = 0;
#define INIT_CTX() \
lg.logger.vmessage = log_vmessage; \
lg.logger.destroy = log_destroy; \
lg.logger.progress = NULL; \
caml_enter_blocking_section(); \
- ret = libxl_ctx_init(&ctx, LIBXL_VERSION, (struct xentoollog_logger *) &lg); \
+ ret = libxl_ctx_alloc(&ctx, LIBXL_VERSION, (struct xentoollog_logger *) &lg); \
if (ret != 0) \
failwith_xl("cannot init context", &lg);
#define FREE_CTX() \
gc_free(&gc); \
caml_leave_blocking_section(); \
- libxl_ctx_free(&ctx)
+ libxl_ctx_free(ctx)
static char * dup_String_val(caml_gc *gc, value s)
{
@@ -379,7 +379,7 @@ value stub_xl_disk_add(value info, value domid)
c_info.domid = Int_val(domid);
INIT_CTX();
- ret = libxl_device_disk_add(&ctx, Int_val(domid), &c_info);
+ ret = libxl_device_disk_add(ctx, Int_val(domid), &c_info);
if (ret != 0)
failwith_xl("disk_add", &lg);
FREE_CTX();
@@ -397,7 +397,7 @@ value stub_xl_disk_remove(value info, value domid)
c_info.domid = Int_val(domid);
INIT_CTX();
- ret = libxl_device_disk_del(&ctx, &c_info, 0);
+ ret = libxl_device_disk_del(ctx, &c_info, 0);
if (ret != 0)
failwith_xl("disk_remove", &lg);
FREE_CTX();
@@ -415,7 +415,7 @@ value stub_xl_nic_add(value info, value domid)
c_info.domid = Int_val(domid);
INIT_CTX();
- ret = libxl_device_nic_add(&ctx, Int_val(domid), &c_info);
+ ret = libxl_device_nic_add(ctx, Int_val(domid), &c_info);
if (ret != 0)
failwith_xl("nic_add", &lg);
FREE_CTX();
@@ -433,7 +433,7 @@ value stub_xl_nic_remove(value info, value domid)
c_info.domid = Int_val(domid);
INIT_CTX();
- ret = libxl_device_nic_del(&ctx, &c_info, 0);
+ ret = libxl_device_nic_del(ctx, &c_info, 0);
if (ret != 0)
failwith_xl("nic_remove", &lg);
FREE_CTX();
@@ -454,7 +454,7 @@ value stub_xl_console_add(value info, value state, value domid)
c_info.build_state = &c_state;
INIT_CTX();
- ret = libxl_device_console_add(&ctx, Int_val(domid), &c_info);
+ ret = libxl_device_console_add(ctx, Int_val(domid), &c_info);
if (ret != 0)
failwith_xl("console_add", &lg);
FREE_CTX();
@@ -472,7 +472,7 @@ value stub_xl_vkb_add(value info, value domid)
c_info.domid = Int_val(domid);
INIT_CTX();
- ret = libxl_device_vkb_add(&ctx, Int_val(domid), &c_info);
+ ret = libxl_device_vkb_add(ctx, Int_val(domid), &c_info);
if (ret != 0)
failwith_xl("vkb_add", &lg);
FREE_CTX();
@@ -487,7 +487,7 @@ value stub_xl_vkb_clean_shutdown(value domid)
INIT_STRUCT();
INIT_CTX();
- ret = libxl_device_vkb_clean_shutdown(&ctx, Int_val(domid));
+ ret = libxl_device_vkb_clean_shutdown(ctx, Int_val(domid));
if (ret != 0)
failwith_xl("vkb_clean_shutdown", &lg);
FREE_CTX();
@@ -502,7 +502,7 @@ value stub_xl_vkb_hard_shutdown(value domid)
INIT_STRUCT();
INIT_CTX();
- ret = libxl_device_vkb_hard_shutdown(&ctx, Int_val(domid));
+ ret = libxl_device_vkb_hard_shutdown(ctx, Int_val(domid));
if (ret != 0)
failwith_xl("vkb_hard_shutdown", &lg);
FREE_CTX();
@@ -521,7 +521,7 @@ value stub_xl_vfb_add(value info, value domid)
c_info.domid = Int_val(domid);
INIT_CTX();
- ret = libxl_device_vfb_add(&ctx, Int_val(domid), &c_info);
+ ret = libxl_device_vfb_add(ctx, Int_val(domid), &c_info);
if (ret != 0)
failwith_xl("vfb_add", &lg);
FREE_CTX();
@@ -536,7 +536,7 @@ value stub_xl_vfb_clean_shutdown(value domid)
INIT_STRUCT();
INIT_CTX();
- ret = libxl_device_vfb_clean_shutdown(&ctx, Int_val(domid));
+ ret = libxl_device_vfb_clean_shutdown(ctx, Int_val(domid));
if (ret != 0)
failwith_xl("vfb_clean_shutdown", &lg);
FREE_CTX();
@@ -551,7 +551,7 @@ value stub_xl_vfb_hard_shutdown(value domid)
INIT_STRUCT();
INIT_CTX();
- ret = libxl_device_vfb_hard_shutdown(&ctx, Int_val(domid));
+ ret = libxl_device_vfb_hard_shutdown(ctx, Int_val(domid));
if (ret != 0)
failwith_xl("vfb_hard_shutdown", &lg);
FREE_CTX();
@@ -569,7 +569,7 @@ value stub_xl_pci_add(value info, value domid)
device_pci_val(&gc, &c_info, info);
INIT_CTX();
- ret = libxl_device_pci_add(&ctx, Int_val(domid), &c_info);
+ ret = libxl_device_pci_add(ctx, Int_val(domid), &c_info);
if (ret != 0)
failwith_xl("pci_add", &lg);
FREE_CTX();
@@ -587,7 +587,7 @@ value stub_xl_pci_remove(value info, value domid)
device_pci_val(&gc, &c_info, info);
INIT_CTX();
- ret = libxl_device_pci_remove(&ctx, Int_val(domid), &c_info, 0);
+ ret = libxl_device_pci_remove(ctx, Int_val(domid), &c_info, 0);
if (ret != 0)
failwith_xl("pci_remove", &lg);
FREE_CTX();
@@ -602,7 +602,7 @@ value stub_xl_pci_shutdown(value domid)
INIT_STRUCT();
INIT_CTX();
- ret = libxl_device_pci_shutdown(&ctx, Int_val(domid));
+ ret = libxl_device_pci_shutdown(ctx, Int_val(domid));
if (ret != 0)
failwith_xl("pci_shutdown", &lg);
FREE_CTX();
@@ -617,7 +617,7 @@ value stub_xl_button_press(value domid, value button)
INIT_STRUCT();
INIT_CTX();
- ret = libxl_button_press(&ctx, Int_val(domid), Int_val(button) + POWER_BUTTON);
+ ret = libxl_button_press(ctx, Int_val(domid), Int_val(button) + POWER_BUTTON);
if (ret != 0)
failwith_xl("button_press", &lg);
FREE_CTX();
@@ -634,7 +634,7 @@ value stub_xl_physinfo(value unit)
INIT_STRUCT();
INIT_CTX();
- ret = libxl_get_physinfo(&ctx, &c_physinfo);
+ ret = libxl_get_physinfo(ctx, &c_physinfo);
if (ret != 0)
failwith_xl("physinfo", &lg);
FREE_CTX();
@@ -652,7 +652,7 @@ value stub_xl_topologyinfo(value unit)
INIT_STRUCT();
INIT_CTX();
- ret = libxl_get_topologyinfo(&ctx, &c_topologyinfo);
+ ret = libxl_get_topologyinfo(ctx, &c_topologyinfo);
if (ret != 0)
failwith_xl("topologyinfo", &lg);
FREE_CTX();
@@ -670,7 +670,7 @@ value stub_xl_sched_credit_domain_get(value domid)
INIT_STRUCT();
INIT_CTX();
- ret = libxl_sched_credit_domain_get(&ctx, Int_val(domid), &c_scinfo);
+ ret = libxl_sched_credit_domain_get(ctx, Int_val(domid), &c_scinfo);
if (ret != 0)
failwith_xl("sched_credit_domain_get", &lg);
FREE_CTX();
@@ -689,7 +689,7 @@ value stub_xl_sched_credit_domain_set(value domid, value scinfo)
sched_credit_val(&gc, &c_scinfo, scinfo);
INIT_CTX();
- ret = libxl_sched_credit_domain_set(&ctx, Int_val(domid), &c_scinfo);
+ ret = libxl_sched_credit_domain_set(ctx, Int_val(domid), &c_scinfo);
if (ret != 0)
failwith_xl("sched_credit_domain_set", &lg);
FREE_CTX();
@@ -707,7 +707,7 @@ value stub_xl_send_trigger(value domid, value trigger, value vcpuid)
c_trigger = dup_String_val(&gc, trigger);
INIT_CTX();
- ret = libxl_send_trigger(&ctx, Int_val(domid), c_trigger, Int_val(vcpuid));
+ ret = libxl_send_trigger(ctx, Int_val(domid), c_trigger, Int_val(vcpuid));
if (ret != 0)
failwith_xl("send_trigger", &lg);
FREE_CTX();
@@ -721,7 +721,7 @@ value stub_xl_send_sysrq(value domid, value sysrq)
INIT_STRUCT();
INIT_CTX();
- ret = libxl_send_sysrq(&ctx, Int_val(domid), Int_val(sysrq));
+ ret = libxl_send_sysrq(ctx, Int_val(domid), Int_val(sysrq));
if (ret != 0)
failwith_xl("send_sysrq", &lg);
FREE_CTX();
@@ -738,7 +738,7 @@ value stub_xl_send_debug_keys(value keys)
c_keys = dup_String_val(&gc, keys);
INIT_CTX();
- ret = libxl_send_debug_keys(&ctx, c_keys);
+ ret = libxl_send_debug_keys(ctx, c_keys);
if (ret != 0)
failwith_xl("send_debug_keys", &lg);
FREE_CTX();
diff --git a/tools/python/setup.py b/tools/python/setup.py
index dd88de89ef..81540bcf49 100644
--- a/tools/python/setup.py
+++ b/tools/python/setup.py
@@ -83,7 +83,7 @@ netlink = Extension("netlink",
xl = Extension("xl",
extra_compile_args = extra_compile_args,
- include_dirs = [ PATH_XEN, PATH_LIBXL, PATH_LIBXC, PATH_XENSTORE, "xen/lowlevel/xl" ],
+ include_dirs = [ PATH_XEN, PATH_LIBXL, PATH_LIBXC, "xen/lowlevel/xl" ],
library_dirs = [ PATH_LIBXL ],
libraries = [ "xenlight" ],
depends = [ PATH_LIBXL + "/libxenlight.so" ],
diff --git a/tools/python/xen/lowlevel/xl/xl.c b/tools/python/xen/lowlevel/xl/xl.c
index 1a2ce8f8a9..9910c449da 100644
--- a/tools/python/xen/lowlevel/xl/xl.c
+++ b/tools/python/xen/lowlevel/xl/xl.c
@@ -370,7 +370,7 @@ PyObject *attrib__struct_in_addr_get(struct in_addr *pptr)
typedef struct {
PyObject_HEAD;
- libxl_ctx ctx;
+ libxl_ctx *ctx;
xentoollog_logger_stdiostream *logger;
xentoollog_level minmsglevel;
} XlObject;
@@ -381,7 +381,7 @@ static PyObject *pyxl_list_domains(XlObject *self)
PyObject *list;
int nr_dom, i;
- info = libxl_list_domain(&self->ctx, &nr_dom);
+ info = libxl_list_domain(self->ctx, &nr_dom);
if ( NULL == info )
return PyList_New(0);
@@ -416,7 +416,7 @@ static PyObject *pyxl_domid_to_name(XlObject *self, PyObject *args)
if ( !PyArg_ParseTuple(args, "i", &domid) )
return NULL;
- domname = libxl_domid_to_name(&self->ctx, domid);
+ domname = libxl_domid_to_name(self->ctx, domid);
ret = PyString_FromString(domname);
free(domname);
@@ -428,7 +428,7 @@ static PyObject *pyxl_domain_shutdown(XlObject *self, PyObject *args)
int domid, req = 0;
if ( !PyArg_ParseTuple(args, "i|i", &domid, &req) )
return NULL;
- if ( libxl_domain_shutdown(&self->ctx, domid, req) ) {
+ if ( libxl_domain_shutdown(self->ctx, domid, req) ) {
PyErr_SetString(xl_error_obj, "cannot shutdown domain");
return NULL;
}
@@ -441,7 +441,7 @@ static PyObject *pyxl_domain_destroy(XlObject *self, PyObject *args)
int domid, force = 1;
if ( !PyArg_ParseTuple(args, "i|i", &domid, &force) )
return NULL;
- if ( libxl_domain_destroy(&self->ctx, domid, force) ) {
+ if ( libxl_domain_destroy(self->ctx, domid, force) ) {
PyErr_SetString(xl_error_obj, "cannot destroy domain");
return NULL;
}
@@ -454,7 +454,7 @@ static PyObject *pyxl_domain_pause(XlObject *self, PyObject *args)
int domid;
if ( !PyArg_ParseTuple(args, "i", &domid) )
return NULL;
- if ( libxl_domain_pause(&self->ctx, domid) ) {
+ if ( libxl_domain_pause(self->ctx, domid) ) {
PyErr_SetString(xl_error_obj, "cannot pause domain");
return NULL;
}
@@ -467,7 +467,7 @@ static PyObject *pyxl_domain_unpause(XlObject *self, PyObject *args)
int domid;
if ( !PyArg_ParseTuple(args, "i", &domid) )
return NULL;
- if ( libxl_domain_unpause(&self->ctx, domid) ) {
+ if ( libxl_domain_unpause(self->ctx, domid) ) {
PyErr_SetString(xl_error_obj, "cannot unpause domain");
return NULL;
}
@@ -481,7 +481,7 @@ static PyObject *pyxl_domain_rename(XlObject *self, PyObject *args)
int domid;
if ( !PyArg_ParseTuple(args, "is|s", &domid, &new_name, &old_name) )
return NULL;
- if ( libxl_domain_rename(&self->ctx, domid, old_name, new_name) ) {
+ if ( libxl_domain_rename(self->ctx, domid, old_name, new_name) ) {
PyErr_SetString(xl_error_obj, "cannot rename domain");
return NULL;
}
@@ -501,7 +501,7 @@ static PyObject *pyxl_pci_add(XlObject *self, PyObject *args)
return NULL;
}
pci = (Py_device_pci *)obj;
- if ( libxl_device_pci_add(&self->ctx, domid, &pci->obj) ) {
+ if ( libxl_device_pci_add(self->ctx, domid, &pci->obj) ) {
PyErr_SetString(xl_error_obj, "cannot add pci device");
return NULL;
}
@@ -522,7 +522,7 @@ static PyObject *pyxl_pci_del(XlObject *self, PyObject *args)
return NULL;
}
pci = (Py_device_pci *)obj;
- if ( libxl_device_pci_remove(&self->ctx, domid, &pci->obj, force) ) {
+ if ( libxl_device_pci_remove(self->ctx, domid, &pci->obj, force) ) {
PyErr_SetString(xl_error_obj, "cannot remove pci device");
return NULL;
}
@@ -544,7 +544,7 @@ static PyObject *pyxl_pci_parse(XlObject *self, PyObject *args)
return NULL;
}
- if ( libxl_device_pci_parse_bdf(&self->ctx, &pci->obj, str) ) {
+ if ( libxl_device_pci_parse_bdf(self->ctx, &pci->obj, str) ) {
PyErr_SetString(xl_error_obj, "cannot parse pci device spec (BDF)");
Py_DECREF(pci);
return NULL;
@@ -559,7 +559,7 @@ static PyObject *pyxl_pci_list_assignable(XlObject *self, PyObject *args)
PyObject *list;
int nr_dev, i;
- if ( libxl_device_pci_list_assignable(&self->ctx, &dev, &nr_dev) ) {
+ if ( libxl_device_pci_list_assignable(self->ctx, &dev, &nr_dev) ) {
PyErr_SetString(xl_error_obj, "Cannot list assignable devices");
return NULL;
}
@@ -595,7 +595,7 @@ static PyObject *pyxl_pci_list(XlObject *self, PyObject *args)
if ( !PyArg_ParseTuple(args, "i", &domid) )
return NULL;
- if ( libxl_device_pci_list_assigned(&self->ctx, &dev, domid, &nr_dev) ) {
+ if ( libxl_device_pci_list_assigned(self->ctx, &dev, domid, &nr_dev) ) {
PyErr_SetString(xl_error_obj, "Cannot list assignable devices");
return NULL;
}
@@ -663,7 +663,7 @@ static PyObject *PyXl_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
if (self == NULL)
return NULL;
- memset(&self->ctx, 0, sizeof(self->ctx));
+ self->ctx = NULL;
self->logger = NULL;
self->minmsglevel = XTL_PROGRESS;
@@ -679,7 +679,7 @@ PyXl_init(XlObject *self, PyObject *args, PyObject *kwds)
return -1;
}
- if ( libxl_ctx_init(&self->ctx, LIBXL_VERSION,
+ if ( libxl_ctx_alloc(&self->ctx, LIBXL_VERSION,
(xentoollog_logger*)self->logger) ) {
PyErr_SetString(xl_error_obj, "cannot init xl context");
return -1;
@@ -690,7 +690,7 @@ PyXl_init(XlObject *self, PyObject *args, PyObject *kwds)
static void PyXl_dealloc(XlObject *self)
{
- libxl_ctx_free(&self->ctx);
+ libxl_ctx_free(self->ctx);
if ( self->logger )
xtl_logger_destroy((xentoollog_logger*)self->logger);