[libvirt] [PATCH 09/12] qemu_monitor: add 2 functions qemuMonitorDetachRNGDev and qemuMonitorAttachRNGDev

Luyao Huang lhuang at redhat.com
Sat Jan 3 05:06:32 UTC 2015


These 2 functions just do some basic check and then call
qemuMonitorJSONAttachRNGDev and qemuMonitorDelObject to
help us.

Signed-off-by: Luyao Huang <lhuang at redhat.com>
---
 src/qemu/qemu_monitor.c | 43 +++++++++++++++++++++++++++++++++++++++++++
 src/qemu/qemu_monitor.h |  7 +++++++
 2 files changed, 50 insertions(+)

diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index 100bbd0..9ac5934 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -4140,6 +4140,49 @@ int qemuMonitorDetachCharDev(qemuMonitorPtr mon,
     return qemuMonitorJSONDetachCharDev(mon, chrID);
 }
 
+int qemuMonitorAttachRNGDev(qemuMonitorPtr mon,
+                            const char *chrID,
+                            const char *objID,
+                            virDomainRNGDefPtr rng)
+{
+    VIR_DEBUG("mon=%p chrID=%s objID=%s rng=%p", mon, chrID, objID, rng);
+
+    if (!mon) {
+        virReportError(VIR_ERR_INVALID_ARG, "%s",
+                       _("monitor must not be NULL"));
+        return -1;
+    }
+
+    if (!mon->json) {
+        virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
+                       _("JSON monitor is required"));
+        return -1;
+    }
+
+    return qemuMonitorJSONAttachRNGDev(mon, chrID, objID, rng);
+}
+
+int qemuMonitorDetachRNGDev(qemuMonitorPtr mon,
+                             const char *objID)
+{
+    VIR_DEBUG("mon=%p objID=%s", mon, objID);
+
+    if (!mon) {
+        virReportError(VIR_ERR_INVALID_ARG, "%s",
+                       _("monitor must not be NULL"));
+        return -1;
+    }
+
+    if (!mon->json) {
+        virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
+                       _("JSON monitor is required"));
+        return -1;
+    }
+
+    return qemuMonitorDelObject(mon, objID);
+}
+
+
 int
 qemuMonitorGetDeviceAliases(qemuMonitorPtr mon,
                             char ***aliases)
diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
index edab66f..99587e8 100644
--- a/src/qemu/qemu_monitor.h
+++ b/src/qemu/qemu_monitor.h
@@ -865,6 +865,13 @@ int qemuMonitorAttachCharDev(qemuMonitorPtr mon,
 int qemuMonitorDetachCharDev(qemuMonitorPtr mon,
                              const char *chrID);
 
+int qemuMonitorAttachRNGDev(qemuMonitorPtr mon,
+                            const char *chrID,
+                            const char *objID,
+                            virDomainRNGDefPtr rng);
+int qemuMonitorDetachRNGDev(qemuMonitorPtr mon,
+                            const char *objID);
+
 int qemuMonitorGetDeviceAliases(qemuMonitorPtr mon,
                                 char ***aliases);
 
-- 
1.8.3.1




More information about the libvir-list mailing list