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_irq(Monitor *mon, const QDict *qdict); 39 void hmp_info_pic(Monitor *mon, const QDict *qdict); 40 void hmp_info_rdma(Monitor *mon, const QDict *qdict); 41 void hmp_info_pci(Monitor *mon, const QDict *qdict); 42 void hmp_info_tpm(Monitor *mon, const QDict *qdict); 43 void hmp_info_iothreads(Monitor *mon, const QDict *qdict); 44 void hmp_quit(Monitor *mon, const QDict *qdict); 45 void hmp_stop(Monitor *mon, const QDict *qdict); 46 void hmp_sync_profile(Monitor *mon, const QDict *qdict); 47 void hmp_system_reset(Monitor *mon, const QDict *qdict); 48 void hmp_system_powerdown(Monitor *mon, const QDict *qdict); 49 void hmp_exit_preconfig(Monitor *mon, const QDict *qdict); 50 void hmp_announce_self(Monitor *mon, const QDict *qdict); 51 void hmp_cpu(Monitor *mon, const QDict *qdict); 52 void hmp_memsave(Monitor *mon, const QDict *qdict); 53 void hmp_pmemsave(Monitor *mon, const QDict *qdict); 54 void hmp_ringbuf_write(Monitor *mon, const QDict *qdict); 55 void hmp_ringbuf_read(Monitor *mon, const QDict *qdict); 56 void hmp_cont(Monitor *mon, const QDict *qdict); 57 void hmp_system_wakeup(Monitor *mon, const QDict *qdict); 58 void hmp_nmi(Monitor *mon, const QDict *qdict); 59 void hmp_info_network(Monitor *mon, const QDict *qdict); 60 void hmp_set_link(Monitor *mon, const QDict *qdict); 61 void hmp_balloon(Monitor *mon, const QDict *qdict); 62 void hmp_loadvm(Monitor *mon, const QDict *qdict); 63 void hmp_savevm(Monitor *mon, const QDict *qdict); 64 void hmp_delvm(Monitor *mon, const QDict *qdict); 65 void hmp_migrate_cancel(Monitor *mon, const QDict *qdict); 66 void hmp_migrate_continue(Monitor *mon, const QDict *qdict); 67 void hmp_migrate_incoming(Monitor *mon, const QDict *qdict); 68 void hmp_migrate_recover(Monitor *mon, const QDict *qdict); 69 void hmp_migrate_pause(Monitor *mon, const QDict *qdict); 70 void hmp_migrate_set_capability(Monitor *mon, const QDict *qdict); 71 void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict); 72 void hmp_client_migrate_info(Monitor *mon, const QDict *qdict); 73 void hmp_migrate_start_postcopy(Monitor *mon, const QDict *qdict); 74 void hmp_x_colo_lost_heartbeat(Monitor *mon, const QDict *qdict); 75 void hmp_set_password(Monitor *mon, const QDict *qdict); 76 void hmp_expire_password(Monitor *mon, const QDict *qdict); 77 void hmp_change(Monitor *mon, const QDict *qdict); 78 #ifdef CONFIG_VNC 79 void hmp_change_vnc(Monitor *mon, const char *device, const char *target, 80 const char *arg, const char *read_only, bool force, 81 Error **errp); 82 #endif 83 void hmp_change_medium(Monitor *mon, const char *device, const char *target, 84 const char *arg, const char *read_only, bool force, 85 Error **errp); 86 void hmp_migrate(Monitor *mon, const QDict *qdict); 87 void hmp_device_add(Monitor *mon, const QDict *qdict); 88 void hmp_device_del(Monitor *mon, const QDict *qdict); 89 void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict); 90 void hmp_netdev_add(Monitor *mon, const QDict *qdict); 91 void hmp_netdev_del(Monitor *mon, const QDict *qdict); 92 void hmp_getfd(Monitor *mon, const QDict *qdict); 93 void hmp_closefd(Monitor *mon, const QDict *qdict); 94 void hmp_mouse_move(Monitor *mon, const QDict *qdict); 95 void hmp_mouse_button(Monitor *mon, const QDict *qdict); 96 void hmp_mouse_set(Monitor *mon, const QDict *qdict); 97 void hmp_sendkey(Monitor *mon, const QDict *qdict); 98 void coroutine_fn hmp_screendump(Monitor *mon, const QDict *qdict); 99 void hmp_chardev_add(Monitor *mon, const QDict *qdict); 100 void hmp_chardev_change(Monitor *mon, const QDict *qdict); 101 void hmp_chardev_remove(Monitor *mon, const QDict *qdict); 102 void hmp_chardev_send_break(Monitor *mon, const QDict *qdict); 103 void hmp_object_add(Monitor *mon, const QDict *qdict); 104 void hmp_object_del(Monitor *mon, const QDict *qdict); 105 void hmp_info_memdev(Monitor *mon, const QDict *qdict); 106 void hmp_info_numa(Monitor *mon, const QDict *qdict); 107 void hmp_info_memory_devices(Monitor *mon, const QDict *qdict); 108 void hmp_qom_list(Monitor *mon, const QDict *qdict); 109 void hmp_qom_get(Monitor *mon, const QDict *qdict); 110 void hmp_qom_set(Monitor *mon, const QDict *qdict); 111 void hmp_info_qom_tree(Monitor *mon, const QDict *dict); 112 void hmp_virtio_query(Monitor *mon, const QDict *qdict); 113 void hmp_virtio_status(Monitor *mon, const QDict *qdict); 114 void hmp_virtio_queue_status(Monitor *mon, const QDict *qdict); 115 void hmp_vhost_queue_status(Monitor *mon, const QDict *qdict); 116 void hmp_virtio_queue_element(Monitor *mon, const QDict *qdict); 117 void hmp_xen_event_inject(Monitor *mon, const QDict *qdict); 118 void hmp_xen_event_list(Monitor *mon, const QDict *qdict); 119 void object_add_completion(ReadLineState *rs, int nb_args, const char *str); 120 void object_del_completion(ReadLineState *rs, int nb_args, const char *str); 121 void device_add_completion(ReadLineState *rs, int nb_args, const char *str); 122 void device_del_completion(ReadLineState *rs, int nb_args, const char *str); 123 void sendkey_completion(ReadLineState *rs, int nb_args, const char *str); 124 void chardev_remove_completion(ReadLineState *rs, int nb_args, const char *str); 125 void chardev_add_completion(ReadLineState *rs, int nb_args, const char *str); 126 void set_link_completion(ReadLineState *rs, int nb_args, const char *str); 127 void netdev_add_completion(ReadLineState *rs, int nb_args, const char *str); 128 void netdev_del_completion(ReadLineState *rs, int nb_args, const char *str); 129 void ringbuf_write_completion(ReadLineState *rs, int nb_args, const char *str); 130 void info_trace_events_completion(ReadLineState *rs, int nb_args, const char *str); 131 void trace_event_completion(ReadLineState *rs, int nb_args, const char *str); 132 void watchdog_action_completion(ReadLineState *rs, int nb_args, 133 const char *str); 134 void migrate_set_capability_completion(ReadLineState *rs, int nb_args, 135 const char *str); 136 void migrate_set_parameter_completion(ReadLineState *rs, int nb_args, 137 const char *str); 138 void delvm_completion(ReadLineState *rs, int nb_args, const char *str); 139 void loadvm_completion(ReadLineState *rs, int nb_args, const char *str); 140 void hmp_rocker(Monitor *mon, const QDict *qdict); 141 void hmp_rocker_ports(Monitor *mon, const QDict *qdict); 142 void hmp_rocker_of_dpa_flows(Monitor *mon, const QDict *qdict); 143 void hmp_rocker_of_dpa_groups(Monitor *mon, const QDict *qdict); 144 void hmp_info_dump(Monitor *mon, const QDict *qdict); 145 void hmp_info_ramblock(Monitor *mon, const QDict *qdict); 146 void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict); 147 void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict); 148 void hmp_info_memory_size_summary(Monitor *mon, const QDict *qdict); 149 void hmp_info_replay(Monitor *mon, const QDict *qdict); 150 void hmp_replay_break(Monitor *mon, const QDict *qdict); 151 void hmp_replay_delete_break(Monitor *mon, const QDict *qdict); 152 void hmp_replay_seek(Monitor *mon, const QDict *qdict); 153 void hmp_info_dirty_rate(Monitor *mon, const QDict *qdict); 154 void hmp_calc_dirty_rate(Monitor *mon, const QDict *qdict); 155 void hmp_set_vcpu_dirty_limit(Monitor *mon, const QDict *qdict); 156 void hmp_cancel_vcpu_dirty_limit(Monitor *mon, const QDict *qdict); 157 void hmp_info_vcpu_dirty_limit(Monitor *mon, const QDict *qdict); 158 void hmp_human_readable_text_helper(Monitor *mon, 159 HumanReadableText *(*qmp_handler)(Error **)); 160 void hmp_info_stats(Monitor *mon, const QDict *qdict); 161 void hmp_one_insn_per_tb(Monitor *mon, const QDict *qdict); 162 void hmp_watchdog_action(Monitor *mon, const QDict *qdict); 163 void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict); 164 void hmp_info_capture(Monitor *mon, const QDict *qdict); 165 void hmp_stopcapture(Monitor *mon, const QDict *qdict); 166 void hmp_wavcapture(Monitor *mon, const QDict *qdict); 167 void hmp_trace_event(Monitor *mon, const QDict *qdict); 168 void hmp_trace_file(Monitor *mon, const QDict *qdict); 169 void hmp_info_trace_events(Monitor *mon, const QDict *qdict); 170 void hmp_help(Monitor *mon, const QDict *qdict); 171 void hmp_info_help(Monitor *mon, const QDict *qdict); 172 void hmp_info_sync_profile(Monitor *mon, const QDict *qdict); 173 void hmp_info_history(Monitor *mon, const QDict *qdict); 174 void hmp_logfile(Monitor *mon, const QDict *qdict); 175 void hmp_log(Monitor *mon, const QDict *qdict); 176 void hmp_gdbserver(Monitor *mon, const QDict *qdict); 177 void hmp_print(Monitor *mon, const QDict *qdict); 178 void hmp_sum(Monitor *mon, const QDict *qdict); 179 void hmp_ioport_read(Monitor *mon, const QDict *qdict); 180 void hmp_ioport_write(Monitor *mon, const QDict *qdict); 181 void hmp_boot_set(Monitor *mon, const QDict *qdict); 182 void hmp_info_mtree(Monitor *mon, const QDict *qdict); 183 void hmp_info_cryptodev(Monitor *mon, const QDict *qdict); 184 185 #endif 186