Anthony Liguori | 48a32be | 2011-09-02 12:34:48 -0500 | [diff] [blame] | 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-common.h" |
Hani Benhabiles | bfa40f7 | 2014-04-13 16:25:06 +0100 | [diff] [blame] | 18 | #include "qemu/readline.h" |
Anthony Liguori | 48a32be | 2011-09-02 12:34:48 -0500 | [diff] [blame] | 19 | #include "qapi-types.h" |
Paolo Bonzini | 7b1b5d1 | 2012-12-17 18:19:43 +0100 | [diff] [blame] | 20 | #include "qapi/qmp/qdict.h" |
Anthony Liguori | 48a32be | 2011-09-02 12:34:48 -0500 | [diff] [blame] | 21 | |
Wenchao Xia | 84f2d0e | 2013-01-14 14:06:25 +0800 | [diff] [blame] | 22 | void hmp_info_name(Monitor *mon, const QDict *qdict); |
| 23 | void hmp_info_version(Monitor *mon, const QDict *qdict); |
| 24 | void hmp_info_kvm(Monitor *mon, const QDict *qdict); |
| 25 | void hmp_info_status(Monitor *mon, const QDict *qdict); |
| 26 | void hmp_info_uuid(Monitor *mon, const QDict *qdict); |
| 27 | void hmp_info_chardev(Monitor *mon, const QDict *qdict); |
| 28 | void hmp_info_mice(Monitor *mon, const QDict *qdict); |
| 29 | void hmp_info_migrate(Monitor *mon, const QDict *qdict); |
| 30 | void hmp_info_migrate_capabilities(Monitor *mon, const QDict *qdict); |
Liang Li | 50e9a62 | 2015-03-23 16:32:29 +0800 | [diff] [blame] | 31 | void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict); |
Wenchao Xia | 84f2d0e | 2013-01-14 14:06:25 +0800 | [diff] [blame] | 32 | void hmp_info_migrate_cache_size(Monitor *mon, const QDict *qdict); |
| 33 | void hmp_info_cpus(Monitor *mon, const QDict *qdict); |
| 34 | void hmp_info_block(Monitor *mon, const QDict *qdict); |
| 35 | void hmp_info_blockstats(Monitor *mon, const QDict *qdict); |
| 36 | void hmp_info_vnc(Monitor *mon, const QDict *qdict); |
| 37 | void hmp_info_spice(Monitor *mon, const QDict *qdict); |
| 38 | void hmp_info_balloon(Monitor *mon, const QDict *qdict); |
Hervé Poussineau | 61b9783 | 2016-09-26 22:23:27 +0200 | [diff] [blame] | 39 | void hmp_info_irq(Monitor *mon, const QDict *qdict); |
| 40 | void hmp_info_pic(Monitor *mon, const QDict *qdict); |
Wenchao Xia | 84f2d0e | 2013-01-14 14:06:25 +0800 | [diff] [blame] | 41 | void hmp_info_pci(Monitor *mon, const QDict *qdict); |
| 42 | void hmp_info_block_jobs(Monitor *mon, const QDict *qdict); |
Stefan Berger | d1a0cf7 | 2013-02-27 12:47:49 -0500 | [diff] [blame] | 43 | void hmp_info_tpm(Monitor *mon, const QDict *qdict); |
Ting Wang | 6231316 | 2015-06-26 16:07:13 +0800 | [diff] [blame] | 44 | void hmp_info_iothreads(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 7a7f325 | 2011-09-15 14:20:28 -0300 | [diff] [blame] | 45 | void hmp_quit(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 5f158f2 | 2011-09-15 14:34:39 -0300 | [diff] [blame] | 46 | void hmp_stop(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 38d2265 | 2011-09-15 14:41:46 -0300 | [diff] [blame] | 47 | void hmp_system_reset(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 5bc465e | 2011-09-28 11:06:15 -0300 | [diff] [blame] | 48 | void hmp_system_powerdown(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 755f196 | 2011-10-06 14:31:39 -0300 | [diff] [blame] | 49 | void hmp_cpu(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 0cfd6a9 | 2011-11-22 16:32:37 -0200 | [diff] [blame] | 50 | void hmp_memsave(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 6d3962b | 2011-11-22 17:26:46 -0200 | [diff] [blame] | 51 | void hmp_pmemsave(Monitor *mon, const QDict *qdict); |
Markus Armbruster | 3949e59 | 2013-02-06 21:27:24 +0100 | [diff] [blame] | 52 | void hmp_ringbuf_write(Monitor *mon, const QDict *qdict); |
| 53 | void hmp_ringbuf_read(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | e42e818 | 2011-11-22 17:58:31 -0200 | [diff] [blame] | 54 | void hmp_cont(Monitor *mon, const QDict *qdict); |
Gerd Hoffmann | 9b9df25 | 2012-02-23 13:45:21 +0100 | [diff] [blame] | 55 | void hmp_system_wakeup(Monitor *mon, const QDict *qdict); |
Markus Armbruster | 3e5a50d | 2015-02-06 13:55:43 +0100 | [diff] [blame] | 56 | void hmp_nmi(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 4b37156 | 2011-11-23 13:11:55 -0200 | [diff] [blame] | 57 | void hmp_set_link(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | a4dea8a | 2011-11-23 13:28:21 -0200 | [diff] [blame] | 58 | void hmp_block_passwd(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | d72f326 | 2011-11-25 14:38:09 -0200 | [diff] [blame] | 59 | void hmp_balloon(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 5e7caac | 2011-11-25 14:57:10 -0200 | [diff] [blame] | 60 | void hmp_block_resize(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 6106e24 | 2011-11-25 16:15:19 -0200 | [diff] [blame] | 61 | void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict); |
Wenchao Xia | 775ca88 | 2013-09-11 14:04:37 +0800 | [diff] [blame] | 62 | void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict); |
Wenchao Xia | 7a4ed2e | 2013-09-11 14:04:38 +0800 | [diff] [blame] | 63 | void hmp_snapshot_delete_blkdev_internal(Monitor *mon, const QDict *qdict); |
Paolo Bonzini | d9b902d | 2012-10-18 16:49:24 +0200 | [diff] [blame] | 64 | void hmp_drive_mirror(Monitor *mon, const QDict *qdict); |
Stefan Hajnoczi | de90930 | 2013-06-26 14:11:58 +0200 | [diff] [blame] | 65 | void hmp_drive_backup(Monitor *mon, const QDict *qdict); |
Juan Quintela | 52b2620 | 2017-04-18 11:40:56 +0200 | [diff] [blame] | 66 | void hmp_loadvm(Monitor *mon, const QDict *qdict); |
Juan Quintela | d9c7d13 | 2017-04-18 11:44:16 +0200 | [diff] [blame] | 67 | void hmp_savevm(Monitor *mon, const QDict *qdict); |
Juan Quintela | d905bb7 | 2017-04-18 11:46:23 +0200 | [diff] [blame] | 68 | void hmp_delvm(Monitor *mon, const QDict *qdict); |
Juan Quintela | 6683061 | 2017-04-18 11:51:06 +0200 | [diff] [blame] | 69 | void hmp_info_snapshots(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 6cdedb0 | 2011-11-27 22:54:09 -0200 | [diff] [blame] | 70 | void hmp_migrate_cancel(Monitor *mon, const QDict *qdict); |
Dr. David Alan Gilbert | 94ae12c | 2017-10-20 10:05:54 +0100 | [diff] [blame] | 71 | void hmp_migrate_continue(Monitor *mon, const QDict *qdict); |
Dr. David Alan Gilbert | bf1ae1f | 2015-02-19 11:40:28 +0000 | [diff] [blame] | 72 | void hmp_migrate_incoming(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 4f0a993 | 2011-11-27 23:18:01 -0200 | [diff] [blame] | 73 | void hmp_migrate_set_downtime(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 3dc8538 | 2011-11-28 11:59:37 -0200 | [diff] [blame] | 74 | void hmp_migrate_set_speed(Monitor *mon, const QDict *qdict); |
Orit Wasserman | 0045843 | 2012-08-06 21:42:48 +0300 | [diff] [blame] | 75 | void hmp_migrate_set_capability(Monitor *mon, const QDict *qdict); |
Liang Li | 50e9a62 | 2015-03-23 16:32:29 +0800 | [diff] [blame] | 76 | void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict); |
Orit Wasserman | 9e1ba4c | 2012-08-06 21:42:54 +0300 | [diff] [blame] | 77 | void hmp_migrate_set_cache_size(Monitor *mon, const QDict *qdict); |
Markus Armbruster | b8a185b | 2015-03-05 17:29:02 +0100 | [diff] [blame] | 78 | void hmp_client_migrate_info(Monitor *mon, const QDict *qdict); |
Dr. David Alan Gilbert | 4886a1b | 2015-11-05 18:10:56 +0000 | [diff] [blame] | 79 | void hmp_migrate_start_postcopy(Monitor *mon, const QDict *qdict); |
zhanghailiang | d89e666 | 2016-10-27 14:43:03 +0800 | [diff] [blame] | 80 | void hmp_x_colo_lost_heartbeat(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | fbf796f | 2011-12-07 11:17:51 -0200 | [diff] [blame] | 81 | void hmp_set_password(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 9ad5372 | 2011-12-07 11:47:57 -0200 | [diff] [blame] | 82 | void hmp_expire_password(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | c245b6a | 2011-12-07 16:02:36 -0200 | [diff] [blame] | 83 | void hmp_eject(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 333a96e | 2011-12-08 11:13:50 -0200 | [diff] [blame] | 84 | void hmp_change(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 80047da | 2011-12-14 16:49:14 -0200 | [diff] [blame] | 85 | void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict); |
Stefan Hajnoczi | 12bd451 | 2012-01-18 14:40:46 +0000 | [diff] [blame] | 86 | void hmp_block_stream(Monitor *mon, const QDict *qdict); |
Stefan Hajnoczi | 2d47c6e | 2012-01-18 14:40:47 +0000 | [diff] [blame] | 87 | void hmp_block_job_set_speed(Monitor *mon, const QDict *qdict); |
Stefan Hajnoczi | 370521a | 2012-01-18 14:40:48 +0000 | [diff] [blame] | 88 | void hmp_block_job_cancel(Monitor *mon, const QDict *qdict); |
Paolo Bonzini | 6e37fb8 | 2012-09-28 17:22:51 +0200 | [diff] [blame] | 89 | void hmp_block_job_pause(Monitor *mon, const QDict *qdict); |
| 90 | void hmp_block_job_resume(Monitor *mon, const QDict *qdict); |
Paolo Bonzini | aeae883 | 2012-10-18 16:49:21 +0200 | [diff] [blame] | 91 | void hmp_block_job_complete(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | e1c37d0 | 2011-12-05 14:48:01 -0200 | [diff] [blame] | 92 | void hmp_migrate(Monitor *mon, const QDict *qdict); |
Markus Armbruster | 318660f | 2015-03-05 17:24:48 +0100 | [diff] [blame] | 93 | void hmp_device_add(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | a15fef2 | 2012-03-29 12:38:50 -0300 | [diff] [blame] | 94 | void hmp_device_del(Monitor *mon, const QDict *qdict); |
Wen Congyang | 783e9b4 | 2012-05-07 12:10:47 +0800 | [diff] [blame] | 95 | void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 928059a | 2012-04-18 17:34:15 -0300 | [diff] [blame] | 96 | void hmp_netdev_add(Monitor *mon, const QDict *qdict); |
Luiz Capitulino | 5f96415 | 2012-04-16 14:36:32 -0300 | [diff] [blame] | 97 | void hmp_netdev_del(Monitor *mon, const QDict *qdict); |
Corey Bryant | 208c9d1 | 2012-06-22 14:36:09 -0400 | [diff] [blame] | 98 | void hmp_getfd(Monitor *mon, const QDict *qdict); |
| 99 | void hmp_closefd(Monitor *mon, const QDict *qdict); |
Markus Armbruster | 3e5a50d | 2015-02-06 13:55:43 +0100 | [diff] [blame] | 100 | void hmp_sendkey(Monitor *mon, const QDict *qdict); |
| 101 | void hmp_screendump(Monitor *mon, const QDict *qdict); |
Paolo Bonzini | 4057725 | 2012-08-23 11:53:04 +0200 | [diff] [blame] | 102 | void hmp_nbd_server_start(Monitor *mon, const QDict *qdict); |
| 103 | void hmp_nbd_server_add(Monitor *mon, const QDict *qdict); |
| 104 | void hmp_nbd_server_stop(Monitor *mon, const QDict *qdict); |
Gerd Hoffmann | f108890 | 2012-12-19 10:33:40 +0100 | [diff] [blame] | 105 | void hmp_chardev_add(Monitor *mon, const QDict *qdict); |
Anton Nefedov | 75b6016 | 2017-07-06 15:08:57 +0300 | [diff] [blame] | 106 | void hmp_chardev_change(Monitor *mon, const QDict *qdict); |
Gerd Hoffmann | f108890 | 2012-12-19 10:33:40 +0100 | [diff] [blame] | 107 | void hmp_chardev_remove(Monitor *mon, const QDict *qdict); |
Stefan Fritsch | bd1d5ad | 2017-06-11 09:48:17 +0200 | [diff] [blame] | 108 | void hmp_chardev_send_break(Monitor *mon, const QDict *qdict); |
Kevin Wolf | 587da2c | 2013-06-05 14:19:41 +0200 | [diff] [blame] | 109 | void hmp_qemu_io(Monitor *mon, const QDict *qdict); |
Jason J. Herne | abf2332 | 2013-12-11 13:24:14 -0500 | [diff] [blame] | 110 | void hmp_cpu_add(Monitor *mon, const QDict *qdict); |
Paolo Bonzini | cff8b2c | 2013-12-20 23:21:10 +0100 | [diff] [blame] | 111 | void hmp_object_add(Monitor *mon, const QDict *qdict); |
Paolo Bonzini | ab2d053 | 2013-12-20 23:21:09 +0100 | [diff] [blame] | 112 | void hmp_object_del(Monitor *mon, const QDict *qdict); |
Hu Tao | eb1539b | 2014-05-14 17:43:35 +0800 | [diff] [blame] | 113 | void hmp_info_memdev(Monitor *mon, const QDict *qdict); |
Zhu Guihua | a631892 | 2014-09-23 13:35:19 +0800 | [diff] [blame] | 114 | void hmp_info_memory_devices(Monitor *mon, const QDict *qdict); |
Andreas Färber | 89d7fa9 | 2014-05-07 18:08:29 +0200 | [diff] [blame] | 115 | void hmp_qom_list(Monitor *mon, const QDict *qdict); |
Andreas Färber | c0e6ee9 | 2014-05-07 19:48:15 +0200 | [diff] [blame] | 116 | void hmp_qom_set(Monitor *mon, const QDict *qdict); |
Hani Benhabiles | bfa40f7 | 2014-04-13 16:25:06 +0100 | [diff] [blame] | 117 | void object_add_completion(ReadLineState *rs, int nb_args, const char *str); |
| 118 | void object_del_completion(ReadLineState *rs, int nb_args, const char *str); |
Hani Benhabiles | 2da1b3a | 2014-04-13 16:25:07 +0100 | [diff] [blame] | 119 | void device_add_completion(ReadLineState *rs, int nb_args, const char *str); |
| 120 | void device_del_completion(ReadLineState *rs, int nb_args, const char *str); |
Hani Benhabiles | 29136cd | 2014-05-07 23:41:27 +0100 | [diff] [blame] | 121 | void sendkey_completion(ReadLineState *rs, int nb_args, const char *str); |
Hani Benhabiles | 6297d9a | 2014-05-07 23:41:28 +0100 | [diff] [blame] | 122 | void chardev_remove_completion(ReadLineState *rs, int nb_args, const char *str); |
Hani Benhabiles | 13e315d | 2014-05-07 23:41:29 +0100 | [diff] [blame] | 123 | void chardev_add_completion(ReadLineState *rs, int nb_args, const char *str); |
Hani Benhabiles | 40d1939 | 2014-05-07 23:41:30 +0100 | [diff] [blame] | 124 | void set_link_completion(ReadLineState *rs, int nb_args, const char *str); |
Hani Benhabiles | b162b49 | 2014-05-07 23:41:31 +0100 | [diff] [blame] | 125 | void netdev_add_completion(ReadLineState *rs, int nb_args, const char *str); |
Hani Benhabiles | 11b389f | 2014-05-07 23:41:32 +0100 | [diff] [blame] | 126 | void netdev_del_completion(ReadLineState *rs, int nb_args, const char *str); |
Hani Benhabiles | 8e59777 | 2014-05-27 23:39:30 +0100 | [diff] [blame] | 127 | void ringbuf_write_completion(ReadLineState *rs, int nb_args, const char *str); |
Lluís Vilanova | bd71211 | 2016-07-11 12:53:51 +0200 | [diff] [blame] | 128 | void info_trace_events_completion(ReadLineState *rs, int nb_args, const char *str); |
Dr. David Alan Gilbert | 987bd27 | 2015-08-14 11:27:43 +0100 | [diff] [blame] | 129 | void trace_event_completion(ReadLineState *rs, int nb_args, const char *str); |
Hani Benhabiles | d0ece34 | 2014-05-27 23:39:31 +0100 | [diff] [blame] | 130 | void watchdog_action_completion(ReadLineState *rs, int nb_args, |
| 131 | const char *str); |
Hani Benhabiles | c68a040 | 2014-05-27 23:39:32 +0100 | [diff] [blame] | 132 | void migrate_set_capability_completion(ReadLineState *rs, int nb_args, |
| 133 | const char *str); |
Liang Li | 50e9a62 | 2015-03-23 16:32:29 +0800 | [diff] [blame] | 134 | void migrate_set_parameter_completion(ReadLineState *rs, int nb_args, |
| 135 | const char *str); |
Hani Benhabiles | e3bb532 | 2014-05-27 23:39:34 +0100 | [diff] [blame] | 136 | void host_net_add_completion(ReadLineState *rs, int nb_args, const char *str); |
Hani Benhabiles | ddd6b45 | 2014-05-27 23:39:36 +0100 | [diff] [blame] | 137 | void host_net_remove_completion(ReadLineState *rs, int nb_args, |
| 138 | const char *str); |
Hani Benhabiles | b21631f | 2014-05-27 23:39:37 +0100 | [diff] [blame] | 139 | void delvm_completion(ReadLineState *rs, int nb_args, const char *str); |
| 140 | void loadvm_completion(ReadLineState *rs, int nb_args, const char *str); |
Scott Feldman | fafa4d5 | 2015-06-10 18:21:21 -0700 | [diff] [blame] | 141 | void hmp_rocker(Monitor *mon, const QDict *qdict); |
| 142 | void hmp_rocker_ports(Monitor *mon, const QDict *qdict); |
| 143 | void hmp_rocker_of_dpa_flows(Monitor *mon, const QDict *qdict); |
| 144 | void hmp_rocker_of_dpa_groups(Monitor *mon, const QDict *qdict); |
Peter Xu | 4a6b52d | 2016-02-18 13:16:55 +0800 | [diff] [blame] | 145 | void hmp_info_dump(Monitor *mon, const QDict *qdict); |
Peter Xu | be9b23c | 2017-05-12 12:17:41 +0800 | [diff] [blame] | 146 | void hmp_info_ramblock(Monitor *mon, const QDict *qdict); |
Bharata B Rao | d2d8d46 | 2016-06-10 06:29:07 +0530 | [diff] [blame] | 147 | void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict); |
Igor Mammedov | 39164c1 | 2017-02-16 15:15:37 -0800 | [diff] [blame] | 148 | void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict); |
Vadim Galitsyn | d0f63c1 | 2017-08-29 17:30:22 +0200 | [diff] [blame] | 149 | void hmp_info_memory_size_summary(Monitor *mon, const QDict *qdict); |
Anthony Liguori | 48a32be | 2011-09-02 12:34:48 -0500 | [diff] [blame] | 150 | |
| 151 | #endif |