[libvirt] [PATCH 02/12] Adding structure for virDomainSetMemoryParameter

Nikunj A. Dadhania nikunj at linux.vnet.ibm.com
Mon Sep 20 08:45:23 UTC 2010


This patch adds a structure virMemoryParameter, it contains the name of the
parameter and the type of the parameter along with a union.

Signed-off-by: Nikunj A. Dadhania <nikunj at linux.vnet.ibm.com>
---
 include/libvirt/libvirt.h.in |   51 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 deletions(-)

diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
index f546ba6..8beedeb 100644
--- a/include/libvirt/libvirt.h.in
+++ b/include/libvirt/libvirt.h.in
@@ -674,6 +674,57 @@ int                     virDomainGetInfo        (virDomainPtr domain,
 char *                  virDomainGetSchedulerType(virDomainPtr domain,
                                                  int *nparams);
 
+/**
+ * virDomainMemoryParameterType:
+ *
+ * A memory parameter field type
+ */
+typedef enum {
+    VIR_DOMAIN_MEMORY_FIELD_INT     = 1, /* integer case */
+    VIR_DOMAIN_MEMORY_FIELD_UINT    = 2, /* unsigned integer case */
+    VIR_DOMAIN_MEMORY_FIELD_LLONG   = 3, /* long long case */
+    VIR_DOMAIN_MEMORY_FIELD_ULLONG  = 4, /* unsigned long long case */
+    VIR_DOMAIN_MEMORY_FIELD_DOUBLE  = 5, /* double case */
+    VIR_DOMAIN_MEMORY_FIELD_BOOLEAN = 6  /* boolean(character) case */
+} virMemoryParameterType;
+
+/**
+ * VIR_DOMAIN_MEMORY_FIELD_LENGTH:
+ *
+ * Macro providing the field length of virMemoryParameter
+ */
+
+#define VIR_DOMAIN_MEMORY_FIELD_LENGTH 80
+
+/**
+ * virDomainMemoryParameter:
+ *
+ * a virDomainMemoryParameter is the set of scheduler parameters
+ */
+
+typedef struct _virMemoryParameter virMemoryParameter;
+
+struct _virMemoryParameter {
+    char field[VIR_DOMAIN_MEMORY_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 */
+};
+
+/**
+ * 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,




More information about the libvir-list mailing list