# @ro: true if the backing device was open read-only
#
# @drv: the name of the block format used to open the backing device. As of
-# 0.14.0 this can be: 'blkdebug', 'bochs', 'cloop', 'cow', 'dmg',
+# 0.14 this can be: 'blkdebug', 'bochs', 'cloop', 'cow', 'dmg',
# 'file', 'file', 'ftp', 'ftps', 'host_cdrom', 'host_device',
# 'http', 'https', 'luks', 'nbd', 'parallels', 'qcow',
# 'qcow2', 'raw', 'vdi', 'vmdk', 'vpc', 'vvfat'
# @deprecated: Member @encryption_key_missing is deprecated. It is
# always false.
#
-# Since: 0.14.0
+# Since: 0.14
#
##
{ 'struct': 'BlockDeviceInfo',
# @deprecated: Member @dirty-bitmaps is deprecated. Use @inserted
# member @dirty-bitmaps instead.
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'BlockInfo',
'data': {'device': 'str', '*qdev': 'str', 'type': 'str', 'removable': 'bool',
# Returns: a list of @BlockInfo describing each virtual block device. Filter
# nodes that were created implicitly are skipped over.
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# @wr_operations: The number of write operations performed by the device.
#
# @flush_operations: The number of cache flush operations performed by the
-# device (since 0.15.0)
+# device (since 0.15)
#
# @unmap_operations: The number of unmap operations performed by the device
# (Since 4.2)
#
-# @rd_total_time_ns: Total time spent on reads in nanoseconds (since 0.15.0).
+# @rd_total_time_ns: Total time spent on reads in nanoseconds (since 0.15).
#
-# @wr_total_time_ns: Total time spent on writes in nanoseconds (since 0.15.0).
+# @wr_total_time_ns: Total time spent on writes in nanoseconds (since 0.15).
#
# @flush_total_time_ns: Total time spent on cache flushes in nanoseconds
-# (since 0.15.0).
+# (since 0.15).
#
# @unmap_total_time_ns: Total time spent on unmap operations in nanoseconds
# (Since 4.2)
#
# @flush_latency_histogram: @BlockLatencyHistogramInfo. (Since 4.0)
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'BlockDeviceStats',
'data': {'rd_bytes': 'int', 'wr_bytes': 'int', 'unmap_bytes' : 'int',
# @backing: This describes the backing block device if it has one.
# (Since 2.0)
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'BlockStats',
'data': {'*device': 'str', '*qdev': 'str', '*node-name': 'str',
#
# Returns: A list of @BlockStats for each virtual block devices.
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# Returns: - nothing on success
# - If @device is not a valid block device, DeviceNotFound
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# Returns: - nothing on success
# - If @device is not a valid block device, DeviceNotFound
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# Note: If action is "stop", a STOP event will eventually follow the
# BLOCK_IO_ERROR event
#
-# Since: 0.13.0
+# Since: 0.13
#
# Example:
#
#
# Returns: error if the server is already running.
#
-# Since: 1.3.0
+# Since: 1.3
##
{ 'command': 'nbd-server-start',
'data': { 'addr': 'SocketAddressLegacy',
# Returns: error if the server is not running, or export with the same name
# already exists.
#
-# Since: 1.3.0
+# Since: 1.3
##
{ 'command': 'nbd-server-add',
'data': 'NbdServerAddOptions', 'boxed': true, 'features': ['deprecated'] }
# Stop QEMU's embedded NBD server, and unregister all devices previously
# added via @nbd-server-add.
#
-# Since: 1.3.0
+# Since: 1.3
##
{ 'command': 'nbd-server-stop' }
# - If @device is not a valid block device, DeviceNotFound
# Notes: Ejecting a device with no media results in success
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# Notes: @filename is encoded using the QEMU command line character device
# encoding. See the QEMU man page for details.
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'ChardevInfo',
'data': { 'label': 'str',
#
# Returns: a list of @ChardevInfo
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# exact format depends on the downstream however it highly
# recommended that a unique name is used.
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'VersionInfo',
'data': {'qemu': 'VersionTriple', 'package': 'str'} }
#
# Returns: A @VersionInfo object describing the current version of QEMU.
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# @name: The command name
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'CommandInfo', 'data': {'name': 'str'} }
#
# Returns: A list of @CommandInfo for all supported commands
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# @name: The event name
#
-# Since: 1.2.0
+# Since: 1.2
##
{ 'struct': 'EventInfo', 'data': {'name': 'str'} }
#
# Returns: A list of @EventInfo.
#
-# Since: 1.2.0
+# Since: 1.2
#
# Example:
#
# guaranteed. When using this interface, a premature EOF would not be
# unexpected.
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# @name: the name of the CPU definition the model is based on
# @props: a dictionary of QOM properties to be applied
#
-# Since: 2.8.0
+# Since: 2.8
##
{ 'struct': 'CpuModelInfo',
'data': { 'name': 'str',
# version or machine-type, use @static (but keep in mind that some features may
# be omitted).
#
-# Since: 2.8.0
+# Since: 2.8
##
{ 'enum': 'CpuModelExpansionType',
'data': [ 'static', 'full' ] }
# @subset: If model A is a subset of model B, model A is guaranteed to run
# where model B runs. There are no guarantees about the other way.
#
-# Since: 2.8.0
+# Since: 2.8
##
{ 'enum': 'CpuModelCompareResult',
'data': [ 'incompatible', 'identical', 'superset', 'subset' ] }
#
# @model: the baselined CpuModelInfo.
#
-# Since: 2.8.0
+# Since: 2.8
##
{ 'struct': 'CpuModelBaselineInfo',
'data': { 'model': 'CpuModelInfo' },
# CPU models identical. If the special property name "type" is included, the
# models are by definition not identical and cannot be made identical.
#
-# Since: 2.8.0
+# Since: 2.8
##
{ 'struct': 'CpuModelCompareInfo',
'data': { 'result': 'CpuModelCompareResult',
# Note: this command isn't specific to s390x, but is only implemented
# on this architecture currently.
#
-# Since: 2.8.0
+# Since: 2.8
##
{ 'command': 'query-cpu-model-comparison',
'data': { 'modela': 'CpuModelInfo', 'modelb': 'CpuModelInfo' },
# Note: this command isn't specific to s390x, but is only implemented
# on this architecture currently.
#
-# Since: 2.8.0
+# Since: 2.8
##
{ 'command': 'query-cpu-model-baseline',
'data': { 'modela': 'CpuModelInfo',
#
# @model: the expanded CpuModelInfo.
#
-# Since: 2.8.0
+# Since: 2.8
##
{ 'struct': 'CpuModelExpansionInfo',
'data': { 'model': 'CpuModelInfo' },
# with a wrong type. Also returns an error if an expansion type is
# not supported.
#
-# Since: 2.8.0
+# Since: 2.8
##
{ 'command': 'query-cpu-model-expansion',
'data': { 'type': 'CpuModelExpansionType',
# If @unavailable-features is not present, runnability
# information for the CPU is not available.
#
-# Since: 1.2.0
+# Since: 1.2
##
{ 'struct': 'CpuDefinitionInfo',
'data': { 'name': 'str',
#
# Returns: a list of CpuDefInfo
#
-# Since: 1.2.0
+# Since: 1.2
##
{ 'command': 'query-cpu-definitions', 'returns': ['CpuDefinitionInfo'],
'if': 'defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS)' }
# @arch: architecture of the cpu, which determines which additional fields
# will be listed (since 2.6)
#
-# Since: 0.14.0
+# Since: 0.14
#
# Notes: @halted is a transient state that changes frequently. By the time the
# data is sent to the client, the guest may no longer be halted.
#
# Returns: a list of @CpuInfo for each virtual CPU
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# @is-default: whether the machine is default
#
# @cpu-max: maximum number of CPUs supported by the machine type
-# (since 1.5.0)
+# (since 1.5)
#
-# @hotpluggable-cpus: cpu hotplug via -device is supported (since 2.7.0)
+# @hotpluggable-cpus: cpu hotplug via -device is supported (since 2.7)
#
# @numa-mem-supported: true if '-numa node,mem' option is supported by
# the machine type and false otherwise (since 4.1)
#
# @deprecated: if true, the machine type is deprecated and may be removed
# in future versions of QEMU according to the QEMU deprecation
-# policy (since 4.1.0)
+# policy (since 4.1)
#
# @default-cpu-type: default CPU model typename if none is requested via
# the -cpu argument. (since 4.2)
#
# @default-ram-id: the default ID of initial RAM memory backend (since 5.2)
#
-# Since: 1.2.0
+# Since: 1.2
##
{ 'struct': 'MachineInfo',
'data': { 'name': 'str', '*alias': 'str',
#
# Returns: a list of MachineInfo
#
-# Since: 1.2.0
+# Since: 1.2
##
{ 'command': 'query-machines', 'returns': ['MachineInfo'] }
#
# @arch: the target architecture
#
-# Since: 1.2.0
+# Since: 1.2
##
{ 'struct': 'TargetInfo',
'data': { 'arch': 'SysEmuTarget' } }
#
# Returns: TargetInfo
#
-# Since: 1.2.0
+# Since: 1.2
##
{ 'command': 'query-target', 'returns': 'TargetInfo' }
#
# @UUID: the UUID of the guest
#
-# Since: 0.14.0
+# Since: 0.14
#
# Notes: If no UUID was specified for the guest, a null UUID is returned.
##
#
# Returns: The @UuidInfo for the guest
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# Performs a hard reset of a guest.
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# Requests that a guest perform a powerdown operation.
#
-# Since: 0.14.0
+# Since: 0.14
#
# Notes: A guest may or may not respond to this command. This command
# returning does not indicate that a guest has accepted the request or
#
# Returns: If successful, nothing
#
-# Since: 0.14.0
+# Since: 0.14
#
# Note: prior to 2.1, this command was only supported for x86 and s390 VMs
#
#
# @present: true if KVM acceleration is built into this executable
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'KvmInfo', 'data': {'enabled': 'bool', 'present': 'bool'} }
#
# Returns: @KvmInfo
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# Returns: Nothing on success
#
-# Since: 0.14.0
+# Since: 0.14
#
# Notes: Errors were not reliably returned until 1.1
#
#
# Returns: Nothing on success
#
-# Since: 0.14.0
+# Since: 0.14
#
# Notes: Errors were not reliably returned until 1.1
#
# the balloon size may not have changed. A guest can change the balloon
# size independent of this command.
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# @actual: the logical size of the VM in bytes
# Formula used: logical_vm_size = vm_ram_size - balloon_size
#
-# Since: 0.14.0
+# Since: 0.14
#
##
{ 'struct': 'BalloonInfo', 'data': {'actual': 'int' } }
# kernel module cannot support it, KvmMissingCap
# - If no balloon device is present, DeviceNotActive
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# is omitted if target doesn't support memory hotplug
# (i.e. CONFIG_MEM_DEVICE not defined at build time).
#
-# Since: 2.11.0
+# Since: 2.11
##
{ 'struct': 'MemoryInfo',
'data' : { 'base-memory': 'size', '*plugged-memory': 'size' } }
# -> { "execute": "query-memory-size-summary" }
# <- { "return": { "base-memory": 4294967296, "plugged-memory": 0 } }
#
-# Since: 2.11.0
+# Since: 2.11
##
{ 'command': 'query-memory-size-summary', 'returns': 'MemoryInfo' }
# @pages-per-second: the number of memory pages transferred per second
# (Since 4.0)
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'MigrationStats',
'data': {'transferred': 'int', 'remaining': 'int', 'total': 'int' ,
# only returned if VFIO device is present, migration is supported by all
# VFIO devices and status is 'active' or 'completed' (since 5.2)
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'MigrationInfo',
'data': {'*status': 'MigrationStatus', '*ram': 'MigrationStats',
#
# Returns: @MigrationInfo
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# @tls-port: spice tcp port for tls-secured channels
# @cert-subject: server certificate subject
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# Notes: This command succeeds even if there is no migration process running.
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# Returns: nothing on success
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# Returns: nothing on success
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# Returns: nothing on success
#
-# Since: 0.14.0
+# Since: 0.14
#
# Notes:
#
#
# Note: This event is rate-limited.
#
-# Since: 0.13.0
+# Since: 0.13
#
# Example:
#
#
# Returns: nothing on success.
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# @name: The name of the guest
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'NameInfo', 'data': {'*name': 'str'} }
#
# Returns: @NameInfo of the guest
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# Stop all guest VCPU execution.
#
-# Since: 0.14.0
+# Since: 0.14
#
# Notes: This function will succeed even if the guest is already in the stopped
# state. In "inmigrate" state, it will ensure that the guest
#
# Resume guest VCPU execution.
#
-# Since: 0.14.0
+# Since: 0.14
#
# Returns: If successful, nothing
#
#
# Returns: the output of the command as a string
#
-# Since: 0.14.0
+# Since: 0.14
#
# Notes: This command only exists as a stop-gap. Its use is highly
# discouraged. The semantics of this command are not
# Returns: - Nothing on success.
# - If @device is not a valid block device, DeviceNotFound
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# Returns: Nothing on success
#
-# Since: 0.14.0
+# Since: 0.14
#
# Notes: If @fdname already exists, the file descriptor assigned to
# it will be closed and replaced by the received file
#
# Returns: Nothing on success
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# @fd: The file descriptor that was received via SCM rights and
# added to the fd set.
#
-# Since: 1.2.0
+# Since: 1.2
##
{ 'struct': 'AddfdInfo', 'data': {'fdset-id': 'int', 'fd': 'int'} }
#
# If @fdset-id is not specified, a new fd set will be created.
#
-# Since: 1.2.0
+# Since: 1.2
#
# Example:
#
# Returns: - Nothing on success
# - If @fdset-id or @fd is not found, FdNotFound
#
-# Since: 1.2.0
+# Since: 1.2
#
# Notes: The list of fd sets is shared by all monitor connections.
#
#
# @opaque: A free-form string that can be used to describe the fd.
#
-# Since: 1.2.0
+# Since: 1.2
##
{ 'struct': 'FdsetFdInfo',
'data': {'fd': 'int', '*opaque': 'str'} }
#
# @fds: A list of file descriptors that belong to this fd set.
#
-# Since: 1.2.0
+# Since: 1.2
##
{ 'struct': 'FdsetInfo',
'data': {'fdset-id': 'int', 'fds': ['FdsetFdInfo']} }
#
# Returns: A list of @FdsetInfo
#
-# Since: 1.2.0
+# Since: 1.2
#
# Note: The list of fd sets is shared by all monitor connections.
#
# Returns: Nothing on success
# If @name is not a valid network device, DeviceNotFound
#
-# Since: 0.14.0
+# Since: 0.14
#
# Notes: Not all network adapters support setting link status. This command
# will succeed even if the network adapter does not support link status
#
# Additional arguments depend on the type.
#
-# Since: 0.14.0
+# Since: 0.14
#
# Returns: Nothing on success
# If @type is not a valid network backend, DeviceNotFound
# Returns: Nothing on success
# If @id is not a valid network backend, DeviceNotFound
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# @limit: the ending address (guest physical)
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'PciMemoryRange', 'data': {'base': 'int', 'limit': 'int'} }
#
# @mem_type_64: if @type is 'memory', true if the BAR is 64-bit
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'PciMemoryRegion',
'data': {'bar': 'int', 'type': 'str', 'address': 'int', 'size': 'int',
#
# @devices: a list of @PciDeviceInfo for each device on this bridge
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'PciBridgeInfo',
'data': {'bus': 'PciBusInfo', '*devices': ['PciDeviceInfo']} }
# Notes: the contents of @class_info.desc are not stable and should only be
# treated as informational.
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'PciDeviceInfo',
'data': {'bus': 'int', 'slot': 'int', 'function': 'int',
#
# @devices: a list of devices on this bus
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'PciInfo', 'data': {'bus': 'int', 'devices': ['PciDeviceInfo']} }
# all PCI devices attached to it. Each device is represented by a
# json-object.
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# DEVICE_DELETED event. Guest reset will automatically complete removal
# for all devices.
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# @status: the virtual machine @RunState
#
-# Since: 0.14.0
+# Since: 0.14
#
# Notes: @singlestep is enabled through the GDB stub
##
#
# Returns: @StatusInfo reflecting all VCPUs
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# Note: If the command-line option "-no-shutdown" has been specified, qemu will
# not exit, and a STOP event will eventually follow the SHUTDOWN event
#
-# Since: 0.12.0
+# Since: 0.12
#
# Example:
#
# Emitted when the virtual machine is powered down through the power control
# system, such as via ACPI.
#
-# Since: 0.12.0
+# Since: 0.12
#
# Example:
#
#
# @reason: The @ShutdownCause of the RESET. (since 4.0)
#
-# Since: 0.12.0
+# Since: 0.12
#
# Example:
#
#
# Emitted when the virtual machine is stopped
#
-# Since: 0.12.0
+# Since: 0.12
#
# Example:
#
#
# Emitted when the virtual machine resumes execution
#
-# Since: 0.12.0
+# Since: 0.12
#
# Example:
#
#
# Note: This event is rate-limited.
#
-# Since: 0.13.0
+# Since: 0.13
#
# Example:
#
# Returns: - Nothing on success
# - If Spice is not enabled, DeviceNotFound
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# Returns: - Nothing on success
# - If @protocol is 'spice' and Spice is not active, DeviceNotFound
#
-# Since: 0.14.0
+# Since: 0.14
#
# Notes: Time is relative to the server and currently there is no way to
# coordinate server time with client time. It is not recommended to
#
# Returns: Nothing on success
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# @tls: true if the channel is encrypted, false otherwise.
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'SpiceChannel',
'base': 'SpiceBasicInfo',
#
# @channels: a list of @SpiceChannel for each active spice channel
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'SpiceInfo',
'data': {'enabled': 'bool', 'migrated': 'bool', '*host': 'str', '*port': 'int',
#
# Returns: @SpiceInfo
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# @client: client information
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# @client: client information
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
#
# @client: client information
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# @sasl_username: If SASL authentication is in use, the SASL username
# used for authentication.
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'VncClientInfo',
'base': 'VncBasicInfo',
#
# @clients: a list of @VncClientInfo of all currently connected clients
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'VncInfo',
'data': {'enabled': 'bool', '*host': 'str',
#
# Returns: @VncInfo
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# Note: This event is emitted before any authentication takes place, thus
# the authentication ID is not provided
#
-# Since: 0.13.0
+# Since: 0.13
#
# Example:
#
#
# @client: client information
#
-# Since: 0.13.0
+# Since: 0.13
#
# Example:
#
#
# @client: client information
#
-# Since: 0.13.0
+# Since: 0.13
#
# Example:
#
#
# @absolute: true if this device supports absolute coordinates as input
#
-# Since: 0.14.0
+# Since: 0.14
##
{ 'struct': 'MouseInfo',
'data': {'name': 'str', 'index': 'int', 'current': 'bool',
#
# Returns: a list of @MouseInfo for each device
#
-# Since: 0.14.0
+# Since: 0.14
#
# Example:
#
# 'sysrq' will be transparently changed to 'print', so they
# are effectively synonyms.
#
-# Since: 1.3.0
+# Since: 1.3
#
##
{ 'enum': 'QKeyCode',
#
# Represents a keyboard key.
#
-# Since: 1.3.0
+# Since: 1.3
##
{ 'union': 'KeyValue',
'data': {
# Returns: - Nothing on success
# - If key is unknown or redundant, InvalidParameter
#
-# Since: 1.3.0
+# Since: 1.3
#
# Example:
#