'data': ['discard', 'delay', 'merge', 'slew' ] }
##
-# @add_client
+# @add_client:
#
# Allow client connections for VNC, Spice and socket based
# character devices to be passed in to QEMU via SCM_RIGHTS.
#
# @name: #optional The name of the guest
#
-# Since 0.14.0
+# Since: 0.14.0
##
{ 'struct': 'NameInfo', 'data': {'*name': 'str'} }
#
# Returns: @NameInfo of the guest
#
-# Since 0.14.0
+# Since: 0.14.0
##
{ 'command': 'query-name', 'returns': 'NameInfo' }
{ 'command': 'query-kvm', 'returns': 'KvmInfo' }
##
-# @RunState
+# @RunState:
#
# An enumeration of VM run states.
#
#
# Returns: The @UuidInfo for the guest
#
-# Since 0.14.0
+# Since: 0.14.0
##
{ 'command': 'query-uuid', 'returns': 'UuidInfo' }
{ 'command': 'query-events', 'returns': ['EventInfo'] }
##
-# @MigrationStats
+# @MigrationStats:
#
# Detailed migration status.
#
#
# @skipped: number of skipped zero pages (since 1.5)
#
-# @normal : number of normal pages (since 1.2)
+# @normal: number of normal pages (since 1.2)
#
# @normal-bytes: number of normal bytes sent (since 1.2)
#
'postcopy-requests' : 'int' } }
##
-# @XBZRLECacheStats
+# @XBZRLECacheStats:
#
# Detailed XBZRLE migration cache statistics
#
'active', 'postcopy-active', 'completed', 'failed', 'colo' ] }
##
-# @MigrationInfo
+# @MigrationInfo:
#
# Information about current migration process.
#
'*error-desc': 'str'} }
##
-# @query-migrate
+# @query-migrate:
#
# Returns information about current migration process.
#
{ 'command': 'query-migrate', 'returns': 'MigrationInfo' }
##
-# @MigrationCapability
+# @MigrationCapability:
#
# Migration capabilities enumeration
#
'compress', 'events', 'postcopy-ram', 'x-colo'] }
##
-# @MigrationCapabilityStatus
+# @MigrationCapabilityStatus:
#
# Migration capability information
#
'data': { 'capability' : 'MigrationCapability', 'state' : 'bool' } }
##
-# @migrate-set-capabilities
+# @migrate-set-capabilities:
#
# Enable/Disable the following migration capabilities (like xbzrle)
#
'data': { 'capabilities': ['MigrationCapabilityStatus'] } }
##
-# @query-migrate-capabilities
+# @query-migrate-capabilities:
#
# Returns information about the current migration capabilities status
#
{ 'command': 'query-migrate-capabilities', 'returns': ['MigrationCapabilityStatus']}
##
-# @MigrationParameter
+# @MigrationParameter:
#
# Migration parameters enumeration
#
'downtime-limit', 'x-checkpoint-delay' ] }
##
-# @migrate-set-parameters
+# @migrate-set-parameters:
#
# Set various migration parameters. See MigrationParameters for details.
#
'data': 'MigrationParameters' }
##
-# @MigrationParameters
+# @MigrationParameters:
#
# Optional members can be omitted on input ('migrate-set-parameters')
# but most members will always be present on output
'*x-checkpoint-delay': 'int'} }
##
-# @query-migrate-parameters
+# @query-migrate-parameters:
#
# Returns information about the current migration parameters
#
'returns': 'MigrationParameters' }
##
-# @client_migrate_info
+# @client_migrate_info:
#
# Set migration information for remote display. This makes the server
# ask the client to automatically reconnect using the new parameters
'*tls-port': 'int', '*cert-subject': 'str' } }
##
-# @migrate-start-postcopy
+# @migrate-start-postcopy:
#
# Followup to a migration command to switch the migration to postcopy mode.
# The postcopy-ram capability must be set before the original migration
{ 'command': 'migrate-start-postcopy' }
##
-# @COLOMessage
+# @COLOMessage:
#
# The message transmission between Primary side and Secondary side.
#
'vmstate-loaded' ] }
##
-# @COLOMode
+# @COLOMode:
#
# The colo mode
#
'data': [ 'unknown', 'primary', 'secondary'] }
##
-# @FailoverStatus
+# @FailoverStatus:
#
# An enumeration of COLO failover status
#
'data': [ 'none', 'require', 'active', 'completed'] }
##
-# @x-colo-lost-heartbeat
+# @x-colo-lost-heartbeat:
#
# Tell qemu that heartbeat is lost, request it to do takeover procedures.
# If this command is sent to the PVM, the Primary side will exit COLO mode.
#
# @pc: the 64-bit instruction pointer
#
-# Since 2.6
+# Since: 2.6
##
{ 'struct': 'CpuInfoX86', 'data': { 'pc': 'int' } }
#
# @npc: the NPC component of the instruction pointer
#
-# Since 2.6
+# Since: 2.6
##
{ 'struct': 'CpuInfoSPARC', 'data': { 'pc': 'int', 'npc': 'int' } }
#
# @nip: the instruction pointer
#
-# Since 2.6
+# Since: 2.6
##
{ 'struct': 'CpuInfoPPC', 'data': { 'nip': 'int' } }
#
# @PC: the instruction pointer
#
-# Since 2.6
+# Since: 2.6
##
{ 'struct': 'CpuInfoMIPS', 'data': { 'PC': 'int' } }
#
# @PC: the instruction pointer
#
-# Since 2.6
+# Since: 2.6
##
{ 'struct': 'CpuInfoTricore', 'data': { 'PC': 'int' } }
#
# No additional information is available about the virtual CPU
#
-# Since 2.6
+# Since: 2.6
#
##
{ 'struct': 'CpuInfoOther', 'data': { } }
#
# Returns a list of information about each iothread.
#
-# Note this list excludes the QEMU main loop thread, which is not declared
+# Note: this list excludes the QEMU main loop thread, which is not declared
# using the -object iothread command-line option. It is always the main thread
# of the process.
#
{ 'command': 'query-iothreads', 'returns': ['IOThreadInfo'] }
##
-# @NetworkAddressFamily
+# @NetworkAddressFamily:
#
# The network address family
#
'data': [ 'ipv4', 'ipv6', 'unix', 'vsock', 'unknown' ] }
##
-# @VncBasicInfo
+# @VncBasicInfo:
#
# The basic information for vnc network connection
#
'websocket': 'bool' } }
##
-# @VncServerInfo
+# @VncServerInfo:
#
# The network connection information for server
#
{ 'command': 'query-vnc-servers', 'returns': ['VncInfo2'] }
##
-# @SpiceBasicInfo
+# @SpiceBasicInfo:
#
# The basic information for SPICE network connection
#
'family': 'NetworkAddressFamily' } }
##
-# @SpiceServerInfo
+# @SpiceServerInfo:
#
# Information about a SPICE server
#
'data': { '*auth': 'str' } }
##
-# @SpiceChannel
+# @SpiceChannel:
#
# Information about a SPICE client channel.
#
'tls': 'bool'} }
##
-# @SpiceQueryMouseMode
+# @SpiceQueryMouseMode:
#
# An enumeration of Spice mouse states.
#
'data': [ 'client', 'server', 'unknown' ] }
##
-# @SpiceInfo
+# @SpiceInfo:
#
# Information about the SPICE session.
#
'mouse-mode': 'SpiceQueryMouseMode', '*channels': ['SpiceChannel']} }
##
-# @query-spice
+# @query-spice:
#
# Returns information about the current SPICE server
#
{ 'struct': 'PciMemoryRange', 'data': {'base': 'int', 'limit': 'int'} }
##
-# @PciMemoryRegion
+# @PciMemoryRegion:
#
# Information about a PCI device I/O region.
#
{ 'command': 'cpu', 'data': {'index': 'int'} }
##
-# @cpu-add
+# @cpu-add:
#
# Adds CPU with specified ID
#
#
# Returns: Nothing on success
#
-# Since 1.5
+# Since: 1.5
##
{ 'command': 'cpu-add', 'data': {'id': 'int'} }
{ 'command': 'balloon', 'data': {'value': 'int'} }
##
-# @Abort
+# @Abort:
#
# This action can be used to test transaction failure.
#
# Since: 1.6
-###
+##
{ 'struct': 'Abort',
'data': { } }
##
-# @ActionCompletionMode
+# @ActionCompletionMode:
#
# An enumeration of Transactional completion modes.
#
'data': [ 'individual', 'grouped' ] }
##
-# @TransactionAction
+# @TransactionAction:
#
# A discriminated record of operations that can be performed with
# @transaction.
#
-# Since 1.1
+# Since: 1.1
#
# drive-backup since 1.6
# abort since 1.6
} }
##
-# @TransactionProperties
+# @TransactionProperties:
#
# Optional arguments to modify the behavior of a Transaction.
#
}
##
-# @transaction
+# @transaction:
#
# Executes a number of transactionable QMP commands atomically. If any
# operation fails, then the entire set of actions will be abandoned and the
# information on only one failed operation returned in an error condition, and
# subsequent actions will not have been attempted.
#
-# Since 1.1
+# Since: 1.1
##
{ 'command': 'transaction',
'data': { 'actions': [ 'TransactionAction' ],
'returns': 'str' }
##
-# @migrate_cancel
+# @migrate_cancel:
#
# Cancel the current executing migration process.
#
{ 'command': 'migrate_cancel' }
##
-# @migrate_set_downtime
+# @migrate_set_downtime:
#
# Set maximum tolerated downtime for migration.
#
{ 'command': 'migrate_set_downtime', 'data': {'value': 'number'} }
##
-# @migrate_set_speed
+# @migrate_set_speed:
#
# Set maximum speed for migration.
#
{ 'command': 'migrate_set_speed', 'data': {'value': 'int'} }
##
-# @migrate-set-cache-size
+# @migrate-set-cache-size:
#
# Set XBZRLE cache size
#
{ 'command': 'migrate-set-cache-size', 'data': {'value': 'int'} }
##
-# @query-migrate-cache-size
+# @query-migrate-cache-size:
#
# query XBZRLE cache size
#
'returns': [ 'DevicePropertyInfo' ] }
##
-# @migrate
+# @migrate:
#
# Migrates the current running guest to another Virtual Machine.
#
'data': {'uri': 'str', '*blk': 'bool', '*inc': 'bool', '*detach': 'bool' } }
##
-# @migrate-incoming
+# @migrate-incoming:
#
# Start an incoming migration, the qemu must have been started
# with -incoming defer
{ 'command': 'xen-save-devices-state', 'data': {'filename': 'str'} }
##
-# @xen-set-global-dirty-log
+# @xen-set-global-dirty-log:
#
# Enable or disable the global dirty log mode.
#
'data': [ 'elf', 'kdump-zlib', 'kdump-lzo', 'kdump-snappy' ] }
##
-# @dump-guest-memory
+# @dump-guest-memory:
#
# Dump guest's memory to vmcore. It is a synchronous operation that can take
# very long depending on the amount of guest memory.
'*format': 'DumpGuestMemoryFormat'} }
##
-# @DumpStatus
+# @DumpStatus:
#
# Describe the status of a long-running background guest memory dump.
#
#
# @failed: the last dump has failed.
#
-# Since 2.6
+# Since: 2.6
##
{ 'enum': 'DumpStatus',
'data': [ 'none', 'active', 'completed', 'failed' ] }
##
-# @DumpQueryResult
+# @DumpQueryResult:
#
# The result format for 'query-dump'.
#
#
# @total: total bytes to be written in latest dump (uncompressed)
#
-# Since 2.6
+# Since: 2.6
##
{ 'struct': 'DumpQueryResult',
'data': { 'status': 'DumpStatus',
'total': 'int' } }
##
-# @query-dump
+# @query-dump:
#
# Query latest dump status.
#
'returns': 'DumpGuestMemoryCapability' }
##
-# @dump-skeys
+# @dump-skeys:
#
# Dump guest's storage keys
#
{ 'command': 'object-del', 'data': {'id': 'str'} }
##
-# @NetdevNoneOptions
+# @NetdevNoneOptions:
#
# Use it alone to have zero network devices.
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevNoneOptions',
'data': { } }
##
-# @NetLegacyNicOptions
+# @NetLegacyNicOptions:
#
# Create a new Network Interface Card.
#
#
# @vectors: #optional number of MSI-x vectors, 0 to disable MSI-X
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetLegacyNicOptions',
'data': {
'*vectors': 'uint32' } }
##
-# @String
+# @String:
#
# A fat type wrapping 'str', to be embedded in lists.
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'String',
'data': {
'str': 'str' } }
##
-# @NetdevUserOptions
+# @NetdevUserOptions:
#
# Use the user mode network stack which requires no administrator privilege to
# run.
#
# @guestfwd: #optional forward guest TCP connections
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevUserOptions',
'data': {
'*guestfwd': ['String'] } }
##
-# @NetdevTapOptions
+# @NetdevTapOptions:
#
# Connect the host TAP network interface name to the VLAN.
#
# @poll-us: #optional maximum number of microseconds that could
# be spent on busy polling for tap (since 2.7)
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevTapOptions',
'data': {
'*poll-us': 'uint32'} }
##
-# @NetdevSocketOptions
+# @NetdevSocketOptions:
#
# Connect the VLAN to a remote VLAN in another QEMU virtual machine using a TCP
# socket connection.
#
# @udp: #optional UDP unicast address and port number
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevSocketOptions',
'data': {
'*udp': 'str' } }
##
-# @NetdevL2TPv3Options
+# @NetdevL2TPv3Options:
#
# Connect the VLAN to Ethernet over L2TPv3 Static tunnel
#
# @offset: #optional additional offset - allows the insertion of
# additional application-specific data before the packet payload
#
-# Since 2.1
+# Since: 2.1
##
{ 'struct': 'NetdevL2TPv3Options',
'data': {
'*offset': 'uint32' } }
##
-# @NetdevVdeOptions
+# @NetdevVdeOptions:
#
# Connect the VLAN to a vde switch running on the host.
#
#
# @mode: #optional permissions for socket
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevVdeOptions',
'data': {
'*mode': 'uint16' } }
##
-# @NetdevDumpOptions
+# @NetdevDumpOptions:
#
# Dump VLAN network traffic to a file.
#
#
# @file: #optional dump file path (default is qemu-vlan0.pcap)
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevDumpOptions',
'data': {
'*file': 'str' } }
##
-# @NetdevBridgeOptions
+# @NetdevBridgeOptions:
#
# Connect a host TAP network interface to a host bridge device.
#
#
# @helper: #optional command to execute to configure bridge
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevBridgeOptions',
'data': {
'*helper': 'str' } }
##
-# @NetdevHubPortOptions
+# @NetdevHubPortOptions:
#
# Connect two or more net clients through a software hub.
#
# @hubid: hub identifier number
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetdevHubPortOptions',
'data': {
'hubid': 'int32' } }
##
-# @NetdevNetmapOptions
+# @NetdevNetmapOptions:
#
# Connect a client to a netmap-enabled NIC or to a VALE switch port
#
#
# @devname: #optional path of the netmap device (default: '/dev/netmap').
#
-# Since 2.0
+# Since: 2.0
##
{ 'struct': 'NetdevNetmapOptions',
'data': {
'*devname': 'str' } }
##
-# @NetdevVhostUserOptions
+# @NetdevVhostUserOptions:
#
# Vhost-user network backend
#
# @queues: #optional number of queues to be created for multiqueue vhost-user
# (default: 1) (Since 2.5)
#
-# Since 2.1
+# Since: 2.1
##
{ 'struct': 'NetdevVhostUserOptions',
'data': {
'*queues': 'int' } }
##
-# @NetClientDriver
+# @NetClientDriver:
#
# Available netdev drivers.
#
-# Since 2.7
+# Since: 2.7
##
{ 'enum': 'NetClientDriver',
'data': [ 'none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde', 'dump',
'bridge', 'hubport', 'netmap', 'vhost-user' ] }
##
-# @Netdev
+# @Netdev:
#
# Captures the configuration of a network device.
#
#
# @type: Specify the driver used for interpreting remaining arguments.
#
-# Since 1.2
+# Since: 1.2
#
# 'l2tpv3' - since 2.1
##
'vhost-user': 'NetdevVhostUserOptions' } }
##
-# @NetLegacy
+# @NetLegacy:
#
# Captures the configuration of a network device; legacy.
#
#
# @opts: device type specific properties (legacy)
#
-# Since 1.2
+# Since: 1.2
##
{ 'struct': 'NetLegacy',
'data': {
'opts': 'NetLegacyOptions' } }
##
-# @NetLegacyOptions
+# @NetLegacyOptions:
#
# Like Netdev, but for use only by the legacy command line options
#
-# Since 1.2
+# Since: 1.2
##
{ 'union': 'NetLegacyOptions',
'data': {
'vhost-user': 'NetdevVhostUserOptions' } }
##
-# @NetFilterDirection
+# @NetFilterDirection:
#
# Indicates whether a netfilter is attached to a netdev's transmit queue or
# receive queue or both.
# @tx: the filter is attached to the transmit queue of the netdev,
# where it will receive packets sent by the netdev.
#
-# Since 2.5
+# Since: 2.5
##
{ 'enum': 'NetFilterDirection',
'data': [ 'all', 'rx', 'tx' ] }
##
-# @InetSocketAddress
+# @InetSocketAddress:
#
# Captures a socket address or address range in the Internet namespace.
#
# @ipv6: whether to accept IPv6 addresses, default try both IPv4 and IPv6
# #optional
#
-# Since 1.3
+# Since: 1.3
##
{ 'struct': 'InetSocketAddress',
'data': {
'*ipv6': 'bool' } }
##
-# @UnixSocketAddress
+# @UnixSocketAddress:
#
# Captures a socket address in the local ("Unix socket") namespace.
#
# @path: filesystem path to use
#
-# Since 1.3
+# Since: 1.3
##
{ 'struct': 'UnixSocketAddress',
'data': {
'path': 'str' } }
##
-# @VsockSocketAddress
+# @VsockSocketAddress:
#
# Captures a socket address in the vsock namespace.
#
# @cid: unique host identifier
# @port: port
#
-# Note that string types are used to allow for possible future hostname or
+# Note: string types are used to allow for possible future hostname or
# service resolution support.
#
-# Since 2.8
+# Since: 2.8
##
{ 'struct': 'VsockSocketAddress',
'data': {
'port': 'str' } }
##
-# @SocketAddress
+# @SocketAddress:
#
# Captures the address of a socket, which could also be a named file descriptor
#
-# Since 1.3
+# Since: 1.3
##
{ 'union': 'SocketAddress',
'data': {
'*props': 'any' } }
##
-# @CpuModelExpansionType
+# @CpuModelExpansionType:
#
# An enumeration of CPU model expansion types.
#
##
-# @CpuModelExpansionInfo
+# @CpuModelExpansionInfo:
#
# The result of a cpu model expansion.
#
'data': [ 'incompatible', 'identical', 'superset', 'subset' ] }
##
-# @CpuModelCompareInfo
+# @CpuModelCompareInfo:
#
# The result of a CPU model comparison.
#
'returns': 'CpuModelCompareInfo' }
##
-# @CpuModelBaselineInfo
+# @CpuModelBaselineInfo:
#
# The result of a CPU model baseline.
#
'kp_comma', 'kp_equals', 'power' ] }
##
-# @KeyValue
+# @KeyValue:
#
# Represents a keyboard key.
#
{ 'command': 'query-tpm', 'returns': ['TPMInfo'] }
##
-# @AcpiTableOptions
+# @AcpiTableOptions:
#
# Specify an ACPI table on the command line to load.
#
# ACPI table header. At least one file is required. This field excludes
# @file.
#
-# Since 1.5
+# Since: 1.5
##
{ 'struct': 'AcpiTableOptions',
'data': {
# @size: accepts a number followed by an optional suffix (K)ilo,
# (M)ega, (G)iga, (T)era
#
-# Since 1.5
+# Since: 1.5
##
{ 'enum': 'CommandLineParameterType',
'data': ['string', 'boolean', 'number', 'size'] }
#
# @default: #optional default value string (since 2.1)
#
-# Since 1.5
+# Since: 1.5
##
{ 'struct': 'CommandLineParameterInfo',
'data': { 'name': 'str',
#
# @parameters: an array of @CommandLineParameterInfo
#
-# Since 1.5
+# Since: 1.5
##
{ 'struct': 'CommandLineOptionInfo',
'data': { 'option': 'str', 'parameters': ['CommandLineParameterInfo'] } }
# Returns: list of @CommandLineOptionInfo for all options (or for the given
# @option). Returns an error if the given @option doesn't exist.
#
-# Since 1.5
+# Since: 1.5
##
{'command': 'query-command-line-options', 'data': { '*option': 'str' },
'returns': ['CommandLineOptionInfo'] }
##
-# @X86CPURegister32
+# @X86CPURegister32:
#
# A X86 32-bit register
#
'data': [ 'EAX', 'EBX', 'ECX', 'EDX', 'ESP', 'EBP', 'ESI', 'EDI' ] }
##
-# @X86CPUFeatureWordInfo
+# @X86CPUFeatureWordInfo:
#
# Information about a X86 CPU feature word
#
'features': 'int' } }
##
-# @DummyForceArrays
+# @DummyForceArrays:
#
# Not used by QMP; hack to let us use X86CPUFeatureWordInfoList internally
#
-# Since 2.5
+# Since: 2.5
##
{ 'struct': 'DummyForceArrays',
'data': { 'unused': ['X86CPUFeatureWordInfo'] } }
#
# @multicast-table: a list of multicast macaddr string
#
-# Since 1.6
+# Since: 1.6
##
{ 'struct': 'RxFilterInfo',
'data': {
'returns': ['RxFilterInfo'] }
##
-# @InputButton
+# @InputButton:
#
# Button of a pointer input device (mouse, tablet).
#
'data' : [ 'left', 'middle', 'right', 'wheel-up', 'wheel-down' ] }
##
-# @InputAxis
+# @InputAxis:
#
# Position axis of a pointer input device (mouse, tablet).
#
'data' : [ 'x', 'y' ] }
##
-# @InputKeyEvent
+# @InputKeyEvent:
#
# Keyboard input event.
#
'down' : 'bool' } }
##
-# @InputBtnEvent
+# @InputBtnEvent:
#
# Pointer button input event.
#
'down' : 'bool' } }
##
-# @InputMoveEvent
+# @InputMoveEvent:
#
# Pointer motion input event.
#
'value' : 'int' } }
##
-# @InputEvent
+# @InputEvent:
#
# Input event union.
#
'abs' : 'InputMoveEvent' } }
##
-# @input-send-event
+# @input-send-event:
#
# Send input event(s) to guest.
#
'events' : [ 'InputEvent' ] } }
##
-# @NumaOptions
+# @NumaOptions:
#
# A discriminated record of NUMA options. (for OptsVisitor)
#
-# Since 2.1
+# Since: 2.1
##
{ 'union': 'NumaOptions',
'data': {
'node': 'NumaNodeOptions' }}
##
-# @NumaNodeOptions
+# @NumaNodeOptions:
#
# Create a guest NUMA node. (for OptsVisitor)
#
'*memdev': 'str' }}
##
-# @HostMemPolicy
+# @HostMemPolicy:
#
# Host memory policy types
#
# @interleave: memory allocations are interleaved across the set
# of host nodes specified
#
-# Since 2.1
+# Since: 2.1
##
{ 'enum': 'HostMemPolicy',
'data': [ 'default', 'preferred', 'bind', 'interleave' ] }
{ 'union': 'MemoryDeviceInfo', 'data': {'dimm': 'PCDIMMDeviceInfo'} }
##
-# @query-memory-devices
+# @query-memory-devices:
#
# Lists available memory devices and their state
#
{ 'command': 'query-memory-devices', 'returns': ['MemoryDeviceInfo'] }
##
-# @ACPISlotType
+# @ACPISlotType:
#
# @DIMM: memory slot
# @CPU: logical CPU slot (since 2.7)
{ 'enum': 'ACPISlotType', 'data': [ 'DIMM', 'CPU' ] }
##
-# @ACPIOSTInfo
+# @ACPIOSTInfo:
#
# OSPM Status Indication for a device
# For description of possible values of @source and @status fields
'status': 'int' } }
##
-# @query-acpi-ospm-status
+# @query-acpi-ospm-status:
#
# Lists ACPI OSPM status of ACPI device objects,
# which might be reported via _OST method
{ 'command': 'query-acpi-ospm-status', 'returns': ['ACPIOSTInfo'] }
##
-# @WatchdogExpirationAction
+# @WatchdogExpirationAction:
#
# An enumeration of the actions taken when the watchdog device's timer is
# expired
'inject-nmi' ] }
##
-# @IoOperationType
+# @IoOperationType:
#
# An enumeration of the I/O operation types
#
'data': [ 'read', 'write' ] }
##
-# @GuestPanicAction
+# @GuestPanicAction:
#
# An enumeration of the actions taken when guest OS panic is detected
#
'data': [ 'pause', 'poweroff' ] }
##
-# @rtc-reset-reinjection
+# @rtc-reset-reinjection:
#
# This command will reset the RTC interrupt reinjection backlog.
# Can be used if another mechanism to synchronize guest time
{ 'command': 'query-gic-capabilities', 'returns': ['GICCapability'] }
##
-# @CpuInstanceProperties
+# @CpuInstanceProperties:
#
# List of properties to be used for hotplugging a CPU instance,
# it should be passed by management with device_add command when
}
##
-# @HotpluggableCPU
+# @HotpluggableCPU:
#
# @type: CPU object type for usage with device_add command
# @props: list of properties to be used for hotplugging CPU
}
##
-# @query-hotpluggable-cpus
+# @query-hotpluggable-cpus:
#
# Returns: a list of HotpluggableCPU objects.
#
{ 'include': 'common.json' }
##
-# @SnapshotInfo
+# @SnapshotInfo:
#
# @id: unique snapshot id
#
'*filename': 'str' } }
##
-# @BlockdevCacheInfo
+# @BlockdevCacheInfo:
#
# Cache mode information for a block device
#
# @offset: if present, the image file stores the data for this range in
# raw format at the given offset.
#
-# Since 1.7
+# Since: 1.7
##
{ 'struct': 'BlockDeviceMapEntry',
'data': { 'start': 'int', 'length': 'int', 'depth': 'int', 'zero': 'bool',
'*node-name': 'str', 'password': 'str'} }
##
-# @block_resize
+# @block_resize:
#
# Resize a block image while a guest is running.
#
'size': 'int' }}
##
-# @NewImageMode
+# @NewImageMode:
#
# An enumeration that tells QEMU how to set the backing file path in
# a new image file.
'data': [ 'existing', 'absolute-paths' ] }
##
-# @BlockdevSnapshotSync
+# @BlockdevSnapshotSync:
#
# Either @device or @node-name must be set but not both.
#
'*format': 'str', '*mode': 'NewImageMode' } }
##
-# @BlockdevSnapshot
+# @BlockdevSnapshot:
#
# @node: device or node name that will have a snapshot created.
#
# It must not have a current backing file (this can be
# achieved by passing "backing": "" to blockdev-add).
#
-# Since 2.5
+# Since: 2.5
##
{ 'struct': 'BlockdevSnapshot',
'data': { 'node': 'str', 'overlay': 'str' } }
##
-# @DriveBackup
+# @DriveBackup:
#
# @job-id: #optional identifier for the newly-created block job. If
# omitted, the device name will be used. (Since 2.7)
# default 'report' (no limitations, since this applies to
# a different block device than @device).
#
-# Note that @on-source-error and @on-target-error only affect background I/O.
-# If an error occurs during a guest write request, the device's rerror/werror
-# actions will be used.
+# Note: @on-source-error and @on-target-error only affect background
+# I/O. If an error occurs during a guest write request, the device's
+# rerror/werror actions will be used.
#
# Since: 1.6
##
'*on-target-error': 'BlockdevOnError' } }
##
-# @BlockdevBackup
+# @BlockdevBackup:
#
# @job-id: #optional identifier for the newly-created block job. If
# omitted, the device name will be used. (Since 2.7)
# default 'report' (no limitations, since this applies to
# a different block device than @device).
#
-# Note that @on-source-error and @on-target-error only affect background I/O.
-# If an error occurs during a guest write request, the device's rerror/werror
-# actions will be used.
+# Note: @on-source-error and @on-target-error only affect background
+# I/O. If an error occurs during a guest write request, the device's
+# rerror/werror actions will be used.
#
# Since: 2.3
##
'*on-target-error': 'BlockdevOnError' } }
##
-# @blockdev-snapshot-sync
+# @blockdev-snapshot-sync:
#
# Generates a synchronous snapshot of a block device.
#
# Returns: nothing on success
# If @device is not a valid block device, DeviceNotFound
#
-# Since 0.14.0
+# Since: 0.14.0
##
{ 'command': 'blockdev-snapshot-sync',
'data': 'BlockdevSnapshotSync' }
##
-# @blockdev-snapshot
+# @blockdev-snapshot:
#
# Generates a snapshot of a block device.
#
# For the arguments, see the documentation of BlockdevSnapshot.
#
-# Since 2.5
+# Since: 2.5
##
{ 'command': 'blockdev-snapshot',
'data': 'BlockdevSnapshot' }
##
-# @change-backing-file
+# @change-backing-file:
#
# Change the backing file in the image file metadata. This does not
# cause QEMU to reopen the image file to reparse the backing filename
'backing-file': 'str' } }
##
-# @block-commit
+# @block-commit:
#
# Live commit of data from overlay image nodes into backing nodes - i.e.,
# writes data between 'top' and 'base' into 'base'.
'*backing-file': 'str', '*speed': 'int' } }
##
-# @drive-backup
+# @drive-backup:
#
# Start a point-in-time copy of a block device to a new destination. The
# status of ongoing drive-backup operations can be checked with
# Returns: nothing on success
# If @device is not a valid block device, GenericError
#
-# Since 1.6
+# Since: 1.6
##
{ 'command': 'drive-backup', 'boxed': true,
'data': 'DriveBackup' }
##
-# @blockdev-backup
+# @blockdev-backup:
#
# Start a point-in-time copy of a block device to a new destination. The
# status of ongoing blockdev-backup operations can be checked with
# Returns: nothing on success
# If @device is not a valid block device, DeviceNotFound
#
-# Since 2.3
+# Since: 2.3
##
{ 'command': 'blockdev-backup', 'boxed': true,
'data': 'BlockdevBackup' }
##
-# @query-named-block-nodes
+# @query-named-block-nodes:
#
# Get the named block driver list
#
# Returns: the list of BlockDeviceInfo
#
-# Since 2.0
+# Since: 2.0
##
{ 'command': 'query-named-block-nodes', 'returns': [ 'BlockDeviceInfo' ] }
##
-# @drive-mirror
+# @drive-mirror:
#
# Start mirroring a block device's writes to a new destination.
#
# Returns: nothing on success
# If @device is not a valid block device, GenericError
#
-# Since 1.3
+# Since: 1.3
##
{ 'command': 'drive-mirror', 'boxed': true,
'data': 'DriveMirror' }
##
-# @DriveMirror
+# @DriveMirror:
#
# A set of parameters describing drive mirror setup.
#
# written. Both will result in identical contents.
# Default is true. (Since 2.4)
#
-# Since 1.3
+# Since: 1.3
##
{ 'struct': 'DriveMirror',
'data': { '*job-id': 'str', 'device': 'str', 'target': 'str',
'*unmap': 'bool' } }
##
-# @BlockDirtyBitmap
+# @BlockDirtyBitmap:
#
# @node: name of device/node which the bitmap is tracking
#
# @name: name of the dirty bitmap
#
-# Since 2.4
+# Since: 2.4
##
{ 'struct': 'BlockDirtyBitmap',
'data': { 'node': 'str', 'name': 'str' } }
##
-# @BlockDirtyBitmapAdd
+# @BlockDirtyBitmapAdd:
#
# @node: name of device/node which the bitmap is tracking
#
# @granularity: #optional the bitmap granularity, default is 64k for
# block-dirty-bitmap-add
#
-# Since 2.4
+# Since: 2.4
##
{ 'struct': 'BlockDirtyBitmapAdd',
'data': { 'node': 'str', 'name': 'str', '*granularity': 'uint32' } }
##
-# @block-dirty-bitmap-add
+# @block-dirty-bitmap-add:
#
# Create a dirty bitmap with a name on the node
#
# If @node is not a valid block device or node, DeviceNotFound
# If @name is already taken, GenericError with an explanation
#
-# Since 2.4
+# Since: 2.4
##
{ 'command': 'block-dirty-bitmap-add',
'data': 'BlockDirtyBitmapAdd' }
##
-# @block-dirty-bitmap-remove
+# @block-dirty-bitmap-remove:
#
# Remove a dirty bitmap on the node
#
# If @name is not found, GenericError with an explanation
# if @name is frozen by an operation, GenericError
#
-# Since 2.4
+# Since: 2.4
##
{ 'command': 'block-dirty-bitmap-remove',
'data': 'BlockDirtyBitmap' }
##
-# @block-dirty-bitmap-clear
+# @block-dirty-bitmap-clear:
#
# Clear (reset) a dirty bitmap on the device
#
# If @node is not a valid block device, DeviceNotFound
# If @name is not found, GenericError with an explanation
#
-# Since 2.4
+# Since: 2.4
##
{ 'command': 'block-dirty-bitmap-clear',
'data': 'BlockDirtyBitmap' }
##
-# @blockdev-mirror
+# @blockdev-mirror:
#
# Start mirroring a block device's writes to a new destination.
#
#
# Returns: nothing on success.
#
-# Since 2.6
+# Since: 2.6
##
{ 'command': 'blockdev-mirror',
'data': { '*job-id': 'str', 'device': 'str', 'target': 'str',
'data': 'BlockIOThrottle' }
##
-# @BlockIOThrottle
+# @BlockIOThrottle:
#
# A set of parameters describing block throttling.
#
{ 'command': 'block-job-complete', 'data': { 'device': 'str' } }
##
-# @BlockdevDiscardOptions
+# @BlockdevDiscardOptions:
#
# Determines how to handle discard requests.
#
'data': [ 'ignore', 'unmap' ] }
##
-# @BlockdevDetectZeroesOptions
+# @BlockdevDetectZeroesOptions:
#
# Describes the operation mode for the automatic conversion of plain
# zero writes by the OS to driver specific optimized zero write commands.
'data': [ 'off', 'on', 'unmap' ] }
##
-# @BlockdevAioOptions
+# @BlockdevAioOptions:
#
# Selects the AIO backend to handle I/O requests
#
'data': [ 'threads', 'native' ] }
##
-# @BlockdevCacheOptions
+# @BlockdevCacheOptions:
#
# Includes cache-related options for block devices
#
'*no-flush': 'bool' } }
##
-# @BlockdevDriver
+# @BlockdevDriver:
#
# Drivers that are supported in block device operations.
#
'vvfat' ] }
##
-# @BlockdevOptionsFile
+# @BlockdevOptionsFile:
#
# Driver specific block device options for the file backend.
#
'*aio': 'BlockdevAioOptions' } }
##
-# @BlockdevOptionsNull
+# @BlockdevOptionsNull:
#
# Driver specific block device options for the null backend.
#
'data': { '*size': 'int', '*latency-ns': 'uint64' } }
##
-# @BlockdevOptionsVVFAT
+# @BlockdevOptionsVVFAT:
#
# Driver specific block device options for the vvfat protocol.
#
'*label': 'str', '*rw': 'bool' } }
##
-# @BlockdevOptionsGenericFormat
+# @BlockdevOptionsGenericFormat:
#
# Driver specific block device options for image format that have no option
# besides their data source.
'data': { 'file': 'BlockdevRef' } }
##
-# @BlockdevOptionsLUKS
+# @BlockdevOptionsLUKS:
#
# Driver specific block device options for LUKS.
#
##
-# @BlockdevOptionsGenericCOWFormat
+# @BlockdevOptionsGenericCOWFormat:
#
# Driver specific block device options for image format that have no option
# besides their data source and an optional backing file.
'data': { '*backing': 'BlockdevRef' } }
##
-# @Qcow2OverlapCheckMode
+# @Qcow2OverlapCheckMode:
#
# General overlap check modes.
#
'data': [ 'none', 'constant', 'cached', 'all' ] }
##
-# @Qcow2OverlapCheckFlags
+# @Qcow2OverlapCheckFlags:
#
# Structure of flags for each metadata structure. Setting a field to 'true'
# makes qemu guard that structure against unintended overwriting. The default
'*inactive-l2': 'bool' } }
##
-# @Qcow2OverlapChecks
+# @Qcow2OverlapChecks:
#
# Specifies which metadata structures should be guarded against unintended
# overwriting.
'mode': 'Qcow2OverlapCheckMode' } }
##
-# @BlockdevOptionsQcow2
+# @BlockdevOptionsQcow2:
#
# Driver specific block device options for qcow2.
#
##
-# @BlockdevOptionsArchipelago
+# @BlockdevOptionsArchipelago:
#
# Driver specific block device options for Archipelago.
#
'*segment': 'str' } }
##
-# @BlockdevOptionsSsh
+# @BlockdevOptionsSsh:
#
# @server: host address
#
#
# TODO: Expose the host_key_check option in QMP
#
-# Since 2.8
+# Since: 2.8
##
{ 'struct': 'BlockdevOptionsSsh',
'data': { 'server': 'InetSocketAddress',
##
-# @BlkdebugEvent
+# @BlkdebugEvent:
#
# Trigger events supported by blkdebug.
#
'pwritev_zero', 'pwritev_done', 'empty_image_prepare' ] }
##
-# @BlkdebugInjectErrorOptions
+# @BlkdebugInjectErrorOptions:
#
# Describes a single error injection for blkdebug.
#
'*immediately': 'bool' } }
##
-# @BlkdebugSetStateOptions
+# @BlkdebugSetStateOptions:
#
# Describes a single state-change event for blkdebug.
#
'new_state': 'int' } }
##
-# @BlockdevOptionsBlkdebug
+# @BlockdevOptionsBlkdebug:
#
# Driver specific block device options for blkdebug.
#
'*set-state': ['BlkdebugSetStateOptions'] } }
##
-# @BlockdevOptionsBlkverify
+# @BlockdevOptionsBlkverify:
#
# Driver specific block device options for blkverify.
#
'raw': 'BlockdevRef' } }
##
-# @QuorumReadPattern
+# @QuorumReadPattern:
#
# An enumeration of quorum read patterns.
#
{ 'enum': 'QuorumReadPattern', 'data': [ 'quorum', 'fifo' ] }
##
-# @BlockdevOptionsQuorum
+# @BlockdevOptionsQuorum:
#
# Driver specific block device options for Quorum
#
'*read-pattern': 'QuorumReadPattern' } }
##
-# @GlusterTransport
+# @GlusterTransport:
#
# An enumeration of Gluster transport types
#
##
-# @GlusterServer
+# @GlusterServer:
#
# Captures the address of a socket
#
'tcp': 'InetSocketAddress' } }
##
-# @BlockdevOptionsGluster
+# @BlockdevOptionsGluster:
#
# Driver specific block device options for Gluster
#
'*logfile': 'str' } }
##
-# @ReplicationMode
+# @ReplicationMode:
#
# An enumeration of replication modes.
#
{ 'enum' : 'ReplicationMode', 'data' : [ 'primary', 'secondary' ] }
##
-# @BlockdevOptionsReplication
+# @BlockdevOptionsReplication:
#
# Driver specific block device options for replication
#
'*top-id': 'str' } }
##
-# @NFSTransport
+# @NFSTransport:
#
# An enumeration of NFS transport types
#
# @inet: TCP transport
#
-# Since 2.8
+# Since: 2.8
##
{ 'enum': 'NFSTransport',
'data': [ 'inet' ] }
##
-# @NFSServer
+# @NFSServer:
#
# Captures the address of the socket
#
#
# @host: host address for NFS server
#
-# Since 2.8
+# Since: 2.8
##
{ 'struct': 'NFSServer',
'data': { 'type': 'NFSTransport',
'host': 'str' } }
##
-# @BlockdevOptionsNfs
+# @BlockdevOptionsNfs:
#
# Driver specific block device option for NFS
#
# @debug-level: #optional set the NFS debug level (max 2) (defaults
# to libnfs default)
#
-# Since 2.8
+# Since: 2.8
##
{ 'struct': 'BlockdevOptionsNfs',
'data': { 'server': 'NFSServer',
'*debug-level': 'int' } }
##
-# @BlockdevOptionsCurl
+# @BlockdevOptionsCurl:
#
# Driver specific block device options for the curl backend.
#
'data': { 'filename': 'str' } }
##
-# @BlockdevOptionsNbd
+# @BlockdevOptionsNbd:
#
# Driver specific block device options for NBD.
#
'*tls-creds': 'str' } }
##
-# @BlockdevOptionsRaw
+# @BlockdevOptionsRaw:
#
# Driver specific block device options for the raw driver.
#
'data': { '*offset': 'int', '*size': 'int' } }
##
-# @BlockdevOptions
+# @BlockdevOptions:
#
# Options for creating a block device. Many options are available for all
# block devices, independent of the block driver:
} }
##
-# @BlockdevRef
+# @BlockdevRef:
#
# Reference to a block device.
#
##
-# @BlockErrorAction
+# @BlockErrorAction:
#
# An enumeration of action that has been taken when a DISK I/O occurs
#
##
-# @BLOCK_IMAGE_CORRUPTED
+# @BLOCK_IMAGE_CORRUPTED:
#
# Emitted when a corruption has been detected in a disk image
#
'fatal' : 'bool' } }
##
-# @BLOCK_IO_ERROR
+# @BLOCK_IO_ERROR:
#
# Emitted when a disk I/O error occurs
#
'reason': 'str' } }
##
-# @BLOCK_JOB_COMPLETED
+# @BLOCK_JOB_COMPLETED:
#
# Emitted when a block job has completed
#
'*error': 'str' } }
##
-# @BLOCK_JOB_CANCELLED
+# @BLOCK_JOB_CANCELLED:
#
# Emitted when a block job has been cancelled
#
'speed' : 'int' } }
##
-# @BLOCK_JOB_ERROR
+# @BLOCK_JOB_ERROR:
#
# Emitted when a block job encounters an error
#
'action' : 'BlockErrorAction' } }
##
-# @BLOCK_JOB_READY
+# @BLOCK_JOB_READY:
#
# Emitted when a block job is ready to complete
#
'speed' : 'int' } }
##
-# @PreallocMode
+# @PreallocMode:
#
# Preallocation mode of QEMU image file
#
# space is really available. @full preallocation also sets up
# metadata correctly.
#
-# Since 2.2
+# Since: 2.2
##
{ 'enum': 'PreallocMode',
'data': [ 'off', 'metadata', 'falloc', 'full' ] }
##
-# @BLOCK_WRITE_THRESHOLD
+# @BLOCK_WRITE_THRESHOLD:
#
# Emitted when writes on block device reaches or exceeds the
# configured write threshold. For thin-provisioned devices, this
'write-threshold': 'uint64' } }
##
-# @block-set-write-threshold
+# @block-set-write-threshold:
#
# Change the write threshold for a block drive. An event will be delivered
# if a write to this block drive crosses the configured threshold.
'data': { 'node-name': 'str', 'write-threshold': 'uint64' } }
##
-# @x-blockdev-change
+# @x-blockdev-change:
#
# Dynamically reconfigure the block driver state graph. It can be used
# to add, remove, insert or replace a graph node. Currently only the
'data': ['auto', 'none', 'lba', 'large', 'rechs']}
##
-# @FloppyDriveType
+# @FloppyDriveType:
#
# Type of Floppy drive to be emulated by the Floppy Disk Controller.
#
'data': ['144', '288', '120', 'none', 'auto']}
##
-# @BlockdevSnapshotInternal
+# @BlockdevSnapshotInternal:
#
# @device: the device name or node-name of a root node to generate the snapshot
# from
'data': { 'device': 'str', 'name': 'str' } }
##
-# @blockdev-snapshot-internal-sync
+# @blockdev-snapshot-internal-sync:
#
# Synchronously take an internal snapshot of a block device, when the format
# of the image used supports it.
# If the format of the image used does not support it,
# BlockFormatFeatureNotSupported
#
-# Since 1.7
+# Since: 1.7
##
{ 'command': 'blockdev-snapshot-internal-sync',
'data': 'BlockdevSnapshotInternal' }
##
-# @blockdev-snapshot-delete-internal-sync
+# @blockdev-snapshot-delete-internal-sync:
#
# Synchronously delete an internal snapshot of a block device, when the format
# of the image used support it. The snapshot is identified by name or id or
# BlockFormatFeatureNotSupported
# If @id and @name are both not specified, GenericError
#
-# Since 1.7
+# Since: 1.7
##
{ 'command': 'blockdev-snapshot-delete-internal-sync',
'data': { 'device': 'str', '*id': 'str', '*name': 'str'},
{ 'command': 'nbd-server-stop' }
##
-# @DEVICE_TRAY_MOVED
+# @DEVICE_TRAY_MOVED:
#
# Emitted whenever the tray of a removable device is moved by the guest or by
# HMP/QMP commands
'data': { 'device': 'str', 'id': 'str', 'tray-open': 'bool' } }
##
-# @QuorumOpType
+# @QuorumOpType:
#
# An enumeration of the quorum operation types
#
# QAPI common definitions
##
-# @QapiErrorClass
+# @QapiErrorClass:
#
# QEMU error classes
#
'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] }
##
-# @VersionTriple
+# @VersionTriple:
#
# A three-part version number.
#
{ 'command': 'query-commands', 'returns': ['CommandInfo'] }
##
-# @OnOffAuto
+# @OnOffAuto:
#
# An enumeration of three options: on, off, and auto
#
'data': [ 'auto', 'on', 'off' ] }
##
-# @OnOffSplit
+# @OnOffSplit:
#
# An enumeration of three values: on, off, and split
#
##
-# @SHUTDOWN
+# @SHUTDOWN:
#
# Emitted when the virtual machine has shut down, indicating that qemu is
# about to exit.
{ 'event': 'SHUTDOWN' }
##
-# @POWERDOWN
+# @POWERDOWN:
#
# Emitted when the virtual machine is powered down through the power control
# system, such as via ACPI.
{ 'event': 'POWERDOWN' }
##
-# @RESET
+# @RESET:
#
# Emitted when the virtual machine is reset
#
{ 'event': 'RESET' }
##
-# @STOP
+# @STOP:
#
# Emitted when the virtual machine is stopped
#
{ 'event': 'STOP' }
##
-# @RESUME
+# @RESUME:
#
# Emitted when the virtual machine resumes execution
#
{ 'event': 'RESUME' }
##
-# @SUSPEND
+# @SUSPEND:
#
# Emitted when guest enters a hardware suspension state, for example, S3 state,
# which is sometimes called standby state
{ 'event': 'SUSPEND' }
##
-# @SUSPEND_DISK
+# @SUSPEND_DISK:
#
# Emitted when guest enters a hardware suspension state with data saved on
# disk, for example, S4 state, which is sometimes called hibernate state
{ 'event': 'SUSPEND_DISK' }
##
-# @WAKEUP
+# @WAKEUP:
#
# Emitted when the guest has woken up from suspend state and is running
#
{ 'event': 'WAKEUP' }
##
-# @RTC_CHANGE
+# @RTC_CHANGE:
#
# Emitted when the guest changes the RTC time.
#
'data': { 'offset': 'int' } }
##
-# @WATCHDOG
+# @WATCHDOG:
#
# Emitted when the watchdog device's timer is expired
#
'data': { 'action': 'WatchdogExpirationAction' } }
##
-# @DEVICE_DELETED
+# @DEVICE_DELETED:
#
# Emitted whenever the device removal completion is acknowledged by the guest.
# At this point, it's safe to reuse the specified device ID. Device removal can
'data': { '*device': 'str', 'path': 'str' } }
##
-# @NIC_RX_FILTER_CHANGED
+# @NIC_RX_FILTER_CHANGED:
#
# Emitted once until the 'query-rx-filter' command is executed, the first event
# will always be emitted
'data': { '*name': 'str', 'path': 'str' } }
##
-# @VNC_CONNECTED
+# @VNC_CONNECTED:
#
# Emitted when a VNC client establishes a connection
#
'client': 'VncBasicInfo' } }
##
-# @VNC_INITIALIZED
+# @VNC_INITIALIZED:
#
# Emitted after authentication takes place (if any) and the VNC session is
# made active
'client': 'VncClientInfo' } }
##
-# @VNC_DISCONNECTED
+# @VNC_DISCONNECTED:
#
# Emitted when the connection is closed
#
'client': 'VncClientInfo' } }
##
-# @SPICE_CONNECTED
+# @SPICE_CONNECTED:
#
# Emitted when a SPICE client establishes a connection
#
'client': 'SpiceBasicInfo' } }
##
-# @SPICE_INITIALIZED
+# @SPICE_INITIALIZED:
#
# Emitted after initial handshake and authentication takes place (if any)
# and the SPICE channel is up and running
'client': 'SpiceChannel' } }
##
-# @SPICE_DISCONNECTED
+# @SPICE_DISCONNECTED:
#
# Emitted when the SPICE connection is closed
#
'client': 'SpiceBasicInfo' } }
##
-# @SPICE_MIGRATE_COMPLETED
+# @SPICE_MIGRATE_COMPLETED:
#
# Emitted when SPICE migration has completed
#
{ 'event': 'SPICE_MIGRATE_COMPLETED' }
##
-# @MIGRATION
+# @MIGRATION:
#
# Emitted when a migration event happens
#
'data': {'status': 'MigrationStatus'}}
##
-# @MIGRATION_PASS
+# @MIGRATION_PASS:
#
# Emitted from the source side of a migration at the start of each pass
# (when it syncs the dirty bitmap)
'data': { 'pass': 'int' } }
##
-# @ACPI_DEVICE_OST
+# @ACPI_DEVICE_OST:
#
# Emitted when guest executes ACPI _OST method.
#
'data': { 'info': 'ACPIOSTInfo' } }
##
-# @BALLOON_CHANGE
+# @BALLOON_CHANGE:
#
# Emitted when the guest changes the actual BALLOON level. This value is
# equivalent to the @actual field return by the 'query-balloon' command
'data': { 'actual': 'int' } }
##
-# @GUEST_PANICKED
+# @GUEST_PANICKED:
#
# Emitted when guest OS panic is detected
#
'data': { 'action': 'GuestPanicAction' } }
##
-# @QUORUM_FAILURE
+# @QUORUM_FAILURE:
#
# Emitted by the Quorum block driver if it fails to establish a quorum
#
'data': { 'reference': 'str', 'sector-num': 'int', 'sectors-count': 'int' } }
##
-# @QUORUM_REPORT_BAD
+# @QUORUM_REPORT_BAD:
#
# Emitted to report a corruption of a Quorum file
#
'sector-num': 'int', 'sectors-count': 'int' } }
##
-# @VSERPORT_CHANGE
+# @VSERPORT_CHANGE:
#
# Emitted when the guest opens or closes a virtio-serial port.
#
'data': { 'id': 'str', 'open': 'bool' } }
##
-# @MEM_UNPLUG_ERROR
+# @MEM_UNPLUG_ERROR:
#
# Emitted when memory hot unplug error occurs.
#
'data': { 'device': 'str', 'msg': 'str' } }
##
-# @DUMP_COMPLETED
+# @DUMP_COMPLETED:
#
# Emitted when background dump has completed
#
# See the COPYING file in the top-level directory.
##
-# @query-qmp-schema
+# @query-qmp-schema:
#
# Command query-qmp-schema exposes the QMP wire ABI as an array of
# SchemaInfo. This lets QMP clients figure out what commands and
'gen': false } # just to simplify qmp_query_json()
##
-# @SchemaMetaType
+# @SchemaMetaType:
#
# This is a @SchemaInfo's meta type, i.e. the kind of entity it
# describes.
'command', 'event' ] }
##
-# @SchemaInfo
+# @SchemaInfo:
#
# @name: the entity's name, inherited from @base.
# Commands and events have the name defined in the QAPI schema.
'event': 'SchemaInfoEvent' } }
##
-# @SchemaInfoBuiltin
+# @SchemaInfoBuiltin:
#
# Additional SchemaInfo members for meta-type 'builtin'.
#
'data': { 'json-type': 'JSONType' } }
##
-# @JSONType
+# @JSONType:
#
# The four primitive and two structured types according to RFC 7159
# section 1, plus 'int' (split off 'number'), plus the obvious top
'object', 'array', 'value' ] }
##
-# @SchemaInfoEnum
+# @SchemaInfoEnum:
#
# Additional SchemaInfo members for meta-type 'enum'.
#
'data': { 'values': ['str'] } }
##
-# @SchemaInfoArray
+# @SchemaInfoArray:
#
# Additional SchemaInfo members for meta-type 'array'.
#
'data': { 'element-type': 'str' } }
##
-# @SchemaInfoObject
+# @SchemaInfoObject:
#
# Additional SchemaInfo members for meta-type 'object'.
#
'*variants': [ 'SchemaInfoObjectVariant' ] } }
##
-# @SchemaInfoObjectMember
+# @SchemaInfoObjectMember:
#
# An object member.
#
# @default's type must be null or match @type
##
-# @SchemaInfoObjectVariant
+# @SchemaInfoObjectVariant:
#
# The variant members for a value of the type tag.
#
'data': { 'case': 'str', 'type': 'str' } }
##
-# @SchemaInfoAlternate
+# @SchemaInfoAlternate:
#
# Additional SchemaInfo members for meta-type 'alternate'.
#
'data': { 'members': [ 'SchemaInfoAlternateMember' ] } }
##
-# @SchemaInfoAlternateMember
+# @SchemaInfoAlternateMember:
#
# An alternate member.
#
'data': { 'type': 'str' } }
##
-# @SchemaInfoCommand
+# @SchemaInfoCommand:
#
# Additional SchemaInfo members for meta-type 'command'.
#
'data': { 'arg-type': 'str', 'ret-type': 'str' } }
##
-# @SchemaInfoEvent
+# @SchemaInfoEvent:
#
# Additional SchemaInfo members for meta-type 'event'.
#
#
# @enabled: The event is dynamically enabled.
#
-# Since 2.2
+# Since: 2.2
##
{ 'enum': 'TraceEventState',
'data': ['unavailable', 'disabled', 'enabled'] }
# An event is per-vCPU if it has the "vcpu" property in the "trace-events"
# files.
#
-# Since 2.2
+# Since: 2.2
##
{ 'struct': 'TraceEventInfo',
'data': {'name': 'str', 'state': 'TraceEventState', 'vcpu': 'bool'} }
# exact match, @vcpu is given and the event does not have the "vcpu" property,
# an error is returned.
#
-# Since 2.2
+# Since: 2.2
##
{ 'command': 'trace-event-get-state',
'data': {'name': 'str', '*vcpu': 'int'},
# match, @vcpu is given and the event does not have the "vcpu" property, an
# error is returned.
#
-# Since 2.2
+# Since: 2.2
##
{ 'command': 'trace-event-set-state',
'data': {'name': 'str', 'enable': 'bool', '*ignore-unavailable': 'bool',
#
# Returns: Time in nanoseconds.
#
-# Since 1.5
+# Since: 1.5
##
{ 'command': 'guest-get-time',
'returns': 'int' }
# @success-response: whether command returns a response on success
# (since 1.7)
#
-# Since 1.1.0
+# Since: 1.1.0
##
{ 'struct': 'GuestAgentCommandInfo',
'data': { 'name': 'str', 'enabled': 'bool', 'success-response': 'bool' } }
##
-# @GuestAgentInfo
+# @GuestAgentInfo:
#
# Information about guest agent.
#
#
# @supported_commands: Information about guest agent commands
#
-# Since 0.15.0
+# Since: 0.15.0
##
{ 'struct': 'GuestAgentInfo',
'data': { 'version': 'str',
'data': { 'handle': 'int' } }
##
-# @GuestFileRead
+# @GuestFileRead:
#
# Result of guest agent file-read operation
#
'returns': 'GuestFileRead' }
##
-# @GuestFileWrite
+# @GuestFileWrite:
#
# Result of guest agent file-write operation
#
##
-# @GuestFileSeek
+# @GuestFileSeek:
#
# Result of guest agent file-seek operation
#
'data': { 'handle': 'int' } }
##
-# @GuestFsfreezeStatus
+# @GuestFsfreezeStatus:
#
# An enumeration of filesystem freeze states
#
'returns': 'int' }
##
-# @GuestFilesystemTrimResult
+# @GuestFilesystemTrimResult:
#
# @path: path that was trimmed
# @error: an error message when trim failed
'*trimmed': 'int', '*minimum': 'int', '*error': 'str'} }
##
-# @GuestFilesystemTrimResponse
+# @GuestFilesystemTrimResponse:
#
# @paths: list of @GuestFilesystemTrimResult per path that was trimmed
#
'returns': 'GuestFilesystemTrimResponse' }
##
-# @guest-suspend-disk
+# @guest-suspend-disk:
#
# Suspend guest to disk.
#
{ 'command': 'guest-suspend-disk', 'success-response': false }
##
-# @guest-suspend-ram
+# @guest-suspend-ram:
#
# Suspend guest to ram.
#
{ 'command': 'guest-suspend-ram', 'success-response': false }
##
-# @guest-suspend-hybrid
+# @guest-suspend-hybrid:
#
# Save guest state to disk and suspend to ram.
#
'returns': 'int' }
##
-# @GuestDiskBusType
+# @GuestDiskBusType:
#
# An enumeration of bus type of disks
#
'bus': 'int', 'target': 'int', 'unit': 'int'} }
##
-# @GuestFilesystemInfo
+# @GuestFilesystemInfo:
#
# @name: disk name
# @mountpoint: mount point path
'returns': ['GuestFilesystemInfo'] }
##
-# @guest-set-user-password
+# @guest-set-user-password:
#
# @username: the user account whose password to change
# @password: the new password entry string, base64 encoded
#
# Returns: Nothing on success.
#
-# Since 2.3
+# Since: 2.3
##
{ 'command': 'guest-set-user-password',
'data': { 'username': 'str', 'password': 'str', 'crypted': 'bool' } }
'returns': ['GuestMemoryBlock'] }
##
-# @GuestMemoryBlockResponseType
+# @GuestMemoryBlockResponseType:
#
# An enumeration of memory block operation result.
#
#
# Returns: @GuestMemoryBlockInfo
#
-# Since 2.3
+# Since: 2.3
##
{ 'command': 'guest-get-memory-block-info',
'returns': 'GuestMemoryBlockInfo' }
'*out-data': 'str', '*err-data': 'str',
'*out-truncated': 'bool', '*err-truncated': 'bool' }}
##
-# @guest-exec-status
+# @guest-exec-status:
#
# Check status of process associated with PID retrieved via guest-exec.
# Reap the process and associated metadata if it has exited.
#
# Returns: GuestExecStatus on success.
#
-# Since 2.5
+# Since: 2.5
##
{ 'command': 'guest-exec-status',
'data': { 'pid': 'int' },
# @GuestExec:
# @pid: pid of child process in guest OS
#
-#Since: 2.5
+# Since: 2.5
##
{ 'struct': 'GuestExec',
'data': { 'pid': 'int'} }