[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCHv2 06/14] char: add qemu_chr_fe_event()
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCHv2 06/14] char: add qemu_chr_fe_event() |
Date: |
Sun, 1 Dec 2013 22:23:39 +0100 |
From: Marc-André Lureau <address@hidden>
Teach the chardev frontend to send event. This is used by the Spice port
chardev currently.
Signed-off-by: Marc-André Lureau <address@hidden>
---
include/sysemu/char.h | 10 ++++++++++
qemu-char.c | 7 +++++++
2 files changed, 17 insertions(+)
diff --git a/include/sysemu/char.h b/include/sysemu/char.h
index ad101d9..b81a6ff 100644
--- a/include/sysemu/char.h
+++ b/include/sysemu/char.h
@@ -69,6 +69,7 @@ struct CharDriverState {
void (*chr_accept_input)(struct CharDriverState *chr);
void (*chr_set_echo)(struct CharDriverState *chr, bool echo);
void (*chr_set_fe_open)(struct CharDriverState *chr, int fe_open);
+ void (*chr_fe_event)(struct CharDriverState *chr, int event);
void *opaque;
char *label;
char *filename;
@@ -138,6 +139,15 @@ void qemu_chr_fe_set_echo(struct CharDriverState *chr,
bool echo);
void qemu_chr_fe_set_open(struct CharDriverState *chr, int fe_open);
/**
+ * @qemu_chr_fe_event:
+ *
+ * Send an event from the front end to the back end.
+ *
+ * @event the event to send
+ */
+void qemu_chr_fe_event(CharDriverState *s, int event);
+
+/**
* @qemu_chr_fe_printf:
*
* Write to a character backend using a printf style interface.
diff --git a/qemu-char.c b/qemu-char.c
index e00f84c..418dc69 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -3353,6 +3353,13 @@ void qemu_chr_fe_set_open(struct CharDriverState *chr,
int fe_open)
}
}
+void qemu_chr_fe_event(struct CharDriverState *chr, int event)
+{
+ if (chr->chr_fe_event) {
+ chr->chr_fe_event(chr, event);
+ }
+}
+
int qemu_chr_fe_add_watch(CharDriverState *s, GIOCondition cond,
GIOFunc func, void *user_data)
{
--
1.8.4.2
- [Qemu-devel] [PATCHv2 00/14] Spice block device, ready-to-go patches, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 01/14] coroutine: remove qemu_co_queue_wait_insert_head, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 02/14] vscclient: do not add a socket watch if there is not data to send, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 03/14] spice-char: remove unused field, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 04/14] qmp_change_blockdev() remove unused has_format, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 05/14] include: add missing config-host.h include, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 06/14] char: add qemu_chr_fe_event(),
Marc-André Lureau <=
- [Qemu-devel] [PATCHv2 08/14] Split nbd block client code, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 07/14] spice-char: implement chardev port event, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 09/14] nbd: don't change socket block during negotiate, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 10/14] nbd: pass export name as init argument, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 11/14] nbd: make nbd_client_session_close() idempotent, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 12/14] nbd: finish any pending coroutine, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 13/14] nbd: avoid uninitialized warnings, Marc-André Lureau, 2013/12/01
- [Qemu-devel] [PATCHv2 14/14] coroutine: remove unused CoQueue AioContext, Marc-André Lureau, 2013/12/01
- Re: [Qemu-devel] [PATCHv2 00/14] Spice block device, ready-to-go patches, Gerd Hoffmann, 2013/12/02