| 
									
										
										
										
											2011-09-02 12:34:48 -05:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * 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"
 | 
					
						
							| 
									
										
										
										
											2012-12-17 18:19:43 +01:00
										 |  |  | #include "qapi/qmp/qdict.h"
 | 
					
						
							| 
									
										
										
										
											2011-09-02 12:34:48 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-14 14:06:25 +08:00
										 |  |  | 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); | 
					
						
							| 
									
										
										
										
											2011-09-15 14:20:28 -03:00
										 |  |  | void hmp_quit(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-09-15 14:34:39 -03:00
										 |  |  | void hmp_stop(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-09-15 14:41:46 -03:00
										 |  |  | void hmp_system_reset(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-09-28 11:06:15 -03:00
										 |  |  | void hmp_system_powerdown(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-10-06 14:31:39 -03:00
										 |  |  | void hmp_cpu(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-11-22 16:32:37 -02:00
										 |  |  | void hmp_memsave(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-11-22 17:26:46 -02:00
										 |  |  | void hmp_pmemsave(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
											  
											
												qemu-char: Saner naming of memchar stuff & doc fixes
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>
											
										 
											2013-02-06 21:27:24 +01:00
										 |  |  | void hmp_ringbuf_write(Monitor *mon, const QDict *qdict); | 
					
						
							|  |  |  | void hmp_ringbuf_read(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-11-22 17:58:31 -02:00
										 |  |  | void hmp_cont(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-02-23 13:45:21 +01:00
										 |  |  | void hmp_system_wakeup(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-11-23 12:55:53 -02:00
										 |  |  | void hmp_inject_nmi(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-11-23 13:11:55 -02:00
										 |  |  | void hmp_set_link(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-11-23 13:28:21 -02:00
										 |  |  | void hmp_block_passwd(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-11-25 14:38:09 -02:00
										 |  |  | void hmp_balloon(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-11-25 14:57:10 -02:00
										 |  |  | void hmp_block_resize(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-11-25 16:15:19 -02:00
										 |  |  | void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-10-18 16:49:24 +02:00
										 |  |  | void hmp_drive_mirror(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-11-27 22:54:09 -02:00
										 |  |  | void hmp_migrate_cancel(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-11-27 23:18:01 -02:00
										 |  |  | void hmp_migrate_set_downtime(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-11-28 11:59:37 -02:00
										 |  |  | void hmp_migrate_set_speed(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-08-06 21:42:48 +03:00
										 |  |  | void hmp_migrate_set_capability(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-08-06 21:42:54 +03:00
										 |  |  | void hmp_migrate_set_cache_size(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-12-07 11:17:51 -02:00
										 |  |  | void hmp_set_password(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-12-07 11:47:57 -02:00
										 |  |  | void hmp_expire_password(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-12-07 16:02:36 -02:00
										 |  |  | void hmp_eject(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-12-08 11:13:50 -02:00
										 |  |  | void hmp_change(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-12-14 16:49:14 -02:00
										 |  |  | void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-01-18 14:40:46 +00:00
										 |  |  | void hmp_block_stream(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-01-18 14:40:47 +00:00
										 |  |  | void hmp_block_job_set_speed(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-01-18 14:40:48 +00:00
										 |  |  | void hmp_block_job_cancel(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-09-28 17:22:51 +02:00
										 |  |  | void hmp_block_job_pause(Monitor *mon, const QDict *qdict); | 
					
						
							|  |  |  | void hmp_block_job_resume(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-10-18 16:49:21 +02:00
										 |  |  | void hmp_block_job_complete(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-12-05 14:48:01 -02:00
										 |  |  | void hmp_migrate(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-03-29 12:38:50 -03:00
										 |  |  | void hmp_device_del(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-05-07 12:10:47 +08:00
										 |  |  | void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-04-18 17:34:15 -03:00
										 |  |  | void hmp_netdev_add(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-04-16 14:36:32 -03:00
										 |  |  | void hmp_netdev_del(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-06-22 14:36:09 -04:00
										 |  |  | void hmp_getfd(Monitor *mon, const QDict *qdict); | 
					
						
							|  |  |  | void hmp_closefd(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-08-31 10:56:26 +08:00
										 |  |  | void hmp_send_key(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-05-24 13:48:23 -03:00
										 |  |  | void hmp_screen_dump(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2012-08-23 11:53:04 +02:00
										 |  |  | 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); | 
					
						
							| 
									
										
										
										
											2012-12-19 10:33:40 +01:00
										 |  |  | void hmp_chardev_add(Monitor *mon, const QDict *qdict); | 
					
						
							|  |  |  | void hmp_chardev_remove(Monitor *mon, const QDict *qdict); | 
					
						
							| 
									
										
										
										
											2011-09-02 12:34:48 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | #endif
 |