* virTypedParameter:
*
* A named parameter, including a type and value.
+ *
+ * The types virSchedParameter, virBlkioParameter, and
+ * virMemoryParameter are aliases of this type, for use when
+ * targetting libvirt earlier than 0.9.2.
*/
typedef struct _virTypedParameter virTypedParameter;
*/
typedef virTypedParameter *virTypedParameterPtr;
-/* Management of scheduler parameters */
-/**
- * virDomainSchedParameterType:
- *
- * A scheduler parameter field type
- */
-typedef enum {
- VIR_DOMAIN_SCHED_FIELD_INT = VIR_TYPED_PARAM_INT,
- VIR_DOMAIN_SCHED_FIELD_UINT = VIR_TYPED_PARAM_UINT,
- VIR_DOMAIN_SCHED_FIELD_LLONG = VIR_TYPED_PARAM_LLONG,
- VIR_DOMAIN_SCHED_FIELD_ULLONG = VIR_TYPED_PARAM_ULLONG,
- VIR_DOMAIN_SCHED_FIELD_DOUBLE = VIR_TYPED_PARAM_DOUBLE,
- VIR_DOMAIN_SCHED_FIELD_BOOLEAN = VIR_TYPED_PARAM_BOOLEAN,
-} virSchedParameterType;
+/* Management of scheduler parameters */
typedef enum {
VIR_DOMAIN_SCHEDPARAM_CURRENT = 0, /* affect current domain state */
VIR_DOMAIN_SCHEDPARAM_CONFIG = (1 << 1), /* Affect next boot */
} virDomainSchedParameterFlags;
-/**
- * VIR_DOMAIN_SCHED_FIELD_LENGTH:
- *
- * Macro providing the field length of virSchedParameter
- */
-
-#define VIR_DOMAIN_SCHED_FIELD_LENGTH VIR_TYPED_PARAM_FIELD_LENGTH
-
-/**
- * virDomainSchedParameter:
- *
- * a virDomainSchedParameter is the set of scheduler parameters
- */
-
-typedef struct _virTypedParameter virSchedParameter;
-
-/**
- * virSchedParameterPtr:
- *
- * a virSchedParameterPtr is a pointer to a virSchedParameter structure.
- */
-
-typedef virSchedParameter *virSchedParameterPtr;
-
/*
* Fetch scheduler parameters, caller allocates 'params' field of size 'nparams'
*/
int virDomainGetSchedulerParameters (virDomainPtr domain,
- virSchedParameterPtr params,
+ virTypedParameterPtr params,
int *nparams);
/*
* Change scheduler parameters
*/
int virDomainSetSchedulerParameters (virDomainPtr domain,
- virSchedParameterPtr params,
+ virTypedParameterPtr params,
int nparams);
/*
* Change scheduler parameters
*/
int virDomainSetSchedulerParametersFlags (virDomainPtr domain,
- virSchedParameterPtr params,
+ virTypedParameterPtr params,
int nparams,
unsigned int flags);
char * virDomainGetSchedulerType(virDomainPtr domain,
int *nparams);
-/* Manage blkio parameters. */
-
-/**
- * virDomainBlkioParameterType:
- *
- * A blkio parameter field type
- */
-typedef enum {
- VIR_DOMAIN_BLKIO_PARAM_INT = VIR_TYPED_PARAM_INT,
- VIR_DOMAIN_BLKIO_PARAM_UINT = VIR_TYPED_PARAM_UINT,
- VIR_DOMAIN_BLKIO_PARAM_LLONG = VIR_TYPED_PARAM_LLONG,
- VIR_DOMAIN_BLKIO_PARAM_ULLONG = VIR_TYPED_PARAM_ULLONG,
- VIR_DOMAIN_BLKIO_PARAM_DOUBLE = VIR_TYPED_PARAM_DOUBLE,
- VIR_DOMAIN_BLKIO_PARAM_BOOLEAN = VIR_TYPED_PARAM_BOOLEAN,
-} virBlkioParameterType;
-
-/**
- * VIR_DOMAIN_BLKIO_FIELD_LENGTH:
- *
- * Macro providing the field length of virBlkioParameter
- */
-#define VIR_DOMAIN_BLKIO_FIELD_LENGTH VIR_TYPED_PARAM_FIELD_LENGTH
+/* Manage blkio parameters. */
/**
* VIR_DOMAIN_BLKIO_WEIGHT:
#define VIR_DOMAIN_BLKIO_WEIGHT "weight"
-/**
- * virDomainBlkioParameter:
- *
- * a virDomainBlkioParameter is the set of blkio parameters
- */
-
-typedef struct _virTypedParameter virBlkioParameter;
-
-/**
- * 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);
+ virTypedParameterPtr params,
+ int nparams, unsigned int flags);
int virDomainGetBlkioParameters(virDomainPtr domain,
- virBlkioParameterPtr params,
- int *nparams, unsigned int flags);
+ virTypedParameterPtr params,
+ int *nparams, unsigned int flags);
/* Manage memory parameters. */
-/**
- * virDomainMemoryParameterType:
- *
- * A memory parameter field type
- */
-typedef enum {
- VIR_DOMAIN_MEMORY_PARAM_INT = VIR_TYPED_PARAM_INT,
- VIR_DOMAIN_MEMORY_PARAM_UINT = VIR_TYPED_PARAM_UINT,
- VIR_DOMAIN_MEMORY_PARAM_LLONG = VIR_TYPED_PARAM_LLONG,
- VIR_DOMAIN_MEMORY_PARAM_ULLONG = VIR_TYPED_PARAM_ULLONG,
- VIR_DOMAIN_MEMORY_PARAM_DOUBLE = VIR_TYPED_PARAM_DOUBLE,
- VIR_DOMAIN_MEMORY_PARAM_BOOLEAN = VIR_TYPED_PARAM_BOOLEAN,
-} virMemoryParameterType;
-
/* flags for setting memory parameters */
typedef enum {
VIR_DOMAIN_MEMORY_PARAM_CURRENT = 0, /* affect current domain state */
VIR_DOMAIN_MEMORY_PARAM_CONFIG = (1 << 1) /* affect next boot */
} virMemoryParamFlags;
-/**
- * VIR_DOMAIN_MEMORY_FIELD_LENGTH:
- *
- * Macro providing the field length of virMemoryParameter
- */
-
-#define VIR_DOMAIN_MEMORY_FIELD_LENGTH VIR_TYPED_PARAM_FIELD_LENGTH
-
/**
* VIR_DOMAIN_MEMORY_PARAM_UNLIMITED:
*
#define VIR_DOMAIN_MEMORY_SWAP_HARD_LIMIT "swap_hard_limit"
-/**
- * virDomainMemoryParameter:
- *
- * a virDomainMemoryParameter is the set of scheduler parameters
- */
-
-typedef struct _virTypedParameter virMemoryParameter;
-
-/**
- * virMemoryParameterPtr:
- *
- * a virMemoryParameterPtr is a pointer to a virMemoryParameter structure.
- */
-
-typedef virMemoryParameter *virMemoryParameterPtr;
-
/* Set memory tunables for the domain*/
int virDomainSetMemoryParameters(virDomainPtr domain,
- virMemoryParameterPtr params,
+ virTypedParameterPtr params,
int nparams, unsigned int flags);
int virDomainGetMemoryParameters(virDomainPtr domain,
- virMemoryParameterPtr params,
+ virTypedParameterPtr params,
int *nparams, unsigned int flags);
/* Memory size modification flags. */
int virDomainInjectNMI(virDomainPtr domain, unsigned int flags);
+
+/**
+ * virDomainSchedParameterType:
+ *
+ * A scheduler parameter field type. Provided for backwards
+ * compatibility; virTypedParameterType is the preferred enum since
+ * 0.9.2.
+ */
+typedef enum {
+ VIR_DOMAIN_SCHED_FIELD_INT = VIR_TYPED_PARAM_INT,
+ VIR_DOMAIN_SCHED_FIELD_UINT = VIR_TYPED_PARAM_UINT,
+ VIR_DOMAIN_SCHED_FIELD_LLONG = VIR_TYPED_PARAM_LLONG,
+ VIR_DOMAIN_SCHED_FIELD_ULLONG = VIR_TYPED_PARAM_ULLONG,
+ VIR_DOMAIN_SCHED_FIELD_DOUBLE = VIR_TYPED_PARAM_DOUBLE,
+ VIR_DOMAIN_SCHED_FIELD_BOOLEAN = VIR_TYPED_PARAM_BOOLEAN,
+} virSchedParameterType;
+
+/**
+ * VIR_DOMAIN_SCHED_FIELD_LENGTH:
+ *
+ * Macro providing the field length of virSchedParameter. Provided
+ * for backwards compatibility; VIR_TYPED_PARAM_FIELD_LENGTH is the
+ * preferred value since 0.9.2.
+ */
+#define VIR_DOMAIN_SCHED_FIELD_LENGTH VIR_TYPED_PARAM_FIELD_LENGTH
+
+/**
+ * virDomainSchedParameter:
+ *
+ * a virDomainSchedParameter is the set of scheduler parameters.
+ * Provided for backwards compatibility; virTypedParameter is the
+ * preferred alias since 0.9.2.
+ */
+#define _virSchedParameter _virTypedParameter
+typedef struct _virTypedParameter virSchedParameter;
+
+/**
+ * virSchedParameterPtr:
+ *
+ * a virSchedParameterPtr is a pointer to a virSchedParameter structure.
+ * Provided for backwards compatibility; virTypedParameterPtr is the
+ * preferred alias since 0.9.2.
+ */
+typedef virSchedParameter *virSchedParameterPtr;
+
+/**
+ * virDomainBlkioParameterType:
+ *
+ * A blkio parameter field type. Provided for backwards
+ * compatibility; virTypedParameterType is the preferred enum since
+ * 0.9.2.
+ */
+typedef enum {
+ VIR_DOMAIN_BLKIO_PARAM_INT = VIR_TYPED_PARAM_INT,
+ VIR_DOMAIN_BLKIO_PARAM_UINT = VIR_TYPED_PARAM_UINT,
+ VIR_DOMAIN_BLKIO_PARAM_LLONG = VIR_TYPED_PARAM_LLONG,
+ VIR_DOMAIN_BLKIO_PARAM_ULLONG = VIR_TYPED_PARAM_ULLONG,
+ VIR_DOMAIN_BLKIO_PARAM_DOUBLE = VIR_TYPED_PARAM_DOUBLE,
+ VIR_DOMAIN_BLKIO_PARAM_BOOLEAN = VIR_TYPED_PARAM_BOOLEAN,
+} virBlkioParameterType;
+
+/**
+ * VIR_DOMAIN_BLKIO_FIELD_LENGTH:
+ *
+ * Macro providing the field length of virBlkioParameter. Provided
+ * for backwards compatibility; VIR_TYPED_PARAM_FIELD_LENGTH is the
+ * preferred value since 0.9.2.
+ */
+#define VIR_DOMAIN_BLKIO_FIELD_LENGTH VIR_TYPED_PARAM_FIELD_LENGTH
+
+/**
+ * virDomainBlkioParameter:
+ *
+ * a virDomainBlkioParameter is the set of blkio parameters.
+ * Provided for backwards compatibility; virTypedParameter is the
+ * preferred alias since 0.9.2.
+ */
+#define _virBlkioParameter _virTypedParameter
+typedef struct _virTypedParameter virBlkioParameter;
+
+/**
+ * virBlkioParameterPtr:
+ *
+ * a virBlkioParameterPtr is a pointer to a virBlkioParameter structure.
+ * Provided for backwards compatibility; virTypedParameterPtr is the
+ * preferred alias since 0.9.2.
+ */
+typedef virBlkioParameter *virBlkioParameterPtr;
+
+/**
+ * virDomainMemoryParameterType:
+ *
+ * A memory parameter field type. Provided for backwards
+ * compatibility; virTypedParameterType is the preferred enum since
+ * 0.9.2.
+ */
+typedef enum {
+ VIR_DOMAIN_MEMORY_PARAM_INT = VIR_TYPED_PARAM_INT,
+ VIR_DOMAIN_MEMORY_PARAM_UINT = VIR_TYPED_PARAM_UINT,
+ VIR_DOMAIN_MEMORY_PARAM_LLONG = VIR_TYPED_PARAM_LLONG,
+ VIR_DOMAIN_MEMORY_PARAM_ULLONG = VIR_TYPED_PARAM_ULLONG,
+ VIR_DOMAIN_MEMORY_PARAM_DOUBLE = VIR_TYPED_PARAM_DOUBLE,
+ VIR_DOMAIN_MEMORY_PARAM_BOOLEAN = VIR_TYPED_PARAM_BOOLEAN,
+} virMemoryParameterType;
+
+/**
+ * VIR_DOMAIN_MEMORY_FIELD_LENGTH:
+ *
+ * Macro providing the field length of virMemoryParameter. Provided
+ * for backwards compatibility; VIR_TYPED_PARAM_FIELD_LENGTH is the
+ * preferred value since 0.9.2.
+ */
+#define VIR_DOMAIN_MEMORY_FIELD_LENGTH VIR_TYPED_PARAM_FIELD_LENGTH
+
+/**
+ * virDomainMemoryParameter:
+ *
+ * a virDomainMemoryParameter is the set of scheduler parameters.
+ * Provided for backwards compatibility; virTypedParameter is the
+ * preferred alias since 0.9.2.
+ */
+#define _virMemoryParameter _virTypedParameter
+typedef struct _virTypedParameter virMemoryParameter;
+
+/**
+ * virMemoryParameterPtr:
+ *
+ * a virMemoryParameterPtr is a pointer to a virMemoryParameter structure.
+ * Provided for backwards compatibility; virTypedParameterPtr is the
+ * preferred alias since 0.9.2.
+ */
+typedef virMemoryParameter *virMemoryParameterPtr;
+
#ifdef __cplusplus
}
#endif
char *c_retval;
int i_retval;
int nparams, i;
- virSchedParameterPtr params;
+ virTypedParameterPtr params;
if (!PyArg_ParseTuple(args, (char *)"O:virDomainGetScedulerParameters",
&pyobj_domain))
PyObject *key, *val;
switch (params[i].type) {
- case VIR_DOMAIN_SCHED_FIELD_INT:
+ case VIR_TYPED_PARAM_INT:
val = PyInt_FromLong((long)params[i].value.i);
break;
- case VIR_DOMAIN_SCHED_FIELD_UINT:
+ case VIR_TYPED_PARAM_UINT:
val = PyInt_FromLong((long)params[i].value.ui);
break;
- case VIR_DOMAIN_SCHED_FIELD_LLONG:
+ case VIR_TYPED_PARAM_LLONG:
val = PyLong_FromLongLong((long long)params[i].value.l);
break;
- case VIR_DOMAIN_SCHED_FIELD_ULLONG:
+ case VIR_TYPED_PARAM_ULLONG:
val = PyLong_FromLongLong((long long)params[i].value.ul);
break;
- case VIR_DOMAIN_SCHED_FIELD_DOUBLE:
+ case VIR_TYPED_PARAM_DOUBLE:
val = PyFloat_FromDouble((double)params[i].value.d);
break;
- case VIR_DOMAIN_SCHED_FIELD_BOOLEAN:
+ case VIR_TYPED_PARAM_BOOLEAN:
val = PyBool_FromLong((long)params[i].value.b);
break;
char *c_retval;
int i_retval;
int nparams, i;
- virSchedParameterPtr params;
+ virTypedParameterPtr params;
if (!PyArg_ParseTuple(args, (char *)"OO:virDomainSetScedulerParameters",
&pyobj_domain, &info))
continue;
switch (params[i].type) {
- case VIR_DOMAIN_SCHED_FIELD_INT:
+ case VIR_TYPED_PARAM_INT:
params[i].value.i = (int)PyInt_AS_LONG(val);
break;
- case VIR_DOMAIN_SCHED_FIELD_UINT:
+ case VIR_TYPED_PARAM_UINT:
params[i].value.ui = (unsigned int)PyInt_AS_LONG(val);
break;
- case VIR_DOMAIN_SCHED_FIELD_LLONG:
+ case VIR_TYPED_PARAM_LLONG:
params[i].value.l = (long long)PyLong_AsLongLong(val);
break;
- case VIR_DOMAIN_SCHED_FIELD_ULLONG:
+ case VIR_TYPED_PARAM_ULLONG:
params[i].value.ul = (unsigned long long)PyLong_AsLongLong(val);
break;
- case VIR_DOMAIN_SCHED_FIELD_DOUBLE:
+ case VIR_TYPED_PARAM_DOUBLE:
params[i].value.d = (double)PyFloat_AsDouble(val);
break;
- case VIR_DOMAIN_SCHED_FIELD_BOOLEAN:
+ case VIR_TYPED_PARAM_BOOLEAN:
{
/* Hack - Python's definition of Py_True breaks strict
* aliasing rules, so can't directly compare :-(