Files
xen/tools/internal/xi_destroy.c
T
kaf24@scramble.cl.cam.ac.uk 0657eaa748 bitkeeper revision 1.358.1.1 (3f16a58eCfq6ZxRU1cDvl3KdW6uV4g)
network.c, xi_stop.c, xi_start.c, xi_destroy.c, xi_build.c:
  Bug fixes and clean ups.
2003-07-17 13:33:02 +00:00

51 lines
998 B
C

#include "hypervisor-ifs/dom0_ops.h"
#include "dom0_defs.h"
#include "mem_defs.h"
static char *argv0 = "internal_domain_stop";
static int kill_domain(int dom_id, int force)
{
int err;
dom0_op_t op;
op.cmd = DOM0_DESTROYDOMAIN;
op.u.killdomain.domain = dom_id;
op.u.killdomain.force = force;
err = do_dom0_op(&op);
return (err < 0) ? -1 : 0;
}
int main(int argc, char **argv)
{
int ret, dom;
if ( argv[0] != NULL )
argv0 = argv[0];
if ( (argc < 2) || (argc > 3) )
{
usage:
fprintf(stderr, "Usage: %s [-f] <domain_id>\n", argv0);
fprintf(stderr, " -f: Forces immediate destruction of <domain_id>\n");
return 1;
}
if ( (argc == 3) && strcmp("-f", argv[1]) )
goto usage;
dom = atoi(argv[argc-1]);
if ( dom == 0 )
{
ERROR("Did you really mean domain 0?");
return 1;
}
ret = kill_domain(dom, argc == 3);
return (ret != 0) ? 1 : 0;
}