master
h 51 lines 1.57 KB
Raw
1 #ifndef MONITOR_H
2 #define MONITOR_H
3
4 #include "qapi/qapi-types-misc.h"
5 #include "qemu/coroutine-core.h"
6 #include "qemu/readline.h"
7 #include "exec/hwaddr.h"
8 #include "qom/object.h"
9
10 #define TYPE_MONITOR "monitor"
11 OBJECT_DECLARE_TYPE(Monitor, MonitorClass, MONITOR);
12
13 #define TYPE_MONITOR_QMP "monitor-qmp"
14 OBJECT_DECLARE_TYPE(MonitorQMP, MonitorQMPClass, MONITOR_QMP);
15
16 typedef struct MonitorOptions MonitorOptions;
17
18 #define QMP_REQ_QUEUE_LEN_MAX 8
19
20 extern QemuOptsList qemu_mon_opts;
21
22 Monitor *monitor_cur(void);
23 Monitor *monitor_set_cur(Coroutine *co, Monitor *mon);
24
25 void monitor_init_globals(void);
26 void monitor_init_globals_core(void);
27 char *monitor_compat_id(void);
28 void monitor_new_qmp(const char *id, const char *chardev_id,
29 bool pretty, Error **errp);
30 int monitor_new(MonitorOptions *opts, bool allow_hmp, Error **errp);
31 int monitor_new_opts(QemuOpts *opts, Error **errp);
32 void monitor_cleanup(void);
33
34 void monitor_suspend(Monitor *mon);
35 void monitor_resume(Monitor *mon);
36
37 int monitor_get_fd(Monitor *mon, const char *fdname, Error **errp);
38 int monitor_fd_param(Monitor *mon, const char *fdname, Error **errp);
39
40 int monitor_puts(Monitor *mon, const char *str);
41 void monitor_flush(Monitor *mon);
42
43 int monitor_puts_locked(Monitor *mon, const char *str);
44 void monitor_flush_locked(Monitor *mon);
45
46 AddfdInfo *monitor_fdset_add_fd(int fd, bool has_fdset_id, int64_t fdset_id,
47 const char *opaque, Error **errp);
48 int monitor_fdset_dup_fd_add(int64_t fdset_id, int flags, Error **errp);
49 void monitor_fdset_dup_fd_remove(int dup_fd);
50
51 #endif /* MONITOR_H */