aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcelo Tosatti <mtosatti@redhat.com>2009-10-14 18:23:35 -0300
committerMarcelo Tosatti <mtosatti@redhat.com>2009-10-14 18:23:35 -0300
commit6ca9781b5b84ee211798000276048f6e3dfd9bed (patch)
treef65e8dbae66ab10f7124193d660e11e18222efd3 /qemu-monitor.hx
parentMerge commit '185c66c81d95a929bc3d38ca52887a8da1e6887f' into upstream-merge (diff)
parentmonitor: Convert mon_cmd_t initializations to C99 style (diff)
downloadqemu-kvm-6ca9781b5b84ee211798000276048f6e3dfd9bed.tar.gz
qemu-kvm-6ca9781b5b84ee211798000276048f6e3dfd9bed.tar.bz2
qemu-kvm-6ca9781b5b84ee211798000276048f6e3dfd9bed.zip
Merge commit 'd7f9b68971d5f9111afeae03c61199346b868c13' into upstream-merge
* commit 'd7f9b68971d5f9111afeae03c61199346b868c13': (25 commits) monitor: Convert mon_cmd_t initializations to C99 style Introduce QList unit-tests Introduce QList QObject: Accept NULL Only compile ssi when one target uses it Only compile ssi-sd when one target uses it Only compile max111x when one target uses it Only compile ads7846 when one target uses it Only compile sd0323 when one target uses it Only compile sd0303 when one target uses it Only compile stellaris_input when one target uses it Only compile tmp105 when one target uses it Only compile lm832x when one target uses it Only compile tsc2005 when one target uses it Only compile twl92230 when one target uses it Only compile wm8750 when one target uses it Only compile max7310 when one target uses it Only compile sd when one target uses it Only compile ptimer when one target uses it Only compile m48t59 when one target uses it ... Conflicts: qemu-monitor.hx Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'qemu-monitor.hx')
-rw-r--r--qemu-monitor.hx613
1 files changed, 488 insertions, 125 deletions
diff --git a/qemu-monitor.hx b/qemu-monitor.hx
index 797746fae..45275fe8e 100644
--- a/qemu-monitor.hx
+++ b/qemu-monitor.hx
@@ -9,21 +9,40 @@ STEXI
@table @option
ETEXI
- { "help|?", "name:s?", do_help_cmd, "[cmd]", "show the help" },
+ {
+ .name = "help|?",
+ .args_type = "name:s?",
+ .handler = do_help_cmd,
+ .params = "[cmd]",
+ .help = "show the help",
+ },
+
STEXI
@item help or ? [@var{cmd}]
Show the help for all commands or just for command @var{cmd}.
ETEXI
- { "commit", "device:B", do_commit,
- "device|all", "commit changes to the disk images (if -snapshot is used) or backing files" },
+ {
+ .name = "commit",
+ .args_type = "device:B",
+ .handler = do_commit,
+ .params = "device|all",
+ .help = "commit changes to the disk images (if -snapshot is used) or backing files",
+ },
+
STEXI
@item commit
Commit changes to the disk images (if -snapshot is used) or backing files.
ETEXI
- { "info", "item:s?", do_info,
- "[subcommand]", "show various information about the system state" },
+ {
+ .name = "info",
+ .args_type = "item:s?",
+ .handler = do_info,
+ .params = "[subcommand]",
+ .help = "show various information about the system state",
+ },
+
STEXI
@item info @var{subcommand}
Show various information about the system state.
@@ -94,22 +113,40 @@ show device tree
@end table
ETEXI
- { "q|quit", "", do_quit,
- "", "quit the emulator" },
+ {
+ .name = "q|quit",
+ .args_type = "",
+ .handler = do_quit,
+ .params = "",
+ .help = "quit the emulator",
+ },
+
STEXI
@item q or quit
Quit the emulator.
ETEXI
- { "eject", "force:-f,filename:B", do_eject,
- "[-f] device", "eject a removable medium (use -f to force it)" },
+ {
+ .name = "eject",
+ .args_type = "force:-f,filename:B",
+ .handler = do_eject,
+ .params = "[-f] device",
+ .help = "eject a removable medium (use -f to force it)",
+ },
+
STEXI
@item eject [-f] @var{device}
Eject a removable medium (use -f to force it).
ETEXI
- { "change", "device:B,target:F,arg:s?", do_change,
- "device filename [format]", "change a removable medium, optional format" },
+ {
+ .name = "change",
+ .args_type = "device:B,target:F,arg:s?",
+ .handler = do_change,
+ .params = "device filename [format]",
+ .help = "change a removable medium, optional format",
+ },
+
STEXI
@item change @var{device} @var{setting}
@@ -147,29 +184,53 @@ Password: ********
@end table
ETEXI
- { "screendump", "filename:F", do_screen_dump,
- "filename", "save screen into PPM image 'filename'" },
+ {
+ .name = "screendump",
+ .args_type = "filename:F",
+ .handler = do_screen_dump,
+ .params = "filename",
+ .help = "save screen into PPM image 'filename'",
+ },
+
STEXI
@item screendump @var{filename}
Save screen into PPM image @var{filename}.
ETEXI
- { "logfile", "filename:F", do_logfile,
- "filename", "output logs to 'filename'" },
+ {
+ .name = "logfile",
+ .args_type = "filename:F",
+ .handler = do_logfile,
+ .params = "filename",
+ .help = "output logs to 'filename'",
+ },
+
STEXI
@item logfile @var{filename}
Output logs to @var{filename}.
ETEXI
- { "log", "items:s", do_log,
- "item1[,...]", "activate logging of the specified items to '/tmp/qemu.log'" },
+ {
+ .name = "log",
+ .args_type = "items:s",
+ .handler = do_log,
+ .params = "item1[,...]",
+ .help = "activate logging of the specified items to '/tmp/qemu.log'",
+ },
+
STEXI
@item log @var{item1}[,...]
Activate logging of the specified items to @file{/tmp/qemu.log}.
ETEXI
- { "savevm", "name:s?", do_savevm,
- "[tag|id]", "save a VM snapshot. If no tag or id are provided, a new snapshot is created" },
+ {
+ .name = "savevm",
+ .args_type = "name:s?",
+ .handler = do_savevm,
+ .params = "[tag|id]",
+ .help = "save a VM snapshot. If no tag or id are provided, a new snapshot is created",
+ },
+
STEXI
@item savevm [@var{tag}|@var{id}]
Create a snapshot of the whole virtual machine. If @var{tag} is
@@ -178,59 +239,107 @@ a snapshot with the same tag or ID, it is replaced. More info at
@ref{vm_snapshots}.
ETEXI
- { "loadvm", "name:s", do_loadvm,
- "tag|id", "restore a VM snapshot from its tag or id" },
+ {
+ .name = "loadvm",
+ .args_type = "name:s",
+ .handler = do_loadvm,
+ .params = "tag|id",
+ .help = "restore a VM snapshot from its tag or id",
+ },
+
STEXI
@item loadvm @var{tag}|@var{id}
Set the whole virtual machine to the snapshot identified by the tag
@var{tag} or the unique snapshot ID @var{id}.
ETEXI
- { "delvm", "name:s", do_delvm,
- "tag|id", "delete a VM snapshot from its tag or id" },
+ {
+ .name = "delvm",
+ .args_type = "name:s",
+ .handler = do_delvm,
+ .params = "tag|id",
+ .help = "delete a VM snapshot from its tag or id",
+ },
+
STEXI
@item delvm @var{tag}|@var{id}
Delete the snapshot identified by @var{tag} or @var{id}.
ETEXI
- { "singlestep", "option:s?", do_singlestep,
- "[on|off]", "run emulation in singlestep mode or switch to normal mode", },
+ {
+ .name = "singlestep",
+ .args_type = "option:s?",
+ .handler = do_singlestep,
+ .params = "[on|off]",
+ .help = "run emulation in singlestep mode or switch to normal mode",
+ },
+
STEXI
@item singlestep [off]
Run the emulation in single step mode.
If called with option off, the emulation returns to normal mode.
ETEXI
- { "stop", "", do_stop,
- "", "stop emulation", },
+ {
+ .name = "stop",
+ .args_type = "",
+ .handler = do_stop,
+ .params = "",
+ .help = "stop emulation",
+ },
+
STEXI
@item stop
Stop emulation.
ETEXI
- { "c|cont", "", do_cont,
- "", "resume emulation", },
+ {
+ .name = "c|cont",
+ .args_type = "",
+ .handler = do_cont,
+ .params = "",
+ .help = "resume emulation",
+ },
+
STEXI
@item c or cont
Resume emulation.
ETEXI
- { "gdbserver", "device:s?", do_gdbserver,
- "[device]", "start gdbserver on given device (default 'tcp::1234'), stop with 'none'", },
+ {
+ .name = "gdbserver",
+ .args_type = "device:s?",
+ .handler = do_gdbserver,
+ .params = "[device]",
+ .help = "start gdbserver on given device (default 'tcp::1234'), stop with 'none'",
+ },
+
STEXI
@item gdbserver [@var{port}]
Start gdbserver session (default @var{port}=1234)
ETEXI
- { "x", "fmt:/,addr:l", do_memory_dump,
- "/fmt addr", "virtual memory dump starting at 'addr'", },
+ {
+ .name = "x",
+ .args_type = "fmt:/,addr:l",
+ .handler = do_memory_dump,
+ .params = "/fmt addr",
+ .help = "virtual memory dump starting at 'addr'",
+ },
+
STEXI
@item x/fmt @var{addr}
Virtual memory dump starting at @var{addr}.
ETEXI
- { "xp", "fmt:/,addr:l", do_physical_memory_dump,
- "/fmt addr", "physical memory dump starting at 'addr'", },
+ {
+ .name = "xp",
+ .args_type = "fmt:/,addr:l",
+ .handler = do_physical_memory_dump,
+ .params = "/fmt addr",
+ .help = "physical memory dump starting at 'addr'",
+ },
+
STEXI
@item xp /@var{fmt} @var{addr}
Physical memory dump starting at @var{addr}.
@@ -289,8 +398,14 @@ Dump 80 16 bit values at the start of the video memory.
@end itemize
ETEXI
- { "p|print", "fmt:/,val:l", do_print,
- "/fmt expr", "print expression value (use $reg for CPU register access)", },
+ {
+ .name = "p|print",
+ .args_type = "fmt:/,val:l",
+ .handler = do_print,
+ .params = "/fmt expr",
+ .help = "print expression value (use $reg for CPU register access)",
+ },
+
STEXI
@item p or print/@var{fmt} @var{expr}
@@ -298,20 +413,38 @@ Print expression value. Only the @var{format} part of @var{fmt} is
used.
ETEXI
- { "i", "fmt:/,addr:i,index:i.", do_ioport_read,
- "/fmt addr", "I/O port read" },
+ {
+ .name = "i",
+ .args_type = "fmt:/,addr:i,index:i.",
+ .handler = do_ioport_read,
+ .params = "/fmt addr",
+ .help = "I/O port read",
+ },
+
STEXI
Read I/O port.
ETEXI
- { "o", "fmt:/,addr:i,val:i", do_ioport_write,
- "/fmt addr value", "I/O port write" },
+ {
+ .name = "o",
+ .args_type = "fmt:/,addr:i,val:i",
+ .handler = do_ioport_write,
+ .params = "/fmt addr value",
+ .help = "I/O port write",
+ },
+
STEXI
Write to I/O port.
ETEXI
- { "sendkey", "string:s,hold_time:i?", do_sendkey,
- "keys [hold_ms]", "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)" },
+ {
+ .name = "sendkey",
+ .args_type = "string:s,hold_time:i?",
+ .handler = do_sendkey,
+ .params = "keys [hold_ms]",
+ .help = "send keys to the VM (e.g. 'sendkey ctrl-alt-f1', default hold time=100 ms)",
+ },
+
STEXI
@item sendkey @var{keys}
@@ -326,32 +459,56 @@ This command is useful to send keys that your graphical user interface
intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
ETEXI
- { "system_reset", "", do_system_reset,
- "", "reset the system" },
+ {
+ .name = "system_reset",
+ .args_type = "",
+ .handler = do_system_reset,
+ .params = "",
+ .help = "reset the system",
+ },
+
STEXI
@item system_reset
Reset the system.
ETEXI
- { "system_powerdown", "", do_system_powerdown,
- "", "send system power down event" },
+ {
+ .name = "system_powerdown",
+ .args_type = "",
+ .handler = do_system_powerdown,
+ .params = "",
+ .help = "send system power down event",
+ },
+
STEXI
@item system_powerdown
Power down the system (if supported).
ETEXI
- { "sum", "start:i,size:i", do_sum,
- "addr size", "compute the checksum of a memory region" },
+ {
+ .name = "sum",
+ .args_type = "start:i,size:i",
+ .handler = do_sum,
+ .params = "addr size",
+ .help = "compute the checksum of a memory region",
+ },
+
STEXI
@item sum @var{addr} @var{size}
Compute the checksum of a memory region.
ETEXI
- { "usb_add", "devname:s", do_usb_add,
- "device", "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')" },
+ {
+ .name = "usb_add",
+ .args_type = "devname:s",
+ .handler = do_usb_add,
+ .params = "device",
+ .help = "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')",
+ },
+
STEXI
@item usb_add @var{devname}
@@ -359,8 +516,14 @@ Add the USB device @var{devname}. For details of available devices see
@ref{usb_devices}
ETEXI
- { "usb_del", "devname:s", do_usb_del,
- "device", "remove USB device 'bus.addr'" },
+ {
+ .name = "usb_del",
+ .args_type = "devname:s",
+ .handler = do_usb_del,
+ .params = "device",
+ .help = "remove USB device 'bus.addr'",
+ },
+
STEXI
@item usb_del @var{devname}
@@ -369,45 +532,81 @@ hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
command @code{info usb} to see the devices you can remove.
ETEXI
- { "device_add", "config:s", do_device_add,
- "device", "add device, like -device on the command line" },
+ {
+ .name = "device_add",
+ .args_type = "config:s",
+ .handler = do_device_add,
+ .params = "device",
+ .help = "add device, like -device on the command line",
+ },
+
STEXI
@item device_add @var{config}
Add device.
ETEXI
- { "device_del", "id:s", do_device_del,
- "device", "remove device" },
+ {
+ .name = "device_del",
+ .args_type = "id:s",
+ .handler = do_device_del,
+ .params = "device",
+ .help = "remove device",
+ },
+
STEXI
@item device_del @var{id}
Remove device @var{id}.
ETEXI
- { "cpu", "index:i", do_cpu_set, "index", "set the default CPU" },
+ {
+ .name = "cpu",
+ .args_type = "index:i",
+ .handler = do_cpu_set,
+ .params = "index",
+ .help = "set the default CPU",
+ },
STEXI
Set the default CPU.
ETEXI
- { "mouse_move", "dx_str:s,dy_str:s,dz_str:s?", do_mouse_move,
- "dx dy [dz]", "send mouse move events" },
+ {
+ .name = "mouse_move",
+ .args_type = "dx_str:s,dy_str:s,dz_str:s?",
+ .handler = do_mouse_move,
+ .params = "dx dy [dz]",
+ .help = "send mouse move events",
+ },
+
STEXI
@item mouse_move @var{dx} @var{dy} [@var{dz}]
Move the active mouse to the specified coordinates @var{dx} @var{dy}
with optional scroll axis @var{dz}.
ETEXI
- { "mouse_button", "button_state:i", do_mouse_button,
- "state", "change mouse button state (1=L, 2=M, 4=R)" },
+ {
+ .name = "mouse_button",
+ .args_type = "button_state:i",
+ .handler = do_mouse_button,
+ .params = "state",
+ .help = "change mouse button state (1=L, 2=M, 4=R)",
+ },
+
STEXI
@item mouse_button @var{val}
Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
ETEXI
- { "mouse_set", "index:i", do_mouse_set,
- "index", "set which mouse device receives events" },
+ {
+ .name = "mouse_set",
+ .args_type = "index:i",
+ .handler = do_mouse_set,
+ .params = "index",
+ .help = "set which mouse device receives events",
+ },
+
STEXI
@item mouse_set @var{index}
Set which mouse device receives events at given @var{index}, index
@@ -418,9 +617,13 @@ info mice
ETEXI
#ifdef HAS_AUDIO
- { "wavcapture", "path:F,freq:i?,bits:i?,nchannels:i?", do_wav_capture,
- "path [frequency [bits [channels]]]",
- "capture audio to a wave file (default frequency=44100 bits=16 channels=2)" },
+ {
+ .name = "wavcapture",
+ .args_type = "path:F,freq:i?,bits:i?,nchannels:i?",
+ .handler = do_wav_capture,
+ .params = "path [frequency [bits [channels]]]",
+ .help = "capture audio to a wave file (default frequency=44100 bits=16 channels=2)",
+ },
#endif
STEXI
@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
@@ -436,8 +639,13 @@ Defaults:
ETEXI
#ifdef HAS_AUDIO
- { "stopcapture", "n:i", do_stop_capture,
- "capture index", "stop capture" },
+ {
+ .name = "stopcapture",
+ .args_type = "n:i",
+ .handler = do_stop_capture,
+ .params = "capture index",
+ .help = "stop capture",
+ },
#endif
STEXI
@item stopcapture @var{index}
@@ -447,22 +655,40 @@ info capture
@end example
ETEXI
- { "memsave", "val:l,size:i,filename:s", do_memory_save,
- "addr size file", "save to disk virtual memory dump starting at 'addr' of size 'size'", },
+ {
+ .name = "memsave",
+ .args_type = "val:l,size:i,filename:s",
+ .handler = do_memory_save,
+ .params = "addr size file",
+ .help = "save to disk virtual memory dump starting at 'addr' of size 'size'",
+ },
+
STEXI
@item memsave @var{addr} @var{size} @var{file}
save to disk virtual memory dump starting at @var{addr} of size @var{size}.
ETEXI
- { "pmemsave", "val:l,size:i,filename:s", do_physical_memory_save,
- "addr size file", "save to disk physical memory dump starting at 'addr' of size 'size'", },
+ {
+ .name = "pmemsave",
+ .args_type = "val:l,size:i,filename:s",
+ .handler = do_physical_memory_save,
+ .params = "addr size file",
+ .help = "save to disk physical memory dump starting at 'addr' of size 'size'",
+ },
+
STEXI
@item pmemsave @var{addr} @var{size} @var{file}
save to disk physical memory dump starting at @var{addr} of size @var{size}.
ETEXI
- { "boot_set", "bootdevice:s", do_boot_set,
- "bootdevice", "define new values for the boot device list" },
+ {
+ .name = "boot_set",
+ .args_type = "bootdevice:s",
+ .handler = do_boot_set,
+ .params = "bootdevice",
+ .help = "define new values for the boot device list",
+ },
+
STEXI
@item boot_set @var{bootdevicelist}
@@ -474,37 +700,65 @@ the same that can be specified in the @code{-boot} command line option.
ETEXI
#if defined(TARGET_I386)
- { "nmi", "cpu_index:i", do_inject_nmi,
- "cpu", "inject an NMI on the given CPU", },
+ {
+ .name = "nmi",
+ .args_type = "cpu_index:i",
+ .handler = do_inject_nmi,
+ .params = "cpu",
+ .help = "inject an NMI on the given CPU",
+ },
#endif
STEXI
@item nmi @var{cpu}
Inject an NMI on the given CPU (x86 only).
ETEXI
- { "migrate", "detach:-d,uri:s", do_migrate,
- "[-d] uri", "migrate to URI (using -d to not wait for completion)" },
+ {
+ .name = "migrate",
+ .args_type = "detach:-d,uri:s",
+ .handler = do_migrate,
+ .params = "[-d] uri",
+ .help = "migrate to URI (using -d to not wait for completion)",
+ },
+
STEXI
@item migrate [-d] @var{uri}
Migrate to @var{uri} (using -d to not wait for completion).
ETEXI
- { "migrate_cancel", "", do_migrate_cancel,
- "", "cancel the current VM migration" },
+ {
+ .name = "migrate_cancel",
+ .args_type = "",
+ .handler = do_migrate_cancel,
+ .params = "",
+ .help = "cancel the current VM migration",
+ },
+
STEXI
@item migrate_cancel
Cancel the current VM migration.
ETEXI
- { "migrate_set_speed", "value:s", do_migrate_set_speed,
- "value", "set maximum speed (in bytes) for migrations" },
+ {
+ .name = "migrate_set_speed",
+ .args_type = "value:s",
+ .handler = do_migrate_set_speed,
+ .params = "value",
+ .help = "set maximum speed (in bytes) for migrations",
+ },
+
STEXI
@item migrate_set_speed @var{value}
Set maximum speed to @var{value} (in bytes) for migrations.
ETEXI
- { "migrate_set_downtime", "value:s", do_migrate_set_downtime,
- "value", "set maximum tolerated downtime (in seconds) for migrations" },
+ {
+ .name = "migrate_set_downtime",
+ .args_type = "value:s",
+ .handler = do_migrate_set_downtime,
+ .params = "value",
+ .help = "set maximum tolerated downtime (in seconds) for migrations",
+ },
STEXI
@item migrate_set_downtime @var{second}
@@ -512,85 +766,150 @@ Set maximum tolerated downtime (in seconds) for migration.
ETEXI
#if defined(TARGET_I386)
- { "drive_add", "pci_addr:s,opts:s", drive_hot_add,
- "[[<domain>:]<bus>:]<slot>\n"
- "[file=file][,if=type][,bus=n]\n"
- "[,unit=m][,media=d][index=i]\n"
- "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
- "[snapshot=on|off][,cache=on|off]",
- "add drive to PCI storage controller" },
+ {
+ .name = "drive_add",
+ .args_type = "pci_addr:s,opts:s",
+ .handler = drive_hot_add,
+ .params = "[[<domain>:]<bus>:]<slot>\n"
+ "[file=file][,if=type][,bus=n]\n"
+ "[,unit=m][,media=d][index=i]\n"
+ "[,cyls=c,heads=h,secs=s[,trans=t]]\n"
+ "[snapshot=on|off][,cache=on|off]",
+ .help = "add drive to PCI storage controller",
+ },
#endif
+
STEXI
@item drive_add
Add drive to PCI storage controller.
ETEXI
#if defined(TARGET_I386)
- { "pci_add", "pci_addr:s,type:s,opts:s?", pci_device_hot_add, "auto|[[<domain>:]<bus>:]<slot> nic|storage|host [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]... [host=02:00.0[,name=string][,dma=none]", "hot-add PCI device" },
+ {
+ .name = "pci_add",
+ .args_type = "pci_addr:s,type:s,opts:s?",
+ .handler = pci_device_hot_add,
+ .params = "auto|[[<domain>:]<bus>:]<slot> nic|storage|host [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]... [host=02:00.0[,name=string][,dma=none]",
+ .help = "hot-add PCI device",
+ },
#endif
+
STEXI
@item pci_add
Hot-add PCI device.
ETEXI
#if defined(TARGET_I386)
- { "pci_del", "pci_addr:s", do_pci_device_hot_remove, "[[<domain>:]<bus>:]<slot>", "hot remove PCI device" },
+ {
+ .name = "pci_del",
+ .args_type = "pci_addr:s",
+ .handler = do_pci_device_hot_remove,
+ .params = "[[<domain>:]<bus>:]<slot>",
+ .help = "hot remove PCI device",
+ },
#endif
+
STEXI
@item pci_del
Hot remove PCI device.
ETEXI
- { "host_net_add", "device:s,opts:s?", net_host_device_add,
- "tap|user|socket|vde|dump [options]", "add host VLAN client" },
+ {
+ .name = "host_net_add",
+ .args_type = "device:s,opts:s?",
+ .handler = net_host_device_add,
+ .params = "tap|user|socket|vde|dump [options]",
+ .help = "add host VLAN client",
+ },
+
STEXI
@item host_net_add
Add host VLAN client.
ETEXI
- { "host_net_remove", "vlan_id:i,device:s", net_host_device_remove,
- "vlan_id name", "remove host VLAN client" },
+ {
+ .name = "host_net_remove",
+ .args_type = "vlan_id:i,device:s",
+ .handler = net_host_device_remove,
+ .params = "vlan_id name",
+ .help = "remove host VLAN client",
+ },
+
STEXI
@item host_net_remove
Remove host VLAN client.
ETEXI
#ifdef CONFIG_SLIRP
- { "hostfwd_add", "arg1:s,arg2:s?,arg3:s?", net_slirp_hostfwd_add,
- "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
- "redirect TCP or UDP connections from host to guest (requires -net user)" },
- { "hostfwd_remove", "arg1:s,arg2:s?,arg3:s?", net_slirp_hostfwd_remove,
- "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
- "remove host-to-guest TCP or UDP redirection" },
+ {
+ .name = "hostfwd_add",
+ .args_type = "arg1:s,arg2:s?,arg3:s?",
+ .handler = net_slirp_hostfwd_add,
+ .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
+ .help = "redirect TCP or UDP connections from host to guest (requires -net user)",
+ },
+
+ {
+ .name = "hostfwd_remove",
+ .args_type = "arg1:s,arg2:s?,arg3:s?",
+ .handler = net_slirp_hostfwd_remove,
+ .params = "[vlan_id name] [tcp|udp]:[hostaddr]:hostport",
+ .help = "remove host-to-guest TCP or UDP redirection",
+ },
+
#endif
STEXI
@item host_net_redir
Redirect TCP or UDP connections from host to guest (requires -net user).
ETEXI
- { "balloon", "value:i", do_balloon,
- "target", "request VM to change it's memory allocation (in MB)" },
+ {
+ .name = "balloon",
+ .args_type = "value:i",
+ .handler = do_balloon,
+ .params = "target",
+ .help = "request VM to change it's memory allocation (in MB)",
+ },
+
STEXI
@item balloon @var{value}
Request VM to change its memory allocation to @var{value} (in MB).
ETEXI
- { "set_link", "name:s,up_or_down:s", do_set_link,
- "name up|down", "change the link status of a network adapter" },
+ {
+ .name = "set_link",
+ .args_type = "name:s,up_or_down:s",
+ .handler = do_set_link,
+ .params = "name up|down",
+ .help = "change the link status of a network adapter",
+ },
+
STEXI
@item set_link @var{name} [up|down]
Set link @var{name} up or down.
ETEXI
- { "watchdog_action", "action:s", do_watchdog_action,
- "[reset|shutdown|poweroff|pause|debug|none]", "change watchdog action" },
+ {
+ .name = "watchdog_action",
+ .args_type = "action:s",
+ .handler = do_watchdog_action,
+ .params = "[reset|shutdown|poweroff|pause|debug|none]",
+ .help = "change watchdog action",
+ },
+
STEXI
@item watchdog_action
Change watchdog action.
ETEXI
- { "acl_show", "aclname:s", do_acl_show, "aclname",
- "list rules in the access control list" },
+ {
+ .name = "acl_show",
+ .args_type = "aclname:s",
+ .handler = do_acl_show,
+ .params = "aclname",
+ .help = "list rules in the access control list",
+ },
+
STEXI
@item acl_show @var{aclname}
List all the matching rules in the access control list, and the default
@@ -599,8 +918,14 @@ policy. There are currently two named access control lists,
certificate distinguished name, and SASL username respectively.
ETEXI
- { "acl_policy", "aclname:s,policy:s", do_acl_policy, "aclname allow|deny",
- "set default access control list policy" },
+ {
+ .name = "acl_policy",
+ .args_type = "aclname:s,policy:s",
+ .handler = do_acl_policy,
+ .params = "aclname allow|deny",
+ .help = "set default access control list policy",
+ },
+
STEXI
@item acl_policy @var{aclname} @code{allow|deny}
Set the default access control list policy, used in the event that
@@ -608,8 +933,14 @@ none of the explicit rules match. The default policy at startup is
always @code{deny}.
ETEXI
- { "acl_add", "aclname:s,match:s,policy:s,index:i?", do_acl_add, "aclname match allow|deny [index]",
- "add a match rule to the access control list" },
+ {
+ .name = "acl_add",
+ .args_type = "aclname:s,match:s,policy:s,index:i?",
+ .handler = do_acl_add,
+ .params = "aclname match allow|deny [index]",
+ .help = "add a match rule to the access control list",
+ },
+
STEXI
@item acl_allow @var{aclname} @var{match} @code{allow|deny} [@var{index}]
Add a match rule to the access control list, allowing or denying access.
@@ -620,15 +951,27 @@ normally be appended to the end of the ACL, but can be inserted
earlier in the list if the optional @var{index} parameter is supplied.
ETEXI
- { "acl_remove", "aclname:s,match:s", do_acl_remove, "aclname match",
- "remove a match rule from the access control list" },
+ {
+ .name = "acl_remove",
+ .args_type = "aclname:s,match:s",
+ .handler = do_acl_remove,
+ .params = "aclname match",
+ .help = "remove a match rule from the access control list",
+ },
+
STEXI
@item acl_remove @var{aclname} @var{match}
Remove the specified match rule from the access control list.
ETEXI
- { "acl_reset", "aclname:s", do_acl_reset, "aclname",
- "reset the access control list" },
+ {
+ .name = "acl_reset",
+ .args_type = "aclname:s",
+ .handler = do_acl_reset,
+ .params = "aclname",
+ .help = "reset the access control list",
+ },
+
STEXI
@item acl_remove @var{aclname} @var{match}
Remove all matches from the access control list, and set the default
@@ -636,15 +979,29 @@ policy back to @code{deny}.
ETEXI
#if defined(TARGET_I386)
- { "mce", "cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l", do_inject_mce, "cpu bank status mcgstatus addr misc", "inject a MCE on the given CPU"},
+
+ {
+ .name = "mce",
+ .args_type = "cpu_index:i,bank:i,status:l,mcg_status:l,addr:l,misc:l",
+ .handler = do_inject_mce,
+ .params = "cpu bank status mcgstatus addr misc",
+ .help = "inject a MCE on the given CPU",
+ },
+
#endif
STEXI
@item mce @var{cpu} @var{bank} @var{status} @var{mcgstatus} @var{addr} @var{misc}
Inject an MCE on the given CPU (x86 only).
ETEXI
- { "getfd", "fdname:s", do_getfd, "getfd name",
- "receive a file descriptor via SCM rights and assign it a name" },
+ {
+ .name = "getfd",
+ .args_type = "fdname:s",
+ .handler = do_getfd,
+ .params = "getfd name",
+ .help = "receive a file descriptor via SCM rights and assign it a name",
+ },
+
STEXI
@item getfd @var{fdname}
If a file descriptor is passed alongside this command using the SCM_RIGHTS
@@ -652,8 +1009,14 @@ mechanism on unix sockets, it is stored using the name @var{fdname} for
later use by other monitor commands.
ETEXI
- { "closefd", "fdname:s", do_closefd, "closefd name",
- "close a file descriptor previously passed via SCM rights" },
+ {
+ .name = "closefd",
+ .args_type = "fdname:s",
+ .handler = do_closefd,
+ .params = "closefd name",
+ .help = "close a file descriptor previously passed via SCM rights",
+ },
+
STEXI
@item closefd @var{fdname}
Close the file descriptor previously assigned to @var{fdname} using the