aboutsummaryrefslogtreecommitdiffstats
path: root/monitor.h
diff options
context:
space:
mode:
authorDavid Turner <digit@android.com>2010-09-10 00:17:41 +0200
committerDavid 'Digit' Turner <digit@android.com>2010-09-13 00:30:34 -0700
commitedd33969474fd39ed2aa61f4b07b83ee3e586f9c (patch)
tree6d6caea7ab0e2e48a279c7ea921e4969cd8605b8 /monitor.h
parentd96c9f4e20a892de38a3515dccf437ec079ebb9a (diff)
downloadexternal_qemu-edd33969474fd39ed2aa61f4b07b83ee3e586f9c.zip
external_qemu-edd33969474fd39ed2aa61f4b07b83ee3e586f9c.tar.gz
external_qemu-edd33969474fd39ed2aa61f4b07b83ee3e586f9c.tar.bz2
upstream: monitor.h
Diffstat (limited to 'monitor.h')
-rw-r--r--monitor.h44
1 files changed, 40 insertions, 4 deletions
diff --git a/monitor.h b/monitor.h
index 5a4eef8..2d478fc 100644
--- a/monitor.h
+++ b/monitor.h
@@ -3,23 +3,55 @@
#include "qemu-common.h"
#include "qemu-char.h"
+#include "qerror.h"
+#include "qdict.h"
#include "block.h"
extern Monitor *cur_mon;
+extern Monitor *default_mon;
/* flags for monitor_init */
#define MONITOR_IS_DEFAULT 0x01
#define MONITOR_USE_READLINE 0x02
-#define MONITOR_QUIT_DOESNT_EXIT 0x04 /* prevent 'quit' from exiting the emulator */
+#define MONITOR_IS_DEFAULT 0x01
+#define MONITOR_USE_READLINE 0x02
+#define MONITOR_USE_CONTROL 0x04
+#define MONITOR_QUIT_DOESNT_EXIT 0x08 /* prevent 'quit' from exiting the emulator */
+
+/* flags for monitor commands */
+#define MONITOR_CMD_ASYNC 0x0001
+#define MONITOR_CMD_USER_ONLY 0x0002
+
+/* QMP events */
+typedef enum MonitorEvent {
+ QEVENT_SHUTDOWN,
+ QEVENT_RESET,
+ QEVENT_POWERDOWN,
+ QEVENT_STOP,
+ QEVENT_RESUME,
+ QEVENT_VNC_CONNECTED,
+ QEVENT_VNC_INITIALIZED,
+ QEVENT_VNC_DISCONNECTED,
+ QEVENT_BLOCK_IO_ERROR,
+ QEVENT_RTC_CHANGE,
+ QEVENT_WATCHDOG,
+ QEVENT_MAX,
+} MonitorEvent;
+
+int monitor_cur_is_qmp(void);
+
+void monitor_protocol_event(MonitorEvent event, QObject *data);
void monitor_init(CharDriverState *chr, int flags);
int monitor_suspend(Monitor *mon);
void monitor_resume(Monitor *mon);
-void monitor_read_bdrv_key_start(Monitor *mon, BlockDriverState *bs,
- BlockDriverCompletionFunc *completion_cb,
- void *opaque);
+int monitor_read_bdrv_key_start(Monitor *mon, BlockDriverState *bs,
+ BlockDriverCompletionFunc *completion_cb,
+ void *opaque);
+
+int monitor_get_fd(Monitor *mon, const char *fdname);
void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap);
void monitor_printf(Monitor *mon, const char *fmt, ...)
@@ -27,4 +59,8 @@ void monitor_printf(Monitor *mon, const char *fmt, ...)
void monitor_print_filename(Monitor *mon, const char *filename);
void monitor_flush(Monitor *mon);
+typedef void (MonitorCompletion)(void *opaque, QObject *ret_data);
+
+void monitor_set_error(Monitor *mon, QError *qerror);
+
#endif /* !MONITOR_H */