xref: /openbmc/qemu/include/monitor/hmp.h (revision cde3c425)
1 /*
2  * Human Monitor Interface
3  *
4  * Copyright IBM, Corp. 2011
5  *
6  * Authors:
7  *  Anthony Liguori   <aliguori@us.ibm.com>
8  *
9  * This work is licensed under the terms of the GNU GPL, version 2.  See
10  * the COPYING file in the top-level directory.
11  *
12  */
13 
14 #ifndef HMP_H
15 #define HMP_H
16 
17 #include "qemu/readline.h"
18 #include "qapi/qapi-types-common.h"
19 
20 bool hmp_handle_error(Monitor *mon, Error *err);
21 void hmp_help_cmd(Monitor *mon, const char *name);
22 strList *hmp_split_at_comma(const char *str);
23 
24 void hmp_info_name(Monitor *mon, const QDict *qdict);
25 void hmp_info_version(Monitor *mon, const QDict *qdict);
26 void hmp_info_kvm(Monitor *mon, const QDict *qdict);
27 void hmp_info_status(Monitor *mon, const QDict *qdict);
28 void hmp_info_uuid(Monitor *mon, const QDict *qdict);
29 void hmp_info_chardev(Monitor *mon, const QDict *qdict);
30 void hmp_info_mice(Monitor *mon, const QDict *qdict);
31 void hmp_info_migrate(Monitor *mon, const QDict *qdict);
32 void hmp_info_migrate_capabilities(Monitor *mon, const QDict *qdict);
33 void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict);
34 void hmp_info_cpus(Monitor *mon, const QDict *qdict);
35 void hmp_info_vnc(Monitor *mon, const QDict *qdict);
36 void hmp_info_spice(Monitor *mon, const QDict *qdict);
37 void hmp_info_balloon(Monitor *mon, const QDict *qdict);
38 void hmp_info_pic(Monitor *mon, const QDict *qdict);
39 void hmp_info_pci(Monitor *mon, const QDict *qdict);
40 void hmp_info_tpm(Monitor *mon, const QDict *qdict);
41 void hmp_info_iothreads(Monitor *mon, const QDict *qdict);
42 void hmp_quit(Monitor *mon, const QDict *qdict);
43 void hmp_stop(Monitor *mon, const QDict *qdict);
44 void hmp_sync_profile(Monitor *mon, const QDict *qdict);
45 void hmp_system_reset(Monitor *mon, const QDict *qdict);
46 void hmp_system_powerdown(Monitor *mon, const QDict *qdict);
47 void hmp_exit_preconfig(Monitor *mon, const QDict *qdict);
48 void hmp_announce_self(Monitor *mon, const QDict *qdict);
49 void hmp_cpu(Monitor *mon, const QDict *qdict);
50 void hmp_memsave(Monitor *mon, const QDict *qdict);
51 void hmp_pmemsave(Monitor *mon, const QDict *qdict);
52 void hmp_ringbuf_write(Monitor *mon, const QDict *qdict);
53 void hmp_ringbuf_read(Monitor *mon, const QDict *qdict);
54 void hmp_cont(Monitor *mon, const QDict *qdict);
55 void hmp_system_wakeup(Monitor *mon, const QDict *qdict);
56 void hmp_nmi(Monitor *mon, const QDict *qdict);
57 void hmp_info_network(Monitor *mon, const QDict *qdict);
58 void hmp_set_link(Monitor *mon, const QDict *qdict);
59 void hmp_balloon(Monitor *mon, const QDict *qdict);
60 void hmp_loadvm(Monitor *mon, const QDict *qdict);
61 void hmp_savevm(Monitor *mon, const QDict *qdict);
62 void hmp_delvm(Monitor *mon, const QDict *qdict);
63 void hmp_migrate_cancel(Monitor *mon, const QDict *qdict);
64 void hmp_migrate_continue(Monitor *mon, const QDict *qdict);
65 void hmp_migrate_incoming(Monitor *mon, const QDict *qdict);
66 void hmp_migrate_recover(Monitor *mon, const QDict *qdict);
67 void hmp_migrate_pause(Monitor *mon, const QDict *qdict);
68 void hmp_migrate_set_capability(Monitor *mon, const QDict *qdict);
69 void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict);
70 void hmp_client_migrate_info(Monitor *mon, const QDict *qdict);
71 void hmp_migrate_start_postcopy(Monitor *mon, const QDict *qdict);
72 void hmp_x_colo_lost_heartbeat(Monitor *mon, const QDict *qdict);
73 void hmp_set_password(Monitor *mon, const QDict *qdict);
74 void hmp_expire_password(Monitor *mon, const QDict *qdict);
75 void hmp_change(Monitor *mon, const QDict *qdict);
76 #ifdef CONFIG_VNC
77 void hmp_change_vnc(Monitor *mon, const char *device, const char *target,
78                     const char *arg, const char *read_only, bool force,
79                     Error **errp);
80 #endif
81 void hmp_change_medium(Monitor *mon, const char *device, const char *target,
82                        const char *arg, const char *read_only, bool force,
83                        Error **errp);
84 void hmp_migrate(Monitor *mon, const QDict *qdict);
85 void hmp_device_add(Monitor *mon, const QDict *qdict);
86 void hmp_device_del(Monitor *mon, const QDict *qdict);
87 void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict);
88 void hmp_netdev_add(Monitor *mon, const QDict *qdict);
89 void hmp_netdev_del(Monitor *mon, const QDict *qdict);
90 void hmp_getfd(Monitor *mon, const QDict *qdict);
91 void hmp_closefd(Monitor *mon, const QDict *qdict);
92 void hmp_mouse_move(Monitor *mon, const QDict *qdict);
93 void hmp_mouse_button(Monitor *mon, const QDict *qdict);
94 void hmp_mouse_set(Monitor *mon, const QDict *qdict);
95 void hmp_sendkey(Monitor *mon, const QDict *qdict);
96 void coroutine_fn hmp_screendump(Monitor *mon, const QDict *qdict);
97 void hmp_chardev_add(Monitor *mon, const QDict *qdict);
98 void hmp_chardev_change(Monitor *mon, const QDict *qdict);
99 void hmp_chardev_remove(Monitor *mon, const QDict *qdict);
100 void hmp_chardev_send_break(Monitor *mon, const QDict *qdict);
101 void hmp_object_add(Monitor *mon, const QDict *qdict);
102 void hmp_object_del(Monitor *mon, const QDict *qdict);
103 void hmp_info_memdev(Monitor *mon, const QDict *qdict);
104 void hmp_info_memory_devices(Monitor *mon, const QDict *qdict);
105 void hmp_qom_list(Monitor *mon, const QDict *qdict);
106 void hmp_qom_get(Monitor *mon, const QDict *qdict);
107 void hmp_qom_set(Monitor *mon, const QDict *qdict);
108 void hmp_info_qom_tree(Monitor *mon, const QDict *dict);
109 void hmp_virtio_query(Monitor *mon, const QDict *qdict);
110 void hmp_virtio_status(Monitor *mon, const QDict *qdict);
111 void hmp_virtio_queue_status(Monitor *mon, const QDict *qdict);
112 void hmp_vhost_queue_status(Monitor *mon, const QDict *qdict);
113 void hmp_virtio_queue_element(Monitor *mon, const QDict *qdict);
114 void hmp_xen_event_inject(Monitor *mon, const QDict *qdict);
115 void hmp_xen_event_list(Monitor *mon, const QDict *qdict);
116 void object_add_completion(ReadLineState *rs, int nb_args, const char *str);
117 void object_del_completion(ReadLineState *rs, int nb_args, const char *str);
118 void device_add_completion(ReadLineState *rs, int nb_args, const char *str);
119 void device_del_completion(ReadLineState *rs, int nb_args, const char *str);
120 void sendkey_completion(ReadLineState *rs, int nb_args, const char *str);
121 void chardev_remove_completion(ReadLineState *rs, int nb_args, const char *str);
122 void chardev_add_completion(ReadLineState *rs, int nb_args, const char *str);
123 void set_link_completion(ReadLineState *rs, int nb_args, const char *str);
124 void netdev_add_completion(ReadLineState *rs, int nb_args, const char *str);
125 void netdev_del_completion(ReadLineState *rs, int nb_args, const char *str);
126 void ringbuf_write_completion(ReadLineState *rs, int nb_args, const char *str);
127 void info_trace_events_completion(ReadLineState *rs, int nb_args, const char *str);
128 void trace_event_completion(ReadLineState *rs, int nb_args, const char *str);
129 void watchdog_action_completion(ReadLineState *rs, int nb_args,
130                                 const char *str);
131 void migrate_set_capability_completion(ReadLineState *rs, int nb_args,
132                                        const char *str);
133 void migrate_set_parameter_completion(ReadLineState *rs, int nb_args,
134                                       const char *str);
135 void delvm_completion(ReadLineState *rs, int nb_args, const char *str);
136 void loadvm_completion(ReadLineState *rs, int nb_args, const char *str);
137 void hmp_rocker(Monitor *mon, const QDict *qdict);
138 void hmp_rocker_ports(Monitor *mon, const QDict *qdict);
139 void hmp_rocker_of_dpa_flows(Monitor *mon, const QDict *qdict);
140 void hmp_rocker_of_dpa_groups(Monitor *mon, const QDict *qdict);
141 void hmp_info_dump(Monitor *mon, const QDict *qdict);
142 void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict);
143 void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict);
144 void hmp_info_memory_size_summary(Monitor *mon, const QDict *qdict);
145 void hmp_info_replay(Monitor *mon, const QDict *qdict);
146 void hmp_replay_break(Monitor *mon, const QDict *qdict);
147 void hmp_replay_delete_break(Monitor *mon, const QDict *qdict);
148 void hmp_replay_seek(Monitor *mon, const QDict *qdict);
149 void hmp_info_dirty_rate(Monitor *mon, const QDict *qdict);
150 void hmp_calc_dirty_rate(Monitor *mon, const QDict *qdict);
151 void hmp_set_vcpu_dirty_limit(Monitor *mon, const QDict *qdict);
152 void hmp_cancel_vcpu_dirty_limit(Monitor *mon, const QDict *qdict);
153 void hmp_info_vcpu_dirty_limit(Monitor *mon, const QDict *qdict);
154 void hmp_human_readable_text_helper(Monitor *mon,
155                                     HumanReadableText *(*qmp_handler)(Error **));
156 void hmp_info_stats(Monitor *mon, const QDict *qdict);
157 void hmp_one_insn_per_tb(Monitor *mon, const QDict *qdict);
158 void hmp_watchdog_action(Monitor *mon, const QDict *qdict);
159 void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict);
160 void hmp_info_capture(Monitor *mon, const QDict *qdict);
161 void hmp_stopcapture(Monitor *mon, const QDict *qdict);
162 void hmp_wavcapture(Monitor *mon, const QDict *qdict);
163 void hmp_trace_event(Monitor *mon, const QDict *qdict);
164 void hmp_trace_file(Monitor *mon, const QDict *qdict);
165 void hmp_info_trace_events(Monitor *mon, const QDict *qdict);
166 void hmp_help(Monitor *mon, const QDict *qdict);
167 void hmp_info_help(Monitor *mon, const QDict *qdict);
168 void hmp_info_sync_profile(Monitor *mon, const QDict *qdict);
169 void hmp_info_history(Monitor *mon, const QDict *qdict);
170 void hmp_logfile(Monitor *mon, const QDict *qdict);
171 void hmp_log(Monitor *mon, const QDict *qdict);
172 void hmp_gdbserver(Monitor *mon, const QDict *qdict);
173 void hmp_print(Monitor *mon, const QDict *qdict);
174 void hmp_sum(Monitor *mon, const QDict *qdict);
175 void hmp_ioport_read(Monitor *mon, const QDict *qdict);
176 void hmp_ioport_write(Monitor *mon, const QDict *qdict);
177 void hmp_boot_set(Monitor *mon, const QDict *qdict);
178 void hmp_info_mtree(Monitor *mon, const QDict *qdict);
179 void hmp_info_cryptodev(Monitor *mon, const QDict *qdict);
180 void hmp_dumpdtb(Monitor *mon, const QDict *qdict);
181 
182 #endif
183