xref: /openbmc/qemu/qapi/common.json (revision 895a2a80)
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##
32d34bda71SBenoît Canet# @VersionInfo:
33d34bda71SBenoît Canet#
34d34bda71SBenoît Canet# A description of QEMU's version.
35d34bda71SBenoît Canet#
36d34bda71SBenoît Canet# @qemu.major:  The major version of QEMU
37d34bda71SBenoît Canet#
38d34bda71SBenoît Canet# @qemu.minor:  The minor version of QEMU
39d34bda71SBenoît Canet#
40d34bda71SBenoît Canet# @qemu.micro:  The micro version of QEMU.  By current convention, a micro
41d34bda71SBenoît Canet#               version of 50 signifies a development branch.  A micro version
42d34bda71SBenoît Canet#               greater than or equal to 90 signifies a release candidate for
43d34bda71SBenoît Canet#               the next minor version.  A micro version of less than 50
44d34bda71SBenoît Canet#               signifies a stable release.
45d34bda71SBenoît Canet#
46d34bda71SBenoît Canet# @package:     QEMU will always set this field to an empty string.  Downstream
47d34bda71SBenoît Canet#               versions of QEMU should set this to a non-empty string.  The
48d34bda71SBenoît Canet#               exact format depends on the downstream however it highly
49d34bda71SBenoît Canet#               recommended that a unique name is used.
50d34bda71SBenoît Canet#
51d34bda71SBenoît Canet# Since: 0.14.0
52d34bda71SBenoît Canet##
53*895a2a80SEric Blake{ 'struct': 'VersionInfo',
54d34bda71SBenoît Canet  'data': {'qemu': {'major': 'int', 'minor': 'int', 'micro': 'int'},
55d34bda71SBenoît Canet           'package': 'str'} }
56d34bda71SBenoît Canet
57d34bda71SBenoît Canet##
58d34bda71SBenoît Canet# @query-version:
59d34bda71SBenoît Canet#
60d34bda71SBenoît Canet# Returns the current version of QEMU.
61d34bda71SBenoît Canet#
62d34bda71SBenoît Canet# Returns:  A @VersionInfo object describing the current version of QEMU.
63d34bda71SBenoît Canet#
64d34bda71SBenoît Canet# Since: 0.14.0
65d34bda71SBenoît Canet##
66d34bda71SBenoît Canet{ 'command': 'query-version', 'returns': 'VersionInfo' }
67d34bda71SBenoît Canet
68d34bda71SBenoît Canet##
69d34bda71SBenoît Canet# @CommandInfo:
70d34bda71SBenoît Canet#
71d34bda71SBenoît Canet# Information about a QMP command
72d34bda71SBenoît Canet#
73d34bda71SBenoît Canet# @name: The command name
74d34bda71SBenoît Canet#
75d34bda71SBenoît Canet# Since: 0.14.0
76d34bda71SBenoît Canet##
77*895a2a80SEric Blake{ 'struct': 'CommandInfo', 'data': {'name': 'str'} }
78d34bda71SBenoît Canet
79d34bda71SBenoît Canet##
80d34bda71SBenoît Canet# @query-commands:
81d34bda71SBenoît Canet#
82d34bda71SBenoît Canet# Return a list of supported QMP commands by this server
83d34bda71SBenoît Canet#
84d34bda71SBenoît Canet# Returns: A list of @CommandInfo for all supported commands
85d34bda71SBenoît Canet#
86d34bda71SBenoît Canet# Since: 0.14.0
87d34bda71SBenoît Canet##
88d34bda71SBenoît Canet{ 'command': 'query-commands', 'returns': ['CommandInfo'] }
89d34bda71SBenoît Canet
90d1048befSDon Slutz##
91d1048befSDon Slutz# @OnOffAuto
92d1048befSDon Slutz#
93d1048befSDon Slutz# An enumeration of three options: on, off, and auto
94d1048befSDon Slutz#
95d1048befSDon Slutz# @auto: QEMU selects the value between on and off
96d1048befSDon Slutz#
97d1048befSDon Slutz# @on: Enabled
98d1048befSDon Slutz#
99d1048befSDon Slutz# @off: Disabled
100d1048befSDon Slutz#
101d1048befSDon Slutz# Since: 2.2
102d1048befSDon Slutz##
103d1048befSDon Slutz{ 'enum': 'OnOffAuto',
104d1048befSDon Slutz  'data': [ 'auto', 'on', 'off' ] }
105