QAPI patches patches for 2024-02-12
-----BEGIN PGP SIGNATURE----- iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmXJ4PsSHGFybWJydUBy ZWRoYXQuY29tAAoJEDhwtADrkYZTDwsP/iEdmZmjoxMedTzec+GGl5QxfMkqLn14 eX2jXtzLGZMjGMh4lvMaAdn0AJ3VnBOqxly14sMK6TMWGZkNKJpKF+2Cj8IKte1o MlpS1N/7rZxew+B9HkulhS+6UFB3Jndsflm2ot4g+rRjohJCw0v0GapEqjQg6CKp efJhiPuBSImm2MSx+n4dj8gkcFOMrgo6oc2ZpN0ypvGb4mupPpnNj6v12yZL8FUM Enwsk+pBLQWoYxI9MFDGc0gW9ZBlEdP/nVq/PbglD06Urc241AHGYqT7XLT0oHLl 6NA4v3N4GPdSe6oJdOHDFVR+/uPKiiyrseTdYTSGgAN8gcRtHam4WWhqSDIN3Afl y41A9ZKkW51TpdszQ6wCdrgbTH5z6K5vnwWfVTwIgdI0mrDcAGWnc2Yr7m6c3fS8 /Vz00J7OC0P1nXh0IeRxXExXSmaGUUgS3T/KBXPYr0PQPe7Qd+1eTQN6LaliEMRH dRpXQabjLmztMhc5VXCv8ihwa7mNVaEn++uRrdKoWOvIQEp0ZeZfxCzp+/2mGPJ0 YKJc7Ja260h2Y00/Zu2XiwjdzgG+h+QuJO/3OFsZIV5ftFqSBRMCHiGEfANHidld Cpo0efeWWTPdV8BQOirGGr0qtDTmgFMFCZTJMsI/g0m9sMCv0WbTtmWNThwaI3uD MKnEGG+KX7vD =nhrQ -----END PGP SIGNATURE----- Merge tag 'pull-qapi-2024-02-12' of https://repo.or.cz/qemu/armbru into staging QAPI patches patches for 2024-02-12 # -----BEGIN PGP SIGNATURE----- # # iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmXJ4PsSHGFybWJydUBy # ZWRoYXQuY29tAAoJEDhwtADrkYZTDwsP/iEdmZmjoxMedTzec+GGl5QxfMkqLn14 # eX2jXtzLGZMjGMh4lvMaAdn0AJ3VnBOqxly14sMK6TMWGZkNKJpKF+2Cj8IKte1o # MlpS1N/7rZxew+B9HkulhS+6UFB3Jndsflm2ot4g+rRjohJCw0v0GapEqjQg6CKp # efJhiPuBSImm2MSx+n4dj8gkcFOMrgo6oc2ZpN0ypvGb4mupPpnNj6v12yZL8FUM # Enwsk+pBLQWoYxI9MFDGc0gW9ZBlEdP/nVq/PbglD06Urc241AHGYqT7XLT0oHLl # 6NA4v3N4GPdSe6oJdOHDFVR+/uPKiiyrseTdYTSGgAN8gcRtHam4WWhqSDIN3Afl # y41A9ZKkW51TpdszQ6wCdrgbTH5z6K5vnwWfVTwIgdI0mrDcAGWnc2Yr7m6c3fS8 # /Vz00J7OC0P1nXh0IeRxXExXSmaGUUgS3T/KBXPYr0PQPe7Qd+1eTQN6LaliEMRH # dRpXQabjLmztMhc5VXCv8ihwa7mNVaEn++uRrdKoWOvIQEp0ZeZfxCzp+/2mGPJ0 # YKJc7Ja260h2Y00/Zu2XiwjdzgG+h+QuJO/3OFsZIV5ftFqSBRMCHiGEfANHidld # Cpo0efeWWTPdV8BQOirGGr0qtDTmgFMFCZTJMsI/g0m9sMCv0WbTtmWNThwaI3uD # MKnEGG+KX7vD # =nhrQ # -----END PGP SIGNATURE----- # gpg: Signature made Mon 12 Feb 2024 09:12:27 GMT # gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653 # gpg: issuer "armbru@redhat.com" # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full] # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full] # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653 * tag 'pull-qapi-2024-02-12' of https://repo.or.cz/qemu/armbru: MAINTAINERS: Cover qapi/stats.json MAINTAINERS: Cover qapi/cxl.json qapi/migration: Add missing tls-authz documentation qapi: Add missing union tag documentation qapi: Move @String out of common.json to discourage reuse qapi: Improve documentation of file descriptor socket addresses qapi: Plug trivial documentation holes around former simple unions qapi/dump: Clean up documentation of DumpGuestMemoryCapability qapi/yank: Clean up documentaion of yank qga/qapi-schema: Plug trivial documentation holes qga/qapi-schema: Clean up documentation of guest-set-vcpus qga/qapi-schema: Clean up documentation of guest-set-memory-blocks qapi: Require member documentation (with loophole) sphinx/qapidoc: Drop code to generate doc for simple union tag qapi: Indent tagged doc comment sections properly qapi/block-core: Fix BlockLatencyHistogramInfo doc markup docs/devel/qapi-code-gen: Tweak doc comment whitespace docs/devel/qapi-code-gen: Normalize version refs x.y.0 to just x.y Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
61e7a0d27c
@ -2894,6 +2894,7 @@ S: Supported
|
||||
F: hw/cxl/
|
||||
F: hw/mem/cxl_type3.c
|
||||
F: include/hw/cxl/
|
||||
F: qapi/cxl.json
|
||||
|
||||
Dirty Bitmaps
|
||||
M: Eric Blake <eblake@redhat.com>
|
||||
@ -3320,6 +3321,7 @@ Stats
|
||||
S: Orphan
|
||||
F: include/sysemu/stats.h
|
||||
F: stats/
|
||||
F: qapi/stats.json
|
||||
|
||||
Streams
|
||||
M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
|
||||
|
@ -1508,7 +1508,7 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
|
||||
};
|
||||
} else {
|
||||
addr->type = SOCKET_ADDRESS_TYPE_FD;
|
||||
addr->u.fd.data = g_new(String, 1);
|
||||
addr->u.fd.data = g_new(FdSocketAddress, 1);
|
||||
addr->u.fd.data->str = g_strdup(fd);
|
||||
}
|
||||
sock->addr = addr;
|
||||
|
@ -167,6 +167,7 @@ Syntax::
|
||||
'*doc-required': BOOL,
|
||||
'*command-name-exceptions': [ STRING, ... ],
|
||||
'*command-returns-exceptions': [ STRING, ... ],
|
||||
'*documentation-exceptions': [ STRING, ... ],
|
||||
'*member-name-exceptions': [ STRING, ... ] } }
|
||||
|
||||
The pragma directive lets you control optional generator behavior.
|
||||
@ -183,6 +184,10 @@ may contain ``"_"`` instead of ``"-"``. Default is none.
|
||||
Pragma 'command-returns-exceptions' takes a list of commands that may
|
||||
violate the rules on permitted return types. Default is none.
|
||||
|
||||
Pragma 'documentation-exceptions' takes a list of types, commands, and
|
||||
events whose members / arguments need not be documented. Default is
|
||||
none.
|
||||
|
||||
Pragma 'member-name-exceptions' takes a list of types whose member
|
||||
names may contain uppercase letters, and ``"_"`` instead of ``"-"``.
|
||||
Default is none.
|
||||
@ -1019,11 +1024,11 @@ For example::
|
||||
# @device: If the stats are for a virtual block device, the name
|
||||
# corresponding to the virtual block device.
|
||||
#
|
||||
# @node-name: The node name of the device. (since 2.3)
|
||||
# @node-name: The node name of the device. (Since 2.3)
|
||||
#
|
||||
# ... more members ...
|
||||
#
|
||||
# Since: 0.14.0
|
||||
# Since: 0.14
|
||||
##
|
||||
{ 'struct': 'BlockStats',
|
||||
'data': {'*device': 'str', '*node-name': 'str',
|
||||
@ -1035,11 +1040,12 @@ For example::
|
||||
# Query the @BlockStats for all virtual block devices.
|
||||
#
|
||||
# @query-nodes: If true, the command will query all the block nodes
|
||||
# ... explain, explain ... (since 2.3)
|
||||
# ... explain, explain ...
|
||||
# (Since 2.3)
|
||||
#
|
||||
# Returns: A list of @BlockStats for each virtual block devices.
|
||||
#
|
||||
# Since: 0.14.0
|
||||
# Since: 0.14
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
|
@ -168,12 +168,6 @@ class QAPISchemaGenRSTVisitor(QAPISchemaVisitor):
|
||||
# TODO drop fallbacks when undocumented members are outlawed
|
||||
if section.text:
|
||||
defn = section.text
|
||||
elif (variants and variants.tag_member == section.member
|
||||
and not section.member.type.doc_type()):
|
||||
values = section.member.type.member_names()
|
||||
defn = [nodes.Text('One of ')]
|
||||
defn.extend(intersperse([nodes.literal('', v) for v in values],
|
||||
nodes.Text(', ')))
|
||||
else:
|
||||
defn = [nodes.Text('Not documented')]
|
||||
|
||||
|
@ -11,6 +11,7 @@
|
||||
#ifndef QEMU_VHOST_VSOCK_COMMON_H
|
||||
#define QEMU_VHOST_VSOCK_COMMON_H
|
||||
|
||||
#include "qapi/qapi-types-common.h"
|
||||
#include "hw/virtio/virtio.h"
|
||||
#include "hw/virtio/vhost.h"
|
||||
#include "qom/object.h"
|
||||
|
@ -9,7 +9,7 @@
|
||||
#ifndef QEMU_NET_FILTER_H
|
||||
#define QEMU_NET_FILTER_H
|
||||
|
||||
#include "qapi/qapi-types-net.h"
|
||||
#include "qapi/qapi-types-common.h"
|
||||
#include "qemu/queue.h"
|
||||
#include "qom/object.h"
|
||||
#include "net/queue.h"
|
||||
|
@ -196,6 +196,8 @@
|
||||
##
|
||||
# @ImageInfoSpecificQCow2Wrapper:
|
||||
#
|
||||
# @data: image information specific to QCOW2
|
||||
#
|
||||
# Since: 1.7
|
||||
##
|
||||
{ 'struct': 'ImageInfoSpecificQCow2Wrapper',
|
||||
@ -204,6 +206,8 @@
|
||||
##
|
||||
# @ImageInfoSpecificVmdkWrapper:
|
||||
#
|
||||
# @data: image information specific to VMDK
|
||||
#
|
||||
# Since: 6.1
|
||||
##
|
||||
{ 'struct': 'ImageInfoSpecificVmdkWrapper',
|
||||
@ -212,6 +216,8 @@
|
||||
##
|
||||
# @ImageInfoSpecificLUKSWrapper:
|
||||
#
|
||||
# @data: image information specific to LUKS
|
||||
#
|
||||
# Since: 2.7
|
||||
##
|
||||
{ 'struct': 'ImageInfoSpecificLUKSWrapper',
|
||||
@ -223,6 +229,8 @@
|
||||
##
|
||||
# @ImageInfoSpecificRbdWrapper:
|
||||
#
|
||||
# @data: image information specific to RBD
|
||||
#
|
||||
# Since: 6.1
|
||||
##
|
||||
{ 'struct': 'ImageInfoSpecificRbdWrapper',
|
||||
@ -231,6 +239,8 @@
|
||||
##
|
||||
# @ImageInfoSpecificFileWrapper:
|
||||
#
|
||||
# @data: image information specific to files
|
||||
#
|
||||
# Since: 8.0
|
||||
##
|
||||
{ 'struct': 'ImageInfoSpecificFileWrapper',
|
||||
@ -242,6 +252,8 @@
|
||||
# A discriminated record of image format specific information
|
||||
# structures.
|
||||
#
|
||||
# @type: block driver name
|
||||
#
|
||||
# Since: 1.7
|
||||
##
|
||||
{ 'union': 'ImageInfoSpecific',
|
||||
@ -656,9 +668,7 @@
|
||||
# @bins: list of io request counts corresponding to histogram
|
||||
# intervals, one more element than @boundaries has. For the
|
||||
# example above, @bins may be something like [3, 1, 5, 2], and
|
||||
# corresponding histogram looks like:
|
||||
#
|
||||
# ::
|
||||
# corresponding histogram looks like::
|
||||
#
|
||||
# 5| *
|
||||
# 4| *
|
||||
@ -1094,6 +1104,8 @@
|
||||
#
|
||||
# Block driver specific statistics
|
||||
#
|
||||
# @driver: block driver name
|
||||
#
|
||||
# Since: 4.2
|
||||
##
|
||||
{ 'union': 'BlockStatsSpecific',
|
||||
@ -3467,6 +3479,8 @@
|
||||
##
|
||||
# @BlockdevQcowEncryption:
|
||||
#
|
||||
# @format: encryption format
|
||||
#
|
||||
# Since: 2.10
|
||||
##
|
||||
{ 'union': 'BlockdevQcowEncryption',
|
||||
@ -3501,6 +3515,8 @@
|
||||
##
|
||||
# @BlockdevQcow2Encryption:
|
||||
#
|
||||
# @format: encryption format
|
||||
#
|
||||
# Since: 2.10
|
||||
##
|
||||
{ 'union': 'BlockdevQcow2Encryption',
|
||||
@ -3651,6 +3667,8 @@
|
||||
##
|
||||
# @SshHostKeyCheck:
|
||||
#
|
||||
# @mode: How to check the host key
|
||||
#
|
||||
# Since: 2.12
|
||||
##
|
||||
{ 'union': 'SshHostKeyCheck',
|
||||
@ -4220,6 +4238,8 @@
|
||||
##
|
||||
# @RbdEncryptionCreateOptions:
|
||||
#
|
||||
# @format: Encryption format.
|
||||
#
|
||||
# Since: 6.1
|
||||
##
|
||||
{ 'union': 'RbdEncryptionCreateOptions',
|
||||
|
@ -346,6 +346,8 @@
|
||||
# Describes a block export, i.e. how single node should be exported on
|
||||
# an external interface.
|
||||
#
|
||||
# @type: Block export type
|
||||
#
|
||||
# @id: A unique identifier for the block export (across all export
|
||||
# types)
|
||||
#
|
||||
|
@ -498,6 +498,8 @@
|
||||
##
|
||||
# @ChardevFileWrapper:
|
||||
#
|
||||
# @data: Configuration info for file chardevs
|
||||
#
|
||||
# Since: 1.4
|
||||
##
|
||||
{ 'struct': 'ChardevFileWrapper',
|
||||
@ -506,6 +508,8 @@
|
||||
##
|
||||
# @ChardevHostdevWrapper:
|
||||
#
|
||||
# @data: Configuration info for device and pipe chardevs
|
||||
#
|
||||
# Since: 1.4
|
||||
##
|
||||
{ 'struct': 'ChardevHostdevWrapper',
|
||||
@ -514,6 +518,8 @@
|
||||
##
|
||||
# @ChardevSocketWrapper:
|
||||
#
|
||||
# @data: Configuration info for (stream) socket chardevs
|
||||
#
|
||||
# Since: 1.4
|
||||
##
|
||||
{ 'struct': 'ChardevSocketWrapper',
|
||||
@ -522,6 +528,8 @@
|
||||
##
|
||||
# @ChardevUdpWrapper:
|
||||
#
|
||||
# @data: Configuration info for datagram socket chardevs
|
||||
#
|
||||
# Since: 1.5
|
||||
##
|
||||
{ 'struct': 'ChardevUdpWrapper',
|
||||
@ -530,6 +538,8 @@
|
||||
##
|
||||
# @ChardevCommonWrapper:
|
||||
#
|
||||
# @data: Configuration shared across all chardev backends
|
||||
#
|
||||
# Since: 2.6
|
||||
##
|
||||
{ 'struct': 'ChardevCommonWrapper',
|
||||
@ -538,6 +548,8 @@
|
||||
##
|
||||
# @ChardevMuxWrapper:
|
||||
#
|
||||
# @data: Configuration info for mux chardevs
|
||||
#
|
||||
# Since: 1.5
|
||||
##
|
||||
{ 'struct': 'ChardevMuxWrapper',
|
||||
@ -546,6 +558,8 @@
|
||||
##
|
||||
# @ChardevStdioWrapper:
|
||||
#
|
||||
# @data: Configuration info for stdio chardevs
|
||||
#
|
||||
# Since: 1.5
|
||||
##
|
||||
{ 'struct': 'ChardevStdioWrapper',
|
||||
@ -554,6 +568,8 @@
|
||||
##
|
||||
# @ChardevSpiceChannelWrapper:
|
||||
#
|
||||
# @data: Configuration info for spice vm channel chardevs
|
||||
#
|
||||
# Since: 1.5
|
||||
##
|
||||
{ 'struct': 'ChardevSpiceChannelWrapper',
|
||||
@ -563,6 +579,8 @@
|
||||
##
|
||||
# @ChardevSpicePortWrapper:
|
||||
#
|
||||
# @data: Configuration info for spice port chardevs
|
||||
#
|
||||
# Since: 1.5
|
||||
##
|
||||
{ 'struct': 'ChardevSpicePortWrapper',
|
||||
@ -572,6 +590,8 @@
|
||||
##
|
||||
# @ChardevQemuVDAgentWrapper:
|
||||
#
|
||||
# @data: Configuration info for qemu vdagent implementation
|
||||
#
|
||||
# Since: 6.1
|
||||
##
|
||||
{ 'struct': 'ChardevQemuVDAgentWrapper',
|
||||
@ -581,6 +601,8 @@
|
||||
##
|
||||
# @ChardevDBusWrapper:
|
||||
#
|
||||
# @data: Configuration info for DBus chardevs
|
||||
#
|
||||
# Since: 7.0
|
||||
##
|
||||
{ 'struct': 'ChardevDBusWrapper',
|
||||
@ -590,6 +612,8 @@
|
||||
##
|
||||
# @ChardevVCWrapper:
|
||||
#
|
||||
# @data: Configuration info for virtual console chardevs
|
||||
#
|
||||
# Since: 1.5
|
||||
##
|
||||
{ 'struct': 'ChardevVCWrapper',
|
||||
@ -598,6 +622,8 @@
|
||||
##
|
||||
# @ChardevRingbufWrapper:
|
||||
#
|
||||
# @data: Configuration info for ring buffer chardevs
|
||||
#
|
||||
# Since: 1.5
|
||||
##
|
||||
{ 'struct': 'ChardevRingbufWrapper',
|
||||
@ -608,6 +634,8 @@
|
||||
#
|
||||
# Configuration info for the new chardev backend.
|
||||
#
|
||||
# @type: backend type
|
||||
#
|
||||
# Since: 1.4
|
||||
##
|
||||
{ 'union': 'ChardevBackend',
|
||||
|
@ -51,17 +51,6 @@
|
||||
{ 'enum': 'OnOffSplit',
|
||||
'data': [ 'on', 'off', 'split' ] }
|
||||
|
||||
##
|
||||
# @String:
|
||||
#
|
||||
# A fat type wrapping 'str', to be embedded in lists.
|
||||
#
|
||||
# Since: 1.2
|
||||
##
|
||||
{ 'struct': 'String',
|
||||
'data': {
|
||||
'str': 'str' } }
|
||||
|
||||
##
|
||||
# @StrOrNull:
|
||||
#
|
||||
|
@ -654,6 +654,8 @@
|
||||
# The options that are available for all asymmetric key algorithms
|
||||
# when creating a new QCryptoAkCipher.
|
||||
#
|
||||
# @alg: encryption cipher algorithm
|
||||
#
|
||||
# Since: 7.1
|
||||
##
|
||||
{ 'union': 'QCryptoAkCipherOptions',
|
||||
|
@ -186,7 +186,7 @@
|
||||
##
|
||||
# @DumpGuestMemoryCapability:
|
||||
#
|
||||
# A list of the available formats for dump-guest-memory
|
||||
# @formats: the available formats for dump-guest-memory
|
||||
#
|
||||
# Since: 2.0
|
||||
##
|
||||
|
@ -443,6 +443,8 @@
|
||||
#
|
||||
# A discriminated record of NUMA options. (for OptsVisitor)
|
||||
#
|
||||
# @type: NUMA option type
|
||||
#
|
||||
# Since: 2.1
|
||||
##
|
||||
{ 'union': 'NumaOptions',
|
||||
@ -1396,6 +1398,8 @@
|
||||
##
|
||||
# @PCDIMMDeviceInfoWrapper:
|
||||
#
|
||||
# @data: PCDIMMDevice state information
|
||||
#
|
||||
# Since: 2.1
|
||||
##
|
||||
{ 'struct': 'PCDIMMDeviceInfoWrapper',
|
||||
@ -1404,6 +1408,8 @@
|
||||
##
|
||||
# @VirtioPMEMDeviceInfoWrapper:
|
||||
#
|
||||
# @data: VirtioPMEM state information
|
||||
#
|
||||
# Since: 2.1
|
||||
##
|
||||
{ 'struct': 'VirtioPMEMDeviceInfoWrapper',
|
||||
@ -1412,6 +1418,8 @@
|
||||
##
|
||||
# @VirtioMEMDeviceInfoWrapper:
|
||||
#
|
||||
# @data: VirtioMEMDevice state information
|
||||
#
|
||||
# Since: 2.1
|
||||
##
|
||||
{ 'struct': 'VirtioMEMDeviceInfoWrapper',
|
||||
@ -1420,6 +1428,8 @@
|
||||
##
|
||||
# @SgxEPCDeviceInfoWrapper:
|
||||
#
|
||||
# @data: Sgx EPC state information
|
||||
#
|
||||
# Since: 6.2
|
||||
##
|
||||
{ 'struct': 'SgxEPCDeviceInfoWrapper',
|
||||
@ -1428,6 +1438,8 @@
|
||||
##
|
||||
# @HvBalloonDeviceInfoWrapper:
|
||||
#
|
||||
# @data: hv-balloon provided memory state information
|
||||
#
|
||||
# Since: 8.2
|
||||
##
|
||||
{ 'struct': 'HvBalloonDeviceInfoWrapper',
|
||||
@ -1438,6 +1450,8 @@
|
||||
#
|
||||
# Union containing information about a memory device
|
||||
#
|
||||
# @type: memory device type
|
||||
#
|
||||
# Since: 2.1
|
||||
##
|
||||
{ 'union': 'MemoryDeviceInfo',
|
||||
|
@ -980,6 +980,10 @@
|
||||
# 2.9) Previously (since 2.7), this was reported by omitting
|
||||
# tls-hostname instead.
|
||||
#
|
||||
# @tls-authz: ID of the 'authz' object subclass that provides access
|
||||
# control checking of the TLS x509 certificate distinguished name.
|
||||
# (Since 4.0)
|
||||
#
|
||||
# @max-bandwidth: to set maximum speed for migration. maximum speed
|
||||
# in bytes per second. (Since 2.8)
|
||||
#
|
||||
@ -1630,6 +1634,8 @@
|
||||
#
|
||||
# Migration endpoint configuration.
|
||||
#
|
||||
# @transport: The migration stream transport mechanism
|
||||
#
|
||||
# Since: 8.2
|
||||
##
|
||||
{ 'union': 'MigrationAddress',
|
||||
@ -1699,24 +1705,24 @@
|
||||
#
|
||||
# Notes:
|
||||
#
|
||||
# 1. The 'query-migrate' command should be used to check migration's
|
||||
# progress and final result (this information is provided by the
|
||||
# 'status' member)
|
||||
# 1. The 'query-migrate' command should be used to check
|
||||
# migration's progress and final result (this information is
|
||||
# provided by the 'status' member)
|
||||
#
|
||||
# 2. All boolean arguments default to false
|
||||
# 2. All boolean arguments default to false
|
||||
#
|
||||
# 3. The user Monitor's "detach" argument is invalid in QMP and should
|
||||
# not be used
|
||||
# 3. The user Monitor's "detach" argument is invalid in QMP and
|
||||
# should not be used
|
||||
#
|
||||
# 4. The uri argument should have the Uniform Resource Identifier of
|
||||
# default destination VM. This connection will be bound to default
|
||||
# network.
|
||||
# 4. The uri argument should have the Uniform Resource Identifier
|
||||
# of default destination VM. This connection will be bound to
|
||||
# default network.
|
||||
#
|
||||
# 5. For now, number of migration streams is restricted to one, i.e
|
||||
# number of items in 'channels' list is just 1.
|
||||
# 5. For now, number of migration streams is restricted to one,
|
||||
# i.e number of items in 'channels' list is just 1.
|
||||
#
|
||||
# 6. The 'uri' and 'channels' arguments are mutually exclusive;
|
||||
# exactly one of the two should be present.
|
||||
# 6. The 'uri' and 'channels' arguments are mutually exclusive;
|
||||
# exactly one of the two should be present.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
@ -1781,20 +1787,20 @@
|
||||
#
|
||||
# Notes:
|
||||
#
|
||||
# 1. It's a bad idea to use a string for the uri, but it needs
|
||||
# to stay compatible with -incoming and the format of the uri
|
||||
# is already exposed above libvirt.
|
||||
# 1. It's a bad idea to use a string for the uri, but it needs to
|
||||
# stay compatible with -incoming and the format of the uri is
|
||||
# already exposed above libvirt.
|
||||
#
|
||||
# 2. QEMU must be started with -incoming defer to allow
|
||||
# migrate-incoming to be used.
|
||||
# 2. QEMU must be started with -incoming defer to allow
|
||||
# migrate-incoming to be used.
|
||||
#
|
||||
# 3. The uri format is the same as for -incoming
|
||||
# 3. The uri format is the same as for -incoming
|
||||
#
|
||||
# 5. For now, number of migration streams is restricted to one, i.e
|
||||
# number of items in 'channels' list is just 1.
|
||||
# 5. For now, number of migration streams is restricted to one,
|
||||
# i.e number of items in 'channels' list is just 1.
|
||||
#
|
||||
# 4. The 'uri' and 'channels' arguments are mutually exclusive;
|
||||
# exactly one of the two should be present.
|
||||
# 4. The 'uri' and 'channels' arguments are mutually exclusive;
|
||||
# exactly one of the two should be present.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
|
@ -348,9 +348,10 @@
|
||||
# - If file descriptor was not received, GenericError
|
||||
# - If @fdset-id is a negative value, GenericError
|
||||
#
|
||||
# Notes: The list of fd sets is shared by all monitor connections.
|
||||
# Notes:
|
||||
# The list of fd sets is shared by all monitor connections.
|
||||
#
|
||||
# If @fdset-id is not specified, a new fd set will be created.
|
||||
# If @fdset-id is not specified, a new fd set will be created.
|
||||
#
|
||||
# Since: 1.2
|
||||
#
|
||||
@ -379,10 +380,11 @@
|
||||
#
|
||||
# Since: 1.2
|
||||
#
|
||||
# Notes: The list of fd sets is shared by all monitor connections.
|
||||
# Notes:
|
||||
# The list of fd sets is shared by all monitor connections.
|
||||
#
|
||||
# If @fd is not specified, all file descriptors in @fdset-id will be
|
||||
# removed.
|
||||
# If @fd is not specified, all file descriptors in @fdset-id will
|
||||
# be removed.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
|
@ -6,7 +6,6 @@
|
||||
# = Net devices
|
||||
##
|
||||
|
||||
{ 'include': 'common.json' }
|
||||
{ 'include': 'sockets.json' }
|
||||
|
||||
##
|
||||
@ -105,6 +104,17 @@
|
||||
'*addr': 'str',
|
||||
'*vectors': 'uint32' } }
|
||||
|
||||
##
|
||||
# @String:
|
||||
#
|
||||
# A fat type wrapping 'str', to be embedded in lists.
|
||||
#
|
||||
# Since: 1.2
|
||||
##
|
||||
{ 'struct': 'String',
|
||||
'data': {
|
||||
'str': 'str' } }
|
||||
|
||||
##
|
||||
# @NetdevUserOptions:
|
||||
#
|
||||
|
@ -31,6 +31,72 @@
|
||||
'query-tpm-models',
|
||||
'query-tpm-types',
|
||||
'ringbuf-read' ],
|
||||
# Types, commands, and events with undocumented members / arguments:
|
||||
'documentation-exceptions': [
|
||||
'AbortWrapper',
|
||||
'AudiodevDriver',
|
||||
'BlkdebugEvent',
|
||||
'BlockDirtyBitmapAddWrapper',
|
||||
'BlockDirtyBitmapMergeWrapper',
|
||||
'BlockDirtyBitmapWrapper',
|
||||
'BlockdevBackupWrapper',
|
||||
'BlockdevDriver',
|
||||
'BlockdevQcow2EncryptionFormat',
|
||||
'BlockdevSnapshotInternalWrapper',
|
||||
'BlockdevSnapshotSyncWrapper',
|
||||
'BlockdevSnapshotWrapper',
|
||||
'BlockdevVmdkAdapterType',
|
||||
'ChardevBackendKind',
|
||||
'CpuS390Entitlement',
|
||||
'CpuS390Polarization',
|
||||
'CpuS390State',
|
||||
'CxlCorErrorType',
|
||||
'DisplayProtocol',
|
||||
'DriveBackupWrapper',
|
||||
'DummyBlockCoreForceArrays',
|
||||
'DummyForceArrays',
|
||||
'DummyVirtioForceArrays',
|
||||
'GrabToggleKeys',
|
||||
'GuestPanicInformationHyperV',
|
||||
'HotKeyMod',
|
||||
'ImageInfoSpecificKind',
|
||||
'InputAxis',
|
||||
'InputButton',
|
||||
'InputMultiTouchEvent',
|
||||
'InputMultiTouchType',
|
||||
'IscsiHeaderDigest',
|
||||
'IscsiTransport',
|
||||
'JSONType',
|
||||
'KeyValueKind',
|
||||
'MemoryDeviceInfoKind',
|
||||
'NetClientDriver',
|
||||
'ObjectType',
|
||||
'PciMemoryRegion',
|
||||
'QCryptoAkCipherKeyType',
|
||||
'QCryptodevBackendServiceType',
|
||||
'QKeyCode',
|
||||
'Qcow2OverlapCheckFlags',
|
||||
'RbdAuthMode',
|
||||
'RbdImageEncryptionFormat',
|
||||
'StatsFilter',
|
||||
'StatsValue',
|
||||
'String',
|
||||
'StringWrapper',
|
||||
'SysEmuTarget',
|
||||
'ThrottleGroupProperties',
|
||||
'VncPrimaryAuth',
|
||||
'VncVencryptSubAuth',
|
||||
'X86CPURegister32',
|
||||
'XDbgBlockGraph',
|
||||
'YankInstanceType',
|
||||
'blockdev-reopen',
|
||||
'query-cpu-model-baseline',
|
||||
'query-cpu-model-comparison',
|
||||
'query-cpu-model-expansion',
|
||||
'query-rocker',
|
||||
'query-rocker-ports',
|
||||
'query-stats-schemas',
|
||||
'watchdog-set-action' ],
|
||||
# Externally visible types whose member names may use uppercase
|
||||
'member-name-exceptions': [ # visible in:
|
||||
'ACPISlotType', # query-acpi-ospm-status
|
||||
|
@ -53,14 +53,14 @@
|
||||
#
|
||||
# Notes:
|
||||
#
|
||||
# 1. Additional arguments depend on the type.
|
||||
# 1. Additional arguments depend on the type.
|
||||
#
|
||||
# 2. For detailed information about this command, please refer to the
|
||||
# 'docs/qdev-device-use.txt' file.
|
||||
# 2. For detailed information about this command, please refer to
|
||||
# the 'docs/qdev-device-use.txt' file.
|
||||
#
|
||||
# 3. It's possible to list device properties by running QEMU with the
|
||||
# "-device DEVICE,help" command-line argument, where DEVICE is the
|
||||
# device's name
|
||||
# 3. It's possible to list device properties by running QEMU with
|
||||
# the "-device DEVICE,help" command-line argument, where DEVICE
|
||||
# is the device's name
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
|
@ -5,8 +5,6 @@
|
||||
# = Socket data types
|
||||
##
|
||||
|
||||
{ 'include': 'common.json' }
|
||||
|
||||
##
|
||||
# @NetworkAddressFamily:
|
||||
#
|
||||
@ -116,9 +114,29 @@
|
||||
'cid': 'str',
|
||||
'port': 'str' } }
|
||||
|
||||
##
|
||||
# @FdSocketAddress:
|
||||
#
|
||||
# A file descriptor name or number.
|
||||
#
|
||||
# @str: decimal is for file descriptor number, otherwise it's a file
|
||||
# descriptor name. Named file descriptors are permitted in
|
||||
# monitor commands, in combination with the 'getfd' command.
|
||||
# Decimal file descriptors are permitted at startup or other
|
||||
# contexts where no monitor context is active.
|
||||
#
|
||||
#
|
||||
# Since: 1.2
|
||||
##
|
||||
{ 'struct': 'FdSocketAddress',
|
||||
'data': {
|
||||
'str': 'str' } }
|
||||
|
||||
##
|
||||
# @InetSocketAddressWrapper:
|
||||
#
|
||||
# @data: internet domain socket address
|
||||
#
|
||||
# Since: 1.3
|
||||
##
|
||||
{ 'struct': 'InetSocketAddressWrapper',
|
||||
@ -127,6 +145,8 @@
|
||||
##
|
||||
# @UnixSocketAddressWrapper:
|
||||
#
|
||||
# @data: UNIX domain socket address
|
||||
#
|
||||
# Since: 1.3
|
||||
##
|
||||
{ 'struct': 'UnixSocketAddressWrapper',
|
||||
@ -135,18 +155,22 @@
|
||||
##
|
||||
# @VsockSocketAddressWrapper:
|
||||
#
|
||||
# @data: VSOCK domain socket address
|
||||
#
|
||||
# Since: 2.8
|
||||
##
|
||||
{ 'struct': 'VsockSocketAddressWrapper',
|
||||
'data': { 'data': 'VsockSocketAddress' } }
|
||||
|
||||
##
|
||||
# @StringWrapper:
|
||||
# @FdSocketAddressWrapper:
|
||||
#
|
||||
# @data: file descriptor name or number
|
||||
#
|
||||
# Since: 1.3
|
||||
##
|
||||
{ 'struct': 'StringWrapper',
|
||||
'data': { 'data': 'String' } }
|
||||
{ 'struct': 'FdSocketAddressWrapper',
|
||||
'data': { 'data': 'FdSocketAddress' } }
|
||||
|
||||
##
|
||||
# @SocketAddressLegacy:
|
||||
@ -154,6 +178,8 @@
|
||||
# Captures the address of a socket, which could also be a named file
|
||||
# descriptor
|
||||
#
|
||||
# @type: Transport type
|
||||
#
|
||||
# Note: This type is deprecated in favor of SocketAddress. The
|
||||
# difference between SocketAddressLegacy and SocketAddress is that
|
||||
# the latter has fewer {} on the wire.
|
||||
@ -167,7 +193,7 @@
|
||||
'inet': 'InetSocketAddressWrapper',
|
||||
'unix': 'UnixSocketAddressWrapper',
|
||||
'vsock': 'VsockSocketAddressWrapper',
|
||||
'fd': 'StringWrapper' } }
|
||||
'fd': 'FdSocketAddressWrapper' } }
|
||||
|
||||
##
|
||||
# @SocketAddressType:
|
||||
@ -180,11 +206,7 @@
|
||||
#
|
||||
# @vsock: VMCI address
|
||||
#
|
||||
# @fd: decimal is for file descriptor number, otherwise a file
|
||||
# descriptor name. Named file descriptors are permitted in
|
||||
# monitor commands, in combination with the 'getfd' command.
|
||||
# Decimal file descriptors are permitted at startup or other
|
||||
# contexts where no monitor context is active.
|
||||
# @fd: Socket file descriptor
|
||||
#
|
||||
# Since: 2.9
|
||||
##
|
||||
@ -194,7 +216,7 @@
|
||||
##
|
||||
# @SocketAddress:
|
||||
#
|
||||
# Captures the address of a socket, which could also be a named file
|
||||
# Captures the address of a socket, which could also be a socket file
|
||||
# descriptor
|
||||
#
|
||||
# @type: Transport type
|
||||
@ -207,4 +229,4 @@
|
||||
'data': { 'inet': 'InetSocketAddress',
|
||||
'unix': 'UnixSocketAddress',
|
||||
'vsock': 'VsockSocketAddress',
|
||||
'fd': 'String' } }
|
||||
'fd': 'FdSocketAddress' } }
|
||||
|
@ -120,6 +120,8 @@
|
||||
# - which providers to request statistics from
|
||||
# - which named values to return within each provider
|
||||
#
|
||||
# @target: the kind of objects to query
|
||||
#
|
||||
# Since: 7.1
|
||||
##
|
||||
{ 'union': 'StatsFilter',
|
||||
|
@ -102,6 +102,8 @@
|
||||
##
|
||||
# @TPMPassthroughOptionsWrapper:
|
||||
#
|
||||
# @data: Information about the TPM passthrough type
|
||||
#
|
||||
# Since: 1.5
|
||||
##
|
||||
{ 'struct': 'TPMPassthroughOptionsWrapper',
|
||||
@ -111,6 +113,8 @@
|
||||
##
|
||||
# @TPMEmulatorOptionsWrapper:
|
||||
#
|
||||
# @data: Information about the TPM emulator type
|
||||
#
|
||||
# Since: 2.11
|
||||
##
|
||||
{ 'struct': 'TPMEmulatorOptionsWrapper',
|
||||
|
@ -158,6 +158,8 @@
|
||||
# A discriminated record of operations that can be performed with
|
||||
# @transaction.
|
||||
#
|
||||
# @type: the operation to be performed
|
||||
#
|
||||
# Since: 1.1
|
||||
##
|
||||
{ 'union': 'TransactionAction',
|
||||
|
14
qapi/ui.json
14
qapi/ui.json
@ -990,6 +990,8 @@
|
||||
##
|
||||
# @IntWrapper:
|
||||
#
|
||||
# @data: a numeric key code
|
||||
#
|
||||
# Since: 1.3
|
||||
##
|
||||
{ 'struct': 'IntWrapper',
|
||||
@ -998,6 +1000,8 @@
|
||||
##
|
||||
# @QKeyCodeWrapper:
|
||||
#
|
||||
# @data: An enumeration of key name
|
||||
#
|
||||
# Since: 1.3
|
||||
##
|
||||
{ 'struct': 'QKeyCodeWrapper',
|
||||
@ -1008,6 +1012,8 @@
|
||||
#
|
||||
# Represents a keyboard key.
|
||||
#
|
||||
# @type: key encoding
|
||||
#
|
||||
# Since: 1.3
|
||||
##
|
||||
{ 'union': 'KeyValue',
|
||||
@ -1175,6 +1181,8 @@
|
||||
##
|
||||
# @InputKeyEventWrapper:
|
||||
#
|
||||
# @data: Keyboard input event
|
||||
#
|
||||
# Since: 2.0
|
||||
##
|
||||
{ 'struct': 'InputKeyEventWrapper',
|
||||
@ -1183,6 +1191,8 @@
|
||||
##
|
||||
# @InputBtnEventWrapper:
|
||||
#
|
||||
# @data: Pointer button input event
|
||||
#
|
||||
# Since: 2.0
|
||||
##
|
||||
{ 'struct': 'InputBtnEventWrapper',
|
||||
@ -1191,6 +1201,8 @@
|
||||
##
|
||||
# @InputMoveEventWrapper:
|
||||
#
|
||||
# @data: Pointer motion input event
|
||||
#
|
||||
# Since: 2.0
|
||||
##
|
||||
{ 'struct': 'InputMoveEventWrapper',
|
||||
@ -1199,6 +1211,8 @@
|
||||
##
|
||||
# @InputMultiTouchEventWrapper:
|
||||
#
|
||||
# @data: MultiTouch input event
|
||||
#
|
||||
# Since: 8.1
|
||||
##
|
||||
{ 'struct': 'InputMultiTouchEventWrapper',
|
||||
|
@ -49,6 +49,8 @@
|
||||
# A yank instance can be yanked with the @yank qmp command to recover
|
||||
# from a hanging QEMU.
|
||||
#
|
||||
# @type: yank instance type
|
||||
#
|
||||
# Currently implemented yank instances:
|
||||
#
|
||||
# - nbd block device: Yanking it will shut down the connection to the
|
||||
@ -74,7 +76,7 @@
|
||||
# Try to recover from hanging QEMU by yanking the specified instances.
|
||||
# See @YankInstance for more information.
|
||||
#
|
||||
# Takes a list of @YankInstance as argument.
|
||||
# @instances: the instances to be yanked
|
||||
#
|
||||
# Returns:
|
||||
# - Nothing on success
|
||||
|
@ -33,7 +33,10 @@
|
||||
'guest-get-time',
|
||||
'guest-set-vcpus',
|
||||
'guest-sync',
|
||||
'guest-sync-delimited' ] } }
|
||||
'guest-sync-delimited' ],
|
||||
# Types and commands with undocumented members:
|
||||
'documentation-exceptions': [
|
||||
'GuestNVMeSmart' ] } }
|
||||
|
||||
##
|
||||
# @guest-sync-delimited:
|
||||
@ -776,14 +779,15 @@
|
||||
# Attempt to reconfigure (currently: enable/disable) logical
|
||||
# processors inside the guest.
|
||||
#
|
||||
# The input list is processed node by node in order. In each node
|
||||
# @logical-id is used to look up the guest VCPU, for which @online
|
||||
# specifies the requested state. The set of distinct @logical-id's is
|
||||
# only required to be a subset of the guest-supported identifiers.
|
||||
# There's no restriction on list length or on repeating the same
|
||||
# @logical-id (with possibly different @online field). Preferably the
|
||||
# input list should describe a modified subset of @guest-get-vcpus'
|
||||
# return value.
|
||||
# @vcpus: The logical processors to be reconfigured. This list is
|
||||
# processed node by node in order. In each node @logical-id is
|
||||
# used to look up the guest VCPU, for which @online specifies the
|
||||
# requested state. The set of distinct @logical-id's is only
|
||||
# required to be a subset of the guest-supported identifiers.
|
||||
# There's no restriction on list length or on repeating the same
|
||||
# @logical-id (with possibly different @online field). Preferably
|
||||
# the input list should describe a modified subset of
|
||||
# @guest-get-vcpus' return value.
|
||||
#
|
||||
# Returns: The length of the initial sublist that has been
|
||||
# successfully processed. The guest agent maximizes this value.
|
||||
@ -934,6 +938,8 @@
|
||||
# NVMe smart information, based on NVMe specification, section
|
||||
# <SMART / Health Information (Log Identifier 02h)>
|
||||
#
|
||||
# TODO: document members briefly
|
||||
#
|
||||
# Since: 7.1
|
||||
##
|
||||
{ 'struct': 'GuestNVMeSmart',
|
||||
@ -968,7 +974,7 @@
|
||||
#
|
||||
# Disk type related smart information.
|
||||
#
|
||||
# - @nvme: NVMe disk smart
|
||||
# @type: disk bus type
|
||||
#
|
||||
# Since: 7.1
|
||||
##
|
||||
@ -1163,14 +1169,16 @@
|
||||
# Attempt to reconfigure (currently: enable/disable) state of memory
|
||||
# blocks inside the guest.
|
||||
#
|
||||
# The input list is processed node by node in order. In each node
|
||||
# @phys-index is used to look up the guest MEMORY BLOCK, for which
|
||||
# @online specifies the requested state. The set of distinct
|
||||
# @phys-index's is only required to be a subset of the guest-supported
|
||||
# identifiers. There's no restriction on list length or on repeating
|
||||
# the same @phys-index (with possibly different @online field).
|
||||
# Preferably the input list should describe a modified subset of
|
||||
# @guest-get-memory-blocks' return value.
|
||||
# @mem-blks: The memory blocks to be reconfigured. This list is
|
||||
# processed node by node in order. In each node @phys-index is
|
||||
# used to look up the guest MEMORY BLOCK, for which @online
|
||||
# specifies the requested state. The set of distinct
|
||||
# @phys-index's is only required to be a subset of the
|
||||
# guest-supported identifiers. There's no restriction on list
|
||||
# length or on repeating the same @phys-index (with possibly
|
||||
# different @online field). Preferably the input list should
|
||||
# describe a modified subset of @guest-get-memory-blocks' return
|
||||
# value.
|
||||
#
|
||||
# Returns: The operation results, it is a list of
|
||||
# @GuestMemoryBlockResponse, which is corresponding to the input
|
||||
@ -1487,6 +1495,8 @@
|
||||
|
||||
##
|
||||
# @GuestDeviceType:
|
||||
#
|
||||
# @pci: PCI device
|
||||
##
|
||||
{ 'enum': 'GuestDeviceType',
|
||||
'data': [ 'pci' ] }
|
||||
@ -1506,7 +1516,9 @@
|
||||
##
|
||||
# @GuestDeviceId:
|
||||
#
|
||||
# Id of the device - @pci: PCI ID, since: 5.2
|
||||
# Id of the device
|
||||
#
|
||||
# @type: device type
|
||||
#
|
||||
# Since: 5.2
|
||||
##
|
||||
@ -1688,6 +1700,8 @@
|
||||
# @major: major device number of disk
|
||||
#
|
||||
# @minor: minor device number of disk
|
||||
#
|
||||
# @stats: I/O statistics
|
||||
##
|
||||
{ 'struct': 'GuestDiskStatsInfo',
|
||||
'data': {'name': 'str',
|
||||
@ -1711,7 +1725,9 @@
|
||||
##
|
||||
# @GuestCpuStatsType:
|
||||
#
|
||||
# An enumeration of OS type
|
||||
# Guest operating systems supporting CPU statistics
|
||||
#
|
||||
# @linux: Linux
|
||||
#
|
||||
# Since: 7.1
|
||||
##
|
||||
@ -1768,7 +1784,7 @@
|
||||
#
|
||||
# Get statistics of each CPU in millisecond.
|
||||
#
|
||||
# - @linux: Linux style CPU statistics
|
||||
# @type: guest operating system
|
||||
#
|
||||
# Since: 7.1
|
||||
##
|
||||
|
@ -238,6 +238,8 @@ class QAPISchemaParser:
|
||||
pragma.command_name_exceptions = check_list_str(name, value)
|
||||
elif name == 'command-returns-exceptions':
|
||||
pragma.command_returns_exceptions = check_list_str(name, value)
|
||||
elif name == 'documentation-exceptions':
|
||||
pragma.documentation_exceptions = check_list_str(name, value)
|
||||
elif name == 'member-name-exceptions':
|
||||
pragma.member_name_exceptions = check_list_str(name, value)
|
||||
else:
|
||||
@ -739,7 +741,10 @@ class QAPIDoc:
|
||||
|
||||
def connect_member(self, member: 'QAPISchemaMember') -> None:
|
||||
if member.name not in self.args:
|
||||
# Undocumented TODO outlaw
|
||||
if self.symbol not in member.info.pragma.documentation_exceptions:
|
||||
raise QAPISemError(member.info,
|
||||
"%s '%s' lacks documentation"
|
||||
% (member.role, member.name))
|
||||
self.args[member.name] = QAPIDoc.ArgSection(self._parser,
|
||||
member.name)
|
||||
self.args[member.name].connect(member)
|
||||
|
@ -24,6 +24,8 @@ class QAPISchemaPragma:
|
||||
self.command_name_exceptions: List[str] = []
|
||||
# Commands allowed to return a non-dictionary
|
||||
self.command_returns_exceptions: List[str] = []
|
||||
# Types, commands, and events with undocumented members
|
||||
self.documentation_exceptions: List[str] = []
|
||||
# Types whose member names may violate case conventions
|
||||
self.member_name_exceptions: List[str] = []
|
||||
|
||||
|
@ -2,6 +2,8 @@
|
||||
|
||||
##
|
||||
# @AorB:
|
||||
# @a: a
|
||||
# @b: b
|
||||
# @aa: a
|
||||
# @bb: b
|
||||
##
|
||||
|
@ -3,7 +3,9 @@
|
||||
#
|
||||
# Positive QAPI doc comment tests
|
||||
|
||||
{ 'pragma': { 'doc-required': true } }
|
||||
{ 'pragma': {
|
||||
'doc-required': true,
|
||||
'documentation-exceptions': [ 'Enum', 'Variant1', 'Alternate', 'cmd' ] } }
|
||||
|
||||
##
|
||||
# = Section
|
||||
@ -73,8 +75,8 @@
|
||||
# @Base:
|
||||
#
|
||||
# @base1:
|
||||
# description starts on a new line,
|
||||
# not indented
|
||||
# description starts on a new line,
|
||||
# minimally indented
|
||||
##
|
||||
{ 'struct': 'Base', 'data': { 'base1': 'Enum' },
|
||||
'if': { 'all': ['IFALL1', 'IFALL2'] } }
|
||||
@ -155,10 +157,10 @@
|
||||
# TODO: frobnicate
|
||||
# Notes:
|
||||
#
|
||||
# - Lorem ipsum dolor sit amet
|
||||
# - Ut enim ad minim veniam
|
||||
# - Lorem ipsum dolor sit amet
|
||||
# - Ut enim ad minim veniam
|
||||
#
|
||||
# Duis aute irure dolor
|
||||
# Duis aute irure dolor
|
||||
# Example:
|
||||
#
|
||||
# -> in
|
||||
|
@ -118,7 +118,7 @@ doc symbol=Base
|
||||
|
||||
arg=base1
|
||||
description starts on a new line,
|
||||
not indented
|
||||
minimally indented
|
||||
doc symbol=Variant1
|
||||
body=
|
||||
A paragraph
|
||||
|
@ -1464,7 +1464,8 @@ SocketAddress *socket_address_flatten(SocketAddressLegacy *addr_legacy)
|
||||
break;
|
||||
case SOCKET_ADDRESS_TYPE_FD:
|
||||
addr->type = SOCKET_ADDRESS_TYPE_FD;
|
||||
QAPI_CLONE_MEMBERS(String, &addr->u.fd, addr_legacy->u.fd.data);
|
||||
QAPI_CLONE_MEMBERS(FdSocketAddress, &addr->u.fd,
|
||||
addr_legacy->u.fd.data);
|
||||
break;
|
||||
default:
|
||||
abort();
|
||||
|
Loading…
Reference in New Issue
Block a user