root / qapi-schema.json @ 264986e2
History | View | Annotate | Download (84.6 kB)
1 | e3193601 | Anthony Liguori | # -*- Mode: Python -*- |
---|---|---|---|
2 | e3193601 | Anthony Liguori | #
|
3 | e3193601 | Anthony Liguori | # QAPI Schema |
4 | 48a32bed | Anthony Liguori | |
5 | 48a32bed | Anthony Liguori | ## |
6 | dcafd323 | Luiz Capitulino | # @ErrorClass |
7 | dcafd323 | Luiz Capitulino | #
|
8 | dcafd323 | Luiz Capitulino | # QEMU error classes |
9 | dcafd323 | Luiz Capitulino | #
|
10 | dcafd323 | Luiz Capitulino | # @GenericError: this is used for errors that don't require a specific error |
11 | dcafd323 | Luiz Capitulino | # class. This should be the default case for most errors |
12 | dcafd323 | Luiz Capitulino | #
|
13 | dcafd323 | Luiz Capitulino | # @CommandNotFound: the requested command has not been found |
14 | dcafd323 | Luiz Capitulino | #
|
15 | dcafd323 | Luiz Capitulino | # @DeviceEncrypted: the requested operation can't be fulfilled because the |
16 | dcafd323 | Luiz Capitulino | # selected device is encrypted |
17 | dcafd323 | Luiz Capitulino | #
|
18 | dcafd323 | Luiz Capitulino | # @DeviceNotActive: a device has failed to be become active |
19 | dcafd323 | Luiz Capitulino | #
|
20 | dcafd323 | Luiz Capitulino | # @DeviceNotFound: the requested device has not been found |
21 | dcafd323 | Luiz Capitulino | #
|
22 | dcafd323 | Luiz Capitulino | # @KVMMissingCap: the requested operation can't be fulfilled because a |
23 | dcafd323 | Luiz Capitulino | # required KVM capability is missing |
24 | dcafd323 | Luiz Capitulino | #
|
25 | dcafd323 | Luiz Capitulino | # Since: 1.2 |
26 | dcafd323 | Luiz Capitulino | ## |
27 | dcafd323 | Luiz Capitulino | { 'enum': 'ErrorClass', |
28 | dcafd323 | Luiz Capitulino | 'data': [ 'GenericError', 'CommandNotFound', 'DeviceEncrypted', |
29 | 1e998146 | Paolo Bonzini | 'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] } |
30 | dcafd323 | Luiz Capitulino | |
31 | dcafd323 | Luiz Capitulino | ## |
32 | b224e5e2 | Luiz Capitulino | # @add_client |
33 | b224e5e2 | Luiz Capitulino | #
|
34 | b224e5e2 | Luiz Capitulino | # Allow client connections for VNC, Spice and socket based |
35 | b224e5e2 | Luiz Capitulino | # character devices to be passed in to QEMU via SCM_RIGHTS. |
36 | b224e5e2 | Luiz Capitulino | #
|
37 | b224e5e2 | Luiz Capitulino | # @protocol: protocol name. Valid names are "vnc", "spice" or the |
38 | b224e5e2 | Luiz Capitulino | # name of a character device (eg. from -chardev id=XXXX) |
39 | b224e5e2 | Luiz Capitulino | #
|
40 | b224e5e2 | Luiz Capitulino | # @fdname: file descriptor name previously passed via 'getfd' command |
41 | b224e5e2 | Luiz Capitulino | #
|
42 | b224e5e2 | Luiz Capitulino | # @skipauth: #optional whether to skip authentication. Only applies |
43 | b224e5e2 | Luiz Capitulino | # to "vnc" and "spice" protocols |
44 | b224e5e2 | Luiz Capitulino | #
|
45 | b224e5e2 | Luiz Capitulino | # @tls: #optional whether to perform TLS. Only applies to the "spice" |
46 | b224e5e2 | Luiz Capitulino | # protocol |
47 | b224e5e2 | Luiz Capitulino | #
|
48 | b224e5e2 | Luiz Capitulino | # Returns: nothing on success. |
49 | b224e5e2 | Luiz Capitulino | #
|
50 | b224e5e2 | Luiz Capitulino | # Since: 0.14.0 |
51 | b224e5e2 | Luiz Capitulino | ## |
52 | b224e5e2 | Luiz Capitulino | { 'command': 'add_client', |
53 | b224e5e2 | Luiz Capitulino | 'data': { 'protocol': 'str', 'fdname': 'str', '*skipauth': 'bool', |
54 | b224e5e2 | Luiz Capitulino | '*tls': 'bool' } } |
55 | b224e5e2 | Luiz Capitulino | |
56 | b224e5e2 | Luiz Capitulino | ## |
57 | 48a32bed | Anthony Liguori | # @NameInfo: |
58 | 48a32bed | Anthony Liguori | #
|
59 | 48a32bed | Anthony Liguori | # Guest name information. |
60 | 48a32bed | Anthony Liguori | #
|
61 | 48a32bed | Anthony Liguori | # @name: #optional The name of the guest |
62 | 48a32bed | Anthony Liguori | #
|
63 | 48a32bed | Anthony Liguori | # Since 0.14.0 |
64 | 48a32bed | Anthony Liguori | ## |
65 | 48a32bed | Anthony Liguori | { 'type': 'NameInfo', 'data': {'*name': 'str'} } |
66 | 48a32bed | Anthony Liguori | |
67 | 48a32bed | Anthony Liguori | ## |
68 | 48a32bed | Anthony Liguori | # @query-name: |
69 | 48a32bed | Anthony Liguori | #
|
70 | 48a32bed | Anthony Liguori | # Return the name information of a guest. |
71 | 48a32bed | Anthony Liguori | #
|
72 | 48a32bed | Anthony Liguori | # Returns: @NameInfo of the guest |
73 | 48a32bed | Anthony Liguori | #
|
74 | 48a32bed | Anthony Liguori | # Since 0.14.0 |
75 | 48a32bed | Anthony Liguori | ## |
76 | 48a32bed | Anthony Liguori | { 'command': 'query-name', 'returns': 'NameInfo' } |
77 | b9c15f16 | Luiz Capitulino | |
78 | b9c15f16 | Luiz Capitulino | ## |
79 | b9c15f16 | Luiz Capitulino | # @VersionInfo: |
80 | b9c15f16 | Luiz Capitulino | #
|
81 | b9c15f16 | Luiz Capitulino | # A description of QEMU's version. |
82 | b9c15f16 | Luiz Capitulino | #
|
83 | b9c15f16 | Luiz Capitulino | # @qemu.major: The major version of QEMU |
84 | b9c15f16 | Luiz Capitulino | #
|
85 | b9c15f16 | Luiz Capitulino | # @qemu.minor: The minor version of QEMU |
86 | b9c15f16 | Luiz Capitulino | #
|
87 | b9c15f16 | Luiz Capitulino | # @qemu.micro: The micro version of QEMU. By current convention, a micro |
88 | b9c15f16 | Luiz Capitulino | # version of 50 signifies a development branch. A micro version |
89 | b9c15f16 | Luiz Capitulino | # greater than or equal to 90 signifies a release candidate for |
90 | b9c15f16 | Luiz Capitulino | # the next minor version. A micro version of less than 50 |
91 | b9c15f16 | Luiz Capitulino | # signifies a stable release. |
92 | b9c15f16 | Luiz Capitulino | #
|
93 | b9c15f16 | Luiz Capitulino | # @package: QEMU will always set this field to an empty string. Downstream |
94 | b9c15f16 | Luiz Capitulino | # versions of QEMU should set this to a non-empty string. The |
95 | b9c15f16 | Luiz Capitulino | # exact format depends on the downstream however it highly |
96 | b9c15f16 | Luiz Capitulino | # recommended that a unique name is used. |
97 | b9c15f16 | Luiz Capitulino | #
|
98 | b9c15f16 | Luiz Capitulino | # Since: 0.14.0 |
99 | b9c15f16 | Luiz Capitulino | ## |
100 | b9c15f16 | Luiz Capitulino | { 'type': 'VersionInfo', |
101 | b9c15f16 | Luiz Capitulino | 'data': {'qemu': {'major': 'int', 'minor': 'int', 'micro': 'int'}, |
102 | b9c15f16 | Luiz Capitulino | 'package': 'str'} } |
103 | b9c15f16 | Luiz Capitulino | |
104 | b9c15f16 | Luiz Capitulino | ## |
105 | b9c15f16 | Luiz Capitulino | # @query-version: |
106 | b9c15f16 | Luiz Capitulino | #
|
107 | b9c15f16 | Luiz Capitulino | # Returns the current version of QEMU. |
108 | b9c15f16 | Luiz Capitulino | #
|
109 | b9c15f16 | Luiz Capitulino | # Returns: A @VersionInfo object describing the current version of QEMU. |
110 | b9c15f16 | Luiz Capitulino | #
|
111 | b9c15f16 | Luiz Capitulino | # Since: 0.14.0 |
112 | b9c15f16 | Luiz Capitulino | ## |
113 | b9c15f16 | Luiz Capitulino | { 'command': 'query-version', 'returns': 'VersionInfo' } |
114 | 292a2602 | Luiz Capitulino | |
115 | 292a2602 | Luiz Capitulino | ## |
116 | 292a2602 | Luiz Capitulino | # @KvmInfo: |
117 | 292a2602 | Luiz Capitulino | #
|
118 | 292a2602 | Luiz Capitulino | # Information about support for KVM acceleration |
119 | 292a2602 | Luiz Capitulino | #
|
120 | 292a2602 | Luiz Capitulino | # @enabled: true if KVM acceleration is active |
121 | 292a2602 | Luiz Capitulino | #
|
122 | 292a2602 | Luiz Capitulino | # @present: true if KVM acceleration is built into this executable |
123 | 292a2602 | Luiz Capitulino | #
|
124 | 292a2602 | Luiz Capitulino | # Since: 0.14.0 |
125 | 292a2602 | Luiz Capitulino | ## |
126 | 292a2602 | Luiz Capitulino | { 'type': 'KvmInfo', 'data': {'enabled': 'bool', 'present': 'bool'} } |
127 | 292a2602 | Luiz Capitulino | |
128 | 292a2602 | Luiz Capitulino | ## |
129 | 292a2602 | Luiz Capitulino | # @query-kvm: |
130 | 292a2602 | Luiz Capitulino | #
|
131 | 292a2602 | Luiz Capitulino | # Returns information about KVM acceleration |
132 | 292a2602 | Luiz Capitulino | #
|
133 | 292a2602 | Luiz Capitulino | # Returns: @KvmInfo |
134 | 292a2602 | Luiz Capitulino | #
|
135 | 292a2602 | Luiz Capitulino | # Since: 0.14.0 |
136 | 292a2602 | Luiz Capitulino | ## |
137 | 292a2602 | Luiz Capitulino | { 'command': 'query-kvm', 'returns': 'KvmInfo' } |
138 | 292a2602 | Luiz Capitulino | |
139 | 1fa9a5e4 | Luiz Capitulino | ## |
140 | 1fa9a5e4 | Luiz Capitulino | # @RunState |
141 | 1fa9a5e4 | Luiz Capitulino | #
|
142 | 6932a69b | Lei Li | # An enumeration of VM run states. |
143 | 1fa9a5e4 | Luiz Capitulino | #
|
144 | 1fa9a5e4 | Luiz Capitulino | # @debug: QEMU is running on a debugger |
145 | 1fa9a5e4 | Luiz Capitulino | #
|
146 | 0a24c7b1 | Luiz Capitulino | # @finish-migrate: guest is paused to finish the migration process |
147 | 0a24c7b1 | Luiz Capitulino | #
|
148 | 1e998146 | Paolo Bonzini | # @inmigrate: guest is paused waiting for an incoming migration. Note |
149 | 1e998146 | Paolo Bonzini | # that this state does not tell whether the machine will start at the |
150 | 1e998146 | Paolo Bonzini | # end of the migration. This depends on the command-line -S option and |
151 | 1e998146 | Paolo Bonzini | # any invocation of 'stop' or 'cont' that has happened since QEMU was |
152 | 1e998146 | Paolo Bonzini | # started. |
153 | 1fa9a5e4 | Luiz Capitulino | #
|
154 | 1fa9a5e4 | Luiz Capitulino | # @internal-error: An internal error that prevents further guest execution |
155 | 1fa9a5e4 | Luiz Capitulino | # has occurred |
156 | 1fa9a5e4 | Luiz Capitulino | #
|
157 | 1fa9a5e4 | Luiz Capitulino | # @io-error: the last IOP has failed and the device is configured to pause |
158 | 1fa9a5e4 | Luiz Capitulino | # on I/O errors |
159 | 1fa9a5e4 | Luiz Capitulino | #
|
160 | 1fa9a5e4 | Luiz Capitulino | # @paused: guest has been paused via the 'stop' command |
161 | 1fa9a5e4 | Luiz Capitulino | #
|
162 | 1fa9a5e4 | Luiz Capitulino | # @postmigrate: guest is paused following a successful 'migrate' |
163 | 1fa9a5e4 | Luiz Capitulino | #
|
164 | 1fa9a5e4 | Luiz Capitulino | # @prelaunch: QEMU was started with -S and guest has not started |
165 | 1fa9a5e4 | Luiz Capitulino | #
|
166 | 1fa9a5e4 | Luiz Capitulino | # @restore-vm: guest is paused to restore VM state |
167 | 1fa9a5e4 | Luiz Capitulino | #
|
168 | 1fa9a5e4 | Luiz Capitulino | # @running: guest is actively running |
169 | 1fa9a5e4 | Luiz Capitulino | #
|
170 | 1fa9a5e4 | Luiz Capitulino | # @save-vm: guest is paused to save the VM state |
171 | 1fa9a5e4 | Luiz Capitulino | #
|
172 | 1fa9a5e4 | Luiz Capitulino | # @shutdown: guest is shut down (and -no-shutdown is in use) |
173 | 1fa9a5e4 | Luiz Capitulino | #
|
174 | ad02b96a | Luiz Capitulino | # @suspended: guest is suspended (ACPI S3) |
175 | ad02b96a | Luiz Capitulino | #
|
176 | 1fa9a5e4 | Luiz Capitulino | # @watchdog: the watchdog action is configured to pause and has been triggered |
177 | 1fa9a5e4 | Luiz Capitulino | ## |
178 | 1fa9a5e4 | Luiz Capitulino | { 'enum': 'RunState', |
179 | 1fa9a5e4 | Luiz Capitulino | 'data': [ 'debug', 'inmigrate', 'internal-error', 'io-error', 'paused', |
180 | 1fa9a5e4 | Luiz Capitulino | 'postmigrate', 'prelaunch', 'finish-migrate', 'restore-vm', |
181 | ad02b96a | Luiz Capitulino | 'running', 'save-vm', 'shutdown', 'suspended', 'watchdog' ] } |
182 | 1fa9a5e4 | Luiz Capitulino | |
183 | 1fa9a5e4 | Luiz Capitulino | ## |
184 | c249ee68 | Benoรฎt Canet | # @SnapshotInfo |
185 | c249ee68 | Benoรฎt Canet | #
|
186 | c249ee68 | Benoรฎt Canet | # @id: unique snapshot id |
187 | c249ee68 | Benoรฎt Canet | #
|
188 | c249ee68 | Benoรฎt Canet | # @name: user chosen name |
189 | c249ee68 | Benoรฎt Canet | #
|
190 | c249ee68 | Benoรฎt Canet | # @vm-state-size: size of the VM state |
191 | c249ee68 | Benoรฎt Canet | #
|
192 | c249ee68 | Benoรฎt Canet | # @date-sec: UTC date of the snapshot in seconds |
193 | c249ee68 | Benoรฎt Canet | #
|
194 | c249ee68 | Benoรฎt Canet | # @date-nsec: fractional part in nano seconds to be used with date-sec |
195 | c249ee68 | Benoรฎt Canet | #
|
196 | c249ee68 | Benoรฎt Canet | # @vm-clock-sec: VM clock relative to boot in seconds |
197 | c249ee68 | Benoรฎt Canet | #
|
198 | c249ee68 | Benoรฎt Canet | # @vm-clock-nsec: fractional part in nano seconds to be used with vm-clock-sec |
199 | c249ee68 | Benoรฎt Canet | #
|
200 | c249ee68 | Benoรฎt Canet | # Since: 1.3 |
201 | c249ee68 | Benoรฎt Canet | #
|
202 | c249ee68 | Benoรฎt Canet | ## |
203 | c249ee68 | Benoรฎt Canet | |
204 | c249ee68 | Benoรฎt Canet | { 'type': 'SnapshotInfo', |
205 | c249ee68 | Benoรฎt Canet | 'data': { 'id': 'str', 'name': 'str', 'vm-state-size': 'int', |
206 | c249ee68 | Benoรฎt Canet | 'date-sec': 'int', 'date-nsec': 'int', |
207 | c249ee68 | Benoรฎt Canet | 'vm-clock-sec': 'int', 'vm-clock-nsec': 'int' } } |
208 | c249ee68 | Benoรฎt Canet | |
209 | c249ee68 | Benoรฎt Canet | ## |
210 | c249ee68 | Benoรฎt Canet | # @ImageInfo: |
211 | c249ee68 | Benoรฎt Canet | #
|
212 | c249ee68 | Benoรฎt Canet | # Information about a QEMU image file |
213 | c249ee68 | Benoรฎt Canet | #
|
214 | c249ee68 | Benoรฎt Canet | # @filename: name of the image file |
215 | c249ee68 | Benoรฎt Canet | #
|
216 | c249ee68 | Benoรฎt Canet | # @format: format of the image file |
217 | c249ee68 | Benoรฎt Canet | #
|
218 | c249ee68 | Benoรฎt Canet | # @virtual-size: maximum capacity in bytes of the image |
219 | c249ee68 | Benoรฎt Canet | #
|
220 | c249ee68 | Benoรฎt Canet | # @actual-size: #optional actual size on disk in bytes of the image |
221 | c249ee68 | Benoรฎt Canet | #
|
222 | c249ee68 | Benoรฎt Canet | # @dirty-flag: #optional true if image is not cleanly closed |
223 | c249ee68 | Benoรฎt Canet | #
|
224 | c249ee68 | Benoรฎt Canet | # @cluster-size: #optional size of a cluster in bytes |
225 | c249ee68 | Benoรฎt Canet | #
|
226 | c249ee68 | Benoรฎt Canet | # @encrypted: #optional true if the image is encrypted |
227 | c249ee68 | Benoรฎt Canet | #
|
228 | c249ee68 | Benoรฎt Canet | # @backing-filename: #optional name of the backing file |
229 | c249ee68 | Benoรฎt Canet | #
|
230 | c249ee68 | Benoรฎt Canet | # @full-backing-filename: #optional full path of the backing file |
231 | c249ee68 | Benoรฎt Canet | #
|
232 | c249ee68 | Benoรฎt Canet | # @backing-filename-format: #optional the format of the backing file |
233 | c249ee68 | Benoรฎt Canet | #
|
234 | c249ee68 | Benoรฎt Canet | # @snapshots: #optional list of VM snapshots |
235 | c249ee68 | Benoรฎt Canet | #
|
236 | c249ee68 | Benoรฎt Canet | # Since: 1.3 |
237 | c249ee68 | Benoรฎt Canet | #
|
238 | c249ee68 | Benoรฎt Canet | ## |
239 | c249ee68 | Benoรฎt Canet | |
240 | c249ee68 | Benoรฎt Canet | { 'type': 'ImageInfo', |
241 | c249ee68 | Benoรฎt Canet | 'data': {'filename': 'str', 'format': 'str', '*dirty-flag': 'bool', |
242 | c249ee68 | Benoรฎt Canet | '*actual-size': 'int', 'virtual-size': 'int', |
243 | c249ee68 | Benoรฎt Canet | '*cluster-size': 'int', '*encrypted': 'bool', |
244 | c249ee68 | Benoรฎt Canet | '*backing-filename': 'str', '*full-backing-filename': 'str', |
245 | c249ee68 | Benoรฎt Canet | '*backing-filename-format': 'str', '*snapshots': ['SnapshotInfo'] } } |
246 | c249ee68 | Benoรฎt Canet | |
247 | c249ee68 | Benoรฎt Canet | ## |
248 | 1fa9a5e4 | Luiz Capitulino | # @StatusInfo: |
249 | 1fa9a5e4 | Luiz Capitulino | #
|
250 | 1fa9a5e4 | Luiz Capitulino | # Information about VCPU run state |
251 | 1fa9a5e4 | Luiz Capitulino | #
|
252 | 1fa9a5e4 | Luiz Capitulino | # @running: true if all VCPUs are runnable, false if not runnable |
253 | 1fa9a5e4 | Luiz Capitulino | #
|
254 | 1fa9a5e4 | Luiz Capitulino | # @singlestep: true if VCPUs are in single-step mode |
255 | 1fa9a5e4 | Luiz Capitulino | #
|
256 | 1fa9a5e4 | Luiz Capitulino | # @status: the virtual machine @RunState |
257 | 1fa9a5e4 | Luiz Capitulino | #
|
258 | 1fa9a5e4 | Luiz Capitulino | # Since: 0.14.0 |
259 | 1fa9a5e4 | Luiz Capitulino | #
|
260 | 1fa9a5e4 | Luiz Capitulino | # Notes: @singlestep is enabled through the GDB stub |
261 | 1fa9a5e4 | Luiz Capitulino | ## |
262 | 1fa9a5e4 | Luiz Capitulino | { 'type': 'StatusInfo', |
263 | 1fa9a5e4 | Luiz Capitulino | 'data': {'running': 'bool', 'singlestep': 'bool', 'status': 'RunState'} } |
264 | 1fa9a5e4 | Luiz Capitulino | |
265 | 1fa9a5e4 | Luiz Capitulino | ## |
266 | 1fa9a5e4 | Luiz Capitulino | # @query-status: |
267 | 1fa9a5e4 | Luiz Capitulino | #
|
268 | 1fa9a5e4 | Luiz Capitulino | # Query the run status of all VCPUs |
269 | 1fa9a5e4 | Luiz Capitulino | #
|
270 | 1fa9a5e4 | Luiz Capitulino | # Returns: @StatusInfo reflecting all VCPUs |
271 | 1fa9a5e4 | Luiz Capitulino | #
|
272 | 1fa9a5e4 | Luiz Capitulino | # Since: 0.14.0 |
273 | 1fa9a5e4 | Luiz Capitulino | ## |
274 | 1fa9a5e4 | Luiz Capitulino | { 'command': 'query-status', 'returns': 'StatusInfo' } |
275 | 1fa9a5e4 | Luiz Capitulino | |
276 | efab767e | Luiz Capitulino | ## |
277 | efab767e | Luiz Capitulino | # @UuidInfo: |
278 | efab767e | Luiz Capitulino | #
|
279 | efab767e | Luiz Capitulino | # Guest UUID information. |
280 | efab767e | Luiz Capitulino | #
|
281 | efab767e | Luiz Capitulino | # @UUID: the UUID of the guest |
282 | efab767e | Luiz Capitulino | #
|
283 | efab767e | Luiz Capitulino | # Since: 0.14.0 |
284 | efab767e | Luiz Capitulino | #
|
285 | efab767e | Luiz Capitulino | # Notes: If no UUID was specified for the guest, a null UUID is returned. |
286 | efab767e | Luiz Capitulino | ## |
287 | efab767e | Luiz Capitulino | { 'type': 'UuidInfo', 'data': {'UUID': 'str'} } |
288 | efab767e | Luiz Capitulino | |
289 | efab767e | Luiz Capitulino | ## |
290 | efab767e | Luiz Capitulino | # @query-uuid: |
291 | efab767e | Luiz Capitulino | #
|
292 | efab767e | Luiz Capitulino | # Query the guest UUID information. |
293 | efab767e | Luiz Capitulino | #
|
294 | efab767e | Luiz Capitulino | # Returns: The @UuidInfo for the guest |
295 | efab767e | Luiz Capitulino | #
|
296 | efab767e | Luiz Capitulino | # Since 0.14.0 |
297 | efab767e | Luiz Capitulino | ## |
298 | efab767e | Luiz Capitulino | { 'command': 'query-uuid', 'returns': 'UuidInfo' } |
299 | efab767e | Luiz Capitulino | |
300 | c5a415a0 | Luiz Capitulino | ## |
301 | c5a415a0 | Luiz Capitulino | # @ChardevInfo: |
302 | c5a415a0 | Luiz Capitulino | #
|
303 | c5a415a0 | Luiz Capitulino | # Information about a character device. |
304 | c5a415a0 | Luiz Capitulino | #
|
305 | c5a415a0 | Luiz Capitulino | # @label: the label of the character device |
306 | c5a415a0 | Luiz Capitulino | #
|
307 | c5a415a0 | Luiz Capitulino | # @filename: the filename of the character device |
308 | c5a415a0 | Luiz Capitulino | #
|
309 | c5a415a0 | Luiz Capitulino | # Notes: @filename is encoded using the QEMU command line character device |
310 | c5a415a0 | Luiz Capitulino | # encoding. See the QEMU man page for details. |
311 | c5a415a0 | Luiz Capitulino | #
|
312 | c5a415a0 | Luiz Capitulino | # Since: 0.14.0 |
313 | c5a415a0 | Luiz Capitulino | ## |
314 | c5a415a0 | Luiz Capitulino | { 'type': 'ChardevInfo', 'data': {'label': 'str', 'filename': 'str'} } |
315 | c5a415a0 | Luiz Capitulino | |
316 | c5a415a0 | Luiz Capitulino | ## |
317 | c5a415a0 | Luiz Capitulino | # @query-chardev: |
318 | c5a415a0 | Luiz Capitulino | #
|
319 | c5a415a0 | Luiz Capitulino | # Returns information about current character devices. |
320 | c5a415a0 | Luiz Capitulino | #
|
321 | c5a415a0 | Luiz Capitulino | # Returns: a list of @ChardevInfo |
322 | c5a415a0 | Luiz Capitulino | #
|
323 | c5a415a0 | Luiz Capitulino | # Since: 0.14.0 |
324 | c5a415a0 | Luiz Capitulino | ## |
325 | c5a415a0 | Luiz Capitulino | { 'command': 'query-chardev', 'returns': ['ChardevInfo'] } |
326 | aa9b79bc | Luiz Capitulino | |
327 | aa9b79bc | Luiz Capitulino | ## |
328 | 1f590cf9 | Lei Li | # @DataFormat: |
329 | 1f590cf9 | Lei Li | #
|
330 | 1f590cf9 | Lei Li | # An enumeration of data format. |
331 | 1f590cf9 | Lei Li | #
|
332 | 1f590cf9 | Lei Li | # @utf8: The data format is 'utf8'. |
333 | 1f590cf9 | Lei Li | #
|
334 | 1f590cf9 | Lei Li | # @base64: The data format is 'base64'. |
335 | 1f590cf9 | Lei Li | #
|
336 | 1f590cf9 | Lei Li | # Since: 1.4 |
337 | 1f590cf9 | Lei Li | ## |
338 | 1f590cf9 | Lei Li | { 'enum': 'DataFormat' |
339 | 1f590cf9 | Lei Li | 'data': [ 'utf8', 'base64' ] } |
340 | 1f590cf9 | Lei Li | |
341 | 1f590cf9 | Lei Li | ## |
342 | 1f590cf9 | Lei Li | # @memchar-write: |
343 | 1f590cf9 | Lei Li | #
|
344 | 1f590cf9 | Lei Li | # Provide writing interface for memchardev. Write data to char |
345 | 1f590cf9 | Lei Li | # device 'memory'. |
346 | 1f590cf9 | Lei Li | #
|
347 | 1f590cf9 | Lei Li | # @device: the name of the memory char device. |
348 | 1f590cf9 | Lei Li | #
|
349 | 1f590cf9 | Lei Li | # @size: the size to write in bytes. |
350 | 1f590cf9 | Lei Li | #
|
351 | 1f590cf9 | Lei Li | # @data: the source data write to memchar. |
352 | 1f590cf9 | Lei Li | #
|
353 | 1f590cf9 | Lei Li | # @format: #optional the format of the data write to chardev 'memory', |
354 | 1f590cf9 | Lei Li | # by default is 'utf8'. |
355 | 1f590cf9 | Lei Li | #
|
356 | 1f590cf9 | Lei Li | # Returns: Nothing on success |
357 | 1f590cf9 | Lei Li | # If @device is not a valid char device, DeviceNotFound |
358 | 1f590cf9 | Lei Li | #
|
359 | 1f590cf9 | Lei Li | # Since: 1.4 |
360 | 1f590cf9 | Lei Li | ## |
361 | 1f590cf9 | Lei Li | { 'command': 'memchar-write', |
362 | 1f590cf9 | Lei Li | 'data': {'device': 'str', 'size': 'int', 'data': 'str', |
363 | 1f590cf9 | Lei Li | '*format': 'DataFormat'} } |
364 | 1f590cf9 | Lei Li | |
365 | 1f590cf9 | Lei Li | ## |
366 | 49b6d722 | Lei Li | # @MemCharRead |
367 | 49b6d722 | Lei Li | #
|
368 | 49b6d722 | Lei Li | # Result of QMP command memchar-read. |
369 | 49b6d722 | Lei Li | #
|
370 | 49b6d722 | Lei Li | # @data: The data read from memchar as string. |
371 | 49b6d722 | Lei Li | #
|
372 | 49b6d722 | Lei Li | # @count: The numbers of bytes read from. |
373 | 49b6d722 | Lei Li | #
|
374 | 49b6d722 | Lei Li | # Since: 1.4 |
375 | 49b6d722 | Lei Li | ## |
376 | 49b6d722 | Lei Li | { 'type': 'MemCharRead', |
377 | 49b6d722 | Lei Li | 'data': { 'data': 'str', 'count': 'int' } } |
378 | 49b6d722 | Lei Li | |
379 | 49b6d722 | Lei Li | ## |
380 | 49b6d722 | Lei Li | # @memchar-read: |
381 | 49b6d722 | Lei Li | #
|
382 | 49b6d722 | Lei Li | # Provide read interface for memchardev. Read from the char |
383 | 49b6d722 | Lei Li | # device 'memory' and return the data. |
384 | 49b6d722 | Lei Li | #
|
385 | 49b6d722 | Lei Li | # @device: the name of the memory char device. |
386 | 49b6d722 | Lei Li | #
|
387 | 49b6d722 | Lei Li | # @size: the size to read in bytes. |
388 | 49b6d722 | Lei Li | #
|
389 | 49b6d722 | Lei Li | # @format: #optional the format of the data want to read from |
390 | 49b6d722 | Lei Li | # memchardev, by default is 'utf8'. |
391 | 49b6d722 | Lei Li | #
|
392 | 49b6d722 | Lei Li | # Returns: @MemCharRead |
393 | 49b6d722 | Lei Li | # If @device is not a valid memchr device, DeviceNotFound |
394 | 49b6d722 | Lei Li | #
|
395 | 49b6d722 | Lei Li | # Since: 1.4 |
396 | 49b6d722 | Lei Li | ## |
397 | 49b6d722 | Lei Li | { 'command': 'memchar-read', |
398 | 49b6d722 | Lei Li | 'data': {'device': 'str', 'size': 'int', '*format': 'DataFormat'}, |
399 | 49b6d722 | Lei Li | 'returns': 'MemCharRead' } |
400 | 49b6d722 | Lei Li | |
401 | 49b6d722 | Lei Li | ## |
402 | aa9b79bc | Luiz Capitulino | # @CommandInfo: |
403 | aa9b79bc | Luiz Capitulino | #
|
404 | aa9b79bc | Luiz Capitulino | # Information about a QMP command |
405 | aa9b79bc | Luiz Capitulino | #
|
406 | aa9b79bc | Luiz Capitulino | # @name: The command name |
407 | aa9b79bc | Luiz Capitulino | #
|
408 | aa9b79bc | Luiz Capitulino | # Since: 0.14.0 |
409 | aa9b79bc | Luiz Capitulino | ## |
410 | aa9b79bc | Luiz Capitulino | { 'type': 'CommandInfo', 'data': {'name': 'str'} } |
411 | aa9b79bc | Luiz Capitulino | |
412 | aa9b79bc | Luiz Capitulino | ## |
413 | aa9b79bc | Luiz Capitulino | # @query-commands: |
414 | aa9b79bc | Luiz Capitulino | #
|
415 | aa9b79bc | Luiz Capitulino | # Return a list of supported QMP commands by this server |
416 | aa9b79bc | Luiz Capitulino | #
|
417 | aa9b79bc | Luiz Capitulino | # Returns: A list of @CommandInfo for all supported commands |
418 | aa9b79bc | Luiz Capitulino | #
|
419 | aa9b79bc | Luiz Capitulino | # Since: 0.14.0 |
420 | aa9b79bc | Luiz Capitulino | ## |
421 | aa9b79bc | Luiz Capitulino | { 'command': 'query-commands', 'returns': ['CommandInfo'] } |
422 | aa9b79bc | Luiz Capitulino | |
423 | 7a7f325e | Luiz Capitulino | ## |
424 | 4860853d | Daniel P. Berrange | # @EventInfo: |
425 | 4860853d | Daniel P. Berrange | #
|
426 | 4860853d | Daniel P. Berrange | # Information about a QMP event |
427 | 4860853d | Daniel P. Berrange | #
|
428 | 4860853d | Daniel P. Berrange | # @name: The event name |
429 | 4860853d | Daniel P. Berrange | #
|
430 | 4860853d | Daniel P. Berrange | # Since: 1.2.0 |
431 | 4860853d | Daniel P. Berrange | ## |
432 | 4860853d | Daniel P. Berrange | { 'type': 'EventInfo', 'data': {'name': 'str'} } |
433 | 4860853d | Daniel P. Berrange | |
434 | 4860853d | Daniel P. Berrange | ## |
435 | 4860853d | Daniel P. Berrange | # @query-events: |
436 | 4860853d | Daniel P. Berrange | #
|
437 | 4860853d | Daniel P. Berrange | # Return a list of supported QMP events by this server |
438 | 4860853d | Daniel P. Berrange | #
|
439 | 4860853d | Daniel P. Berrange | # Returns: A list of @EventInfo for all supported events |
440 | 4860853d | Daniel P. Berrange | #
|
441 | 4860853d | Daniel P. Berrange | # Since: 1.2.0 |
442 | 4860853d | Daniel P. Berrange | ## |
443 | 4860853d | Daniel P. Berrange | { 'command': 'query-events', 'returns': ['EventInfo'] } |
444 | 4860853d | Daniel P. Berrange | |
445 | 4860853d | Daniel P. Berrange | ## |
446 | 791e7c82 | Luiz Capitulino | # @MigrationStats |
447 | 791e7c82 | Luiz Capitulino | #
|
448 | 791e7c82 | Luiz Capitulino | # Detailed migration status. |
449 | 791e7c82 | Luiz Capitulino | #
|
450 | 791e7c82 | Luiz Capitulino | # @transferred: amount of bytes already transferred to the target VM |
451 | 791e7c82 | Luiz Capitulino | #
|
452 | 791e7c82 | Luiz Capitulino | # @remaining: amount of bytes remaining to be transferred to the target VM |
453 | 791e7c82 | Luiz Capitulino | #
|
454 | 791e7c82 | Luiz Capitulino | # @total: total amount of bytes involved in the migration process |
455 | 791e7c82 | Luiz Capitulino | #
|
456 | 004d4c10 | Orit Wasserman | # @duplicate: number of duplicate pages (since 1.2) |
457 | 004d4c10 | Orit Wasserman | #
|
458 | 004d4c10 | Orit Wasserman | # @normal : number of normal pages (since 1.2) |
459 | 004d4c10 | Orit Wasserman | #
|
460 | 8d017193 | Juan Quintela | # @normal-bytes: number of normal bytes sent (since 1.2) |
461 | 8d017193 | Juan Quintela | #
|
462 | 8d017193 | Juan Quintela | # @dirty-pages-rate: number of pages dirtied by second by the |
463 | 8d017193 | Juan Quintela | # guest (since 1.3) |
464 | 004d4c10 | Orit Wasserman | #
|
465 | 004d4c10 | Orit Wasserman | # Since: 0.14.0 |
466 | 791e7c82 | Luiz Capitulino | ## |
467 | 791e7c82 | Luiz Capitulino | { 'type': 'MigrationStats', |
468 | d5f8a570 | Juan Quintela | 'data': {'transferred': 'int', 'remaining': 'int', 'total': 'int' , |
469 | 8d017193 | Juan Quintela | 'duplicate': 'int', 'normal': 'int', 'normal-bytes': 'int', |
470 | 8d017193 | Juan Quintela | 'dirty-pages-rate' : 'int' } } |
471 | 791e7c82 | Luiz Capitulino | |
472 | 791e7c82 | Luiz Capitulino | ## |
473 | f36d55af | Orit Wasserman | # @XBZRLECacheStats |
474 | f36d55af | Orit Wasserman | #
|
475 | f36d55af | Orit Wasserman | # Detailed XBZRLE migration cache statistics |
476 | f36d55af | Orit Wasserman | #
|
477 | f36d55af | Orit Wasserman | # @cache-size: XBZRLE cache size |
478 | f36d55af | Orit Wasserman | #
|
479 | f36d55af | Orit Wasserman | # @bytes: amount of bytes already transferred to the target VM |
480 | f36d55af | Orit Wasserman | #
|
481 | f36d55af | Orit Wasserman | # @pages: amount of pages transferred to the target VM |
482 | f36d55af | Orit Wasserman | #
|
483 | f36d55af | Orit Wasserman | # @cache-miss: number of cache miss |
484 | f36d55af | Orit Wasserman | #
|
485 | f36d55af | Orit Wasserman | # @overflow: number of overflows |
486 | f36d55af | Orit Wasserman | #
|
487 | f36d55af | Orit Wasserman | # Since: 1.2 |
488 | f36d55af | Orit Wasserman | ## |
489 | f36d55af | Orit Wasserman | { 'type': 'XBZRLECacheStats', |
490 | f36d55af | Orit Wasserman | 'data': {'cache-size': 'int', 'bytes': 'int', 'pages': 'int', |
491 | f36d55af | Orit Wasserman | 'cache-miss': 'int', 'overflow': 'int' } } |
492 | f36d55af | Orit Wasserman | |
493 | f36d55af | Orit Wasserman | ## |
494 | 791e7c82 | Luiz Capitulino | # @MigrationInfo |
495 | 791e7c82 | Luiz Capitulino | #
|
496 | 791e7c82 | Luiz Capitulino | # Information about current migration process. |
497 | 791e7c82 | Luiz Capitulino | #
|
498 | 791e7c82 | Luiz Capitulino | # @status: #optional string describing the current migration status. |
499 | 791e7c82 | Luiz Capitulino | # As of 0.14.0 this can be 'active', 'completed', 'failed' or |
500 | 791e7c82 | Luiz Capitulino | # 'cancelled'. If this field is not returned, no migration process |
501 | 791e7c82 | Luiz Capitulino | # has been initiated |
502 | 791e7c82 | Luiz Capitulino | #
|
503 | d5f8a570 | Juan Quintela | # @ram: #optional @MigrationStats containing detailed migration |
504 | d5f8a570 | Juan Quintela | # status, only returned if status is 'active' or |
505 | d5f8a570 | Juan Quintela | # 'completed'. 'comppleted' (since 1.2) |
506 | 791e7c82 | Luiz Capitulino | #
|
507 | 791e7c82 | Luiz Capitulino | # @disk: #optional @MigrationStats containing detailed disk migration |
508 | 791e7c82 | Luiz Capitulino | # status, only returned if status is 'active' and it is a block |
509 | 791e7c82 | Luiz Capitulino | # migration |
510 | 791e7c82 | Luiz Capitulino | #
|
511 | f36d55af | Orit Wasserman | # @xbzrle-cache: #optional @XBZRLECacheStats containing detailed XBZRLE |
512 | f36d55af | Orit Wasserman | # migration statistics, only returned if XBZRLE feature is on and |
513 | f36d55af | Orit Wasserman | # status is 'active' or 'completed' (since 1.2) |
514 | f36d55af | Orit Wasserman | #
|
515 | 7aa939af | Juan Quintela | # @total-time: #optional total amount of milliseconds since migration started. |
516 | 7aa939af | Juan Quintela | # If migration has ended, it returns the total migration |
517 | 7aa939af | Juan Quintela | # time. (since 1.2) |
518 | 7aa939af | Juan Quintela | #
|
519 | 9c5a9fcf | Juan Quintela | # @downtime: #optional only present when migration finishes correctly |
520 | 9c5a9fcf | Juan Quintela | # total downtime in milliseconds for the guest. |
521 | 9c5a9fcf | Juan Quintela | # (since 1.3) |
522 | 9c5a9fcf | Juan Quintela | #
|
523 | 2c52ddf1 | Juan Quintela | # @expected-downtime: #optional only present while migration is active |
524 | 2c52ddf1 | Juan Quintela | # expected downtime in milliseconds for the guest in last walk |
525 | 2c52ddf1 | Juan Quintela | # of the dirty bitmap. (since 1.3) |
526 | 2c52ddf1 | Juan Quintela | #
|
527 | 791e7c82 | Luiz Capitulino | # Since: 0.14.0 |
528 | 791e7c82 | Luiz Capitulino | ## |
529 | 791e7c82 | Luiz Capitulino | { 'type': 'MigrationInfo', |
530 | 791e7c82 | Luiz Capitulino | 'data': {'*status': 'str', '*ram': 'MigrationStats', |
531 | f36d55af | Orit Wasserman | '*disk': 'MigrationStats', |
532 | 7aa939af | Juan Quintela | '*xbzrle-cache': 'XBZRLECacheStats', |
533 | 9c5a9fcf | Juan Quintela | '*total-time': 'int', |
534 | 2c52ddf1 | Juan Quintela | '*expected-downtime': 'int', |
535 | 9c5a9fcf | Juan Quintela | '*downtime': 'int'} } |
536 | 791e7c82 | Luiz Capitulino | |
537 | 791e7c82 | Luiz Capitulino | ## |
538 | 791e7c82 | Luiz Capitulino | # @query-migrate |
539 | 791e7c82 | Luiz Capitulino | #
|
540 | 791e7c82 | Luiz Capitulino | # Returns information about current migration process. |
541 | 791e7c82 | Luiz Capitulino | #
|
542 | 791e7c82 | Luiz Capitulino | # Returns: @MigrationInfo |
543 | 791e7c82 | Luiz Capitulino | #
|
544 | 791e7c82 | Luiz Capitulino | # Since: 0.14.0 |
545 | 791e7c82 | Luiz Capitulino | ## |
546 | 791e7c82 | Luiz Capitulino | { 'command': 'query-migrate', 'returns': 'MigrationInfo' } |
547 | 791e7c82 | Luiz Capitulino | |
548 | 791e7c82 | Luiz Capitulino | ## |
549 | bbf6da32 | Orit Wasserman | # @MigrationCapability |
550 | bbf6da32 | Orit Wasserman | #
|
551 | bbf6da32 | Orit Wasserman | # Migration capabilities enumeration |
552 | bbf6da32 | Orit Wasserman | #
|
553 | bbf6da32 | Orit Wasserman | # @xbzrle: Migration supports xbzrle (Xor Based Zero Run Length Encoding). |
554 | bbf6da32 | Orit Wasserman | # This feature allows us to minimize migration traffic for certain work |
555 | bbf6da32 | Orit Wasserman | # loads, by sending compressed difference of the pages |
556 | bbf6da32 | Orit Wasserman | #
|
557 | bbf6da32 | Orit Wasserman | # Since: 1.2 |
558 | bbf6da32 | Orit Wasserman | ## |
559 | bbf6da32 | Orit Wasserman | { 'enum': 'MigrationCapability', |
560 | bbf6da32 | Orit Wasserman | 'data': ['xbzrle'] } |
561 | bbf6da32 | Orit Wasserman | |
562 | bbf6da32 | Orit Wasserman | ## |
563 | bbf6da32 | Orit Wasserman | # @MigrationCapabilityStatus |
564 | bbf6da32 | Orit Wasserman | #
|
565 | bbf6da32 | Orit Wasserman | # Migration capability information |
566 | bbf6da32 | Orit Wasserman | #
|
567 | bbf6da32 | Orit Wasserman | # @capability: capability enum |
568 | bbf6da32 | Orit Wasserman | #
|
569 | bbf6da32 | Orit Wasserman | # @state: capability state bool |
570 | bbf6da32 | Orit Wasserman | #
|
571 | bbf6da32 | Orit Wasserman | # Since: 1.2 |
572 | bbf6da32 | Orit Wasserman | ## |
573 | bbf6da32 | Orit Wasserman | { 'type': 'MigrationCapabilityStatus', |
574 | bbf6da32 | Orit Wasserman | 'data': { 'capability' : 'MigrationCapability', 'state' : 'bool' } } |
575 | bbf6da32 | Orit Wasserman | |
576 | bbf6da32 | Orit Wasserman | ## |
577 | 00458433 | Orit Wasserman | # @migrate-set-capabilities |
578 | 00458433 | Orit Wasserman | #
|
579 | 00458433 | Orit Wasserman | # Enable/Disable the following migration capabilities (like xbzrle) |
580 | 00458433 | Orit Wasserman | #
|
581 | 00458433 | Orit Wasserman | # @capabilities: json array of capability modifications to make |
582 | 00458433 | Orit Wasserman | #
|
583 | 00458433 | Orit Wasserman | # Since: 1.2 |
584 | 00458433 | Orit Wasserman | ## |
585 | 00458433 | Orit Wasserman | { 'command': 'migrate-set-capabilities', |
586 | 00458433 | Orit Wasserman | 'data': { 'capabilities': ['MigrationCapabilityStatus'] } } |
587 | 00458433 | Orit Wasserman | |
588 | 00458433 | Orit Wasserman | ## |
589 | bbf6da32 | Orit Wasserman | # @query-migrate-capabilities |
590 | bbf6da32 | Orit Wasserman | #
|
591 | bbf6da32 | Orit Wasserman | # Returns information about the current migration capabilities status |
592 | bbf6da32 | Orit Wasserman | #
|
593 | bbf6da32 | Orit Wasserman | # Returns: @MigrationCapabilitiesStatus |
594 | bbf6da32 | Orit Wasserman | #
|
595 | bbf6da32 | Orit Wasserman | # Since: 1.2 |
596 | bbf6da32 | Orit Wasserman | ## |
597 | bbf6da32 | Orit Wasserman | { 'command': 'query-migrate-capabilities', 'returns': ['MigrationCapabilityStatus']} |
598 | bbf6da32 | Orit Wasserman | |
599 | bbf6da32 | Orit Wasserman | ## |
600 | e235cec3 | Luiz Capitulino | # @MouseInfo: |
601 | e235cec3 | Luiz Capitulino | #
|
602 | e235cec3 | Luiz Capitulino | # Information about a mouse device. |
603 | e235cec3 | Luiz Capitulino | #
|
604 | e235cec3 | Luiz Capitulino | # @name: the name of the mouse device |
605 | e235cec3 | Luiz Capitulino | #
|
606 | e235cec3 | Luiz Capitulino | # @index: the index of the mouse device |
607 | e235cec3 | Luiz Capitulino | #
|
608 | e235cec3 | Luiz Capitulino | # @current: true if this device is currently receiving mouse events |
609 | e235cec3 | Luiz Capitulino | #
|
610 | e235cec3 | Luiz Capitulino | # @absolute: true if this device supports absolute coordinates as input |
611 | e235cec3 | Luiz Capitulino | #
|
612 | e235cec3 | Luiz Capitulino | # Since: 0.14.0 |
613 | e235cec3 | Luiz Capitulino | ## |
614 | e235cec3 | Luiz Capitulino | { 'type': 'MouseInfo', |
615 | e235cec3 | Luiz Capitulino | 'data': {'name': 'str', 'index': 'int', 'current': 'bool', |
616 | e235cec3 | Luiz Capitulino | 'absolute': 'bool'} } |
617 | e235cec3 | Luiz Capitulino | |
618 | e235cec3 | Luiz Capitulino | ## |
619 | e235cec3 | Luiz Capitulino | # @query-mice: |
620 | e235cec3 | Luiz Capitulino | #
|
621 | e235cec3 | Luiz Capitulino | # Returns information about each active mouse device |
622 | e235cec3 | Luiz Capitulino | #
|
623 | e235cec3 | Luiz Capitulino | # Returns: a list of @MouseInfo for each device |
624 | e235cec3 | Luiz Capitulino | #
|
625 | e235cec3 | Luiz Capitulino | # Since: 0.14.0 |
626 | e235cec3 | Luiz Capitulino | ## |
627 | e235cec3 | Luiz Capitulino | { 'command': 'query-mice', 'returns': ['MouseInfo'] } |
628 | e235cec3 | Luiz Capitulino | |
629 | e235cec3 | Luiz Capitulino | ## |
630 | de0b36b6 | Luiz Capitulino | # @CpuInfo: |
631 | de0b36b6 | Luiz Capitulino | #
|
632 | de0b36b6 | Luiz Capitulino | # Information about a virtual CPU |
633 | de0b36b6 | Luiz Capitulino | #
|
634 | de0b36b6 | Luiz Capitulino | # @CPU: the index of the virtual CPU |
635 | de0b36b6 | Luiz Capitulino | #
|
636 | de0b36b6 | Luiz Capitulino | # @current: this only exists for backwards compatible and should be ignored |
637 | b80e560b | Laszlo Ersek | #
|
638 | de0b36b6 | Luiz Capitulino | # @halted: true if the virtual CPU is in the halt state. Halt usually refers |
639 | de0b36b6 | Luiz Capitulino | # to a processor specific low power mode. |
640 | de0b36b6 | Luiz Capitulino | #
|
641 | de0b36b6 | Luiz Capitulino | # @pc: #optional If the target is i386 or x86_64, this is the 64-bit instruction |
642 | de0b36b6 | Luiz Capitulino | # pointer. |
643 | de0b36b6 | Luiz Capitulino | # If the target is Sparc, this is the PC component of the |
644 | de0b36b6 | Luiz Capitulino | # instruction pointer. |
645 | de0b36b6 | Luiz Capitulino | #
|
646 | de0b36b6 | Luiz Capitulino | # @nip: #optional If the target is PPC, the instruction pointer |
647 | de0b36b6 | Luiz Capitulino | #
|
648 | de0b36b6 | Luiz Capitulino | # @npc: #optional If the target is Sparc, the NPC component of the instruction |
649 | de0b36b6 | Luiz Capitulino | # pointer |
650 | de0b36b6 | Luiz Capitulino | #
|
651 | de0b36b6 | Luiz Capitulino | # @PC: #optional If the target is MIPS, the instruction pointer |
652 | de0b36b6 | Luiz Capitulino | #
|
653 | de0b36b6 | Luiz Capitulino | # @thread_id: ID of the underlying host thread |
654 | de0b36b6 | Luiz Capitulino | #
|
655 | de0b36b6 | Luiz Capitulino | # Since: 0.14.0 |
656 | de0b36b6 | Luiz Capitulino | #
|
657 | de0b36b6 | Luiz Capitulino | # Notes: @halted is a transient state that changes frequently. By the time the |
658 | de0b36b6 | Luiz Capitulino | # data is sent to the client, the guest may no longer be halted. |
659 | de0b36b6 | Luiz Capitulino | ## |
660 | de0b36b6 | Luiz Capitulino | { 'type': 'CpuInfo', |
661 | de0b36b6 | Luiz Capitulino | 'data': {'CPU': 'int', 'current': 'bool', 'halted': 'bool', '*pc': 'int', |
662 | de0b36b6 | Luiz Capitulino | '*nip': 'int', '*npc': 'int', '*PC': 'int', 'thread_id': 'int'} } |
663 | de0b36b6 | Luiz Capitulino | |
664 | de0b36b6 | Luiz Capitulino | ## |
665 | de0b36b6 | Luiz Capitulino | # @query-cpus: |
666 | de0b36b6 | Luiz Capitulino | #
|
667 | de0b36b6 | Luiz Capitulino | # Returns a list of information about each virtual CPU. |
668 | de0b36b6 | Luiz Capitulino | #
|
669 | de0b36b6 | Luiz Capitulino | # Returns: a list of @CpuInfo for each virtual CPU |
670 | de0b36b6 | Luiz Capitulino | #
|
671 | de0b36b6 | Luiz Capitulino | # Since: 0.14.0 |
672 | de0b36b6 | Luiz Capitulino | ## |
673 | de0b36b6 | Luiz Capitulino | { 'command': 'query-cpus', 'returns': ['CpuInfo'] } |
674 | de0b36b6 | Luiz Capitulino | |
675 | de0b36b6 | Luiz Capitulino | ## |
676 | b2023818 | Luiz Capitulino | # @BlockDeviceInfo: |
677 | b2023818 | Luiz Capitulino | #
|
678 | b2023818 | Luiz Capitulino | # Information about the backing device for a block device. |
679 | b2023818 | Luiz Capitulino | #
|
680 | b2023818 | Luiz Capitulino | # @file: the filename of the backing device |
681 | b2023818 | Luiz Capitulino | #
|
682 | b2023818 | Luiz Capitulino | # @ro: true if the backing device was open read-only |
683 | b2023818 | Luiz Capitulino | #
|
684 | b2023818 | Luiz Capitulino | # @drv: the name of the block format used to open the backing device. As of |
685 | b2023818 | Luiz Capitulino | # 0.14.0 this can be: 'blkdebug', 'bochs', 'cloop', 'cow', 'dmg', |
686 | b2023818 | Luiz Capitulino | # 'file', 'file', 'ftp', 'ftps', 'host_cdrom', 'host_device', |
687 | b2023818 | Luiz Capitulino | # 'host_floppy', 'http', 'https', 'nbd', 'parallels', 'qcow', |
688 | b2023818 | Luiz Capitulino | # 'qcow2', 'raw', 'tftp', 'vdi', 'vmdk', 'vpc', 'vvfat' |
689 | b2023818 | Luiz Capitulino | #
|
690 | b2023818 | Luiz Capitulino | # @backing_file: #optional the name of the backing file (for copy-on-write) |
691 | b2023818 | Luiz Capitulino | #
|
692 | 2e3e3317 | Benoรฎt Canet | # @backing_file_depth: number of files in the backing file chain (since: 1.2) |
693 | 2e3e3317 | Benoรฎt Canet | #
|
694 | b2023818 | Luiz Capitulino | # @encrypted: true if the backing device is encrypted |
695 | b2023818 | Luiz Capitulino | #
|
696 | c75a1a8a | Luiz Capitulino | # @encryption_key_missing: true if the backing device is encrypted but an |
697 | c75a1a8a | Luiz Capitulino | # valid encryption key is missing |
698 | c75a1a8a | Luiz Capitulino | #
|
699 | 727f005e | Zhi Yong Wu | # @bps: total throughput limit in bytes per second is specified |
700 | 727f005e | Zhi Yong Wu | #
|
701 | 727f005e | Zhi Yong Wu | # @bps_rd: read throughput limit in bytes per second is specified |
702 | 727f005e | Zhi Yong Wu | #
|
703 | 727f005e | Zhi Yong Wu | # @bps_wr: write throughput limit in bytes per second is specified |
704 | 727f005e | Zhi Yong Wu | #
|
705 | 727f005e | Zhi Yong Wu | # @iops: total I/O operations per second is specified |
706 | 727f005e | Zhi Yong Wu | #
|
707 | 727f005e | Zhi Yong Wu | # @iops_rd: read I/O operations per second is specified |
708 | 727f005e | Zhi Yong Wu | #
|
709 | 727f005e | Zhi Yong Wu | # @iops_wr: write I/O operations per second is specified |
710 | 727f005e | Zhi Yong Wu | #
|
711 | b2023818 | Luiz Capitulino | # Since: 0.14.0 |
712 | b2023818 | Luiz Capitulino | #
|
713 | b2023818 | Luiz Capitulino | # Notes: This interface is only found in @BlockInfo. |
714 | b2023818 | Luiz Capitulino | ## |
715 | b2023818 | Luiz Capitulino | { 'type': 'BlockDeviceInfo', |
716 | b2023818 | Luiz Capitulino | 'data': { 'file': 'str', 'ro': 'bool', 'drv': 'str', |
717 | 2e3e3317 | Benoรฎt Canet | '*backing_file': 'str', 'backing_file_depth': 'int', |
718 | c75a1a8a | Luiz Capitulino | 'encrypted': 'bool', 'encryption_key_missing': 'bool', |
719 | c75a1a8a | Luiz Capitulino | 'bps': 'int', 'bps_rd': 'int', 'bps_wr': 'int', |
720 | c75a1a8a | Luiz Capitulino | 'iops': 'int', 'iops_rd': 'int', 'iops_wr': 'int'} } |
721 | b2023818 | Luiz Capitulino | |
722 | b2023818 | Luiz Capitulino | ## |
723 | b2023818 | Luiz Capitulino | # @BlockDeviceIoStatus: |
724 | b2023818 | Luiz Capitulino | #
|
725 | b2023818 | Luiz Capitulino | # An enumeration of block device I/O status. |
726 | b2023818 | Luiz Capitulino | #
|
727 | b2023818 | Luiz Capitulino | # @ok: The last I/O operation has succeeded |
728 | b2023818 | Luiz Capitulino | #
|
729 | b2023818 | Luiz Capitulino | # @failed: The last I/O operation has failed |
730 | b2023818 | Luiz Capitulino | #
|
731 | b2023818 | Luiz Capitulino | # @nospace: The last I/O operation has failed due to a no-space condition |
732 | b2023818 | Luiz Capitulino | #
|
733 | b2023818 | Luiz Capitulino | # Since: 1.0 |
734 | b2023818 | Luiz Capitulino | ## |
735 | b2023818 | Luiz Capitulino | { 'enum': 'BlockDeviceIoStatus', 'data': [ 'ok', 'failed', 'nospace' ] } |
736 | b2023818 | Luiz Capitulino | |
737 | b2023818 | Luiz Capitulino | ## |
738 | b9a9b3a4 | Paolo Bonzini | # @BlockDirtyInfo: |
739 | b9a9b3a4 | Paolo Bonzini | #
|
740 | b9a9b3a4 | Paolo Bonzini | # Block dirty bitmap information. |
741 | b9a9b3a4 | Paolo Bonzini | #
|
742 | b9a9b3a4 | Paolo Bonzini | # @count: number of dirty bytes according to the dirty bitmap |
743 | b9a9b3a4 | Paolo Bonzini | #
|
744 | 50717e94 | Paolo Bonzini | # @granularity: granularity of the dirty bitmap in bytes (since 1.4) |
745 | 50717e94 | Paolo Bonzini | #
|
746 | b9a9b3a4 | Paolo Bonzini | # Since: 1.3 |
747 | b9a9b3a4 | Paolo Bonzini | ## |
748 | b9a9b3a4 | Paolo Bonzini | { 'type': 'BlockDirtyInfo', |
749 | 50717e94 | Paolo Bonzini | 'data': {'count': 'int', 'granularity': 'int'} } |
750 | b9a9b3a4 | Paolo Bonzini | |
751 | b9a9b3a4 | Paolo Bonzini | ## |
752 | b2023818 | Luiz Capitulino | # @BlockInfo: |
753 | b2023818 | Luiz Capitulino | #
|
754 | b2023818 | Luiz Capitulino | # Block device information. This structure describes a virtual device and |
755 | b2023818 | Luiz Capitulino | # the backing device associated with it. |
756 | b2023818 | Luiz Capitulino | #
|
757 | b2023818 | Luiz Capitulino | # @device: The device name associated with the virtual device. |
758 | b2023818 | Luiz Capitulino | #
|
759 | b2023818 | Luiz Capitulino | # @type: This field is returned only for compatibility reasons, it should |
760 | b2023818 | Luiz Capitulino | # not be used (always returns 'unknown') |
761 | b2023818 | Luiz Capitulino | #
|
762 | b2023818 | Luiz Capitulino | # @removable: True if the device supports removable media. |
763 | b2023818 | Luiz Capitulino | #
|
764 | b2023818 | Luiz Capitulino | # @locked: True if the guest has locked this device from having its media |
765 | b2023818 | Luiz Capitulino | # removed |
766 | b2023818 | Luiz Capitulino | #
|
767 | b2023818 | Luiz Capitulino | # @tray_open: #optional True if the device has a tray and it is open |
768 | b2023818 | Luiz Capitulino | # (only present if removable is true) |
769 | b2023818 | Luiz Capitulino | #
|
770 | b9a9b3a4 | Paolo Bonzini | # @dirty: #optional dirty bitmap information (only present if the dirty |
771 | b9a9b3a4 | Paolo Bonzini | # bitmap is enabled) |
772 | b9a9b3a4 | Paolo Bonzini | #
|
773 | b2023818 | Luiz Capitulino | # @io-status: #optional @BlockDeviceIoStatus. Only present if the device |
774 | b2023818 | Luiz Capitulino | # supports it and the VM is configured to stop on errors |
775 | b2023818 | Luiz Capitulino | #
|
776 | b2023818 | Luiz Capitulino | # @inserted: #optional @BlockDeviceInfo describing the device if media is |
777 | b2023818 | Luiz Capitulino | # present |
778 | b2023818 | Luiz Capitulino | #
|
779 | b2023818 | Luiz Capitulino | # Since: 0.14.0 |
780 | b2023818 | Luiz Capitulino | ## |
781 | b2023818 | Luiz Capitulino | { 'type': 'BlockInfo', |
782 | b2023818 | Luiz Capitulino | 'data': {'device': 'str', 'type': 'str', 'removable': 'bool', |
783 | b2023818 | Luiz Capitulino | 'locked': 'bool', '*inserted': 'BlockDeviceInfo', |
784 | b9a9b3a4 | Paolo Bonzini | '*tray_open': 'bool', '*io-status': 'BlockDeviceIoStatus', |
785 | b9a9b3a4 | Paolo Bonzini | '*dirty': 'BlockDirtyInfo' } } |
786 | b2023818 | Luiz Capitulino | |
787 | b2023818 | Luiz Capitulino | ## |
788 | b2023818 | Luiz Capitulino | # @query-block: |
789 | b2023818 | Luiz Capitulino | #
|
790 | b2023818 | Luiz Capitulino | # Get a list of BlockInfo for all virtual block devices. |
791 | b2023818 | Luiz Capitulino | #
|
792 | b2023818 | Luiz Capitulino | # Returns: a list of @BlockInfo describing each virtual block device |
793 | b2023818 | Luiz Capitulino | #
|
794 | b2023818 | Luiz Capitulino | # Since: 0.14.0 |
795 | b2023818 | Luiz Capitulino | ## |
796 | b2023818 | Luiz Capitulino | { 'command': 'query-block', 'returns': ['BlockInfo'] } |
797 | b2023818 | Luiz Capitulino | |
798 | b2023818 | Luiz Capitulino | ## |
799 | f11f57e4 | Luiz Capitulino | # @BlockDeviceStats: |
800 | f11f57e4 | Luiz Capitulino | #
|
801 | f11f57e4 | Luiz Capitulino | # Statistics of a virtual block device or a block backing device. |
802 | f11f57e4 | Luiz Capitulino | #
|
803 | f11f57e4 | Luiz Capitulino | # @rd_bytes: The number of bytes read by the device. |
804 | f11f57e4 | Luiz Capitulino | #
|
805 | f11f57e4 | Luiz Capitulino | # @wr_bytes: The number of bytes written by the device. |
806 | f11f57e4 | Luiz Capitulino | #
|
807 | f11f57e4 | Luiz Capitulino | # @rd_operations: The number of read operations performed by the device. |
808 | f11f57e4 | Luiz Capitulino | #
|
809 | f11f57e4 | Luiz Capitulino | # @wr_operations: The number of write operations performed by the device. |
810 | f11f57e4 | Luiz Capitulino | #
|
811 | f11f57e4 | Luiz Capitulino | # @flush_operations: The number of cache flush operations performed by the |
812 | f11f57e4 | Luiz Capitulino | # device (since 0.15.0) |
813 | f11f57e4 | Luiz Capitulino | #
|
814 | f11f57e4 | Luiz Capitulino | # @flush_total_time_ns: Total time spend on cache flushes in nano-seconds |
815 | f11f57e4 | Luiz Capitulino | # (since 0.15.0). |
816 | f11f57e4 | Luiz Capitulino | #
|
817 | f11f57e4 | Luiz Capitulino | # @wr_total_time_ns: Total time spend on writes in nano-seconds (since 0.15.0). |
818 | f11f57e4 | Luiz Capitulino | #
|
819 | f11f57e4 | Luiz Capitulino | # @rd_total_time_ns: Total_time_spend on reads in nano-seconds (since 0.15.0). |
820 | f11f57e4 | Luiz Capitulino | #
|
821 | f11f57e4 | Luiz Capitulino | # @wr_highest_offset: The offset after the greatest byte written to the |
822 | f11f57e4 | Luiz Capitulino | # device. The intended use of this information is for |
823 | f11f57e4 | Luiz Capitulino | # growable sparse files (like qcow2) that are used on top |
824 | f11f57e4 | Luiz Capitulino | # of a physical device. |
825 | f11f57e4 | Luiz Capitulino | #
|
826 | f11f57e4 | Luiz Capitulino | # Since: 0.14.0 |
827 | f11f57e4 | Luiz Capitulino | ## |
828 | f11f57e4 | Luiz Capitulino | { 'type': 'BlockDeviceStats', |
829 | f11f57e4 | Luiz Capitulino | 'data': {'rd_bytes': 'int', 'wr_bytes': 'int', 'rd_operations': 'int', |
830 | f11f57e4 | Luiz Capitulino | 'wr_operations': 'int', 'flush_operations': 'int', |
831 | f11f57e4 | Luiz Capitulino | 'flush_total_time_ns': 'int', 'wr_total_time_ns': 'int', |
832 | f11f57e4 | Luiz Capitulino | 'rd_total_time_ns': 'int', 'wr_highest_offset': 'int' } } |
833 | f11f57e4 | Luiz Capitulino | |
834 | f11f57e4 | Luiz Capitulino | ## |
835 | f11f57e4 | Luiz Capitulino | # @BlockStats: |
836 | f11f57e4 | Luiz Capitulino | #
|
837 | f11f57e4 | Luiz Capitulino | # Statistics of a virtual block device or a block backing device. |
838 | f11f57e4 | Luiz Capitulino | #
|
839 | f11f57e4 | Luiz Capitulino | # @device: #optional If the stats are for a virtual block device, the name |
840 | f11f57e4 | Luiz Capitulino | # corresponding to the virtual block device. |
841 | f11f57e4 | Luiz Capitulino | #
|
842 | f11f57e4 | Luiz Capitulino | # @stats: A @BlockDeviceStats for the device. |
843 | f11f57e4 | Luiz Capitulino | #
|
844 | f11f57e4 | Luiz Capitulino | # @parent: #optional This may point to the backing block device if this is a |
845 | f11f57e4 | Luiz Capitulino | # a virtual block device. If it's a backing block, this will point |
846 | f11f57e4 | Luiz Capitulino | # to the backing file is one is present. |
847 | f11f57e4 | Luiz Capitulino | #
|
848 | f11f57e4 | Luiz Capitulino | # Since: 0.14.0 |
849 | f11f57e4 | Luiz Capitulino | ## |
850 | f11f57e4 | Luiz Capitulino | { 'type': 'BlockStats', |
851 | f11f57e4 | Luiz Capitulino | 'data': {'*device': 'str', 'stats': 'BlockDeviceStats', |
852 | f11f57e4 | Luiz Capitulino | '*parent': 'BlockStats'} } |
853 | f11f57e4 | Luiz Capitulino | |
854 | f11f57e4 | Luiz Capitulino | ## |
855 | f11f57e4 | Luiz Capitulino | # @query-blockstats: |
856 | f11f57e4 | Luiz Capitulino | #
|
857 | f11f57e4 | Luiz Capitulino | # Query the @BlockStats for all virtual block devices. |
858 | f11f57e4 | Luiz Capitulino | #
|
859 | f11f57e4 | Luiz Capitulino | # Returns: A list of @BlockStats for each virtual block devices. |
860 | f11f57e4 | Luiz Capitulino | #
|
861 | f11f57e4 | Luiz Capitulino | # Since: 0.14.0 |
862 | f11f57e4 | Luiz Capitulino | ## |
863 | f11f57e4 | Luiz Capitulino | { 'command': 'query-blockstats', 'returns': ['BlockStats'] } |
864 | f11f57e4 | Luiz Capitulino | |
865 | f11f57e4 | Luiz Capitulino | ## |
866 | 2b54aa87 | Luiz Capitulino | # @VncClientInfo: |
867 | 2b54aa87 | Luiz Capitulino | #
|
868 | 2b54aa87 | Luiz Capitulino | # Information about a connected VNC client. |
869 | 2b54aa87 | Luiz Capitulino | #
|
870 | 2b54aa87 | Luiz Capitulino | # @host: The host name of the client. QEMU tries to resolve this to a DNS name |
871 | 2b54aa87 | Luiz Capitulino | # when possible. |
872 | 2b54aa87 | Luiz Capitulino | #
|
873 | 2b54aa87 | Luiz Capitulino | # @family: 'ipv6' if the client is connected via IPv6 and TCP |
874 | 2b54aa87 | Luiz Capitulino | # 'ipv4' if the client is connected via IPv4 and TCP |
875 | 2b54aa87 | Luiz Capitulino | # 'unix' if the client is connected via a unix domain socket |
876 | 2b54aa87 | Luiz Capitulino | # 'unknown' otherwise |
877 | 2b54aa87 | Luiz Capitulino | #
|
878 | 2b54aa87 | Luiz Capitulino | # @service: The service name of the client's port. This may depends on the |
879 | 2b54aa87 | Luiz Capitulino | # host system's service database so symbolic names should not be |
880 | 2b54aa87 | Luiz Capitulino | # relied on. |
881 | 2b54aa87 | Luiz Capitulino | #
|
882 | 2b54aa87 | Luiz Capitulino | # @x509_dname: #optional If x509 authentication is in use, the Distinguished |
883 | 2b54aa87 | Luiz Capitulino | # Name of the client. |
884 | 2b54aa87 | Luiz Capitulino | #
|
885 | 2b54aa87 | Luiz Capitulino | # @sasl_username: #optional If SASL authentication is in use, the SASL username |
886 | 2b54aa87 | Luiz Capitulino | # used for authentication. |
887 | 2b54aa87 | Luiz Capitulino | #
|
888 | 2b54aa87 | Luiz Capitulino | # Since: 0.14.0 |
889 | 2b54aa87 | Luiz Capitulino | ## |
890 | 2b54aa87 | Luiz Capitulino | { 'type': 'VncClientInfo', |
891 | 2b54aa87 | Luiz Capitulino | 'data': {'host': 'str', 'family': 'str', 'service': 'str', |
892 | 2b54aa87 | Luiz Capitulino | '*x509_dname': 'str', '*sasl_username': 'str'} } |
893 | 2b54aa87 | Luiz Capitulino | |
894 | 2b54aa87 | Luiz Capitulino | ## |
895 | 2b54aa87 | Luiz Capitulino | # @VncInfo: |
896 | 2b54aa87 | Luiz Capitulino | #
|
897 | 2b54aa87 | Luiz Capitulino | # Information about the VNC session. |
898 | 2b54aa87 | Luiz Capitulino | #
|
899 | 2b54aa87 | Luiz Capitulino | # @enabled: true if the VNC server is enabled, false otherwise |
900 | 2b54aa87 | Luiz Capitulino | #
|
901 | 2b54aa87 | Luiz Capitulino | # @host: #optional The hostname the VNC server is bound to. This depends on |
902 | 2b54aa87 | Luiz Capitulino | # the name resolution on the host and may be an IP address. |
903 | 2b54aa87 | Luiz Capitulino | #
|
904 | 2b54aa87 | Luiz Capitulino | # @family: #optional 'ipv6' if the host is listening for IPv6 connections |
905 | 2b54aa87 | Luiz Capitulino | # 'ipv4' if the host is listening for IPv4 connections |
906 | 2b54aa87 | Luiz Capitulino | # 'unix' if the host is listening on a unix domain socket |
907 | 2b54aa87 | Luiz Capitulino | # 'unknown' otherwise |
908 | 2b54aa87 | Luiz Capitulino | #
|
909 | 2b54aa87 | Luiz Capitulino | # @service: #optional The service name of the server's port. This may depends |
910 | 2b54aa87 | Luiz Capitulino | # on the host system's service database so symbolic names should not |
911 | 2b54aa87 | Luiz Capitulino | # be relied on. |
912 | 2b54aa87 | Luiz Capitulino | #
|
913 | 2b54aa87 | Luiz Capitulino | # @auth: #optional the current authentication type used by the server |
914 | 2b54aa87 | Luiz Capitulino | # 'none' if no authentication is being used |
915 | 2b54aa87 | Luiz Capitulino | # 'vnc' if VNC authentication is being used |
916 | 2b54aa87 | Luiz Capitulino | # 'vencrypt+plain' if VEncrypt is used with plain text authentication |
917 | 2b54aa87 | Luiz Capitulino | # 'vencrypt+tls+none' if VEncrypt is used with TLS and no authentication |
918 | 2b54aa87 | Luiz Capitulino | # 'vencrypt+tls+vnc' if VEncrypt is used with TLS and VNC authentication |
919 | 2b54aa87 | Luiz Capitulino | # 'vencrypt+tls+plain' if VEncrypt is used with TLS and plain text auth |
920 | 2b54aa87 | Luiz Capitulino | # 'vencrypt+x509+none' if VEncrypt is used with x509 and no auth |
921 | 2b54aa87 | Luiz Capitulino | # 'vencrypt+x509+vnc' if VEncrypt is used with x509 and VNC auth |
922 | 2b54aa87 | Luiz Capitulino | # 'vencrypt+x509+plain' if VEncrypt is used with x509 and plain text auth |
923 | 2b54aa87 | Luiz Capitulino | # 'vencrypt+tls+sasl' if VEncrypt is used with TLS and SASL auth |
924 | 2b54aa87 | Luiz Capitulino | # 'vencrypt+x509+sasl' if VEncrypt is used with x509 and SASL auth |
925 | 2b54aa87 | Luiz Capitulino | #
|
926 | 2b54aa87 | Luiz Capitulino | # @clients: a list of @VncClientInfo of all currently connected clients |
927 | 2b54aa87 | Luiz Capitulino | #
|
928 | 2b54aa87 | Luiz Capitulino | # Since: 0.14.0 |
929 | 2b54aa87 | Luiz Capitulino | ## |
930 | 2b54aa87 | Luiz Capitulino | { 'type': 'VncInfo', |
931 | 2b54aa87 | Luiz Capitulino | 'data': {'enabled': 'bool', '*host': 'str', '*family': 'str', |
932 | 2b54aa87 | Luiz Capitulino | '*service': 'str', '*auth': 'str', '*clients': ['VncClientInfo']} } |
933 | 2b54aa87 | Luiz Capitulino | |
934 | 2b54aa87 | Luiz Capitulino | ## |
935 | 2b54aa87 | Luiz Capitulino | # @query-vnc: |
936 | 2b54aa87 | Luiz Capitulino | #
|
937 | 2b54aa87 | Luiz Capitulino | # Returns information about the current VNC server |
938 | 2b54aa87 | Luiz Capitulino | #
|
939 | 2b54aa87 | Luiz Capitulino | # Returns: @VncInfo |
940 | 2b54aa87 | Luiz Capitulino | #
|
941 | 2b54aa87 | Luiz Capitulino | # Since: 0.14.0 |
942 | 2b54aa87 | Luiz Capitulino | ## |
943 | 2b54aa87 | Luiz Capitulino | { 'command': 'query-vnc', 'returns': 'VncInfo' } |
944 | 2b54aa87 | Luiz Capitulino | |
945 | 2b54aa87 | Luiz Capitulino | ## |
946 | d1f29646 | Luiz Capitulino | # @SpiceChannel |
947 | d1f29646 | Luiz Capitulino | #
|
948 | d1f29646 | Luiz Capitulino | # Information about a SPICE client channel. |
949 | d1f29646 | Luiz Capitulino | #
|
950 | d1f29646 | Luiz Capitulino | # @host: The host name of the client. QEMU tries to resolve this to a DNS name |
951 | d1f29646 | Luiz Capitulino | # when possible. |
952 | d1f29646 | Luiz Capitulino | #
|
953 | d1f29646 | Luiz Capitulino | # @family: 'ipv6' if the client is connected via IPv6 and TCP |
954 | d1f29646 | Luiz Capitulino | # 'ipv4' if the client is connected via IPv4 and TCP |
955 | d1f29646 | Luiz Capitulino | # 'unix' if the client is connected via a unix domain socket |
956 | d1f29646 | Luiz Capitulino | # 'unknown' otherwise |
957 | d1f29646 | Luiz Capitulino | #
|
958 | d1f29646 | Luiz Capitulino | # @port: The client's port number. |
959 | d1f29646 | Luiz Capitulino | #
|
960 | d1f29646 | Luiz Capitulino | # @connection-id: SPICE connection id number. All channels with the same id |
961 | d1f29646 | Luiz Capitulino | # belong to the same SPICE session. |
962 | d1f29646 | Luiz Capitulino | #
|
963 | 419e1bdf | Alon Levy | # @connection-type: SPICE channel type number. "1" is the main control |
964 | 419e1bdf | Alon Levy | # channel, filter for this one if you want to track spice |
965 | 419e1bdf | Alon Levy | # sessions only |
966 | d1f29646 | Luiz Capitulino | #
|
967 | 419e1bdf | Alon Levy | # @channel-id: SPICE channel ID number. Usually "0", might be different when |
968 | 419e1bdf | Alon Levy | # multiple channels of the same type exist, such as multiple |
969 | d1f29646 | Luiz Capitulino | # display channels in a multihead setup |
970 | d1f29646 | Luiz Capitulino | #
|
971 | d1f29646 | Luiz Capitulino | # @tls: true if the channel is encrypted, false otherwise. |
972 | d1f29646 | Luiz Capitulino | #
|
973 | d1f29646 | Luiz Capitulino | # Since: 0.14.0 |
974 | d1f29646 | Luiz Capitulino | ## |
975 | d1f29646 | Luiz Capitulino | { 'type': 'SpiceChannel', |
976 | d1f29646 | Luiz Capitulino | 'data': {'host': 'str', 'family': 'str', 'port': 'str', |
977 | d1f29646 | Luiz Capitulino | 'connection-id': 'int', 'channel-type': 'int', 'channel-id': 'int', |
978 | d1f29646 | Luiz Capitulino | 'tls': 'bool'} } |
979 | d1f29646 | Luiz Capitulino | |
980 | d1f29646 | Luiz Capitulino | ## |
981 | 4efee029 | Alon Levy | # @SpiceQueryMouseMode |
982 | 4efee029 | Alon Levy | #
|
983 | 6932a69b | Lei Li | # An enumeration of Spice mouse states. |
984 | 4efee029 | Alon Levy | #
|
985 | 4efee029 | Alon Levy | # @client: Mouse cursor position is determined by the client. |
986 | 4efee029 | Alon Levy | #
|
987 | 4efee029 | Alon Levy | # @server: Mouse cursor position is determined by the server. |
988 | 4efee029 | Alon Levy | #
|
989 | 4efee029 | Alon Levy | # @unknown: No information is available about mouse mode used by |
990 | 4efee029 | Alon Levy | # the spice server. |
991 | 4efee029 | Alon Levy | #
|
992 | 4efee029 | Alon Levy | # Note: spice/enums.h has a SpiceMouseMode already, hence the name. |
993 | 4efee029 | Alon Levy | #
|
994 | 4efee029 | Alon Levy | # Since: 1.1 |
995 | 4efee029 | Alon Levy | ## |
996 | 4efee029 | Alon Levy | { 'enum': 'SpiceQueryMouseMode', |
997 | 4efee029 | Alon Levy | 'data': [ 'client', 'server', 'unknown' ] } |
998 | 4efee029 | Alon Levy | |
999 | 4efee029 | Alon Levy | ## |
1000 | d1f29646 | Luiz Capitulino | # @SpiceInfo |
1001 | d1f29646 | Luiz Capitulino | #
|
1002 | d1f29646 | Luiz Capitulino | # Information about the SPICE session. |
1003 | b80e560b | Laszlo Ersek | #
|
1004 | d1f29646 | Luiz Capitulino | # @enabled: true if the SPICE server is enabled, false otherwise |
1005 | d1f29646 | Luiz Capitulino | #
|
1006 | 61c4efe2 | Yonit Halperin | # @migrated: true if the last guest migration completed and spice |
1007 | 61c4efe2 | Yonit Halperin | # migration had completed as well. false otherwise. |
1008 | 61c4efe2 | Yonit Halperin | #
|
1009 | d1f29646 | Luiz Capitulino | # @host: #optional The hostname the SPICE server is bound to. This depends on |
1010 | d1f29646 | Luiz Capitulino | # the name resolution on the host and may be an IP address. |
1011 | d1f29646 | Luiz Capitulino | #
|
1012 | d1f29646 | Luiz Capitulino | # @port: #optional The SPICE server's port number. |
1013 | d1f29646 | Luiz Capitulino | #
|
1014 | d1f29646 | Luiz Capitulino | # @compiled-version: #optional SPICE server version. |
1015 | d1f29646 | Luiz Capitulino | #
|
1016 | d1f29646 | Luiz Capitulino | # @tls-port: #optional The SPICE server's TLS port number. |
1017 | d1f29646 | Luiz Capitulino | #
|
1018 | d1f29646 | Luiz Capitulino | # @auth: #optional the current authentication type used by the server |
1019 | 419e1bdf | Alon Levy | # 'none' if no authentication is being used |
1020 | 419e1bdf | Alon Levy | # 'spice' uses SASL or direct TLS authentication, depending on command |
1021 | 419e1bdf | Alon Levy | # line options |
1022 | d1f29646 | Luiz Capitulino | #
|
1023 | 4efee029 | Alon Levy | # @mouse-mode: The mode in which the mouse cursor is displayed currently. Can |
1024 | 4efee029 | Alon Levy | # be determined by the client or the server, or unknown if spice |
1025 | 4efee029 | Alon Levy | # server doesn't provide this information. |
1026 | 4efee029 | Alon Levy | #
|
1027 | 4efee029 | Alon Levy | # Since: 1.1 |
1028 | 4efee029 | Alon Levy | #
|
1029 | d1f29646 | Luiz Capitulino | # @channels: a list of @SpiceChannel for each active spice channel |
1030 | d1f29646 | Luiz Capitulino | #
|
1031 | d1f29646 | Luiz Capitulino | # Since: 0.14.0 |
1032 | d1f29646 | Luiz Capitulino | ## |
1033 | d1f29646 | Luiz Capitulino | { 'type': 'SpiceInfo', |
1034 | 61c4efe2 | Yonit Halperin | 'data': {'enabled': 'bool', 'migrated': 'bool', '*host': 'str', '*port': 'int', |
1035 | d1f29646 | Luiz Capitulino | '*tls-port': 'int', '*auth': 'str', '*compiled-version': 'str', |
1036 | 4efee029 | Alon Levy | 'mouse-mode': 'SpiceQueryMouseMode', '*channels': ['SpiceChannel']} } |
1037 | d1f29646 | Luiz Capitulino | |
1038 | d1f29646 | Luiz Capitulino | ## |
1039 | d1f29646 | Luiz Capitulino | # @query-spice |
1040 | d1f29646 | Luiz Capitulino | #
|
1041 | d1f29646 | Luiz Capitulino | # Returns information about the current SPICE server |
1042 | d1f29646 | Luiz Capitulino | #
|
1043 | d1f29646 | Luiz Capitulino | # Returns: @SpiceInfo |
1044 | d1f29646 | Luiz Capitulino | #
|
1045 | d1f29646 | Luiz Capitulino | # Since: 0.14.0 |
1046 | d1f29646 | Luiz Capitulino | ## |
1047 | d1f29646 | Luiz Capitulino | { 'command': 'query-spice', 'returns': 'SpiceInfo' } |
1048 | d1f29646 | Luiz Capitulino | |
1049 | d1f29646 | Luiz Capitulino | ## |
1050 | 96637bcd | Luiz Capitulino | # @BalloonInfo: |
1051 | 96637bcd | Luiz Capitulino | #
|
1052 | 96637bcd | Luiz Capitulino | # Information about the guest balloon device. |
1053 | 96637bcd | Luiz Capitulino | #
|
1054 | 96637bcd | Luiz Capitulino | # @actual: the number of bytes the balloon currently contains |
1055 | 96637bcd | Luiz Capitulino | #
|
1056 | 96637bcd | Luiz Capitulino | # Since: 0.14.0 |
1057 | 96637bcd | Luiz Capitulino | #
|
1058 | 96637bcd | Luiz Capitulino | ## |
1059 | 01ceb97e | Luiz Capitulino | { 'type': 'BalloonInfo', 'data': {'actual': 'int' } } |
1060 | 96637bcd | Luiz Capitulino | |
1061 | 96637bcd | Luiz Capitulino | ## |
1062 | 96637bcd | Luiz Capitulino | # @query-balloon: |
1063 | 96637bcd | Luiz Capitulino | #
|
1064 | 96637bcd | Luiz Capitulino | # Return information about the balloon device. |
1065 | 96637bcd | Luiz Capitulino | #
|
1066 | 96637bcd | Luiz Capitulino | # Returns: @BalloonInfo on success |
1067 | 96637bcd | Luiz Capitulino | # If the balloon driver is enabled but not functional because the KVM |
1068 | 96637bcd | Luiz Capitulino | # kernel module cannot support it, KvmMissingCap |
1069 | 96637bcd | Luiz Capitulino | # If no balloon device is present, DeviceNotActive |
1070 | 96637bcd | Luiz Capitulino | #
|
1071 | 96637bcd | Luiz Capitulino | # Since: 0.14.0 |
1072 | 96637bcd | Luiz Capitulino | ## |
1073 | 96637bcd | Luiz Capitulino | { 'command': 'query-balloon', 'returns': 'BalloonInfo' } |
1074 | 96637bcd | Luiz Capitulino | |
1075 | 96637bcd | Luiz Capitulino | ## |
1076 | 79627472 | Luiz Capitulino | # @PciMemoryRange: |
1077 | 79627472 | Luiz Capitulino | #
|
1078 | 79627472 | Luiz Capitulino | # A PCI device memory region |
1079 | 79627472 | Luiz Capitulino | #
|
1080 | 79627472 | Luiz Capitulino | # @base: the starting address (guest physical) |
1081 | 79627472 | Luiz Capitulino | #
|
1082 | 79627472 | Luiz Capitulino | # @limit: the ending address (guest physical) |
1083 | 79627472 | Luiz Capitulino | #
|
1084 | 79627472 | Luiz Capitulino | # Since: 0.14.0 |
1085 | 79627472 | Luiz Capitulino | ## |
1086 | 79627472 | Luiz Capitulino | { 'type': 'PciMemoryRange', 'data': {'base': 'int', 'limit': 'int'} } |
1087 | 79627472 | Luiz Capitulino | |
1088 | 79627472 | Luiz Capitulino | ## |
1089 | 79627472 | Luiz Capitulino | # @PciMemoryRegion |
1090 | 79627472 | Luiz Capitulino | #
|
1091 | 79627472 | Luiz Capitulino | # Information about a PCI device I/O region. |
1092 | 79627472 | Luiz Capitulino | #
|
1093 | 79627472 | Luiz Capitulino | # @bar: the index of the Base Address Register for this region |
1094 | 79627472 | Luiz Capitulino | #
|
1095 | 79627472 | Luiz Capitulino | # @type: 'io' if the region is a PIO region |
1096 | 79627472 | Luiz Capitulino | # 'memory' if the region is a MMIO region |
1097 | 79627472 | Luiz Capitulino | #
|
1098 | 79627472 | Luiz Capitulino | # @prefetch: #optional if @type is 'memory', true if the memory is prefetchable |
1099 | 79627472 | Luiz Capitulino | #
|
1100 | 79627472 | Luiz Capitulino | # @mem_type_64: #optional if @type is 'memory', true if the BAR is 64-bit |
1101 | 79627472 | Luiz Capitulino | #
|
1102 | 79627472 | Luiz Capitulino | # Since: 0.14.0 |
1103 | 79627472 | Luiz Capitulino | ## |
1104 | 79627472 | Luiz Capitulino | { 'type': 'PciMemoryRegion', |
1105 | 79627472 | Luiz Capitulino | 'data': {'bar': 'int', 'type': 'str', 'address': 'int', 'size': 'int', |
1106 | 79627472 | Luiz Capitulino | '*prefetch': 'bool', '*mem_type_64': 'bool' } } |
1107 | 79627472 | Luiz Capitulino | |
1108 | 79627472 | Luiz Capitulino | ## |
1109 | 79627472 | Luiz Capitulino | # @PciBridgeInfo: |
1110 | 79627472 | Luiz Capitulino | #
|
1111 | 79627472 | Luiz Capitulino | # Information about a PCI Bridge device |
1112 | 79627472 | Luiz Capitulino | #
|
1113 | 79627472 | Luiz Capitulino | # @bus.number: primary bus interface number. This should be the number of the |
1114 | 79627472 | Luiz Capitulino | # bus the device resides on. |
1115 | 79627472 | Luiz Capitulino | #
|
1116 | 79627472 | Luiz Capitulino | # @bus.secondary: secondary bus interface number. This is the number of the |
1117 | 79627472 | Luiz Capitulino | # main bus for the bridge |
1118 | 79627472 | Luiz Capitulino | #
|
1119 | 79627472 | Luiz Capitulino | # @bus.subordinate: This is the highest number bus that resides below the |
1120 | 79627472 | Luiz Capitulino | # bridge. |
1121 | 79627472 | Luiz Capitulino | #
|
1122 | 79627472 | Luiz Capitulino | # @bus.io_range: The PIO range for all devices on this bridge |
1123 | 79627472 | Luiz Capitulino | #
|
1124 | 79627472 | Luiz Capitulino | # @bus.memory_range: The MMIO range for all devices on this bridge |
1125 | 79627472 | Luiz Capitulino | #
|
1126 | 79627472 | Luiz Capitulino | # @bus.prefetchable_range: The range of prefetchable MMIO for all devices on |
1127 | 79627472 | Luiz Capitulino | # this bridge |
1128 | 79627472 | Luiz Capitulino | #
|
1129 | 79627472 | Luiz Capitulino | # @devices: a list of @PciDeviceInfo for each device on this bridge |
1130 | 79627472 | Luiz Capitulino | #
|
1131 | 79627472 | Luiz Capitulino | # Since: 0.14.0 |
1132 | 79627472 | Luiz Capitulino | ## |
1133 | 79627472 | Luiz Capitulino | { 'type': 'PciBridgeInfo', |
1134 | 79627472 | Luiz Capitulino | 'data': {'bus': { 'number': 'int', 'secondary': 'int', 'subordinate': 'int', |
1135 | 79627472 | Luiz Capitulino | 'io_range': 'PciMemoryRange', |
1136 | 79627472 | Luiz Capitulino | 'memory_range': 'PciMemoryRange', |
1137 | 79627472 | Luiz Capitulino | 'prefetchable_range': 'PciMemoryRange' }, |
1138 | 79627472 | Luiz Capitulino | '*devices': ['PciDeviceInfo']} } |
1139 | 79627472 | Luiz Capitulino | |
1140 | 79627472 | Luiz Capitulino | ## |
1141 | 79627472 | Luiz Capitulino | # @PciDeviceInfo: |
1142 | 79627472 | Luiz Capitulino | #
|
1143 | 79627472 | Luiz Capitulino | # Information about a PCI device |
1144 | 79627472 | Luiz Capitulino | #
|
1145 | 79627472 | Luiz Capitulino | # @bus: the bus number of the device |
1146 | 79627472 | Luiz Capitulino | #
|
1147 | 79627472 | Luiz Capitulino | # @slot: the slot the device is located in |
1148 | 79627472 | Luiz Capitulino | #
|
1149 | 79627472 | Luiz Capitulino | # @function: the function of the slot used by the device |
1150 | 79627472 | Luiz Capitulino | #
|
1151 | 79627472 | Luiz Capitulino | # @class_info.desc: #optional a string description of the device's class |
1152 | 79627472 | Luiz Capitulino | #
|
1153 | 79627472 | Luiz Capitulino | # @class_info.class: the class code of the device |
1154 | 79627472 | Luiz Capitulino | #
|
1155 | 79627472 | Luiz Capitulino | # @id.device: the PCI device id |
1156 | 79627472 | Luiz Capitulino | #
|
1157 | 79627472 | Luiz Capitulino | # @id.vendor: the PCI vendor id |
1158 | 79627472 | Luiz Capitulino | #
|
1159 | 79627472 | Luiz Capitulino | # @irq: #optional if an IRQ is assigned to the device, the IRQ number |
1160 | 79627472 | Luiz Capitulino | #
|
1161 | 79627472 | Luiz Capitulino | # @qdev_id: the device name of the PCI device |
1162 | 79627472 | Luiz Capitulino | #
|
1163 | 79627472 | Luiz Capitulino | # @pci_bridge: if the device is a PCI bridge, the bridge information |
1164 | 79627472 | Luiz Capitulino | #
|
1165 | 79627472 | Luiz Capitulino | # @regions: a list of the PCI I/O regions associated with the device |
1166 | 79627472 | Luiz Capitulino | #
|
1167 | 79627472 | Luiz Capitulino | # Notes: the contents of @class_info.desc are not stable and should only be |
1168 | 79627472 | Luiz Capitulino | # treated as informational. |
1169 | 79627472 | Luiz Capitulino | #
|
1170 | 79627472 | Luiz Capitulino | # Since: 0.14.0 |
1171 | 79627472 | Luiz Capitulino | ## |
1172 | 79627472 | Luiz Capitulino | { 'type': 'PciDeviceInfo', |
1173 | 79627472 | Luiz Capitulino | 'data': {'bus': 'int', 'slot': 'int', 'function': 'int', |
1174 | 79627472 | Luiz Capitulino | 'class_info': {'*desc': 'str', 'class': 'int'}, |
1175 | 79627472 | Luiz Capitulino | 'id': {'device': 'int', 'vendor': 'int'}, |
1176 | 79627472 | Luiz Capitulino | '*irq': 'int', 'qdev_id': 'str', '*pci_bridge': 'PciBridgeInfo', |
1177 | 79627472 | Luiz Capitulino | 'regions': ['PciMemoryRegion']} } |
1178 | 79627472 | Luiz Capitulino | |
1179 | 79627472 | Luiz Capitulino | ## |
1180 | 79627472 | Luiz Capitulino | # @PciInfo: |
1181 | 79627472 | Luiz Capitulino | #
|
1182 | 79627472 | Luiz Capitulino | # Information about a PCI bus |
1183 | 79627472 | Luiz Capitulino | #
|
1184 | 79627472 | Luiz Capitulino | # @bus: the bus index |
1185 | 79627472 | Luiz Capitulino | #
|
1186 | 79627472 | Luiz Capitulino | # @devices: a list of devices on this bus |
1187 | 79627472 | Luiz Capitulino | #
|
1188 | 79627472 | Luiz Capitulino | # Since: 0.14.0 |
1189 | 79627472 | Luiz Capitulino | ## |
1190 | 79627472 | Luiz Capitulino | { 'type': 'PciInfo', 'data': {'bus': 'int', 'devices': ['PciDeviceInfo']} } |
1191 | 79627472 | Luiz Capitulino | |
1192 | 79627472 | Luiz Capitulino | ## |
1193 | 79627472 | Luiz Capitulino | # @query-pci: |
1194 | 79627472 | Luiz Capitulino | #
|
1195 | 79627472 | Luiz Capitulino | # Return information about the PCI bus topology of the guest. |
1196 | 79627472 | Luiz Capitulino | #
|
1197 | 79627472 | Luiz Capitulino | # Returns: a list of @PciInfo for each PCI bus |
1198 | 79627472 | Luiz Capitulino | #
|
1199 | 79627472 | Luiz Capitulino | # Since: 0.14.0 |
1200 | 79627472 | Luiz Capitulino | ## |
1201 | 79627472 | Luiz Capitulino | { 'command': 'query-pci', 'returns': ['PciInfo'] } |
1202 | 79627472 | Luiz Capitulino | |
1203 | 79627472 | Luiz Capitulino | ## |
1204 | 92aa5c6d | Paolo Bonzini | # @BlockdevOnError: |
1205 | 92aa5c6d | Paolo Bonzini | #
|
1206 | 92aa5c6d | Paolo Bonzini | # An enumeration of possible behaviors for errors on I/O operations. |
1207 | 92aa5c6d | Paolo Bonzini | # The exact meaning depends on whether the I/O was initiated by a guest |
1208 | 92aa5c6d | Paolo Bonzini | # or by a block job |
1209 | 92aa5c6d | Paolo Bonzini | #
|
1210 | 92aa5c6d | Paolo Bonzini | # @report: for guest operations, report the error to the guest; |
1211 | 92aa5c6d | Paolo Bonzini | # for jobs, cancel the job |
1212 | 92aa5c6d | Paolo Bonzini | #
|
1213 | 92aa5c6d | Paolo Bonzini | # @ignore: ignore the error, only report a QMP event (BLOCK_IO_ERROR |
1214 | 92aa5c6d | Paolo Bonzini | # or BLOCK_JOB_ERROR) |
1215 | 92aa5c6d | Paolo Bonzini | #
|
1216 | 92aa5c6d | Paolo Bonzini | # @enospc: same as @stop on ENOSPC, same as @report otherwise. |
1217 | 92aa5c6d | Paolo Bonzini | #
|
1218 | 92aa5c6d | Paolo Bonzini | # @stop: for guest operations, stop the virtual machine; |
1219 | 92aa5c6d | Paolo Bonzini | # for jobs, pause the job |
1220 | 92aa5c6d | Paolo Bonzini | #
|
1221 | 92aa5c6d | Paolo Bonzini | # Since: 1.3 |
1222 | 92aa5c6d | Paolo Bonzini | ## |
1223 | 92aa5c6d | Paolo Bonzini | { 'enum': 'BlockdevOnError', |
1224 | 92aa5c6d | Paolo Bonzini | 'data': ['report', 'ignore', 'enospc', 'stop'] } |
1225 | 92aa5c6d | Paolo Bonzini | |
1226 | 92aa5c6d | Paolo Bonzini | ## |
1227 | 893f7eba | Paolo Bonzini | # @MirrorSyncMode: |
1228 | 893f7eba | Paolo Bonzini | #
|
1229 | 893f7eba | Paolo Bonzini | # An enumeration of possible behaviors for the initial synchronization |
1230 | 893f7eba | Paolo Bonzini | # phase of storage mirroring. |
1231 | 893f7eba | Paolo Bonzini | #
|
1232 | 893f7eba | Paolo Bonzini | # @top: copies data in the topmost image to the destination |
1233 | 893f7eba | Paolo Bonzini | #
|
1234 | 893f7eba | Paolo Bonzini | # @full: copies data from all images to the destination |
1235 | 893f7eba | Paolo Bonzini | #
|
1236 | 893f7eba | Paolo Bonzini | # @none: only copy data written from now on |
1237 | 893f7eba | Paolo Bonzini | #
|
1238 | 893f7eba | Paolo Bonzini | # Since: 1.3 |
1239 | 893f7eba | Paolo Bonzini | ## |
1240 | 893f7eba | Paolo Bonzini | { 'enum': 'MirrorSyncMode', |
1241 | 893f7eba | Paolo Bonzini | 'data': ['top', 'full', 'none'] } |
1242 | 893f7eba | Paolo Bonzini | |
1243 | 893f7eba | Paolo Bonzini | ## |
1244 | fb5458cd | Stefan Hajnoczi | # @BlockJobInfo: |
1245 | fb5458cd | Stefan Hajnoczi | #
|
1246 | fb5458cd | Stefan Hajnoczi | # Information about a long-running block device operation. |
1247 | fb5458cd | Stefan Hajnoczi | #
|
1248 | fb5458cd | Stefan Hajnoczi | # @type: the job type ('stream' for image streaming) |
1249 | fb5458cd | Stefan Hajnoczi | #
|
1250 | fb5458cd | Stefan Hajnoczi | # @device: the block device name |
1251 | fb5458cd | Stefan Hajnoczi | #
|
1252 | fb5458cd | Stefan Hajnoczi | # @len: the maximum progress value |
1253 | fb5458cd | Stefan Hajnoczi | #
|
1254 | 8d65883f | Paolo Bonzini | # @busy: false if the job is known to be in a quiescent state, with |
1255 | 8d65883f | Paolo Bonzini | # no pending I/O. Since 1.3. |
1256 | 8d65883f | Paolo Bonzini | #
|
1257 | 8acc72a4 | Paolo Bonzini | # @paused: whether the job is paused or, if @busy is true, will |
1258 | 8acc72a4 | Paolo Bonzini | # pause itself as soon as possible. Since 1.3. |
1259 | 8acc72a4 | Paolo Bonzini | #
|
1260 | fb5458cd | Stefan Hajnoczi | # @offset: the current progress value |
1261 | fb5458cd | Stefan Hajnoczi | #
|
1262 | fb5458cd | Stefan Hajnoczi | # @speed: the rate limit, bytes per second |
1263 | fb5458cd | Stefan Hajnoczi | #
|
1264 | 32c81a4a | Paolo Bonzini | # @io-status: the status of the job (since 1.3) |
1265 | 32c81a4a | Paolo Bonzini | #
|
1266 | fb5458cd | Stefan Hajnoczi | # Since: 1.1 |
1267 | fb5458cd | Stefan Hajnoczi | ## |
1268 | fb5458cd | Stefan Hajnoczi | { 'type': 'BlockJobInfo', |
1269 | fb5458cd | Stefan Hajnoczi | 'data': {'type': 'str', 'device': 'str', 'len': 'int', |
1270 | 32c81a4a | Paolo Bonzini | 'offset': 'int', 'busy': 'bool', 'paused': 'bool', 'speed': 'int', |
1271 | 32c81a4a | Paolo Bonzini | 'io-status': 'BlockDeviceIoStatus'} } |
1272 | fb5458cd | Stefan Hajnoczi | |
1273 | fb5458cd | Stefan Hajnoczi | ## |
1274 | fb5458cd | Stefan Hajnoczi | # @query-block-jobs: |
1275 | fb5458cd | Stefan Hajnoczi | #
|
1276 | fb5458cd | Stefan Hajnoczi | # Return information about long-running block device operations. |
1277 | fb5458cd | Stefan Hajnoczi | #
|
1278 | fb5458cd | Stefan Hajnoczi | # Returns: a list of @BlockJobInfo for each active block job |
1279 | fb5458cd | Stefan Hajnoczi | #
|
1280 | fb5458cd | Stefan Hajnoczi | # Since: 1.1 |
1281 | fb5458cd | Stefan Hajnoczi | ## |
1282 | fb5458cd | Stefan Hajnoczi | { 'command': 'query-block-jobs', 'returns': ['BlockJobInfo'] } |
1283 | fb5458cd | Stefan Hajnoczi | |
1284 | fb5458cd | Stefan Hajnoczi | ## |
1285 | 7a7f325e | Luiz Capitulino | # @quit: |
1286 | 7a7f325e | Luiz Capitulino | #
|
1287 | 7a7f325e | Luiz Capitulino | # This command will cause the QEMU process to exit gracefully. While every |
1288 | 7a7f325e | Luiz Capitulino | # attempt is made to send the QMP response before terminating, this is not |
1289 | 7a7f325e | Luiz Capitulino | # guaranteed. When using this interface, a premature EOF would not be |
1290 | 7a7f325e | Luiz Capitulino | # unexpected. |
1291 | 7a7f325e | Luiz Capitulino | #
|
1292 | 7a7f325e | Luiz Capitulino | # Since: 0.14.0 |
1293 | 7a7f325e | Luiz Capitulino | ## |
1294 | 7a7f325e | Luiz Capitulino | { 'command': 'quit' } |
1295 | 5f158f21 | Luiz Capitulino | |
1296 | 5f158f21 | Luiz Capitulino | ## |
1297 | 5f158f21 | Luiz Capitulino | # @stop: |
1298 | 5f158f21 | Luiz Capitulino | #
|
1299 | 5f158f21 | Luiz Capitulino | # Stop all guest VCPU execution. |
1300 | 5f158f21 | Luiz Capitulino | #
|
1301 | 5f158f21 | Luiz Capitulino | # Since: 0.14.0 |
1302 | 5f158f21 | Luiz Capitulino | #
|
1303 | 5f158f21 | Luiz Capitulino | # Notes: This function will succeed even if the guest is already in the stopped |
1304 | 1e998146 | Paolo Bonzini | # state. In "inmigrate" state, it will ensure that the guest |
1305 | 1e998146 | Paolo Bonzini | # remains paused once migration finishes, as if the -S option was |
1306 | 1e998146 | Paolo Bonzini | # passed on the command line. |
1307 | 5f158f21 | Luiz Capitulino | ## |
1308 | 5f158f21 | Luiz Capitulino | { 'command': 'stop' } |
1309 | 38d22653 | Luiz Capitulino | |
1310 | 38d22653 | Luiz Capitulino | ## |
1311 | 38d22653 | Luiz Capitulino | # @system_reset: |
1312 | 38d22653 | Luiz Capitulino | #
|
1313 | 38d22653 | Luiz Capitulino | # Performs a hard reset of a guest. |
1314 | 38d22653 | Luiz Capitulino | #
|
1315 | 38d22653 | Luiz Capitulino | # Since: 0.14.0 |
1316 | 38d22653 | Luiz Capitulino | ## |
1317 | 38d22653 | Luiz Capitulino | { 'command': 'system_reset' } |
1318 | 5bc465e4 | Luiz Capitulino | |
1319 | 5bc465e4 | Luiz Capitulino | ## |
1320 | 5bc465e4 | Luiz Capitulino | # @system_powerdown: |
1321 | 5bc465e4 | Luiz Capitulino | #
|
1322 | 5bc465e4 | Luiz Capitulino | # Requests that a guest perform a powerdown operation. |
1323 | 5bc465e4 | Luiz Capitulino | #
|
1324 | 5bc465e4 | Luiz Capitulino | # Since: 0.14.0 |
1325 | 5bc465e4 | Luiz Capitulino | #
|
1326 | 5bc465e4 | Luiz Capitulino | # Notes: A guest may or may not respond to this command. This command |
1327 | 5bc465e4 | Luiz Capitulino | # returning does not indicate that a guest has accepted the request or |
1328 | 5bc465e4 | Luiz Capitulino | # that it has shut down. Many guests will respond to this command by |
1329 | 5bc465e4 | Luiz Capitulino | # prompting the user in some way. |
1330 | 5bc465e4 | Luiz Capitulino | ## |
1331 | 5bc465e4 | Luiz Capitulino | { 'command': 'system_powerdown' } |
1332 | 755f1968 | Luiz Capitulino | |
1333 | 755f1968 | Luiz Capitulino | ## |
1334 | 755f1968 | Luiz Capitulino | # @cpu: |
1335 | 755f1968 | Luiz Capitulino | #
|
1336 | 755f1968 | Luiz Capitulino | # This command is a nop that is only provided for the purposes of compatibility. |
1337 | 755f1968 | Luiz Capitulino | #
|
1338 | 755f1968 | Luiz Capitulino | # Since: 0.14.0 |
1339 | 755f1968 | Luiz Capitulino | #
|
1340 | 755f1968 | Luiz Capitulino | # Notes: Do not use this command. |
1341 | 755f1968 | Luiz Capitulino | ## |
1342 | 755f1968 | Luiz Capitulino | { 'command': 'cpu', 'data': {'index': 'int'} } |
1343 | 0cfd6a9a | Luiz Capitulino | |
1344 | 0cfd6a9a | Luiz Capitulino | ## |
1345 | 0cfd6a9a | Luiz Capitulino | # @memsave: |
1346 | 0cfd6a9a | Luiz Capitulino | #
|
1347 | 0cfd6a9a | Luiz Capitulino | # Save a portion of guest memory to a file. |
1348 | 0cfd6a9a | Luiz Capitulino | #
|
1349 | 0cfd6a9a | Luiz Capitulino | # @val: the virtual address of the guest to start from |
1350 | 0cfd6a9a | Luiz Capitulino | #
|
1351 | 0cfd6a9a | Luiz Capitulino | # @size: the size of memory region to save |
1352 | 0cfd6a9a | Luiz Capitulino | #
|
1353 | 0cfd6a9a | Luiz Capitulino | # @filename: the file to save the memory to as binary data |
1354 | 0cfd6a9a | Luiz Capitulino | #
|
1355 | 0cfd6a9a | Luiz Capitulino | # @cpu-index: #optional the index of the virtual CPU to use for translating the |
1356 | 0cfd6a9a | Luiz Capitulino | # virtual address (defaults to CPU 0) |
1357 | 0cfd6a9a | Luiz Capitulino | #
|
1358 | 0cfd6a9a | Luiz Capitulino | # Returns: Nothing on success |
1359 | 0cfd6a9a | Luiz Capitulino | #
|
1360 | 0cfd6a9a | Luiz Capitulino | # Since: 0.14.0 |
1361 | 0cfd6a9a | Luiz Capitulino | #
|
1362 | 0cfd6a9a | Luiz Capitulino | # Notes: Errors were not reliably returned until 1.1 |
1363 | 0cfd6a9a | Luiz Capitulino | ## |
1364 | 0cfd6a9a | Luiz Capitulino | { 'command': 'memsave', |
1365 | 0cfd6a9a | Luiz Capitulino | 'data': {'val': 'int', 'size': 'int', 'filename': 'str', '*cpu-index': 'int'} } |
1366 | 6d3962bf | Luiz Capitulino | |
1367 | 6d3962bf | Luiz Capitulino | ## |
1368 | 6d3962bf | Luiz Capitulino | # @pmemsave: |
1369 | 6d3962bf | Luiz Capitulino | #
|
1370 | 6d3962bf | Luiz Capitulino | # Save a portion of guest physical memory to a file. |
1371 | 6d3962bf | Luiz Capitulino | #
|
1372 | 6d3962bf | Luiz Capitulino | # @val: the physical address of the guest to start from |
1373 | 6d3962bf | Luiz Capitulino | #
|
1374 | 6d3962bf | Luiz Capitulino | # @size: the size of memory region to save |
1375 | 6d3962bf | Luiz Capitulino | #
|
1376 | 6d3962bf | Luiz Capitulino | # @filename: the file to save the memory to as binary data |
1377 | 6d3962bf | Luiz Capitulino | #
|
1378 | 6d3962bf | Luiz Capitulino | # Returns: Nothing on success |
1379 | 6d3962bf | Luiz Capitulino | #
|
1380 | 6d3962bf | Luiz Capitulino | # Since: 0.14.0 |
1381 | 6d3962bf | Luiz Capitulino | #
|
1382 | 6d3962bf | Luiz Capitulino | # Notes: Errors were not reliably returned until 1.1 |
1383 | 6d3962bf | Luiz Capitulino | ## |
1384 | 6d3962bf | Luiz Capitulino | { 'command': 'pmemsave', |
1385 | 6d3962bf | Luiz Capitulino | 'data': {'val': 'int', 'size': 'int', 'filename': 'str'} } |
1386 | e42e818b | Luiz Capitulino | |
1387 | e42e818b | Luiz Capitulino | ## |
1388 | e42e818b | Luiz Capitulino | # @cont: |
1389 | e42e818b | Luiz Capitulino | #
|
1390 | e42e818b | Luiz Capitulino | # Resume guest VCPU execution. |
1391 | e42e818b | Luiz Capitulino | #
|
1392 | e42e818b | Luiz Capitulino | # Since: 0.14.0 |
1393 | e42e818b | Luiz Capitulino | #
|
1394 | e42e818b | Luiz Capitulino | # Returns: If successful, nothing |
1395 | e42e818b | Luiz Capitulino | # If QEMU was started with an encrypted block device and a key has |
1396 | e42e818b | Luiz Capitulino | # not yet been set, DeviceEncrypted. |
1397 | e42e818b | Luiz Capitulino | #
|
1398 | 1e998146 | Paolo Bonzini | # Notes: This command will succeed if the guest is currently running. It |
1399 | 1e998146 | Paolo Bonzini | # will also succeed if the guest is in the "inmigrate" state; in |
1400 | 1e998146 | Paolo Bonzini | # this case, the effect of the command is to make sure the guest |
1401 | 1e998146 | Paolo Bonzini | # starts once migration finishes, removing the effect of the -S |
1402 | 1e998146 | Paolo Bonzini | # command line option if it was passed. |
1403 | e42e818b | Luiz Capitulino | ## |
1404 | e42e818b | Luiz Capitulino | { 'command': 'cont' } |
1405 | e42e818b | Luiz Capitulino | |
1406 | ab49ab5c | Luiz Capitulino | ## |
1407 | 9b9df25a | Gerd Hoffmann | # @system_wakeup: |
1408 | 9b9df25a | Gerd Hoffmann | #
|
1409 | 9b9df25a | Gerd Hoffmann | # Wakeup guest from suspend. Does nothing in case the guest isn't suspended. |
1410 | 9b9df25a | Gerd Hoffmann | #
|
1411 | 9b9df25a | Gerd Hoffmann | # Since: 1.1 |
1412 | 9b9df25a | Gerd Hoffmann | #
|
1413 | 9b9df25a | Gerd Hoffmann | # Returns: nothing. |
1414 | 9b9df25a | Gerd Hoffmann | ## |
1415 | 9b9df25a | Gerd Hoffmann | { 'command': 'system_wakeup' } |
1416 | 9b9df25a | Gerd Hoffmann | |
1417 | 9b9df25a | Gerd Hoffmann | ## |
1418 | ab49ab5c | Luiz Capitulino | # @inject-nmi: |
1419 | ab49ab5c | Luiz Capitulino | #
|
1420 | ab49ab5c | Luiz Capitulino | # Injects an Non-Maskable Interrupt into all guest's VCPUs. |
1421 | ab49ab5c | Luiz Capitulino | #
|
1422 | ab49ab5c | Luiz Capitulino | # Returns: If successful, nothing |
1423 | ab49ab5c | Luiz Capitulino | #
|
1424 | ab49ab5c | Luiz Capitulino | # Since: 0.14.0 |
1425 | ab49ab5c | Luiz Capitulino | #
|
1426 | ab49ab5c | Luiz Capitulino | # Notes: Only x86 Virtual Machines support this command. |
1427 | ab49ab5c | Luiz Capitulino | ## |
1428 | ab49ab5c | Luiz Capitulino | { 'command': 'inject-nmi' } |
1429 | 4b37156c | Luiz Capitulino | |
1430 | 4b37156c | Luiz Capitulino | ## |
1431 | 4b37156c | Luiz Capitulino | # @set_link: |
1432 | 4b37156c | Luiz Capitulino | #
|
1433 | 4b37156c | Luiz Capitulino | # Sets the link status of a virtual network adapter. |
1434 | 4b37156c | Luiz Capitulino | #
|
1435 | 4b37156c | Luiz Capitulino | # @name: the device name of the virtual network adapter |
1436 | 4b37156c | Luiz Capitulino | #
|
1437 | 4b37156c | Luiz Capitulino | # @up: true to set the link status to be up |
1438 | 4b37156c | Luiz Capitulino | #
|
1439 | 4b37156c | Luiz Capitulino | # Returns: Nothing on success |
1440 | 4b37156c | Luiz Capitulino | # If @name is not a valid network device, DeviceNotFound |
1441 | 4b37156c | Luiz Capitulino | #
|
1442 | 4b37156c | Luiz Capitulino | # Since: 0.14.0 |
1443 | 4b37156c | Luiz Capitulino | #
|
1444 | 4b37156c | Luiz Capitulino | # Notes: Not all network adapters support setting link status. This command |
1445 | 4b37156c | Luiz Capitulino | # will succeed even if the network adapter does not support link status |
1446 | 4b37156c | Luiz Capitulino | # notification. |
1447 | 4b37156c | Luiz Capitulino | ## |
1448 | 4b37156c | Luiz Capitulino | { 'command': 'set_link', 'data': {'name': 'str', 'up': 'bool'} } |
1449 | a4dea8a9 | Luiz Capitulino | |
1450 | a4dea8a9 | Luiz Capitulino | ## |
1451 | a4dea8a9 | Luiz Capitulino | # @block_passwd: |
1452 | a4dea8a9 | Luiz Capitulino | #
|
1453 | a4dea8a9 | Luiz Capitulino | # This command sets the password of a block device that has not been open |
1454 | a4dea8a9 | Luiz Capitulino | # with a password and requires one. |
1455 | a4dea8a9 | Luiz Capitulino | #
|
1456 | a4dea8a9 | Luiz Capitulino | # The two cases where this can happen are a block device is created through |
1457 | a4dea8a9 | Luiz Capitulino | # QEMU's initial command line or a block device is changed through the legacy |
1458 | a4dea8a9 | Luiz Capitulino | # @change interface. |
1459 | a4dea8a9 | Luiz Capitulino | #
|
1460 | a4dea8a9 | Luiz Capitulino | # In the event that the block device is created through the initial command |
1461 | a4dea8a9 | Luiz Capitulino | # line, the VM will start in the stopped state regardless of whether '-S' is |
1462 | a4dea8a9 | Luiz Capitulino | # used. The intention is for a management tool to query the block devices to |
1463 | a4dea8a9 | Luiz Capitulino | # determine which ones are encrypted, set the passwords with this command, and |
1464 | a4dea8a9 | Luiz Capitulino | # then start the guest with the @cont command. |
1465 | a4dea8a9 | Luiz Capitulino | #
|
1466 | a4dea8a9 | Luiz Capitulino | # @device: the name of the device to set the password on |
1467 | a4dea8a9 | Luiz Capitulino | #
|
1468 | a4dea8a9 | Luiz Capitulino | # @password: the password to use for the device |
1469 | a4dea8a9 | Luiz Capitulino | #
|
1470 | a4dea8a9 | Luiz Capitulino | # Returns: nothing on success |
1471 | a4dea8a9 | Luiz Capitulino | # If @device is not a valid block device, DeviceNotFound |
1472 | a4dea8a9 | Luiz Capitulino | # If @device is not encrypted, DeviceNotEncrypted |
1473 | a4dea8a9 | Luiz Capitulino | #
|
1474 | a4dea8a9 | Luiz Capitulino | # Notes: Not all block formats support encryption and some that do are not |
1475 | a4dea8a9 | Luiz Capitulino | # able to validate that a password is correct. Disk corruption may |
1476 | a4dea8a9 | Luiz Capitulino | # occur if an invalid password is specified. |
1477 | a4dea8a9 | Luiz Capitulino | #
|
1478 | a4dea8a9 | Luiz Capitulino | # Since: 0.14.0 |
1479 | a4dea8a9 | Luiz Capitulino | ## |
1480 | a4dea8a9 | Luiz Capitulino | { 'command': 'block_passwd', 'data': {'device': 'str', 'password': 'str'} } |
1481 | d72f3264 | Luiz Capitulino | |
1482 | d72f3264 | Luiz Capitulino | ## |
1483 | d72f3264 | Luiz Capitulino | # @balloon: |
1484 | d72f3264 | Luiz Capitulino | #
|
1485 | d72f3264 | Luiz Capitulino | # Request the balloon driver to change its balloon size. |
1486 | d72f3264 | Luiz Capitulino | #
|
1487 | d72f3264 | Luiz Capitulino | # @value: the target size of the balloon in bytes |
1488 | d72f3264 | Luiz Capitulino | #
|
1489 | d72f3264 | Luiz Capitulino | # Returns: Nothing on success |
1490 | d72f3264 | Luiz Capitulino | # If the balloon driver is enabled but not functional because the KVM |
1491 | d72f3264 | Luiz Capitulino | # kernel module cannot support it, KvmMissingCap |
1492 | d72f3264 | Luiz Capitulino | # If no balloon device is present, DeviceNotActive |
1493 | d72f3264 | Luiz Capitulino | #
|
1494 | d72f3264 | Luiz Capitulino | # Notes: This command just issues a request to the guest. When it returns, |
1495 | d72f3264 | Luiz Capitulino | # the balloon size may not have changed. A guest can change the balloon |
1496 | d72f3264 | Luiz Capitulino | # size independent of this command. |
1497 | d72f3264 | Luiz Capitulino | #
|
1498 | d72f3264 | Luiz Capitulino | # Since: 0.14.0 |
1499 | d72f3264 | Luiz Capitulino | ## |
1500 | d72f3264 | Luiz Capitulino | { 'command': 'balloon', 'data': {'value': 'int'} } |
1501 | 5e7caacb | Luiz Capitulino | |
1502 | 5e7caacb | Luiz Capitulino | ## |
1503 | 5e7caacb | Luiz Capitulino | # @block_resize |
1504 | 5e7caacb | Luiz Capitulino | #
|
1505 | 5e7caacb | Luiz Capitulino | # Resize a block image while a guest is running. |
1506 | 5e7caacb | Luiz Capitulino | #
|
1507 | 5e7caacb | Luiz Capitulino | # @device: the name of the device to get the image resized |
1508 | 5e7caacb | Luiz Capitulino | #
|
1509 | 5e7caacb | Luiz Capitulino | # @size: new image size in bytes |
1510 | 5e7caacb | Luiz Capitulino | #
|
1511 | 5e7caacb | Luiz Capitulino | # Returns: nothing on success |
1512 | 5e7caacb | Luiz Capitulino | # If @device is not a valid block device, DeviceNotFound |
1513 | 5e7caacb | Luiz Capitulino | #
|
1514 | 5e7caacb | Luiz Capitulino | # Since: 0.14.0 |
1515 | 5e7caacb | Luiz Capitulino | ## |
1516 | 5e7caacb | Luiz Capitulino | { 'command': 'block_resize', 'data': { 'device': 'str', 'size': 'int' }} |
1517 | 6106e249 | Luiz Capitulino | |
1518 | 6106e249 | Luiz Capitulino | ## |
1519 | bc8b094f | Paolo Bonzini | # @NewImageMode |
1520 | bc8b094f | Paolo Bonzini | #
|
1521 | bc8b094f | Paolo Bonzini | # An enumeration that tells QEMU how to set the backing file path in |
1522 | bc8b094f | Paolo Bonzini | # a new image file. |
1523 | bc8b094f | Paolo Bonzini | #
|
1524 | bc8b094f | Paolo Bonzini | # @existing: QEMU should look for an existing image file. |
1525 | bc8b094f | Paolo Bonzini | #
|
1526 | bc8b094f | Paolo Bonzini | # @absolute-paths: QEMU should create a new image with absolute paths |
1527 | bc8b094f | Paolo Bonzini | # for the backing file. |
1528 | bc8b094f | Paolo Bonzini | #
|
1529 | bc8b094f | Paolo Bonzini | # Since: 1.1 |
1530 | bc8b094f | Paolo Bonzini | ## |
1531 | bc8b094f | Paolo Bonzini | { 'enum': 'NewImageMode' |
1532 | bc8b094f | Paolo Bonzini | 'data': [ 'existing', 'absolute-paths' ] } |
1533 | bc8b094f | Paolo Bonzini | |
1534 | bc8b094f | Paolo Bonzini | ## |
1535 | 52e7c241 | Paolo Bonzini | # @BlockdevSnapshot |
1536 | 8802d1fd | Jeff Cody | #
|
1537 | 8802d1fd | Jeff Cody | # @device: the name of the device to generate the snapshot from. |
1538 | 8802d1fd | Jeff Cody | #
|
1539 | 8802d1fd | Jeff Cody | # @snapshot-file: the target of the new image. A new file will be created. |
1540 | 8802d1fd | Jeff Cody | #
|
1541 | 8802d1fd | Jeff Cody | # @format: #optional the format of the snapshot image, default is 'qcow2'. |
1542 | 6cc2a415 | Paolo Bonzini | #
|
1543 | 6cc2a415 | Paolo Bonzini | # @mode: #optional whether and how QEMU should create a new image, default is |
1544 | 8bde9b6f | Paolo Bonzini | # 'absolute-paths'. |
1545 | 8802d1fd | Jeff Cody | ## |
1546 | 52e7c241 | Paolo Bonzini | { 'type': 'BlockdevSnapshot', |
1547 | bc8b094f | Paolo Bonzini | 'data': { 'device': 'str', 'snapshot-file': 'str', '*format': 'str', |
1548 | bc8b094f | Paolo Bonzini | '*mode': 'NewImageMode' } } |
1549 | 8802d1fd | Jeff Cody | |
1550 | 8802d1fd | Jeff Cody | ## |
1551 | 52e7c241 | Paolo Bonzini | # @BlockdevAction |
1552 | 8802d1fd | Jeff Cody | #
|
1553 | 52e7c241 | Paolo Bonzini | # A discriminated record of operations that can be performed with |
1554 | 52e7c241 | Paolo Bonzini | # @transaction. |
1555 | 8802d1fd | Jeff Cody | ## |
1556 | 52e7c241 | Paolo Bonzini | { 'union': 'BlockdevAction', |
1557 | 52e7c241 | Paolo Bonzini | 'data': { |
1558 | 52e7c241 | Paolo Bonzini | 'blockdev-snapshot-sync': 'BlockdevSnapshot', |
1559 | 52e7c241 | Paolo Bonzini | } } |
1560 | 8802d1fd | Jeff Cody | |
1561 | 8802d1fd | Jeff Cody | ## |
1562 | 52e7c241 | Paolo Bonzini | # @transaction |
1563 | 8802d1fd | Jeff Cody | #
|
1564 | 52e7c241 | Paolo Bonzini | # Atomically operate on a group of one or more block devices. If |
1565 | 52e7c241 | Paolo Bonzini | # any operation fails, then the entire set of actions will be |
1566 | 52e7c241 | Paolo Bonzini | # abandoned and the appropriate error returned. The only operation |
1567 | 52e7c241 | Paolo Bonzini | # supported is currently blockdev-snapshot-sync. |
1568 | 8802d1fd | Jeff Cody | #
|
1569 | 8802d1fd | Jeff Cody | # List of: |
1570 | 52e7c241 | Paolo Bonzini | # @BlockdevAction: information needed for the device snapshot |
1571 | 8802d1fd | Jeff Cody | #
|
1572 | 8802d1fd | Jeff Cody | # Returns: nothing on success |
1573 | 8802d1fd | Jeff Cody | # If @device is not a valid block device, DeviceNotFound |
1574 | 8802d1fd | Jeff Cody | #
|
1575 | 52e7c241 | Paolo Bonzini | # Note: The transaction aborts on the first failure. Therefore, there will |
1576 | 52e7c241 | Paolo Bonzini | # be only one device or snapshot file returned in an error condition, and |
1577 | 52e7c241 | Paolo Bonzini | # subsequent actions will not have been attempted. |
1578 | 52e7c241 | Paolo Bonzini | #
|
1579 | 52e7c241 | Paolo Bonzini | # Since 1.1 |
1580 | 8802d1fd | Jeff Cody | ## |
1581 | 52e7c241 | Paolo Bonzini | { 'command': 'transaction', |
1582 | 52e7c241 | Paolo Bonzini | 'data': { 'actions': [ 'BlockdevAction' ] } } |
1583 | 8802d1fd | Jeff Cody | |
1584 | 8802d1fd | Jeff Cody | ## |
1585 | 6106e249 | Luiz Capitulino | # @blockdev-snapshot-sync |
1586 | 6106e249 | Luiz Capitulino | #
|
1587 | 6106e249 | Luiz Capitulino | # Generates a synchronous snapshot of a block device. |
1588 | 6106e249 | Luiz Capitulino | #
|
1589 | 6106e249 | Luiz Capitulino | # @device: the name of the device to generate the snapshot from. |
1590 | 6106e249 | Luiz Capitulino | #
|
1591 | 6106e249 | Luiz Capitulino | # @snapshot-file: the target of the new image. If the file exists, or if it |
1592 | 6106e249 | Luiz Capitulino | # is a device, the snapshot will be created in the existing |
1593 | 6106e249 | Luiz Capitulino | # file/device. If does not exist, a new file will be created. |
1594 | 6106e249 | Luiz Capitulino | #
|
1595 | 6106e249 | Luiz Capitulino | # @format: #optional the format of the snapshot image, default is 'qcow2'. |
1596 | 6106e249 | Luiz Capitulino | #
|
1597 | 6cc2a415 | Paolo Bonzini | # @mode: #optional whether and how QEMU should create a new image, default is |
1598 | 8bde9b6f | Paolo Bonzini | # 'absolute-paths'. |
1599 | 6cc2a415 | Paolo Bonzini | #
|
1600 | 6106e249 | Luiz Capitulino | # Returns: nothing on success |
1601 | 6106e249 | Luiz Capitulino | # If @device is not a valid block device, DeviceNotFound |
1602 | 6106e249 | Luiz Capitulino | #
|
1603 | 6106e249 | Luiz Capitulino | # Since 0.14.0 |
1604 | 6106e249 | Luiz Capitulino | ## |
1605 | 6106e249 | Luiz Capitulino | { 'command': 'blockdev-snapshot-sync', |
1606 | 6cc2a415 | Paolo Bonzini | 'data': { 'device': 'str', 'snapshot-file': 'str', '*format': 'str', |
1607 | 6cc2a415 | Paolo Bonzini | '*mode': 'NewImageMode'} } |
1608 | d51a67b4 | Luiz Capitulino | |
1609 | d51a67b4 | Luiz Capitulino | ## |
1610 | d51a67b4 | Luiz Capitulino | # @human-monitor-command: |
1611 | d51a67b4 | Luiz Capitulino | #
|
1612 | d51a67b4 | Luiz Capitulino | # Execute a command on the human monitor and return the output. |
1613 | d51a67b4 | Luiz Capitulino | #
|
1614 | d51a67b4 | Luiz Capitulino | # @command-line: the command to execute in the human monitor |
1615 | d51a67b4 | Luiz Capitulino | #
|
1616 | d51a67b4 | Luiz Capitulino | # @cpu-index: #optional The CPU to use for commands that require an implicit CPU |
1617 | d51a67b4 | Luiz Capitulino | #
|
1618 | d51a67b4 | Luiz Capitulino | # Returns: the output of the command as a string |
1619 | d51a67b4 | Luiz Capitulino | #
|
1620 | d51a67b4 | Luiz Capitulino | # Since: 0.14.0 |
1621 | d51a67b4 | Luiz Capitulino | #
|
1622 | d51a67b4 | Luiz Capitulino | # Notes: This command only exists as a stop-gap. It's use is highly |
1623 | d51a67b4 | Luiz Capitulino | # discouraged. The semantics of this command are not guaranteed. |
1624 | d51a67b4 | Luiz Capitulino | #
|
1625 | d51a67b4 | Luiz Capitulino | # Known limitations: |
1626 | d51a67b4 | Luiz Capitulino | #
|
1627 | d51a67b4 | Luiz Capitulino | # o This command is stateless, this means that commands that depend |
1628 | d51a67b4 | Luiz Capitulino | # on state information (such as getfd) might not work |
1629 | d51a67b4 | Luiz Capitulino | #
|
1630 | d51a67b4 | Luiz Capitulino | # o Commands that prompt the user for data (eg. 'cont' when the block |
1631 | d51a67b4 | Luiz Capitulino | # device is encrypted) don't currently work |
1632 | d51a67b4 | Luiz Capitulino | ## |
1633 | d51a67b4 | Luiz Capitulino | { 'command': 'human-monitor-command', |
1634 | d51a67b4 | Luiz Capitulino | 'data': {'command-line': 'str', '*cpu-index': 'int'}, |
1635 | b80e560b | Laszlo Ersek | 'returns': 'str' } |
1636 | 6cdedb07 | Luiz Capitulino | |
1637 | 6cdedb07 | Luiz Capitulino | ## |
1638 | ed61fc10 | Jeff Cody | # @block-commit |
1639 | ed61fc10 | Jeff Cody | #
|
1640 | ed61fc10 | Jeff Cody | # Live commit of data from overlay image nodes into backing nodes - i.e., |
1641 | ed61fc10 | Jeff Cody | # writes data between 'top' and 'base' into 'base'. |
1642 | ed61fc10 | Jeff Cody | #
|
1643 | ed61fc10 | Jeff Cody | # @device: the name of the device |
1644 | ed61fc10 | Jeff Cody | #
|
1645 | ed61fc10 | Jeff Cody | # @base: #optional The file name of the backing image to write data into. |
1646 | ed61fc10 | Jeff Cody | # If not specified, this is the deepest backing image |
1647 | ed61fc10 | Jeff Cody | #
|
1648 | ed61fc10 | Jeff Cody | # @top: The file name of the backing image within the image chain, |
1649 | ed61fc10 | Jeff Cody | # which contains the topmost data to be committed down. |
1650 | ed61fc10 | Jeff Cody | # Note, the active layer as 'top' is currently unsupported. |
1651 | ed61fc10 | Jeff Cody | #
|
1652 | ed61fc10 | Jeff Cody | # If top == base, that is an error. |
1653 | ed61fc10 | Jeff Cody | #
|
1654 | ed61fc10 | Jeff Cody | #
|
1655 | ed61fc10 | Jeff Cody | # @speed: #optional the maximum speed, in bytes per second |
1656 | ed61fc10 | Jeff Cody | #
|
1657 | ed61fc10 | Jeff Cody | # Returns: Nothing on success |
1658 | ed61fc10 | Jeff Cody | # If commit or stream is already active on this device, DeviceInUse |
1659 | ed61fc10 | Jeff Cody | # If @device does not exist, DeviceNotFound |
1660 | ed61fc10 | Jeff Cody | # If image commit is not supported by this device, NotSupported |
1661 | ed61fc10 | Jeff Cody | # If @base or @top is invalid, a generic error is returned |
1662 | ed61fc10 | Jeff Cody | # If @top is the active layer, or omitted, a generic error is returned |
1663 | ed61fc10 | Jeff Cody | # If @speed is invalid, InvalidParameter |
1664 | ed61fc10 | Jeff Cody | #
|
1665 | ed61fc10 | Jeff Cody | # Since: 1.3 |
1666 | ed61fc10 | Jeff Cody | #
|
1667 | ed61fc10 | Jeff Cody | ## |
1668 | ed61fc10 | Jeff Cody | { 'command': 'block-commit', |
1669 | ed61fc10 | Jeff Cody | 'data': { 'device': 'str', '*base': 'str', 'top': 'str', |
1670 | ed61fc10 | Jeff Cody | '*speed': 'int' } } |
1671 | ed61fc10 | Jeff Cody | |
1672 | d9b902db | Paolo Bonzini | ## |
1673 | d9b902db | Paolo Bonzini | # @drive-mirror |
1674 | d9b902db | Paolo Bonzini | #
|
1675 | d9b902db | Paolo Bonzini | # Start mirroring a block device's writes to a new destination. |
1676 | d9b902db | Paolo Bonzini | #
|
1677 | d9b902db | Paolo Bonzini | # @device: the name of the device whose writes should be mirrored. |
1678 | d9b902db | Paolo Bonzini | #
|
1679 | d9b902db | Paolo Bonzini | # @target: the target of the new image. If the file exists, or if it |
1680 | d9b902db | Paolo Bonzini | # is a device, the existing file/device will be used as the new |
1681 | d9b902db | Paolo Bonzini | # destination. If it does not exist, a new file will be created. |
1682 | d9b902db | Paolo Bonzini | #
|
1683 | d9b902db | Paolo Bonzini | # @format: #optional the format of the new destination, default is to |
1684 | d9b902db | Paolo Bonzini | # probe if @mode is 'existing', else the format of the source |
1685 | d9b902db | Paolo Bonzini | #
|
1686 | d9b902db | Paolo Bonzini | # @mode: #optional whether and how QEMU should create a new image, default is |
1687 | d9b902db | Paolo Bonzini | # 'absolute-paths'. |
1688 | d9b902db | Paolo Bonzini | #
|
1689 | d9b902db | Paolo Bonzini | # @speed: #optional the maximum speed, in bytes per second |
1690 | d9b902db | Paolo Bonzini | #
|
1691 | d9b902db | Paolo Bonzini | # @sync: what parts of the disk image should be copied to the destination |
1692 | d9b902db | Paolo Bonzini | # (all the disk, only the sectors allocated in the topmost image, or |
1693 | d9b902db | Paolo Bonzini | # only new I/O). |
1694 | d9b902db | Paolo Bonzini | #
|
1695 | eee13dfe | Paolo Bonzini | # @granularity: #optional granularity of the dirty bitmap, default is 64K |
1696 | eee13dfe | Paolo Bonzini | # if the image format doesn't have clusters, 4K if the clusters |
1697 | eee13dfe | Paolo Bonzini | # are smaller than that, else the cluster size. Must be a |
1698 | eee13dfe | Paolo Bonzini | # power of 2 between 512 and 64M (since 1.4). |
1699 | eee13dfe | Paolo Bonzini | #
|
1700 | 08e4ed6c | Paolo Bonzini | # @buf-size: #optional maximum amount of data in flight from source to |
1701 | 08e4ed6c | Paolo Bonzini | # target (since 1.4). |
1702 | 08e4ed6c | Paolo Bonzini | #
|
1703 | b952b558 | Paolo Bonzini | # @on-source-error: #optional the action to take on an error on the source, |
1704 | b952b558 | Paolo Bonzini | # default 'report'. 'stop' and 'enospc' can only be used |
1705 | b952b558 | Paolo Bonzini | # if the block device supports io-status (see BlockInfo). |
1706 | b952b558 | Paolo Bonzini | #
|
1707 | b952b558 | Paolo Bonzini | # @on-target-error: #optional the action to take on an error on the target, |
1708 | b952b558 | Paolo Bonzini | # default 'report' (no limitations, since this applies to |
1709 | b952b558 | Paolo Bonzini | # a different block device than @device). |
1710 | b952b558 | Paolo Bonzini | #
|
1711 | d9b902db | Paolo Bonzini | # Returns: nothing on success |
1712 | d9b902db | Paolo Bonzini | # If @device is not a valid block device, DeviceNotFound |
1713 | d9b902db | Paolo Bonzini | #
|
1714 | d9b902db | Paolo Bonzini | # Since 1.3 |
1715 | d9b902db | Paolo Bonzini | ## |
1716 | d9b902db | Paolo Bonzini | { 'command': 'drive-mirror', |
1717 | d9b902db | Paolo Bonzini | 'data': { 'device': 'str', 'target': 'str', '*format': 'str', |
1718 | d9b902db | Paolo Bonzini | 'sync': 'MirrorSyncMode', '*mode': 'NewImageMode', |
1719 | eee13dfe | Paolo Bonzini | '*speed': 'int', '*granularity': 'uint32', |
1720 | 08e4ed6c | Paolo Bonzini | '*buf-size': 'int', '*on-source-error': 'BlockdevOnError', |
1721 | b952b558 | Paolo Bonzini | '*on-target-error': 'BlockdevOnError' } } |
1722 | d9b902db | Paolo Bonzini | |
1723 | d9b902db | Paolo Bonzini | ## |
1724 | 6cdedb07 | Luiz Capitulino | # @migrate_cancel |
1725 | 6cdedb07 | Luiz Capitulino | #
|
1726 | 6cdedb07 | Luiz Capitulino | # Cancel the current executing migration process. |
1727 | 6cdedb07 | Luiz Capitulino | #
|
1728 | 6cdedb07 | Luiz Capitulino | # Returns: nothing on success |
1729 | 6cdedb07 | Luiz Capitulino | #
|
1730 | 6cdedb07 | Luiz Capitulino | # Notes: This command succeeds even if there is no migration process running. |
1731 | 6cdedb07 | Luiz Capitulino | #
|
1732 | 6cdedb07 | Luiz Capitulino | # Since: 0.14.0 |
1733 | 6cdedb07 | Luiz Capitulino | ## |
1734 | 6cdedb07 | Luiz Capitulino | { 'command': 'migrate_cancel' } |
1735 | 4f0a993b | Luiz Capitulino | |
1736 | 4f0a993b | Luiz Capitulino | ## |
1737 | 4f0a993b | Luiz Capitulino | # @migrate_set_downtime |
1738 | 4f0a993b | Luiz Capitulino | #
|
1739 | 4f0a993b | Luiz Capitulino | # Set maximum tolerated downtime for migration. |
1740 | 4f0a993b | Luiz Capitulino | #
|
1741 | 4f0a993b | Luiz Capitulino | # @value: maximum downtime in seconds |
1742 | 4f0a993b | Luiz Capitulino | #
|
1743 | 4f0a993b | Luiz Capitulino | # Returns: nothing on success |
1744 | 4f0a993b | Luiz Capitulino | #
|
1745 | 4f0a993b | Luiz Capitulino | # Since: 0.14.0 |
1746 | 4f0a993b | Luiz Capitulino | ## |
1747 | 4f0a993b | Luiz Capitulino | { 'command': 'migrate_set_downtime', 'data': {'value': 'number'} } |
1748 | 3dc85383 | Luiz Capitulino | |
1749 | 3dc85383 | Luiz Capitulino | ## |
1750 | 3dc85383 | Luiz Capitulino | # @migrate_set_speed |
1751 | 3dc85383 | Luiz Capitulino | #
|
1752 | 3dc85383 | Luiz Capitulino | # Set maximum speed for migration. |
1753 | 3dc85383 | Luiz Capitulino | #
|
1754 | 3dc85383 | Luiz Capitulino | # @value: maximum speed in bytes. |
1755 | 3dc85383 | Luiz Capitulino | #
|
1756 | 3dc85383 | Luiz Capitulino | # Returns: nothing on success |
1757 | 3dc85383 | Luiz Capitulino | #
|
1758 | 3dc85383 | Luiz Capitulino | # Notes: A value lesser than zero will be automatically round up to zero. |
1759 | 3dc85383 | Luiz Capitulino | #
|
1760 | 3dc85383 | Luiz Capitulino | # Since: 0.14.0 |
1761 | 3dc85383 | Luiz Capitulino | ## |
1762 | 3dc85383 | Luiz Capitulino | { 'command': 'migrate_set_speed', 'data': {'value': 'int'} } |
1763 | b4b12c62 | Anthony Liguori | |
1764 | b4b12c62 | Anthony Liguori | ## |
1765 | 9e1ba4cc | Orit Wasserman | # @migrate-set-cache-size |
1766 | 9e1ba4cc | Orit Wasserman | #
|
1767 | 9e1ba4cc | Orit Wasserman | # Set XBZRLE cache size |
1768 | 9e1ba4cc | Orit Wasserman | #
|
1769 | 9e1ba4cc | Orit Wasserman | # @value: cache size in bytes |
1770 | 9e1ba4cc | Orit Wasserman | #
|
1771 | 9e1ba4cc | Orit Wasserman | # The size will be rounded down to the nearest power of 2. |
1772 | 9e1ba4cc | Orit Wasserman | # The cache size can be modified before and during ongoing migration |
1773 | 9e1ba4cc | Orit Wasserman | #
|
1774 | 9e1ba4cc | Orit Wasserman | # Returns: nothing on success |
1775 | 9e1ba4cc | Orit Wasserman | #
|
1776 | 9e1ba4cc | Orit Wasserman | # Since: 1.2 |
1777 | 9e1ba4cc | Orit Wasserman | ## |
1778 | 9e1ba4cc | Orit Wasserman | { 'command': 'migrate-set-cache-size', 'data': {'value': 'int'} } |
1779 | 9e1ba4cc | Orit Wasserman | |
1780 | 9e1ba4cc | Orit Wasserman | ## |
1781 | 9e1ba4cc | Orit Wasserman | # @query-migrate-cache-size |
1782 | 9e1ba4cc | Orit Wasserman | #
|
1783 | 9e1ba4cc | Orit Wasserman | # query XBZRLE cache size |
1784 | 9e1ba4cc | Orit Wasserman | #
|
1785 | 9e1ba4cc | Orit Wasserman | # Returns: XBZRLE cache size in bytes |
1786 | 9e1ba4cc | Orit Wasserman | #
|
1787 | 9e1ba4cc | Orit Wasserman | # Since: 1.2 |
1788 | 9e1ba4cc | Orit Wasserman | ## |
1789 | 9e1ba4cc | Orit Wasserman | { 'command': 'query-migrate-cache-size', 'returns': 'int' } |
1790 | 9e1ba4cc | Orit Wasserman | |
1791 | 9e1ba4cc | Orit Wasserman | ## |
1792 | d03ee401 | Alon Levy | # @ObjectPropertyInfo: |
1793 | b4b12c62 | Anthony Liguori | #
|
1794 | b4b12c62 | Anthony Liguori | # @name: the name of the property |
1795 | b4b12c62 | Anthony Liguori | #
|
1796 | b4b12c62 | Anthony Liguori | # @type: the type of the property. This will typically come in one of four |
1797 | b4b12c62 | Anthony Liguori | # forms: |
1798 | b4b12c62 | Anthony Liguori | #
|
1799 | b4b12c62 | Anthony Liguori | # 1) A primitive type such as 'u8', 'u16', 'bool', 'str', or 'double'. |
1800 | b4b12c62 | Anthony Liguori | # These types are mapped to the appropriate JSON type. |
1801 | b4b12c62 | Anthony Liguori | #
|
1802 | b4b12c62 | Anthony Liguori | # 2) A legacy type in the form 'legacy<subtype>' where subtype is the |
1803 | b4b12c62 | Anthony Liguori | # legacy qdev typename. These types are always treated as strings. |
1804 | b4b12c62 | Anthony Liguori | #
|
1805 | b4b12c62 | Anthony Liguori | # 3) A child type in the form 'child<subtype>' where subtype is a qdev |
1806 | b4b12c62 | Anthony Liguori | # device type name. Child properties create the composition tree. |
1807 | b4b12c62 | Anthony Liguori | #
|
1808 | b4b12c62 | Anthony Liguori | # 4) A link type in the form 'link<subtype>' where subtype is a qdev |
1809 | b4b12c62 | Anthony Liguori | # device type name. Link properties form the device model graph. |
1810 | b4b12c62 | Anthony Liguori | #
|
1811 | 51920820 | Anthony Liguori | # Since: 1.2 |
1812 | b4b12c62 | Anthony Liguori | ## |
1813 | 57c9fafe | Anthony Liguori | { 'type': 'ObjectPropertyInfo', |
1814 | b4b12c62 | Anthony Liguori | 'data': { 'name': 'str', 'type': 'str' } } |
1815 | b4b12c62 | Anthony Liguori | |
1816 | b4b12c62 | Anthony Liguori | ## |
1817 | b4b12c62 | Anthony Liguori | # @qom-list: |
1818 | b4b12c62 | Anthony Liguori | #
|
1819 | 57c9fafe | Anthony Liguori | # This command will list any properties of a object given a path in the object |
1820 | b4b12c62 | Anthony Liguori | # model. |
1821 | b4b12c62 | Anthony Liguori | #
|
1822 | 57c9fafe | Anthony Liguori | # @path: the path within the object model. See @qom-get for a description of |
1823 | b4b12c62 | Anthony Liguori | # this parameter. |
1824 | b4b12c62 | Anthony Liguori | #
|
1825 | 57c9fafe | Anthony Liguori | # Returns: a list of @ObjectPropertyInfo that describe the properties of the |
1826 | 57c9fafe | Anthony Liguori | # object. |
1827 | b4b12c62 | Anthony Liguori | #
|
1828 | 51920820 | Anthony Liguori | # Since: 1.2 |
1829 | b4b12c62 | Anthony Liguori | ## |
1830 | b4b12c62 | Anthony Liguori | { 'command': 'qom-list', |
1831 | b4b12c62 | Anthony Liguori | 'data': { 'path': 'str' }, |
1832 | 57c9fafe | Anthony Liguori | 'returns': [ 'ObjectPropertyInfo' ] } |
1833 | eb6e8ea5 | Anthony Liguori | |
1834 | eb6e8ea5 | Anthony Liguori | ## |
1835 | eb6e8ea5 | Anthony Liguori | # @qom-get: |
1836 | eb6e8ea5 | Anthony Liguori | #
|
1837 | 57c9fafe | Anthony Liguori | # This command will get a property from a object model path and return the |
1838 | eb6e8ea5 | Anthony Liguori | # value. |
1839 | eb6e8ea5 | Anthony Liguori | #
|
1840 | 57c9fafe | Anthony Liguori | # @path: The path within the object model. There are two forms of supported |
1841 | eb6e8ea5 | Anthony Liguori | # paths--absolute and partial paths. |
1842 | eb6e8ea5 | Anthony Liguori | #
|
1843 | 57c9fafe | Anthony Liguori | # Absolute paths are derived from the root object and can follow child<> |
1844 | eb6e8ea5 | Anthony Liguori | # or link<> properties. Since they can follow link<> properties, they |
1845 | eb6e8ea5 | Anthony Liguori | # can be arbitrarily long. Absolute paths look like absolute filenames |
1846 | eb6e8ea5 | Anthony Liguori | # and are prefixed with a leading slash. |
1847 | eb6e8ea5 | Anthony Liguori | #
|
1848 | eb6e8ea5 | Anthony Liguori | # Partial paths look like relative filenames. They do not begin |
1849 | eb6e8ea5 | Anthony Liguori | # with a prefix. The matching rules for partial paths are subtle but |
1850 | 57c9fafe | Anthony Liguori | # designed to make specifying objects easy. At each level of the |
1851 | eb6e8ea5 | Anthony Liguori | # composition tree, the partial path is matched as an absolute path. |
1852 | eb6e8ea5 | Anthony Liguori | # The first match is not returned. At least two matches are searched |
1853 | eb6e8ea5 | Anthony Liguori | # for. A successful result is only returned if only one match is |
1854 | eb6e8ea5 | Anthony Liguori | # found. If more than one match is found, a flag is return to |
1855 | eb6e8ea5 | Anthony Liguori | # indicate that the match was ambiguous. |
1856 | eb6e8ea5 | Anthony Liguori | #
|
1857 | eb6e8ea5 | Anthony Liguori | # @property: The property name to read |
1858 | eb6e8ea5 | Anthony Liguori | #
|
1859 | eb6e8ea5 | Anthony Liguori | # Returns: The property value. The type depends on the property type. legacy<> |
1860 | eb6e8ea5 | Anthony Liguori | # properties are returned as #str. child<> and link<> properties are |
1861 | eb6e8ea5 | Anthony Liguori | # returns as #str pathnames. All integer property types (u8, u16, etc) |
1862 | eb6e8ea5 | Anthony Liguori | # are returned as #int. |
1863 | eb6e8ea5 | Anthony Liguori | #
|
1864 | 51920820 | Anthony Liguori | # Since: 1.2 |
1865 | eb6e8ea5 | Anthony Liguori | ## |
1866 | eb6e8ea5 | Anthony Liguori | { 'command': 'qom-get', |
1867 | eb6e8ea5 | Anthony Liguori | 'data': { 'path': 'str', 'property': 'str' }, |
1868 | eb6e8ea5 | Anthony Liguori | 'returns': 'visitor', |
1869 | eb6e8ea5 | Anthony Liguori | 'gen': 'no' } |
1870 | eb6e8ea5 | Anthony Liguori | |
1871 | eb6e8ea5 | Anthony Liguori | ## |
1872 | eb6e8ea5 | Anthony Liguori | # @qom-set: |
1873 | eb6e8ea5 | Anthony Liguori | #
|
1874 | 57c9fafe | Anthony Liguori | # This command will set a property from a object model path. |
1875 | eb6e8ea5 | Anthony Liguori | #
|
1876 | eb6e8ea5 | Anthony Liguori | # @path: see @qom-get for a description of this parameter |
1877 | eb6e8ea5 | Anthony Liguori | #
|
1878 | eb6e8ea5 | Anthony Liguori | # @property: the property name to set |
1879 | eb6e8ea5 | Anthony Liguori | #
|
1880 | eb6e8ea5 | Anthony Liguori | # @value: a value who's type is appropriate for the property type. See @qom-get |
1881 | eb6e8ea5 | Anthony Liguori | # for a description of type mapping. |
1882 | eb6e8ea5 | Anthony Liguori | #
|
1883 | 51920820 | Anthony Liguori | # Since: 1.2 |
1884 | eb6e8ea5 | Anthony Liguori | ## |
1885 | eb6e8ea5 | Anthony Liguori | { 'command': 'qom-set', |
1886 | eb6e8ea5 | Anthony Liguori | 'data': { 'path': 'str', 'property': 'str', 'value': 'visitor' }, |
1887 | eb6e8ea5 | Anthony Liguori | 'gen': 'no' } |
1888 | fbf796fd | Luiz Capitulino | |
1889 | fbf796fd | Luiz Capitulino | ## |
1890 | fbf796fd | Luiz Capitulino | # @set_password: |
1891 | fbf796fd | Luiz Capitulino | #
|
1892 | fbf796fd | Luiz Capitulino | # Sets the password of a remote display session. |
1893 | fbf796fd | Luiz Capitulino | #
|
1894 | fbf796fd | Luiz Capitulino | # @protocol: `vnc' to modify the VNC server password |
1895 | fbf796fd | Luiz Capitulino | # `spice' to modify the Spice server password |
1896 | fbf796fd | Luiz Capitulino | #
|
1897 | fbf796fd | Luiz Capitulino | # @password: the new password |
1898 | fbf796fd | Luiz Capitulino | #
|
1899 | fbf796fd | Luiz Capitulino | # @connected: #optional how to handle existing clients when changing the |
1900 | b80e560b | Laszlo Ersek | # password. If nothing is specified, defaults to `keep' |
1901 | fbf796fd | Luiz Capitulino | # `fail' to fail the command if clients are connected |
1902 | fbf796fd | Luiz Capitulino | # `disconnect' to disconnect existing clients |
1903 | fbf796fd | Luiz Capitulino | # `keep' to maintain existing clients |
1904 | fbf796fd | Luiz Capitulino | #
|
1905 | fbf796fd | Luiz Capitulino | # Returns: Nothing on success |
1906 | fbf796fd | Luiz Capitulino | # If Spice is not enabled, DeviceNotFound |
1907 | fbf796fd | Luiz Capitulino | #
|
1908 | fbf796fd | Luiz Capitulino | # Since: 0.14.0 |
1909 | fbf796fd | Luiz Capitulino | ## |
1910 | fbf796fd | Luiz Capitulino | { 'command': 'set_password', |
1911 | fbf796fd | Luiz Capitulino | 'data': {'protocol': 'str', 'password': 'str', '*connected': 'str'} } |
1912 | 9ad5372d | Luiz Capitulino | |
1913 | 9ad5372d | Luiz Capitulino | ## |
1914 | 9ad5372d | Luiz Capitulino | # @expire_password: |
1915 | 9ad5372d | Luiz Capitulino | #
|
1916 | 9ad5372d | Luiz Capitulino | # Expire the password of a remote display server. |
1917 | 9ad5372d | Luiz Capitulino | #
|
1918 | 9ad5372d | Luiz Capitulino | # @protocol: the name of the remote display protocol `vnc' or `spice' |
1919 | 9ad5372d | Luiz Capitulino | #
|
1920 | 9ad5372d | Luiz Capitulino | # @time: when to expire the password. |
1921 | 9ad5372d | Luiz Capitulino | # `now' to expire the password immediately |
1922 | 9ad5372d | Luiz Capitulino | # `never' to cancel password expiration |
1923 | 9ad5372d | Luiz Capitulino | # `+INT' where INT is the number of seconds from now (integer) |
1924 | 9ad5372d | Luiz Capitulino | # `INT' where INT is the absolute time in seconds |
1925 | 9ad5372d | Luiz Capitulino | #
|
1926 | 9ad5372d | Luiz Capitulino | # Returns: Nothing on success |
1927 | 9ad5372d | Luiz Capitulino | # If @protocol is `spice' and Spice is not active, DeviceNotFound |
1928 | 9ad5372d | Luiz Capitulino | #
|
1929 | 9ad5372d | Luiz Capitulino | # Since: 0.14.0 |
1930 | 9ad5372d | Luiz Capitulino | #
|
1931 | 9ad5372d | Luiz Capitulino | # Notes: Time is relative to the server and currently there is no way to |
1932 | 9ad5372d | Luiz Capitulino | # coordinate server time with client time. It is not recommended to |
1933 | 9ad5372d | Luiz Capitulino | # use the absolute time version of the @time parameter unless you're |
1934 | 9ad5372d | Luiz Capitulino | # sure you are on the same machine as the QEMU instance. |
1935 | 9ad5372d | Luiz Capitulino | ## |
1936 | 9ad5372d | Luiz Capitulino | { 'command': 'expire_password', 'data': {'protocol': 'str', 'time': 'str'} } |
1937 | c245b6a3 | Luiz Capitulino | |
1938 | c245b6a3 | Luiz Capitulino | ## |
1939 | c245b6a3 | Luiz Capitulino | # @eject: |
1940 | c245b6a3 | Luiz Capitulino | #
|
1941 | c245b6a3 | Luiz Capitulino | # Ejects a device from a removable drive. |
1942 | c245b6a3 | Luiz Capitulino | #
|
1943 | c245b6a3 | Luiz Capitulino | # @device: The name of the device |
1944 | c245b6a3 | Luiz Capitulino | #
|
1945 | c245b6a3 | Luiz Capitulino | # @force: @optional If true, eject regardless of whether the drive is locked. |
1946 | c245b6a3 | Luiz Capitulino | # If not specified, the default value is false. |
1947 | c245b6a3 | Luiz Capitulino | #
|
1948 | c245b6a3 | Luiz Capitulino | # Returns: Nothing on success |
1949 | c245b6a3 | Luiz Capitulino | # If @device is not a valid block device, DeviceNotFound |
1950 | c245b6a3 | Luiz Capitulino | #
|
1951 | c245b6a3 | Luiz Capitulino | # Notes: Ejecting a device will no media results in success |
1952 | c245b6a3 | Luiz Capitulino | #
|
1953 | c245b6a3 | Luiz Capitulino | # Since: 0.14.0 |
1954 | c245b6a3 | Luiz Capitulino | ## |
1955 | c245b6a3 | Luiz Capitulino | { 'command': 'eject', 'data': {'device': 'str', '*force': 'bool'} } |
1956 | 270b243f | Luiz Capitulino | |
1957 | 270b243f | Luiz Capitulino | ## |
1958 | 270b243f | Luiz Capitulino | # @change-vnc-password: |
1959 | 270b243f | Luiz Capitulino | #
|
1960 | 270b243f | Luiz Capitulino | # Change the VNC server password. |
1961 | 270b243f | Luiz Capitulino | #
|
1962 | 270b243f | Luiz Capitulino | # @target: the new password to use with VNC authentication |
1963 | 270b243f | Luiz Capitulino | #
|
1964 | 270b243f | Luiz Capitulino | # Since: 1.1 |
1965 | 270b243f | Luiz Capitulino | #
|
1966 | 270b243f | Luiz Capitulino | # Notes: An empty password in this command will set the password to the empty |
1967 | 270b243f | Luiz Capitulino | # string. Existing clients are unaffected by executing this command. |
1968 | 270b243f | Luiz Capitulino | ## |
1969 | 270b243f | Luiz Capitulino | { 'command': 'change-vnc-password', 'data': {'password': 'str'} } |
1970 | 333a96ec | Luiz Capitulino | |
1971 | 333a96ec | Luiz Capitulino | ## |
1972 | 333a96ec | Luiz Capitulino | # @change: |
1973 | 333a96ec | Luiz Capitulino | #
|
1974 | 333a96ec | Luiz Capitulino | # This command is multiple commands multiplexed together. |
1975 | 333a96ec | Luiz Capitulino | #
|
1976 | 333a96ec | Luiz Capitulino | # @device: This is normally the name of a block device but it may also be 'vnc'. |
1977 | 333a96ec | Luiz Capitulino | # when it's 'vnc', then sub command depends on @target |
1978 | 333a96ec | Luiz Capitulino | #
|
1979 | 333a96ec | Luiz Capitulino | # @target: If @device is a block device, then this is the new filename. |
1980 | 333a96ec | Luiz Capitulino | # If @device is 'vnc', then if the value 'password' selects the vnc |
1981 | 333a96ec | Luiz Capitulino | # change password command. Otherwise, this specifies a new server URI |
1982 | 333a96ec | Luiz Capitulino | # address to listen to for VNC connections. |
1983 | 333a96ec | Luiz Capitulino | #
|
1984 | 333a96ec | Luiz Capitulino | # @arg: If @device is a block device, then this is an optional format to open |
1985 | 333a96ec | Luiz Capitulino | # the device with. |
1986 | 333a96ec | Luiz Capitulino | # If @device is 'vnc' and @target is 'password', this is the new VNC |
1987 | 333a96ec | Luiz Capitulino | # password to set. If this argument is an empty string, then no future |
1988 | 333a96ec | Luiz Capitulino | # logins will be allowed. |
1989 | 333a96ec | Luiz Capitulino | #
|
1990 | 333a96ec | Luiz Capitulino | # Returns: Nothing on success. |
1991 | 333a96ec | Luiz Capitulino | # If @device is not a valid block device, DeviceNotFound |
1992 | 333a96ec | Luiz Capitulino | # If the new block device is encrypted, DeviceEncrypted. Note that |
1993 | 333a96ec | Luiz Capitulino | # if this error is returned, the device has been opened successfully |
1994 | 333a96ec | Luiz Capitulino | # and an additional call to @block_passwd is required to set the |
1995 | 333a96ec | Luiz Capitulino | # device's password. The behavior of reads and writes to the block |
1996 | 333a96ec | Luiz Capitulino | # device between when these calls are executed is undefined. |
1997 | 333a96ec | Luiz Capitulino | #
|
1998 | 333a96ec | Luiz Capitulino | # Notes: It is strongly recommended that this interface is not used especially |
1999 | 333a96ec | Luiz Capitulino | # for changing block devices. |
2000 | 333a96ec | Luiz Capitulino | #
|
2001 | 333a96ec | Luiz Capitulino | # Since: 0.14.0 |
2002 | 333a96ec | Luiz Capitulino | ## |
2003 | 333a96ec | Luiz Capitulino | { 'command': 'change', |
2004 | 333a96ec | Luiz Capitulino | 'data': {'device': 'str', 'target': 'str', '*arg': 'str'} } |
2005 | 80047da5 | Luiz Capitulino | |
2006 | 80047da5 | Luiz Capitulino | ## |
2007 | 80047da5 | Luiz Capitulino | # @block_set_io_throttle: |
2008 | 80047da5 | Luiz Capitulino | #
|
2009 | 80047da5 | Luiz Capitulino | # Change I/O throttle limits for a block drive. |
2010 | 80047da5 | Luiz Capitulino | #
|
2011 | 80047da5 | Luiz Capitulino | # @device: The name of the device |
2012 | 80047da5 | Luiz Capitulino | #
|
2013 | 80047da5 | Luiz Capitulino | # @bps: total throughput limit in bytes per second |
2014 | 80047da5 | Luiz Capitulino | #
|
2015 | 80047da5 | Luiz Capitulino | # @bps_rd: read throughput limit in bytes per second |
2016 | 80047da5 | Luiz Capitulino | #
|
2017 | 80047da5 | Luiz Capitulino | # @bps_wr: write throughput limit in bytes per second |
2018 | 80047da5 | Luiz Capitulino | #
|
2019 | 80047da5 | Luiz Capitulino | # @iops: total I/O operations per second |
2020 | 80047da5 | Luiz Capitulino | #
|
2021 | 80047da5 | Luiz Capitulino | # @ops_rd: read I/O operations per second |
2022 | 80047da5 | Luiz Capitulino | #
|
2023 | 80047da5 | Luiz Capitulino | # @iops_wr: write I/O operations per second |
2024 | 80047da5 | Luiz Capitulino | #
|
2025 | 80047da5 | Luiz Capitulino | # Returns: Nothing on success |
2026 | 80047da5 | Luiz Capitulino | # If @device is not a valid block device, DeviceNotFound |
2027 | 80047da5 | Luiz Capitulino | #
|
2028 | 80047da5 | Luiz Capitulino | # Since: 1.1 |
2029 | b80e560b | Laszlo Ersek | ## |
2030 | 80047da5 | Luiz Capitulino | { 'command': 'block_set_io_throttle', |
2031 | 80047da5 | Luiz Capitulino | 'data': { 'device': 'str', 'bps': 'int', 'bps_rd': 'int', 'bps_wr': 'int', |
2032 | 80047da5 | Luiz Capitulino | 'iops': 'int', 'iops_rd': 'int', 'iops_wr': 'int' } } |
2033 | 12bd451f | Stefan Hajnoczi | |
2034 | db58f9c0 | Stefan Hajnoczi | ## |
2035 | db58f9c0 | Stefan Hajnoczi | # @block-stream: |
2036 | 12bd451f | Stefan Hajnoczi | #
|
2037 | 12bd451f | Stefan Hajnoczi | # Copy data from a backing file into a block device. |
2038 | 12bd451f | Stefan Hajnoczi | #
|
2039 | 12bd451f | Stefan Hajnoczi | # The block streaming operation is performed in the background until the entire |
2040 | 12bd451f | Stefan Hajnoczi | # backing file has been copied. This command returns immediately once streaming |
2041 | 12bd451f | Stefan Hajnoczi | # has started. The status of ongoing block streaming operations can be checked |
2042 | 12bd451f | Stefan Hajnoczi | # with query-block-jobs. The operation can be stopped before it has completed |
2043 | db58f9c0 | Stefan Hajnoczi | # using the block-job-cancel command. |
2044 | 12bd451f | Stefan Hajnoczi | #
|
2045 | 12bd451f | Stefan Hajnoczi | # If a base file is specified then sectors are not copied from that base file and |
2046 | 12bd451f | Stefan Hajnoczi | # its backing chain. When streaming completes the image file will have the base |
2047 | 12bd451f | Stefan Hajnoczi | # file as its backing file. This can be used to stream a subset of the backing |
2048 | 12bd451f | Stefan Hajnoczi | # file chain instead of flattening the entire image. |
2049 | 12bd451f | Stefan Hajnoczi | #
|
2050 | 12bd451f | Stefan Hajnoczi | # On successful completion the image file is updated to drop the backing file |
2051 | 12bd451f | Stefan Hajnoczi | # and the BLOCK_JOB_COMPLETED event is emitted. |
2052 | 12bd451f | Stefan Hajnoczi | #
|
2053 | 12bd451f | Stefan Hajnoczi | # @device: the device name |
2054 | 12bd451f | Stefan Hajnoczi | #
|
2055 | 12bd451f | Stefan Hajnoczi | # @base: #optional the common backing file name |
2056 | 12bd451f | Stefan Hajnoczi | #
|
2057 | c83c66c3 | Stefan Hajnoczi | # @speed: #optional the maximum speed, in bytes per second |
2058 | c83c66c3 | Stefan Hajnoczi | #
|
2059 | 1d809098 | Paolo Bonzini | # @on-error: #optional the action to take on an error (default report). |
2060 | 1d809098 | Paolo Bonzini | # 'stop' and 'enospc' can only be used if the block device |
2061 | 1d809098 | Paolo Bonzini | # supports io-status (see BlockInfo). Since 1.3. |
2062 | 1d809098 | Paolo Bonzini | #
|
2063 | 12bd451f | Stefan Hajnoczi | # Returns: Nothing on success |
2064 | 12bd451f | Stefan Hajnoczi | # If @device does not exist, DeviceNotFound |
2065 | 12bd451f | Stefan Hajnoczi | #
|
2066 | 12bd451f | Stefan Hajnoczi | # Since: 1.1 |
2067 | 12bd451f | Stefan Hajnoczi | ## |
2068 | 1d809098 | Paolo Bonzini | { 'command': 'block-stream', |
2069 | 1d809098 | Paolo Bonzini | 'data': { 'device': 'str', '*base': 'str', '*speed': 'int', |
2070 | 1d809098 | Paolo Bonzini | '*on-error': 'BlockdevOnError' } } |
2071 | 2d47c6e9 | Stefan Hajnoczi | |
2072 | 2d47c6e9 | Stefan Hajnoczi | ## |
2073 | db58f9c0 | Stefan Hajnoczi | # @block-job-set-speed: |
2074 | 2d47c6e9 | Stefan Hajnoczi | #
|
2075 | 2d47c6e9 | Stefan Hajnoczi | # Set maximum speed for a background block operation. |
2076 | 2d47c6e9 | Stefan Hajnoczi | #
|
2077 | 2d47c6e9 | Stefan Hajnoczi | # This command can only be issued when there is an active block job. |
2078 | 2d47c6e9 | Stefan Hajnoczi | #
|
2079 | 2d47c6e9 | Stefan Hajnoczi | # Throttling can be disabled by setting the speed to 0. |
2080 | 2d47c6e9 | Stefan Hajnoczi | #
|
2081 | 2d47c6e9 | Stefan Hajnoczi | # @device: the device name |
2082 | 2d47c6e9 | Stefan Hajnoczi | #
|
2083 | c83c66c3 | Stefan Hajnoczi | # @speed: the maximum speed, in bytes per second, or 0 for unlimited. |
2084 | c83c66c3 | Stefan Hajnoczi | # Defaults to 0. |
2085 | 2d47c6e9 | Stefan Hajnoczi | #
|
2086 | 2d47c6e9 | Stefan Hajnoczi | # Returns: Nothing on success |
2087 | 05290d80 | Paolo Bonzini | # If no background operation is active on this device, DeviceNotActive |
2088 | 2d47c6e9 | Stefan Hajnoczi | #
|
2089 | 2d47c6e9 | Stefan Hajnoczi | # Since: 1.1 |
2090 | 2d47c6e9 | Stefan Hajnoczi | ## |
2091 | db58f9c0 | Stefan Hajnoczi | { 'command': 'block-job-set-speed', |
2092 | 882ec7ce | Stefan Hajnoczi | 'data': { 'device': 'str', 'speed': 'int' } } |
2093 | 370521a1 | Stefan Hajnoczi | |
2094 | 370521a1 | Stefan Hajnoczi | ## |
2095 | db58f9c0 | Stefan Hajnoczi | # @block-job-cancel: |
2096 | 370521a1 | Stefan Hajnoczi | #
|
2097 | 05290d80 | Paolo Bonzini | # Stop an active background block operation. |
2098 | 370521a1 | Stefan Hajnoczi | #
|
2099 | 05290d80 | Paolo Bonzini | # This command returns immediately after marking the active background block |
2100 | 370521a1 | Stefan Hajnoczi | # operation for cancellation. It is an error to call this command if no |
2101 | 370521a1 | Stefan Hajnoczi | # operation is in progress. |
2102 | 370521a1 | Stefan Hajnoczi | #
|
2103 | 370521a1 | Stefan Hajnoczi | # The operation will cancel as soon as possible and then emit the |
2104 | 370521a1 | Stefan Hajnoczi | # BLOCK_JOB_CANCELLED event. Before that happens the job is still visible when |
2105 | 370521a1 | Stefan Hajnoczi | # enumerated using query-block-jobs. |
2106 | 370521a1 | Stefan Hajnoczi | #
|
2107 | 05290d80 | Paolo Bonzini | # For streaming, the image file retains its backing file unless the streaming |
2108 | 05290d80 | Paolo Bonzini | # operation happens to complete just as it is being cancelled. A new streaming |
2109 | 05290d80 | Paolo Bonzini | # operation can be started at a later time to finish copying all data from the |
2110 | 05290d80 | Paolo Bonzini | # backing file. |
2111 | 370521a1 | Stefan Hajnoczi | #
|
2112 | 370521a1 | Stefan Hajnoczi | # @device: the device name |
2113 | 370521a1 | Stefan Hajnoczi | #
|
2114 | 6e37fb81 | Paolo Bonzini | # @force: #optional whether to allow cancellation of a paused job (default |
2115 | 6e37fb81 | Paolo Bonzini | # false). Since 1.3. |
2116 | 6e37fb81 | Paolo Bonzini | #
|
2117 | 370521a1 | Stefan Hajnoczi | # Returns: Nothing on success |
2118 | 05290d80 | Paolo Bonzini | # If no background operation is active on this device, DeviceNotActive |
2119 | 370521a1 | Stefan Hajnoczi | #
|
2120 | 370521a1 | Stefan Hajnoczi | # Since: 1.1 |
2121 | 370521a1 | Stefan Hajnoczi | ## |
2122 | 6e37fb81 | Paolo Bonzini | { 'command': 'block-job-cancel', 'data': { 'device': 'str', '*force': 'bool' } } |
2123 | 6e37fb81 | Paolo Bonzini | |
2124 | 6e37fb81 | Paolo Bonzini | ## |
2125 | 6e37fb81 | Paolo Bonzini | # @block-job-pause: |
2126 | 6e37fb81 | Paolo Bonzini | #
|
2127 | 6e37fb81 | Paolo Bonzini | # Pause an active background block operation. |
2128 | 6e37fb81 | Paolo Bonzini | #
|
2129 | 6e37fb81 | Paolo Bonzini | # This command returns immediately after marking the active background block |
2130 | 6e37fb81 | Paolo Bonzini | # operation for pausing. It is an error to call this command if no |
2131 | 6e37fb81 | Paolo Bonzini | # operation is in progress. Pausing an already paused job has no cumulative |
2132 | 6e37fb81 | Paolo Bonzini | # effect; a single block-job-resume command will resume the job. |
2133 | 6e37fb81 | Paolo Bonzini | #
|
2134 | 6e37fb81 | Paolo Bonzini | # The operation will pause as soon as possible. No event is emitted when |
2135 | 6e37fb81 | Paolo Bonzini | # the operation is actually paused. Cancelling a paused job automatically |
2136 | 6e37fb81 | Paolo Bonzini | # resumes it. |
2137 | 6e37fb81 | Paolo Bonzini | #
|
2138 | 6e37fb81 | Paolo Bonzini | # @device: the device name |
2139 | 6e37fb81 | Paolo Bonzini | #
|
2140 | 6e37fb81 | Paolo Bonzini | # Returns: Nothing on success |
2141 | 6e37fb81 | Paolo Bonzini | # If no background operation is active on this device, DeviceNotActive |
2142 | 6e37fb81 | Paolo Bonzini | #
|
2143 | 6e37fb81 | Paolo Bonzini | # Since: 1.3 |
2144 | 6e37fb81 | Paolo Bonzini | ## |
2145 | 6e37fb81 | Paolo Bonzini | { 'command': 'block-job-pause', 'data': { 'device': 'str' } } |
2146 | 6e37fb81 | Paolo Bonzini | |
2147 | 6e37fb81 | Paolo Bonzini | ## |
2148 | 6e37fb81 | Paolo Bonzini | # @block-job-resume: |
2149 | 6e37fb81 | Paolo Bonzini | #
|
2150 | 6e37fb81 | Paolo Bonzini | # Resume an active background block operation. |
2151 | 6e37fb81 | Paolo Bonzini | #
|
2152 | 6e37fb81 | Paolo Bonzini | # This command returns immediately after resuming a paused background block |
2153 | 6e37fb81 | Paolo Bonzini | # operation. It is an error to call this command if no operation is in |
2154 | 6e37fb81 | Paolo Bonzini | # progress. Resuming an already running job is not an error. |
2155 | 6e37fb81 | Paolo Bonzini | #
|
2156 | 32c81a4a | Paolo Bonzini | # This command also clears the error status of the job. |
2157 | 32c81a4a | Paolo Bonzini | #
|
2158 | 6e37fb81 | Paolo Bonzini | # @device: the device name |
2159 | 6e37fb81 | Paolo Bonzini | #
|
2160 | 6e37fb81 | Paolo Bonzini | # Returns: Nothing on success |
2161 | 6e37fb81 | Paolo Bonzini | # If no background operation is active on this device, DeviceNotActive |
2162 | 6e37fb81 | Paolo Bonzini | #
|
2163 | 6e37fb81 | Paolo Bonzini | # Since: 1.3 |
2164 | 6e37fb81 | Paolo Bonzini | ## |
2165 | 6e37fb81 | Paolo Bonzini | { 'command': 'block-job-resume', 'data': { 'device': 'str' } } |
2166 | 5eeee3fa | Anthony Liguori | |
2167 | 5eeee3fa | Anthony Liguori | ## |
2168 | aeae883b | Paolo Bonzini | # @block-job-complete: |
2169 | aeae883b | Paolo Bonzini | #
|
2170 | aeae883b | Paolo Bonzini | # Manually trigger completion of an active background block operation. This |
2171 | aeae883b | Paolo Bonzini | # is supported for drive mirroring, where it also switches the device to |
2172 | a66a2a36 | Paolo Bonzini | # write to the target path only. The ability to complete is signaled with |
2173 | a66a2a36 | Paolo Bonzini | # a BLOCK_JOB_READY event. |
2174 | aeae883b | Paolo Bonzini | #
|
2175 | aeae883b | Paolo Bonzini | # This command completes an active background block operation synchronously. |
2176 | aeae883b | Paolo Bonzini | # The ordering of this command's return with the BLOCK_JOB_COMPLETED event |
2177 | aeae883b | Paolo Bonzini | # is not defined. Note that if an I/O error occurs during the processing of |
2178 | aeae883b | Paolo Bonzini | # this command: 1) the command itself will fail; 2) the error will be processed |
2179 | aeae883b | Paolo Bonzini | # according to the rerror/werror arguments that were specified when starting |
2180 | aeae883b | Paolo Bonzini | # the operation. |
2181 | aeae883b | Paolo Bonzini | #
|
2182 | aeae883b | Paolo Bonzini | # A cancelled or paused job cannot be completed. |
2183 | aeae883b | Paolo Bonzini | #
|
2184 | aeae883b | Paolo Bonzini | # @device: the device name |
2185 | aeae883b | Paolo Bonzini | #
|
2186 | aeae883b | Paolo Bonzini | # Returns: Nothing on success |
2187 | aeae883b | Paolo Bonzini | # If no background operation is active on this device, DeviceNotActive |
2188 | aeae883b | Paolo Bonzini | #
|
2189 | aeae883b | Paolo Bonzini | # Since: 1.3 |
2190 | aeae883b | Paolo Bonzini | ## |
2191 | aeae883b | Paolo Bonzini | { 'command': 'block-job-complete', 'data': { 'device': 'str' } } |
2192 | aeae883b | Paolo Bonzini | |
2193 | aeae883b | Paolo Bonzini | ## |
2194 | 5eeee3fa | Anthony Liguori | # @ObjectTypeInfo: |
2195 | 5eeee3fa | Anthony Liguori | #
|
2196 | 5eeee3fa | Anthony Liguori | # This structure describes a search result from @qom-list-types |
2197 | 5eeee3fa | Anthony Liguori | #
|
2198 | 5eeee3fa | Anthony Liguori | # @name: the type name found in the search |
2199 | 5eeee3fa | Anthony Liguori | #
|
2200 | 5eeee3fa | Anthony Liguori | # Since: 1.1 |
2201 | 5eeee3fa | Anthony Liguori | #
|
2202 | 5eeee3fa | Anthony Liguori | # Notes: This command is experimental and may change syntax in future releases. |
2203 | 5eeee3fa | Anthony Liguori | ## |
2204 | 5eeee3fa | Anthony Liguori | { 'type': 'ObjectTypeInfo', |
2205 | 5eeee3fa | Anthony Liguori | 'data': { 'name': 'str' } } |
2206 | 5eeee3fa | Anthony Liguori | |
2207 | 5eeee3fa | Anthony Liguori | ## |
2208 | 5eeee3fa | Anthony Liguori | # @qom-list-types: |
2209 | 5eeee3fa | Anthony Liguori | #
|
2210 | 5eeee3fa | Anthony Liguori | # This command will return a list of types given search parameters |
2211 | 5eeee3fa | Anthony Liguori | #
|
2212 | 5eeee3fa | Anthony Liguori | # @implements: if specified, only return types that implement this type name |
2213 | 5eeee3fa | Anthony Liguori | #
|
2214 | 5eeee3fa | Anthony Liguori | # @abstract: if true, include abstract types in the results |
2215 | 5eeee3fa | Anthony Liguori | #
|
2216 | 5eeee3fa | Anthony Liguori | # Returns: a list of @ObjectTypeInfo or an empty list if no results are found |
2217 | 5eeee3fa | Anthony Liguori | #
|
2218 | 5eeee3fa | Anthony Liguori | # Since: 1.1 |
2219 | 5eeee3fa | Anthony Liguori | ## |
2220 | 5eeee3fa | Anthony Liguori | { 'command': 'qom-list-types', |
2221 | 5eeee3fa | Anthony Liguori | 'data': { '*implements': 'str', '*abstract': 'bool' }, |
2222 | 5eeee3fa | Anthony Liguori | 'returns': [ 'ObjectTypeInfo' ] } |
2223 | e1c37d0e | Luiz Capitulino | |
2224 | e1c37d0e | Luiz Capitulino | ## |
2225 | 1daa31b9 | Anthony Liguori | # @DevicePropertyInfo: |
2226 | 1daa31b9 | Anthony Liguori | #
|
2227 | 1daa31b9 | Anthony Liguori | # Information about device properties. |
2228 | 1daa31b9 | Anthony Liguori | #
|
2229 | 1daa31b9 | Anthony Liguori | # @name: the name of the property |
2230 | 1daa31b9 | Anthony Liguori | # @type: the typename of the property |
2231 | 1daa31b9 | Anthony Liguori | #
|
2232 | 1daa31b9 | Anthony Liguori | # Since: 1.2 |
2233 | 1daa31b9 | Anthony Liguori | ## |
2234 | 1daa31b9 | Anthony Liguori | { 'type': 'DevicePropertyInfo', |
2235 | 1daa31b9 | Anthony Liguori | 'data': { 'name': 'str', 'type': 'str' } } |
2236 | 1daa31b9 | Anthony Liguori | |
2237 | 1daa31b9 | Anthony Liguori | ## |
2238 | 1daa31b9 | Anthony Liguori | # @device-list-properties: |
2239 | 1daa31b9 | Anthony Liguori | #
|
2240 | 1daa31b9 | Anthony Liguori | # List properties associated with a device. |
2241 | 1daa31b9 | Anthony Liguori | #
|
2242 | 1daa31b9 | Anthony Liguori | # @typename: the type name of a device |
2243 | 1daa31b9 | Anthony Liguori | #
|
2244 | 1daa31b9 | Anthony Liguori | # Returns: a list of DevicePropertyInfo describing a devices properties |
2245 | 1daa31b9 | Anthony Liguori | #
|
2246 | 1daa31b9 | Anthony Liguori | # Since: 1.2 |
2247 | 1daa31b9 | Anthony Liguori | ## |
2248 | 1daa31b9 | Anthony Liguori | { 'command': 'device-list-properties', |
2249 | 1daa31b9 | Anthony Liguori | 'data': { 'typename': 'str'}, |
2250 | 1daa31b9 | Anthony Liguori | 'returns': [ 'DevicePropertyInfo' ] } |
2251 | 1daa31b9 | Anthony Liguori | |
2252 | 1daa31b9 | Anthony Liguori | ## |
2253 | e1c37d0e | Luiz Capitulino | # @migrate |
2254 | e1c37d0e | Luiz Capitulino | #
|
2255 | e1c37d0e | Luiz Capitulino | # Migrates the current running guest to another Virtual Machine. |
2256 | e1c37d0e | Luiz Capitulino | #
|
2257 | e1c37d0e | Luiz Capitulino | # @uri: the Uniform Resource Identifier of the destination VM |
2258 | e1c37d0e | Luiz Capitulino | #
|
2259 | e1c37d0e | Luiz Capitulino | # @blk: #optional do block migration (full disk copy) |
2260 | e1c37d0e | Luiz Capitulino | #
|
2261 | e1c37d0e | Luiz Capitulino | # @inc: #optional incremental disk copy migration |
2262 | e1c37d0e | Luiz Capitulino | #
|
2263 | e1c37d0e | Luiz Capitulino | # @detach: this argument exists only for compatibility reasons and |
2264 | e1c37d0e | Luiz Capitulino | # is ignored by QEMU |
2265 | e1c37d0e | Luiz Capitulino | #
|
2266 | e1c37d0e | Luiz Capitulino | # Returns: nothing on success |
2267 | e1c37d0e | Luiz Capitulino | #
|
2268 | e1c37d0e | Luiz Capitulino | # Since: 0.14.0 |
2269 | e1c37d0e | Luiz Capitulino | ## |
2270 | e1c37d0e | Luiz Capitulino | { 'command': 'migrate', |
2271 | e1c37d0e | Luiz Capitulino | 'data': {'uri': 'str', '*blk': 'bool', '*inc': 'bool', '*detach': 'bool' } } |
2272 | 33cf629a | Anthony Liguori | |
2273 | a7ae8355 | Stefano Stabellini | # @xen-save-devices-state: |
2274 | a7ae8355 | Stefano Stabellini | #
|
2275 | a7ae8355 | Stefano Stabellini | # Save the state of all devices to file. The RAM and the block devices |
2276 | a7ae8355 | Stefano Stabellini | # of the VM are not saved by this command. |
2277 | a7ae8355 | Stefano Stabellini | #
|
2278 | a7ae8355 | Stefano Stabellini | # @filename: the file to save the state of the devices to as binary |
2279 | a7ae8355 | Stefano Stabellini | # data. See xen-save-devices-state.txt for a description of the binary |
2280 | a7ae8355 | Stefano Stabellini | # format. |
2281 | a7ae8355 | Stefano Stabellini | #
|
2282 | a7ae8355 | Stefano Stabellini | # Returns: Nothing on success |
2283 | a7ae8355 | Stefano Stabellini | #
|
2284 | a7ae8355 | Stefano Stabellini | # Since: 1.1 |
2285 | a7ae8355 | Stefano Stabellini | ## |
2286 | a7ae8355 | Stefano Stabellini | { 'command': 'xen-save-devices-state', 'data': {'filename': 'str'} } |
2287 | a15fef21 | Luiz Capitulino | |
2288 | a15fef21 | Luiz Capitulino | ## |
2289 | 39f42439 | Anthony PERARD | # @xen-set-global-dirty-log |
2290 | 39f42439 | Anthony PERARD | #
|
2291 | 39f42439 | Anthony PERARD | # Enable or disable the global dirty log mode. |
2292 | 39f42439 | Anthony PERARD | #
|
2293 | 39f42439 | Anthony PERARD | # @enable: true to enable, false to disable. |
2294 | 39f42439 | Anthony PERARD | #
|
2295 | 39f42439 | Anthony PERARD | # Returns: nothing |
2296 | 39f42439 | Anthony PERARD | #
|
2297 | 39f42439 | Anthony PERARD | # Since: 1.3 |
2298 | 39f42439 | Anthony PERARD | ## |
2299 | 39f42439 | Anthony PERARD | { 'command': 'xen-set-global-dirty-log', 'data': { 'enable': 'bool' } } |
2300 | 39f42439 | Anthony PERARD | |
2301 | 39f42439 | Anthony PERARD | ## |
2302 | a15fef21 | Luiz Capitulino | # @device_del: |
2303 | a15fef21 | Luiz Capitulino | #
|
2304 | a15fef21 | Luiz Capitulino | # Remove a device from a guest |
2305 | a15fef21 | Luiz Capitulino | #
|
2306 | a15fef21 | Luiz Capitulino | # @id: the name of the device |
2307 | a15fef21 | Luiz Capitulino | #
|
2308 | a15fef21 | Luiz Capitulino | # Returns: Nothing on success |
2309 | a15fef21 | Luiz Capitulino | # If @id is not a valid device, DeviceNotFound |
2310 | a15fef21 | Luiz Capitulino | #
|
2311 | a15fef21 | Luiz Capitulino | # Notes: When this command completes, the device may not be removed from the |
2312 | a15fef21 | Luiz Capitulino | # guest. Hot removal is an operation that requires guest cooperation. |
2313 | a15fef21 | Luiz Capitulino | # This command merely requests that the guest begin the hot removal |
2314 | a15fef21 | Luiz Capitulino | # process. |
2315 | a15fef21 | Luiz Capitulino | #
|
2316 | a15fef21 | Luiz Capitulino | # Since: 0.14.0 |
2317 | a15fef21 | Luiz Capitulino | ## |
2318 | a15fef21 | Luiz Capitulino | { 'command': 'device_del', 'data': {'id': 'str'} } |
2319 | 783e9b48 | Wen Congyang | |
2320 | 783e9b48 | Wen Congyang | ## |
2321 | 783e9b48 | Wen Congyang | # @dump-guest-memory |
2322 | 783e9b48 | Wen Congyang | #
|
2323 | 783e9b48 | Wen Congyang | # Dump guest's memory to vmcore. It is a synchronous operation that can take |
2324 | 783e9b48 | Wen Congyang | # very long depending on the amount of guest memory. This command is only |
2325 | f5b0d93b | Luiz Capitulino | # supported on i386 and x86_64. |
2326 | f5b0d93b | Luiz Capitulino | #
|
2327 | f5b0d93b | Luiz Capitulino | # @paging: if true, do paging to get guest's memory mapping. This allows |
2328 | d691180e | Luiz Capitulino | # using gdb to process the core file. |
2329 | f5b0d93b | Luiz Capitulino | #
|
2330 | d691180e | Luiz Capitulino | # IMPORTANT: this option can make QEMU allocate several gigabytes |
2331 | d691180e | Luiz Capitulino | # of RAM. This can happen for a large guest, or a |
2332 | d691180e | Luiz Capitulino | # malicious guest pretending to be large. |
2333 | d691180e | Luiz Capitulino | #
|
2334 | d691180e | Luiz Capitulino | # Also, paging=true has the following limitations: |
2335 | d691180e | Luiz Capitulino | #
|
2336 | d691180e | Luiz Capitulino | # 1. The guest may be in a catastrophic state or can have corrupted |
2337 | d691180e | Luiz Capitulino | # memory, which cannot be trusted |
2338 | d691180e | Luiz Capitulino | # 2. The guest can be in real-mode even if paging is enabled. For |
2339 | d691180e | Luiz Capitulino | # example, the guest uses ACPI to sleep, and ACPI sleep state |
2340 | d691180e | Luiz Capitulino | # goes in real-mode |
2341 | f5b0d93b | Luiz Capitulino | #
|
2342 | 783e9b48 | Wen Congyang | # @protocol: the filename or file descriptor of the vmcore. The supported |
2343 | d691180e | Luiz Capitulino | # protocols are: |
2344 | f5b0d93b | Luiz Capitulino | #
|
2345 | d691180e | Luiz Capitulino | # 1. file: the protocol starts with "file:", and the following |
2346 | d691180e | Luiz Capitulino | # string is the file's path. |
2347 | d691180e | Luiz Capitulino | # 2. fd: the protocol starts with "fd:", and the following string |
2348 | d691180e | Luiz Capitulino | # is the fd's name. |
2349 | f5b0d93b | Luiz Capitulino | #
|
2350 | 783e9b48 | Wen Congyang | # @begin: #optional if specified, the starting physical address. |
2351 | f5b0d93b | Luiz Capitulino | #
|
2352 | 783e9b48 | Wen Congyang | # @length: #optional if specified, the memory size, in bytes. If you don't |
2353 | d691180e | Luiz Capitulino | # want to dump all guest's memory, please specify the start @begin |
2354 | d691180e | Luiz Capitulino | # and @length |
2355 | 783e9b48 | Wen Congyang | #
|
2356 | 783e9b48 | Wen Congyang | # Returns: nothing on success |
2357 | 783e9b48 | Wen Congyang | #
|
2358 | 783e9b48 | Wen Congyang | # Since: 1.2 |
2359 | 783e9b48 | Wen Congyang | ## |
2360 | 783e9b48 | Wen Congyang | { 'command': 'dump-guest-memory', |
2361 | 783e9b48 | Wen Congyang | 'data': { 'paging': 'bool', 'protocol': 'str', '*begin': 'int', |
2362 | 783e9b48 | Wen Congyang | '*length': 'int' } } |
2363 | d691180e | Luiz Capitulino | |
2364 | 928059a3 | Luiz Capitulino | ## |
2365 | 928059a3 | Luiz Capitulino | # @netdev_add: |
2366 | 928059a3 | Luiz Capitulino | #
|
2367 | 928059a3 | Luiz Capitulino | # Add a network backend. |
2368 | 928059a3 | Luiz Capitulino | #
|
2369 | 928059a3 | Luiz Capitulino | # @type: the type of network backend. Current valid values are 'user', 'tap', |
2370 | 928059a3 | Luiz Capitulino | # 'vde', 'socket', 'dump' and 'bridge' |
2371 | 928059a3 | Luiz Capitulino | #
|
2372 | 928059a3 | Luiz Capitulino | # @id: the name of the new network backend |
2373 | 928059a3 | Luiz Capitulino | #
|
2374 | 928059a3 | Luiz Capitulino | # @props: #optional a list of properties to be passed to the backend in |
2375 | 928059a3 | Luiz Capitulino | # the format 'name=value', like 'ifname=tap0,script=no' |
2376 | 928059a3 | Luiz Capitulino | #
|
2377 | 928059a3 | Luiz Capitulino | # Notes: The semantics of @props is not well defined. Future commands will be |
2378 | 928059a3 | Luiz Capitulino | # introduced that provide stronger typing for backend creation. |
2379 | 928059a3 | Luiz Capitulino | #
|
2380 | 928059a3 | Luiz Capitulino | # Since: 0.14.0 |
2381 | 928059a3 | Luiz Capitulino | #
|
2382 | 928059a3 | Luiz Capitulino | # Returns: Nothing on success |
2383 | 928059a3 | Luiz Capitulino | # If @type is not a valid network backend, DeviceNotFound |
2384 | 928059a3 | Luiz Capitulino | ## |
2385 | 928059a3 | Luiz Capitulino | { 'command': 'netdev_add', |
2386 | 928059a3 | Luiz Capitulino | 'data': {'type': 'str', 'id': 'str', '*props': '**'}, |
2387 | 928059a3 | Luiz Capitulino | 'gen': 'no' } |
2388 | 5f964155 | Luiz Capitulino | |
2389 | 5f964155 | Luiz Capitulino | ## |
2390 | 5f964155 | Luiz Capitulino | # @netdev_del: |
2391 | 5f964155 | Luiz Capitulino | #
|
2392 | 5f964155 | Luiz Capitulino | # Remove a network backend. |
2393 | 5f964155 | Luiz Capitulino | #
|
2394 | 5f964155 | Luiz Capitulino | # @id: the name of the network backend to remove |
2395 | 5f964155 | Luiz Capitulino | #
|
2396 | 5f964155 | Luiz Capitulino | # Returns: Nothing on success |
2397 | 5f964155 | Luiz Capitulino | # If @id is not a valid network backend, DeviceNotFound |
2398 | 5f964155 | Luiz Capitulino | #
|
2399 | 5f964155 | Luiz Capitulino | # Since: 0.14.0 |
2400 | 5f964155 | Luiz Capitulino | ## |
2401 | 5f964155 | Luiz Capitulino | { 'command': 'netdev_del', 'data': {'id': 'str'} } |
2402 | 208c9d1b | Corey Bryant | |
2403 | 208c9d1b | Corey Bryant | ## |
2404 | 14aa0c2d | Laszlo Ersek | # @NetdevNoneOptions |
2405 | 14aa0c2d | Laszlo Ersek | #
|
2406 | 14aa0c2d | Laszlo Ersek | # Use it alone to have zero network devices. |
2407 | 14aa0c2d | Laszlo Ersek | #
|
2408 | 14aa0c2d | Laszlo Ersek | # Since 1.2 |
2409 | 14aa0c2d | Laszlo Ersek | ## |
2410 | 14aa0c2d | Laszlo Ersek | { 'type': 'NetdevNoneOptions', |
2411 | 14aa0c2d | Laszlo Ersek | 'data': { } } |
2412 | 14aa0c2d | Laszlo Ersek | |
2413 | 14aa0c2d | Laszlo Ersek | ## |
2414 | 14aa0c2d | Laszlo Ersek | # @NetLegacyNicOptions |
2415 | 14aa0c2d | Laszlo Ersek | #
|
2416 | 14aa0c2d | Laszlo Ersek | # Create a new Network Interface Card. |
2417 | 14aa0c2d | Laszlo Ersek | #
|
2418 | 14aa0c2d | Laszlo Ersek | # @netdev: #optional id of -netdev to connect to |
2419 | 14aa0c2d | Laszlo Ersek | #
|
2420 | 14aa0c2d | Laszlo Ersek | # @macaddr: #optional MAC address |
2421 | 14aa0c2d | Laszlo Ersek | #
|
2422 | 14aa0c2d | Laszlo Ersek | # @model: #optional device model (e1000, rtl8139, virtio etc.) |
2423 | 14aa0c2d | Laszlo Ersek | #
|
2424 | 14aa0c2d | Laszlo Ersek | # @addr: #optional PCI device address |
2425 | 14aa0c2d | Laszlo Ersek | #
|
2426 | 14aa0c2d | Laszlo Ersek | # @vectors: #optional number of MSI-x vectors, 0 to disable MSI-X |
2427 | 14aa0c2d | Laszlo Ersek | #
|
2428 | 14aa0c2d | Laszlo Ersek | # Since 1.2 |
2429 | 14aa0c2d | Laszlo Ersek | ## |
2430 | 14aa0c2d | Laszlo Ersek | { 'type': 'NetLegacyNicOptions', |
2431 | 14aa0c2d | Laszlo Ersek | 'data': { |
2432 | 14aa0c2d | Laszlo Ersek | '*netdev': 'str', |
2433 | 14aa0c2d | Laszlo Ersek | '*macaddr': 'str', |
2434 | 14aa0c2d | Laszlo Ersek | '*model': 'str', |
2435 | 14aa0c2d | Laszlo Ersek | '*addr': 'str', |
2436 | 14aa0c2d | Laszlo Ersek | '*vectors': 'uint32' } } |
2437 | 14aa0c2d | Laszlo Ersek | |
2438 | 14aa0c2d | Laszlo Ersek | ## |
2439 | 14aa0c2d | Laszlo Ersek | # @String |
2440 | 14aa0c2d | Laszlo Ersek | #
|
2441 | 14aa0c2d | Laszlo Ersek | # A fat type wrapping 'str', to be embedded in lists. |
2442 | 14aa0c2d | Laszlo Ersek | #
|
2443 | 14aa0c2d | Laszlo Ersek | # Since 1.2 |
2444 | 14aa0c2d | Laszlo Ersek | ## |
2445 | 14aa0c2d | Laszlo Ersek | { 'type': 'String', |
2446 | 14aa0c2d | Laszlo Ersek | 'data': { |
2447 | 14aa0c2d | Laszlo Ersek | 'str': 'str' } } |
2448 | 14aa0c2d | Laszlo Ersek | |
2449 | 14aa0c2d | Laszlo Ersek | ## |
2450 | 14aa0c2d | Laszlo Ersek | # @NetdevUserOptions |
2451 | 14aa0c2d | Laszlo Ersek | #
|
2452 | 14aa0c2d | Laszlo Ersek | # Use the user mode network stack which requires no administrator privilege to |
2453 | 14aa0c2d | Laszlo Ersek | # run. |
2454 | 14aa0c2d | Laszlo Ersek | #
|
2455 | 14aa0c2d | Laszlo Ersek | # @hostname: #optional client hostname reported by the builtin DHCP server |
2456 | 14aa0c2d | Laszlo Ersek | #
|
2457 | 14aa0c2d | Laszlo Ersek | # @restrict: #optional isolate the guest from the host |
2458 | 14aa0c2d | Laszlo Ersek | #
|
2459 | 14aa0c2d | Laszlo Ersek | # @ip: #optional legacy parameter, use net= instead |
2460 | 14aa0c2d | Laszlo Ersek | #
|
2461 | 14aa0c2d | Laszlo Ersek | # @net: #optional IP address and optional netmask |
2462 | 14aa0c2d | Laszlo Ersek | #
|
2463 | 14aa0c2d | Laszlo Ersek | # @host: #optional guest-visible address of the host |
2464 | 14aa0c2d | Laszlo Ersek | #
|
2465 | 14aa0c2d | Laszlo Ersek | # @tftp: #optional root directory of the built-in TFTP server |
2466 | 14aa0c2d | Laszlo Ersek | #
|
2467 | 14aa0c2d | Laszlo Ersek | # @bootfile: #optional BOOTP filename, for use with tftp= |
2468 | 14aa0c2d | Laszlo Ersek | #
|
2469 | 14aa0c2d | Laszlo Ersek | # @dhcpstart: #optional the first of the 16 IPs the built-in DHCP server can |
2470 | 14aa0c2d | Laszlo Ersek | # assign |
2471 | 14aa0c2d | Laszlo Ersek | #
|
2472 | 14aa0c2d | Laszlo Ersek | # @dns: #optional guest-visible address of the virtual nameserver |
2473 | 14aa0c2d | Laszlo Ersek | #
|
2474 | 63d2960b | Klaus Stengel | # @dnssearch: #optional list of DNS suffixes to search, passed as DHCP option |
2475 | 63d2960b | Klaus Stengel | # to the guest |
2476 | 63d2960b | Klaus Stengel | #
|
2477 | 14aa0c2d | Laszlo Ersek | # @smb: #optional root directory of the built-in SMB server |
2478 | 14aa0c2d | Laszlo Ersek | #
|
2479 | 14aa0c2d | Laszlo Ersek | # @smbserver: #optional IP address of the built-in SMB server |
2480 | 14aa0c2d | Laszlo Ersek | #
|
2481 | 14aa0c2d | Laszlo Ersek | # @hostfwd: #optional redirect incoming TCP or UDP host connections to guest |
2482 | 14aa0c2d | Laszlo Ersek | # endpoints |
2483 | 14aa0c2d | Laszlo Ersek | #
|
2484 | 14aa0c2d | Laszlo Ersek | # @guestfwd: #optional forward guest TCP connections |
2485 | 14aa0c2d | Laszlo Ersek | #
|
2486 | 14aa0c2d | Laszlo Ersek | # Since 1.2 |
2487 | 14aa0c2d | Laszlo Ersek | ## |
2488 | 14aa0c2d | Laszlo Ersek | { 'type': 'NetdevUserOptions', |
2489 | 14aa0c2d | Laszlo Ersek | 'data': { |
2490 | 14aa0c2d | Laszlo Ersek | '*hostname': 'str', |
2491 | 14aa0c2d | Laszlo Ersek | '*restrict': 'bool', |
2492 | 14aa0c2d | Laszlo Ersek | '*ip': 'str', |
2493 | 14aa0c2d | Laszlo Ersek | '*net': 'str', |
2494 | 14aa0c2d | Laszlo Ersek | '*host': 'str', |
2495 | 14aa0c2d | Laszlo Ersek | '*tftp': 'str', |
2496 | 14aa0c2d | Laszlo Ersek | '*bootfile': 'str', |
2497 | 14aa0c2d | Laszlo Ersek | '*dhcpstart': 'str', |
2498 | 14aa0c2d | Laszlo Ersek | '*dns': 'str', |
2499 | 63d2960b | Klaus Stengel | '*dnssearch': ['String'], |
2500 | 14aa0c2d | Laszlo Ersek | '*smb': 'str', |
2501 | 14aa0c2d | Laszlo Ersek | '*smbserver': 'str', |
2502 | 14aa0c2d | Laszlo Ersek | '*hostfwd': ['String'], |
2503 | 14aa0c2d | Laszlo Ersek | '*guestfwd': ['String'] } } |
2504 | 14aa0c2d | Laszlo Ersek | |
2505 | 14aa0c2d | Laszlo Ersek | ## |
2506 | 14aa0c2d | Laszlo Ersek | # @NetdevTapOptions |
2507 | 14aa0c2d | Laszlo Ersek | #
|
2508 | 14aa0c2d | Laszlo Ersek | # Connect the host TAP network interface name to the VLAN. |
2509 | 14aa0c2d | Laszlo Ersek | #
|
2510 | 14aa0c2d | Laszlo Ersek | # @ifname: #optional interface name |
2511 | 14aa0c2d | Laszlo Ersek | #
|
2512 | 14aa0c2d | Laszlo Ersek | # @fd: #optional file descriptor of an already opened tap |
2513 | 14aa0c2d | Laszlo Ersek | #
|
2514 | 14aa0c2d | Laszlo Ersek | # @script: #optional script to initialize the interface |
2515 | 14aa0c2d | Laszlo Ersek | #
|
2516 | 14aa0c2d | Laszlo Ersek | # @downscript: #optional script to shut down the interface |
2517 | 14aa0c2d | Laszlo Ersek | #
|
2518 | 14aa0c2d | Laszlo Ersek | # @helper: #optional command to execute to configure bridge |
2519 | 14aa0c2d | Laszlo Ersek | #
|
2520 | 14aa0c2d | Laszlo Ersek | # @sndbuf: #optional send buffer limit. Understands [TGMKkb] suffixes. |
2521 | 14aa0c2d | Laszlo Ersek | #
|
2522 | 14aa0c2d | Laszlo Ersek | # @vnet_hdr: #optional enable the IFF_VNET_HDR flag on the tap interface |
2523 | 14aa0c2d | Laszlo Ersek | #
|
2524 | 14aa0c2d | Laszlo Ersek | # @vhost: #optional enable vhost-net network accelerator |
2525 | 14aa0c2d | Laszlo Ersek | #
|
2526 | 14aa0c2d | Laszlo Ersek | # @vhostfd: #optional file descriptor of an already opened vhost net device |
2527 | 14aa0c2d | Laszlo Ersek | #
|
2528 | 14aa0c2d | Laszlo Ersek | # @vhostforce: #optional vhost on for non-MSIX virtio guests |
2529 | 14aa0c2d | Laszlo Ersek | #
|
2530 | 14aa0c2d | Laszlo Ersek | # Since 1.2 |
2531 | 14aa0c2d | Laszlo Ersek | ## |
2532 | 14aa0c2d | Laszlo Ersek | { 'type': 'NetdevTapOptions', |
2533 | 14aa0c2d | Laszlo Ersek | 'data': { |
2534 | 14aa0c2d | Laszlo Ersek | '*ifname': 'str', |
2535 | 14aa0c2d | Laszlo Ersek | '*fd': 'str', |
2536 | 264986e2 | Jason Wang | '*fds': 'str', |
2537 | 14aa0c2d | Laszlo Ersek | '*script': 'str', |
2538 | 14aa0c2d | Laszlo Ersek | '*downscript': 'str', |
2539 | 14aa0c2d | Laszlo Ersek | '*helper': 'str', |
2540 | 14aa0c2d | Laszlo Ersek | '*sndbuf': 'size', |
2541 | 14aa0c2d | Laszlo Ersek | '*vnet_hdr': 'bool', |
2542 | 14aa0c2d | Laszlo Ersek | '*vhost': 'bool', |
2543 | 14aa0c2d | Laszlo Ersek | '*vhostfd': 'str', |
2544 | 264986e2 | Jason Wang | '*vhostfds': 'str', |
2545 | 264986e2 | Jason Wang | '*vhostforce': 'bool', |
2546 | 264986e2 | Jason Wang | '*queues': 'uint32'} } |
2547 | 14aa0c2d | Laszlo Ersek | |
2548 | 14aa0c2d | Laszlo Ersek | ## |
2549 | 14aa0c2d | Laszlo Ersek | # @NetdevSocketOptions |
2550 | 14aa0c2d | Laszlo Ersek | #
|
2551 | 14aa0c2d | Laszlo Ersek | # Connect the VLAN to a remote VLAN in another QEMU virtual machine using a TCP |
2552 | 14aa0c2d | Laszlo Ersek | # socket connection. |
2553 | 14aa0c2d | Laszlo Ersek | #
|
2554 | 14aa0c2d | Laszlo Ersek | # @fd: #optional file descriptor of an already opened socket |
2555 | 14aa0c2d | Laszlo Ersek | #
|
2556 | 14aa0c2d | Laszlo Ersek | # @listen: #optional port number, and optional hostname, to listen on |
2557 | 14aa0c2d | Laszlo Ersek | #
|
2558 | 14aa0c2d | Laszlo Ersek | # @connect: #optional port number, and optional hostname, to connect to |
2559 | 14aa0c2d | Laszlo Ersek | #
|
2560 | 14aa0c2d | Laszlo Ersek | # @mcast: #optional UDP multicast address and port number |
2561 | 14aa0c2d | Laszlo Ersek | #
|
2562 | 14aa0c2d | Laszlo Ersek | # @localaddr: #optional source address and port for multicast and udp packets |
2563 | 14aa0c2d | Laszlo Ersek | #
|
2564 | 14aa0c2d | Laszlo Ersek | # @udp: #optional UDP unicast address and port number |
2565 | 14aa0c2d | Laszlo Ersek | #
|
2566 | 14aa0c2d | Laszlo Ersek | # Since 1.2 |
2567 | 14aa0c2d | Laszlo Ersek | ## |
2568 | 14aa0c2d | Laszlo Ersek | { 'type': 'NetdevSocketOptions', |
2569 | 14aa0c2d | Laszlo Ersek | 'data': { |
2570 | 14aa0c2d | Laszlo Ersek | '*fd': 'str', |
2571 | 14aa0c2d | Laszlo Ersek | '*listen': 'str', |
2572 | 14aa0c2d | Laszlo Ersek | '*connect': 'str', |
2573 | 14aa0c2d | Laszlo Ersek | '*mcast': 'str', |
2574 | 14aa0c2d | Laszlo Ersek | '*localaddr': 'str', |
2575 | 14aa0c2d | Laszlo Ersek | '*udp': 'str' } } |
2576 | 14aa0c2d | Laszlo Ersek | |
2577 | 14aa0c2d | Laszlo Ersek | ## |
2578 | 14aa0c2d | Laszlo Ersek | # @NetdevVdeOptions |
2579 | 14aa0c2d | Laszlo Ersek | #
|
2580 | 14aa0c2d | Laszlo Ersek | # Connect the VLAN to a vde switch running on the host. |
2581 | 14aa0c2d | Laszlo Ersek | #
|
2582 | 14aa0c2d | Laszlo Ersek | # @sock: #optional socket path |
2583 | 14aa0c2d | Laszlo Ersek | #
|
2584 | 14aa0c2d | Laszlo Ersek | # @port: #optional port number |
2585 | 14aa0c2d | Laszlo Ersek | #
|
2586 | 14aa0c2d | Laszlo Ersek | # @group: #optional group owner of socket |
2587 | 14aa0c2d | Laszlo Ersek | #
|
2588 | 14aa0c2d | Laszlo Ersek | # @mode: #optional permissions for socket |
2589 | 14aa0c2d | Laszlo Ersek | #
|
2590 | 14aa0c2d | Laszlo Ersek | # Since 1.2 |
2591 | 14aa0c2d | Laszlo Ersek | ## |
2592 | 14aa0c2d | Laszlo Ersek | { 'type': 'NetdevVdeOptions', |
2593 | 14aa0c2d | Laszlo Ersek | 'data': { |
2594 | 14aa0c2d | Laszlo Ersek | '*sock': 'str', |
2595 | 14aa0c2d | Laszlo Ersek | '*port': 'uint16', |
2596 | 14aa0c2d | Laszlo Ersek | '*group': 'str', |
2597 | 14aa0c2d | Laszlo Ersek | '*mode': 'uint16' } } |
2598 | 14aa0c2d | Laszlo Ersek | |
2599 | 14aa0c2d | Laszlo Ersek | ## |
2600 | 14aa0c2d | Laszlo Ersek | # @NetdevDumpOptions |
2601 | 14aa0c2d | Laszlo Ersek | #
|
2602 | 14aa0c2d | Laszlo Ersek | # Dump VLAN network traffic to a file. |
2603 | 14aa0c2d | Laszlo Ersek | #
|
2604 | 14aa0c2d | Laszlo Ersek | # @len: #optional per-packet size limit (64k default). Understands [TGMKkb] |
2605 | 14aa0c2d | Laszlo Ersek | # suffixes. |
2606 | 14aa0c2d | Laszlo Ersek | #
|
2607 | 14aa0c2d | Laszlo Ersek | # @file: #optional dump file path (default is qemu-vlan0.pcap) |
2608 | 14aa0c2d | Laszlo Ersek | #
|
2609 | 14aa0c2d | Laszlo Ersek | # Since 1.2 |
2610 | 14aa0c2d | Laszlo Ersek | ## |
2611 | 14aa0c2d | Laszlo Ersek | { 'type': 'NetdevDumpOptions', |
2612 | 14aa0c2d | Laszlo Ersek | 'data': { |
2613 | 14aa0c2d | Laszlo Ersek | '*len': 'size', |
2614 | 14aa0c2d | Laszlo Ersek | '*file': 'str' } } |
2615 | 14aa0c2d | Laszlo Ersek | |
2616 | 14aa0c2d | Laszlo Ersek | ## |
2617 | 14aa0c2d | Laszlo Ersek | # @NetdevBridgeOptions |
2618 | 14aa0c2d | Laszlo Ersek | #
|
2619 | 14aa0c2d | Laszlo Ersek | # Connect a host TAP network interface to a host bridge device. |
2620 | 14aa0c2d | Laszlo Ersek | #
|
2621 | 14aa0c2d | Laszlo Ersek | # @br: #optional bridge name |
2622 | 14aa0c2d | Laszlo Ersek | #
|
2623 | 14aa0c2d | Laszlo Ersek | # @helper: #optional command to execute to configure bridge |
2624 | 14aa0c2d | Laszlo Ersek | #
|
2625 | 14aa0c2d | Laszlo Ersek | # Since 1.2 |
2626 | 14aa0c2d | Laszlo Ersek | ## |
2627 | 14aa0c2d | Laszlo Ersek | { 'type': 'NetdevBridgeOptions', |
2628 | 14aa0c2d | Laszlo Ersek | 'data': { |
2629 | 14aa0c2d | Laszlo Ersek | '*br': 'str', |
2630 | 14aa0c2d | Laszlo Ersek | '*helper': 'str' } } |
2631 | 14aa0c2d | Laszlo Ersek | |
2632 | 14aa0c2d | Laszlo Ersek | ## |
2633 | f6c874e3 | Stefan Hajnoczi | # @NetdevHubPortOptions |
2634 | f6c874e3 | Stefan Hajnoczi | #
|
2635 | f6c874e3 | Stefan Hajnoczi | # Connect two or more net clients through a software hub. |
2636 | f6c874e3 | Stefan Hajnoczi | #
|
2637 | f6c874e3 | Stefan Hajnoczi | # @hubid: hub identifier number |
2638 | f6c874e3 | Stefan Hajnoczi | #
|
2639 | f6c874e3 | Stefan Hajnoczi | # Since 1.2 |
2640 | f6c874e3 | Stefan Hajnoczi | ## |
2641 | f6c874e3 | Stefan Hajnoczi | { 'type': 'NetdevHubPortOptions', |
2642 | f6c874e3 | Stefan Hajnoczi | 'data': { |
2643 | f6c874e3 | Stefan Hajnoczi | 'hubid': 'int32' } } |
2644 | f6c874e3 | Stefan Hajnoczi | |
2645 | f6c874e3 | Stefan Hajnoczi | ## |
2646 | 14aa0c2d | Laszlo Ersek | # @NetClientOptions |
2647 | 14aa0c2d | Laszlo Ersek | #
|
2648 | 14aa0c2d | Laszlo Ersek | # A discriminated record of network device traits. |
2649 | 14aa0c2d | Laszlo Ersek | #
|
2650 | 14aa0c2d | Laszlo Ersek | # Since 1.2 |
2651 | 14aa0c2d | Laszlo Ersek | ## |
2652 | 14aa0c2d | Laszlo Ersek | { 'union': 'NetClientOptions', |
2653 | 14aa0c2d | Laszlo Ersek | 'data': { |
2654 | f6c874e3 | Stefan Hajnoczi | 'none': 'NetdevNoneOptions', |
2655 | f6c874e3 | Stefan Hajnoczi | 'nic': 'NetLegacyNicOptions', |
2656 | f6c874e3 | Stefan Hajnoczi | 'user': 'NetdevUserOptions', |
2657 | f6c874e3 | Stefan Hajnoczi | 'tap': 'NetdevTapOptions', |
2658 | f6c874e3 | Stefan Hajnoczi | 'socket': 'NetdevSocketOptions', |
2659 | f6c874e3 | Stefan Hajnoczi | 'vde': 'NetdevVdeOptions', |
2660 | f6c874e3 | Stefan Hajnoczi | 'dump': 'NetdevDumpOptions', |
2661 | f6c874e3 | Stefan Hajnoczi | 'bridge': 'NetdevBridgeOptions', |
2662 | f6c874e3 | Stefan Hajnoczi | 'hubport': 'NetdevHubPortOptions' } } |
2663 | 14aa0c2d | Laszlo Ersek | |
2664 | 14aa0c2d | Laszlo Ersek | ## |
2665 | 14aa0c2d | Laszlo Ersek | # @NetLegacy |
2666 | 14aa0c2d | Laszlo Ersek | #
|
2667 | 14aa0c2d | Laszlo Ersek | # Captures the configuration of a network device; legacy. |
2668 | 14aa0c2d | Laszlo Ersek | #
|
2669 | 14aa0c2d | Laszlo Ersek | # @vlan: #optional vlan number |
2670 | 14aa0c2d | Laszlo Ersek | #
|
2671 | 14aa0c2d | Laszlo Ersek | # @id: #optional identifier for monitor commands |
2672 | 14aa0c2d | Laszlo Ersek | #
|
2673 | 14aa0c2d | Laszlo Ersek | # @name: #optional identifier for monitor commands, ignored if @id is present |
2674 | 14aa0c2d | Laszlo Ersek | #
|
2675 | 14aa0c2d | Laszlo Ersek | # @opts: device type specific properties (legacy) |
2676 | 14aa0c2d | Laszlo Ersek | #
|
2677 | 14aa0c2d | Laszlo Ersek | # Since 1.2 |
2678 | 14aa0c2d | Laszlo Ersek | ## |
2679 | 14aa0c2d | Laszlo Ersek | { 'type': 'NetLegacy', |
2680 | 14aa0c2d | Laszlo Ersek | 'data': { |
2681 | 14aa0c2d | Laszlo Ersek | '*vlan': 'int32', |
2682 | 14aa0c2d | Laszlo Ersek | '*id': 'str', |
2683 | 14aa0c2d | Laszlo Ersek | '*name': 'str', |
2684 | 14aa0c2d | Laszlo Ersek | 'opts': 'NetClientOptions' } } |
2685 | 14aa0c2d | Laszlo Ersek | |
2686 | 14aa0c2d | Laszlo Ersek | ## |
2687 | 14aa0c2d | Laszlo Ersek | # @Netdev |
2688 | 14aa0c2d | Laszlo Ersek | #
|
2689 | 14aa0c2d | Laszlo Ersek | # Captures the configuration of a network device. |
2690 | 14aa0c2d | Laszlo Ersek | #
|
2691 | 14aa0c2d | Laszlo Ersek | # @id: identifier for monitor commands. |
2692 | 14aa0c2d | Laszlo Ersek | #
|
2693 | 14aa0c2d | Laszlo Ersek | # @opts: device type specific properties |
2694 | 14aa0c2d | Laszlo Ersek | #
|
2695 | 14aa0c2d | Laszlo Ersek | # Since 1.2 |
2696 | 14aa0c2d | Laszlo Ersek | ## |
2697 | 14aa0c2d | Laszlo Ersek | { 'type': 'Netdev', |
2698 | 14aa0c2d | Laszlo Ersek | 'data': { |
2699 | 14aa0c2d | Laszlo Ersek | 'id': 'str', |
2700 | 14aa0c2d | Laszlo Ersek | 'opts': 'NetClientOptions' } } |
2701 | 14aa0c2d | Laszlo Ersek | |
2702 | 14aa0c2d | Laszlo Ersek | ## |
2703 | 5be8c759 | Paolo Bonzini | # @InetSocketAddress |
2704 | 5be8c759 | Paolo Bonzini | #
|
2705 | 5be8c759 | Paolo Bonzini | # Captures a socket address or address range in the Internet namespace. |
2706 | 5be8c759 | Paolo Bonzini | #
|
2707 | 5be8c759 | Paolo Bonzini | # @host: host part of the address |
2708 | 5be8c759 | Paolo Bonzini | #
|
2709 | 5be8c759 | Paolo Bonzini | # @port: port part of the address, or lowest port if @to is present |
2710 | 5be8c759 | Paolo Bonzini | #
|
2711 | 5be8c759 | Paolo Bonzini | # @to: highest port to try |
2712 | 5be8c759 | Paolo Bonzini | #
|
2713 | 5be8c759 | Paolo Bonzini | # @ipv4: whether to accept IPv4 addresses, default try both IPv4 and IPv6 |
2714 | 5be8c759 | Paolo Bonzini | # #optional |
2715 | 5be8c759 | Paolo Bonzini | #
|
2716 | 5be8c759 | Paolo Bonzini | # @ipv6: whether to accept IPv6 addresses, default try both IPv4 and IPv6 |
2717 | 5be8c759 | Paolo Bonzini | # #optional |
2718 | 5be8c759 | Paolo Bonzini | #
|
2719 | 5be8c759 | Paolo Bonzini | # Since 1.3 |
2720 | 5be8c759 | Paolo Bonzini | ## |
2721 | 5be8c759 | Paolo Bonzini | { 'type': 'InetSocketAddress', |
2722 | 5be8c759 | Paolo Bonzini | 'data': { |
2723 | 5be8c759 | Paolo Bonzini | 'host': 'str', |
2724 | 5be8c759 | Paolo Bonzini | 'port': 'str', |
2725 | 5be8c759 | Paolo Bonzini | '*to': 'uint16', |
2726 | 5be8c759 | Paolo Bonzini | '*ipv4': 'bool', |
2727 | 5be8c759 | Paolo Bonzini | '*ipv6': 'bool' } } |
2728 | 5be8c759 | Paolo Bonzini | |
2729 | 5be8c759 | Paolo Bonzini | ## |
2730 | 5be8c759 | Paolo Bonzini | # @UnixSocketAddress |
2731 | 5be8c759 | Paolo Bonzini | #
|
2732 | 5be8c759 | Paolo Bonzini | # Captures a socket address in the local ("Unix socket") namespace. |
2733 | 5be8c759 | Paolo Bonzini | #
|
2734 | 5be8c759 | Paolo Bonzini | # @path: filesystem path to use |
2735 | 5be8c759 | Paolo Bonzini | #
|
2736 | 5be8c759 | Paolo Bonzini | # Since 1.3 |
2737 | 5be8c759 | Paolo Bonzini | ## |
2738 | 5be8c759 | Paolo Bonzini | { 'type': 'UnixSocketAddress', |
2739 | 5be8c759 | Paolo Bonzini | 'data': { |
2740 | 5be8c759 | Paolo Bonzini | 'path': 'str' } } |
2741 | 5be8c759 | Paolo Bonzini | |
2742 | 5be8c759 | Paolo Bonzini | ## |
2743 | 5be8c759 | Paolo Bonzini | # @SocketAddress |
2744 | 5be8c759 | Paolo Bonzini | #
|
2745 | 5be8c759 | Paolo Bonzini | # Captures the address of a socket, which could also be a named file descriptor |
2746 | 5be8c759 | Paolo Bonzini | #
|
2747 | 5be8c759 | Paolo Bonzini | # Since 1.3 |
2748 | 5be8c759 | Paolo Bonzini | ## |
2749 | 5be8c759 | Paolo Bonzini | { 'union': 'SocketAddress', |
2750 | 5be8c759 | Paolo Bonzini | 'data': { |
2751 | 5be8c759 | Paolo Bonzini | 'inet': 'InetSocketAddress', |
2752 | 5be8c759 | Paolo Bonzini | 'unix': 'UnixSocketAddress', |
2753 | 5be8c759 | Paolo Bonzini | 'fd': 'String' } } |
2754 | 5be8c759 | Paolo Bonzini | |
2755 | 5be8c759 | Paolo Bonzini | ## |
2756 | 208c9d1b | Corey Bryant | # @getfd: |
2757 | 208c9d1b | Corey Bryant | #
|
2758 | 208c9d1b | Corey Bryant | # Receive a file descriptor via SCM rights and assign it a name |
2759 | 208c9d1b | Corey Bryant | #
|
2760 | 208c9d1b | Corey Bryant | # @fdname: file descriptor name |
2761 | 208c9d1b | Corey Bryant | #
|
2762 | 208c9d1b | Corey Bryant | # Returns: Nothing on success |
2763 | 208c9d1b | Corey Bryant | #
|
2764 | 208c9d1b | Corey Bryant | # Since: 0.14.0 |
2765 | 208c9d1b | Corey Bryant | #
|
2766 | 208c9d1b | Corey Bryant | # Notes: If @fdname already exists, the file descriptor assigned to |
2767 | 208c9d1b | Corey Bryant | # it will be closed and replaced by the received file |
2768 | 208c9d1b | Corey Bryant | # descriptor. |
2769 | 208c9d1b | Corey Bryant | # The 'closefd' command can be used to explicitly close the |
2770 | 208c9d1b | Corey Bryant | # file descriptor when it is no longer needed. |
2771 | 208c9d1b | Corey Bryant | ## |
2772 | 208c9d1b | Corey Bryant | { 'command': 'getfd', 'data': {'fdname': 'str'} } |
2773 | 208c9d1b | Corey Bryant | |
2774 | 208c9d1b | Corey Bryant | ## |
2775 | 208c9d1b | Corey Bryant | # @closefd: |
2776 | 208c9d1b | Corey Bryant | #
|
2777 | 208c9d1b | Corey Bryant | # Close a file descriptor previously passed via SCM rights |
2778 | 208c9d1b | Corey Bryant | #
|
2779 | 208c9d1b | Corey Bryant | # @fdname: file descriptor name |
2780 | 208c9d1b | Corey Bryant | #
|
2781 | 208c9d1b | Corey Bryant | # Returns: Nothing on success |
2782 | 208c9d1b | Corey Bryant | #
|
2783 | 208c9d1b | Corey Bryant | # Since: 0.14.0 |
2784 | 208c9d1b | Corey Bryant | ## |
2785 | 208c9d1b | Corey Bryant | { 'command': 'closefd', 'data': {'fdname': 'str'} } |
2786 | 01d3c80d | Anthony Liguori | |
2787 | 01d3c80d | Anthony Liguori | ## |
2788 | 01d3c80d | Anthony Liguori | # @MachineInfo: |
2789 | 01d3c80d | Anthony Liguori | #
|
2790 | 01d3c80d | Anthony Liguori | # Information describing a machine. |
2791 | 01d3c80d | Anthony Liguori | #
|
2792 | 01d3c80d | Anthony Liguori | # @name: the name of the machine |
2793 | 01d3c80d | Anthony Liguori | #
|
2794 | 01d3c80d | Anthony Liguori | # @alias: #optional an alias for the machine name |
2795 | 01d3c80d | Anthony Liguori | #
|
2796 | 01d3c80d | Anthony Liguori | # @default: #optional whether the machine is default |
2797 | 01d3c80d | Anthony Liguori | #
|
2798 | 01d3c80d | Anthony Liguori | # Since: 1.2.0 |
2799 | 01d3c80d | Anthony Liguori | ## |
2800 | 01d3c80d | Anthony Liguori | { 'type': 'MachineInfo', |
2801 | 01d3c80d | Anthony Liguori | 'data': { 'name': 'str', '*alias': 'str', |
2802 | 01d3c80d | Anthony Liguori | '*is-default': 'bool' } } |
2803 | 01d3c80d | Anthony Liguori | |
2804 | 01d3c80d | Anthony Liguori | ## |
2805 | 01d3c80d | Anthony Liguori | # @query-machines: |
2806 | 01d3c80d | Anthony Liguori | #
|
2807 | 01d3c80d | Anthony Liguori | # Return a list of supported machines |
2808 | 01d3c80d | Anthony Liguori | #
|
2809 | 01d3c80d | Anthony Liguori | # Returns: a list of MachineInfo |
2810 | 01d3c80d | Anthony Liguori | #
|
2811 | 01d3c80d | Anthony Liguori | # Since: 1.2.0 |
2812 | 01d3c80d | Anthony Liguori | ## |
2813 | 01d3c80d | Anthony Liguori | { 'command': 'query-machines', 'returns': ['MachineInfo'] } |
2814 | e4e31c63 | Anthony Liguori | |
2815 | e4e31c63 | Anthony Liguori | ## |
2816 | e4e31c63 | Anthony Liguori | # @CpuDefinitionInfo: |
2817 | e4e31c63 | Anthony Liguori | #
|
2818 | e4e31c63 | Anthony Liguori | # Virtual CPU definition. |
2819 | e4e31c63 | Anthony Liguori | #
|
2820 | e4e31c63 | Anthony Liguori | # @name: the name of the CPU definition |
2821 | e4e31c63 | Anthony Liguori | #
|
2822 | e4e31c63 | Anthony Liguori | # Since: 1.2.0 |
2823 | e4e31c63 | Anthony Liguori | ## |
2824 | e4e31c63 | Anthony Liguori | { 'type': 'CpuDefinitionInfo', |
2825 | e4e31c63 | Anthony Liguori | 'data': { 'name': 'str' } } |
2826 | e4e31c63 | Anthony Liguori | |
2827 | e4e31c63 | Anthony Liguori | ## |
2828 | e4e31c63 | Anthony Liguori | # @query-cpu-definitions: |
2829 | e4e31c63 | Anthony Liguori | #
|
2830 | e4e31c63 | Anthony Liguori | # Return a list of supported virtual CPU definitions |
2831 | e4e31c63 | Anthony Liguori | #
|
2832 | e4e31c63 | Anthony Liguori | # Returns: a list of CpuDefInfo |
2833 | e4e31c63 | Anthony Liguori | #
|
2834 | e4e31c63 | Anthony Liguori | # Since: 1.2.0 |
2835 | e4e31c63 | Anthony Liguori | ## |
2836 | e4e31c63 | Anthony Liguori | { 'command': 'query-cpu-definitions', 'returns': ['CpuDefinitionInfo'] } |
2837 | ba1c048a | Corey Bryant | |
2838 | ba1c048a | Corey Bryant | # @AddfdInfo: |
2839 | ba1c048a | Corey Bryant | #
|
2840 | ba1c048a | Corey Bryant | # Information about a file descriptor that was added to an fd set. |
2841 | ba1c048a | Corey Bryant | #
|
2842 | ba1c048a | Corey Bryant | # @fdset-id: The ID of the fd set that @fd was added to. |
2843 | ba1c048a | Corey Bryant | #
|
2844 | ba1c048a | Corey Bryant | # @fd: The file descriptor that was received via SCM rights and |
2845 | ba1c048a | Corey Bryant | # added to the fd set. |
2846 | ba1c048a | Corey Bryant | #
|
2847 | ba1c048a | Corey Bryant | # Since: 1.2.0 |
2848 | ba1c048a | Corey Bryant | ## |
2849 | ba1c048a | Corey Bryant | { 'type': 'AddfdInfo', 'data': {'fdset-id': 'int', 'fd': 'int'} } |
2850 | ba1c048a | Corey Bryant | |
2851 | ba1c048a | Corey Bryant | ## |
2852 | ba1c048a | Corey Bryant | # @add-fd: |
2853 | ba1c048a | Corey Bryant | #
|
2854 | ba1c048a | Corey Bryant | # Add a file descriptor, that was passed via SCM rights, to an fd set. |
2855 | ba1c048a | Corey Bryant | #
|
2856 | ba1c048a | Corey Bryant | # @fdset-id: #optional The ID of the fd set to add the file descriptor to. |
2857 | ba1c048a | Corey Bryant | #
|
2858 | ba1c048a | Corey Bryant | # @opaque: #optional A free-form string that can be used to describe the fd. |
2859 | ba1c048a | Corey Bryant | #
|
2860 | ba1c048a | Corey Bryant | # Returns: @AddfdInfo on success |
2861 | ba1c048a | Corey Bryant | # If file descriptor was not received, FdNotSupplied |
2862 | 9ac54af0 | Corey Bryant | # If @fdset-id is a negative value, InvalidParameterValue |
2863 | ba1c048a | Corey Bryant | #
|
2864 | ba1c048a | Corey Bryant | # Notes: The list of fd sets is shared by all monitor connections. |
2865 | ba1c048a | Corey Bryant | #
|
2866 | ba1c048a | Corey Bryant | # If @fdset-id is not specified, a new fd set will be created. |
2867 | ba1c048a | Corey Bryant | #
|
2868 | ba1c048a | Corey Bryant | # Since: 1.2.0 |
2869 | ba1c048a | Corey Bryant | ## |
2870 | ba1c048a | Corey Bryant | { 'command': 'add-fd', 'data': {'*fdset-id': 'int', '*opaque': 'str'}, |
2871 | ba1c048a | Corey Bryant | 'returns': 'AddfdInfo' } |
2872 | ba1c048a | Corey Bryant | |
2873 | ba1c048a | Corey Bryant | ## |
2874 | ba1c048a | Corey Bryant | # @remove-fd: |
2875 | ba1c048a | Corey Bryant | #
|
2876 | ba1c048a | Corey Bryant | # Remove a file descriptor from an fd set. |
2877 | ba1c048a | Corey Bryant | #
|
2878 | ba1c048a | Corey Bryant | # @fdset-id: The ID of the fd set that the file descriptor belongs to. |
2879 | ba1c048a | Corey Bryant | #
|
2880 | ba1c048a | Corey Bryant | # @fd: #optional The file descriptor that is to be removed. |
2881 | ba1c048a | Corey Bryant | #
|
2882 | ba1c048a | Corey Bryant | # Returns: Nothing on success |
2883 | ba1c048a | Corey Bryant | # If @fdset-id or @fd is not found, FdNotFound |
2884 | ba1c048a | Corey Bryant | #
|
2885 | ba1c048a | Corey Bryant | # Since: 1.2.0 |
2886 | ba1c048a | Corey Bryant | #
|
2887 | ba1c048a | Corey Bryant | # Notes: The list of fd sets is shared by all monitor connections. |
2888 | ba1c048a | Corey Bryant | #
|
2889 | ba1c048a | Corey Bryant | # If @fd is not specified, all file descriptors in @fdset-id |
2890 | ba1c048a | Corey Bryant | # will be removed. |
2891 | ba1c048a | Corey Bryant | ## |
2892 | ba1c048a | Corey Bryant | { 'command': 'remove-fd', 'data': {'fdset-id': 'int', '*fd': 'int'} } |
2893 | ba1c048a | Corey Bryant | |
2894 | ba1c048a | Corey Bryant | ## |
2895 | ba1c048a | Corey Bryant | # @FdsetFdInfo: |
2896 | ba1c048a | Corey Bryant | #
|
2897 | ba1c048a | Corey Bryant | # Information about a file descriptor that belongs to an fd set. |
2898 | ba1c048a | Corey Bryant | #
|
2899 | ba1c048a | Corey Bryant | # @fd: The file descriptor value. |
2900 | ba1c048a | Corey Bryant | #
|
2901 | ba1c048a | Corey Bryant | # @opaque: #optional A free-form string that can be used to describe the fd. |
2902 | ba1c048a | Corey Bryant | #
|
2903 | ba1c048a | Corey Bryant | # Since: 1.2.0 |
2904 | ba1c048a | Corey Bryant | ## |
2905 | ba1c048a | Corey Bryant | { 'type': 'FdsetFdInfo', |
2906 | ba1c048a | Corey Bryant | 'data': {'fd': 'int', '*opaque': 'str'} } |
2907 | ba1c048a | Corey Bryant | |
2908 | ba1c048a | Corey Bryant | ## |
2909 | ba1c048a | Corey Bryant | # @FdsetInfo: |
2910 | ba1c048a | Corey Bryant | #
|
2911 | ba1c048a | Corey Bryant | # Information about an fd set. |
2912 | ba1c048a | Corey Bryant | #
|
2913 | ba1c048a | Corey Bryant | # @fdset-id: The ID of the fd set. |
2914 | ba1c048a | Corey Bryant | #
|
2915 | ba1c048a | Corey Bryant | # @fds: A list of file descriptors that belong to this fd set. |
2916 | ba1c048a | Corey Bryant | #
|
2917 | ba1c048a | Corey Bryant | # Since: 1.2.0 |
2918 | ba1c048a | Corey Bryant | ## |
2919 | ba1c048a | Corey Bryant | { 'type': 'FdsetInfo', |
2920 | ba1c048a | Corey Bryant | 'data': {'fdset-id': 'int', 'fds': ['FdsetFdInfo']} } |
2921 | ba1c048a | Corey Bryant | |
2922 | ba1c048a | Corey Bryant | ## |
2923 | ba1c048a | Corey Bryant | # @query-fdsets: |
2924 | ba1c048a | Corey Bryant | #
|
2925 | ba1c048a | Corey Bryant | # Return information describing all fd sets. |
2926 | ba1c048a | Corey Bryant | #
|
2927 | ba1c048a | Corey Bryant | # Returns: A list of @FdsetInfo |
2928 | ba1c048a | Corey Bryant | #
|
2929 | ba1c048a | Corey Bryant | # Since: 1.2.0 |
2930 | ba1c048a | Corey Bryant | #
|
2931 | ba1c048a | Corey Bryant | # Note: The list of fd sets is shared by all monitor connections. |
2932 | ba1c048a | Corey Bryant | #
|
2933 | ba1c048a | Corey Bryant | ## |
2934 | ba1c048a | Corey Bryant | { 'command': 'query-fdsets', 'returns': ['FdsetInfo'] } |
2935 | 99afc91d | Daniel P. Berrange | |
2936 | 99afc91d | Daniel P. Berrange | ## |
2937 | 99afc91d | Daniel P. Berrange | # @TargetType |
2938 | 99afc91d | Daniel P. Berrange | #
|
2939 | 99afc91d | Daniel P. Berrange | # Target CPU emulation type |
2940 | 99afc91d | Daniel P. Berrange | #
|
2941 | 99afc91d | Daniel P. Berrange | # These parameters correspond to the softmmu binary CPU name that is currently |
2942 | 99afc91d | Daniel P. Berrange | # running. |
2943 | 99afc91d | Daniel P. Berrange | #
|
2944 | 99afc91d | Daniel P. Berrange | # Since: 1.2.0 |
2945 | 99afc91d | Daniel P. Berrange | ## |
2946 | 99afc91d | Daniel P. Berrange | { 'enum': 'TargetType', |
2947 | 99afc91d | Daniel P. Berrange | 'data': [ 'alpha', 'arm', 'cris', 'i386', 'lm32', 'm68k', 'microblazeel', |
2948 | 99afc91d | Daniel P. Berrange | 'microblaze', 'mips64el', 'mips64', 'mipsel', 'mips', 'or32', |
2949 | 99afc91d | Daniel P. Berrange | 'ppc64', 'ppcemb', 'ppc', 's390x', 'sh4eb', 'sh4', 'sparc64', |
2950 | 99afc91d | Daniel P. Berrange | 'sparc', 'unicore32', 'x86_64', 'xtensaeb', 'xtensa' ] } |
2951 | 99afc91d | Daniel P. Berrange | |
2952 | 99afc91d | Daniel P. Berrange | ## |
2953 | 99afc91d | Daniel P. Berrange | # @TargetInfo: |
2954 | 99afc91d | Daniel P. Berrange | #
|
2955 | 99afc91d | Daniel P. Berrange | # Information describing the QEMU target. |
2956 | 99afc91d | Daniel P. Berrange | #
|
2957 | 99afc91d | Daniel P. Berrange | # @arch: the target architecture (eg "x86_64", "i386", etc) |
2958 | 99afc91d | Daniel P. Berrange | #
|
2959 | 99afc91d | Daniel P. Berrange | # Since: 1.2.0 |
2960 | 99afc91d | Daniel P. Berrange | ## |
2961 | 99afc91d | Daniel P. Berrange | { 'type': 'TargetInfo', |
2962 | 99afc91d | Daniel P. Berrange | 'data': { 'arch': 'TargetType' } } |
2963 | 99afc91d | Daniel P. Berrange | |
2964 | 99afc91d | Daniel P. Berrange | ## |
2965 | 99afc91d | Daniel P. Berrange | # @query-target: |
2966 | 99afc91d | Daniel P. Berrange | #
|
2967 | 99afc91d | Daniel P. Berrange | # Return information about the target for this QEMU |
2968 | 99afc91d | Daniel P. Berrange | #
|
2969 | 99afc91d | Daniel P. Berrange | # Returns: TargetInfo |
2970 | 99afc91d | Daniel P. Berrange | #
|
2971 | 99afc91d | Daniel P. Berrange | # Since: 1.2.0 |
2972 | 99afc91d | Daniel P. Berrange | ## |
2973 | 99afc91d | Daniel P. Berrange | { 'command': 'query-target', 'returns': 'TargetInfo' } |
2974 | 411656f4 | Amos Kong | |
2975 | 411656f4 | Amos Kong | ## |
2976 | 411656f4 | Amos Kong | # @QKeyCode: |
2977 | 411656f4 | Amos Kong | #
|
2978 | 411656f4 | Amos Kong | # An enumeration of key name. |
2979 | 411656f4 | Amos Kong | #
|
2980 | 411656f4 | Amos Kong | # This is used by the send-key command. |
2981 | 411656f4 | Amos Kong | #
|
2982 | 411656f4 | Amos Kong | # Since: 1.3.0 |
2983 | 411656f4 | Amos Kong | ## |
2984 | 411656f4 | Amos Kong | { 'enum': 'QKeyCode', |
2985 | 411656f4 | Amos Kong | 'data': [ 'shift', 'shift_r', 'alt', 'alt_r', 'altgr', 'altgr_r', 'ctrl', |
2986 | 411656f4 | Amos Kong | 'ctrl_r', 'menu', 'esc', '1', '2', '3', '4', '5', '6', '7', '8', |
2987 | 411656f4 | Amos Kong | '9', '0', 'minus', 'equal', 'backspace', 'tab', 'q', 'w', 'e', |
2988 | 411656f4 | Amos Kong | 'r', 't', 'y', 'u', 'i', 'o', 'p', 'bracket_left', 'bracket_right', |
2989 | 411656f4 | Amos Kong | 'ret', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'semicolon', |
2990 | 411656f4 | Amos Kong | 'apostrophe', 'grave_accent', 'backslash', 'z', 'x', 'c', 'v', 'b', |
2991 | 411656f4 | Amos Kong | 'n', 'm', 'comma', 'dot', 'slash', 'asterisk', 'spc', 'caps_lock', |
2992 | 411656f4 | Amos Kong | 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'f10', |
2993 | 411656f4 | Amos Kong | 'num_lock', 'scroll_lock', 'kp_divide', 'kp_multiply', |
2994 | 411656f4 | Amos Kong | 'kp_subtract', 'kp_add', 'kp_enter', 'kp_decimal', 'sysrq', 'kp_0', |
2995 | 411656f4 | Amos Kong | 'kp_1', 'kp_2', 'kp_3', 'kp_4', 'kp_5', 'kp_6', 'kp_7', 'kp_8', |
2996 | 411656f4 | Amos Kong | 'kp_9', 'less', 'f11', 'f12', 'print', 'home', 'pgup', 'pgdn', 'end', |
2997 | 411656f4 | Amos Kong | 'left', 'up', 'down', 'right', 'insert', 'delete', 'stop', 'again', |
2998 | 411656f4 | Amos Kong | 'props', 'undo', 'front', 'copy', 'open', 'paste', 'find', 'cut', |
2999 | 411656f4 | Amos Kong | 'lf', 'help', 'meta_l', 'meta_r', 'compose' ] } |
3000 | e4c8f004 | Amos Kong | |
3001 | e4c8f004 | Amos Kong | ## |
3002 | 9f328977 | Luiz Capitulino | # @KeyValue |
3003 | 9f328977 | Luiz Capitulino | #
|
3004 | 9f328977 | Luiz Capitulino | # Represents a keyboard key. |
3005 | 9f328977 | Luiz Capitulino | #
|
3006 | 9f328977 | Luiz Capitulino | # Since: 1.3.0 |
3007 | 9f328977 | Luiz Capitulino | ## |
3008 | 9f328977 | Luiz Capitulino | { 'union': 'KeyValue', |
3009 | 9f328977 | Luiz Capitulino | 'data': { |
3010 | 9f328977 | Luiz Capitulino | 'number': 'int', |
3011 | 9f328977 | Luiz Capitulino | 'qcode': 'QKeyCode' } } |
3012 | 9f328977 | Luiz Capitulino | |
3013 | 9f328977 | Luiz Capitulino | ## |
3014 | e4c8f004 | Amos Kong | # @send-key: |
3015 | e4c8f004 | Amos Kong | #
|
3016 | e4c8f004 | Amos Kong | # Send keys to guest. |
3017 | e4c8f004 | Amos Kong | #
|
3018 | 9f328977 | Luiz Capitulino | # @keys: An array of @KeyValue elements. All @KeyValues in this array are |
3019 | 9f328977 | Luiz Capitulino | # simultaneously sent to the guest. A @KeyValue.number value is sent |
3020 | 9f328977 | Luiz Capitulino | # directly to the guest, while @KeyValue.qcode must be a valid |
3021 | 9f328977 | Luiz Capitulino | # @QKeyCode value |
3022 | e4c8f004 | Amos Kong | #
|
3023 | e4c8f004 | Amos Kong | # @hold-time: #optional time to delay key up events, milliseconds. Defaults |
3024 | e4c8f004 | Amos Kong | # to 100 |
3025 | e4c8f004 | Amos Kong | #
|
3026 | e4c8f004 | Amos Kong | # Returns: Nothing on success |
3027 | e4c8f004 | Amos Kong | # If key is unknown or redundant, InvalidParameter |
3028 | e4c8f004 | Amos Kong | #
|
3029 | e4c8f004 | Amos Kong | # Since: 1.3.0 |
3030 | e4c8f004 | Amos Kong | #
|
3031 | e4c8f004 | Amos Kong | ## |
3032 | e4c8f004 | Amos Kong | { 'command': 'send-key', |
3033 | 9f328977 | Luiz Capitulino | 'data': { 'keys': ['KeyValue'], '*hold-time': 'int' } } |
3034 | ad39cf6d | Luiz Capitulino | |
3035 | ad39cf6d | Luiz Capitulino | ## |
3036 | ad39cf6d | Luiz Capitulino | # @screendump: |
3037 | ad39cf6d | Luiz Capitulino | #
|
3038 | ad39cf6d | Luiz Capitulino | # Write a PPM of the VGA screen to a file. |
3039 | ad39cf6d | Luiz Capitulino | #
|
3040 | ad39cf6d | Luiz Capitulino | # @filename: the path of a new PPM file to store the image |
3041 | ad39cf6d | Luiz Capitulino | #
|
3042 | ad39cf6d | Luiz Capitulino | # Returns: Nothing on success |
3043 | ad39cf6d | Luiz Capitulino | #
|
3044 | ad39cf6d | Luiz Capitulino | # Since: 0.14.0 |
3045 | ad39cf6d | Luiz Capitulino | ## |
3046 | ad39cf6d | Luiz Capitulino | { 'command': 'screendump', 'data': {'filename': 'str'} } |
3047 | 6dd844db | Paolo Bonzini | |
3048 | 6dd844db | Paolo Bonzini | ## |
3049 | 6dd844db | Paolo Bonzini | # @nbd-server-start: |
3050 | 6dd844db | Paolo Bonzini | #
|
3051 | 6dd844db | Paolo Bonzini | # Start an NBD server listening on the given host and port. Block |
3052 | 6dd844db | Paolo Bonzini | # devices can then be exported using @nbd-server-add. The NBD |
3053 | 6dd844db | Paolo Bonzini | # server will present them as named exports; for example, another |
3054 | 6dd844db | Paolo Bonzini | # QEMU instance could refer to them as "nbd:HOST:PORT:exportname=NAME". |
3055 | 6dd844db | Paolo Bonzini | #
|
3056 | 6dd844db | Paolo Bonzini | # @addr: Address on which to listen. |
3057 | 6dd844db | Paolo Bonzini | #
|
3058 | 6dd844db | Paolo Bonzini | # Returns: error if the server is already running. |
3059 | 6dd844db | Paolo Bonzini | #
|
3060 | 6dd844db | Paolo Bonzini | # Since: 1.3.0 |
3061 | 6dd844db | Paolo Bonzini | ## |
3062 | 6dd844db | Paolo Bonzini | { 'command': 'nbd-server-start', |
3063 | 6dd844db | Paolo Bonzini | 'data': { 'addr': 'SocketAddress' } } |
3064 | 6dd844db | Paolo Bonzini | |
3065 | 6dd844db | Paolo Bonzini | ## |
3066 | 6dd844db | Paolo Bonzini | # @nbd-server-add: |
3067 | 6dd844db | Paolo Bonzini | #
|
3068 | 6dd844db | Paolo Bonzini | # Export a device to QEMU's embedded NBD server. |
3069 | 6dd844db | Paolo Bonzini | #
|
3070 | 6dd844db | Paolo Bonzini | # @device: Block device to be exported |
3071 | 6dd844db | Paolo Bonzini | #
|
3072 | 6dd844db | Paolo Bonzini | # @writable: Whether clients should be able to write to the device via the |
3073 | 6dd844db | Paolo Bonzini | # NBD connection (default false). #optional |
3074 | 6dd844db | Paolo Bonzini | #
|
3075 | 6dd844db | Paolo Bonzini | # Returns: error if the device is already marked for export. |
3076 | 6dd844db | Paolo Bonzini | #
|
3077 | 6dd844db | Paolo Bonzini | # Since: 1.3.0 |
3078 | 6dd844db | Paolo Bonzini | ## |
3079 | 6dd844db | Paolo Bonzini | { 'command': 'nbd-server-add', 'data': {'device': 'str', '*writable': 'bool'} } |
3080 | 6dd844db | Paolo Bonzini | |
3081 | 6dd844db | Paolo Bonzini | ## |
3082 | 6dd844db | Paolo Bonzini | # @nbd-server-stop: |
3083 | 6dd844db | Paolo Bonzini | #
|
3084 | 6dd844db | Paolo Bonzini | # Stop QEMU's embedded NBD server, and unregister all devices previously |
3085 | 6dd844db | Paolo Bonzini | # added via @nbd-server-add. |
3086 | 6dd844db | Paolo Bonzini | #
|
3087 | 6dd844db | Paolo Bonzini | # Since: 1.3.0 |
3088 | 6dd844db | Paolo Bonzini | ## |
3089 | 6dd844db | Paolo Bonzini | { 'command': 'nbd-server-stop' } |
3090 | f1a1a356 | Gerd Hoffmann | |
3091 | f1a1a356 | Gerd Hoffmann | ## |
3092 | ffbdbe59 | Gerd Hoffmann | # @ChardevFile: |
3093 | ffbdbe59 | Gerd Hoffmann | #
|
3094 | ffbdbe59 | Gerd Hoffmann | # Configuration info for file chardevs. |
3095 | ffbdbe59 | Gerd Hoffmann | #
|
3096 | ffbdbe59 | Gerd Hoffmann | # @in: #optional The name of the input file |
3097 | ffbdbe59 | Gerd Hoffmann | # @out: The name of the output file |
3098 | ffbdbe59 | Gerd Hoffmann | #
|
3099 | ffbdbe59 | Gerd Hoffmann | # Since: 1.4 |
3100 | ffbdbe59 | Gerd Hoffmann | ## |
3101 | ffbdbe59 | Gerd Hoffmann | { 'type': 'ChardevFile', 'data': { '*in' : 'str', |
3102 | ffbdbe59 | Gerd Hoffmann | 'out' : 'str' } } |
3103 | ffbdbe59 | Gerd Hoffmann | |
3104 | ffbdbe59 | Gerd Hoffmann | ## |
3105 | d59044ef | Gerd Hoffmann | # @ChardevPort: |
3106 | d59044ef | Gerd Hoffmann | #
|
3107 | d59044ef | Gerd Hoffmann | # Configuration info for device chardevs. |
3108 | d59044ef | Gerd Hoffmann | #
|
3109 | d59044ef | Gerd Hoffmann | # @device: The name of the special file for the device, |
3110 | d59044ef | Gerd Hoffmann | # i.e. /dev/ttyS0 on Unix or COM1: on Windows |
3111 | d59044ef | Gerd Hoffmann | # @type: What kind of device this is. |
3112 | d59044ef | Gerd Hoffmann | #
|
3113 | d59044ef | Gerd Hoffmann | # Since: 1.4 |
3114 | d59044ef | Gerd Hoffmann | ## |
3115 | 88a946d3 | Gerd Hoffmann | { 'enum': 'ChardevPortKind', 'data': [ 'serial', |
3116 | 88a946d3 | Gerd Hoffmann | 'parallel' ] } |
3117 | d59044ef | Gerd Hoffmann | |
3118 | d59044ef | Gerd Hoffmann | { 'type': 'ChardevPort', 'data': { 'device' : 'str', |
3119 | d59044ef | Gerd Hoffmann | 'type' : 'ChardevPortKind'} } |
3120 | d59044ef | Gerd Hoffmann | |
3121 | d59044ef | Gerd Hoffmann | ## |
3122 | f6bd5d6e | Gerd Hoffmann | # @ChardevSocket: |
3123 | f6bd5d6e | Gerd Hoffmann | #
|
3124 | f6bd5d6e | Gerd Hoffmann | # Configuration info for socket chardevs. |
3125 | f6bd5d6e | Gerd Hoffmann | #
|
3126 | f6bd5d6e | Gerd Hoffmann | # @addr: socket address to listen on (server=true) |
3127 | f6bd5d6e | Gerd Hoffmann | # or connect to (server=false) |
3128 | f6bd5d6e | Gerd Hoffmann | # @server: #optional create server socket (default: true) |
3129 | f6bd5d6e | Gerd Hoffmann | # @wait: #optional wait for connect (not used for server |
3130 | f6bd5d6e | Gerd Hoffmann | # sockets, default: false) |
3131 | f6bd5d6e | Gerd Hoffmann | # @nodelay: #optional set TCP_NODELAY socket option (default: false) |
3132 | f6bd5d6e | Gerd Hoffmann | # @telnet: #optional enable telnet protocol (default: false) |
3133 | f6bd5d6e | Gerd Hoffmann | #
|
3134 | f6bd5d6e | Gerd Hoffmann | # Since: 1.4 |
3135 | f6bd5d6e | Gerd Hoffmann | ## |
3136 | f6bd5d6e | Gerd Hoffmann | { 'type': 'ChardevSocket', 'data': { 'addr' : 'SocketAddress', |
3137 | f6bd5d6e | Gerd Hoffmann | '*server' : 'bool', |
3138 | f6bd5d6e | Gerd Hoffmann | '*wait' : 'bool', |
3139 | f6bd5d6e | Gerd Hoffmann | '*nodelay' : 'bool', |
3140 | f6bd5d6e | Gerd Hoffmann | '*telnet' : 'bool' } } |
3141 | f6bd5d6e | Gerd Hoffmann | |
3142 | f6bd5d6e | Gerd Hoffmann | ## |
3143 | f1a1a356 | Gerd Hoffmann | # @ChardevBackend: |
3144 | f1a1a356 | Gerd Hoffmann | #
|
3145 | f1a1a356 | Gerd Hoffmann | # Configuration info for the new chardev backend. |
3146 | f1a1a356 | Gerd Hoffmann | #
|
3147 | f1a1a356 | Gerd Hoffmann | # Since: 1.4 |
3148 | f1a1a356 | Gerd Hoffmann | ## |
3149 | f1a1a356 | Gerd Hoffmann | { 'type': 'ChardevDummy', 'data': { } } |
3150 | f1a1a356 | Gerd Hoffmann | |
3151 | f6bd5d6e | Gerd Hoffmann | { 'union': 'ChardevBackend', 'data': { 'file' : 'ChardevFile', |
3152 | f6bd5d6e | Gerd Hoffmann | 'port' : 'ChardevPort', |
3153 | f6bd5d6e | Gerd Hoffmann | 'socket' : 'ChardevSocket', |
3154 | 0a1a7fab | Gerd Hoffmann | 'pty' : 'ChardevDummy', |
3155 | f6bd5d6e | Gerd Hoffmann | 'null' : 'ChardevDummy' } } |
3156 | f1a1a356 | Gerd Hoffmann | |
3157 | f1a1a356 | Gerd Hoffmann | ## |
3158 | f1a1a356 | Gerd Hoffmann | # @ChardevReturn: |
3159 | f1a1a356 | Gerd Hoffmann | #
|
3160 | f1a1a356 | Gerd Hoffmann | # Return info about the chardev backend just created. |
3161 | f1a1a356 | Gerd Hoffmann | #
|
3162 | f1a1a356 | Gerd Hoffmann | # Since: 1.4 |
3163 | f1a1a356 | Gerd Hoffmann | ## |
3164 | 0a1a7fab | Gerd Hoffmann | { 'type' : 'ChardevReturn', 'data': { '*pty' : 'str' } } |
3165 | f1a1a356 | Gerd Hoffmann | |
3166 | f1a1a356 | Gerd Hoffmann | ## |
3167 | f1a1a356 | Gerd Hoffmann | # @chardev-add: |
3168 | f1a1a356 | Gerd Hoffmann | #
|
3169 | f1a1a356 | Gerd Hoffmann | # Add a file chardev |
3170 | f1a1a356 | Gerd Hoffmann | #
|
3171 | f1a1a356 | Gerd Hoffmann | # @id: the chardev's ID, must be unique |
3172 | f1a1a356 | Gerd Hoffmann | # @backend: backend type and parameters |
3173 | f1a1a356 | Gerd Hoffmann | #
|
3174 | f1a1a356 | Gerd Hoffmann | # Returns: chardev info. |
3175 | f1a1a356 | Gerd Hoffmann | #
|
3176 | f1a1a356 | Gerd Hoffmann | # Since: 1.4 |
3177 | f1a1a356 | Gerd Hoffmann | ## |
3178 | f1a1a356 | Gerd Hoffmann | { 'command': 'chardev-add', 'data': {'id' : 'str', |
3179 | f1a1a356 | Gerd Hoffmann | 'backend' : 'ChardevBackend' }, |
3180 | f1a1a356 | Gerd Hoffmann | 'returns': 'ChardevReturn' } |
3181 | f1a1a356 | Gerd Hoffmann | |
3182 | f1a1a356 | Gerd Hoffmann | ## |
3183 | f1a1a356 | Gerd Hoffmann | # @chardev-remove: |
3184 | f1a1a356 | Gerd Hoffmann | #
|
3185 | f1a1a356 | Gerd Hoffmann | # Remove a chardev |
3186 | f1a1a356 | Gerd Hoffmann | #
|
3187 | f1a1a356 | Gerd Hoffmann | # @id: the chardev's ID, must exist and not be in use |
3188 | f1a1a356 | Gerd Hoffmann | #
|
3189 | f1a1a356 | Gerd Hoffmann | # Returns: Nothing on success |
3190 | f1a1a356 | Gerd Hoffmann | #
|
3191 | f1a1a356 | Gerd Hoffmann | # Since: 1.4 |
3192 | f1a1a356 | Gerd Hoffmann | ## |
3193 | f1a1a356 | Gerd Hoffmann | { 'command': 'chardev-remove', 'data': {'id': 'str'} } |