aboutsummaryrefslogtreecommitdiffstats
path: root/domain.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2012-08-16 09:58:07 +0200
committerGerd Hoffmann <kraxel@redhat.com>2012-08-16 09:58:07 +0200
commitfe94f363725052b4157cf595a12e75f64e1289df (patch)
tree31734a9408f5955c021df867f9599aeef40b73dc /domain.c
parente2add4678330ac78666ab572f6cf21705aec9300 (diff)
downloadvconsole-fe94f363725052b4157cf595a12e75f64e1289df.tar.gz
more guest actions
Diffstat (limited to 'domain.c')
-rw-r--r--domain.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/domain.c b/domain.c
index b1ce595..0ff2c26 100644
--- a/domain.c
+++ b/domain.c
@@ -186,6 +186,9 @@ void domain_start(struct vconsole_domain *dom)
case VIR_DOMAIN_PAUSED:
virDomainResume(d);
break;
+ default:
+ fprintf(stderr, "%s: invalid guest state: %s\n",
+ __func__, domain_state_name(dom));
}
}
@@ -198,6 +201,54 @@ void domain_pause(struct vconsole_domain *dom)
case VIR_DOMAIN_RUNNING:
virDomainSuspend(d);
break;
+ default:
+ fprintf(stderr, "%s: invalid guest state: %s\n",
+ __func__, domain_state_name(dom));
+ }
+}
+
+void domain_reboot(struct vconsole_domain *dom)
+{
+ virDomainPtr d = virDomainLookupByUUIDString(dom->conn->ptr, dom->uuid);
+
+ virDomainGetInfo(d, &dom->info);
+ switch (dom->info.state) {
+ case VIR_DOMAIN_RUNNING:
+ virDomainReboot(d, 0);
+ break;
+ default:
+ fprintf(stderr, "%s: invalid guest state: %s\n",
+ __func__, domain_state_name(dom));
+ }
+}
+
+void domain_shutdown(struct vconsole_domain *dom)
+{
+ virDomainPtr d = virDomainLookupByUUIDString(dom->conn->ptr, dom->uuid);
+
+ virDomainGetInfo(d, &dom->info);
+ switch (dom->info.state) {
+ case VIR_DOMAIN_RUNNING:
+ virDomainShutdown(d);
+ break;
+ default:
+ fprintf(stderr, "%s: invalid guest state: %s\n",
+ __func__, domain_state_name(dom));
+ }
+}
+
+void domain_kill(struct vconsole_domain *dom)
+{
+ virDomainPtr d = virDomainLookupByUUIDString(dom->conn->ptr, dom->uuid);
+
+ virDomainGetInfo(d, &dom->info);
+ switch (dom->info.state) {
+ case VIR_DOMAIN_RUNNING:
+ virDomainDestroy(d);
+ break;
+ default:
+ fprintf(stderr, "%s: invalid guest state: %s\n",
+ __func__, domain_state_name(dom));
}
}