1910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# -*- Mode: Python -*- 2910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# QAPI Schema 4910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 5910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 6910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ErrorClass 7910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 8910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# QEMU error classes 9910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 10910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @GenericError: this is used for errors that don't require a specific error 11910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# class. This should be the default case for most errors 12910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 13910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @CommandNotFound: the requested command has not been found 14910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 15910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @DeviceEncrypted: the requested operation can't be fulfilled because the 16910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# selected device is encrypted 17910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 18910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @DeviceNotActive: a device has failed to be become active 19910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 20910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @DeviceNotFound: the requested device has not been found 21910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 22910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @KVMMissingCap: the requested operation can't be fulfilled because a 23910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# required KVM capability is missing 24910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 25910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 26910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 27910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'ErrorClass', 28910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': [ 'GenericError', 'CommandNotFound', 'DeviceEncrypted', 29910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] } 30910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 31910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 32910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @add_client 33910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 34910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Allow client connections for VNC, Spice and socket based 35910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# character devices to be passed in to QEMU via SCM_RIGHTS. 36910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 37910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @protocol: protocol name. Valid names are "vnc", "spice" or the 38910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# name of a character device (eg. from -chardev id=XXXX) 39910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 40910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fdname: file descriptor name previously passed via 'getfd' command 41910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 42910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @skipauth: #optional whether to skip authentication. Only applies 43910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# to "vnc" and "spice" protocols 44910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 45910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @tls: #optional whether to perform TLS. Only applies to the "spice" 46910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# protocol 47910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 48910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing on success. 49910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 50910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 51910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 52910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'add_client', 53910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'protocol': 'str', 'fdname': 'str', '*skipauth': 'bool', 54910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*tls': 'bool' } } 55910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 56910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 57910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @NameInfo: 58910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 59910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Guest name information. 60910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 61910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: #optional The name of the guest 62910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 63910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 0.14.0 64910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 65910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'NameInfo', 'data': {'*name': 'str'} } 66910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 67910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 68910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-name: 69910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 70910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return the name information of a guest. 71910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 72910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: @NameInfo of the guest 73910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 74910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 0.14.0 75910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 76910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-name', 'returns': 'NameInfo' } 77910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 78910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 79910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @VersionInfo: 80910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 81910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# A description of QEMU's version. 82910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 83910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @qemu.major: The major version of QEMU 84910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 85910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @qemu.minor: The minor version of QEMU 86910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 87910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @qemu.micro: The micro version of QEMU. By current convention, a micro 88910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# version of 50 signifies a development branch. A micro version 89910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# greater than or equal to 90 signifies a release candidate for 90910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# the next minor version. A micro version of less than 50 91910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# signifies a stable release. 92910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 93910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @package: QEMU will always set this field to an empty string. Downstream 94910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# versions of QEMU should set this to a non-empty string. The 95910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# exact format depends on the downstream however it highly 96910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# recommended that a unique name is used. 97910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 98910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 99910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 100910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'VersionInfo', 101910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'qemu': {'major': 'int', 'minor': 'int', 'micro': 'int'}, 102910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'package': 'str'} } 103910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 104910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 105910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-version: 106910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 107910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns the current version of QEMU. 108910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 109910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: A @VersionInfo object describing the current version of QEMU. 110910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 111910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 112910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 113910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-version', 'returns': 'VersionInfo' } 114910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 115910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 116910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @KvmInfo: 117910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 118910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about support for KVM acceleration 119910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 120910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @enabled: true if KVM acceleration is active 121910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 122910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @present: true if KVM acceleration is built into this executable 123910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 124910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 125910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 126910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'KvmInfo', 'data': {'enabled': 'bool', 'present': 'bool'} } 127910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 128910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 129910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-kvm: 130910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 131910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns information about KVM acceleration 132910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 133910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: @KvmInfo 134910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 135910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 136910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 137910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-kvm', 'returns': 'KvmInfo' } 138910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 139910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 140910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @RunState 141910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 142910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# An enumeration of VM run states. 143910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 144910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @debug: QEMU is running on a debugger 145910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 146910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @finish-migrate: guest is paused to finish the migration process 147910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 148910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @inmigrate: guest is paused waiting for an incoming migration. Note 149910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# that this state does not tell whether the machine will start at the 150910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# end of the migration. This depends on the command-line -S option and 151910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# any invocation of 'stop' or 'cont' that has happened since QEMU was 152910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# started. 153910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 154910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @internal-error: An internal error that prevents further guest execution 155910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# has occurred 156910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 157910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @io-error: the last IOP has failed and the device is configured to pause 158910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# on I/O errors 159910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 160910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @paused: guest has been paused via the 'stop' command 161910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 162910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @postmigrate: guest is paused following a successful 'migrate' 163910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 164910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @prelaunch: QEMU was started with -S and guest has not started 165910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 166910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @restore-vm: guest is paused to restore VM state 167910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 168910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @running: guest is actively running 169910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 170910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @save-vm: guest is paused to save the VM state 171910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 172910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @shutdown: guest is shut down (and -no-shutdown is in use) 173910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 174910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @suspended: guest is suspended (ACPI S3) 175910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 176910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @watchdog: the watchdog action is configured to pause and has been triggered 177910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 178910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @guest-panicked: guest has been panicked as a result of guest OS panic 179910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 180910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'RunState', 181910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': [ 'debug', 'inmigrate', 'internal-error', 'io-error', 'paused', 182910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'postmigrate', 'prelaunch', 'finish-migrate', 'restore-vm', 183910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'running', 'save-vm', 'shutdown', 'suspended', 'watchdog', 184910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'guest-panicked' ] } 185910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 186910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 187910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @SnapshotInfo 188910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 189910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @id: unique snapshot id 190910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 191910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: user chosen name 192910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 193910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @vm-state-size: size of the VM state 194910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 195910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @date-sec: UTC date of the snapshot in seconds 196910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 197910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @date-nsec: fractional part in nano seconds to be used with date-sec 198910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 199910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @vm-clock-sec: VM clock relative to boot in seconds 200910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 201910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @vm-clock-nsec: fractional part in nano seconds to be used with vm-clock-sec 202910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 203910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3 204910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 205910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 206910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 207910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'SnapshotInfo', 208910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'id': 'str', 'name': 'str', 'vm-state-size': 'int', 209910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'date-sec': 'int', 'date-nsec': 'int', 210910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'vm-clock-sec': 'int', 'vm-clock-nsec': 'int' } } 211910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 212910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 213910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ImageInfoSpecificQCow2: 214910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 215910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @compat: compatibility level 216910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 217910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @lazy-refcounts: #optional on or off; only valid for compat >= 1.1 218910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 219910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 220910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 221910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ImageInfoSpecificQCow2', 222910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 223910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'compat': 'str', 224910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*lazy-refcounts': 'bool' 225910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } } 226910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 227910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 228910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ImageInfoSpecificVmdk: 229910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 230910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @create-type: The create type of VMDK image 231910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 232910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cid: Content id of image 233910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 234910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @parent-cid: Parent VMDK image's cid 235910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 236910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @extents: List of extent files 237910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 238910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 239910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 240910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ImageInfoSpecificVmdk', 241910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 242910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'create-type': 'str', 243910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'cid': 'int', 244910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'parent-cid': 'int', 245910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'extents': ['ImageInfo'] 246910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } } 247910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 248910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 249910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ImageInfoSpecific: 250910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 251910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# A discriminated record of image format specific information structures. 252910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 253910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 254910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 255910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 256910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'union': 'ImageInfoSpecific', 257910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 258910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'qcow2': 'ImageInfoSpecificQCow2', 259910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'vmdk': 'ImageInfoSpecificVmdk' 260910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } } 261910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 262910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 263910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ImageInfo: 264910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 265910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a QEMU image file 266910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 267910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @filename: name of the image file 268910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 269910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @format: format of the image file 270910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 271910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @virtual-size: maximum capacity in bytes of the image 272910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 273910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @actual-size: #optional actual size on disk in bytes of the image 274910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 275910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @dirty-flag: #optional true if image is not cleanly closed 276910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 277910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cluster-size: #optional size of a cluster in bytes 278910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 279910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @encrypted: #optional true if the image is encrypted 280910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 281910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @compressed: #optional true if the image is compressed (Since 1.7) 282910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 283910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @backing-filename: #optional name of the backing file 284910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 285910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @full-backing-filename: #optional full path of the backing file 286910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 287910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @backing-filename-format: #optional the format of the backing file 288910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 289910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @snapshots: #optional list of VM snapshots 290910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 291910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @backing-image: #optional info of the backing image (since 1.6) 292910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 293910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @format-specific: #optional structure supplying additional format-specific 294910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# information (since 1.7) 295910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 296910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3 297910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 298910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 299910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 300910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ImageInfo', 301910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'filename': 'str', 'format': 'str', '*dirty-flag': 'bool', 302910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*actual-size': 'int', 'virtual-size': 'int', 303910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*cluster-size': 'int', '*encrypted': 'bool', '*compressed': 'bool', 304910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*backing-filename': 'str', '*full-backing-filename': 'str', 305910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*backing-filename-format': 'str', '*snapshots': ['SnapshotInfo'], 306910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*backing-image': 'ImageInfo', 307910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*format-specific': 'ImageInfoSpecific' } } 308910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 309910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 310910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ImageCheck: 311910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 312910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a QEMU image file check 313910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 314910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @filename: name of the image file checked 315910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 316910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @format: format of the image file checked 317910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 318910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @check-errors: number of unexpected errors occurred during check 319910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 320910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @image-end-offset: #optional offset (in bytes) where the image ends, this 321910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# field is present if the driver for the image format 322910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# supports it 323910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 324910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @corruptions: #optional number of corruptions found during the check if any 325910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 326910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @leaks: #optional number of leaks found during the check if any 327910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 328910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @corruptions-fixed: #optional number of corruptions fixed during the check 329910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# if any 330910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 331910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @leaks-fixed: #optional number of leaks fixed during the check if any 332910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 333910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @total-clusters: #optional total number of clusters, this field is present 334910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# if the driver for the image format supports it 335910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 336910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @allocated-clusters: #optional total number of allocated clusters, this 337910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# field is present if the driver for the image format 338910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# supports it 339910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 340910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fragmented-clusters: #optional total number of fragmented clusters, this 341910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# field is present if the driver for the image format 342910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# supports it 343910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 344910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @compressed-clusters: #optional total number of compressed clusters, this 345910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# field is present if the driver for the image format 346910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# supports it 347910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 348910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.4 349910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 350910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 351910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 352910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ImageCheck', 353910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'filename': 'str', 'format': 'str', 'check-errors': 'int', 354910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*image-end-offset': 'int', '*corruptions': 'int', '*leaks': 'int', 355910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*corruptions-fixed': 'int', '*leaks-fixed': 'int', 356910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*total-clusters': 'int', '*allocated-clusters': 'int', 357910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*fragmented-clusters': 'int', '*compressed-clusters': 'int' } } 358910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 359910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 360910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @StatusInfo: 361910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 362910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about VCPU run state 363910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 364910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @running: true if all VCPUs are runnable, false if not runnable 365910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 366910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @singlestep: true if VCPUs are in single-step mode 367910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 368910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @status: the virtual machine @RunState 369910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 370910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 371910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 372910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: @singlestep is enabled through the GDB stub 373910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 374910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'StatusInfo', 375910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'running': 'bool', 'singlestep': 'bool', 'status': 'RunState'} } 376910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 377910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 378910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-status: 379910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 380910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Query the run status of all VCPUs 381910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 382910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: @StatusInfo reflecting all VCPUs 383910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 384910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 385910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 386910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-status', 'returns': 'StatusInfo' } 387910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 388910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 389910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @UuidInfo: 390910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 391910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Guest UUID information. 392910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 393910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @UUID: the UUID of the guest 394910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 395910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 396910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 397910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: If no UUID was specified for the guest, a null UUID is returned. 398910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 399910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'UuidInfo', 'data': {'UUID': 'str'} } 400910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 401910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 402910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-uuid: 403910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 404910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Query the guest UUID information. 405910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 406910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: The @UuidInfo for the guest 407910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 408910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 0.14.0 409910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 410910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-uuid', 'returns': 'UuidInfo' } 411910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 412910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 413910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ChardevInfo: 414910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 415910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a character device. 416910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 417910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @label: the label of the character device 418910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 419910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @filename: the filename of the character device 420910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 421910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: @filename is encoded using the QEMU command line character device 422910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# encoding. See the QEMU man page for details. 423910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 424910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 425910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 426910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ChardevInfo', 'data': {'label': 'str', 'filename': 'str'} } 427910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 428910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 429910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-chardev: 430910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 431910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns information about current character devices. 432910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 433910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: a list of @ChardevInfo 434910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 435910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 436910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 437910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-chardev', 'returns': ['ChardevInfo'] } 438910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 439910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 440910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @DataFormat: 441910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 442910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# An enumeration of data format. 443910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 444910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @utf8: Data is a UTF-8 string (RFC 3629) 445910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 446910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @base64: Data is Base64 encoded binary (RFC 3548) 447910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 448910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.4 449910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 450910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'DataFormat', 451910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': [ 'utf8', 'base64' ] } 452910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 453910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 454910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ringbuf-write: 455910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 456910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Write to a ring buffer character device. 457910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 458910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the ring buffer character device name 459910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 460910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @data: data to write 461910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 462910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @format: #optional data encoding (default 'utf8'). 463910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# - base64: data must be base64 encoded text. Its binary 464910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# decoding gets written. 465910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Bug: invalid base64 is currently not rejected. 466910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Whitespace *is* invalid. 467910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# - utf8: data's UTF-8 encoding is written 468910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# - data itself is always Unicode regardless of format, like 469910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# any other string. 470910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 471910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 472910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 473910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.4 474910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 475910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'ringbuf-write', 476910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'device': 'str', 'data': 'str', 477910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*format': 'DataFormat'} } 478910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 479910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 480910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ringbuf-read: 481910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 482910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Read from a ring buffer character device. 483910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 484910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the ring buffer character device name 485910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 486910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @size: how many bytes to read at most 487910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 488910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @format: #optional data encoding (default 'utf8'). 489910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# - base64: the data read is returned in base64 encoding. 490910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# - utf8: the data read is interpreted as UTF-8. 491910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Bug: can screw up when the buffer contains invalid UTF-8 492910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# sequences, NUL characters, after the ring buffer lost 493910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# data, and when reading stops because the size limit is 494910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# reached. 495910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# - The return value is always Unicode regardless of format, 496910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# like any other string. 497910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 498910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: data read from the device 499910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 500910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.4 501910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 502910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'ringbuf-read', 503910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'device': 'str', 'size': 'int', '*format': 'DataFormat'}, 504910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'returns': 'str' } 505910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 506910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 507910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @CommandInfo: 508910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 509910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a QMP command 510910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 511910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: The command name 512910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 513910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 514910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 515910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'CommandInfo', 'data': {'name': 'str'} } 516910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 517910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 518910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-commands: 519910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 520910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return a list of supported QMP commands by this server 521910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 522910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: A list of @CommandInfo for all supported commands 523910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 524910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 525910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 526910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-commands', 'returns': ['CommandInfo'] } 527910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 528910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 529910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @EventInfo: 530910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 531910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a QMP event 532910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 533910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: The event name 534910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 535910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2.0 536910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 537910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'EventInfo', 'data': {'name': 'str'} } 538910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 539910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 540910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-events: 541910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 542910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return a list of supported QMP events by this server 543910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 544910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: A list of @EventInfo for all supported events 545910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 546910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2.0 547910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 548910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-events', 'returns': ['EventInfo'] } 549910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 550910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 551910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @MigrationStats 552910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 553910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Detailed migration status. 554910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 555910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @transferred: amount of bytes already transferred to the target VM 556910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 557910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @remaining: amount of bytes remaining to be transferred to the target VM 558910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 559910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @total: total amount of bytes involved in the migration process 560910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 561910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @duplicate: number of duplicate (zero) pages (since 1.2) 562910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 563910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @skipped: number of skipped zero pages (since 1.5) 564910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 565910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @normal : number of normal pages (since 1.2) 566910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 567910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @normal-bytes: number of normal bytes sent (since 1.2) 568910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 569910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @dirty-pages-rate: number of pages dirtied by second by the 570910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# guest (since 1.3) 571910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 572910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @mbps: throughput in megabits/sec. (since 1.6) 573910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 574910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 575910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 576910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'MigrationStats', 577910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'transferred': 'int', 'remaining': 'int', 'total': 'int' , 578910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'duplicate': 'int', 'skipped': 'int', 'normal': 'int', 579910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'normal-bytes': 'int', 'dirty-pages-rate' : 'int', 580910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'mbps' : 'number' } } 581910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 582910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 583910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @XBZRLECacheStats 584910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 585910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Detailed XBZRLE migration cache statistics 586910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 587910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cache-size: XBZRLE cache size 588910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 589910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bytes: amount of bytes already transferred to the target VM 590910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 591910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @pages: amount of pages transferred to the target VM 592910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 593910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cache-miss: number of cache miss 594910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 595910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @overflow: number of overflows 596910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 597910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 598910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 599910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'XBZRLECacheStats', 600910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'cache-size': 'int', 'bytes': 'int', 'pages': 'int', 601910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'cache-miss': 'int', 'overflow': 'int' } } 602910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 603910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 604910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @MigrationInfo 605910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 606910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about current migration process. 607910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 608910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @status: #optional string describing the current migration status. 609910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# As of 0.14.0 this can be 'active', 'completed', 'failed' or 610910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'cancelled'. If this field is not returned, no migration process 611910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# has been initiated 612910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 613910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ram: #optional @MigrationStats containing detailed migration 614910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# status, only returned if status is 'active' or 615910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'completed'. 'comppleted' (since 1.2) 616910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 617910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @disk: #optional @MigrationStats containing detailed disk migration 618910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# status, only returned if status is 'active' and it is a block 619910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# migration 620910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 621910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @xbzrle-cache: #optional @XBZRLECacheStats containing detailed XBZRLE 622910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# migration statistics, only returned if XBZRLE feature is on and 623910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# status is 'active' or 'completed' (since 1.2) 624910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 625910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @total-time: #optional total amount of milliseconds since migration started. 626910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If migration has ended, it returns the total migration 627910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# time. (since 1.2) 628910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 629910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @downtime: #optional only present when migration finishes correctly 630910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# total downtime in milliseconds for the guest. 631910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# (since 1.3) 632910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 633910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @expected-downtime: #optional only present while migration is active 634910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# expected downtime in milliseconds for the guest in last walk 635910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# of the dirty bitmap. (since 1.3) 636910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 637910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @setup-time: #optional amount of setup time in milliseconds _before_ the 638910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# iterations begin but _after_ the QMP command is issued. This is designed 639910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# to provide an accounting of any activities (such as RDMA pinning) which 640910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# may be expensive, but do not actually occur during the iterative 641910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# migration rounds themselves. (since 1.6) 642910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 643910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 644910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 645910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'MigrationInfo', 646910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'*status': 'str', '*ram': 'MigrationStats', 647910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*disk': 'MigrationStats', 648910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*xbzrle-cache': 'XBZRLECacheStats', 649910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*total-time': 'int', 650910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*expected-downtime': 'int', 651910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*downtime': 'int', 652910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*setup-time': 'int'} } 653910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 654910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 655910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-migrate 656910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 657910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns information about current migration process. 658910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 659910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: @MigrationInfo 660910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 661910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 662910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 663910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-migrate', 'returns': 'MigrationInfo' } 664910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 665910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 666910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @MigrationCapability 667910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 668910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Migration capabilities enumeration 669910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 670910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @xbzrle: Migration supports xbzrle (Xor Based Zero Run Length Encoding). 671910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This feature allows us to minimize migration traffic for certain work 672910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# loads, by sending compressed difference of the pages 673910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 674910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @x-rdma-pin-all: Controls whether or not the entire VM memory footprint is 675910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# mlock()'d on demand or all at once. Refer to docs/rdma.txt for usage. 676910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Disabled by default. Experimental: may (or may not) be renamed after 677910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# further testing is complete. (since 1.6) 678910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 679910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @zero-blocks: During storage migration encode blocks of zeroes efficiently. This 680910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# essentially saves 1MB of zeroes per block on the wire. Enabling requires 681910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# source and target VM to support this feature. To enable it is sufficient 682910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# to enable the capability on the source VM. The feature is disabled by 683910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# default. (since 1.6) 684910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 685910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @auto-converge: If enabled, QEMU will automatically throttle down the guest 686910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# to speed up convergence of RAM migration. (since 1.6) 687910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 688910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 689910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 690910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'MigrationCapability', 691910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': ['xbzrle', 'x-rdma-pin-all', 'auto-converge', 'zero-blocks'] } 692910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 693910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 694910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @MigrationCapabilityStatus 695910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 696910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Migration capability information 697910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 698910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @capability: capability enum 699910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 700910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @state: capability state bool 701910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 702910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 703910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 704910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'MigrationCapabilityStatus', 705910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'capability' : 'MigrationCapability', 'state' : 'bool' } } 706910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 707910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 708910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @migrate-set-capabilities 709910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 710910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Enable/Disable the following migration capabilities (like xbzrle) 711910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 712910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @capabilities: json array of capability modifications to make 713910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 714910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 715910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 716910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'migrate-set-capabilities', 717910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'capabilities': ['MigrationCapabilityStatus'] } } 718910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 719910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 720910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-migrate-capabilities 721910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 722910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns information about the current migration capabilities status 723910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 724910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: @MigrationCapabilitiesStatus 725910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 726910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 727910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 728910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-migrate-capabilities', 'returns': ['MigrationCapabilityStatus']} 729910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 730910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 731910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @MouseInfo: 732910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 733910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a mouse device. 734910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 735910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: the name of the mouse device 736910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 737910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @index: the index of the mouse device 738910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 739910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @current: true if this device is currently receiving mouse events 740910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 741910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @absolute: true if this device supports absolute coordinates as input 742910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 743910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 744910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 745910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'MouseInfo', 746910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'name': 'str', 'index': 'int', 'current': 'bool', 747910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'absolute': 'bool'} } 748910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 749910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 750910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-mice: 751910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 752910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns information about each active mouse device 753910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 754910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: a list of @MouseInfo for each device 755910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 756910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 757910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 758910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-mice', 'returns': ['MouseInfo'] } 759910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 760910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 761910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @CpuInfo: 762910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 763910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a virtual CPU 764910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 765910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @CPU: the index of the virtual CPU 766910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 767910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @current: this only exists for backwards compatible and should be ignored 768910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 769910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @halted: true if the virtual CPU is in the halt state. Halt usually refers 770910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# to a processor specific low power mode. 771910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 772910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @pc: #optional If the target is i386 or x86_64, this is the 64-bit instruction 773910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# pointer. 774910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If the target is Sparc, this is the PC component of the 775910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# instruction pointer. 776910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 777910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @nip: #optional If the target is PPC, the instruction pointer 778910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 779910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @npc: #optional If the target is Sparc, the NPC component of the instruction 780910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# pointer 781910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 782910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @PC: #optional If the target is MIPS, the instruction pointer 783910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 784910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @thread_id: ID of the underlying host thread 785910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 786910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 787910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 788910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: @halted is a transient state that changes frequently. By the time the 789910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# data is sent to the client, the guest may no longer be halted. 790910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 791910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'CpuInfo', 792910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'CPU': 'int', 'current': 'bool', 'halted': 'bool', '*pc': 'int', 793910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*nip': 'int', '*npc': 'int', '*PC': 'int', 'thread_id': 'int'} } 794910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 795910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 796910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-cpus: 797910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 798910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns a list of information about each virtual CPU. 799910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 800910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: a list of @CpuInfo for each virtual CPU 801910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 802910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 803910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 804910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-cpus', 'returns': ['CpuInfo'] } 805910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 806910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 807910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockDeviceInfo: 808910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 809910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about the backing device for a block device. 810910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 811910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @file: the filename of the backing device 812910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 813910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ro: true if the backing device was open read-only 814910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 815910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @drv: the name of the block format used to open the backing device. As of 816910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 0.14.0 this can be: 'blkdebug', 'bochs', 'cloop', 'cow', 'dmg', 817910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'file', 'file', 'ftp', 'ftps', 'host_cdrom', 'host_device', 818910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'host_floppy', 'http', 'https', 'nbd', 'parallels', 'qcow', 819910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'qcow2', 'raw', 'tftp', 'vdi', 'vmdk', 'vpc', 'vvfat' 820910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 821910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @backing_file: #optional the name of the backing file (for copy-on-write) 822910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 823910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @backing_file_depth: number of files in the backing file chain (since: 1.2) 824910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 825910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @encrypted: true if the backing device is encrypted 826910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 827910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @encryption_key_missing: true if the backing device is encrypted but an 828910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# valid encryption key is missing 829910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 830910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bps: total throughput limit in bytes per second is specified 831910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 832910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bps_rd: read throughput limit in bytes per second is specified 833910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 834910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bps_wr: write throughput limit in bytes per second is specified 835910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 836910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @iops: total I/O operations per second is specified 837910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 838910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @iops_rd: read I/O operations per second is specified 839910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 840910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @iops_wr: write I/O operations per second is specified 841910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 842910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @image: the info of image used (since: 1.6) 843910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 844910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bps_max: #optional total max in bytes (Since 1.7) 845910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 846910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bps_rd_max: #optional read max in bytes (Since 1.7) 847910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 848910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bps_wr_max: #optional write max in bytes (Since 1.7) 849910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 850910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @iops_max: #optional total I/O operations max (Since 1.7) 851910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 852910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @iops_rd_max: #optional read I/O operations max (Since 1.7) 853910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 854910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @iops_wr_max: #optional write I/O operations max (Since 1.7) 855910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 856910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @iops_size: #optional an I/O size in bytes (Since 1.7) 857910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 858910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 859910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 860910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: This interface is only found in @BlockInfo. 861910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 862910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockDeviceInfo', 863910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'file': 'str', 'ro': 'bool', 'drv': 'str', 864910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*backing_file': 'str', 'backing_file_depth': 'int', 865910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'encrypted': 'bool', 'encryption_key_missing': 'bool', 866910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'bps': 'int', 'bps_rd': 'int', 'bps_wr': 'int', 867910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'iops': 'int', 'iops_rd': 'int', 'iops_wr': 'int', 868910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'image': 'ImageInfo', 869910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*bps_max': 'int', '*bps_rd_max': 'int', 870910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*bps_wr_max': 'int', '*iops_max': 'int', 871910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*iops_rd_max': 'int', '*iops_wr_max': 'int', 872910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*iops_size': 'int' } } 873910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 874910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 875910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockDeviceIoStatus: 876910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 877910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# An enumeration of block device I/O status. 878910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 879910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ok: The last I/O operation has succeeded 880910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 881910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @failed: The last I/O operation has failed 882910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 883910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @nospace: The last I/O operation has failed due to a no-space condition 884910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 885910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.0 886910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 887910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'BlockDeviceIoStatus', 'data': [ 'ok', 'failed', 'nospace' ] } 888910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 889910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 890910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockDeviceMapEntry: 891910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 892910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Entry in the metadata map of the device (returned by "qemu-img map") 893910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 894910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @start: Offset in the image of the first byte described by this entry 895910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# (in bytes) 896910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 897910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @length: Length of the range described by this entry (in bytes) 898910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 899910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @depth: Number of layers (0 = top image, 1 = top image's backing file, etc.) 900910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# before reaching one for which the range is allocated. The value is 901910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# in the range 0 to the depth of the image chain - 1. 902910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 903910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @zero: the sectors in this range read as zeros 904910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 905910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @data: reading the image will actually read data from a file (in particular, 906910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# if @offset is present this means that the sectors are not simply 907910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# preallocated, but contain actual data in raw format) 908910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 909910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @offset: if present, the image file stores the data for this range in 910910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# raw format at the given offset. 911910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 912910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.7 913910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 914910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockDeviceMapEntry', 915910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'start': 'int', 'length': 'int', 'depth': 'int', 'zero': 'bool', 916910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': 'bool', '*offset': 'int' } } 917910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 918910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 919910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockDirtyInfo: 920910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 921910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Block dirty bitmap information. 922910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 923910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @count: number of dirty bytes according to the dirty bitmap 924910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 925910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @granularity: granularity of the dirty bitmap in bytes (since 1.4) 926910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 927910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3 928910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 929910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockDirtyInfo', 930910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'count': 'int', 'granularity': 'int'} } 931910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 932910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 933910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockInfo: 934910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 935910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Block device information. This structure describes a virtual device and 936910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# the backing device associated with it. 937910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 938910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: The device name associated with the virtual device. 939910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 940910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @type: This field is returned only for compatibility reasons, it should 941910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# not be used (always returns 'unknown') 942910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 943910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @removable: True if the device supports removable media. 944910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 945910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @locked: True if the guest has locked this device from having its media 946910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# removed 947910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 948910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @tray_open: #optional True if the device has a tray and it is open 949910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# (only present if removable is true) 950910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 951910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @dirty-bitmaps: #optional dirty bitmaps information (only present if the 952910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# driver has one or more dirty bitmaps) (Since 1.8) 953910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 954910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @io-status: #optional @BlockDeviceIoStatus. Only present if the device 955910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# supports it and the VM is configured to stop on errors 956910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 957910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @inserted: #optional @BlockDeviceInfo describing the device if media is 958910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# present 959910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 960910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 961910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 962910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockInfo', 963910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'device': 'str', 'type': 'str', 'removable': 'bool', 964910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'locked': 'bool', '*inserted': 'BlockDeviceInfo', 965910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*tray_open': 'bool', '*io-status': 'BlockDeviceIoStatus', 966910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*dirty-bitmaps': ['BlockDirtyInfo'] } } 967910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 968910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 969910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-block: 970910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 971910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Get a list of BlockInfo for all virtual block devices. 972910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 973910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: a list of @BlockInfo describing each virtual block device 974910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 975910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 976910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 977910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-block', 'returns': ['BlockInfo'] } 978910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 979910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 980910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockDeviceStats: 981910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 982910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Statistics of a virtual block device or a block backing device. 983910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 984910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @rd_bytes: The number of bytes read by the device. 985910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 986910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @wr_bytes: The number of bytes written by the device. 987910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 988910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @rd_operations: The number of read operations performed by the device. 989910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 990910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @wr_operations: The number of write operations performed by the device. 991910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 992910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @flush_operations: The number of cache flush operations performed by the 993910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# device (since 0.15.0) 994910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 995910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @flush_total_time_ns: Total time spend on cache flushes in nano-seconds 996910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# (since 0.15.0). 997910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 998910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @wr_total_time_ns: Total time spend on writes in nano-seconds (since 0.15.0). 999910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1000910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @rd_total_time_ns: Total_time_spend on reads in nano-seconds (since 0.15.0). 1001910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1002910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @wr_highest_offset: The offset after the greatest byte written to the 1003910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# device. The intended use of this information is for 1004910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# growable sparse files (like qcow2) that are used on top 1005910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# of a physical device. 1006910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1007910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1008910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1009910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockDeviceStats', 1010910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'rd_bytes': 'int', 'wr_bytes': 'int', 'rd_operations': 'int', 1011910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'wr_operations': 'int', 'flush_operations': 'int', 1012910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'flush_total_time_ns': 'int', 'wr_total_time_ns': 'int', 1013910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'rd_total_time_ns': 'int', 'wr_highest_offset': 'int' } } 1014910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1015910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1016910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockStats: 1017910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1018910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Statistics of a virtual block device or a block backing device. 1019910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1020910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: #optional If the stats are for a virtual block device, the name 1021910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# corresponding to the virtual block device. 1022910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1023910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @stats: A @BlockDeviceStats for the device. 1024910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1025910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @parent: #optional This may point to the backing block device if this is a 1026910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# a virtual block device. If it's a backing block, this will point 1027910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# to the backing file is one is present. 1028910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1029910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1030910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1031910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockStats', 1032910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'*device': 'str', 'stats': 'BlockDeviceStats', 1033910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*parent': 'BlockStats'} } 1034910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1035910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1036910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-blockstats: 1037910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1038910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Query the @BlockStats for all virtual block devices. 1039910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1040910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: A list of @BlockStats for each virtual block devices. 1041910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1042910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1043910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1044910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-blockstats', 'returns': ['BlockStats'] } 1045910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1046910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1047910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @VncClientInfo: 1048910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1049910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a connected VNC client. 1050910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1051910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @host: The host name of the client. QEMU tries to resolve this to a DNS name 1052910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# when possible. 1053910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1054910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @family: 'ipv6' if the client is connected via IPv6 and TCP 1055910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'ipv4' if the client is connected via IPv4 and TCP 1056910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'unix' if the client is connected via a unix domain socket 1057910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'unknown' otherwise 1058910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1059910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @service: The service name of the client's port. This may depends on the 1060910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# host system's service database so symbolic names should not be 1061910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# relied on. 1062910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1063910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @x509_dname: #optional If x509 authentication is in use, the Distinguished 1064910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Name of the client. 1065910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1066910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @sasl_username: #optional If SASL authentication is in use, the SASL username 1067910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# used for authentication. 1068910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1069910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1070910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1071910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'VncClientInfo', 1072910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'host': 'str', 'family': 'str', 'service': 'str', 1073910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*x509_dname': 'str', '*sasl_username': 'str'} } 1074910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1075910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1076910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @VncInfo: 1077910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1078910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about the VNC session. 1079910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1080910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @enabled: true if the VNC server is enabled, false otherwise 1081910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1082910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @host: #optional The hostname the VNC server is bound to. This depends on 1083910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# the name resolution on the host and may be an IP address. 1084910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1085910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @family: #optional 'ipv6' if the host is listening for IPv6 connections 1086910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'ipv4' if the host is listening for IPv4 connections 1087910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'unix' if the host is listening on a unix domain socket 1088910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'unknown' otherwise 1089910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1090910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @service: #optional The service name of the server's port. This may depends 1091910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# on the host system's service database so symbolic names should not 1092910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# be relied on. 1093910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1094910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @auth: #optional the current authentication type used by the server 1095910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'none' if no authentication is being used 1096910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'vnc' if VNC authentication is being used 1097910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'vencrypt+plain' if VEncrypt is used with plain text authentication 1098910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'vencrypt+tls+none' if VEncrypt is used with TLS and no authentication 1099910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'vencrypt+tls+vnc' if VEncrypt is used with TLS and VNC authentication 1100910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'vencrypt+tls+plain' if VEncrypt is used with TLS and plain text auth 1101910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'vencrypt+x509+none' if VEncrypt is used with x509 and no auth 1102910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'vencrypt+x509+vnc' if VEncrypt is used with x509 and VNC auth 1103910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'vencrypt+x509+plain' if VEncrypt is used with x509 and plain text auth 1104910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'vencrypt+tls+sasl' if VEncrypt is used with TLS and SASL auth 1105910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'vencrypt+x509+sasl' if VEncrypt is used with x509 and SASL auth 1106910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1107910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @clients: a list of @VncClientInfo of all currently connected clients 1108910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1109910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1110910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1111910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'VncInfo', 1112910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'enabled': 'bool', '*host': 'str', '*family': 'str', 1113910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*service': 'str', '*auth': 'str', '*clients': ['VncClientInfo']} } 1114910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1115910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1116910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-vnc: 1117910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1118910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns information about the current VNC server 1119910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1120910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: @VncInfo 1121910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1122910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1123910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1124910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-vnc', 'returns': 'VncInfo' } 1125910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1126910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1127910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @SpiceChannel 1128910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1129910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a SPICE client channel. 1130910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1131910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @host: The host name of the client. QEMU tries to resolve this to a DNS name 1132910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# when possible. 1133910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1134910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @family: 'ipv6' if the client is connected via IPv6 and TCP 1135910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'ipv4' if the client is connected via IPv4 and TCP 1136910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'unix' if the client is connected via a unix domain socket 1137910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'unknown' otherwise 1138910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1139910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @port: The client's port number. 1140910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1141910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @connection-id: SPICE connection id number. All channels with the same id 1142910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# belong to the same SPICE session. 1143910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1144910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @connection-type: SPICE channel type number. "1" is the main control 1145910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# channel, filter for this one if you want to track spice 1146910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# sessions only 1147910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1148910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @channel-id: SPICE channel ID number. Usually "0", might be different when 1149910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# multiple channels of the same type exist, such as multiple 1150910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# display channels in a multihead setup 1151910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1152910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @tls: true if the channel is encrypted, false otherwise. 1153910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1154910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1155910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1156910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'SpiceChannel', 1157910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'host': 'str', 'family': 'str', 'port': 'str', 1158910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'connection-id': 'int', 'channel-type': 'int', 'channel-id': 'int', 1159910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'tls': 'bool'} } 1160910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1161910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1162910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @SpiceQueryMouseMode 1163910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1164910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# An enumeration of Spice mouse states. 1165910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1166910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @client: Mouse cursor position is determined by the client. 1167910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1168910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @server: Mouse cursor position is determined by the server. 1169910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1170910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @unknown: No information is available about mouse mode used by 1171910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# the spice server. 1172910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1173910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Note: spice/enums.h has a SpiceMouseMode already, hence the name. 1174910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1175910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.1 1176910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1177910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'SpiceQueryMouseMode', 1178910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': [ 'client', 'server', 'unknown' ] } 1179910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1180910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1181910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @SpiceInfo 1182910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1183910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about the SPICE session. 1184910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1185910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @enabled: true if the SPICE server is enabled, false otherwise 1186910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1187910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @migrated: true if the last guest migration completed and spice 1188910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# migration had completed as well. false otherwise. 1189910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1190910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @host: #optional The hostname the SPICE server is bound to. This depends on 1191910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# the name resolution on the host and may be an IP address. 1192910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1193910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @port: #optional The SPICE server's port number. 1194910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1195910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @compiled-version: #optional SPICE server version. 1196910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1197910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @tls-port: #optional The SPICE server's TLS port number. 1198910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1199910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @auth: #optional the current authentication type used by the server 1200910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'none' if no authentication is being used 1201910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'spice' uses SASL or direct TLS authentication, depending on command 1202910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# line options 1203910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1204910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @mouse-mode: The mode in which the mouse cursor is displayed currently. Can 1205910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# be determined by the client or the server, or unknown if spice 1206910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# server doesn't provide this information. 1207910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1208910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.1 1209910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1210910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @channels: a list of @SpiceChannel for each active spice channel 1211910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1212910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1213910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1214910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'SpiceInfo', 1215910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'enabled': 'bool', 'migrated': 'bool', '*host': 'str', '*port': 'int', 1216910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*tls-port': 'int', '*auth': 'str', '*compiled-version': 'str', 1217910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'mouse-mode': 'SpiceQueryMouseMode', '*channels': ['SpiceChannel']} } 1218910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1219910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1220910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-spice 1221910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1222910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns information about the current SPICE server 1223910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1224910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: @SpiceInfo 1225910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1226910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1227910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1228910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-spice', 'returns': 'SpiceInfo' } 1229910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1230910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1231910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BalloonInfo: 1232910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1233910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about the guest balloon device. 1234910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1235910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @actual: the number of bytes the balloon currently contains 1236910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1237910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1238910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1239910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1240910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BalloonInfo', 'data': {'actual': 'int' } } 1241910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1242910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1243910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-balloon: 1244910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1245910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return information about the balloon device. 1246910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1247910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: @BalloonInfo on success 1248910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If the balloon driver is enabled but not functional because the KVM 1249910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# kernel module cannot support it, KvmMissingCap 1250910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If no balloon device is present, DeviceNotActive 1251910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1252910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1253910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1254910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-balloon', 'returns': 'BalloonInfo' } 1255910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1256910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1257910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @PciMemoryRange: 1258910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1259910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# A PCI device memory region 1260910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1261910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @base: the starting address (guest physical) 1262910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1263910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @limit: the ending address (guest physical) 1264910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1265910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1266910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1267910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'PciMemoryRange', 'data': {'base': 'int', 'limit': 'int'} } 1268910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1269910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1270910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @PciMemoryRegion 1271910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1272910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a PCI device I/O region. 1273910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1274910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bar: the index of the Base Address Register for this region 1275910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1276910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @type: 'io' if the region is a PIO region 1277910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'memory' if the region is a MMIO region 1278910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1279910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @prefetch: #optional if @type is 'memory', true if the memory is prefetchable 1280910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1281910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @mem_type_64: #optional if @type is 'memory', true if the BAR is 64-bit 1282910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1283910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1284910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1285910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'PciMemoryRegion', 1286910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'bar': 'int', 'type': 'str', 'address': 'int', 'size': 'int', 1287910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*prefetch': 'bool', '*mem_type_64': 'bool' } } 1288910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1289910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1290910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @PciBridgeInfo: 1291910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1292910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a PCI Bridge device 1293910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1294910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bus.number: primary bus interface number. This should be the number of the 1295910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# bus the device resides on. 1296910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1297910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bus.secondary: secondary bus interface number. This is the number of the 1298910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# main bus for the bridge 1299910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1300910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bus.subordinate: This is the highest number bus that resides below the 1301910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# bridge. 1302910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1303910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bus.io_range: The PIO range for all devices on this bridge 1304910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1305910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bus.memory_range: The MMIO range for all devices on this bridge 1306910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1307910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bus.prefetchable_range: The range of prefetchable MMIO for all devices on 1308910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# this bridge 1309910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1310910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @devices: a list of @PciDeviceInfo for each device on this bridge 1311910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1312910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1313910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1314910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'PciBridgeInfo', 1315910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'bus': { 'number': 'int', 'secondary': 'int', 'subordinate': 'int', 1316910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'io_range': 'PciMemoryRange', 1317910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'memory_range': 'PciMemoryRange', 1318910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'prefetchable_range': 'PciMemoryRange' }, 1319910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*devices': ['PciDeviceInfo']} } 1320910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1321910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1322910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @PciDeviceInfo: 1323910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1324910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a PCI device 1325910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1326910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bus: the bus number of the device 1327910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1328910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @slot: the slot the device is located in 1329910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1330910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @function: the function of the slot used by the device 1331910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1332910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @class_info.desc: #optional a string description of the device's class 1333910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1334910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @class_info.class: the class code of the device 1335910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1336910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @id.device: the PCI device id 1337910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1338910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @id.vendor: the PCI vendor id 1339910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1340910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @irq: #optional if an IRQ is assigned to the device, the IRQ number 1341910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1342910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @qdev_id: the device name of the PCI device 1343910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1344910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @pci_bridge: if the device is a PCI bridge, the bridge information 1345910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1346910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @regions: a list of the PCI I/O regions associated with the device 1347910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1348910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: the contents of @class_info.desc are not stable and should only be 1349910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# treated as informational. 1350910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1351910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1352910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1353910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'PciDeviceInfo', 1354910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'bus': 'int', 'slot': 'int', 'function': 'int', 1355910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'class_info': {'*desc': 'str', 'class': 'int'}, 1356910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'id': {'device': 'int', 'vendor': 'int'}, 1357910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*irq': 'int', 'qdev_id': 'str', '*pci_bridge': 'PciBridgeInfo', 1358910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'regions': ['PciMemoryRegion']} } 1359910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1360910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1361910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @PciInfo: 1362910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1363910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a PCI bus 1364910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1365910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bus: the bus index 1366910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1367910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @devices: a list of devices on this bus 1368910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1369910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1370910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1371910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'PciInfo', 'data': {'bus': 'int', 'devices': ['PciDeviceInfo']} } 1372910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1373910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1374910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-pci: 1375910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1376910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return information about the PCI bus topology of the guest. 1377910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1378910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: a list of @PciInfo for each PCI bus 1379910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1380910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1381910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1382910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-pci', 'returns': ['PciInfo'] } 1383910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1384910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1385910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockdevOnError: 1386910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1387910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# An enumeration of possible behaviors for errors on I/O operations. 1388910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# The exact meaning depends on whether the I/O was initiated by a guest 1389910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# or by a block job 1390910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1391910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @report: for guest operations, report the error to the guest; 1392910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# for jobs, cancel the job 1393910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1394910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ignore: ignore the error, only report a QMP event (BLOCK_IO_ERROR 1395910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# or BLOCK_JOB_ERROR) 1396910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1397910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @enospc: same as @stop on ENOSPC, same as @report otherwise. 1398910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1399910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @stop: for guest operations, stop the virtual machine; 1400910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# for jobs, pause the job 1401910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1402910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3 1403910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1404910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'BlockdevOnError', 1405910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': ['report', 'ignore', 'enospc', 'stop'] } 1406910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1407910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1408910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @MirrorSyncMode: 1409910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1410910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# An enumeration of possible behaviors for the initial synchronization 1411910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# phase of storage mirroring. 1412910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1413910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @top: copies data in the topmost image to the destination 1414910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1415910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @full: copies data from all images to the destination 1416910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1417910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @none: only copy data written from now on 1418910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1419910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3 1420910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1421910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'MirrorSyncMode', 1422910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': ['top', 'full', 'none'] } 1423910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1424910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1425910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockJobType: 1426910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1427910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Type of a block job. 1428910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1429910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @commit: block commit job type, see "block-commit" 1430910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1431910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @stream: block stream job type, see "block-stream" 1432910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1433910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @mirror: drive mirror job type, see "drive-mirror" 1434910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1435910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @backup: drive backup job type, see "drive-backup" 1436910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1437910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 1438910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1439910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'BlockJobType', 1440910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': ['commit', 'stream', 'mirror', 'backup'] } 1441910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1442910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1443910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockJobInfo: 1444910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1445910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a long-running block device operation. 1446910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1447910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @type: the job type ('stream' for image streaming) 1448910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1449910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the block device name 1450910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1451910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @len: the maximum progress value 1452910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1453910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @busy: false if the job is known to be in a quiescent state, with 1454910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# no pending I/O. Since 1.3. 1455910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1456910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @paused: whether the job is paused or, if @busy is true, will 1457910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# pause itself as soon as possible. Since 1.3. 1458910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1459910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @offset: the current progress value 1460910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1461910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @speed: the rate limit, bytes per second 1462910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1463910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @io-status: the status of the job (since 1.3) 1464910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1465910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.1 1466910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1467910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockJobInfo', 1468910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'type': 'str', 'device': 'str', 'len': 'int', 1469910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'offset': 'int', 'busy': 'bool', 'paused': 'bool', 'speed': 'int', 1470910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'io-status': 'BlockDeviceIoStatus'} } 1471910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1472910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1473910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-block-jobs: 1474910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1475910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return information about long-running block device operations. 1476910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1477910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: a list of @BlockJobInfo for each active block job 1478910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1479910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.1 1480910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1481910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-block-jobs', 'returns': ['BlockJobInfo'] } 1482910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1483910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1484910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @quit: 1485910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1486910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command will cause the QEMU process to exit gracefully. While every 1487910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# attempt is made to send the QMP response before terminating, this is not 1488910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# guaranteed. When using this interface, a premature EOF would not be 1489910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# unexpected. 1490910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1491910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1492910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1493910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'quit' } 1494910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1495910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1496910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @stop: 1497910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1498910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Stop all guest VCPU execution. 1499910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1500910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1501910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1502910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: This function will succeed even if the guest is already in the stopped 1503910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# state. In "inmigrate" state, it will ensure that the guest 1504910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# remains paused once migration finishes, as if the -S option was 1505910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# passed on the command line. 1506910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1507910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'stop' } 1508910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1509910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1510910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @system_reset: 1511910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1512910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Performs a hard reset of a guest. 1513910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1514910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1515910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1516910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'system_reset' } 1517910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1518910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1519910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @system_powerdown: 1520910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1521910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Requests that a guest perform a powerdown operation. 1522910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1523910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1524910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1525910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: A guest may or may not respond to this command. This command 1526910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# returning does not indicate that a guest has accepted the request or 1527910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# that it has shut down. Many guests will respond to this command by 1528910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# prompting the user in some way. 1529910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1530910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'system_powerdown' } 1531910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1532910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1533910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cpu: 1534910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1535910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command is a nop that is only provided for the purposes of compatibility. 1536910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1537910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1538910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1539910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: Do not use this command. 1540910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1541910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'cpu', 'data': {'index': 'int'} } 1542910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1543910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1544910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cpu-add 1545910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1546910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Adds CPU with specified ID 1547910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1548910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @id: ID of CPU to be created, valid values [0..max_cpus) 1549910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1550910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 1551910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1552910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.5 1553910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1554910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'cpu-add', 'data': {'id': 'int'} } 1555910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1556910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1557910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @memsave: 1558910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1559910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Save a portion of guest memory to a file. 1560910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1561910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @val: the virtual address of the guest to start from 1562910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1563910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @size: the size of memory region to save 1564910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1565910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @filename: the file to save the memory to as binary data 1566910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1567910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cpu-index: #optional the index of the virtual CPU to use for translating the 1568910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# virtual address (defaults to CPU 0) 1569910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1570910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 1571910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1572910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1573910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1574910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: Errors were not reliably returned until 1.1 1575910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1576910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'memsave', 1577910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'val': 'int', 'size': 'int', 'filename': 'str', '*cpu-index': 'int'} } 1578910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1579910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1580910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @pmemsave: 1581910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1582910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Save a portion of guest physical memory to a file. 1583910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1584910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @val: the physical address of the guest to start from 1585910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1586910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @size: the size of memory region to save 1587910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1588910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @filename: the file to save the memory to as binary data 1589910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1590910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 1591910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1592910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1593910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1594910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: Errors were not reliably returned until 1.1 1595910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1596910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'pmemsave', 1597910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'val': 'int', 'size': 'int', 'filename': 'str'} } 1598910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1599910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1600910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cont: 1601910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1602910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Resume guest VCPU execution. 1603910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1604910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1605910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1606910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: If successful, nothing 1607910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If QEMU was started with an encrypted block device and a key has 1608910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# not yet been set, DeviceEncrypted. 1609910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1610910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: This command will succeed if the guest is currently running. It 1611910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# will also succeed if the guest is in the "inmigrate" state; in 1612910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# this case, the effect of the command is to make sure the guest 1613910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# starts once migration finishes, removing the effect of the -S 1614910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# command line option if it was passed. 1615910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1616910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'cont' } 1617910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1618910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1619910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @system_wakeup: 1620910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1621910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Wakeup guest from suspend. Does nothing in case the guest isn't suspended. 1622910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1623910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.1 1624910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1625910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing. 1626910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1627910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'system_wakeup' } 1628910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1629910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1630910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @inject-nmi: 1631910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1632910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Injects an Non-Maskable Interrupt into all guest's VCPUs. 1633910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1634910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: If successful, nothing 1635910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1636910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1637910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1638910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: Only x86 Virtual Machines support this command. 1639910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1640910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'inject-nmi' } 1641910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1642910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1643910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @set_link: 1644910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1645910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Sets the link status of a virtual network adapter. 1646910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1647910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: the device name of the virtual network adapter 1648910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1649910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @up: true to set the link status to be up 1650910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1651910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 1652910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @name is not a valid network device, DeviceNotFound 1653910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1654910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1655910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1656910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: Not all network adapters support setting link status. This command 1657910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# will succeed even if the network adapter does not support link status 1658910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# notification. 1659910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1660910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'set_link', 'data': {'name': 'str', 'up': 'bool'} } 1661910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1662910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1663910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @block_passwd: 1664910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1665910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command sets the password of a block device that has not been open 1666910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# with a password and requires one. 1667910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1668910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# The two cases where this can happen are a block device is created through 1669910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# QEMU's initial command line or a block device is changed through the legacy 1670910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @change interface. 1671910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1672910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# In the event that the block device is created through the initial command 1673910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# line, the VM will start in the stopped state regardless of whether '-S' is 1674910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# used. The intention is for a management tool to query the block devices to 1675910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# determine which ones are encrypted, set the passwords with this command, and 1676910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# then start the guest with the @cont command. 1677910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1678910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the name of the device to set the password on 1679910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1680910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @password: the password to use for the device 1681910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1682910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing on success 1683910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device is not a valid block device, DeviceNotFound 1684910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device is not encrypted, DeviceNotEncrypted 1685910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1686910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: Not all block formats support encryption and some that do are not 1687910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# able to validate that a password is correct. Disk corruption may 1688910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# occur if an invalid password is specified. 1689910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1690910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1691910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1692910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'block_passwd', 'data': {'device': 'str', 'password': 'str'} } 1693910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1694910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1695910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @balloon: 1696910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1697910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Request the balloon driver to change its balloon size. 1698910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1699910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @value: the target size of the balloon in bytes 1700910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1701910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 1702910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If the balloon driver is enabled but not functional because the KVM 1703910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# kernel module cannot support it, KvmMissingCap 1704910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If no balloon device is present, DeviceNotActive 1705910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1706910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: This command just issues a request to the guest. When it returns, 1707910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# the balloon size may not have changed. A guest can change the balloon 1708910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# size independent of this command. 1709910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1710910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1711910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1712910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'balloon', 'data': {'value': 'int'} } 1713910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1714910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1715910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @block_resize 1716910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1717910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Resize a block image while a guest is running. 1718910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1719910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the name of the device to get the image resized 1720910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1721910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @size: new image size in bytes 1722910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1723910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing on success 1724910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device is not a valid block device, DeviceNotFound 1725910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1726910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1727910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1728910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'block_resize', 'data': { 'device': 'str', 'size': 'int' }} 1729910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1730910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1731910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @NewImageMode 1732910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1733910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# An enumeration that tells QEMU how to set the backing file path in 1734910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# a new image file. 1735910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1736910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @existing: QEMU should look for an existing image file. 1737910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1738910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @absolute-paths: QEMU should create a new image with absolute paths 1739910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# for the backing file. If there is no backing file available, the new 1740910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# image will not be backed either. 1741910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1742910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.1 1743910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1744910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'NewImageMode', 1745910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': [ 'existing', 'absolute-paths' ] } 1746910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1747910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1748910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockdevSnapshot 1749910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1750910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the name of the device to generate the snapshot from. 1751910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1752910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @snapshot-file: the target of the new image. A new file will be created. 1753910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1754910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @format: #optional the format of the snapshot image, default is 'qcow2'. 1755910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1756910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @mode: #optional whether and how QEMU should create a new image, default is 1757910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'absolute-paths'. 1758910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1759910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockdevSnapshot', 1760910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'device': 'str', 'snapshot-file': 'str', '*format': 'str', 1761910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*mode': 'NewImageMode' } } 1762910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1763910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1764910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockdevSnapshotInternal 1765910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1766910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the name of the device to generate the snapshot from 1767910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1768910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: the name of the internal snapshot to be created 1769910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1770910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: In transaction, if @name is empty, or any snapshot matching @name 1771910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# exists, the operation will fail. Only some image formats support it, 1772910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# for example, qcow2, rbd, and sheepdog. 1773910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1774910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 1775910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1776910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockdevSnapshotInternal', 1777910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'device': 'str', 'name': 'str' } } 1778910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1779910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1780910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @DriveBackup 1781910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1782910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the name of the device which should be copied. 1783910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1784910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @target: the target of the new image. If the file exists, or if it 1785910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# is a device, the existing file/device will be used as the new 1786910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# destination. If it does not exist, a new file will be created. 1787910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1788910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @format: #optional the format of the new destination, default is to 1789910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# probe if @mode is 'existing', else the format of the source 1790910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1791910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @sync: what parts of the disk image should be copied to the destination 1792910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# (all the disk, only the sectors allocated in the topmost image, or 1793910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# only new I/O). 1794910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1795910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @mode: #optional whether and how QEMU should create a new image, default is 1796910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'absolute-paths'. 1797910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1798910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @speed: #optional the maximum speed, in bytes per second 1799910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1800910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @on-source-error: #optional the action to take on an error on the source, 1801910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# default 'report'. 'stop' and 'enospc' can only be used 1802910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# if the block device supports io-status (see BlockInfo). 1803910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1804910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @on-target-error: #optional the action to take on an error on the target, 1805910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# default 'report' (no limitations, since this applies to 1806910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# a different block device than @device). 1807910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1808910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Note that @on-source-error and @on-target-error only affect background I/O. 1809910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If an error occurs during a guest write request, the device's rerror/werror 1810910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# actions will be used. 1811910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1812910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.6 1813910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1814910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'DriveBackup', 1815910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'device': 'str', 'target': 'str', '*format': 'str', 1816910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'sync': 'MirrorSyncMode', '*mode': 'NewImageMode', 1817910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*speed': 'int', 1818910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*on-source-error': 'BlockdevOnError', 1819910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*on-target-error': 'BlockdevOnError' } } 1820910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1821910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1822910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @Abort 1823910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1824910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This action can be used to test transaction failure. 1825910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1826910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.6 1827910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner### 1828910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'Abort', 1829910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { } } 1830910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1831910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1832910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @TransactionAction 1833910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1834910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# A discriminated record of operations that can be performed with 1835910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @transaction. 1836910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1837910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'union': 'TransactionAction', 1838910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 1839910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'blockdev-snapshot-sync': 'BlockdevSnapshot', 1840910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'drive-backup': 'DriveBackup', 1841910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'abort': 'Abort', 1842910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'blockdev-snapshot-internal-sync': 'BlockdevSnapshotInternal' 1843910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } } 1844910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1845910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1846910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @transaction 1847910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1848910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Executes a number of transactionable QMP commands atomically. If any 1849910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# operation fails, then the entire set of actions will be abandoned and the 1850910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# appropriate error returned. 1851910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1852910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# List of: 1853910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @TransactionAction: information needed for the respective operation 1854910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1855910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing on success 1856910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Errors depend on the operations of the transaction 1857910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1858910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Note: The transaction aborts on the first failure. Therefore, there will be 1859910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# information on only one failed operation returned in an error condition, and 1860910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# subsequent actions will not have been attempted. 1861910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1862910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.1 1863910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1864910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'transaction', 1865910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'actions': [ 'TransactionAction' ] } } 1866910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1867910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1868910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @blockdev-snapshot-sync 1869910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1870910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Generates a synchronous snapshot of a block device. 1871910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1872910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# For the arguments, see the documentation of BlockdevSnapshot. 1873910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1874910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing on success 1875910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device is not a valid block device, DeviceNotFound 1876910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1877910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 0.14.0 1878910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1879910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'blockdev-snapshot-sync', 1880910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': 'BlockdevSnapshot' } 1881910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1882910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1883910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @blockdev-snapshot-internal-sync 1884910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1885910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Synchronously take an internal snapshot of a block device, when the format 1886910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# of the image used supports it. 1887910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1888910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# For the arguments, see the documentation of BlockdevSnapshotInternal. 1889910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1890910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing on success 1891910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device is not a valid block device, DeviceNotFound 1892910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If any snapshot matching @name exists, or @name is empty, 1893910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# GenericError 1894910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If the format of the image used does not support it, 1895910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# BlockFormatFeatureNotSupported 1896910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1897910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.7 1898910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1899910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'blockdev-snapshot-internal-sync', 1900910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': 'BlockdevSnapshotInternal' } 1901910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1902910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1903910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @blockdev-snapshot-delete-internal-sync 1904910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1905910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Synchronously delete an internal snapshot of a block device, when the format 1906910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# of the image used support it. The snapshot is identified by name or id or 1907910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# both. One of the name or id is required. Return SnapshotInfo for the 1908910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# successfully deleted snapshot. 1909910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1910910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the name of the device to delete the snapshot from 1911910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1912910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @id: optional the snapshot's ID to be deleted 1913910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1914910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: optional the snapshot's name to be deleted 1915910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1916910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: SnapshotInfo on success 1917910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device is not a valid block device, DeviceNotFound 1918910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If snapshot not found, GenericError 1919910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If the format of the image used does not support it, 1920910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# BlockFormatFeatureNotSupported 1921910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @id and @name are both not specified, GenericError 1922910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1923910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.7 1924910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1925910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'blockdev-snapshot-delete-internal-sync', 1926910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'device': 'str', '*id': 'str', '*name': 'str'}, 1927910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'returns': 'SnapshotInfo' } 1928910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1929910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1930910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @human-monitor-command: 1931910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1932910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Execute a command on the human monitor and return the output. 1933910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1934910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @command-line: the command to execute in the human monitor 1935910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1936910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cpu-index: #optional The CPU to use for commands that require an implicit CPU 1937910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1938910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: the output of the command as a string 1939910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1940910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 1941910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1942910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: This command only exists as a stop-gap. Its use is highly 1943910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# discouraged. The semantics of this command are not guaranteed. 1944910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1945910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Known limitations: 1946910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1947910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# o This command is stateless, this means that commands that depend 1948910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# on state information (such as getfd) might not work 1949910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1950910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# o Commands that prompt the user for data (eg. 'cont' when the block 1951910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# device is encrypted) don't currently work 1952910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1953910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'human-monitor-command', 1954910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'command-line': 'str', '*cpu-index': 'int'}, 1955910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'returns': 'str' } 1956910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1957910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1958910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @block-commit 1959910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1960910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Live commit of data from overlay image nodes into backing nodes - i.e., 1961910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# writes data between 'top' and 'base' into 'base'. 1962910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1963910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the name of the device 1964910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1965910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @base: #optional The file name of the backing image to write data into. 1966910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If not specified, this is the deepest backing image 1967910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1968910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @top: The file name of the backing image within the image chain, 1969910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# which contains the topmost data to be committed down. 1970910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Note, the active layer as 'top' is currently unsupported. 1971910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1972910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If top == base, that is an error. 1973910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1974910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1975910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @speed: #optional the maximum speed, in bytes per second 1976910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1977910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 1978910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If commit or stream is already active on this device, DeviceInUse 1979910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device does not exist, DeviceNotFound 1980910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If image commit is not supported by this device, NotSupported 1981910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @base or @top is invalid, a generic error is returned 1982910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @top is the active layer, or omitted, a generic error is returned 1983910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @speed is invalid, InvalidParameter 1984910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1985910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3 1986910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1987910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1988910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'block-commit', 1989910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'device': 'str', '*base': 'str', 'top': 'str', 1990910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*speed': 'int' } } 1991910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 1992910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 1993910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @drive-backup 1994910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1995910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Start a point-in-time copy of a block device to a new destination. The 1996910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# status of ongoing drive-backup operations can be checked with 1997910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# query-block-jobs where the BlockJobInfo.type field has the value 'backup'. 1998910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# The operation can be stopped before it has completed using the 1999910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# block-job-cancel command. 2000910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2001910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# For the arguments, see the documentation of DriveBackup. 2002910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2003910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing on success 2004910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device is not a valid block device, DeviceNotFound 2005910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2006910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.6 2007910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2008910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'drive-backup', 'data': 'DriveBackup' } 2009910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2010910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2011910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @drive-mirror 2012910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2013910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Start mirroring a block device's writes to a new destination. 2014910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2015910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the name of the device whose writes should be mirrored. 2016910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2017910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @target: the target of the new image. If the file exists, or if it 2018910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# is a device, the existing file/device will be used as the new 2019910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# destination. If it does not exist, a new file will be created. 2020910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2021910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @format: #optional the format of the new destination, default is to 2022910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# probe if @mode is 'existing', else the format of the source 2023910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2024910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @mode: #optional whether and how QEMU should create a new image, default is 2025910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'absolute-paths'. 2026910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2027910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @speed: #optional the maximum speed, in bytes per second 2028910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2029910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @sync: what parts of the disk image should be copied to the destination 2030910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# (all the disk, only the sectors allocated in the topmost image, or 2031910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# only new I/O). 2032910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2033910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @granularity: #optional granularity of the dirty bitmap, default is 64K 2034910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# if the image format doesn't have clusters, 4K if the clusters 2035910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# are smaller than that, else the cluster size. Must be a 2036910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# power of 2 between 512 and 64M (since 1.4). 2037910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2038910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @buf-size: #optional maximum amount of data in flight from source to 2039910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# target (since 1.4). 2040910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2041910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @on-source-error: #optional the action to take on an error on the source, 2042910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# default 'report'. 'stop' and 'enospc' can only be used 2043910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# if the block device supports io-status (see BlockInfo). 2044910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2045910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @on-target-error: #optional the action to take on an error on the target, 2046910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# default 'report' (no limitations, since this applies to 2047910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# a different block device than @device). 2048910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2049910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing on success 2050910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device is not a valid block device, DeviceNotFound 2051910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2052910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.3 2053910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2054910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'drive-mirror', 2055910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'device': 'str', 'target': 'str', '*format': 'str', 2056910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'sync': 'MirrorSyncMode', '*mode': 'NewImageMode', 2057910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*speed': 'int', '*granularity': 'uint32', 2058910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*buf-size': 'int', '*on-source-error': 'BlockdevOnError', 2059910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*on-target-error': 'BlockdevOnError' } } 2060910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2061910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2062910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @migrate_cancel 2063910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2064910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Cancel the current executing migration process. 2065910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2066910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing on success 2067910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2068910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: This command succeeds even if there is no migration process running. 2069910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2070910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 2071910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2072910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'migrate_cancel' } 2073910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2074910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2075910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @migrate_set_downtime 2076910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2077910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Set maximum tolerated downtime for migration. 2078910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2079910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @value: maximum downtime in seconds 2080910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2081910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing on success 2082910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2083910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 2084910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2085910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'migrate_set_downtime', 'data': {'value': 'number'} } 2086910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2087910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2088910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @migrate_set_speed 2089910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2090910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Set maximum speed for migration. 2091910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2092910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @value: maximum speed in bytes. 2093910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2094910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing on success 2095910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2096910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: A value lesser than zero will be automatically round up to zero. 2097910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2098910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 2099910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2100910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'migrate_set_speed', 'data': {'value': 'int'} } 2101910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2102910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2103910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @migrate-set-cache-size 2104910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2105910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Set XBZRLE cache size 2106910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2107910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @value: cache size in bytes 2108910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2109910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# The size will be rounded down to the nearest power of 2. 2110910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# The cache size can be modified before and during ongoing migration 2111910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2112910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing on success 2113910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2114910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 2115910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2116910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'migrate-set-cache-size', 'data': {'value': 'int'} } 2117910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2118910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2119910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-migrate-cache-size 2120910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2121910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# query XBZRLE cache size 2122910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2123910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: XBZRLE cache size in bytes 2124910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2125910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 2126910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2127910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-migrate-cache-size', 'returns': 'int' } 2128910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2129910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2130910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ObjectPropertyInfo: 2131910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2132910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: the name of the property 2133910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2134910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @type: the type of the property. This will typically come in one of four 2135910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# forms: 2136910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2137910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1) A primitive type such as 'u8', 'u16', 'bool', 'str', or 'double'. 2138910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# These types are mapped to the appropriate JSON type. 2139910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2140910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2) A legacy type in the form 'legacy<subtype>' where subtype is the 2141910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# legacy qdev typename. These types are always treated as strings. 2142910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2143910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3) A child type in the form 'child<subtype>' where subtype is a qdev 2144910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# device type name. Child properties create the composition tree. 2145910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2146910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4) A link type in the form 'link<subtype>' where subtype is a qdev 2147910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# device type name. Link properties form the device model graph. 2148910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2149910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 2150910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2151910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ObjectPropertyInfo', 2152910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'name': 'str', 'type': 'str' } } 2153910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2154910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2155910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @qom-list: 2156910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2157910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command will list any properties of a object given a path in the object 2158910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# model. 2159910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2160910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @path: the path within the object model. See @qom-get for a description of 2161910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# this parameter. 2162910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2163910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: a list of @ObjectPropertyInfo that describe the properties of the 2164910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# object. 2165910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2166910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 2167910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2168910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'qom-list', 2169910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'path': 'str' }, 2170910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'returns': [ 'ObjectPropertyInfo' ] } 2171910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2172910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2173910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @qom-get: 2174910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2175910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command will get a property from a object model path and return the 2176910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# value. 2177910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2178910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @path: The path within the object model. There are two forms of supported 2179910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# paths--absolute and partial paths. 2180910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2181910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Absolute paths are derived from the root object and can follow child<> 2182910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# or link<> properties. Since they can follow link<> properties, they 2183910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# can be arbitrarily long. Absolute paths look like absolute filenames 2184910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# and are prefixed with a leading slash. 2185910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2186910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Partial paths look like relative filenames. They do not begin 2187910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# with a prefix. The matching rules for partial paths are subtle but 2188910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# designed to make specifying objects easy. At each level of the 2189910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# composition tree, the partial path is matched as an absolute path. 2190910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# The first match is not returned. At least two matches are searched 2191910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# for. A successful result is only returned if only one match is 2192910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# found. If more than one match is found, a flag is return to 2193910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# indicate that the match was ambiguous. 2194910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2195910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @property: The property name to read 2196910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2197910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: The property value. The type depends on the property type. legacy<> 2198910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# properties are returned as #str. child<> and link<> properties are 2199910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# returns as #str pathnames. All integer property types (u8, u16, etc) 2200910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# are returned as #int. 2201910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2202910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 2203910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2204910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'qom-get', 2205910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'path': 'str', 'property': 'str' }, 2206910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'returns': 'visitor', 2207910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'gen': 'no' } 2208910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2209910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2210910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @qom-set: 2211910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2212910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command will set a property from a object model path. 2213910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2214910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @path: see @qom-get for a description of this parameter 2215910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2216910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @property: the property name to set 2217910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2218910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @value: a value who's type is appropriate for the property type. See @qom-get 2219910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# for a description of type mapping. 2220910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2221910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 2222910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2223910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'qom-set', 2224910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'path': 'str', 'property': 'str', 'value': 'visitor' }, 2225910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'gen': 'no' } 2226910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2227910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2228910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @set_password: 2229910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2230910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Sets the password of a remote display session. 2231910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2232910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @protocol: `vnc' to modify the VNC server password 2233910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# `spice' to modify the Spice server password 2234910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2235910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @password: the new password 2236910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2237910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @connected: #optional how to handle existing clients when changing the 2238910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# password. If nothing is specified, defaults to `keep' 2239910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# `fail' to fail the command if clients are connected 2240910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# `disconnect' to disconnect existing clients 2241910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# `keep' to maintain existing clients 2242910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2243910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 2244910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If Spice is not enabled, DeviceNotFound 2245910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2246910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 2247910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2248910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'set_password', 2249910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'protocol': 'str', 'password': 'str', '*connected': 'str'} } 2250910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2251910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2252910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @expire_password: 2253910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2254910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Expire the password of a remote display server. 2255910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2256910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @protocol: the name of the remote display protocol `vnc' or `spice' 2257910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2258910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @time: when to expire the password. 2259910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# `now' to expire the password immediately 2260910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# `never' to cancel password expiration 2261910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# `+INT' where INT is the number of seconds from now (integer) 2262910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# `INT' where INT is the absolute time in seconds 2263910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2264910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 2265910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @protocol is `spice' and Spice is not active, DeviceNotFound 2266910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2267910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 2268910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2269910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: Time is relative to the server and currently there is no way to 2270910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# coordinate server time with client time. It is not recommended to 2271910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# use the absolute time version of the @time parameter unless you're 2272910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# sure you are on the same machine as the QEMU instance. 2273910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2274910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'expire_password', 'data': {'protocol': 'str', 'time': 'str'} } 2275910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2276910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2277910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @eject: 2278910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2279910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Ejects a device from a removable drive. 2280910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2281910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: The name of the device 2282910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2283910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @force: @optional If true, eject regardless of whether the drive is locked. 2284910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If not specified, the default value is false. 2285910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2286910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 2287910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device is not a valid block device, DeviceNotFound 2288910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2289910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: Ejecting a device will no media results in success 2290910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2291910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 2292910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2293910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'eject', 'data': {'device': 'str', '*force': 'bool'} } 2294910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2295910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2296910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @change-vnc-password: 2297910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2298910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Change the VNC server password. 2299910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2300910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @target: the new password to use with VNC authentication 2301910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2302910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.1 2303910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2304910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: An empty password in this command will set the password to the empty 2305910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# string. Existing clients are unaffected by executing this command. 2306910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2307910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'change-vnc-password', 'data': {'password': 'str'} } 2308910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2309910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2310910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @change: 2311910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2312910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command is multiple commands multiplexed together. 2313910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2314910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: This is normally the name of a block device but it may also be 'vnc'. 2315910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# when it's 'vnc', then sub command depends on @target 2316910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2317910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @target: If @device is a block device, then this is the new filename. 2318910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device is 'vnc', then if the value 'password' selects the vnc 2319910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# change password command. Otherwise, this specifies a new server URI 2320910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# address to listen to for VNC connections. 2321910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2322910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @arg: If @device is a block device, then this is an optional format to open 2323910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# the device with. 2324910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device is 'vnc' and @target is 'password', this is the new VNC 2325910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# password to set. If this argument is an empty string, then no future 2326910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# logins will be allowed. 2327910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2328910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success. 2329910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device is not a valid block device, DeviceNotFound 2330910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If the new block device is encrypted, DeviceEncrypted. Note that 2331910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# if this error is returned, the device has been opened successfully 2332910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# and an additional call to @block_passwd is required to set the 2333910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# device's password. The behavior of reads and writes to the block 2334910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# device between when these calls are executed is undefined. 2335910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2336910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: It is strongly recommended that this interface is not used especially 2337910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# for changing block devices. 2338910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2339910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 2340910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2341910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'change', 2342910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'device': 'str', 'target': 'str', '*arg': 'str'} } 2343910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2344910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2345910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @block_set_io_throttle: 2346910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2347910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Change I/O throttle limits for a block drive. 2348910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2349910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: The name of the device 2350910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2351910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bps: total throughput limit in bytes per second 2352910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2353910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bps_rd: read throughput limit in bytes per second 2354910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2355910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bps_wr: write throughput limit in bytes per second 2356910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2357910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @iops: total I/O operations per second 2358910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2359910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ops_rd: read I/O operations per second 2360910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2361910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @iops_wr: write I/O operations per second 2362910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2363910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bps_max: #optional total max in bytes (Since 1.7) 2364910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2365910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bps_rd_max: #optional read max in bytes (Since 1.7) 2366910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2367910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bps_wr_max: #optional write max in bytes (Since 1.7) 2368910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2369910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @iops_max: #optional total I/O operations max (Since 1.7) 2370910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2371910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @iops_rd_max: #optional read I/O operations max (Since 1.7) 2372910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2373910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @iops_wr_max: #optional write I/O operations max (Since 1.7) 2374910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2375910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @iops_size: #optional an I/O size in bytes (Since 1.7) 2376910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2377910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 2378910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device is not a valid block device, DeviceNotFound 2379910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2380910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.1 2381910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2382910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'block_set_io_throttle', 2383910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'device': 'str', 'bps': 'int', 'bps_rd': 'int', 'bps_wr': 'int', 2384910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'iops': 'int', 'iops_rd': 'int', 'iops_wr': 'int', 2385910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*bps_max': 'int', '*bps_rd_max': 'int', 2386910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*bps_wr_max': 'int', '*iops_max': 'int', 2387910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*iops_rd_max': 'int', '*iops_wr_max': 'int', 2388910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*iops_size': 'int' } } 2389910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2390910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2391910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @block-stream: 2392910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2393910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Copy data from a backing file into a block device. 2394910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2395910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# The block streaming operation is performed in the background until the entire 2396910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# backing file has been copied. This command returns immediately once streaming 2397910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# has started. The status of ongoing block streaming operations can be checked 2398910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# with query-block-jobs. The operation can be stopped before it has completed 2399910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# using the block-job-cancel command. 2400910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2401910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If a base file is specified then sectors are not copied from that base file and 2402910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# its backing chain. When streaming completes the image file will have the base 2403910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# file as its backing file. This can be used to stream a subset of the backing 2404910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# file chain instead of flattening the entire image. 2405910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2406910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# On successful completion the image file is updated to drop the backing file 2407910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# and the BLOCK_JOB_COMPLETED event is emitted. 2408910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2409910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the device name 2410910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2411910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @base: #optional the common backing file name 2412910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2413910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @speed: #optional the maximum speed, in bytes per second 2414910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2415910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @on-error: #optional the action to take on an error (default report). 2416910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'stop' and 'enospc' can only be used if the block device 2417910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# supports io-status (see BlockInfo). Since 1.3. 2418910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2419910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 2420910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @device does not exist, DeviceNotFound 2421910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2422910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.1 2423910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2424910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'block-stream', 2425910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'device': 'str', '*base': 'str', '*speed': 'int', 2426910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*on-error': 'BlockdevOnError' } } 2427910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2428910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2429910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @block-job-set-speed: 2430910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2431910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Set maximum speed for a background block operation. 2432910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2433910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command can only be issued when there is an active block job. 2434910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2435910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Throttling can be disabled by setting the speed to 0. 2436910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2437910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the device name 2438910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2439910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @speed: the maximum speed, in bytes per second, or 0 for unlimited. 2440910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Defaults to 0. 2441910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2442910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 2443910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If no background operation is active on this device, DeviceNotActive 2444910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2445910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.1 2446910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2447910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'block-job-set-speed', 2448910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'device': 'str', 'speed': 'int' } } 2449910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2450910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2451910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @block-job-cancel: 2452910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2453910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Stop an active background block operation. 2454910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2455910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command returns immediately after marking the active background block 2456910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# operation for cancellation. It is an error to call this command if no 2457910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# operation is in progress. 2458910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2459910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# The operation will cancel as soon as possible and then emit the 2460910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# BLOCK_JOB_CANCELLED event. Before that happens the job is still visible when 2461910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# enumerated using query-block-jobs. 2462910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2463910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# For streaming, the image file retains its backing file unless the streaming 2464910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# operation happens to complete just as it is being cancelled. A new streaming 2465910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# operation can be started at a later time to finish copying all data from the 2466910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# backing file. 2467910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2468910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the device name 2469910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2470910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @force: #optional whether to allow cancellation of a paused job (default 2471910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# false). Since 1.3. 2472910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2473910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 2474910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If no background operation is active on this device, DeviceNotActive 2475910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2476910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.1 2477910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2478910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'block-job-cancel', 'data': { 'device': 'str', '*force': 'bool' } } 2479910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2480910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2481910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @block-job-pause: 2482910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2483910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Pause an active background block operation. 2484910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2485910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command returns immediately after marking the active background block 2486910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# operation for pausing. It is an error to call this command if no 2487910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# operation is in progress. Pausing an already paused job has no cumulative 2488910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# effect; a single block-job-resume command will resume the job. 2489910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2490910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# The operation will pause as soon as possible. No event is emitted when 2491910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# the operation is actually paused. Cancelling a paused job automatically 2492910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# resumes it. 2493910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2494910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the device name 2495910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2496910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 2497910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If no background operation is active on this device, DeviceNotActive 2498910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2499910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3 2500910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2501910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'block-job-pause', 'data': { 'device': 'str' } } 2502910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2503910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2504910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @block-job-resume: 2505910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2506910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Resume an active background block operation. 2507910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2508910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command returns immediately after resuming a paused background block 2509910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# operation. It is an error to call this command if no operation is in 2510910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# progress. Resuming an already running job is not an error. 2511910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2512910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command also clears the error status of the job. 2513910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2514910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the device name 2515910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2516910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 2517910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If no background operation is active on this device, DeviceNotActive 2518910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2519910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3 2520910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2521910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'block-job-resume', 'data': { 'device': 'str' } } 2522910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2523910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2524910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @block-job-complete: 2525910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2526910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Manually trigger completion of an active background block operation. This 2527910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# is supported for drive mirroring, where it also switches the device to 2528910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# write to the target path only. The ability to complete is signaled with 2529910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# a BLOCK_JOB_READY event. 2530910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2531910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command completes an active background block operation synchronously. 2532910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# The ordering of this command's return with the BLOCK_JOB_COMPLETED event 2533910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# is not defined. Note that if an I/O error occurs during the processing of 2534910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# this command: 1) the command itself will fail; 2) the error will be processed 2535910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# according to the rerror/werror arguments that were specified when starting 2536910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# the operation. 2537910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2538910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# A cancelled or paused job cannot be completed. 2539910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2540910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: the device name 2541910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2542910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 2543910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If no background operation is active on this device, DeviceNotActive 2544910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2545910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3 2546910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2547910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'block-job-complete', 'data': { 'device': 'str' } } 2548910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2549910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2550910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ObjectTypeInfo: 2551910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2552910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This structure describes a search result from @qom-list-types 2553910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2554910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: the type name found in the search 2555910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2556910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.1 2557910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2558910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: This command is experimental and may change syntax in future releases. 2559910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2560910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ObjectTypeInfo', 2561910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'name': 'str' } } 2562910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2563910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2564910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @qom-list-types: 2565910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2566910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command will return a list of types given search parameters 2567910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2568910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @implements: if specified, only return types that implement this type name 2569910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2570910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @abstract: if true, include abstract types in the results 2571910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2572910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: a list of @ObjectTypeInfo or an empty list if no results are found 2573910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2574910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.1 2575910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2576910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'qom-list-types', 2577910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { '*implements': 'str', '*abstract': 'bool' }, 2578910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'returns': [ 'ObjectTypeInfo' ] } 2579910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2580910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2581910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @DevicePropertyInfo: 2582910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2583910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about device properties. 2584910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2585910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: the name of the property 2586910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @type: the typename of the property 2587910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2588910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 2589910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2590910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'DevicePropertyInfo', 2591910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'name': 'str', 'type': 'str' } } 2592910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2593910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2594910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device-list-properties: 2595910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2596910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# List properties associated with a device. 2597910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2598910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @typename: the type name of a device 2599910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2600910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: a list of DevicePropertyInfo describing a devices properties 2601910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2602910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 2603910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2604910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'device-list-properties', 2605910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'typename': 'str'}, 2606910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'returns': [ 'DevicePropertyInfo' ] } 2607910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2608910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2609910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @migrate 2610910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2611910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Migrates the current running guest to another Virtual Machine. 2612910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2613910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @uri: the Uniform Resource Identifier of the destination VM 2614910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2615910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @blk: #optional do block migration (full disk copy) 2616910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2617910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @inc: #optional incremental disk copy migration 2618910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2619910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @detach: this argument exists only for compatibility reasons and 2620910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# is ignored by QEMU 2621910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2622910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing on success 2623910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2624910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 2625910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2626910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'migrate', 2627910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'uri': 'str', '*blk': 'bool', '*inc': 'bool', '*detach': 'bool' } } 2628910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2629910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @xen-save-devices-state: 2630910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2631910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Save the state of all devices to file. The RAM and the block devices 2632910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# of the VM are not saved by this command. 2633910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2634910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @filename: the file to save the state of the devices to as binary 2635910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# data. See xen-save-devices-state.txt for a description of the binary 2636910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# format. 2637910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2638910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 2639910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2640910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.1 2641910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2642910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'xen-save-devices-state', 'data': {'filename': 'str'} } 2643910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2644910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2645910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @xen-set-global-dirty-log 2646910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2647910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Enable or disable the global dirty log mode. 2648910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2649910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @enable: true to enable, false to disable. 2650910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2651910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing 2652910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2653910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3 2654910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2655910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'xen-set-global-dirty-log', 'data': { 'enable': 'bool' } } 2656910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2657910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2658910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device_del: 2659910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2660910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Remove a device from a guest 2661910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2662910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @id: the name of the device 2663910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2664910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 2665910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @id is not a valid device, DeviceNotFound 2666910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2667910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: When this command completes, the device may not be removed from the 2668910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# guest. Hot removal is an operation that requires guest cooperation. 2669910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This command merely requests that the guest begin the hot removal 2670910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# process. Completion of the device removal process is signaled with a 2671910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# DEVICE_DELETED event. Guest reset will automatically complete removal 2672910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# for all devices. 2673910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2674910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 2675910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2676910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'device_del', 'data': {'id': 'str'} } 2677910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2678910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2679910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @dump-guest-memory 2680910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2681910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Dump guest's memory to vmcore. It is a synchronous operation that can take 2682910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# very long depending on the amount of guest memory. This command is only 2683910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# supported on i386 and x86_64. 2684910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2685910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @paging: if true, do paging to get guest's memory mapping. This allows 2686910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# using gdb to process the core file. 2687910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2688910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# IMPORTANT: this option can make QEMU allocate several gigabytes 2689910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# of RAM. This can happen for a large guest, or a 2690910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# malicious guest pretending to be large. 2691910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2692910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Also, paging=true has the following limitations: 2693910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2694910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1. The guest may be in a catastrophic state or can have corrupted 2695910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# memory, which cannot be trusted 2696910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2. The guest can be in real-mode even if paging is enabled. For 2697910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# example, the guest uses ACPI to sleep, and ACPI sleep state 2698910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# goes in real-mode 2699910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2700910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @protocol: the filename or file descriptor of the vmcore. The supported 2701910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# protocols are: 2702910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2703910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 1. file: the protocol starts with "file:", and the following 2704910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# string is the file's path. 2705910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2. fd: the protocol starts with "fd:", and the following string 2706910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# is the fd's name. 2707910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2708910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @begin: #optional if specified, the starting physical address. 2709910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2710910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @length: #optional if specified, the memory size, in bytes. If you don't 2711910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# want to dump all guest's memory, please specify the start @begin 2712910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# and @length 2713910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2714910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: nothing on success 2715910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2716910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2 2717910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2718910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'dump-guest-memory', 2719910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'paging': 'bool', 'protocol': 'str', '*begin': 'int', 2720910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*length': 'int' } } 2721910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2722910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2723910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @netdev_add: 2724910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2725910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Add a network backend. 2726910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2727910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @type: the type of network backend. Current valid values are 'user', 'tap', 2728910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 'vde', 'socket', 'dump' and 'bridge' 2729910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2730910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @id: the name of the new network backend 2731910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2732910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @props: #optional a list of properties to be passed to the backend in 2733910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# the format 'name=value', like 'ifname=tap0,script=no' 2734910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2735910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: The semantics of @props is not well defined. Future commands will be 2736910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# introduced that provide stronger typing for backend creation. 2737910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2738910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 2739910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2740910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 2741910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @type is not a valid network backend, DeviceNotFound 2742910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2743910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'netdev_add', 2744910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'type': 'str', 'id': 'str', '*props': '**'}, 2745910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'gen': 'no' } 2746910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2747910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2748910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @netdev_del: 2749910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2750910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Remove a network backend. 2751910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2752910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @id: the name of the network backend to remove 2753910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2754910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 2755910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @id is not a valid network backend, DeviceNotFound 2756910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2757910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 2758910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2759910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'netdev_del', 'data': {'id': 'str'} } 2760910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2761910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2762910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @NetdevNoneOptions 2763910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2764910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Use it alone to have zero network devices. 2765910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2766910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.2 2767910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2768910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'NetdevNoneOptions', 2769910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { } } 2770910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2771910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2772910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @NetLegacyNicOptions 2773910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2774910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Create a new Network Interface Card. 2775910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2776910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @netdev: #optional id of -netdev to connect to 2777910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2778910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @macaddr: #optional MAC address 2779910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2780910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @model: #optional device model (e1000, rtl8139, virtio etc.) 2781910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2782910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @addr: #optional PCI device address 2783910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2784910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @vectors: #optional number of MSI-x vectors, 0 to disable MSI-X 2785910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2786910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.2 2787910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2788910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'NetLegacyNicOptions', 2789910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 2790910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*netdev': 'str', 2791910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*macaddr': 'str', 2792910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*model': 'str', 2793910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*addr': 'str', 2794910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*vectors': 'uint32' } } 2795910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2796910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2797910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @String 2798910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2799910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# A fat type wrapping 'str', to be embedded in lists. 2800910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2801910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.2 2802910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2803910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'String', 2804910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 2805910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'str': 'str' } } 2806910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2807910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2808910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @NetdevUserOptions 2809910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2810910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Use the user mode network stack which requires no administrator privilege to 2811910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# run. 2812910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2813910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @hostname: #optional client hostname reported by the builtin DHCP server 2814910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2815910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @restrict: #optional isolate the guest from the host 2816910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2817910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ip: #optional legacy parameter, use net= instead 2818910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2819910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @net: #optional IP address and optional netmask 2820910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2821910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @host: #optional guest-visible address of the host 2822910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2823910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @tftp: #optional root directory of the built-in TFTP server 2824910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2825910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @bootfile: #optional BOOTP filename, for use with tftp= 2826910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2827910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @dhcpstart: #optional the first of the 16 IPs the built-in DHCP server can 2828910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# assign 2829910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2830910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @dns: #optional guest-visible address of the virtual nameserver 2831910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2832910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @dnssearch: #optional list of DNS suffixes to search, passed as DHCP option 2833910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# to the guest 2834910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2835910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @smb: #optional root directory of the built-in SMB server 2836910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2837910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @smbserver: #optional IP address of the built-in SMB server 2838910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2839910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @hostfwd: #optional redirect incoming TCP or UDP host connections to guest 2840910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# endpoints 2841910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2842910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @guestfwd: #optional forward guest TCP connections 2843910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2844910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.2 2845910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2846910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'NetdevUserOptions', 2847910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 2848910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*hostname': 'str', 2849910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*restrict': 'bool', 2850910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*ip': 'str', 2851910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*net': 'str', 2852910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*host': 'str', 2853910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*tftp': 'str', 2854910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*bootfile': 'str', 2855910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*dhcpstart': 'str', 2856910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*dns': 'str', 2857910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*dnssearch': ['String'], 2858910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*smb': 'str', 2859910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*smbserver': 'str', 2860910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*hostfwd': ['String'], 2861910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*guestfwd': ['String'] } } 2862910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2863910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2864910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @NetdevTapOptions 2865910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2866910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Connect the host TAP network interface name to the VLAN. 2867910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2868910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ifname: #optional interface name 2869910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2870910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fd: #optional file descriptor of an already opened tap 2871910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2872910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fds: #optional multiple file descriptors of already opened multiqueue capable 2873910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# tap 2874910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2875910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @script: #optional script to initialize the interface 2876910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2877910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @downscript: #optional script to shut down the interface 2878910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2879910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @helper: #optional command to execute to configure bridge 2880910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2881910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @sndbuf: #optional send buffer limit. Understands [TGMKkb] suffixes. 2882910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2883910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @vnet_hdr: #optional enable the IFF_VNET_HDR flag on the tap interface 2884910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2885910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @vhost: #optional enable vhost-net network accelerator 2886910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2887910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @vhostfd: #optional file descriptor of an already opened vhost net device 2888910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2889910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @vhostfds: #optional file descriptors of multiple already opened vhost net 2890910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# devices 2891910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2892910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @vhostforce: #optional vhost on for non-MSIX virtio guests 2893910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2894910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @queues: #optional number of queues to be created for multiqueue capable tap 2895910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2896910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.2 2897910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2898910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'NetdevTapOptions', 2899910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 2900910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*ifname': 'str', 2901910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*fd': 'str', 2902910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*fds': 'str', 2903910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*script': 'str', 2904910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*downscript': 'str', 2905910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*helper': 'str', 2906910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*sndbuf': 'size', 2907910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*vnet_hdr': 'bool', 2908910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*vhost': 'bool', 2909910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*vhostfd': 'str', 2910910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*vhostfds': 'str', 2911910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*vhostforce': 'bool', 2912910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*queues': 'uint32'} } 2913910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2914910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2915910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @NetdevSocketOptions 2916910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2917910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Connect the VLAN to a remote VLAN in another QEMU virtual machine using a TCP 2918910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# socket connection. 2919910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2920910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fd: #optional file descriptor of an already opened socket 2921910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2922910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @listen: #optional port number, and optional hostname, to listen on 2923910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2924910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @connect: #optional port number, and optional hostname, to connect to 2925910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2926910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @mcast: #optional UDP multicast address and port number 2927910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2928910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @localaddr: #optional source address and port for multicast and udp packets 2929910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2930910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @udp: #optional UDP unicast address and port number 2931910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2932910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.2 2933910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2934910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'NetdevSocketOptions', 2935910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 2936910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*fd': 'str', 2937910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*listen': 'str', 2938910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*connect': 'str', 2939910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*mcast': 'str', 2940910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*localaddr': 'str', 2941910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*udp': 'str' } } 2942910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2943910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2944910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @NetdevVdeOptions 2945910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2946910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Connect the VLAN to a vde switch running on the host. 2947910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2948910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @sock: #optional socket path 2949910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2950910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @port: #optional port number 2951910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2952910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @group: #optional group owner of socket 2953910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2954910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @mode: #optional permissions for socket 2955910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2956910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.2 2957910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2958910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'NetdevVdeOptions', 2959910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 2960910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*sock': 'str', 2961910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*port': 'uint16', 2962910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*group': 'str', 2963910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*mode': 'uint16' } } 2964910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2965910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2966910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @NetdevDumpOptions 2967910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2968910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Dump VLAN network traffic to a file. 2969910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2970910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @len: #optional per-packet size limit (64k default). Understands [TGMKkb] 2971910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# suffixes. 2972910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2973910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @file: #optional dump file path (default is qemu-vlan0.pcap) 2974910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2975910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.2 2976910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2977910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'NetdevDumpOptions', 2978910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 2979910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*len': 'size', 2980910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*file': 'str' } } 2981910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2982910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2983910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @NetdevBridgeOptions 2984910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2985910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Connect a host TAP network interface to a host bridge device. 2986910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2987910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @br: #optional bridge name 2988910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2989910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @helper: #optional command to execute to configure bridge 2990910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 2991910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.2 2992910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2993910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'NetdevBridgeOptions', 2994910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 2995910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*br': 'str', 2996910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*helper': 'str' } } 2997910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 2998910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 2999910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @NetdevHubPortOptions 3000910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3001910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Connect two or more net clients through a software hub. 3002910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3003910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @hubid: hub identifier number 3004910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3005910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.2 3006910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3007910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'NetdevHubPortOptions', 3008910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 3009910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'hubid': 'int32' } } 3010910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3011910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3012910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @NetdevNetmapOptions 3013910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3014910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Connect a client to a netmap-enabled NIC or to a VALE switch port 3015910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3016910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ifname: Either the name of an existing network interface supported by 3017910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# netmap, or the name of a VALE port (created on the fly). 3018910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# A VALE port name is in the form 'valeXXX:YYY', where XXX and 3019910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# YYY are non-negative integers. XXX identifies a switch and 3020910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# YYY identifies a port of the switch. VALE ports having the 3021910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# same XXX are therefore connected to the same switch. 3022910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3023910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @devname: #optional path of the netmap device (default: '/dev/netmap'). 3024910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3025910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.8 3026910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3027910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'NetdevNetmapOptions', 3028910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 3029910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'ifname': 'str', 3030910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*devname': 'str' } } 3031910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3032910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3033910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @NetClientOptions 3034910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3035910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# A discriminated record of network device traits. 3036910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3037910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.2 3038910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3039910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'union': 'NetClientOptions', 3040910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 3041910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'none': 'NetdevNoneOptions', 3042910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'nic': 'NetLegacyNicOptions', 3043910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'user': 'NetdevUserOptions', 3044910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'tap': 'NetdevTapOptions', 3045910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'socket': 'NetdevSocketOptions', 3046910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'vde': 'NetdevVdeOptions', 3047910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'dump': 'NetdevDumpOptions', 3048910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'bridge': 'NetdevBridgeOptions', 3049910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'hubport': 'NetdevHubPortOptions', 3050910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'netmap': 'NetdevNetmapOptions' } } 3051910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3052910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3053910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @NetLegacy 3054910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3055910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Captures the configuration of a network device; legacy. 3056910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3057910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @vlan: #optional vlan number 3058910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3059910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @id: #optional identifier for monitor commands 3060910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3061910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: #optional identifier for monitor commands, ignored if @id is present 3062910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3063910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @opts: device type specific properties (legacy) 3064910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3065910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.2 3066910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3067910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'NetLegacy', 3068910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 3069910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*vlan': 'int32', 3070910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*id': 'str', 3071910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*name': 'str', 3072910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'opts': 'NetClientOptions' } } 3073910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3074910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3075910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @Netdev 3076910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3077910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Captures the configuration of a network device. 3078910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3079910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @id: identifier for monitor commands. 3080910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3081910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @opts: device type specific properties 3082910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3083910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.2 3084910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3085910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'Netdev', 3086910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 3087910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'id': 'str', 3088910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'opts': 'NetClientOptions' } } 3089910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3090910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3091910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @InetSocketAddress 3092910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3093910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Captures a socket address or address range in the Internet namespace. 3094910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3095910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @host: host part of the address 3096910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3097910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @port: port part of the address, or lowest port if @to is present 3098910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3099910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @to: highest port to try 3100910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3101910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ipv4: whether to accept IPv4 addresses, default try both IPv4 and IPv6 3102910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# #optional 3103910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3104910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ipv6: whether to accept IPv6 addresses, default try both IPv4 and IPv6 3105910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# #optional 3106910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3107910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.3 3108910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3109910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'InetSocketAddress', 3110910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 3111910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'host': 'str', 3112910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'port': 'str', 3113910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*to': 'uint16', 3114910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*ipv4': 'bool', 3115910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*ipv6': 'bool' } } 3116910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3117910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3118910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @UnixSocketAddress 3119910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3120910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Captures a socket address in the local ("Unix socket") namespace. 3121910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3122910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @path: filesystem path to use 3123910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3124910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.3 3125910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3126910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'UnixSocketAddress', 3127910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 3128910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'path': 'str' } } 3129910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3130910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3131910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @SocketAddress 3132910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3133910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Captures the address of a socket, which could also be a named file descriptor 3134910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3135910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.3 3136910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3137910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'union': 'SocketAddress', 3138910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 3139910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'inet': 'InetSocketAddress', 3140910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'unix': 'UnixSocketAddress', 3141910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'fd': 'String' } } 3142910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3143910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3144910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @getfd: 3145910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3146910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Receive a file descriptor via SCM rights and assign it a name 3147910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3148910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fdname: file descriptor name 3149910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3150910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 3151910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3152910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 3153910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3154910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: If @fdname already exists, the file descriptor assigned to 3155910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# it will be closed and replaced by the received file 3156910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# descriptor. 3157910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# The 'closefd' command can be used to explicitly close the 3158910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# file descriptor when it is no longer needed. 3159910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3160910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'getfd', 'data': {'fdname': 'str'} } 3161910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3162910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3163910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @closefd: 3164910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3165910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Close a file descriptor previously passed via SCM rights 3166910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3167910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fdname: file descriptor name 3168910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3169910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 3170910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3171910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 3172910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3173910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'closefd', 'data': {'fdname': 'str'} } 3174910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3175910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3176910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @MachineInfo: 3177910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3178910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information describing a machine. 3179910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3180910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: the name of the machine 3181910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3182910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @alias: #optional an alias for the machine name 3183910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3184910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @default: #optional whether the machine is default 3185910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3186910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cpu-max: maximum number of CPUs supported by the machine type 3187910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# (since 1.5.0) 3188910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3189910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2.0 3190910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3191910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'MachineInfo', 3192910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'name': 'str', '*alias': 'str', 3193910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*is-default': 'bool', 'cpu-max': 'int' } } 3194910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3195910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3196910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-machines: 3197910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3198910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return a list of supported machines 3199910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3200910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: a list of MachineInfo 3201910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3202910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2.0 3203910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3204910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-machines', 'returns': ['MachineInfo'] } 3205910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3206910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3207910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @CpuDefinitionInfo: 3208910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3209910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Virtual CPU definition. 3210910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3211910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: the name of the CPU definition 3212910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3213910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2.0 3214910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3215910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'CpuDefinitionInfo', 3216910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'name': 'str' } } 3217910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3218910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3219910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-cpu-definitions: 3220910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3221910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return a list of supported virtual CPU definitions 3222910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3223910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: a list of CpuDefInfo 3224910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3225910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2.0 3226910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3227910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-cpu-definitions', 'returns': ['CpuDefinitionInfo'] } 3228910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3229910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @AddfdInfo: 3230910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3231910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a file descriptor that was added to an fd set. 3232910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3233910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fdset-id: The ID of the fd set that @fd was added to. 3234910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3235910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fd: The file descriptor that was received via SCM rights and 3236910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# added to the fd set. 3237910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3238910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2.0 3239910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3240910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'AddfdInfo', 'data': {'fdset-id': 'int', 'fd': 'int'} } 3241910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3242910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3243910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @add-fd: 3244910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3245910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Add a file descriptor, that was passed via SCM rights, to an fd set. 3246910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3247910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fdset-id: #optional The ID of the fd set to add the file descriptor to. 3248910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3249910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @opaque: #optional A free-form string that can be used to describe the fd. 3250910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3251910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: @AddfdInfo on success 3252910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If file descriptor was not received, FdNotSupplied 3253910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @fdset-id is a negative value, InvalidParameterValue 3254910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3255910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: The list of fd sets is shared by all monitor connections. 3256910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3257910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @fdset-id is not specified, a new fd set will be created. 3258910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3259910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2.0 3260910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3261910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'add-fd', 'data': {'*fdset-id': 'int', '*opaque': 'str'}, 3262910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'returns': 'AddfdInfo' } 3263910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3264910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3265910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @remove-fd: 3266910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3267910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Remove a file descriptor from an fd set. 3268910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3269910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fdset-id: The ID of the fd set that the file descriptor belongs to. 3270910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3271910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fd: #optional The file descriptor that is to be removed. 3272910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3273910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 3274910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @fdset-id or @fd is not found, FdNotFound 3275910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3276910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2.0 3277910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3278910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Notes: The list of fd sets is shared by all monitor connections. 3279910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3280910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If @fd is not specified, all file descriptors in @fdset-id 3281910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# will be removed. 3282910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3283910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'remove-fd', 'data': {'fdset-id': 'int', '*fd': 'int'} } 3284910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3285910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3286910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @FdsetFdInfo: 3287910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3288910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a file descriptor that belongs to an fd set. 3289910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3290910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fd: The file descriptor value. 3291910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3292910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @opaque: #optional A free-form string that can be used to describe the fd. 3293910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3294910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2.0 3295910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3296910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'FdsetFdInfo', 3297910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'fd': 'int', '*opaque': 'str'} } 3298910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3299910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3300910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @FdsetInfo: 3301910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3302910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about an fd set. 3303910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3304910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fdset-id: The ID of the fd set. 3305910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3306910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fds: A list of file descriptors that belong to this fd set. 3307910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3308910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2.0 3309910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3310910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'FdsetInfo', 3311910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'fdset-id': 'int', 'fds': ['FdsetFdInfo']} } 3312910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3313910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3314910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-fdsets: 3315910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3316910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return information describing all fd sets. 3317910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3318910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: A list of @FdsetInfo 3319910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3320910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2.0 3321910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3322910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Note: The list of fd sets is shared by all monitor connections. 3323910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3324910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3325910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-fdsets', 'returns': ['FdsetInfo'] } 3326910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3327910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3328910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @TargetInfo: 3329910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3330910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information describing the QEMU target. 3331910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3332910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @arch: the target architecture (eg "x86_64", "i386", etc) 3333910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3334910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2.0 3335910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3336910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'TargetInfo', 3337910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'arch': 'str' } } 3338910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3339910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3340910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-target: 3341910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3342910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return information about the target for this QEMU 3343910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3344910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: TargetInfo 3345910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3346910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.2.0 3347910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3348910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-target', 'returns': 'TargetInfo' } 3349910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3350910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3351910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @QKeyCode: 3352910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3353910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# An enumeration of key name. 3354910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3355910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This is used by the send-key command. 3356910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3357910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3.0 3358910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3359910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'QKeyCode', 3360910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': [ 'shift', 'shift_r', 'alt', 'alt_r', 'altgr', 'altgr_r', 'ctrl', 3361910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'ctrl_r', 'menu', 'esc', '1', '2', '3', '4', '5', '6', '7', '8', 3362910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '9', '0', 'minus', 'equal', 'backspace', 'tab', 'q', 'w', 'e', 3363910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'r', 't', 'y', 'u', 'i', 'o', 'p', 'bracket_left', 'bracket_right', 3364910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'ret', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'semicolon', 3365910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'apostrophe', 'grave_accent', 'backslash', 'z', 'x', 'c', 'v', 'b', 3366910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'n', 'm', 'comma', 'dot', 'slash', 'asterisk', 'spc', 'caps_lock', 3367910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'f10', 3368910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'num_lock', 'scroll_lock', 'kp_divide', 'kp_multiply', 3369910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'kp_subtract', 'kp_add', 'kp_enter', 'kp_decimal', 'sysrq', 'kp_0', 3370910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'kp_1', 'kp_2', 'kp_3', 'kp_4', 'kp_5', 'kp_6', 'kp_7', 'kp_8', 3371910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'kp_9', 'less', 'f11', 'f12', 'print', 'home', 'pgup', 'pgdn', 'end', 3372910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'left', 'up', 'down', 'right', 'insert', 'delete', 'stop', 'again', 3373910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'props', 'undo', 'front', 'copy', 'open', 'paste', 'find', 'cut', 3374910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'lf', 'help', 'meta_l', 'meta_r', 'compose' ] } 3375910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3376910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3377910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @KeyValue 3378910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3379910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Represents a keyboard key. 3380910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3381910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3.0 3382910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3383910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'union': 'KeyValue', 3384910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 3385910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'number': 'int', 3386910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'qcode': 'QKeyCode' } } 3387910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3388910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3389910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @send-key: 3390910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3391910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Send keys to guest. 3392910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3393910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @keys: An array of @KeyValue elements. All @KeyValues in this array are 3394910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# simultaneously sent to the guest. A @KeyValue.number value is sent 3395910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# directly to the guest, while @KeyValue.qcode must be a valid 3396910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @QKeyCode value 3397910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3398910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @hold-time: #optional time to delay key up events, milliseconds. Defaults 3399910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# to 100 3400910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3401910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 3402910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# If key is unknown or redundant, InvalidParameter 3403910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3404910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3.0 3405910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3406910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3407910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'send-key', 3408910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'keys': ['KeyValue'], '*hold-time': 'int' } } 3409910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3410910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3411910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @screendump: 3412910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3413910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Write a PPM of the VGA screen to a file. 3414910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3415910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @filename: the path of a new PPM file to store the image 3416910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3417910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 3418910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3419910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 0.14.0 3420910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3421910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'screendump', 'data': {'filename': 'str'} } 3422910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3423910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3424910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @nbd-server-start: 3425910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3426910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Start an NBD server listening on the given host and port. Block 3427910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# devices can then be exported using @nbd-server-add. The NBD 3428910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# server will present them as named exports; for example, another 3429910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# QEMU instance could refer to them as "nbd:HOST:PORT:exportname=NAME". 3430910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3431910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @addr: Address on which to listen. 3432910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3433910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: error if the server is already running. 3434910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3435910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3.0 3436910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3437910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'nbd-server-start', 3438910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'addr': 'SocketAddress' } } 3439910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3440910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3441910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @nbd-server-add: 3442910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3443910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Export a device to QEMU's embedded NBD server. 3444910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3445910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: Block device to be exported 3446910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3447910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @writable: Whether clients should be able to write to the device via the 3448910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# NBD connection (default false). #optional 3449910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3450910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: error if the device is already marked for export. 3451910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3452910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3.0 3453910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3454910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'nbd-server-add', 'data': {'device': 'str', '*writable': 'bool'} } 3455910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3456910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3457910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @nbd-server-stop: 3458910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3459910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Stop QEMU's embedded NBD server, and unregister all devices previously 3460910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# added via @nbd-server-add. 3461910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3462910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.3.0 3463910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3464910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'nbd-server-stop' } 3465910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3466910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3467910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ChardevFile: 3468910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3469910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Configuration info for file chardevs. 3470910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3471910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @in: #optional The name of the input file 3472910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @out: The name of the output file 3473910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3474910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.4 3475910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3476910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ChardevFile', 'data': { '*in' : 'str', 3477910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'out' : 'str' } } 3478910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3479910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3480910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ChardevHostdev: 3481910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3482910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Configuration info for device and pipe chardevs. 3483910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3484910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @device: The name of the special file for the device, 3485910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# i.e. /dev/ttyS0 on Unix or COM1: on Windows 3486910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @type: What kind of device this is. 3487910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3488910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.4 3489910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3490910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ChardevHostdev', 'data': { 'device' : 'str' } } 3491910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3492910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3493910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ChardevSocket: 3494910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3495910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Configuration info for (stream) socket chardevs. 3496910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3497910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @addr: socket address to listen on (server=true) 3498910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# or connect to (server=false) 3499910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @server: #optional create server socket (default: true) 3500910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @wait: #optional wait for incoming connection on server 3501910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# sockets (default: false). 3502910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @nodelay: #optional set TCP_NODELAY socket option (default: false) 3503910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @telnet: #optional enable telnet protocol on server 3504910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# sockets (default: false) 3505910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3506910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.4 3507910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3508910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ChardevSocket', 'data': { 'addr' : 'SocketAddress', 3509910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*server' : 'bool', 3510910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*wait' : 'bool', 3511910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*nodelay' : 'bool', 3512910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*telnet' : 'bool' } } 3513910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3514910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3515910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ChardevUdp: 3516910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3517910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Configuration info for datagram socket chardevs. 3518910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3519910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @remote: remote address 3520910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @local: #optional local address 3521910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3522910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3523910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3524910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ChardevUdp', 'data': { 'remote' : 'SocketAddress', 3525910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*local' : 'SocketAddress' } } 3526910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3527910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3528910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ChardevMux: 3529910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3530910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Configuration info for mux chardevs. 3531910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3532910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @chardev: name of the base chardev. 3533910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3534910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3535910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3536910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ChardevMux', 'data': { 'chardev' : 'str' } } 3537910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3538910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3539910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ChardevStdio: 3540910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3541910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Configuration info for stdio chardevs. 3542910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3543910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @signal: #optional Allow signals (such as SIGINT triggered by ^C) 3544910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# be delivered to qemu. Default: true in -nographic mode, 3545910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# false otherwise. 3546910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3547910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3548910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3549910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ChardevStdio', 'data': { '*signal' : 'bool' } } 3550910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3551910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3552910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ChardevSpiceChannel: 3553910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3554910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Configuration info for spice vm channel chardevs. 3555910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3556910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @type: kind of channel (for example vdagent). 3557910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3558910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3559910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3560910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ChardevSpiceChannel', 'data': { 'type' : 'str' } } 3561910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3562910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3563910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ChardevSpicePort: 3564910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3565910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Configuration info for spice port chardevs. 3566910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3567910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fqdn: name of the channel (see docs/spice-port-fqdn.txt) 3568910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3569910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3570910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3571910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ChardevSpicePort', 'data': { 'fqdn' : 'str' } } 3572910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3573910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3574910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ChardevVC: 3575910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3576910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Configuration info for virtual console chardevs. 3577910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3578910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @width: console width, in pixels 3579910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @height: console height, in pixels 3580910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cols: console width, in chars 3581910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @rows: console height, in chars 3582910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3583910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3584910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3585910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ChardevVC', 'data': { '*width' : 'int', 3586910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*height' : 'int', 3587910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*cols' : 'int', 3588910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*rows' : 'int' } } 3589910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3590910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3591910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ChardevRingbuf: 3592910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3593910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Configuration info for ring buffer chardevs. 3594910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3595910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @size: #optional ring buffer size, must be power of two, default is 65536 3596910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3597910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3598910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3599910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ChardevRingbuf', 'data': { '*size' : 'int' } } 3600910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3601910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3602910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ChardevBackend: 3603910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3604910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Configuration info for the new chardev backend. 3605910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3606910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.4 3607910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3608910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'ChardevDummy', 'data': { } } 3609910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3610910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'union': 'ChardevBackend', 'data': { 'file' : 'ChardevFile', 3611910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'serial' : 'ChardevHostdev', 3612910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'parallel': 'ChardevHostdev', 3613910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'pipe' : 'ChardevHostdev', 3614910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'socket' : 'ChardevSocket', 3615910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'udp' : 'ChardevUdp', 3616910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'pty' : 'ChardevDummy', 3617910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'null' : 'ChardevDummy', 3618910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'mux' : 'ChardevMux', 3619910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'msmouse': 'ChardevDummy', 3620910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'braille': 'ChardevDummy', 3621910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'stdio' : 'ChardevStdio', 3622910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'console': 'ChardevDummy', 3623910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'spicevmc' : 'ChardevSpiceChannel', 3624910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'spiceport' : 'ChardevSpicePort', 3625910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'vc' : 'ChardevVC', 3626910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'ringbuf': 'ChardevRingbuf', 3627910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner # next one is just for compatibility 3628910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'memory' : 'ChardevRingbuf' } } 3629910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3630910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3631910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ChardevReturn: 3632910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3633910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return info about the chardev backend just created. 3634910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3635910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @pty: #optional name of the slave pseudoterminal device, present if 3636910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# and only if a chardev of type 'pty' was created 3637910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3638910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.4 3639910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3640910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type' : 'ChardevReturn', 'data': { '*pty' : 'str' } } 3641910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3642910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3643910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @chardev-add: 3644910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3645910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Add a character device backend 3646910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3647910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @id: the chardev's ID, must be unique 3648910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @backend: backend type and parameters 3649910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3650910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: ChardevReturn. 3651910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3652910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.4 3653910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3654910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'chardev-add', 'data': {'id' : 'str', 3655910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'backend' : 'ChardevBackend' }, 3656910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'returns': 'ChardevReturn' } 3657910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3658910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3659910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @chardev-remove: 3660910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3661910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Remove a character device backend 3662910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3663910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @id: the chardev's ID, must exist and not be in use 3664910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3665910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: Nothing on success 3666910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3667910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.4 3668910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3669910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'chardev-remove', 'data': {'id': 'str'} } 3670910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3671910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3672910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @TpmModel: 3673910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3674910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# An enumeration of TPM models 3675910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3676910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @tpm-tis: TPM TIS model 3677910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3678910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3679910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3680910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'TpmModel', 'data': [ 'tpm-tis' ] } 3681910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3682910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3683910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-tpm-models: 3684910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3685910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return a list of supported TPM models 3686910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3687910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: a list of TpmModel 3688910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3689910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3690910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3691910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-tpm-models', 'returns': ['TpmModel'] } 3692910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3693910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3694910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @TpmType: 3695910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3696910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# An enumeration of TPM types 3697910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3698910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @passthrough: TPM passthrough type 3699910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3700910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3701910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3702910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'TpmType', 'data': [ 'passthrough' ] } 3703910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3704910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3705910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-tpm-types: 3706910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3707910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return a list of supported TPM types 3708910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3709910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: a list of TpmType 3710910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3711910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3712910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3713910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-tpm-types', 'returns': ['TpmType'] } 3714910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3715910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3716910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @TPMPassthroughOptions: 3717910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3718910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about the TPM passthrough type 3719910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3720910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @path: #optional string describing the path used for accessing the TPM device 3721910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3722910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cancel-path: #optional string showing the TPM's sysfs cancel file 3723910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# for cancellation of TPM commands while they are executing 3724910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3725910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3726910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3727910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'TPMPassthroughOptions', 'data': { '*path' : 'str', 3728910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*cancel-path' : 'str'} } 3729910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3730910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3731910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @TpmTypeOptions: 3732910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3733910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# A union referencing different TPM backend types' configuration options 3734910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3735910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @passthrough: The configuration options for the TPM passthrough type 3736910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3737910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3738910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3739910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'union': 'TpmTypeOptions', 3740910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'passthrough' : 'TPMPassthroughOptions' } } 3741910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3742910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3743910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @TpmInfo: 3744910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3745910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about the TPM 3746910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3747910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @id: The Id of the TPM 3748910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3749910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @model: The TPM frontend model 3750910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3751910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @options: The TPM (backend) type configuration options 3752910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3753910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3754910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3755910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'TPMInfo', 3756910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': {'id': 'str', 3757910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'model': 'TpmModel', 3758910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'options': 'TpmTypeOptions' } } 3759910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3760910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3761910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-tpm: 3762910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3763910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return information about the TPM device 3764910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3765910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: @TPMInfo on success 3766910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3767910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3768910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3769910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-tpm', 'returns': ['TPMInfo'] } 3770910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3771910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3772910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @AcpiTableOptions 3773910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3774910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Specify an ACPI table on the command line to load. 3775910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3776910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# At most one of @file and @data can be specified. The list of files specified 3777910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# by any one of them is loaded and concatenated in order. If both are omitted, 3778910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @data is implied. 3779910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3780910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Other fields / optargs can be used to override fields of the generic ACPI 3781910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# table header; refer to the ACPI specification 5.0, section 5.2.6 System 3782910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Description Table Header. If a header field is not overridden, then the 3783910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# corresponding value from the concatenated blob is used (in case of @file), or 3784910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# it is filled in with a hard-coded value (in case of @data). 3785910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3786910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# String fields are copied into the matching ACPI member from lowest address 3787910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# upwards, and silently truncated / NUL-padded to length. 3788910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3789910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @sig: #optional table signature / identifier (4 bytes) 3790910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3791910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @rev: #optional table revision number (dependent on signature, 1 byte) 3792910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3793910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @oem_id: #optional OEM identifier (6 bytes) 3794910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3795910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @oem_table_id: #optional OEM table identifier (8 bytes) 3796910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3797910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @oem_rev: #optional OEM-supplied revision number (4 bytes) 3798910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3799910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @asl_compiler_id: #optional identifier of the utility that created the table 3800910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# (4 bytes) 3801910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3802910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @asl_compiler_rev: #optional revision number of the utility that created the 3803910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# table (4 bytes) 3804910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3805910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @file: #optional colon (:) separated list of pathnames to load and 3806910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# concatenate as table data. The resultant binary blob is expected to 3807910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# have an ACPI table header. At least one file is required. This field 3808910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# excludes @data. 3809910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3810910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @data: #optional colon (:) separated list of pathnames to load and 3811910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# concatenate as table data. The resultant binary blob must not have an 3812910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# ACPI table header. At least one file is required. This field excludes 3813910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @file. 3814910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3815910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.5 3816910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3817910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'AcpiTableOptions', 3818910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 3819910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*sig': 'str', 3820910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*rev': 'uint8', 3821910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*oem_id': 'str', 3822910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*oem_table_id': 'str', 3823910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*oem_rev': 'uint32', 3824910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*asl_compiler_id': 'str', 3825910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*asl_compiler_rev': 'uint32', 3826910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*file': 'str', 3827910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*data': 'str' }} 3828910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3829910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3830910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @CommandLineParameterType: 3831910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3832910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Possible types for an option parameter. 3833910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3834910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @string: accepts a character string 3835910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3836910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @boolean: accepts "on" or "off" 3837910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3838910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @number: accepts a number 3839910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3840910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @size: accepts a number followed by an optional suffix (K)ilo, 3841910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# (M)ega, (G)iga, (T)era 3842910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3843910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.5 3844910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3845910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'CommandLineParameterType', 3846910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': ['string', 'boolean', 'number', 'size'] } 3847910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3848910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3849910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @CommandLineParameterInfo: 3850910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3851910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Details about a single parameter of a command line option. 3852910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3853910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: parameter name 3854910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3855910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @type: parameter @CommandLineParameterType 3856910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3857910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @help: #optional human readable text string, not suitable for parsing. 3858910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3859910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.5 3860910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3861910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'CommandLineParameterInfo', 3862910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'name': 'str', 3863910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'type': 'CommandLineParameterType', 3864910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*help': 'str' } } 3865910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3866910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3867910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @CommandLineOptionInfo: 3868910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3869910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Details about a command line option, including its list of parameter details 3870910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3871910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @option: option name 3872910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3873910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @parameters: an array of @CommandLineParameterInfo 3874910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3875910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.5 3876910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3877910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'CommandLineOptionInfo', 3878910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'option': 'str', 'parameters': ['CommandLineParameterInfo'] } } 3879910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3880910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3881910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-command-line-options: 3882910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3883910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Query command line option schema. 3884910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3885910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @option: #optional option name 3886910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3887910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: list of @CommandLineOptionInfo for all options (or for the given 3888910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @option). Returns an error if the given @option doesn't exist. 3889910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3890910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.5 3891910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3892910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{'command': 'query-command-line-options', 'data': { '*option': 'str' }, 3893910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'returns': ['CommandLineOptionInfo'] } 3894910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3895910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3896910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @X86CPURegister32 3897910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3898910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# A X86 32-bit register 3899910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3900910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3901910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3902910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'X86CPURegister32', 3903910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': [ 'EAX', 'EBX', 'ECX', 'EDX', 'ESP', 'EBP', 'ESI', 'EDI' ] } 3904910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3905910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3906910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @X86CPUFeatureWordInfo 3907910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3908910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Information about a X86 CPU feature word 3909910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3910910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cpuid-input-eax: Input EAX value for CPUID instruction for that feature word 3911910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3912910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cpuid-input-ecx: #optional Input ECX value for CPUID instruction for that 3913910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# feature word 3914910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3915910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cpuid-register: Output register containing the feature bits 3916910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3917910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @features: value of output register, containing the feature bits 3918910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3919910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.5 3920910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3921910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'X86CPUFeatureWordInfo', 3922910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'cpuid-input-eax': 'int', 3923910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*cpuid-input-ecx': 'int', 3924910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'cpuid-register': 'X86CPURegister32', 3925910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'features': 'int' } } 3926910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3927910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3928910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @RxState: 3929910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3930910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Packets receiving state 3931910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3932910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @normal: filter assigned packets according to the mac-table 3933910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3934910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @none: don't receive any assigned packet 3935910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3936910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @all: receive all assigned packets 3937910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3938910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.6 3939910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3940910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'RxState', 'data': [ 'normal', 'none', 'all' ] } 3941910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3942910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3943910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @RxFilterInfo: 3944910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3945910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Rx-filter information for a NIC. 3946910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3947910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: net client name 3948910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3949910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @promiscuous: whether promiscuous mode is enabled 3950910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3951910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @multicast: multicast receive state 3952910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3953910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @unicast: unicast receive state 3954910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3955910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @broadcast-allowed: whether to receive broadcast 3956910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3957910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @multicast-overflow: multicast table is overflowed or not 3958910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3959910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @unicast-overflow: unicast table is overflowed or not 3960910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3961910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @main-mac: the main macaddr string 3962910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3963910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @vlan-table: a list of active vlan id 3964910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3965910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @unicast-table: a list of unicast macaddr string 3966910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3967910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @multicast-table: a list of multicast macaddr string 3968910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3969910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since 1.6 3970910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3971910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3972910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'RxFilterInfo', 3973910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 3974910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'name': 'str', 3975910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'promiscuous': 'bool', 3976910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'multicast': 'RxState', 3977910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'unicast': 'RxState', 3978910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'broadcast-allowed': 'bool', 3979910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'multicast-overflow': 'bool', 3980910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'unicast-overflow': 'bool', 3981910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'main-mac': 'str', 3982910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'vlan-table': ['int'], 3983910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'unicast-table': ['str'], 3984910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'multicast-table': ['str'] }} 3985910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 3986910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 3987910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @query-rx-filter: 3988910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3989910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Return rx-filter information for all NICs (or for the given NIC). 3990910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3991910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @name: #optional net client name 3992910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3993910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns: list of @RxFilterInfo for all NICs (or for the given NIC). 3994910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Returns an error if the given @name doesn't exist, or given 3995910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# NIC doesn't support rx-filter querying, or given net client 3996910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# isn't a NIC. 3997910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 3998910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.6 3999910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4000910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'query-rx-filter', 'data': { '*name': 'str' }, 4001910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'returns': ['RxFilterInfo'] } 4002910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4003910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4004910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4005910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockdevDiscardOptions 4006910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4007910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Determines how to handle discard requests. 4008910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4009910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @ignore: Ignore the request 4010910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @unmap: Forward as an unmap request 4011910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4012910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 4013910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4014910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'BlockdevDiscardOptions', 4015910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': [ 'ignore', 'unmap' ] } 4016910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4017910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4018910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockdevAioOptions 4019910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4020910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Selects the AIO backend to handle I/O requests 4021910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4022910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @threads: Use qemu's thread pool 4023910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @native: Use native AIO backend (only Linux and Windows) 4024910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4025910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 4026910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4027910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'enum': 'BlockdevAioOptions', 4028910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': [ 'threads', 'native' ] } 4029910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4030910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4031910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockdevCacheOptions 4032910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4033910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Includes cache-related options for block devices 4034910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4035910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @writeback: #optional enables writeback mode for any caches (default: true) 4036910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @direct: #optional enables use of O_DIRECT (bypass the host page cache; 4037910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# default: false) 4038910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @no-flush: #optional ignore any flush requests for the device (default: 4039910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# false) 4040910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4041910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 4042910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4043910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockdevCacheOptions', 4044910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { '*writeback': 'bool', 4045910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*direct': 'bool', 4046910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*no-flush': 'bool' } } 4047910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4048910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4049910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockdevOptionsBase 4050910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4051910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Options that are available for all block devices, independent of the block 4052910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# driver. 4053910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4054910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @driver: block driver name 4055910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @id: #optional id by which the new block device can be referred to. 4056910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# This is a required option on the top level of blockdev-add, and 4057910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# currently not allowed on any other level. 4058910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @discard: #optional discard-related options (default: ignore) 4059910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @cache: #optional cache-related options 4060910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @aio: #optional AIO backend (default: threads) 4061910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @rerror: #optional how to handle read errors on the device 4062910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# (default: report) 4063910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @werror: #optional how to handle write errors on the device 4064910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# (default: enospc) 4065910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @read-only: #optional whether the block device should be read-only 4066910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# (default: false) 4067910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4068910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 4069910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4070910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockdevOptionsBase', 4071910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'driver': 'str', 4072910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*id': 'str', 4073910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*discard': 'BlockdevDiscardOptions', 4074910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*cache': 'BlockdevCacheOptions', 4075910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*aio': 'BlockdevAioOptions', 4076910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*rerror': 'BlockdevOnError', 4077910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*werror': 'BlockdevOnError', 4078910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*read-only': 'bool' } } 4079910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4080910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4081910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockdevOptionsFile 4082910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4083910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Driver specific block device options for the file backend and similar 4084910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# protocols. 4085910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4086910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @filename: path to the image file 4087910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4088910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 4089910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4090910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockdevOptionsFile', 4091910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'filename': 'str' } } 4092910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4093910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4094910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockdevOptionsVVFAT 4095910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4096910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Driver specific block device options for the vvfat protocol. 4097910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4098910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @dir: directory to be exported as FAT image 4099910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @fat-type: #optional FAT type: 12, 16 or 32 4100910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @floppy: #optional whether to export a floppy image (true) or 4101910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# partitioned hard disk (false; default) 4102910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @rw: #optional whether to allow write operations (default: false) 4103910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4104910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 4105910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4106910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockdevOptionsVVFAT', 4107910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'dir': 'str', '*fat-type': 'int', '*floppy': 'bool', 4108910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*rw': 'bool' } } 4109910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4110910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4111910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockdevOptionsGenericFormat 4112910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4113910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Driver specific block device options for image format that have no option 4114910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# besides their data source. 4115910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4116910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @file: reference to or definition of the data source block device 4117910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4118910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 4119910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4120910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockdevOptionsGenericFormat', 4121910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'file': 'BlockdevRef' } } 4122910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4123910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4124910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockdevOptionsGenericCOWFormat 4125910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4126910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Driver specific block device options for image format that have no option 4127910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# besides their data source and an optional backing file. 4128910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4129910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @backing: #optional reference to or definition of the backing file block 4130910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# device (if missing, taken from the image file content). It is 4131910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# allowed to pass an empty string here in order to disable the 4132910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# default backing file. 4133910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4134910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 4135910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4136910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockdevOptionsGenericCOWFormat', 4137910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'base': 'BlockdevOptionsGenericFormat', 4138910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { '*backing': 'BlockdevRef' } } 4139910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4140910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4141910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockdevOptionsQcow2 4142910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4143910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Driver specific block device options for qcow2. 4144910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4145910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @lazy-refcounts: #optional whether to enable the lazy refcounts 4146910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# feature (default is taken from the image file) 4147910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4148910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @pass-discard-request: #optional whether discard requests to the qcow2 4149910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# device should be forwarded to the data source 4150910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4151910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @pass-discard-snapshot: #optional whether discard requests for the data source 4152910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# should be issued when a snapshot operation (e.g. 4153910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# deleting a snapshot) frees clusters in the qcow2 file 4154910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4155910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @pass-discard-other: #optional whether discard requests for the data source 4156910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# should be issued on other occasions where a cluster 4157910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# gets freed 4158910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4159910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 4160910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4161910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'type': 'BlockdevOptionsQcow2', 4162910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'base': 'BlockdevOptionsGenericCOWFormat', 4163910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { '*lazy-refcounts': 'bool', 4164910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*pass-discard-request': 'bool', 4165910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*pass-discard-snapshot': 'bool', 4166910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner '*pass-discard-other': 'bool' } } 4167910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4168910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4169910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockdevOptions 4170910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4171910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Options for creating a block device. 4172910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4173910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 4174910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4175910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'union': 'BlockdevOptions', 4176910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'base': 'BlockdevOptionsBase', 4177910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'discriminator': 'driver', 4178910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 4179910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'file': 'BlockdevOptionsFile', 4180910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'http': 'BlockdevOptionsFile', 4181910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'https': 'BlockdevOptionsFile', 4182910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'ftp': 'BlockdevOptionsFile', 4183910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'ftps': 'BlockdevOptionsFile', 4184910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'tftp': 'BlockdevOptionsFile', 4185910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# TODO gluster: Wait for structured options 4186910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# TODO iscsi: Wait for structured options 4187910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# TODO nbd: Should take InetSocketAddress for 'host'? 4188910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# TODO rbd: Wait for structured options 4189910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# TODO sheepdog: Wait for structured options 4190910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# TODO ssh: Should take InetSocketAddress for 'host'? 4191910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'vvfat': 'BlockdevOptionsVVFAT', 4192910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4193910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# TODO blkdebug: Wait for structured options 4194910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# TODO blkverify: Wait for structured options 4195910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4196910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'bochs': 'BlockdevOptionsGenericFormat', 4197910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'cloop': 'BlockdevOptionsGenericFormat', 4198910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'cow': 'BlockdevOptionsGenericCOWFormat', 4199910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'dmg': 'BlockdevOptionsGenericFormat', 4200910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'parallels': 'BlockdevOptionsGenericFormat', 4201910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'qcow': 'BlockdevOptionsGenericCOWFormat', 4202910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'qcow2': 'BlockdevOptionsQcow2', 4203910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'qed': 'BlockdevOptionsGenericCOWFormat', 4204910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'raw': 'BlockdevOptionsGenericFormat', 4205910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'vdi': 'BlockdevOptionsGenericFormat', 4206910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'vhdx': 'BlockdevOptionsGenericFormat', 4207910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'vmdk': 'BlockdevOptionsGenericCOWFormat', 4208910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'vpc': 'BlockdevOptionsGenericFormat' 4209910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner } } 4210910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4211910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4212910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @BlockdevRef 4213910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4214910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Reference to a block device. 4215910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4216910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @definition: defines a new block device inline 4217910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @reference: references the ID of an existing block device. An 4218910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# empty string means that no block device should be 4219910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# referenced. 4220910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4221910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 4222910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4223910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'union': 'BlockdevRef', 4224910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'discriminator': {}, 4225910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'data': { 'definition': 'BlockdevOptions', 4226910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 'reference': 'str' } } 4227910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner 4228910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4229910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @blockdev-add: 4230910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4231910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Creates a new block device. 4232910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4233910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# @options: block device options for the new device 4234910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# 4235910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner# Since: 1.7 4236910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner## 4237910aea96b67d7f0357f586c47f20848ec435aa1bDavid 'Digit' Turner{ 'command': 'blockdev-add', 'data': { 'options': 'BlockdevOptions' } } 4238