aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGui Jianfeng <guijianfeng@cn.fujitsu.com>2011-02-22 13:30:33 +0800
committerEric Blake <eblake@redhat.com>2011-03-10 17:53:16 -0700
commit13c528212291531e05d2a27209155ca5f41e13f7 (patch)
treeb494b93335d32319db50fe142cf970dff601cd0d /include
parentsetmem: add the new options to "virsh setmem" command (diff)
downloadlibvirt-13c528212291531e05d2a27209155ca5f41e13f7.tar.gz
libvirt-13c528212291531e05d2a27209155ca5f41e13f7.tar.bz2
libvirt-13c528212291531e05d2a27209155ca5f41e13f7.zip
libvirt: add virDomain{Get,Set}BlkioParameters
Add virDomainSetBlkioParameters virDomainGetBlkioParameters Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
Diffstat (limited to 'include')
-rw-r--r--include/libvirt/libvirt.h.in67
1 files changed, 67 insertions, 0 deletions
diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
index 10f896604..fbbf2ead6 100644
--- a/include/libvirt/libvirt.h.in
+++ b/include/libvirt/libvirt.h.in
@@ -676,6 +676,73 @@ int virDomainGetInfo (virDomainPtr domain,
*/
char * virDomainGetSchedulerType(virDomainPtr domain,
int *nparams);
+/**
+ * virDomainBlkioParameterType:
+ *
+ * A blkio parameter field type
+ */
+typedef enum {
+ VIR_DOMAIN_BLKIO_PARAM_INT = 1, /* integer case */
+ VIR_DOMAIN_BLKIO_PARAM_UINT = 2, /* unsigned integer case */
+ VIR_DOMAIN_BLKIO_PARAM_LLONG = 3, /* long long case */
+ VIR_DOMAIN_BLKIO_PARAM_ULLONG = 4, /* unsigned long long case */
+ VIR_DOMAIN_BLKIO_PARAM_DOUBLE = 5, /* double case */
+ VIR_DOMAIN_BLKIO_PARAM_BOOLEAN = 6 /* boolean(character) case */
+} virBlkioParameterType;
+
+/**
+ * VIR_DOMAIN_BLKIO_FIELD_LENGTH:
+ *
+ * Macro providing the field length of virBlkioParameter
+ */
+
+#define VIR_DOMAIN_BLKIO_FIELD_LENGTH 80
+
+/**
+ * VIR_DOMAIN_BLKIO_WEIGHT:
+ *
+ * Macro for the Blkio tunable weight: it represents the io weight
+ * the guest can use.
+ */
+
+#define VIR_DOMAIN_BLKIO_WEIGHT "weight"
+
+/**
+ * virDomainBlkioParameter:
+ *
+ * a virDomainBlkioParameter is the set of blkio parameters
+ */
+
+typedef struct _virBlkioParameter virBlkioParameter;
+
+struct _virBlkioParameter {
+ char field[VIR_DOMAIN_BLKIO_FIELD_LENGTH]; /* parameter name */
+ int type; /* parameter type */
+ union {
+ int i; /* data for integer case */
+ unsigned int ui; /* data for unsigned integer case */
+ long long int l; /* data for long long integer case */
+ unsigned long long int ul; /* data for unsigned long long integer case */
+ double d; /* data for double case */
+ char b; /* data for char case */
+ } value; /* parameter value */
+};
+
+/**
+ * virBlkioParameterPtr:
+ *
+ * a virBlkioParameterPtr is a pointer to a virBlkioParameter structure.
+ */
+
+typedef virBlkioParameter *virBlkioParameterPtr;
+
+/* Set Blkio tunables for the domain*/
+int virDomainSetBlkioParameters(virDomainPtr domain,
+ virBlkioParameterPtr params,
+ int nparams, unsigned int flags);
+int virDomainGetBlkioParameters(virDomainPtr domain,
+ virBlkioParameterPtr params,
+ int *nparams, unsigned int flags);
/**
* virDomainMemoryParameterType: