]> git.proxmox.com Git - mirror_qemu.git/blobdiff - qapi/introspect.json
Merge remote-tracking branch 'remotes/kraxel/tags/ui-20200904-pull-request' into...
[mirror_qemu.git] / qapi / introspect.json
index 3d22166b2b9d9f566fd417fef543a848b87c2c6e..944bb87a20df019bf9cc2976c6b6be96fa49e7b2 100644 (file)
@@ -1,4 +1,5 @@
 # -*- Mode: Python -*-
+# vim: filetype=python
 #
 # Copyright (C) 2015 Red Hat, Inc.
 #
 # alternate that includes the original type alongside something else.
 #
 # Returns: array of @SchemaInfo, where each element describes an
-# entity in the ABI: command, event, type, ...
+#          entity in the ABI: command, event, type, ...
 #
-# The order of the various SchemaInfo is unspecified; however, all
-# names are guaranteed to be unique (no name will be duplicated with
-# different meta-types).
+#          The order of the various SchemaInfo is unspecified; however, all
+#          names are guaranteed to be unique (no name will be duplicated with
+#          different meta-types).
 #
 # Note: the QAPI schema is also used to help define *internal*
-# interfaces, by defining QAPI types.  These are not part of the QMP
-# wire ABI, and therefore not returned by this command.
+#       interfaces, by defining QAPI types.  These are not part of the QMP
+#       wire ABI, and therefore not returned by this command.
 #
 # Since: 2.5
 ##
 #
 # @meta-type: the entity's meta type, inherited from @base.
 #
+# @features: names of features associated with the entity, in no
+#            particular order.
+#            (since 4.1 for object types, 4.2 for commands, 5.0 for
+#            the rest)
+#
 # Additional members depend on the value of @meta-type.
 #
 # Since: 2.5
 ##
 { 'union': 'SchemaInfo',
-  'base': { 'name': 'str', 'meta-type': 'SchemaMetaType' },
+  'base': { 'name': 'str', 'meta-type': 'SchemaMetaType',
+            '*features': [ 'str' ] },
   'discriminator': 'meta-type',
   'data': {
       'builtin': 'SchemaInfoBuiltin',
 #           Future extension: if present and non-null, the parameter
 #           is optional, and defaults to this value.
 #
+# @features: names of features associated with the member, in no
+#            particular order.  (since 5.0)
+#
 # Since: 2.5
 ##
 { 'struct': 'SchemaInfoObjectMember',
-  'data': { 'name': 'str', 'type': 'str', '*default': 'any' } }
+  'data': { 'name': 'str', 'type': 'str', '*default': 'any',
 # @default's type must be null or match @type
+            '*features': [ 'str' ] } }
 
 ##
 # @SchemaInfoObjectVariant: