On Mon, Nov 28, 2011 at 05:33:06PM +0530, Srivatsa S. Bhat wrote:
Implement the public definitions for the new API
virNodeSuspendForDuration() which will be subsequently used to
do a timed suspend on the host.
Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat(a)linux.vnet.ibm.com>
---
include/libvirt/libvirt.h.in | 17 +++++++++++-
src/driver.h | 6 ++++
src/libvirt.c | 61 ++++++++++++++++++++++++++++++++++++++++++
src/libvirt_public.syms | 5 +++
4 files changed, 88 insertions(+), 1 deletions(-)
diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
index 2ab89f5..ad9e8f1 100644
--- a/include/libvirt/libvirt.h.in
+++ b/include/libvirt/libvirt.h.in
@@ -249,7 +249,17 @@ typedef enum {
VIR_DOMAIN_START_FORCE_BOOT = 1 << 3, /* Boot, discarding any managed save
*/
} virDomainCreateFlags;
-
+/**
+ * virNodeSuspendState:
+ *
+ * Flags to indicate which system-wide sleep state the host must be
+ * transitioned to.
+ */
+typedef enum {
+ VIR_NODE_S3 = (1 << 0), /* Suspend-to-RAM */
+ VIR_NODE_S4 = (1 << 1), /* Suspend-to-Disk */
+ VIR_NODE_HYBRID_SUSPEND = (1 << 2), /* Hybrid-Suspend */
+} virNodeSuspendState;
It is desirable for the constant prefix to be consistent & match the
function name. In addition S3/S4 are x86 specific terminology. Lets
actually use descriptive names which are architecture indepedant,
whereupon you don't need comments to explain what the codename
means.
eg
typedef enum {
VIR_NODE_SUSPEND_TARGET_RAM = (1 << 0),
VIR_NODE_SUSPEND_TARGET_DISK = (1 << 1),
VIR_NODE_SUSPEND_TARGET_HYBRID = (1 << 2)
} virNodeSuspendTarget;
/**
* virStream:
@@ -1085,6 +1095,11 @@ unsigned long long virNodeGetFreeMemory (virConnectPtr
conn);
int virNodeGetSecurityModel (virConnectPtr conn,
virSecurityModelPtr secmodel);
+int virNodeSuspendForDuration (virConnectPtr conn,
+ int state,
+ unsigned long long duration,
+ unsigned int flags);
'state' is better named 'target' IMHO, and can be unsigned, eg.
int virNodeSuspendForDuration (virConnectPtr conn,
unsigned int target,
unsigned long long duration,
unsigned int flags);
Regards,
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|