xref: /openbmc/qemu/qapi/common.json (revision c3bbbdbf)
1d34bda71SBenoît Canet# -*- Mode: Python -*-
2d3a48372SMarc-André Lureau
3d3a48372SMarc-André Lureau##
4f5cf31c5SMarkus Armbruster# = Common data types
5d3a48372SMarc-André Lureau##
6d34bda71SBenoît Canet
7d34bda71SBenoît Canet##
85072f7b3SMarc-André Lureau# @QapiErrorClass:
9d34bda71SBenoît Canet#
10d34bda71SBenoît Canet# QEMU error classes
11d34bda71SBenoît Canet#
12d34bda71SBenoît Canet# @GenericError: this is used for errors that don't require a specific error
13d34bda71SBenoît Canet#                class. This should be the default case for most errors
14d34bda71SBenoît Canet#
15d34bda71SBenoît Canet# @CommandNotFound: the requested command has not been found
16d34bda71SBenoît Canet#
17d34bda71SBenoît Canet# @DeviceNotActive: a device has failed to be become active
18d34bda71SBenoît Canet#
19d34bda71SBenoît Canet# @DeviceNotFound: the requested device has not been found
20d34bda71SBenoît Canet#
21d34bda71SBenoît Canet# @KVMMissingCap: the requested operation can't be fulfilled because a
22d34bda71SBenoît Canet#                 required KVM capability is missing
23d34bda71SBenoît Canet#
24d34bda71SBenoît Canet# Since: 1.2
25d34bda71SBenoît Canet##
26f22a28b8SEric Blake{ 'enum': 'QapiErrorClass',
27f22a28b8SEric Blake  # Keep this in sync with ErrorClass in error.h
28c01c214bSDaniel P. Berrange  'data': [ 'GenericError', 'CommandNotFound',
29d34bda71SBenoît Canet            'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] }
30d34bda71SBenoît Canet
31d34bda71SBenoît Canet##
322031c133SMarkus Armbruster# @IoOperationType:
332031c133SMarkus Armbruster#
342031c133SMarkus Armbruster# An enumeration of the I/O operation types
352031c133SMarkus Armbruster#
362031c133SMarkus Armbruster# @read: read operation
372031c133SMarkus Armbruster#
382031c133SMarkus Armbruster# @write: write operation
392031c133SMarkus Armbruster#
402031c133SMarkus Armbruster# Since: 2.1
412031c133SMarkus Armbruster##
422031c133SMarkus Armbruster{ 'enum': 'IoOperationType',
432031c133SMarkus Armbruster  'data': [ 'read', 'write' ] }
442031c133SMarkus Armbruster
452031c133SMarkus Armbruster##
465072f7b3SMarc-André Lureau# @OnOffAuto:
47d1048befSDon Slutz#
48d1048befSDon Slutz# An enumeration of three options: on, off, and auto
49d1048befSDon Slutz#
50d1048befSDon Slutz# @auto: QEMU selects the value between on and off
51d1048befSDon Slutz#
52d1048befSDon Slutz# @on: Enabled
53d1048befSDon Slutz#
54d1048befSDon Slutz# @off: Disabled
55d1048befSDon Slutz#
56d1048befSDon Slutz# Since: 2.2
57d1048befSDon Slutz##
58d1048befSDon Slutz{ 'enum': 'OnOffAuto',
59d1048befSDon Slutz  'data': [ 'auto', 'on', 'off' ] }
6032c18a2dSMatt Gingell
6132c18a2dSMatt Gingell##
625072f7b3SMarc-André Lureau# @OnOffSplit:
6332c18a2dSMatt Gingell#
6432c18a2dSMatt Gingell# An enumeration of three values: on, off, and split
6532c18a2dSMatt Gingell#
6632c18a2dSMatt Gingell# @on: Enabled
6732c18a2dSMatt Gingell#
6832c18a2dSMatt Gingell# @off: Disabled
6932c18a2dSMatt Gingell#
7032c18a2dSMatt Gingell# @split: Mixed
7132c18a2dSMatt Gingell#
7232c18a2dSMatt Gingell# Since: 2.6
7332c18a2dSMatt Gingell##
7432c18a2dSMatt Gingell{ 'enum': 'OnOffSplit',
7532c18a2dSMatt Gingell  'data': [ 'on', 'off', 'split' ] }
76a2ff5a48SMarkus Armbruster
77a2ff5a48SMarkus Armbruster##
78a2ff5a48SMarkus Armbruster# @String:
79a2ff5a48SMarkus Armbruster#
80a2ff5a48SMarkus Armbruster# A fat type wrapping 'str', to be embedded in lists.
81a2ff5a48SMarkus Armbruster#
82a2ff5a48SMarkus Armbruster# Since: 1.2
83a2ff5a48SMarkus Armbruster##
84a2ff5a48SMarkus Armbruster{ 'struct': 'String',
85a2ff5a48SMarkus Armbruster  'data': {
86a2ff5a48SMarkus Armbruster    'str': 'str' } }
8748685a8eSMarkus Armbruster
8848685a8eSMarkus Armbruster##
8948685a8eSMarkus Armbruster# @StrOrNull:
9048685a8eSMarkus Armbruster#
9148685a8eSMarkus Armbruster# This is a string value or the explicit lack of a string (null
9248685a8eSMarkus Armbruster# pointer in C).  Intended for cases when 'optional absent' already
9348685a8eSMarkus Armbruster# has a different meaning.
9448685a8eSMarkus Armbruster#
9548685a8eSMarkus Armbruster# @s: the string value
9648685a8eSMarkus Armbruster# @n: no string value
9748685a8eSMarkus Armbruster#
9848685a8eSMarkus Armbruster# Since: 2.10
9948685a8eSMarkus Armbruster##
10048685a8eSMarkus Armbruster{ 'alternate': 'StrOrNull',
10148685a8eSMarkus Armbruster  'data': { 's': 'str',
10248685a8eSMarkus Armbruster            'n': 'null' } }
103*c3bbbdbfSAlex Williamson
104*c3bbbdbfSAlex Williamson##
105*c3bbbdbfSAlex Williamson# @OffAutoPCIBAR:
106*c3bbbdbfSAlex Williamson#
107*c3bbbdbfSAlex Williamson# An enumeration of options for specifying a PCI BAR
108*c3bbbdbfSAlex Williamson#
109*c3bbbdbfSAlex Williamson# @off: The specified feature is disabled
110*c3bbbdbfSAlex Williamson#
111*c3bbbdbfSAlex Williamson# @auto: The PCI BAR for the feature is automatically selected
112*c3bbbdbfSAlex Williamson#
113*c3bbbdbfSAlex Williamson# @bar0: PCI BAR0 is used for the feature
114*c3bbbdbfSAlex Williamson#
115*c3bbbdbfSAlex Williamson# @bar1: PCI BAR1 is used for the feature
116*c3bbbdbfSAlex Williamson#
117*c3bbbdbfSAlex Williamson# @bar2: PCI BAR2 is used for the feature
118*c3bbbdbfSAlex Williamson#
119*c3bbbdbfSAlex Williamson# @bar3: PCI BAR3 is used for the feature
120*c3bbbdbfSAlex Williamson#
121*c3bbbdbfSAlex Williamson# @bar4: PCI BAR4 is used for the feature
122*c3bbbdbfSAlex Williamson#
123*c3bbbdbfSAlex Williamson# @bar5: PCI BAR5 is used for the feature
124*c3bbbdbfSAlex Williamson#
125*c3bbbdbfSAlex Williamson# Since: 2.12
126*c3bbbdbfSAlex Williamson##
127*c3bbbdbfSAlex Williamson{ 'enum': 'OffAutoPCIBAR',
128*c3bbbdbfSAlex Williamson  'data': [ 'off', 'auto', 'bar0', 'bar1', 'bar2', 'bar3', 'bar4', 'bar5' ] }
129