diff options
author | David Turner <digit@android.com> | 2010-09-10 00:17:41 +0200 |
---|---|---|
committer | David 'Digit' Turner <digit@android.com> | 2010-09-13 00:30:34 -0700 |
commit | edd33969474fd39ed2aa61f4b07b83ee3e586f9c (patch) | |
tree | 6d6caea7ab0e2e48a279c7ea921e4969cd8605b8 /monitor.h | |
parent | d96c9f4e20a892de38a3515dccf437ec079ebb9a (diff) | |
download | external_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.h | 44 |
1 files changed, 40 insertions, 4 deletions
@@ -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 */ |