master
json 230 lines 4.05 KB
Raw
1 # -*- Mode: Python -*-
2 # vim: filetype=python
3
4 ##
5 # *****************
6 # Common data types
7 # *****************
8 ##
9
10 ##
11 # @IoOperationType:
12 #
13 # An enumeration of the I/O operation types
14 #
15 # @read: read operation
16 #
17 # @write: write operation
18 #
19 # Since: 2.1
20 ##
21 { 'enum': 'IoOperationType',
22 'data': [ 'read', 'write' ] }
23
24 ##
25 # @OnOffAuto:
26 #
27 # An enumeration of three options: on, off, and auto
28 #
29 # @auto: QEMU selects the value between on and off
30 #
31 # @on: Enabled
32 #
33 # @off: Disabled
34 #
35 # Since: 2.2
36 ##
37 { 'enum': 'OnOffAuto',
38 'data': [ 'auto', 'on', 'off' ] }
39
40 ##
41 # @OnOffSplit:
42 #
43 # An enumeration of three values: on, off, and split
44 #
45 # @on: Enabled
46 #
47 # @off: Disabled
48 #
49 # @split: Mixed
50 #
51 # Since: 2.6
52 ##
53 { 'enum': 'OnOffSplit',
54 'data': [ 'on', 'off', 'split' ] }
55
56 ##
57 # @StrOrNull:
58 #
59 # This is a string value or the explicit lack of a string (null
60 # pointer in C). Intended for cases when 'optional absent' already
61 # has a different meaning.
62 #
63 # @s: the string value
64 #
65 # @n: no string value
66 #
67 # Since: 2.10
68 ##
69 { 'alternate': 'StrOrNull',
70 'data': { 's': 'str',
71 'n': 'null' } }
72
73 ##
74 # @OffAutoPCIBAR:
75 #
76 # An enumeration of options for specifying a PCI BAR
77 #
78 # @off: The specified feature is disabled
79 #
80 # @auto: The PCI BAR for the feature is automatically selected
81 #
82 # @bar0: PCI BAR0 is used for the feature
83 #
84 # @bar1: PCI BAR1 is used for the feature
85 #
86 # @bar2: PCI BAR2 is used for the feature
87 #
88 # @bar3: PCI BAR3 is used for the feature
89 #
90 # @bar4: PCI BAR4 is used for the feature
91 #
92 # @bar5: PCI BAR5 is used for the feature
93 #
94 # Since: 2.12
95 ##
96 { 'enum': 'OffAutoPCIBAR',
97 'data': [ 'off', 'auto', 'bar0', 'bar1', 'bar2', 'bar3', 'bar4', 'bar5' ] }
98
99 ##
100 # @PCIELinkSpeed:
101 #
102 # An enumeration of PCIe link speeds in units of GT/s
103 #
104 # @2_5: 2.5GT/s
105 #
106 # @5: 5.0GT/s
107 #
108 # @8: 8.0GT/s
109 #
110 # @16: 16.0GT/s
111 #
112 # @32: 32.0GT/s (since 9.0)
113 #
114 # @64: 64.0GT/s (since 9.0)
115 #
116 # Since: 4.0
117 ##
118 { 'enum': 'PCIELinkSpeed',
119 'data': [ '2_5', '5', '8', '16', '32', '64' ] }
120
121 ##
122 # @PCIELinkWidth:
123 #
124 # An enumeration of PCIe link width
125 #
126 # @1: x1
127 #
128 # @2: x2
129 #
130 # @4: x4
131 #
132 # @8: x8
133 #
134 # @12: x12
135 #
136 # @16: x16
137 #
138 # @32: x32
139 #
140 # Since: 4.0
141 ##
142 { 'enum': 'PCIELinkWidth',
143 'data': [ '1', '2', '4', '8', '12', '16', '32' ] }
144
145 ##
146 # @HostMemPolicy:
147 #
148 # Host memory policy types
149 #
150 # @default: restore default policy, remove any nondefault policy
151 #
152 # @preferred: set the preferred host nodes for allocation
153 #
154 # @bind: a strict policy that restricts memory allocation to the host
155 # nodes specified
156 #
157 # @interleave: memory allocations are interleaved across the set of
158 # host nodes specified
159 #
160 # Since: 2.1
161 ##
162 { 'enum': 'HostMemPolicy',
163 'data': [ 'default', 'preferred', 'bind', 'interleave' ] }
164
165 ##
166 # @NetFilterDirection:
167 #
168 # Indicates whether a netfilter is attached to a netdev's transmit
169 # queue or receive queue or both.
170 #
171 # @all: the filter is attached both to the receive and the transmit
172 # queue of the netdev (default).
173 #
174 # @rx: the filter is attached to the receive queue of the netdev,
175 # where it will receive packets sent to the netdev.
176 #
177 # @tx: the filter is attached to the transmit queue of the netdev,
178 # where it will receive packets sent by the netdev.
179 #
180 # Since: 2.5
181 ##
182 { 'enum': 'NetFilterDirection',
183 'data': [ 'all', 'rx', 'tx' ] }
184
185 ##
186 # @GrabToggleKeys:
187 #
188 # Key combinations to toggle input-linux between host and guest.
189 #
190 # @ctrl-ctrl: left and right control key
191 #
192 # @alt-alt: left and right alt key
193 #
194 # @shift-shift: left and right shift key
195 #
196 # @meta-meta: left and right meta key
197 #
198 # @scrolllock: scroll lock key
199 #
200 # @ctrl-scrolllock: either control key and scroll lock key
201 #
202 # Since: 4.0
203 ##
204 { 'enum': 'GrabToggleKeys',
205 'data': [ 'ctrl-ctrl', 'alt-alt', 'shift-shift','meta-meta', 'scrolllock',
206 'ctrl-scrolllock' ] }
207
208 ##
209 # @HumanReadableText:
210 #
211 # @human-readable-text: Formatted output intended for humans.
212 #
213 # Since: 6.2
214 ##
215 { 'struct': 'HumanReadableText',
216 'data': { 'human-readable-text': 'str' } }
217
218 ##
219 # @EndianMode:
220 #
221 # @unspecified: Endianness not specified
222 #
223 # @little: Little endianness
224 #
225 # @big: Big endianness
226 #
227 # Since: 10.0
228 ##
229 { 'enum': 'EndianMode',
230 'data': [ 'unspecified', 'little', 'big' ] }