blob: a6f56b1f29e1f197ab4366ff59963a8ab21c56d8 [file] [log] [blame]
Anthony Liguori48a32be2011-09-02 12:34:48 -05001/*
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-common.h"
Hani Benhabilesbfa40f72014-04-13 16:25:06 +010018#include "qemu/readline.h"
Anthony Liguori48a32be2011-09-02 12:34:48 -050019#include "qapi-types.h"
Paolo Bonzini7b1b5d12012-12-17 18:19:43 +010020#include "qapi/qmp/qdict.h"
Anthony Liguori48a32be2011-09-02 12:34:48 -050021
Wenchao Xia84f2d0e2013-01-14 14:06:25 +080022void hmp_info_name(Monitor *mon, const QDict *qdict);
23void hmp_info_version(Monitor *mon, const QDict *qdict);
24void hmp_info_kvm(Monitor *mon, const QDict *qdict);
25void hmp_info_status(Monitor *mon, const QDict *qdict);
26void hmp_info_uuid(Monitor *mon, const QDict *qdict);
27void hmp_info_chardev(Monitor *mon, const QDict *qdict);
28void hmp_info_mice(Monitor *mon, const QDict *qdict);
29void hmp_info_migrate(Monitor *mon, const QDict *qdict);
30void hmp_info_migrate_capabilities(Monitor *mon, const QDict *qdict);
Liang Li50e9a622015-03-23 16:32:29 +080031void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict);
Wenchao Xia84f2d0e2013-01-14 14:06:25 +080032void hmp_info_migrate_cache_size(Monitor *mon, const QDict *qdict);
33void hmp_info_cpus(Monitor *mon, const QDict *qdict);
34void hmp_info_block(Monitor *mon, const QDict *qdict);
35void hmp_info_blockstats(Monitor *mon, const QDict *qdict);
36void hmp_info_vnc(Monitor *mon, const QDict *qdict);
37void hmp_info_spice(Monitor *mon, const QDict *qdict);
38void hmp_info_balloon(Monitor *mon, const QDict *qdict);
Hervé Poussineau61b97832016-09-26 22:23:27 +020039void hmp_info_irq(Monitor *mon, const QDict *qdict);
40void hmp_info_pic(Monitor *mon, const QDict *qdict);
Wenchao Xia84f2d0e2013-01-14 14:06:25 +080041void hmp_info_pci(Monitor *mon, const QDict *qdict);
42void hmp_info_block_jobs(Monitor *mon, const QDict *qdict);
Stefan Bergerd1a0cf72013-02-27 12:47:49 -050043void hmp_info_tpm(Monitor *mon, const QDict *qdict);
Ting Wang62313162015-06-26 16:07:13 +080044void hmp_info_iothreads(Monitor *mon, const QDict *qdict);
Luiz Capitulino7a7f3252011-09-15 14:20:28 -030045void hmp_quit(Monitor *mon, const QDict *qdict);
Luiz Capitulino5f158f22011-09-15 14:34:39 -030046void hmp_stop(Monitor *mon, const QDict *qdict);
Luiz Capitulino38d22652011-09-15 14:41:46 -030047void hmp_system_reset(Monitor *mon, const QDict *qdict);
Luiz Capitulino5bc465e2011-09-28 11:06:15 -030048void hmp_system_powerdown(Monitor *mon, const QDict *qdict);
Luiz Capitulino755f1962011-10-06 14:31:39 -030049void hmp_cpu(Monitor *mon, const QDict *qdict);
Luiz Capitulino0cfd6a92011-11-22 16:32:37 -020050void hmp_memsave(Monitor *mon, const QDict *qdict);
Luiz Capitulino6d3962b2011-11-22 17:26:46 -020051void hmp_pmemsave(Monitor *mon, const QDict *qdict);
Markus Armbruster3949e592013-02-06 21:27:24 +010052void hmp_ringbuf_write(Monitor *mon, const QDict *qdict);
53void hmp_ringbuf_read(Monitor *mon, const QDict *qdict);
Luiz Capitulinoe42e8182011-11-22 17:58:31 -020054void hmp_cont(Monitor *mon, const QDict *qdict);
Gerd Hoffmann9b9df252012-02-23 13:45:21 +010055void hmp_system_wakeup(Monitor *mon, const QDict *qdict);
Markus Armbruster3e5a50d2015-02-06 13:55:43 +010056void hmp_nmi(Monitor *mon, const QDict *qdict);
Luiz Capitulino4b371562011-11-23 13:11:55 -020057void hmp_set_link(Monitor *mon, const QDict *qdict);
Luiz Capitulinoa4dea8a2011-11-23 13:28:21 -020058void hmp_block_passwd(Monitor *mon, const QDict *qdict);
Luiz Capitulinod72f3262011-11-25 14:38:09 -020059void hmp_balloon(Monitor *mon, const QDict *qdict);
Luiz Capitulino5e7caac2011-11-25 14:57:10 -020060void hmp_block_resize(Monitor *mon, const QDict *qdict);
Luiz Capitulino6106e242011-11-25 16:15:19 -020061void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict);
Wenchao Xia775ca882013-09-11 14:04:37 +080062void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict);
Wenchao Xia7a4ed2e2013-09-11 14:04:38 +080063void hmp_snapshot_delete_blkdev_internal(Monitor *mon, const QDict *qdict);
Paolo Bonzinid9b902d2012-10-18 16:49:24 +020064void hmp_drive_mirror(Monitor *mon, const QDict *qdict);
Stefan Hajnoczide909302013-06-26 14:11:58 +020065void hmp_drive_backup(Monitor *mon, const QDict *qdict);
Juan Quintela52b26202017-04-18 11:40:56 +020066void hmp_loadvm(Monitor *mon, const QDict *qdict);
Juan Quintelad9c7d132017-04-18 11:44:16 +020067void hmp_savevm(Monitor *mon, const QDict *qdict);
Juan Quintelad905bb72017-04-18 11:46:23 +020068void hmp_delvm(Monitor *mon, const QDict *qdict);
Juan Quintela66830612017-04-18 11:51:06 +020069void hmp_info_snapshots(Monitor *mon, const QDict *qdict);
Luiz Capitulino6cdedb02011-11-27 22:54:09 -020070void hmp_migrate_cancel(Monitor *mon, const QDict *qdict);
Dr. David Alan Gilbert94ae12c2017-10-20 10:05:54 +010071void hmp_migrate_continue(Monitor *mon, const QDict *qdict);
Dr. David Alan Gilbertbf1ae1f2015-02-19 11:40:28 +000072void hmp_migrate_incoming(Monitor *mon, const QDict *qdict);
Luiz Capitulino4f0a9932011-11-27 23:18:01 -020073void hmp_migrate_set_downtime(Monitor *mon, const QDict *qdict);
Luiz Capitulino3dc85382011-11-28 11:59:37 -020074void hmp_migrate_set_speed(Monitor *mon, const QDict *qdict);
Orit Wasserman00458432012-08-06 21:42:48 +030075void hmp_migrate_set_capability(Monitor *mon, const QDict *qdict);
Liang Li50e9a622015-03-23 16:32:29 +080076void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict);
Orit Wasserman9e1ba4c2012-08-06 21:42:54 +030077void hmp_migrate_set_cache_size(Monitor *mon, const QDict *qdict);
Markus Armbrusterb8a185b2015-03-05 17:29:02 +010078void hmp_client_migrate_info(Monitor *mon, const QDict *qdict);
Dr. David Alan Gilbert4886a1b2015-11-05 18:10:56 +000079void hmp_migrate_start_postcopy(Monitor *mon, const QDict *qdict);
zhanghailiangd89e6662016-10-27 14:43:03 +080080void hmp_x_colo_lost_heartbeat(Monitor *mon, const QDict *qdict);
Luiz Capitulinofbf796f2011-12-07 11:17:51 -020081void hmp_set_password(Monitor *mon, const QDict *qdict);
Luiz Capitulino9ad53722011-12-07 11:47:57 -020082void hmp_expire_password(Monitor *mon, const QDict *qdict);
Luiz Capitulinoc245b6a2011-12-07 16:02:36 -020083void hmp_eject(Monitor *mon, const QDict *qdict);
Luiz Capitulino333a96e2011-12-08 11:13:50 -020084void hmp_change(Monitor *mon, const QDict *qdict);
Luiz Capitulino80047da2011-12-14 16:49:14 -020085void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict);
Stefan Hajnoczi12bd4512012-01-18 14:40:46 +000086void hmp_block_stream(Monitor *mon, const QDict *qdict);
Stefan Hajnoczi2d47c6e2012-01-18 14:40:47 +000087void hmp_block_job_set_speed(Monitor *mon, const QDict *qdict);
Stefan Hajnoczi370521a2012-01-18 14:40:48 +000088void hmp_block_job_cancel(Monitor *mon, const QDict *qdict);
Paolo Bonzini6e37fb82012-09-28 17:22:51 +020089void hmp_block_job_pause(Monitor *mon, const QDict *qdict);
90void hmp_block_job_resume(Monitor *mon, const QDict *qdict);
Paolo Bonziniaeae8832012-10-18 16:49:21 +020091void hmp_block_job_complete(Monitor *mon, const QDict *qdict);
Luiz Capitulinoe1c37d02011-12-05 14:48:01 -020092void hmp_migrate(Monitor *mon, const QDict *qdict);
Markus Armbruster318660f2015-03-05 17:24:48 +010093void hmp_device_add(Monitor *mon, const QDict *qdict);
Luiz Capitulinoa15fef22012-03-29 12:38:50 -030094void hmp_device_del(Monitor *mon, const QDict *qdict);
Wen Congyang783e9b42012-05-07 12:10:47 +080095void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict);
Luiz Capitulino928059a2012-04-18 17:34:15 -030096void hmp_netdev_add(Monitor *mon, const QDict *qdict);
Luiz Capitulino5f964152012-04-16 14:36:32 -030097void hmp_netdev_del(Monitor *mon, const QDict *qdict);
Corey Bryant208c9d12012-06-22 14:36:09 -040098void hmp_getfd(Monitor *mon, const QDict *qdict);
99void hmp_closefd(Monitor *mon, const QDict *qdict);
Markus Armbruster3e5a50d2015-02-06 13:55:43 +0100100void hmp_sendkey(Monitor *mon, const QDict *qdict);
101void hmp_screendump(Monitor *mon, const QDict *qdict);
Paolo Bonzini40577252012-08-23 11:53:04 +0200102void hmp_nbd_server_start(Monitor *mon, const QDict *qdict);
103void hmp_nbd_server_add(Monitor *mon, const QDict *qdict);
104void hmp_nbd_server_stop(Monitor *mon, const QDict *qdict);
Gerd Hoffmannf1088902012-12-19 10:33:40 +0100105void hmp_chardev_add(Monitor *mon, const QDict *qdict);
Anton Nefedov75b60162017-07-06 15:08:57 +0300106void hmp_chardev_change(Monitor *mon, const QDict *qdict);
Gerd Hoffmannf1088902012-12-19 10:33:40 +0100107void hmp_chardev_remove(Monitor *mon, const QDict *qdict);
Stefan Fritschbd1d5ad2017-06-11 09:48:17 +0200108void hmp_chardev_send_break(Monitor *mon, const QDict *qdict);
Kevin Wolf587da2c2013-06-05 14:19:41 +0200109void hmp_qemu_io(Monitor *mon, const QDict *qdict);
Jason J. Herneabf23322013-12-11 13:24:14 -0500110void hmp_cpu_add(Monitor *mon, const QDict *qdict);
Paolo Bonzinicff8b2c2013-12-20 23:21:10 +0100111void hmp_object_add(Monitor *mon, const QDict *qdict);
Paolo Bonziniab2d0532013-12-20 23:21:09 +0100112void hmp_object_del(Monitor *mon, const QDict *qdict);
Hu Taoeb1539b2014-05-14 17:43:35 +0800113void hmp_info_memdev(Monitor *mon, const QDict *qdict);
Zhu Guihuaa6318922014-09-23 13:35:19 +0800114void hmp_info_memory_devices(Monitor *mon, const QDict *qdict);
Andreas Färber89d7fa92014-05-07 18:08:29 +0200115void hmp_qom_list(Monitor *mon, const QDict *qdict);
Andreas Färberc0e6ee92014-05-07 19:48:15 +0200116void hmp_qom_set(Monitor *mon, const QDict *qdict);
Hani Benhabilesbfa40f72014-04-13 16:25:06 +0100117void object_add_completion(ReadLineState *rs, int nb_args, const char *str);
118void object_del_completion(ReadLineState *rs, int nb_args, const char *str);
Hani Benhabiles2da1b3a2014-04-13 16:25:07 +0100119void device_add_completion(ReadLineState *rs, int nb_args, const char *str);
120void device_del_completion(ReadLineState *rs, int nb_args, const char *str);
Hani Benhabiles29136cd2014-05-07 23:41:27 +0100121void sendkey_completion(ReadLineState *rs, int nb_args, const char *str);
Hani Benhabiles6297d9a2014-05-07 23:41:28 +0100122void chardev_remove_completion(ReadLineState *rs, int nb_args, const char *str);
Hani Benhabiles13e315d2014-05-07 23:41:29 +0100123void chardev_add_completion(ReadLineState *rs, int nb_args, const char *str);
Hani Benhabiles40d19392014-05-07 23:41:30 +0100124void set_link_completion(ReadLineState *rs, int nb_args, const char *str);
Hani Benhabilesb162b492014-05-07 23:41:31 +0100125void netdev_add_completion(ReadLineState *rs, int nb_args, const char *str);
Hani Benhabiles11b389f2014-05-07 23:41:32 +0100126void netdev_del_completion(ReadLineState *rs, int nb_args, const char *str);
Hani Benhabiles8e597772014-05-27 23:39:30 +0100127void ringbuf_write_completion(ReadLineState *rs, int nb_args, const char *str);
Lluís Vilanovabd712112016-07-11 12:53:51 +0200128void info_trace_events_completion(ReadLineState *rs, int nb_args, const char *str);
Dr. David Alan Gilbert987bd272015-08-14 11:27:43 +0100129void trace_event_completion(ReadLineState *rs, int nb_args, const char *str);
Hani Benhabilesd0ece342014-05-27 23:39:31 +0100130void watchdog_action_completion(ReadLineState *rs, int nb_args,
131 const char *str);
Hani Benhabilesc68a0402014-05-27 23:39:32 +0100132void migrate_set_capability_completion(ReadLineState *rs, int nb_args,
133 const char *str);
Liang Li50e9a622015-03-23 16:32:29 +0800134void migrate_set_parameter_completion(ReadLineState *rs, int nb_args,
135 const char *str);
Hani Benhabilese3bb5322014-05-27 23:39:34 +0100136void host_net_add_completion(ReadLineState *rs, int nb_args, const char *str);
Hani Benhabilesddd6b452014-05-27 23:39:36 +0100137void host_net_remove_completion(ReadLineState *rs, int nb_args,
138 const char *str);
Hani Benhabilesb21631f2014-05-27 23:39:37 +0100139void delvm_completion(ReadLineState *rs, int nb_args, const char *str);
140void loadvm_completion(ReadLineState *rs, int nb_args, const char *str);
Scott Feldmanfafa4d52015-06-10 18:21:21 -0700141void hmp_rocker(Monitor *mon, const QDict *qdict);
142void hmp_rocker_ports(Monitor *mon, const QDict *qdict);
143void hmp_rocker_of_dpa_flows(Monitor *mon, const QDict *qdict);
144void hmp_rocker_of_dpa_groups(Monitor *mon, const QDict *qdict);
Peter Xu4a6b52d2016-02-18 13:16:55 +0800145void hmp_info_dump(Monitor *mon, const QDict *qdict);
Peter Xube9b23c2017-05-12 12:17:41 +0800146void hmp_info_ramblock(Monitor *mon, const QDict *qdict);
Bharata B Raod2d8d462016-06-10 06:29:07 +0530147void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict);
Igor Mammedov39164c12017-02-16 15:15:37 -0800148void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict);
Vadim Galitsynd0f63c12017-08-29 17:30:22 +0200149void hmp_info_memory_size_summary(Monitor *mon, const QDict *qdict);
Anthony Liguori48a32be2011-09-02 12:34:48 -0500150
151#endif