From c48855e1404e9b5857e07b7839f806fa98b4abdc Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 23 Dec 2010 13:42:48 +0100 Subject: add qemu_chr_set_echo Signed-off-by: Paolo Bonzini Signed-off-by: Anthony Liguori --- monitor.c | 1 + qemu-char.c | 7 +++++++ qemu-char.h | 2 ++ 3 files changed, 10 insertions(+) diff --git a/monitor.c b/monitor.c index 34c347c..7fc311d 100644 --- a/monitor.c +++ b/monitor.c @@ -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 b570d60..b95cfdc 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 e6ee6c4..56d9954 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); -- cgit v1.1