aboutsummaryrefslogtreecommitdiff
path: root/monitor.h
diff options
context:
space:
mode:
authorLuiz Capitulino <lcapitulino@redhat.com>2009-11-26 22:59:03 -0200
committerAnthony Liguori <aliguori@us.ibm.com>2009-12-03 09:41:23 -0600
commit0d1ea871b09fc74b4a2085150980b43bd1973744 (patch)
treea970f0e1751e0a6e9bb3751ef1d5b72fa8b0385b /monitor.h
parent5e23f480df7a451dab6f82c4f13520b089daaf0e (diff)
downloadqemu-0d1ea871b09fc74b4a2085150980b43bd1973744.zip
qemu-0d1ea871b09fc74b4a2085150980b43bd1973744.tar.gz
qemu-0d1ea871b09fc74b4a2085150980b43bd1973744.tar.bz2
QMP: Asynchronous events infrastructure
Asynchronous events are generated with a call to monitor_protocol_event(). This function builds the right data-type and emit the event right away. The emitted data is always a JSON object and its format is as follows: { "event": json-string, "timestamp": { "seconds": json-number, "microseconds": json-number }, "data": json-value } This design is based on ideas by Amit Shah <amit.shah@redhat.com>. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'monitor.h')
-rw-r--r--monitor.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/monitor.h b/monitor.h
index 556507c..a1d8b7a 100644
--- a/monitor.h
+++ b/monitor.h
@@ -13,6 +13,12 @@ extern Monitor *cur_mon;
#define MONITOR_USE_READLINE 0x02
#define MONITOR_USE_CONTROL 0x04
+/* QMP events */
+typedef enum MonitorEvent {
+ EVENT_MAX,
+} MonitorEvent;
+
+void monitor_protocol_event(MonitorEvent event, QObject *data);
const char *monitor_cmdline_parse(const char *cmdline, int *flags);
void monitor_init(CharDriverState *chr, int flags);