summary refs log tree commit diff stats
path: root/qemu-char.h
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2009-09-10 10:58:35 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2009-09-11 10:19:47 -0500
commit191bc01bc970bd1e86f34ddeab896b2b27fd5124 (patch)
tree2e88485ef5ca527010d714964bb441020f0df0b1 /qemu-char.h
parent9d868d4517be12226991b2cc55d11bc0f83ea7b2 (diff)
downloadfocaccia-qemu-191bc01bc970bd1e86f34ddeab896b2b27fd5124.tar.gz
focaccia-qemu-191bc01bc970bd1e86f34ddeab896b2b27fd5124.zip
switch chardev to QemuOpts: infrastructure, null device
start switching chardevs to QemuOpts.  This patch adds the
infrastructure and converts the null device.

The patch brings two new functions:

qemu_chr_open_opts()
	same as qemu_chr_open(), but uses QemuOpts instead of a
	option char string.

qemu_chr_parse_compat()
	accepts a traditional chardev option string, returns the
	corresponding QemuOpts instance, to handle backward
	compatibility.

The patch also adds a new -chardev switch which can be used to create
named+unconnected chardevs, like this:

	-chardev null,id=test

This uses the new qemu_chr_open_opts.  Thus with this patch alone only
the null device works.  The other devices will follow ...

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'qemu-char.h')
-rw-r--r--qemu-char.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/qemu-char.h b/qemu-char.h
index df620bc7db..9bff0c7f11 100644
--- a/qemu-char.h
+++ b/qemu-char.h
@@ -3,6 +3,8 @@
 
 #include "qemu-common.h"
 #include "sys-queue.h"
+#include "qemu-option.h"
+#include "qemu-config.h"
 
 /* character device */
 
@@ -68,6 +70,8 @@ struct CharDriverState {
     TAILQ_ENTRY(CharDriverState) next;
 };
 
+CharDriverState *qemu_chr_open_opts(QemuOpts *opts,
+                                    void (*init)(struct CharDriverState *s));
 CharDriverState *qemu_chr_open(const char *label, const char *filename, void (*init)(struct CharDriverState *s));
 void qemu_chr_close(CharDriverState *chr);
 void qemu_chr_printf(CharDriverState *s, const char *fmt, ...);