]>
Commit | Line | Data |
---|---|---|
1 | #ifndef MONITOR_H | |
2 | #define MONITOR_H | |
3 | ||
4 | #include "qemu-common.h" | |
5 | #include "qemu-char.h" | |
6 | #include "qerror.h" | |
7 | #include "qdict.h" | |
8 | #include "block.h" | |
9 | #include "readline.h" | |
10 | ||
11 | extern Monitor *cur_mon; | |
12 | extern Monitor *default_mon; | |
13 | ||
14 | /* flags for monitor_init */ | |
15 | #define MONITOR_IS_DEFAULT 0x01 | |
16 | #define MONITOR_USE_READLINE 0x02 | |
17 | #define MONITOR_USE_CONTROL 0x04 | |
18 | #define MONITOR_USE_PRETTY 0x08 | |
19 | ||
20 | /* flags for monitor commands */ | |
21 | #define MONITOR_CMD_ASYNC 0x0001 | |
22 | ||
23 | /* QMP events */ | |
24 | typedef enum MonitorEvent { | |
25 | QEVENT_SHUTDOWN, | |
26 | QEVENT_RESET, | |
27 | QEVENT_POWERDOWN, | |
28 | QEVENT_STOP, | |
29 | QEVENT_RESUME, | |
30 | QEVENT_VNC_CONNECTED, | |
31 | QEVENT_VNC_INITIALIZED, | |
32 | QEVENT_VNC_DISCONNECTED, | |
33 | QEVENT_BLOCK_IO_ERROR, | |
34 | QEVENT_RTC_CHANGE, | |
35 | QEVENT_WATCHDOG, | |
36 | QEVENT_SPICE_CONNECTED, | |
37 | QEVENT_SPICE_INITIALIZED, | |
38 | QEVENT_SPICE_DISCONNECTED, | |
39 | QEVENT_BLOCK_JOB_COMPLETED, | |
40 | QEVENT_BLOCK_JOB_CANCELLED, | |
41 | QEVENT_DEVICE_TRAY_MOVED, | |
42 | QEVENT_SUSPEND, | |
43 | QEVENT_WAKEUP, | |
44 | QEVENT_MAX, | |
45 | } MonitorEvent; | |
46 | ||
47 | int monitor_cur_is_qmp(void); | |
48 | ||
49 | void monitor_protocol_event(MonitorEvent event, QObject *data); | |
50 | void monitor_init(CharDriverState *chr, int flags); | |
51 | ||
52 | int monitor_suspend(Monitor *mon); | |
53 | void monitor_resume(Monitor *mon); | |
54 | ||
55 | int monitor_read_bdrv_key_start(Monitor *mon, BlockDriverState *bs, | |
56 | BlockDriverCompletionFunc *completion_cb, | |
57 | void *opaque); | |
58 | int monitor_read_block_device_key(Monitor *mon, const char *device, | |
59 | BlockDriverCompletionFunc *completion_cb, | |
60 | void *opaque); | |
61 | ||
62 | int monitor_get_fd(Monitor *mon, const char *fdname); | |
63 | ||
64 | void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap) | |
65 | GCC_FMT_ATTR(2, 0); | |
66 | void monitor_printf(Monitor *mon, const char *fmt, ...) GCC_FMT_ATTR(2, 3); | |
67 | void monitor_print_filename(Monitor *mon, const char *filename); | |
68 | void monitor_flush(Monitor *mon); | |
69 | int monitor_set_cpu(int cpu_index); | |
70 | int monitor_get_cpu_index(void); | |
71 | ||
72 | typedef void (MonitorCompletion)(void *opaque, QObject *ret_data); | |
73 | ||
74 | void monitor_set_error(Monitor *mon, QError *qerror); | |
75 | void monitor_read_command(Monitor *mon, int show_prompt); | |
76 | ReadLineState *monitor_get_rs(Monitor *mon); | |
77 | int monitor_read_password(Monitor *mon, ReadLineFunc *readline_func, | |
78 | void *opaque); | |
79 | ||
80 | int qmp_qom_set(Monitor *mon, const QDict *qdict, QObject **ret); | |
81 | ||
82 | int qmp_qom_get(Monitor *mon, const QDict *qdict, QObject **ret); | |
83 | ||
84 | #endif /* !MONITOR_H */ |