On 12/15/2011 03:50 AM, Hu Tao wrote:
Set up the types for the numa functions and insert them into the
virDriver structure definition.
---
include/libvirt/libvirt.h.in | 23 +++++++++++++++++++++++
python/generator.py | 2 ++
src/driver.h | 15 +++++++++++++++
src/libvirt_public.syms | 6 ++++++
4 files changed, 46 insertions(+), 0 deletions(-)
+/* Manage numa parameters */
+
+/**
+ * VIR_DOMAIN_NUMA_NODESET:
+ *
+ * numa nodeset
+ */
+#define VIR_DOMAIN_NUMA_NODESET "numa_nodeset"
+
+/**
+ * VIR_DOMAIN_NUMA_MODE:
+ *
+ * numa mode
+ */
+#define VIR_DOMAIN_NUMA_MODE "numa_mode"
That's awfully sparse on details, such as what type is expected.
Furthermore, after reading 6/8, I noticed that you are using numa_mode
to hold a non-public enum value, which makes it a non-starter. I'm
squashing this in, to make the enum public and add some documentation.
diff --git i/include/libvirt/libvirt.h.in w/include/libvirt/libvirt.h.in
index 55f27ae..da370fb 100644
--- i/include/libvirt/libvirt.h.in
+++ w/include/libvirt/libvirt.h.in
@@ -1347,16 +1347,32 @@ typedef enum {
/* Manage numa parameters */
/**
+ * virDomainNumatuneMemMode:
+ * Representation of the various modes in the <numatune> element of
+ * a domain.
+ */
+enum virDomainNumatuneMemMode {
+ VIR_DOMAIN_NUMATUNE_MEM_STRICT = 0,
+ VIR_DOMAIN_NUMATUNE_MEM_PREFERRED = 1,
+ VIR_DOMAIN_NUMATUNE_MEM_INTERLEAVE = 2,
+
+ /* This constant is subject to change */
+ VIR_DOMAIN_NUMATUNE_MEM_LAST
+};
+
+/**
* VIR_DOMAIN_NUMA_NODESET:
*
- * numa nodeset
+ * Macro for typed parameter name that lists the numa nodeset of a
+ * domain, as a string.
*/
#define VIR_DOMAIN_NUMA_NODESET "numa_nodeset"
/**
* VIR_DOMAIN_NUMA_MODE:
*
- * numa mode
+ * Macro for typed parameter name that lists the numa mode of a domain,
+ * as an int containing a virDomainNumatuneMemMode value.
*/
#define VIR_DOMAIN_NUMA_MODE "numa_mode"
diff --git i/src/conf/domain_conf.h w/src/conf/domain_conf.h
index 3229a6f..189b8f6 100644
--- i/src/conf/domain_conf.h
+++ w/src/conf/domain_conf.h
@@ -1355,14 +1355,6 @@ virDomainVcpuPinDefPtr
virDomainVcpuPinFindByVcpu(virDomainVcpuPinDefPtr *def,
int nvcpupin,
int vcpu);
-enum virDomainNumatuneMemMode {
- VIR_DOMAIN_NUMATUNE_MEM_STRICT,
- VIR_DOMAIN_NUMATUNE_MEM_PREFERRED,
- VIR_DOMAIN_NUMATUNE_MEM_INTERLEAVE,
-
- VIR_DOMAIN_NUMATUNE_MEM_LAST
-};
-
typedef struct _virDomainNumatuneDef virDomainNumatuneDef;
typedef virDomainNumatuneDef *virDomainNumatuneDefPtr;
struct _virDomainNumatuneDef {
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org