blob: 716712d4b317e81c926bf4f308e869b651c05330 [file] [log] [blame]
Benoît Canetd34bda72014-06-05 13:45:29 +02001# -*- Mode: Python -*-
Andrea Bolognanif7160f32020-07-29 20:50:24 +02002# vim: filetype=python
Marc-André Lureaud3a48372017-01-13 15:41:23 +01003
4##
Markus Armbrusterf5cf31c2017-08-24 21:14:08 +02005# = Common data types
Marc-André Lureaud3a48372017-01-13 15:41:23 +01006##
Benoît Canetd34bda72014-06-05 13:45:29 +02007
8##
Markus Armbruster2031c132017-08-24 21:14:06 +02009# @IoOperationType:
10#
11# An enumeration of the I/O operation types
12#
13# @read: read operation
14#
15# @write: write operation
16#
17# Since: 2.1
18##
19{ 'enum': 'IoOperationType',
20 'data': [ 'read', 'write' ] }
21
22##
Marc-André Lureau5072f7b2016-11-17 19:54:55 +040023# @OnOffAuto:
Don Slutzd1048be2014-11-21 11:18:52 -050024#
25# An enumeration of three options: on, off, and auto
26#
27# @auto: QEMU selects the value between on and off
28#
29# @on: Enabled
30#
31# @off: Disabled
32#
33# Since: 2.2
34##
35{ 'enum': 'OnOffAuto',
36 'data': [ 'auto', 'on', 'off' ] }
Matt Gingell32c18a22015-11-16 10:03:06 -080037
38##
Marc-André Lureau5072f7b2016-11-17 19:54:55 +040039# @OnOffSplit:
Matt Gingell32c18a22015-11-16 10:03:06 -080040#
41# An enumeration of three values: on, off, and split
42#
43# @on: Enabled
44#
45# @off: Disabled
46#
47# @split: Mixed
48#
49# Since: 2.6
50##
51{ 'enum': 'OnOffSplit',
52 'data': [ 'on', 'off', 'split' ] }
Markus Armbrustera2ff5a42017-08-24 21:13:56 +020053
54##
55# @String:
56#
57# A fat type wrapping 'str', to be embedded in lists.
58#
59# Since: 1.2
60##
61{ 'struct': 'String',
62 'data': {
63 'str': 'str' } }
Markus Armbruster48685a82017-08-24 21:14:01 +020064
65##
66# @StrOrNull:
67#
68# This is a string value or the explicit lack of a string (null
69# pointer in C). Intended for cases when 'optional absent' already
70# has a different meaning.
71#
72# @s: the string value
73# @n: no string value
74#
75# Since: 2.10
76##
77{ 'alternate': 'StrOrNull',
78 'data': { 's': 'str',
79 'n': 'null' } }
Alex Williamsonc3bbbdb2018-02-06 11:08:26 -070080
81##
82# @OffAutoPCIBAR:
83#
84# An enumeration of options for specifying a PCI BAR
85#
86# @off: The specified feature is disabled
87#
88# @auto: The PCI BAR for the feature is automatically selected
89#
90# @bar0: PCI BAR0 is used for the feature
91#
92# @bar1: PCI BAR1 is used for the feature
93#
94# @bar2: PCI BAR2 is used for the feature
95#
96# @bar3: PCI BAR3 is used for the feature
97#
98# @bar4: PCI BAR4 is used for the feature
99#
100# @bar5: PCI BAR5 is used for the feature
101#
102# Since: 2.12
103##
104{ 'enum': 'OffAutoPCIBAR',
105 'data': [ 'off', 'auto', 'bar0', 'bar1', 'bar2', 'bar3', 'bar4', 'bar5' ] }
Laszlo Ersek9a801c72018-04-27 21:28:49 +0200106
107##
Alex Williamson4695a2c2018-12-12 12:39:08 -0700108# @PCIELinkSpeed:
109#
110# An enumeration of PCIe link speeds in units of GT/s
111#
112# @2_5: 2.5GT/s
113#
114# @5: 5.0GT/s
115#
116# @8: 8.0GT/s
117#
118# @16: 16.0GT/s
119#
120# Since: 4.0
121##
122{ 'enum': 'PCIELinkSpeed',
123 'data': [ '2_5', '5', '8', '16' ] }
124
125##
126# @PCIELinkWidth:
127#
128# An enumeration of PCIe link width
129#
130# @1: x1
131#
132# @2: x2
133#
134# @4: x4
135#
136# @8: x8
137#
138# @12: x12
139#
140# @16: x16
141#
142# @32: x32
143#
144# Since: 4.0
145##
146{ 'enum': 'PCIELinkWidth',
147 'data': [ '1', '2', '4', '8', '12', '16', '32' ] }