xref: /openbmc/qemu/qapi/common.json (revision 4752cdbb)
1d34bda71SBenoît Canet# -*- Mode: Python -*-
2d34bda71SBenoît Canet#
3d34bda71SBenoît Canet# QAPI common definitions
4d34bda71SBenoît Canet
5d34bda71SBenoît Canet##
6d34bda71SBenoît Canet# @ErrorClass
7d34bda71SBenoît Canet#
8d34bda71SBenoît Canet# QEMU error classes
9d34bda71SBenoît Canet#
10d34bda71SBenoît Canet# @GenericError: this is used for errors that don't require a specific error
11d34bda71SBenoît Canet#                class. This should be the default case for most errors
12d34bda71SBenoît Canet#
13d34bda71SBenoît Canet# @CommandNotFound: the requested command has not been found
14d34bda71SBenoît Canet#
15d34bda71SBenoît Canet# @DeviceEncrypted: the requested operation can't be fulfilled because the
16d34bda71SBenoît Canet#                   selected device is encrypted
17d34bda71SBenoît Canet#
18d34bda71SBenoît Canet# @DeviceNotActive: a device has failed to be become active
19d34bda71SBenoît Canet#
20d34bda71SBenoît Canet# @DeviceNotFound: the requested device has not been found
21d34bda71SBenoît Canet#
22d34bda71SBenoît Canet# @KVMMissingCap: the requested operation can't be fulfilled because a
23d34bda71SBenoît Canet#                 required KVM capability is missing
24d34bda71SBenoît Canet#
25d34bda71SBenoît Canet# Since: 1.2
26d34bda71SBenoît Canet##
27d34bda71SBenoît Canet{ 'enum': 'ErrorClass',
28d34bda71SBenoît Canet  'data': [ 'GenericError', 'CommandNotFound', 'DeviceEncrypted',
29d34bda71SBenoît Canet            'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] }
30d34bda71SBenoît Canet
31d34bda71SBenoît Canet##
32*4752cdbbSEric Blake# @VersionTriple
33*4752cdbbSEric Blake#
34*4752cdbbSEric Blake# A three-part version number.
35*4752cdbbSEric Blake#
36*4752cdbbSEric Blake# @qemu.major:  The major version number.
37*4752cdbbSEric Blake#
38*4752cdbbSEric Blake# @qemu.minor:  The minor version number.
39*4752cdbbSEric Blake#
40*4752cdbbSEric Blake# @qemu.micro:  The micro version number.
41*4752cdbbSEric Blake#
42*4752cdbbSEric Blake# Since: 2.4
43*4752cdbbSEric Blake##
44*4752cdbbSEric Blake{ 'struct': 'VersionTriple',
45*4752cdbbSEric Blake  'data': {'major': 'int', 'minor': 'int', 'micro': 'int'} }
46*4752cdbbSEric Blake
47*4752cdbbSEric Blake
48*4752cdbbSEric Blake##
49d34bda71SBenoît Canet# @VersionInfo:
50d34bda71SBenoît Canet#
51d34bda71SBenoît Canet# A description of QEMU's version.
52d34bda71SBenoît Canet#
53*4752cdbbSEric Blake# @qemu:        The version of QEMU.  By current convention, a micro
54d34bda71SBenoît Canet#               version of 50 signifies a development branch.  A micro version
55d34bda71SBenoît Canet#               greater than or equal to 90 signifies a release candidate for
56d34bda71SBenoît Canet#               the next minor version.  A micro version of less than 50
57d34bda71SBenoît Canet#               signifies a stable release.
58d34bda71SBenoît Canet#
59d34bda71SBenoît Canet# @package:     QEMU will always set this field to an empty string.  Downstream
60d34bda71SBenoît Canet#               versions of QEMU should set this to a non-empty string.  The
61d34bda71SBenoît Canet#               exact format depends on the downstream however it highly
62d34bda71SBenoît Canet#               recommended that a unique name is used.
63d34bda71SBenoît Canet#
64d34bda71SBenoît Canet# Since: 0.14.0
65d34bda71SBenoît Canet##
66895a2a80SEric Blake{ 'struct': 'VersionInfo',
67*4752cdbbSEric Blake  'data': {'qemu': 'VersionTriple', 'package': 'str'} }
68d34bda71SBenoît Canet
69d34bda71SBenoît Canet##
70d34bda71SBenoît Canet# @query-version:
71d34bda71SBenoît Canet#
72d34bda71SBenoît Canet# Returns the current version of QEMU.
73d34bda71SBenoît Canet#
74d34bda71SBenoît Canet# Returns:  A @VersionInfo object describing the current version of QEMU.
75d34bda71SBenoît Canet#
76d34bda71SBenoît Canet# Since: 0.14.0
77d34bda71SBenoît Canet##
78d34bda71SBenoît Canet{ 'command': 'query-version', 'returns': 'VersionInfo' }
79d34bda71SBenoît Canet
80d34bda71SBenoît Canet##
81d34bda71SBenoît Canet# @CommandInfo:
82d34bda71SBenoît Canet#
83d34bda71SBenoît Canet# Information about a QMP command
84d34bda71SBenoît Canet#
85d34bda71SBenoît Canet# @name: The command name
86d34bda71SBenoît Canet#
87d34bda71SBenoît Canet# Since: 0.14.0
88d34bda71SBenoît Canet##
89895a2a80SEric Blake{ 'struct': 'CommandInfo', 'data': {'name': 'str'} }
90d34bda71SBenoît Canet
91d34bda71SBenoît Canet##
92d34bda71SBenoît Canet# @query-commands:
93d34bda71SBenoît Canet#
94d34bda71SBenoît Canet# Return a list of supported QMP commands by this server
95d34bda71SBenoît Canet#
96d34bda71SBenoît Canet# Returns: A list of @CommandInfo for all supported commands
97d34bda71SBenoît Canet#
98d34bda71SBenoît Canet# Since: 0.14.0
99d34bda71SBenoît Canet##
100d34bda71SBenoît Canet{ 'command': 'query-commands', 'returns': ['CommandInfo'] }
101d34bda71SBenoît Canet
102d1048befSDon Slutz##
103d1048befSDon Slutz# @OnOffAuto
104d1048befSDon Slutz#
105d1048befSDon Slutz# An enumeration of three options: on, off, and auto
106d1048befSDon Slutz#
107d1048befSDon Slutz# @auto: QEMU selects the value between on and off
108d1048befSDon Slutz#
109d1048befSDon Slutz# @on: Enabled
110d1048befSDon Slutz#
111d1048befSDon Slutz# @off: Disabled
112d1048befSDon Slutz#
113d1048befSDon Slutz# Since: 2.2
114d1048befSDon Slutz##
115d1048befSDon Slutz{ 'enum': 'OnOffAuto',
116d1048befSDon Slutz  'data': [ 'auto', 'on', 'off' ] }
117