diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2016-12-06 09:49:51 +0000 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2016-12-06 09:49:51 +0000 |
commit | 8a844b2603c05aa3ce0739b44a83696820774d31 (patch) | |
tree | 9a55ddee56cd15f5a4a00160a69c155f31adbf0f | |
parent | e24f095e44c57a19717319ef3510f812c7a43d0e (diff) | |
parent | 5072f7b38b1b9b26b8fbe1a89086386a420aded8 (diff) | |
download | qemu-8a844b2603c05aa3ce0739b44a83696820774d31.tar.gz qemu-8a844b2603c05aa3ce0739b44a83696820774d31.tar.bz2 qemu-8a844b2603c05aa3ce0739b44a83696820774d31.zip |
Merge remote-tracking branch 'armbru/tags/pull-qapi-2016-12-05' into staging
QAPI patches for 2016-12-05
# gpg: Signature made Mon 05 Dec 2016 04:41:53 PM GMT
# gpg: using RSA key 0x3870B400EB918653
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>"
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* armbru/tags/pull-qapi-2016-12-05:
qapi: add missing colon-ending for section name
qapi: use one symbol per line
qapi: fix various symbols mismatch in documentation
qapi: fix missing symbol @prefix
qapi: fix schema symbol sections
qga/schema: fix double-return in doc
tests: Avoid qobject_from_jsonf("%"PRId64)
test-qga: Avoid qobject_from_jsonv("%"PRId64)
qmp-event: Avoid qobject_from_jsonf("%"PRId64)
Message-id: 1480956313-31322-1-git-send-email-armbru@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r-- | qapi-schema.json | 346 | ||||
-rw-r--r-- | qapi/block-core.json | 209 | ||||
-rw-r--r-- | qapi/block.json | 16 | ||||
-rw-r--r-- | qapi/common.json | 14 | ||||
-rw-r--r-- | qapi/crypto.json | 36 | ||||
-rw-r--r-- | qapi/event.json | 58 | ||||
-rw-r--r-- | qapi/introspect.json | 28 | ||||
-rw-r--r-- | qapi/qmp-event.c | 17 | ||||
-rw-r--r-- | qapi/rocker.json | 2 | ||||
-rw-r--r-- | qapi/trace.json | 8 | ||||
-rw-r--r-- | qga/qapi-schema.json | 52 | ||||
-rw-r--r-- | tests/check-qjson.c | 6 | ||||
-rw-r--r-- | tests/test-qga.c | 7 | ||||
-rw-r--r-- | tests/test-qobject-input-visitor.c | 5 |
14 files changed, 406 insertions, 398 deletions
diff --git a/qapi-schema.json b/qapi-schema.json index f3e9bfc510..a0d3b5d7c5 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -65,7 +65,8 @@ { 'enum': 'LostTickPolicy', '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. @@ -96,7 +97,7 @@ # # @name: #optional The name of the guest # -# Since 0.14.0 +# Since: 0.14.0 ## { 'struct': 'NameInfo', 'data': {'*name': 'str'} } @@ -107,7 +108,7 @@ # # Returns: @NameInfo of the guest # -# Since 0.14.0 +# Since: 0.14.0 ## { 'command': 'query-name', 'returns': 'NameInfo' } @@ -136,7 +137,7 @@ { 'command': 'query-kvm', 'returns': 'KvmInfo' } ## -# @RunState +# @RunState: # # An enumeration of VM run states. # @@ -235,7 +236,7 @@ # # Returns: The @UuidInfo for the guest # -# Since 0.14.0 +# Since: 0.14.0 ## { 'command': 'query-uuid', 'returns': 'UuidInfo' } @@ -382,7 +383,7 @@ { 'command': 'query-events', 'returns': ['EventInfo'] } ## -# @MigrationStats +# @MigrationStats: # # Detailed migration status. # @@ -396,7 +397,7 @@ # # @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) # @@ -420,7 +421,7 @@ 'postcopy-requests' : 'int' } } ## -# @XBZRLECacheStats +# @XBZRLECacheStats: # # Detailed XBZRLE migration cache statistics # @@ -443,6 +444,7 @@ 'cache-miss': 'int', 'cache-miss-rate': 'number', 'overflow': 'int' } } +## # @MigrationStatus: # # An enumeration of migration status. @@ -474,7 +476,7 @@ 'active', 'postcopy-active', 'completed', 'failed', 'colo' ] } ## -# @MigrationInfo +# @MigrationInfo: # # Information about current migration process. # @@ -534,7 +536,7 @@ '*error-desc': 'str'} } ## -# @query-migrate +# @query-migrate: # # Returns information about current migration process. # @@ -545,7 +547,7 @@ { 'command': 'query-migrate', 'returns': 'MigrationInfo' } ## -# @MigrationCapability +# @MigrationCapability: # # Migration capabilities enumeration # @@ -593,7 +595,7 @@ 'compress', 'events', 'postcopy-ram', 'x-colo'] } ## -# @MigrationCapabilityStatus +# @MigrationCapabilityStatus: # # Migration capability information # @@ -607,7 +609,7 @@ 'data': { 'capability' : 'MigrationCapability', 'state' : 'bool' } } ## -# @migrate-set-capabilities +# @migrate-set-capabilities: # # Enable/Disable the following migration capabilities (like xbzrle) # @@ -619,7 +621,7 @@ 'data': { 'capabilities': ['MigrationCapabilityStatus'] } } ## -# @query-migrate-capabilities +# @query-migrate-capabilities: # # Returns information about the current migration capabilities status # @@ -629,7 +631,8 @@ ## { 'command': 'query-migrate-capabilities', 'returns': ['MigrationCapabilityStatus']} -# @MigrationParameter +## +# @MigrationParameter: # # Migration parameters enumeration # @@ -687,20 +690,18 @@ 'tls-creds', 'tls-hostname', 'max-bandwidth', 'downtime-limit', 'x-checkpoint-delay' ] } -# -# @migrate-set-parameters +## +# @migrate-set-parameters: # # Set various migration parameters. See MigrationParameters for details. # -# @x-checkpoint-delay: the delay time between two checkpoints. (Since 2.8) -# # Since: 2.4 ## { 'command': 'migrate-set-parameters', 'boxed': true, 'data': 'MigrationParameters' } -# -# @MigrationParameters +## +# @MigrationParameters: # # Optional members can be omitted on input ('migrate-set-parameters') # but most members will always be present on output @@ -759,7 +760,7 @@ '*x-checkpoint-delay': 'int'} } ## -# @query-migrate-parameters +# @query-migrate-parameters: # # Returns information about the current migration parameters # @@ -771,7 +772,7 @@ '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 @@ -790,17 +791,18 @@ '*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. # # Since: 2.5 +## { 'command': 'migrate-start-postcopy' } ## -# @COLOMessage +# @COLOMessage: # # The message transmission between Primary side and Secondary side. # @@ -826,7 +828,7 @@ 'vmstate-loaded' ] } ## -# @COLOMode +# @COLOMode: # # The colo mode # @@ -842,7 +844,7 @@ 'data': [ 'unknown', 'primary', 'secondary'] } ## -# @FailoverStatus +# @FailoverStatus: # # An enumeration of COLO failover status # @@ -860,7 +862,7 @@ '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. @@ -954,7 +956,7 @@ # # @pc: the 64-bit instruction pointer # -# Since 2.6 +# Since: 2.6 ## { 'struct': 'CpuInfoX86', 'data': { 'pc': 'int' } } @@ -967,7 +969,7 @@ # # @npc: the NPC component of the instruction pointer # -# Since 2.6 +# Since: 2.6 ## { 'struct': 'CpuInfoSPARC', 'data': { 'pc': 'int', 'npc': 'int' } } @@ -978,7 +980,7 @@ # # @nip: the instruction pointer # -# Since 2.6 +# Since: 2.6 ## { 'struct': 'CpuInfoPPC', 'data': { 'nip': 'int' } } @@ -989,7 +991,7 @@ # # @PC: the instruction pointer # -# Since 2.6 +# Since: 2.6 ## { 'struct': 'CpuInfoMIPS', 'data': { 'PC': 'int' } } @@ -1000,7 +1002,7 @@ # # @PC: the instruction pointer # -# Since 2.6 +# Since: 2.6 ## { 'struct': 'CpuInfoTricore', 'data': { 'PC': 'int' } } @@ -1009,7 +1011,7 @@ # # No additional information is available about the virtual CPU # -# Since 2.6 +# Since: 2.6 # ## { 'struct': 'CpuInfoOther', 'data': { } } @@ -1044,7 +1046,7 @@ # # 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. # @@ -1055,7 +1057,7 @@ { 'command': 'query-iothreads', 'returns': ['IOThreadInfo'] } ## -# @NetworkAddressFamily +# @NetworkAddressFamily: # # The network address family # @@ -1075,7 +1077,7 @@ 'data': [ 'ipv4', 'ipv6', 'unix', 'vsock', 'unknown' ] } ## -# @VncBasicInfo +# @VncBasicInfo: # # The basic information for vnc network connection # @@ -1098,7 +1100,7 @@ 'websocket': 'bool' } } ## -# @VncServerInfo +# @VncServerInfo: # # The network connection information for server # @@ -1169,7 +1171,7 @@ '*service': 'str', '*auth': 'str', '*clients': ['VncClientInfo']} } ## -# @VncPriAuth: +# @VncPrimaryAuth: # # vnc primary authentication method. # @@ -1248,7 +1250,7 @@ { 'command': 'query-vnc-servers', 'returns': ['VncInfo2'] } ## -# @SpiceBasicInfo +# @SpiceBasicInfo: # # The basic information for SPICE network connection # @@ -1266,7 +1268,7 @@ 'family': 'NetworkAddressFamily' } } ## -# @SpiceServerInfo +# @SpiceServerInfo: # # Information about a SPICE server # @@ -1279,7 +1281,7 @@ 'data': { '*auth': 'str' } } ## -# @SpiceChannel +# @SpiceChannel: # # Information about a SPICE client channel. # @@ -1304,7 +1306,7 @@ 'tls': 'bool'} } ## -# @SpiceQueryMouseMode +# @SpiceQueryMouseMode: # # An enumeration of Spice mouse states. # @@ -1323,7 +1325,7 @@ 'data': [ 'client', 'server', 'unknown' ] } ## -# @SpiceInfo +# @SpiceInfo: # # Information about the SPICE session. # @@ -1362,7 +1364,7 @@ 'mouse-mode': 'SpiceQueryMouseMode', '*channels': ['SpiceChannel']} } ## -# @query-spice +# @query-spice: # # Returns information about the current SPICE server # @@ -1412,7 +1414,7 @@ { 'struct': 'PciMemoryRange', 'data': {'base': 'int', 'limit': 'int'} } ## -# @PciMemoryRegion +# @PciMemoryRegion: # # Information about a PCI device I/O region. # @@ -1621,7 +1623,7 @@ { 'command': 'cpu', 'data': {'index': 'int'} } ## -# @cpu-add +# @cpu-add: # # Adds CPU with specified ID # @@ -1629,7 +1631,7 @@ # # Returns: Nothing on success # -# Since 1.5 +# Since: 1.5 ## { 'command': 'cpu-add', 'data': {'id': 'int'} } @@ -1760,17 +1762,17 @@ { '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. # @@ -1790,12 +1792,12 @@ '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 @@ -1818,7 +1820,7 @@ } } ## -# @TransactionProperties +# @TransactionProperties: # # Optional arguments to modify the behavior of a Transaction. # @@ -1835,7 +1837,7 @@ } ## -# @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 @@ -1855,7 +1857,7 @@ # 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' ], @@ -1892,7 +1894,7 @@ 'returns': 'str' } ## -# @migrate_cancel +# @migrate_cancel: # # Cancel the current executing migration process. # @@ -1905,7 +1907,7 @@ { 'command': 'migrate_cancel' } ## -# @migrate_set_downtime +# @migrate_set_downtime: # # Set maximum tolerated downtime for migration. # @@ -1920,7 +1922,7 @@ { 'command': 'migrate_set_downtime', 'data': {'value': 'number'} } ## -# @migrate_set_speed +# @migrate_set_speed: # # Set maximum speed for migration. # @@ -1935,7 +1937,7 @@ { 'command': 'migrate_set_speed', 'data': {'value': 'int'} } ## -# @migrate-set-cache-size +# @migrate-set-cache-size: # # Set XBZRLE cache size # @@ -1951,7 +1953,7 @@ { 'command': 'migrate-set-cache-size', 'data': {'value': 'int'} } ## -# @query-migrate-cache-size +# @query-migrate-cache-size: # # query XBZRLE cache size # @@ -2216,7 +2218,7 @@ 'returns': [ 'DevicePropertyInfo' ] } ## -# @migrate +# @migrate: # # Migrates the current running guest to another Virtual Machine. # @@ -2237,7 +2239,7 @@ '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 @@ -2254,6 +2256,7 @@ ## { 'command': 'migrate-incoming', 'data': {'uri': 'str' } } +## # @xen-save-devices-state: # # Save the state of all devices to file. The RAM and the block devices @@ -2270,7 +2273,7 @@ { '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. # @@ -2362,7 +2365,7 @@ '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. @@ -2416,7 +2419,7 @@ '*format': 'DumpGuestMemoryFormat'} } ## -# @DumpStatus +# @DumpStatus: # # Describe the status of a long-running background guest memory dump. # @@ -2428,13 +2431,13 @@ # # @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'. # @@ -2444,7 +2447,7 @@ # # @total: total bytes to be written in latest dump (uncompressed) # -# Since 2.6 +# Since: 2.6 ## { 'struct': 'DumpQueryResult', 'data': { 'status': 'DumpStatus', @@ -2452,7 +2455,7 @@ 'total': 'int' } } ## -# @query-dump +# @query-dump: # # Query latest dump status. # @@ -2487,7 +2490,7 @@ 'returns': 'DumpGuestMemoryCapability' } ## -# @dump-skeys +# @dump-skeys: # # Dump guest's storage keys # @@ -2574,17 +2577,17 @@ { '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. # @@ -2598,7 +2601,7 @@ # # @vectors: #optional number of MSI-x vectors, 0 to disable MSI-X # -# Since 1.2 +# Since: 1.2 ## { 'struct': 'NetLegacyNicOptions', 'data': { @@ -2609,18 +2612,18 @@ '*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. @@ -2677,7 +2680,7 @@ # # @guestfwd: #optional forward guest TCP connections # -# Since 1.2 +# Since: 1.2 ## { 'struct': 'NetdevUserOptions', 'data': { @@ -2703,7 +2706,7 @@ '*guestfwd': ['String'] } } ## -# @NetdevTapOptions +# @NetdevTapOptions: # # Connect the host TAP network interface name to the VLAN. # @@ -2740,7 +2743,7 @@ # @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': { @@ -2761,7 +2764,7 @@ '*poll-us': 'uint32'} } ## -# @NetdevSocketOptions +# @NetdevSocketOptions: # # Connect the VLAN to a remote VLAN in another QEMU virtual machine using a TCP # socket connection. @@ -2778,7 +2781,7 @@ # # @udp: #optional UDP unicast address and port number # -# Since 1.2 +# Since: 1.2 ## { 'struct': 'NetdevSocketOptions', 'data': { @@ -2790,7 +2793,7 @@ '*udp': 'str' } } ## -# @NetdevL2TPv3Options +# @NetdevL2TPv3Options: # # Connect the VLAN to Ethernet over L2TPv3 Static tunnel # @@ -2826,7 +2829,7 @@ # @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': { @@ -2846,7 +2849,7 @@ '*offset': 'uint32' } } ## -# @NetdevVdeOptions +# @NetdevVdeOptions: # # Connect the VLAN to a vde switch running on the host. # @@ -2858,7 +2861,7 @@ # # @mode: #optional permissions for socket # -# Since 1.2 +# Since: 1.2 ## { 'struct': 'NetdevVdeOptions', 'data': { @@ -2868,7 +2871,7 @@ '*mode': 'uint16' } } ## -# @NetdevDumpOptions +# @NetdevDumpOptions: # # Dump VLAN network traffic to a file. # @@ -2877,7 +2880,7 @@ # # @file: #optional dump file path (default is qemu-vlan0.pcap) # -# Since 1.2 +# Since: 1.2 ## { 'struct': 'NetdevDumpOptions', 'data': { @@ -2885,7 +2888,7 @@ '*file': 'str' } } ## -# @NetdevBridgeOptions +# @NetdevBridgeOptions: # # Connect a host TAP network interface to a host bridge device. # @@ -2893,7 +2896,7 @@ # # @helper: #optional command to execute to configure bridge # -# Since 1.2 +# Since: 1.2 ## { 'struct': 'NetdevBridgeOptions', 'data': { @@ -2901,20 +2904,20 @@ '*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 # @@ -2927,7 +2930,7 @@ # # @devname: #optional path of the netmap device (default: '/dev/netmap'). # -# Since 2.0 +# Since: 2.0 ## { 'struct': 'NetdevNetmapOptions', 'data': { @@ -2935,7 +2938,7 @@ '*devname': 'str' } } ## -# @NetdevVhostUserOptions +# @NetdevVhostUserOptions: # # Vhost-user network backend # @@ -2946,7 +2949,7 @@ # @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': { @@ -2955,18 +2958,18 @@ '*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. # @@ -2974,7 +2977,7 @@ # # @type: Specify the driver used for interpreting remaining arguments. # -# Since 1.2 +# Since: 1.2 # # 'l2tpv3' - since 2.1 ## @@ -2996,7 +2999,7 @@ 'vhost-user': 'NetdevVhostUserOptions' } } ## -# @NetLegacy +# @NetLegacy: # # Captures the configuration of a network device; legacy. # @@ -3008,7 +3011,7 @@ # # @opts: device type specific properties (legacy) # -# Since 1.2 +# Since: 1.2 ## { 'struct': 'NetLegacy', 'data': { @@ -3018,11 +3021,11 @@ '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': { @@ -3039,7 +3042,7 @@ 'vhost-user': 'NetdevVhostUserOptions' } } ## -# @NetFilterDirection +# @NetFilterDirection: # # Indicates whether a netfilter is attached to a netdev's transmit queue or # receive queue or both. @@ -3053,13 +3056,13 @@ # @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. # @@ -3075,7 +3078,7 @@ # @ipv6: whether to accept IPv6 addresses, default try both IPv4 and IPv6 # #optional # -# Since 1.3 +# Since: 1.3 ## { 'struct': 'InetSocketAddress', 'data': { @@ -3086,30 +3089,30 @@ '*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': { @@ -3117,11 +3120,11 @@ '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': { @@ -3171,7 +3174,7 @@ # # @alias: #optional an alias for the machine name # -# @default: #optional whether the machine is default +# @is-default: #optional whether the machine is default # # @cpu-max: maximum number of CPUs supported by the machine type # (since 1.5.0) @@ -3272,7 +3275,7 @@ '*props': 'any' } } ## -# @CpuModelExpansionType +# @CpuModelExpansionType: # # An enumeration of CPU model expansion types. # @@ -3295,7 +3298,7 @@ ## -# @CpuModelExpansionInfo +# @CpuModelExpansionInfo: # # The result of a cpu model expansion. # @@ -3369,7 +3372,7 @@ 'data': [ 'incompatible', 'identical', 'superset', 'subset' ] } ## -# @CpuModelCompareInfo +# @CpuModelCompareInfo: # # The result of a CPU model comparison. # @@ -3433,7 +3436,7 @@ 'returns': 'CpuModelCompareInfo' } ## -# @CpuModelBaselineInfo +# @CpuModelBaselineInfo: # # The result of a CPU model baseline. # @@ -3484,6 +3487,7 @@ 'modelb': 'CpuModelInfo' }, 'returns': 'CpuModelBaselineInfo' } +## # @AddfdInfo: # # Information about a file descriptor that was added to an fd set. @@ -3608,15 +3612,19 @@ ## # @QKeyCode: # +# @unmapped: since 2.0 +# @pause: since 2.0 +# @ro: since 2.4 +# @kp_comma: since 2.4 +# @kp_equals: since 2.6 +# @power: since 2.6 +# # An enumeration of key name. # # This is used by the send-key command. # # Since: 1.3.0 # -# 'unmapped' and 'pause' since 2.0 -# 'ro' and 'kp_comma' since 2.4 -# 'kp_equals' and 'power' since 2.6 ## { 'enum': 'QKeyCode', 'data': [ 'unmapped', @@ -3638,7 +3646,7 @@ 'kp_comma', 'kp_equals', 'power' ] } ## -# @KeyValue +# @KeyValue: # # Represents a keyboard key. # @@ -3723,7 +3731,6 @@ # # @device: The name of the special file for the device, # i.e. /dev/ttyS0 on Unix or COM1: on Windows -# @type: What kind of device this is. # # Since: 1.4 ## @@ -3988,7 +3995,7 @@ # # A union referencing different TPM backend types' configuration options # -# @passthrough: The configuration options for the TPM passthrough type +# @type: 'passthrough' The configuration options for the TPM passthrough type # # Since: 1.5 ## @@ -3996,7 +4003,7 @@ 'data': { 'passthrough' : 'TPMPassthroughOptions' } } ## -# @TpmInfo: +# @TPMInfo: # # Information about the TPM # @@ -4025,7 +4032,7 @@ { 'command': 'query-tpm', 'returns': ['TPMInfo'] } ## -# @AcpiTableOptions +# @AcpiTableOptions: # # Specify an ACPI table on the command line to load. # @@ -4068,7 +4075,7 @@ # ACPI table header. At least one file is required. This field excludes # @file. # -# Since 1.5 +# Since: 1.5 ## { 'struct': 'AcpiTableOptions', 'data': { @@ -4096,7 +4103,7 @@ # @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'] } @@ -4114,7 +4121,7 @@ # # @default: #optional default value string (since 2.1) # -# Since 1.5 +# Since: 1.5 ## { 'struct': 'CommandLineParameterInfo', 'data': { 'name': 'str', @@ -4131,7 +4138,7 @@ # # @parameters: an array of @CommandLineParameterInfo # -# Since 1.5 +# Since: 1.5 ## { 'struct': 'CommandLineOptionInfo', 'data': { 'option': 'str', 'parameters': ['CommandLineParameterInfo'] } } @@ -4146,13 +4153,13 @@ # 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 # @@ -4162,7 +4169,7 @@ 'data': [ 'EAX', 'EBX', 'ECX', 'EDX', 'ESP', 'EBP', 'ESI', 'EDI' ] } ## -# @X86CPUFeatureWordInfo +# @X86CPUFeatureWordInfo: # # Information about a X86 CPU feature word # @@ -4184,11 +4191,11 @@ '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'] } } @@ -4238,7 +4245,7 @@ # # @multicast-table: a list of multicast macaddr string # -# Since 1.6 +# Since: 1.6 ## { 'struct': 'RxFilterInfo', 'data': { @@ -4273,7 +4280,7 @@ 'returns': ['RxFilterInfo'] } ## -# @InputButton +# @InputButton: # # Button of a pointer input device (mouse, tablet). # @@ -4283,7 +4290,7 @@ 'data' : [ 'left', 'middle', 'right', 'wheel-up', 'wheel-down' ] } ## -# @InputAxis +# @InputAxis: # # Position axis of a pointer input device (mouse, tablet). # @@ -4293,7 +4300,7 @@ 'data' : [ 'x', 'y' ] } ## -# @InputKeyEvent +# @InputKeyEvent: # # Keyboard input event. # @@ -4307,7 +4314,7 @@ 'down' : 'bool' } } ## -# @InputBtnEvent +# @InputBtnEvent: # # Pointer button input event. # @@ -4321,7 +4328,7 @@ 'down' : 'bool' } } ## -# @InputMoveEvent +# @InputMoveEvent: # # Pointer motion input event. # @@ -4336,14 +4343,15 @@ 'value' : 'int' } } ## -# @InputEvent +# @InputEvent: # # Input event union. # -# @key: Input event of Keyboard -# @btn: Input event of pointer buttons -# @rel: Input event of relative pointer motion -# @abs: Input event of absolute pointer motion +# @type: the input type, one of: +# - 'key': Input event of Keyboard +# - 'btn': Input event of pointer buttons +# - 'rel': Input event of relative pointer motion +# - 'abs': Input event of absolute pointer motion # # Since: 2.0 ## @@ -4354,7 +4362,7 @@ 'abs' : 'InputMoveEvent' } } ## -# @input-send-event +# @input-send-event: # # Send input event(s) to guest. # @@ -4384,18 +4392,18 @@ '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) # @@ -4421,7 +4429,7 @@ '*memdev': 'str' }} ## -# @HostMemPolicy +# @HostMemPolicy: # # Host memory policy types # @@ -4435,7 +4443,7 @@ # @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' ] } @@ -4524,7 +4532,7 @@ { 'union': 'MemoryDeviceInfo', 'data': {'dimm': 'PCDIMMDeviceInfo'} } ## -# @query-memory-devices +# @query-memory-devices: # # Lists available memory devices and their state # @@ -4532,14 +4540,16 @@ ## { '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 @@ -4565,7 +4575,7 @@ '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 @@ -4575,7 +4585,7 @@ { 'command': 'query-acpi-ospm-status', 'returns': ['ACPIOSTInfo'] } ## -# @WatchdogExpirationAction +# @WatchdogExpirationAction: # # An enumeration of the actions taken when the watchdog device's timer is # expired @@ -4603,7 +4613,7 @@ 'inject-nmi' ] } ## -# @IoOperationType +# @IoOperationType: # # An enumeration of the I/O operation types # @@ -4617,7 +4627,7 @@ 'data': [ 'read', 'write' ] } ## -# @GuestPanicAction +# @GuestPanicAction: # # An enumeration of the actions taken when guest OS panic is detected # @@ -4629,7 +4639,7 @@ '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 @@ -4644,7 +4654,7 @@ { 'include': 'qapi/rocker.json' } ## -# ReplayMode: +# @ReplayMode: # # Mode of the replay subsystem. # @@ -4712,7 +4722,7 @@ { '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 @@ -4740,7 +4750,7 @@ } ## -# @HotpluggableCPU +# @HotpluggableCPU: # # @type: CPU object type for usage with device_add command # @props: list of properties to be used for hotplugging CPU @@ -4759,7 +4769,7 @@ } ## -# @query-hotpluggable-cpus +# @query-hotpluggable-cpus: # # Returns: a list of HotpluggableCPU objects. # diff --git a/qapi/block-core.json b/qapi/block-core.json index c29bef7ee1..ec1da2a29a 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -6,7 +6,7 @@ { 'include': 'common.json' } ## -# @SnapshotInfo +# @SnapshotInfo: # # @id: unique snapshot id # @@ -213,7 +213,7 @@ '*filename': 'str' } } ## -# @BlockdevCacheInfo +# @BlockdevCacheInfo: # # Cache mode information for a block device # @@ -378,7 +378,7 @@ # @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', @@ -790,7 +790,7 @@ '*node-name': 'str', 'password': 'str'} } ## -# @block_resize +# @block_resize: # # Resize a block image while a guest is running. # @@ -812,7 +812,7 @@ 'size': 'int' }} ## -# @NewImageMode +# @NewImageMode: # # An enumeration that tells QEMU how to set the backing file path in # a new image file. @@ -829,7 +829,7 @@ 'data': [ 'existing', 'absolute-paths' ] } ## -# @BlockdevSnapshotSync +# @BlockdevSnapshotSync: # # Either @device or @node-name must be set but not both. # @@ -852,7 +852,7 @@ '*format': 'str', '*mode': 'NewImageMode' } } ## -# @BlockdevSnapshot +# @BlockdevSnapshot: # # @node: device or node name that will have a snapshot created. # @@ -861,13 +861,13 @@ # 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) @@ -905,9 +905,9 @@ # 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 ## @@ -919,7 +919,7 @@ '*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) @@ -946,9 +946,9 @@ # 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 ## @@ -961,7 +961,7 @@ '*on-target-error': 'BlockdevOnError' } } ## -# @blockdev-snapshot-sync +# @blockdev-snapshot-sync: # # Generates a synchronous snapshot of a block device. # @@ -970,26 +970,26 @@ # 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 @@ -1016,7 +1016,7 @@ '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'. @@ -1079,7 +1079,7 @@ '*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 @@ -1092,13 +1092,13 @@ # 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 @@ -1111,25 +1111,25 @@ # 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. # @@ -1138,13 +1138,13 @@ # 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. # @@ -1198,7 +1198,7 @@ # 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', @@ -1210,19 +1210,19 @@ '*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 # @@ -1231,13 +1231,13 @@ # @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 # @@ -1245,13 +1245,13 @@ # 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 # @@ -1260,13 +1260,13 @@ # 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 # @@ -1274,13 +1274,13 @@ # 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. # @@ -1321,7 +1321,7 @@ # # Returns: nothing on success. # -# Since 2.6 +# Since: 2.6 ## { 'command': 'blockdev-mirror', 'data': { '*job-id': 'str', 'device': 'str', 'target': 'str', @@ -1368,7 +1368,7 @@ 'data': 'BlockIOThrottle' } ## -# BlockIOThrottle +# @BlockIOThrottle: # # A set of parameters describing block throttling. # @@ -1650,7 +1650,7 @@ { 'command': 'block-job-complete', 'data': { 'device': 'str' } } ## -# @BlockdevDiscardOptions +# @BlockdevDiscardOptions: # # Determines how to handle discard requests. # @@ -1663,7 +1663,7 @@ '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. @@ -1679,7 +1679,7 @@ 'data': [ 'off', 'on', 'unmap' ] } ## -# @BlockdevAioOptions +# @BlockdevAioOptions: # # Selects the AIO backend to handle I/O requests # @@ -1692,7 +1692,7 @@ 'data': [ 'threads', 'native' ] } ## -# @BlockdevCacheOptions +# @BlockdevCacheOptions: # # Includes cache-related options for block devices # @@ -1708,13 +1708,17 @@ '*no-flush': 'bool' } } ## -# @BlockdevDriver +# @BlockdevDriver: # # Drivers that are supported in block device operations. # -# @host_device, @host_cdrom: Since 2.1 +# @host_device: Since 2.1 +# @host_cdrom: Since 2.1 # @gluster: Since 2.7 -# @nbd, @nfs, @replication, @ssh: Since 2.8 +# @nbd: Since 2.8 +# @nfs: Since 2.8 +# @replication: Since 2.8 +# @ssh: Since 2.8 # # Since: 2.0 ## @@ -1727,7 +1731,7 @@ 'vvfat' ] } ## -# @BlockdevOptionsFile +# @BlockdevOptionsFile: # # Driver specific block device options for the file backend. # @@ -1741,7 +1745,7 @@ '*aio': 'BlockdevAioOptions' } } ## -# @BlockdevOptionsNull +# @BlockdevOptionsNull: # # Driver specific block device options for the null backend. # @@ -1756,7 +1760,7 @@ 'data': { '*size': 'int', '*latency-ns': 'uint64' } } ## -# @BlockdevOptionsVVFAT +# @BlockdevOptionsVVFAT: # # Driver specific block device options for the vvfat protocol. # @@ -1777,7 +1781,7 @@ '*label': 'str', '*rw': 'bool' } } ## -# @BlockdevOptionsGenericFormat +# @BlockdevOptionsGenericFormat: # # Driver specific block device options for image format that have no option # besides their data source. @@ -1790,7 +1794,7 @@ 'data': { 'file': 'BlockdevRef' } } ## -# @BlockdevOptionsLUKS +# @BlockdevOptionsLUKS: # # Driver specific block device options for LUKS. # @@ -1806,7 +1810,7 @@ ## -# @BlockdevOptionsGenericCOWFormat +# @BlockdevOptionsGenericCOWFormat: # # Driver specific block device options for image format that have no option # besides their data source and an optional backing file. @@ -1823,7 +1827,7 @@ 'data': { '*backing': 'BlockdevRef' } } ## -# @Qcow2OverlapCheckMode +# @Qcow2OverlapCheckMode: # # General overlap check modes. # @@ -1843,7 +1847,7 @@ '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 @@ -1866,7 +1870,7 @@ '*inactive-l2': 'bool' } } ## -# @Qcow2OverlapChecks +# @Qcow2OverlapChecks: # # Specifies which metadata structures should be guarded against unintended # overwriting. @@ -1883,7 +1887,7 @@ 'mode': 'Qcow2OverlapCheckMode' } } ## -# @BlockdevOptionsQcow2 +# @BlockdevOptionsQcow2: # # Driver specific block device options for qcow2. # @@ -1933,7 +1937,7 @@ ## -# @BlockdevOptionsArchipelago +# @BlockdevOptionsArchipelago: # # Driver specific block device options for Archipelago. # @@ -1962,7 +1966,7 @@ '*segment': 'str' } } ## -# @BlockdevOptionsSsh +# @BlockdevOptionsSsh: # # @server: host address # @@ -1973,7 +1977,7 @@ # # TODO: Expose the host_key_check option in QMP # -# Since 2.8 +# Since: 2.8 ## { 'struct': 'BlockdevOptionsSsh', 'data': { 'server': 'InetSocketAddress', @@ -1982,7 +1986,7 @@ ## -# @BlkdebugEvent +# @BlkdebugEvent: # # Trigger events supported by blkdebug. # @@ -2005,7 +2009,7 @@ 'pwritev_zero', 'pwritev_done', 'empty_image_prepare' ] } ## -# @BlkdebugInjectErrorOptions +# @BlkdebugInjectErrorOptions: # # Describes a single error injection for blkdebug. # @@ -2037,7 +2041,7 @@ '*immediately': 'bool' } } ## -# @BlkdebugSetStateOptions +# @BlkdebugSetStateOptions: # # Describes a single state-change event for blkdebug. # @@ -2057,7 +2061,7 @@ 'new_state': 'int' } } ## -# @BlockdevOptionsBlkdebug +# @BlockdevOptionsBlkdebug: # # Driver specific block device options for blkdebug. # @@ -2082,7 +2086,7 @@ '*set-state': ['BlkdebugSetStateOptions'] } } ## -# @BlockdevOptionsBlkverify +# @BlockdevOptionsBlkverify: # # Driver specific block device options for blkverify. # @@ -2097,7 +2101,7 @@ 'raw': 'BlockdevRef' } } ## -# @QuorumReadPattern +# @QuorumReadPattern: # # An enumeration of quorum read patterns. # @@ -2110,7 +2114,7 @@ { 'enum': 'QuorumReadPattern', 'data': [ 'quorum', 'fifo' ] } ## -# @BlockdevOptionsQuorum +# @BlockdevOptionsQuorum: # # Driver specific block device options for Quorum # @@ -2137,7 +2141,7 @@ '*read-pattern': 'QuorumReadPattern' } } ## -# @GlusterTransport +# @GlusterTransport: # # An enumeration of Gluster transport types # @@ -2152,7 +2156,7 @@ ## -# @GlusterServer +# @GlusterServer: # # Captures the address of a socket # @@ -2160,10 +2164,6 @@ # # @type: Transport type used for gluster connection # -# @unix: socket file -# -# @tcp: host address and port number -# # This is similar to SocketAddress, only distinction: # # 1. GlusterServer is a flat union, SocketAddress is a simple union. @@ -2185,7 +2185,7 @@ 'tcp': 'InetSocketAddress' } } ## -# @BlockdevOptionsGluster +# @BlockdevOptionsGluster: # # Driver specific block device options for Gluster # @@ -2209,7 +2209,7 @@ '*logfile': 'str' } } ## -# @ReplicationMode +# @ReplicationMode: # # An enumeration of replication modes. # @@ -2222,7 +2222,7 @@ { 'enum' : 'ReplicationMode', 'data' : [ 'primary', 'secondary' ] } ## -# @BlockdevOptionsReplication +# @BlockdevOptionsReplication: # # Driver specific block device options for replication # @@ -2240,19 +2240,19 @@ '*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 # @@ -2260,14 +2260,14 @@ # # @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 # @@ -2295,7 +2295,7 @@ # @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', @@ -2308,7 +2308,7 @@ '*debug-level': 'int' } } ## -# @BlockdevOptionsCurl +# @BlockdevOptionsCurl: # # Driver specific block device options for the curl backend. # @@ -2320,7 +2320,7 @@ 'data': { 'filename': 'str' } } ## -# @BlockdevOptionsNbd +# @BlockdevOptionsNbd: # # Driver specific block device options for NBD. # @@ -2338,7 +2338,7 @@ '*tls-creds': 'str' } } ## -# @BlockdevOptionsRaw +# @BlockdevOptionsRaw: # # Driver specific block device options for the raw driver. # @@ -2352,7 +2352,7 @@ '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: @@ -2418,7 +2418,7 @@ } } ## -# @BlockdevRef +# @BlockdevRef: # # Reference to a block device. # @@ -2616,7 +2616,7 @@ ## -# @BlockErrorAction +# @BlockErrorAction: # # An enumeration of action that has been taken when a DISK I/O occurs # @@ -2633,7 +2633,7 @@ ## -# @BLOCK_IMAGE_CORRUPTED +# @BLOCK_IMAGE_CORRUPTED: # # Emitted when a corruption has been detected in a disk image # @@ -2668,7 +2668,7 @@ 'fatal' : 'bool' } } ## -# @BLOCK_IO_ERROR +# @BLOCK_IO_ERROR: # # Emitted when a disk I/O error occurs # @@ -2704,7 +2704,7 @@ 'reason': 'str' } } ## -# @BLOCK_JOB_COMPLETED +# @BLOCK_JOB_COMPLETED: # # Emitted when a block job has completed # @@ -2736,7 +2736,7 @@ '*error': 'str' } } ## -# @BLOCK_JOB_CANCELLED +# @BLOCK_JOB_CANCELLED: # # Emitted when a block job has been cancelled # @@ -2762,7 +2762,7 @@ 'speed' : 'int' } } ## -# @BLOCK_JOB_ERROR +# @BLOCK_JOB_ERROR: # # Emitted when a block job encounters an error # @@ -2781,7 +2781,7 @@ 'action' : 'BlockErrorAction' } } ## -# @BLOCK_JOB_READY +# @BLOCK_JOB_READY: # # Emitted when a block job is ready to complete # @@ -2809,7 +2809,8 @@ 'offset': 'int', 'speed' : 'int' } } -# @PreallocMode +## +# @PreallocMode: # # Preallocation mode of QEMU image file # @@ -2821,13 +2822,13 @@ # 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 @@ -2850,7 +2851,7 @@ '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. @@ -2868,7 +2869,7 @@ '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 diff --git a/qapi/block.json b/qapi/block.json index 4661fc93c8..937df05830 100644 --- a/qapi/block.json +++ b/qapi/block.json @@ -40,7 +40,7 @@ 'data': ['auto', 'none', 'lba', 'large', 'rechs']} ## -# @FloppyDriveType +# @FloppyDriveType: # # Type of Floppy drive to be emulated by the Floppy Disk Controller. # @@ -56,7 +56,7 @@ 'data': ['144', '288', '120', 'none', 'auto']} ## -# @BlockdevSnapshotInternal +# @BlockdevSnapshotInternal: # # @device: the device name or node-name of a root node to generate the snapshot # from @@ -73,7 +73,7 @@ '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. @@ -87,13 +87,13 @@ # 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 @@ -114,7 +114,7 @@ # 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'}, @@ -190,7 +190,7 @@ { '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 @@ -209,7 +209,7 @@ 'data': { 'device': 'str', 'id': 'str', 'tray-open': 'bool' } } ## -# @QuorumOpType +# @QuorumOpType: # # An enumeration of the quorum operation types # diff --git a/qapi/common.json b/qapi/common.json index 9353a7b377..624a8619c8 100644 --- a/qapi/common.json +++ b/qapi/common.json @@ -3,7 +3,7 @@ # QAPI common definitions ## -# @QapiErrorClass +# @QapiErrorClass: # # QEMU error classes # @@ -30,15 +30,15 @@ 'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] } ## -# @VersionTriple +# @VersionTriple: # # A three-part version number. # -# @qemu.major: The major version number. +# @major: The major version number. # -# @qemu.minor: The minor version number. +# @minor: The minor version number. # -# @qemu.micro: The micro version number. +# @micro: The micro version number. # # Since: 2.4 ## @@ -101,7 +101,7 @@ { 'command': 'query-commands', 'returns': ['CommandInfo'] } ## -# @OnOffAuto +# @OnOffAuto: # # An enumeration of three options: on, off, and auto # @@ -117,7 +117,7 @@ 'data': [ 'auto', 'on', 'off' ] } ## -# @OnOffSplit +# @OnOffSplit: # # An enumeration of three values: on, off, and split # diff --git a/qapi/crypto.json b/qapi/crypto.json index 5c9d7d4a36..15d296e3c1 100644 --- a/qapi/crypto.json +++ b/qapi/crypto.json @@ -3,7 +3,7 @@ # QAPI crypto definitions ## -# QCryptoTLSCredsEndpoint: +# @QCryptoTLSCredsEndpoint: # # The type of network endpoint that will be using the credentials. # Most types of credential require different setup / structures @@ -22,7 +22,7 @@ ## -# QCryptoSecretFormat: +# @QCryptoSecretFormat: # # The data format that the secret is provided in # @@ -36,7 +36,7 @@ ## -# QCryptoHashAlgorithm: +# @QCryptoHashAlgorithm: # # The supported algorithms for computing content digests # @@ -55,7 +55,7 @@ ## -# QCryptoCipherAlgorithm: +# @QCryptoCipherAlgorithm: # # The supported algorithms for content encryption ciphers # @@ -82,7 +82,7 @@ ## -# QCryptoCipherMode: +# @QCryptoCipherMode: # # The supported modes for content encryption ciphers # @@ -98,7 +98,7 @@ ## -# QCryptoIVGenAlgorithm: +# @QCryptoIVGenAlgorithm: # # The supported algorithms for generating initialization # vectors for full disk encryption. The 'plain' generator @@ -116,7 +116,7 @@ 'data': ['plain', 'plain64', 'essiv']} ## -# QCryptoBlockFormat: +# @QCryptoBlockFormat: # # The supported full disk encryption formats # @@ -131,7 +131,7 @@ 'data': ['qcow', 'luks']} ## -# QCryptoBlockOptionsBase: +# @QCryptoBlockOptionsBase: # # The common options that apply to all full disk # encryption formats @@ -144,7 +144,7 @@ 'data': { 'format': 'QCryptoBlockFormat' }} ## -# QCryptoBlockOptionsQCow: +# @QCryptoBlockOptionsQCow: # # The options that apply to QCow/QCow2 AES-CBC encryption format # @@ -158,7 +158,7 @@ 'data': { '*key-secret': 'str' }} ## -# QCryptoBlockOptionsLUKS: +# @QCryptoBlockOptionsLUKS: # # The options that apply to LUKS encryption format # @@ -172,7 +172,7 @@ ## -# QCryptoBlockCreateOptionsLUKS: +# @QCryptoBlockCreateOptionsLUKS: # # The options that apply to LUKS encryption format initialization # @@ -202,7 +202,7 @@ ## -# QCryptoBlockOpenOptions: +# @QCryptoBlockOpenOptions: # # The options that are available for all encryption formats # when opening an existing volume @@ -217,7 +217,7 @@ ## -# QCryptoBlockCreateOptions: +# @QCryptoBlockCreateOptions: # # The options that are available for all encryption formats # when initializing a new volume @@ -232,7 +232,7 @@ ## -# QCryptoBlockInfoBase: +# @QCryptoBlockInfoBase: # # The common information that applies to all full disk # encryption formats @@ -246,7 +246,7 @@ ## -# QCryptoBlockInfoLUKSSlot: +# @QCryptoBlockInfoLUKSSlot: # # Information about the LUKS block encryption key # slot options @@ -266,7 +266,7 @@ ## -# QCryptoBlockInfoLUKS: +# @QCryptoBlockInfoLUKS: # # Information about the LUKS block encryption options # @@ -294,7 +294,7 @@ 'slots': [ 'QCryptoBlockInfoLUKSSlot' ] }} ## -# QCryptoBlockInfoQCow: +# @QCryptoBlockInfoQCow: # # Information about the QCow block encryption options # @@ -305,7 +305,7 @@ ## -# QCryptoBlockInfo: +# @QCryptoBlockInfo: # # Information about the block encryption options # diff --git a/qapi/event.json b/qapi/event.json index 8642052ebc..37bf34ed6d 100644 --- a/qapi/event.json +++ b/qapi/event.json @@ -1,5 +1,5 @@ ## -# @SHUTDOWN +# @SHUTDOWN: # # Emitted when the virtual machine has shut down, indicating that qemu is # about to exit. @@ -12,7 +12,7 @@ { 'event': 'SHUTDOWN' } ## -# @POWERDOWN +# @POWERDOWN: # # Emitted when the virtual machine is powered down through the power control # system, such as via ACPI. @@ -22,7 +22,7 @@ { 'event': 'POWERDOWN' } ## -# @RESET +# @RESET: # # Emitted when the virtual machine is reset # @@ -31,7 +31,7 @@ { 'event': 'RESET' } ## -# @STOP +# @STOP: # # Emitted when the virtual machine is stopped # @@ -40,7 +40,7 @@ { 'event': 'STOP' } ## -# @RESUME +# @RESUME: # # Emitted when the virtual machine resumes execution # @@ -49,7 +49,7 @@ { 'event': 'RESUME' } ## -# @SUSPEND +# @SUSPEND: # # Emitted when guest enters a hardware suspension state, for example, S3 state, # which is sometimes called standby state @@ -59,7 +59,7 @@ { '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 @@ -71,7 +71,7 @@ { 'event': 'SUSPEND_DISK' } ## -# @WAKEUP +# @WAKEUP: # # Emitted when the guest has woken up from suspend state and is running # @@ -80,7 +80,7 @@ { 'event': 'WAKEUP' } ## -# @RTC_CHANGE +# @RTC_CHANGE: # # Emitted when the guest changes the RTC time. # @@ -93,7 +93,7 @@ 'data': { 'offset': 'int' } } ## -# @WATCHDOG +# @WATCHDOG: # # Emitted when the watchdog device's timer is expired # @@ -108,7 +108,7 @@ '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 @@ -124,7 +124,7 @@ '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 @@ -139,7 +139,7 @@ 'data': { '*name': 'str', 'path': 'str' } } ## -# @VNC_CONNECTED +# @VNC_CONNECTED: # # Emitted when a VNC client establishes a connection # @@ -157,7 +157,7 @@ 'client': 'VncBasicInfo' } } ## -# @VNC_INITIALIZED +# @VNC_INITIALIZED: # # Emitted after authentication takes place (if any) and the VNC session is # made active @@ -173,7 +173,7 @@ 'client': 'VncClientInfo' } } ## -# @VNC_DISCONNECTED +# @VNC_DISCONNECTED: # # Emitted when the connection is closed # @@ -188,7 +188,7 @@ 'client': 'VncClientInfo' } } ## -# @SPICE_CONNECTED +# @SPICE_CONNECTED: # # Emitted when a SPICE client establishes a connection # @@ -203,7 +203,7 @@ 'client': 'SpiceBasicInfo' } } ## -# @SPICE_INITIALIZED +# @SPICE_INITIALIZED: # # Emitted after initial handshake and authentication takes place (if any) # and the SPICE channel is up and running @@ -219,7 +219,7 @@ 'client': 'SpiceChannel' } } ## -# @SPICE_DISCONNECTED +# @SPICE_DISCONNECTED: # # Emitted when the SPICE connection is closed # @@ -234,7 +234,7 @@ 'client': 'SpiceBasicInfo' } } ## -# @SPICE_MIGRATE_COMPLETED +# @SPICE_MIGRATE_COMPLETED: # # Emitted when SPICE migration has completed # @@ -243,7 +243,7 @@ { 'event': 'SPICE_MIGRATE_COMPLETED' } ## -# @MIGRATION +# @MIGRATION: # # Emitted when a migration event happens # @@ -255,7 +255,7 @@ '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) @@ -268,7 +268,7 @@ 'data': { 'pass': 'int' } } ## -# @ACPI_DEVICE_OST +# @ACPI_DEVICE_OST: # # Emitted when guest executes ACPI _OST method. # @@ -280,7 +280,7 @@ '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 @@ -293,7 +293,7 @@ 'data': { 'actual': 'int' } } ## -# @GUEST_PANICKED +# @GUEST_PANICKED: # # Emitted when guest OS panic is detected # @@ -305,7 +305,7 @@ 'data': { 'action': 'GuestPanicAction' } } ## -# @QUORUM_FAILURE +# @QUORUM_FAILURE: # # Emitted by the Quorum block driver if it fails to establish a quorum # @@ -321,7 +321,7 @@ 'data': { 'reference': 'str', 'sector-num': 'int', 'sectors-count': 'int' } } ## -# @QUORUM_REPORT_BAD +# @QUORUM_REPORT_BAD: # # Emitted to report a corruption of a Quorum file # @@ -345,7 +345,7 @@ 'sector-num': 'int', 'sectors-count': 'int' } } ## -# @VSERPORT_CHANGE +# @VSERPORT_CHANGE: # # Emitted when the guest opens or closes a virtio-serial port. # @@ -359,7 +359,7 @@ 'data': { 'id': 'str', 'open': 'bool' } } ## -# @MEM_UNPLUG_ERROR +# @MEM_UNPLUG_ERROR: # # Emitted when memory hot unplug error occurs. # @@ -373,7 +373,7 @@ 'data': { 'device': 'str', 'msg': 'str' } } ## -# @DUMP_COMPLETED +# @DUMP_COMPLETED: # # Emitted when background dump has completed # diff --git a/qapi/introspect.json b/qapi/introspect.json index 3fd81fb540..fd4dc84196 100644 --- a/qapi/introspect.json +++ b/qapi/introspect.json @@ -11,7 +11,7 @@ # 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 @@ -49,7 +49,7 @@ '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. @@ -75,7 +75,7 @@ 'command', 'event' ] } ## -# @SchemaInfo +# @SchemaInfo: # # @name: the entity's name, inherited from @base. # Commands and events have the name defined in the QAPI schema. @@ -105,7 +105,7 @@ 'event': 'SchemaInfoEvent' } } ## -# @SchemaInfoBuiltin +# @SchemaInfoBuiltin: # # Additional SchemaInfo members for meta-type 'builtin'. # @@ -117,7 +117,7 @@ '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 @@ -130,7 +130,7 @@ 'object', 'array', 'value' ] } ## -# @SchemaInfoEnum +# @SchemaInfoEnum: # # Additional SchemaInfo members for meta-type 'enum'. # @@ -144,7 +144,7 @@ 'data': { 'values': ['str'] } } ## -# @SchemaInfoArray +# @SchemaInfoArray: # # Additional SchemaInfo members for meta-type 'array'. # @@ -158,7 +158,7 @@ 'data': { 'element-type': 'str' } } ## -# @SchemaInfoObject +# @SchemaInfoObject: # # Additional SchemaInfo members for meta-type 'object'. # @@ -183,7 +183,7 @@ '*variants': [ 'SchemaInfoObjectVariant' ] } } ## -# @SchemaInfoObjectMember +# @SchemaInfoObjectMember: # # An object member. # @@ -206,7 +206,7 @@ # @default's type must be null or match @type ## -# @SchemaInfoObjectVariant +# @SchemaInfoObjectVariant: # # The variant members for a value of the type tag. # @@ -221,7 +221,7 @@ 'data': { 'case': 'str', 'type': 'str' } } ## -# @SchemaInfoAlternate +# @SchemaInfoAlternate: # # Additional SchemaInfo members for meta-type 'alternate'. # @@ -237,7 +237,7 @@ 'data': { 'members': [ 'SchemaInfoAlternateMember' ] } } ## -# @SchemaInfoAlternateMember +# @SchemaInfoAlternateMember: # # An alternate member. # @@ -249,7 +249,7 @@ 'data': { 'type': 'str' } } ## -# @SchemaInfoCommand +# @SchemaInfoCommand: # # Additional SchemaInfo members for meta-type 'command'. # @@ -266,7 +266,7 @@ 'data': { 'arg-type': 'str', 'ret-type': 'str' } } ## -# @SchemaInfoEvent +# @SchemaInfoEvent: # # Additional SchemaInfo members for meta-type 'event'. # diff --git a/qapi/qmp-event.c b/qapi/qmp-event.c index 8bba165bfb..802ede48e3 100644 --- a/qapi/qmp-event.c +++ b/qapi/qmp-event.c @@ -35,21 +35,12 @@ static void timestamp_put(QDict *qdict) int err; QObject *obj; qemu_timeval tv; - int64_t sec, usec; err = qemu_gettimeofday(&tv); - if (err < 0) { - /* Put -1 to indicate failure of getting host time */ - sec = -1; - usec = -1; - } else { - sec = tv.tv_sec; - usec = tv.tv_usec; - } - - obj = qobject_from_jsonf("{ 'seconds': %" PRId64 ", " - "'microseconds': %" PRId64 " }", - sec, usec); + /* Put -1 to indicate failure of getting host time */ + obj = qobject_from_jsonf("{ 'seconds': %lld, 'microseconds': %lld }", + err < 0 ? -1LL : (long long)tv.tv_sec, + err < 0 ? -1LL : (long long)tv.tv_usec); qdict_put_obj(qdict, "timestamp", obj); } diff --git a/qapi/rocker.json b/qapi/rocker.json index 2fe7fdfa66..ace27760f1 100644 --- a/qapi/rocker.json +++ b/qapi/rocker.json @@ -1,5 +1,5 @@ ## -# @Rocker: +# @RockerSwitch: # # Rocker switch information. # diff --git a/qapi/trace.json b/qapi/trace.json index e87214677c..4fd39b7792 100644 --- a/qapi/trace.json +++ b/qapi/trace.json @@ -17,7 +17,7 @@ # # @enabled: The event is dynamically enabled. # -# Since 2.2 +# Since: 2.2 ## { 'enum': 'TraceEventState', 'data': ['unavailable', 'disabled', 'enabled'] } @@ -34,7 +34,7 @@ # 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'} } @@ -58,7 +58,7 @@ # 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'}, @@ -83,7 +83,7 @@ # 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', diff --git a/qga/qapi-schema.json b/qga/qapi-schema.json index c21f3084dc..94c03128fd 100644 --- a/qga/qapi-schema.json +++ b/qga/qapi-schema.json @@ -102,7 +102,7 @@ # # Returns: Time in nanoseconds. # -# Since 1.5 +# Since: 1.5 ## { 'command': 'guest-get-time', 'returns': 'int' } @@ -149,13 +149,13 @@ # @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. # @@ -163,7 +163,7 @@ # # @supported_commands: Information about guest agent commands # -# Since 0.15.0 +# Since: 0.15.0 ## { 'struct': 'GuestAgentInfo', 'data': { 'version': 'str', @@ -203,7 +203,7 @@ # # Open a file in the guest and retrieve a file handle for it # -# @filepath: Full path to the file in the guest to open. +# @path: Full path to the file in the guest to open. # # @mode: #optional open mode, as per fopen(), "r" is the default. # @@ -230,7 +230,7 @@ 'data': { 'handle': 'int' } } ## -# @GuestFileRead +# @GuestFileRead: # # Result of guest agent file-read operation # @@ -264,7 +264,7 @@ 'returns': 'GuestFileRead' } ## -# @GuestFileWrite +# @GuestFileWrite: # # Result of guest agent file-write operation # @@ -300,7 +300,7 @@ ## -# @GuestFileSeek +# @GuestFileSeek: # # Result of guest agent file-seek operation # @@ -378,7 +378,7 @@ 'data': { 'handle': 'int' } } ## -# @GuestFsFreezeStatus +# @GuestFsfreezeStatus: # # An enumeration of filesystem freeze states # @@ -455,7 +455,7 @@ 'returns': 'int' } ## -# @GuestFilesystemTrimResult +# @GuestFilesystemTrimResult: # # @path: path that was trimmed # @error: an error message when trim failed @@ -469,7 +469,7 @@ '*trimmed': 'int', '*minimum': 'int', '*error': 'str'} } ## -# @GuestFilesystemTrimResponse +# @GuestFilesystemTrimResponse: # # @paths: list of @GuestFilesystemTrimResult per path that was trimmed # @@ -501,7 +501,7 @@ 'returns': 'GuestFilesystemTrimResponse' } ## -# @guest-suspend-disk +# @guest-suspend-disk: # # Suspend guest to disk. # @@ -529,7 +529,7 @@ { 'command': 'guest-suspend-disk', 'success-response': false } ## -# @guest-suspend-ram +# @guest-suspend-ram: # # Suspend guest to ram. # @@ -561,7 +561,7 @@ { 'command': 'guest-suspend-ram', 'success-response': false } ## -# @guest-suspend-hybrid +# @guest-suspend-hybrid: # # Save guest state to disk and suspend to ram. # @@ -720,7 +720,7 @@ 'returns': 'int' } ## -# @GuestDiskBusType +# @GuestDiskBusType: # # An enumeration of bus type of disks # @@ -770,7 +770,7 @@ # @GuestDiskAddress: # # @pci-controller: controller's PCI address -# @type: bus type +# @bus-type: bus type # @bus: bus id # @target: target id # @unit: unit id @@ -783,7 +783,7 @@ 'bus': 'int', 'target': 'int', 'unit': 'int'} } ## -# @GuestFilesystemInfo +# @GuestFilesystemInfo: # # @name: disk name # @mountpoint: mount point path @@ -811,7 +811,7 @@ '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 @@ -832,11 +832,12 @@ # # Returns: Nothing on success. # -# Since 2.3 +# Since: 2.3 ## { 'command': 'guest-set-user-password', 'data': { 'username': 'str', 'password': 'str', 'crypted': 'bool' } } +## # @GuestMemoryBlock: # # @phys-index: Arbitrary guest-specific unique identifier of the MEMORY BLOCK. @@ -872,7 +873,7 @@ 'returns': ['GuestMemoryBlock'] } ## -# @GuestMemoryBlockResponseType +# @GuestMemoryBlockResponseType: # # An enumeration of memory block operation result. # @@ -936,6 +937,7 @@ 'data': {'mem-blks': ['GuestMemoryBlock'] }, 'returns': ['GuestMemoryBlockResponse'] } +## # @GuestMemoryBlockInfo: # # @size: the size (in bytes) of the guest memory blocks, @@ -952,14 +954,14 @@ # # Get information relating to guest memory blocks. # -# Returns: memory block size in bytes. # Returns: @GuestMemoryBlockInfo # -# Since 2.3 +# Since: 2.3 ## { 'command': 'guest-get-memory-block-info', 'returns': 'GuestMemoryBlockInfo' } +## # @GuestExecStatus: # # @exited: true if process has already terminated. @@ -982,7 +984,7 @@ '*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. @@ -991,7 +993,7 @@ # # Returns: GuestExecStatus on success. # -# Since 2.5 +# Since: 2.5 ## { 'command': 'guest-exec-status', 'data': { 'pid': 'int' }, @@ -1001,7 +1003,7 @@ # @GuestExec: # @pid: pid of child process in guest OS # -#Since: 2.5 +# Since: 2.5 ## { 'struct': 'GuestExec', 'data': { 'pid': 'int'} } diff --git a/tests/check-qjson.c b/tests/check-qjson.c index 85955744eb..0b21a22e10 100644 --- a/tests/check-qjson.c +++ b/tests/check-qjson.c @@ -964,7 +964,7 @@ static void vararg_number(void) QInt *qint; QFloat *qfloat; int value = 0x2342; - int64_t value64 = 0x2342342343LL; + long long value_ll = 0x2342342343LL; double valuef = 2.323423423; obj = qobject_from_jsonf("%d", value); @@ -976,12 +976,12 @@ static void vararg_number(void) QDECREF(qint); - obj = qobject_from_jsonf("%" PRId64, value64); + obj = qobject_from_jsonf("%lld", value_ll); g_assert(obj != NULL); g_assert(qobject_type(obj) == QTYPE_QINT); qint = qobject_to_qint(obj); - g_assert(qint_get_int(qint) == value64); + g_assert(qint_get_int(qint) == value_ll); QDECREF(qint); diff --git a/tests/test-qga.c b/tests/test-qga.c index 40af64987a..868b02a40f 100644 --- a/tests/test-qga.c +++ b/tests/test-qga.c @@ -837,6 +837,7 @@ static void test_qga_guest_exec(gconstpointer fix) int64_t pid, now, exitcode; gsize len; bool exited; + char *cmd; /* exec 'echo foo bar' */ ret = qmp_fd(fixture->fd, "{'execute': 'guest-exec', 'arguments': {" @@ -851,9 +852,10 @@ static void test_qga_guest_exec(gconstpointer fix) /* wait for completion */ now = g_get_monotonic_time(); + cmd = g_strdup_printf("{'execute': 'guest-exec-status'," + " 'arguments': { 'pid': %" PRId64 " } }", pid); do { - ret = qmp_fd(fixture->fd, "{'execute': 'guest-exec-status'," - " 'arguments': { 'pid': %" PRId64 " } }", pid); + ret = qmp_fd(fixture->fd, cmd); g_assert_nonnull(ret); val = qdict_get_qdict(ret, "return"); exited = qdict_get_bool(val, "exited"); @@ -863,6 +865,7 @@ static void test_qga_guest_exec(gconstpointer fix) } while (!exited && g_get_monotonic_time() < now + 5 * G_TIME_SPAN_SECOND); g_assert(exited); + g_free(cmd); /* check stdout */ exitcode = qdict_get_int(val, "exitcode"); diff --git a/tests/test-qobject-input-visitor.c b/tests/test-qobject-input-visitor.c index 26c5012df3..945404a9e0 100644 --- a/tests/test-qobject-input-visitor.c +++ b/tests/test-qobject-input-visitor.c @@ -83,10 +83,11 @@ static Visitor *visitor_input_test_init_raw(TestInputVisitorData *data, static void test_visitor_in_int(TestInputVisitorData *data, const void *unused) { - int64_t res = 0, value = -42; + int64_t res = 0; + int value = -42; Visitor *v; - v = visitor_input_test_init(data, "%" PRId64, value); + v = visitor_input_test_init(data, "%d", value); visit_type_int(v, NULL, &res, &error_abort); g_assert_cmpint(res, ==, value); |