qmp-commands: move 'x-blockdev-del' doc to schema
[qemu/kevin.git] / qapi / event.json
blob0cd4b79ad8d7943ab774d479cf56c78c83b6d420
1 # -*- Mode: Python -*-
3 ##
4 # = Other events
5 ##
7 ##
8 # @SHUTDOWN:
10 # Emitted when the virtual machine has shut down, indicating that qemu is
11 # about to exit.
13 # Note: If the command-line option "-no-shutdown" has been specified, qemu will
14 # not exit, and a STOP event will eventually follow the SHUTDOWN event
16 # Since: 0.12.0
18 { 'event': 'SHUTDOWN' }
21 # @POWERDOWN:
23 # Emitted when the virtual machine is powered down through the power control
24 # system, such as via ACPI.
26 # Since: 0.12.0
28 { 'event': 'POWERDOWN' }
31 # @RESET:
33 # Emitted when the virtual machine is reset
35 # Since: 0.12.0
37 { 'event': 'RESET' }
40 # @STOP:
42 # Emitted when the virtual machine is stopped
44 # Since: 0.12.0
46 { 'event': 'STOP' }
49 # @RESUME:
51 # Emitted when the virtual machine resumes execution
53 # Since: 0.12.0
55 { 'event': 'RESUME' }
58 # @SUSPEND:
60 # Emitted when guest enters a hardware suspension state, for example, S3 state,
61 # which is sometimes called standby state
63 # Since: 1.1
65 { 'event': 'SUSPEND' }
68 # @SUSPEND_DISK:
70 # Emitted when guest enters a hardware suspension state with data saved on
71 # disk, for example, S4 state, which is sometimes called hibernate state
73 # Note: QEMU shuts down (similar to event @SHUTDOWN) when entering this state
75 # Since: 1.2
77 { 'event': 'SUSPEND_DISK' }
80 # @WAKEUP:
82 # Emitted when the guest has woken up from suspend state and is running
84 # Since: 1.1
86 { 'event': 'WAKEUP' }
89 # @RTC_CHANGE:
91 # Emitted when the guest changes the RTC time.
93 # @offset: offset between base RTC clock (as specified by -rtc base), and
94 #          new RTC clock value
96 # Since: 0.13.0
98 { 'event': 'RTC_CHANGE',
99   'data': { 'offset': 'int' } }
102 # @WATCHDOG:
104 # Emitted when the watchdog device's timer is expired
106 # @action: action that has been taken
108 # Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
109 # followed respectively by the RESET, SHUTDOWN, or STOP events
111 # Since: 0.13.0
113 { 'event': 'WATCHDOG',
114   'data': { 'action': 'WatchdogExpirationAction' } }
117 # @DEVICE_DELETED:
119 # Emitted whenever the device removal completion is acknowledged by the guest.
120 # At this point, it's safe to reuse the specified device ID. Device removal can
121 # be initiated by the guest or by HMP/QMP commands.
123 # @device: #optional, device name
125 # @path: device path
127 # Since: 1.5
129 { 'event': 'DEVICE_DELETED',
130   'data': { '*device': 'str', 'path': 'str' } }
133 # @NIC_RX_FILTER_CHANGED:
135 # Emitted once until the 'query-rx-filter' command is executed, the first event
136 # will always be emitted
138 # @name: #optional, net client name
140 # @path: device path
142 # Since: 1.6
144 { 'event': 'NIC_RX_FILTER_CHANGED',
145   'data': { '*name': 'str', 'path': 'str' } }
148 # @VNC_CONNECTED:
150 # Emitted when a VNC client establishes a connection
152 # @server: server information
154 # @client: client information
156 # Note: This event is emitted before any authentication takes place, thus
157 # the authentication ID is not provided
159 # Since: 0.13.0
161 { 'event': 'VNC_CONNECTED',
162   'data': { 'server': 'VncServerInfo',
163             'client': 'VncBasicInfo' } }
166 # @VNC_INITIALIZED:
168 # Emitted after authentication takes place (if any) and the VNC session is
169 # made active
171 # @server: server information
173 # @client: client information
175 # Since: 0.13.0
177 { 'event': 'VNC_INITIALIZED',
178   'data': { 'server': 'VncServerInfo',
179             'client': 'VncClientInfo' } }
182 # @VNC_DISCONNECTED:
184 # Emitted when the connection is closed
186 # @server: server information
188 # @client: client information
190 # Since: 0.13.0
192 { 'event': 'VNC_DISCONNECTED',
193   'data': { 'server': 'VncServerInfo',
194             'client': 'VncClientInfo' } }
197 # @SPICE_CONNECTED:
199 # Emitted when a SPICE client establishes a connection
201 # @server: server information
203 # @client: client information
205 # Since: 0.14.0
207 { 'event': 'SPICE_CONNECTED',
208   'data': { 'server': 'SpiceBasicInfo',
209             'client': 'SpiceBasicInfo' } }
212 # @SPICE_INITIALIZED:
214 # Emitted after initial handshake and authentication takes place (if any)
215 # and the SPICE channel is up and running
217 # @server: server information
219 # @client: client information
221 # Since: 0.14.0
223 { 'event': 'SPICE_INITIALIZED',
224   'data': { 'server': 'SpiceServerInfo',
225             'client': 'SpiceChannel' } }
228 # @SPICE_DISCONNECTED:
230 # Emitted when the SPICE connection is closed
232 # @server: server information
234 # @client: client information
236 # Since: 0.14.0
238 { 'event': 'SPICE_DISCONNECTED',
239   'data': { 'server': 'SpiceBasicInfo',
240             'client': 'SpiceBasicInfo' } }
243 # @SPICE_MIGRATE_COMPLETED:
245 # Emitted when SPICE migration has completed
247 # Since: 1.3
249 { 'event': 'SPICE_MIGRATE_COMPLETED' }
252 # @MIGRATION:
254 # Emitted when a migration event happens
256 # @status: @MigrationStatus describing the current migration status.
258 # Since: 2.4
260 { 'event': 'MIGRATION',
261   'data': {'status': 'MigrationStatus'}}
264 # @MIGRATION_PASS:
266 # Emitted from the source side of a migration at the start of each pass
267 # (when it syncs the dirty bitmap)
269 # @pass: An incrementing count (starting at 1 on the first pass)
271 # Since: 2.6
273 { 'event': 'MIGRATION_PASS',
274   'data': { 'pass': 'int' } }
277 # @ACPI_DEVICE_OST:
279 # Emitted when guest executes ACPI _OST method.
281 # @info: ACPIOSTInfo type as described in qapi-schema.json
283 # Since: 2.1
285 { 'event': 'ACPI_DEVICE_OST',
286      'data': { 'info': 'ACPIOSTInfo' } }
289 # @BALLOON_CHANGE:
291 # Emitted when the guest changes the actual BALLOON level. This value is
292 # equivalent to the @actual field return by the 'query-balloon' command
294 # @actual: actual level of the guest memory balloon in bytes
296 # Since: 1.2
298 { 'event': 'BALLOON_CHANGE',
299   'data': { 'actual': 'int' } }
302 # @GUEST_PANICKED:
304 # Emitted when guest OS panic is detected
306 # @action: action that has been taken, currently always "pause"
308 # Since: 1.5
310 { 'event': 'GUEST_PANICKED',
311   'data': { 'action': 'GuestPanicAction' } }
314 # @QUORUM_FAILURE:
316 # Emitted by the Quorum block driver if it fails to establish a quorum
318 # @reference: device name if defined else node name
320 # @sector-num: number of the first sector of the failed read operation
322 # @sectors-count: failed read operation sector count
324 # Since: 2.0
326 { 'event': 'QUORUM_FAILURE',
327   'data': { 'reference': 'str', 'sector-num': 'int', 'sectors-count': 'int' } }
330 # @QUORUM_REPORT_BAD:
332 # Emitted to report a corruption of a Quorum file
334 # @type: quorum operation type (Since 2.6)
336 # @error: #optional, error message. Only present on failure. This field
337 #         contains a human-readable error message. There are no semantics other
338 #         than that the block layer reported an error and clients should not
339 #         try to interpret the error string.
341 # @node-name: the graph node name of the block driver state
343 # @sector-num: number of the first sector of the failed read operation
345 # @sectors-count: failed read operation sector count
347 # Since: 2.0
349 { 'event': 'QUORUM_REPORT_BAD',
350   'data': { 'type': 'QuorumOpType', '*error': 'str', 'node-name': 'str',
351             'sector-num': 'int', 'sectors-count': 'int' } }
354 # @VSERPORT_CHANGE:
356 # Emitted when the guest opens or closes a virtio-serial port.
358 # @id: device identifier of the virtio-serial port
360 # @open: true if the guest has opened the virtio-serial port
362 # Since: 2.1
364 { 'event': 'VSERPORT_CHANGE',
365   'data': { 'id': 'str', 'open': 'bool' } }
368 # @MEM_UNPLUG_ERROR:
370 # Emitted when memory hot unplug error occurs.
372 # @device: device name
374 # @msg: Informative message
376 # Since: 2.4
378 { 'event': 'MEM_UNPLUG_ERROR',
379   'data': { 'device': 'str', 'msg': 'str' } }
382 # @DUMP_COMPLETED:
384 # Emitted when background dump has completed
386 # @result: DumpQueryResult type described in qapi-schema.json.
388 # @error: #optional human-readable error string that provides
389 #         hint on why dump failed. Only presents on failure. The
390 #         user should not try to interpret the error string.
392 # Since: 2.6
394 { 'event': 'DUMP_COMPLETED' ,
395   'data': { 'result': 'DumpQueryResult', '*error': 'str' } }