diff options
author | 2009-10-14 18:23:35 -0300 | |
---|---|---|
committer | 2009-10-14 18:23:35 -0300 | |
commit | 6ca9781b5b84ee211798000276048f6e3dfd9bed (patch) | |
tree | f65e8dbae66ab10f7124193d660e11e18222efd3 /qemu-monitor.hx | |
parent | Merge commit '185c66c81d95a929bc3d38ca52887a8da1e6887f' into upstream-merge (diff) | |
parent | monitor: Convert mon_cmd_t initializations to C99 style (diff) | |
download | qemu-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.hx | 613 |
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 |