[libvirt] [PATCH v7 2/7] conf: Add one interface to add default input devices

Li Zhang zhlcindy at gmail.com
Fri Feb 14 08:57:29 UTC 2014


From: Li Zhang <zhlcindy at linux.vnet.ibm.com>

This patch is to add one new interface to add input devices.

Signed-off-by: Li Zhang <zhlcindy at linux.vnet.ibm.com>
---
 src/conf/domain_conf.c   | 27 +++++++++++++++++++++++++++
 src/conf/domain_conf.h   |  4 ++++
 src/libvirt_private.syms |  1 +
 3 files changed, 32 insertions(+)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 9d344bc..3cb4fc1 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -11043,6 +11043,33 @@ virDomainDefMaybeAddController(virDomainDefPtr def,
     return 0;
 }
 
+int
+virDomainDefMaybeAddInput(virDomainDefPtr def,
+                               int type,
+                               int bus)
+{
+    size_t i;
+    virDomainInputDefPtr input;
+
+    for (i = 0; i < def->ninputs; i++) {
+        if (def->inputs[i]->type == type &&
+            def->inputs[i]->bus == bus)
+            return 0;
+    }
+
+    if (VIR_ALLOC(input) < 0)
+        return -1;
+
+    input->type = type;
+    input->bus = bus;
+
+    if (VIR_APPEND_ELEMENT(def->inputs, def->ninputs, input) < 0) {
+        VIR_FREE(input);
+        return -1;
+    }
+
+    return 0;
+}
 
 /* Parse a memory element located at XPATH within CTXT, and store the
  * result into MEM.  If REQUIRED, then the value must exist;
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 98706d5..2740152 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2805,6 +2805,10 @@ virDomainDefMaybeAddController(virDomainDefPtr def,
                                int type,
                                int idx,
                                int model);
+int
+virDomainDefMaybeAddInput(virDomainDefPtr def,
+                          int type,
+                          int bus);
 
 char *virDomainDefGetDefaultEmulator(virDomainDefPtr def, virCapsPtr caps);
 
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 0b28bac..607888d 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -165,6 +165,7 @@ virDomainDefGenSecurityLabelDef;
 virDomainDefGetDefaultEmulator;
 virDomainDefGetSecurityLabelDef;
 virDomainDefMaybeAddController;
+virDomainDefMaybeAddInput;
 virDomainDefNew;
 virDomainDefParseFile;
 virDomainDefParseNode;
-- 
1.8.2.1




More information about the libvir-list mailing list