3949e59414
New device, has never been released, so we can still improve things without worrying about compatibility. Naming is a mess. The code calls the device driver CirMemCharDriver, the public API calls it "memory", "memchardev", or "memchar", and the special commands are named like "memchar-FOO". "memory" is a particularly unfortunate choice, because there's another character device driver called MemoryDriver. Moreover, the device's distinctive property is that it's a ring buffer, not that's in memory. Therefore: * Rename CirMemCharDriver to RingBufCharDriver, and call the thing a "ringbuf" in the API. * Rename QMP and HMP commands from memchar-FOO to ringbuf-FOO. * Rename device parameter from maxcapacity to size (simple words are good for you). * Clearly mark the parameter as optional in documentation. * Fix error reporting so that chardev-add reports to current monitor, not stderr. * Replace cirmem in C identifiers by ringbuf. * Rework documentation. Document the impact of our crappy UTF-8 handling on reading. * QMP examples that even work. I could split this up into multiple commits, but they'd change the same documentation lines multiple times. Not worth it. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
89 lines
4.0 KiB
C
89 lines
4.0 KiB
C
/*
|
|
* Human Monitor Interface
|
|
*
|
|
* Copyright IBM, Corp. 2011
|
|
*
|
|
* Authors:
|
|
* Anthony Liguori <aliguori@us.ibm.com>
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2. See
|
|
* the COPYING file in the top-level directory.
|
|
*
|
|
*/
|
|
|
|
#ifndef HMP_H
|
|
#define HMP_H
|
|
|
|
#include "qemu-common.h"
|
|
#include "qapi-types.h"
|
|
#include "qapi/qmp/qdict.h"
|
|
|
|
void hmp_info_name(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_version(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_kvm(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_status(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_uuid(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_chardev(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_mice(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_migrate(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_migrate_capabilities(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_migrate_cache_size(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_cpus(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_block(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_blockstats(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_vnc(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_spice(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_balloon(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_pci(Monitor *mon, const QDict *qdict);
|
|
void hmp_info_block_jobs(Monitor *mon, const QDict *qdict);
|
|
void hmp_quit(Monitor *mon, const QDict *qdict);
|
|
void hmp_stop(Monitor *mon, const QDict *qdict);
|
|
void hmp_system_reset(Monitor *mon, const QDict *qdict);
|
|
void hmp_system_powerdown(Monitor *mon, const QDict *qdict);
|
|
void hmp_cpu(Monitor *mon, const QDict *qdict);
|
|
void hmp_memsave(Monitor *mon, const QDict *qdict);
|
|
void hmp_pmemsave(Monitor *mon, const QDict *qdict);
|
|
void hmp_ringbuf_write(Monitor *mon, const QDict *qdict);
|
|
void hmp_ringbuf_read(Monitor *mon, const QDict *qdict);
|
|
void hmp_cont(Monitor *mon, const QDict *qdict);
|
|
void hmp_system_wakeup(Monitor *mon, const QDict *qdict);
|
|
void hmp_inject_nmi(Monitor *mon, const QDict *qdict);
|
|
void hmp_set_link(Monitor *mon, const QDict *qdict);
|
|
void hmp_block_passwd(Monitor *mon, const QDict *qdict);
|
|
void hmp_balloon(Monitor *mon, const QDict *qdict);
|
|
void hmp_block_resize(Monitor *mon, const QDict *qdict);
|
|
void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict);
|
|
void hmp_drive_mirror(Monitor *mon, const QDict *qdict);
|
|
void hmp_migrate_cancel(Monitor *mon, const QDict *qdict);
|
|
void hmp_migrate_set_downtime(Monitor *mon, const QDict *qdict);
|
|
void hmp_migrate_set_speed(Monitor *mon, const QDict *qdict);
|
|
void hmp_migrate_set_capability(Monitor *mon, const QDict *qdict);
|
|
void hmp_migrate_set_cache_size(Monitor *mon, const QDict *qdict);
|
|
void hmp_set_password(Monitor *mon, const QDict *qdict);
|
|
void hmp_expire_password(Monitor *mon, const QDict *qdict);
|
|
void hmp_eject(Monitor *mon, const QDict *qdict);
|
|
void hmp_change(Monitor *mon, const QDict *qdict);
|
|
void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict);
|
|
void hmp_block_stream(Monitor *mon, const QDict *qdict);
|
|
void hmp_block_job_set_speed(Monitor *mon, const QDict *qdict);
|
|
void hmp_block_job_cancel(Monitor *mon, const QDict *qdict);
|
|
void hmp_block_job_pause(Monitor *mon, const QDict *qdict);
|
|
void hmp_block_job_resume(Monitor *mon, const QDict *qdict);
|
|
void hmp_block_job_complete(Monitor *mon, const QDict *qdict);
|
|
void hmp_migrate(Monitor *mon, const QDict *qdict);
|
|
void hmp_device_del(Monitor *mon, const QDict *qdict);
|
|
void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict);
|
|
void hmp_netdev_add(Monitor *mon, const QDict *qdict);
|
|
void hmp_netdev_del(Monitor *mon, const QDict *qdict);
|
|
void hmp_getfd(Monitor *mon, const QDict *qdict);
|
|
void hmp_closefd(Monitor *mon, const QDict *qdict);
|
|
void hmp_send_key(Monitor *mon, const QDict *qdict);
|
|
void hmp_screen_dump(Monitor *mon, const QDict *qdict);
|
|
void hmp_nbd_server_start(Monitor *mon, const QDict *qdict);
|
|
void hmp_nbd_server_add(Monitor *mon, const QDict *qdict);
|
|
void hmp_nbd_server_stop(Monitor *mon, const QDict *qdict);
|
|
void hmp_chardev_add(Monitor *mon, const QDict *qdict);
|
|
void hmp_chardev_remove(Monitor *mon, const QDict *qdict);
|
|
|
|
#endif
|