diff options
author | 2011-02-22 13:30:33 +0800 | |
---|---|---|
committer | 2011-03-10 17:53:16 -0700 | |
commit | 13c528212291531e05d2a27209155ca5f41e13f7 (patch) | |
tree | b494b93335d32319db50fe142cf970dff601cd0d /include | |
parent | setmem: add the new options to "virsh setmem" command (diff) | |
download | libvirt-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.in | 67 |
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: |