}
if (optind >= argc - 1) {
help("mem-max");
- exit(2);
+ return 2;
}
p = argv[optind];
rc = set_memory_max(p, mem);
if (rc) {
fprintf(stderr, "cannot set domid %d static max memory to : %s\n", domid, mem);
- exit(1);
+ return 1;
}
- exit(0);
+ return 0;
}
void set_memory_target(char *p, char *mem)
switch (opt) {
case 'h':
help("mem-set");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
if (optind >= argc - 1) {
help("mem-set");
- exit(2);
+ return 2;
}
p = argv[optind];
mem = argv[optind + 1];
set_memory_target(p, mem);
- exit(0);
+ return 0;
}
void cd_insert(char *dom, char *virtdev, char *phys)
switch (opt) {
case 'h':
help("cd-eject");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
if (optind >= argc - 1) {
help("cd-eject");
- exit(2);
+ return 2;
}
p = argv[optind];
virtdev = argv[optind + 1];
cd_insert(p, virtdev, NULL);
- exit(0);
+ return 0;
}
int main_cd_insert(int argc, char **argv)
switch (opt) {
case 'h':
help("cd-insert");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
if (optind >= argc - 2) {
help("cd-insert");
- exit(2);
+ return 2;
}
p = argv[optind];
file = argv[optind + 2];
cd_insert(p, virtdev, file);
- exit(0);
+ return 0;
}
int main_console(int argc, char **argv)
switch (opt) {
case 'h':
help("console");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
if (optind >= argc) {
help("console");
- exit(2);
+ return 2;
}
find_domain(argv[optind]);
break;
case 'h':
help("vncviewer");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
if (argc - optind != 1) {
help("vncviewer");
- exit(2);
+ return 2;
}
if (vncviewer(argv[optind], autopass))
- exit(1);
- exit(0);
+ return 1;
+ return 0;
}
void pcilist_assignable(void)
switch (opt) {
case 'h':
help("pci-list-assignable-devices");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
pcilist_assignable();
- exit(0);
+ return 0;
}
void pcilist(char *dom)
switch (opt) {
case 'h':
help("pci-list");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
if (optind >= argc) {
help("pci-list");
- exit(2);
+ return 2;
}
domname = argv[optind];
pcilist(domname);
- exit(0);
+ return 0;
}
void pcidetach(char *dom, char *bdf)
switch (opt) {
case 'h':
help("pci-detach");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
if (optind >= argc - 1) {
help("pci-detach");
- exit(2);
+ return 2;
}
domname = argv[optind];
bdf = argv[optind + 1];
pcidetach(domname, bdf);
- exit(0);
+ return 0;
}
void pciattach(char *dom, char *bdf, char *vs)
{
switch (opt) {
case 'h':
help("pci-attach");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
if (optind >= argc - 1) {
help("pci-attach");
- exit(2);
+ return 2;
}
domname = argv[optind];
vs = argv[optind + 2];
pciattach(domname, bdf, vs);
- exit(0);
+ return 0;
}
void pause_domain(char *p)
break;
case 'h':
help("restore");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
checkpoint_file = argv[optind + 1];
} else {
help("restore");
- exit(2);
+ return 2;
}
memset(&dom_info, 0, sizeof(dom_info));
rc = create_domain(&dom_info);
if (rc < 0)
- exit(-rc);
+ return -rc;
- exit(0);
+ return 0;
}
int main_migrate_receive(int argc, char **argv)
switch (opt) {
case 'h':
help("migrate-receive");
- exit(2);
+ return 2;
break;
case 'e':
daemonize = 0;
if (argc-optind != 0) {
help("migrate-receive");
- exit(2);
+ return 2;
}
migrate_receive(debug, daemonize);
- exit(0);
+ return 0;
}
int main_save(int argc, char **argv)
break;
case 'h':
help("save");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
if (argc-optind < 1 || argc-optind > 3) {
help("save");
- exit(2);
+ return 2;
}
p = argv[optind];
filename = argv[optind + 1];
config_filename = argv[optind + 2];
save_domain(p, filename, checkpoint, config_filename);
- exit(0);
+ return 0;
}
int main_migrate(int argc, char **argv)
switch (opt) {
case 'h':
help("migrate");
- exit(0);
+ return 0;
case 'C':
config_filename = optarg;
break;
if (argc-optind < 2 || argc-optind > 2) {
help("migrate");
- exit(2);
+ return 2;
}
p = argv[optind];
ssh_command, host,
daemonize ? "" : " -e",
debug ? " -d" : "") < 0)
- exit(1);
+ return 1;
}
migrate_domain(p, rune, config_filename);
- exit(0);
+ return 0;
}
int main_dump_core(int argc, char **argv)
{
if ( argc-optind < 2 ) {
help("dump-core");
- exit(2);
+ return 2;
}
core_dump_domain(argv[optind], argv[optind + 1]);
- exit(0);
+ return 0;
}
int main_pause(int argc, char **argv)
switch (opt) {
case 'h':
help("pause");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
if (optind >= argc) {
help("pause");
- exit(2);
+ return 2;
}
p = argv[optind];
pause_domain(p);
- exit(0);
+ return 0;
}
int main_unpause(int argc, char **argv)
switch (opt) {
case 'h':
help("unpause");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
if (optind >= argc) {
help("unpause");
- exit(2);
+ return 2;
}
p = argv[optind];
unpause_domain(p);
- exit(0);
+ return 0;
}
int main_destroy(int argc, char **argv)
switch (opt) {
case 'h':
help("destroy");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
if (optind >= argc) {
help("destroy");
- exit(2);
+ return 2;
}
p = argv[optind];
destroy_domain(p);
- exit(0);
+ return 0;
}
int main_shutdown(int argc, char **argv)
switch (opt) {
case 'h':
help("shutdown");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
if (optind >= argc) {
help("shutdown");
- exit(2);
+ return 2;
}
p = argv[optind];
shutdown_domain(p);
- exit(0);
+ return 0;
}
int main_reboot(int argc, char **argv)
switch (opt) {
case 'h':
help("reboot");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
if (optind >= argc) {
help("reboot");
- exit(2);
+ return 2;
}
p = argv[optind];
reboot_domain(p);
- exit(0);
+ return 0;
}
int main_list(int argc, char **argv)
{
break;
case 'h':
help("list");
- exit(0);
+ return 0;
case 'v':
verbose = 1;
break;
info = libxl_list_domain(&ctx, &nb_domain);
if (!info) {
fprintf(stderr, "libxl_domain_infolist failed.\n");
- exit(1);
+ return 1;
}
info_free = info;
} else if (optind == argc-1) {
rc = libxl_domain_info(&ctx, &info_buf, domid);
if (rc) {
fprintf(stderr, "libxl_domain_info failed (code %d).\n", rc);
- exit(-rc);
+ return -rc;
}
info = &info_buf;
nb_domain = 1;
} else {
help("list");
- exit(2);
+ return 2;
}
if (details)
free(info_free);
- exit(0);
+ return 0;
}
int main_list_vm(int argc, char **argv)
switch (opt) {
case 'h':
help("list-vm");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
list_vm();
- exit(0);
+ return 0;
}
int main_create(int argc, char **argv)
break;
case 'h':
help("create");
- exit(0);
+ return 0;
case 'n':
dryrun = 1;
break;
filename = argv[optind];
} else {
help("create");
- exit(2);
+ return 2;
}
optind++;
}
rc = create_domain(&dom_info);
if (rc < 0)
- exit(-rc);
+ return -rc;
- exit(0);
+ return 0;
}
void button_press(char *p, char *b)
switch (opt) {
case 'h':
help("button-press");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
if (optind >= argc - 1) {
help("button-press");
- exit(2);
+ return 2;
}
p = argv[optind];
b = argv[optind + 1];
button_press(p, b);
- exit(0);
+ return 0;
}
static void print_vcpuinfo(uint32_t tdomid,
switch (opt) {
case 'h':
help("vcpu-list");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
}
vcpulist(argc - 2, argv + 2);
- exit(0);
+ return 0;
}
void vcpupin(char *d, const char *vcpu, char *cpu)
if (argc != 5) {
help("vcpu-pin");
- exit(0);
+ return 0;
}
while ((opt = getopt(argc, argv, "h")) != -1) {
switch (opt) {
case 'h':
help("vcpu-pin");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
}
vcpupin(argv[2], argv[3] , argv[4]);
- exit(0);
+ return 0;
}
void vcpuset(char *d, char* nr_vcpus)
if (argc != 4) {
help("vcpu-set");
- exit(0);
+ return 0;
}
while ((opt = getopt(argc, argv, "h")) != -1) {
switch (opt) {
case 'h':
help("vcpu-set");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
}
vcpuset(argv[2], argv[3]);
- exit(0);
+ return 0;
}
static void output_xeninfo(void)
switch (opt) {
case 'h':
help("info");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
}
info();
- exit(0);
+ return 0;
}
static int sched_credit_domain_get(
break;
case 'h':
help("sched-credit");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (!dom && (opt_w || opt_c)) {
fprintf(stderr, "Must specify a domain.\n");
- exit(1);
+ return 1;
}
if (!dom) { /* list all domain's credit scheduler info */
info = libxl_list_domain(&ctx, &nb_domain);
if (!info) {
fprintf(stderr, "libxl_domain_infolist failed.\n");
- exit(1);
+ return 1;
}
printf("%-33s %4s %6s %4s\n", "Name", "ID", "Weight", "Cap");
for (i = 0; i < nb_domain; i++) {
rc = sched_credit_domain_get(info[i].domid, &scinfo);
if (rc)
- exit(-rc);
+ return -rc;
sched_credit_domain_output(info[i].domid, &scinfo);
}
} else {
rc = sched_credit_domain_get(domid, &scinfo);
if (rc)
- exit(-rc);
+ return -rc;
if (!opt_w && !opt_c) { /* output credit scheduler info */
printf("%-33s %4s %6s %4s\n", "Name", "ID", "Weight", "Cap");
scinfo.cap = cap;
rc = sched_credit_domain_set(domid, &scinfo);
if (rc)
- exit(-rc);
+ return -rc;
}
}
- exit(0);
+ return 0;
}
int main_domid(int argc, char **argv)
switch (opt) {
case 'h':
help("domid");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (!domname) {
fprintf(stderr, "Must specify a domain name.\n\n");
help("domid");
- exit(1);
+ return 1;
}
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);
- exit(1);
+ return 1;
}
printf("%d\n", domid);
- exit(0);
+ return 0;
}
int main_domname(int argc, char **argv)
switch (opt) {
case 'h':
help("domname");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (!argv[optind]) {
fprintf(stderr, "Must specify a domain id.\n\n");
help("domname");
- exit(1);
+ return 1;
}
domid = strtol(argv[optind], &endptr, 10);
if (domid == 0 && !strcmp(endptr, argv[optind])) {
/*no digits at all*/
fprintf(stderr, "Invalid domain id.\n\n");
- exit(1);
+ return 1;
}
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);
- exit(1);
+ return 1;
}
printf("%s\n", domname);
- exit(0);
+ return 0;
}
int main_rename(int argc, char **argv)
switch (opt) {
case 'h':
help("rename");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (!dom || !argv[optind]) {
fprintf(stderr, "'xl rename' requires 2 arguments.\n\n");
help("rename");
- exit(1);
+ return 1;
}
find_domain(dom);
if (libxl_domain_rename(&ctx, domid, common_domname, new_name, 0)) {
fprintf(stderr, "Can't rename domain '%s'.\n", dom);
- exit(1);
+ return 1;
}
- exit(0);
+ return 0;
}
int main_trigger(int argc, char **argv)
switch (opt) {
case 'h':
help("trigger");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (!dom || !argv[optind]) {
fprintf(stderr, "'xl trigger' requires between 2 and 3 arguments.\n\n");
help("trigger");
- exit(1);
+ return 1;
}
find_domain(dom);
libxl_send_trigger(&ctx, domid, trigger_name, vcpuid);
- exit(0);
+ return 0;
}
switch (opt) {
case 'h':
help("sysrq");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (!dom || !argv[optind]) {
fprintf(stderr, "'xl sysrq' requires 2 arguments.\n\n");
help("sysrq");
- exit(1);
+ return 1;
}
find_domain(dom);
if (sysrq[1] != '\0') {
fprintf(stderr, "Invalid sysrq.\n\n");
help("sysrq");
- exit(1);
+ return 1;
}
libxl_send_sysrq(&ctx, domid, sysrq[0]);
- exit(0);
+ return 0;
}
int main_debug_keys(int argc, char **argv)
switch (opt) {
case 'h':
help("debug-keys");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
}
if (optind >= argc) {
help("debug-keys");
- exit(2);
+ return 2;
}
keys = argv[optind];
if (libxl_send_debug_keys(&ctx, keys)) {
fprintf(stderr, "cannot send debug keys: %s\n", keys);
- exit(1);
+ return 1;
}
- exit(0);
+ return 0;
}
int main_dmesg(int argc, char **argv)
break;
case 'h':
help("dmesg");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option not supported\n");
break;
finish:
libxl_xen_console_read_finish(&ctx, cr);
- exit(ret);
+ return ret;
}
int main_top(int argc, char **argv)
switch (opt) {
case 'h':
help("top");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
}
}
- exit(system("xentop"));
+ return system("xentop");
}
int main_networkattach(int argc, char **argv)
if ((argc < 3) || (argc > 11)) {
help("network-attach");
- exit(0);
+ return 0;
}
while ((opt = getopt(argc, argv, "h")) != -1) {
switch (opt) {
case 'h':
help("network-attach");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (domain_qualifier_to_domid(argv[2], &domid, 0) < 0) {
fprintf(stderr, "%s is an invalid domain identifier\n", argv[2]);
- exit(1);
+ return 1;
}
init_nic_info(&nic, -1);
for (argv += 3, argc -= 3; argc > 0; ++argv, --argc) {
nic.nictype = NICTYPE_IOEMU;
} else {
fprintf(stderr, "Invalid parameter `type'.\n");
- exit(1);
+ return 1;
}
} else if (!strncmp("mac=", *argv, 4)) {
tok = strtok((*argv) + 4, ":");
val = strtoul(tok, &endptr, 16);
if ((tok == endptr) || (val > 255)) {
fprintf(stderr, "Invalid parameter `mac'.\n");
- exit(1);
+ return 1;
}
nic.mac[i] = val;
}
} else if (!strncmp("ip=", *argv, 3)) {
if (!inet_aton((*argv) + 3, &(nic.ip))) {
fprintf(stderr, "Invalid parameter `ip'.\n");
- exit(1);
+ return 1;
}
} else if (!strncmp("script=", *argv, 6)) {
nic.script = (*argv) + 6;
val = strtoul((*argv) + 8, &endptr, 10);
if (((*argv) + 8) == endptr) {
fprintf(stderr, "Invalid parameter `backend'.\n");
- exit(1);
+ return 1;
}
nic.backend_domid = val;
} else if (!strncmp("vifname=", *argv, 8)) {
} else if (!strncmp("accel=", *argv, 6)) {
} else {
fprintf(stderr, "unrecognized argument `%s'\n", *argv);
- exit(1);
+ return 1;
}
}
nic.domid = domid;
if (libxl_device_nic_add(&ctx, domid, &nic)) {
fprintf(stderr, "libxl_device_nic_add failed.\n");
- exit(1);
+ return 1;
}
- exit(0);
+ return 0;
}
int main_networklist(int argc, char **argv)
if (argc < 3) {
help("network-list");
- exit(1);
+ return 1;
}
while ((opt = getopt(argc, argv, "h")) != -1) {
switch (opt) {
case 'h':
help("network-list");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
nics->rref_tx, nics->rref_rx, nics->backend);
}
}
- exit(0);
+ return 0;
}
int main_networkdetach(int argc, char **argv)
if (argc != 4) {
help("network-detach");
- exit(0);
+ return 0;
}
while ((opt = getopt(argc, argv, "h")) != -1) {
switch (opt) {
case 'h':
help("network-detach");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (domain_qualifier_to_domid(argv[2], &domid, 0) < 0) {
fprintf(stderr, "%s is an invalid domain identifier\n", argv[2]);
- exit(1);
+ return 1;
}
if (!strchr(argv[3], ':')) {
if (libxl_devid_to_device_nic(&ctx, domid, argv[3], &nic)) {
fprintf(stderr, "Unknown device %s.\n", argv[3]);
- exit(1);
+ return 1;
}
} else {
if (libxl_mac_to_device_nic(&ctx, domid, argv[3], &nic)) {
fprintf(stderr, "Unknown device %s.\n", argv[3]);
- exit(1);
+ return 1;
}
}
if (libxl_device_nic_del(&ctx, &nic, 1)) {
fprintf(stderr, "libxl_device_nic_del failed.\n");
- exit(1);
+ return 1;
}
- exit(0);
+ return 0;
}
int main_blockattach(int argc, char **argv)
if ((argc < 5) || (argc > 7)) {
help("block-attach");
- exit(0);
+ return 0;
}
while ((opt = getopt(argc, argv, "h")) != -1) {
switch (opt) {
case 'h':
help("block-attach");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
disk.phystype = PHYSTYPE_QCOW2;
} else {
fprintf(stderr, "Error: `%s' is not a valid disk image.\n", tok);
- exit(1);
+ return 1;
}
} else {
fprintf(stderr, "Error: `%s' is not a valid block device.\n", tok);
- exit(1);
+ return 1;
}
disk.physpath = strtok(NULL, "\0");
if (!disk.physpath) {
fprintf(stderr, "Error: missing path to disk image.\n");
- exit(1);
+ return 1;
}
disk.virtpath = argv[4];
disk.unpluggable = 1;
if (domain_qualifier_to_domid(argv[2], &fe_domid, 0) < 0) {
fprintf(stderr, "%s is an invalid domain identifier\n", argv[2]);
- exit(1);
+ return 1;
}
if (argc == 7) {
if (domain_qualifier_to_domid(argv[6], &be_domid, 0) < 0) {
fprintf(stderr, "%s is an invalid domain identifier\n", argv[6]);
- exit(1);
+ return 1;
}
}
disk.domid = fe_domid;
if (libxl_device_disk_add(&ctx, fe_domid, &disk)) {
fprintf(stderr, "libxl_device_disk_add failed.\n");
}
- exit(0);
+ return 0;
}
int main_blocklist(int argc, char **argv)
if (argc < 3) {
help("block-list");
- exit(0);
+ return 0;
}
while ((opt = getopt(argc, argv, "h")) != -1) {
switch (opt) {
case 'h':
help("block-list");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
}
}
}
- exit(0);
+ return 0;
}
int main_blockdetach(int argc, char **argv)
if (argc != 4) {
help("block-detach");
- exit(0);
+ return 0;
}
while ((opt = getopt(argc, argv, "h")) != -1) {
switch (opt) {
case 'h':
help("block-detach");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (domain_qualifier_to_domid(argv[2], &domid, 0) < 0) {
fprintf(stderr, "%s is an invalid domain identifier\n", argv[2]);
- exit(1);
+ return 1;
}
if (libxl_devid_to_device_disk(&ctx, domid, argv[3], &disk)) {
fprintf(stderr, "Error: Device %s not connected.\n", argv[3]);
- exit(1);
+ return 1;
}
if (libxl_device_disk_del(&ctx, &disk, 1)) {
fprintf(stderr, "libxl_device_del failed.\n");
}
- exit(0);
+ return 0;
}
int main_network2attach(int argc, char **argv)
if ((argc < 3) || (argc > 12)) {
help("network2-attach");
- exit(0);
+ return 0;
}
while ((opt = getopt(argc, argv, "h")) != -1) {
switch (opt) {
case 'h':
help("network2-attach");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (domain_qualifier_to_domid(argv[2], &domid, 0) < 0) {
fprintf(stderr, "%s is an invalid domain identifier\n", argv[1]);
- exit(1);
+ return 1;
}
init_net2_info(&net2, -1);
for (argv += 3, argc -= 3; argc > 0; --argc, ++argv) {
val = strtoul(tok, &endptr, 16);
if ((tok == endptr) || (val > 255)) {
fprintf(stderr, "Invalid parameter `front_mac'.\n");
- exit(1);
+ return 1;
}
net2.front_mac[i] = val;
}
val = strtoul(tok, &endptr, 16);
if ((tok == endptr) || (val > 255)) {
fprintf(stderr, "Invalid parameter back_mac=%s.\n", *argv + 9);
- exit(1);
+ return 1;
}
net2.back_mac[i] = val;
}
val = strtoul(*argv + 5, &endptr, 10);
if (endptr == (*argv + 5)) {
fprintf(stderr, "Invalid parameter pdev=%s.\n", *argv + 5);
- exit(1);
+ return 1;
}
net2.pdev = val;
} else if (!strncmp("max_bypasses=", *argv, 13)) {
val = strtoul(*argv + 13, &endptr, 10);
if (endptr == (*argv + 13)) {
fprintf(stderr, "Invalid parameter max_bypasses=%s.\n", *argv + 13);
- exit(1);
+ return 1;
}
net2.max_bypasses = val;
} else {
fprintf(stderr, "unrecognized argument `%s'\n", *argv);
- exit(1);
+ return 1;
}
}
if (back_dom) {
if (domain_qualifier_to_domid(back_dom, &back_domid, 0) < 0) {
fprintf(stderr, "%s is an invalid domain identifier\n", back_dom);
- exit(1);
+ return 1;
}
}
net2.domid = domid;
if (libxl_device_net2_add(&ctx, domid, &net2)) {
fprintf(stderr, "libxl_device_net2_add failed.\n");
}
- exit(0);
+ return 0;
}
int main_network2list(int argc, char **argv)
if (argc < 3) {
help("network2-list");
- exit(0);
+ return 0;
}
while ((opt = getopt(argc, argv, "h")) != -1) {
switch (opt) {
case 'h':
help("network2-list");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
}
}
}
- exit(0);
+ return 0;
}
int main_network2detach(int argc, char **argv)
if (argc != 4) {
help("network2-detach");
- exit(0);
+ return 0;
}
while ((opt = getopt(argc, argv, "h")) != -1) {
switch (opt) {
case 'h':
help("network2-detach");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (domain_qualifier_to_domid(argv[2], &domid, 0) < 0) {
fprintf(stderr, "%s is an invalid domain identifier\n", argv[2]);
- exit(1);
+ return 1;
}
if (libxl_devid_to_device_net2(&ctx, domid, argv[3], &net2)) {
fprintf(stderr, "Error: Device %s not connected.\n", argv[3]);
- exit(1);
+ return 1;
}
if (libxl_device_net2_del(&ctx, &net2, 1)) {
fprintf(stderr, "libxl_device_net2_del failed.\n");
- exit(1);
+ return 1;
}
- exit(0);
+ return 0;
}
static char *uptime_to_string(unsigned long time, int short_mode)
break;
case 'h':
help("uptime");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
print_uptime(short_mode, domains, nb_doms);
- exit(0);
+ return 0;
}
int main_tmem_list(int argc, char **argv)
break;
case 'h':
help("tmem-list");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (!dom && all == 0) {
fprintf(stderr, "You must specify -a or a domain id.\n\n");
help("tmem-list");
- exit(1);
+ return 1;
}
if (all)
buf = libxl_tmem_list(&ctx, domid, use_long);
if (buf == NULL)
- exit(-1);
+ return -1;
printf("%s\n", buf);
free(buf);
- exit(0);
+ return 0;
}
int main_tmem_freeze(int argc, char **argv)
break;
case 'h':
help("tmem-freeze");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (!dom && all == 0) {
fprintf(stderr, "You must specify -a or a domain id.\n\n");
help("tmem-freeze");
- exit(1);
+ return 1;
}
if (all)
find_domain(dom);
libxl_tmem_freeze(&ctx, domid);
- exit(0);
+ return 0;
}
int main_tmem_destroy(int argc, char **argv)
break;
case 'h':
help("tmem-destroy");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (!dom && all == 0) {
fprintf(stderr, "You must specify -a or a domain id.\n\n");
help("tmem-destroy");
- exit(1);
+ return 1;
}
if (all)
find_domain(dom);
libxl_tmem_destroy(&ctx, domid);
- exit(0);
+ return 0;
}
int main_tmem_thaw(int argc, char **argv)
break;
case 'h':
help("tmem-thaw");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (!dom && all == 0) {
fprintf(stderr, "You must specify -a or a domain id.\n\n");
help("tmem-thaw");
- exit(1);
+ return 1;
}
if (all)
find_domain(dom);
libxl_tmem_thaw(&ctx, domid);
- exit(0);
+ return 0;
}
int main_tmem_set(int argc, char **argv)
break;
case 'h':
help("tmem-set");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (!dom && all == 0) {
fprintf(stderr, "You must specify -a or a domain id.\n\n");
help("tmem-set");
- exit(1);
+ return 1;
}
if (all)
if (!opt_w && !opt_c && !opt_p) {
fprintf(stderr, "No set value specified.\n\n");
help("tmem-set");
- exit(1);
+ return 1;
}
if (opt_w)
if (opt_p)
libxl_tmem_set(&ctx, domid, "compress", compress);
- exit(0);
+ return 0;
}
int main_tmem_shared_auth(int argc, char **argv)
break;
case 'h':
help("tmem-shared-auth");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
if (!dom && all == 0) {
fprintf(stderr, "You must specify -a or a domain id.\n\n");
help("tmem-shared-auth");
- exit(1);
+ return 1;
}
if (all)
if (uuid == NULL || autharg == NULL) {
fprintf(stderr, "No uuid or auth specified.\n\n");
help("tmem-shared-auth");
- exit(1);
+ return 1;
}
auth = strtol(autharg, &endptr, 10);
if (*endptr != '\0') {
fprintf(stderr, "Invalid auth, valid auth are <0|1>.\n\n");
- exit(1);
+ return 1;
}
libxl_tmem_shared_auth(&ctx, domid, uuid, auth);
- exit(0);
+ return 0;
}
int main_tmem_freeable(int argc, char **argv)
switch (opt) {
case 'h':
help("tmem-freeable");
- exit(0);
+ return 0;
default:
fprintf(stderr, "option `%c' not supported.\n", opt);
break;
mb = libxl_tmem_freeable(&ctx);
if (mb == -1)
- exit(-1);
+ return -1;
printf("%d\n", mb);
- exit(0);
+ return 0;
}