summary refs log tree commit diff stats
path: root/qmp-commands.hx
diff options
context:
space:
mode:
authorAnthony Liguori <aliguori@us.ibm.com>2013-01-16 15:20:05 -0600
committerAnthony Liguori <aliguori@us.ibm.com>2013-01-16 15:20:05 -0600
commit47f4dac3fde809e3da4e60d9eb699f1d4b378249 (patch)
tree0b466b044d1ef9180cdf7ae50ccf730b2e6f8dbb /qmp-commands.hx
parentaf381ebeacdefcec0d2b44bdbb9d6e01e35f691f (diff)
parent0a1a7fabda7f0fa05ef09051be29e92e81f929ad (diff)
downloadfocaccia-qemu-47f4dac3fde809e3da4e60d9eb699f1d4b378249.tar.gz
focaccia-qemu-47f4dac3fde809e3da4e60d9eb699f1d4b378249.zip
Merge remote-tracking branch 'kraxel/chardev.1' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/chardev.1:
  chardev: add pty chardev support to chardev-add (qmp)
  chardev: add socket chardev support to chardev-add (qmp)
  chardev: add parallel chardev support to chardev-add (qmp)
  chardev: add serial chardev support to chardev-add (qmp)
  chardev: add file chardev support to chardev-add (qmp)
  chardev: add hmp hotplug commands
  chardev: add qmp hotplug commands, with null chardev support
  chardev: reduce chardev ifdef mess a bit
  chardev: fix QemuOpts lifecycle
  chardev: add error reporting for qemu_chr_new_from_opts
Diffstat (limited to 'qmp-commands.hx')
-rw-r--r--qmp-commands.hx61
1 files changed, 61 insertions, 0 deletions
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 5c692d0cb5..cbf12804be 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -2654,3 +2654,64 @@ EQMP
         .args_type  = "",
         .mhandler.cmd_new = qmp_marshal_input_query_target,
     },
+
+    {
+        .name       = "chardev-add",
+        .args_type  = "id:s,backend:q",
+        .mhandler.cmd_new = qmp_marshal_input_chardev_add,
+    },
+
+SQMP
+chardev-add
+----------------
+
+Add a chardev.
+
+Arguments:
+
+- "id": the chardev's ID, must be unique (json-string)
+- "backend": chardev backend type + parameters
+
+Examples:
+
+-> { "execute" : "chardev-add",
+     "arguments" : { "id" : "foo",
+                     "backend" : { "type" : "null", "data" : {} } } }
+<- { "return": {} }
+
+-> { "execute" : "chardev-add",
+     "arguments" : { "id" : "bar",
+                     "backend" : { "type" : "file",
+                                   "data" : { "out" : "/tmp/bar.log" } } } }
+<- { "return": {} }
+
+-> { "execute" : "chardev-add",
+     "arguments" : { "id" : "baz",
+                     "backend" : { "type" : "pty", "data" : {} } } }
+<- { "return": { "pty" : "/dev/pty/42" } }
+
+EQMP
+
+    {
+        .name       = "chardev-remove",
+        .args_type  = "id:s",
+        .mhandler.cmd_new = qmp_marshal_input_chardev_remove,
+    },
+
+
+SQMP
+chardev-remove
+--------------
+
+Remove a chardev.
+
+Arguments:
+
+- "id": the chardev's ID, must exist and not be in use (json-string)
+
+Example:
+
+-> { "execute": "chardev-remove", "arguments": { "id" : "foo" } }
+<- { "return": {} }
+
+EQMP