diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2012-08-16 09:58:07 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2012-08-16 09:58:07 +0200 |
commit | fe94f363725052b4157cf595a12e75f64e1289df (patch) | |
tree | 31734a9408f5955c021df867f9599aeef40b73dc /domain.c | |
parent | e2add4678330ac78666ab572f6cf21705aec9300 (diff) | |
download | vconsole-fe94f363725052b4157cf595a12e75f64e1289df.tar.gz |
more guest actions
Diffstat (limited to 'domain.c')
-rw-r--r-- | domain.c | 51 |
1 files changed, 51 insertions, 0 deletions
@@ -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)); } } |