diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2010-12-23 13:42:48 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2011-02-01 16:50:43 -0600 |
commit | c48855e1404e9b5857e07b7839f806fa98b4abdc (patch) | |
tree | 66ca46697fe88b69c8d6f2c9e501e7f499bdc63a | |
parent | d55dbc3acdaf92b42c7fd077c8b6c1392131c043 (diff) |
add qemu_chr_set_echo
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | monitor.c | 1 | ||||
-rw-r--r-- | qemu-char.c | 7 | ||||
-rw-r--r-- | qemu-char.h | 2 |
3 files changed, 10 insertions, 0 deletions
@@ -5175,6 +5175,7 @@ void monitor_init(CharDriverState *chr, int flags) /* Control mode requires special handlers */ qemu_chr_add_handlers(chr, monitor_can_read, monitor_control_read, monitor_control_event, mon); + qemu_chr_set_echo(chr, true); } else { qemu_chr_add_handlers(chr, monitor_can_read, monitor_read, monitor_event, mon); diff --git a/qemu-char.c b/qemu-char.c index b570d60a58..b95cfdc6f9 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -2558,6 +2558,13 @@ CharDriverState *qemu_chr_open(const char *label, const char *filename, void (*i return chr; } +void qemu_chr_set_echo(struct CharDriverState *chr, bool echo) +{ + if (chr->chr_set_echo) { + chr->chr_set_echo(chr, echo); + } +} + void qemu_chr_close(CharDriverState *chr) { QTAILQ_REMOVE(&chardevs, chr, next); diff --git a/qemu-char.h b/qemu-char.h index e6ee6c4bc9..56d9954c52 100644 --- a/qemu-char.h +++ b/qemu-char.h @@ -64,6 +64,7 @@ struct CharDriverState { void (*chr_send_event)(struct CharDriverState *chr, int event); void (*chr_close)(struct CharDriverState *chr); void (*chr_accept_input)(struct CharDriverState *chr); + void (*chr_set_echo)(struct CharDriverState *chr, bool echo); void *opaque; QEMUBH *bh; char *label; @@ -76,6 +77,7 @@ QemuOpts *qemu_chr_parse_compat(const char *label, const char *filename); 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_set_echo(struct CharDriverState *chr, bool echo); void qemu_chr_close(CharDriverState *chr); void qemu_chr_printf(CharDriverState *s, const char *fmt, ...) GCC_FMT_ATTR(2, 3); |