qmp-events: move 'VNC_CONNECTED' doc to schema
[qemu/kevin.git] / qapi / event.json
blobffb07c92fc03ae71c6c31a2fa27ece65a31759a3
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 # Example:
20 # <- { "event": "SHUTDOWN",
21 #      "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
24 { 'event': 'SHUTDOWN' }
27 # @POWERDOWN:
29 # Emitted when the virtual machine is powered down through the power control
30 # system, such as via ACPI.
32 # Since: 0.12.0
34 # Example:
36 # <- { "event": "POWERDOWN",
37 #      "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
40 { 'event': 'POWERDOWN' }
43 # @RESET:
45 # Emitted when the virtual machine is reset
47 # Since: 0.12.0
49 # Example:
51 # <- { "event": "RESET",
52 #      "timestamp": { "seconds": 1267041653, "microseconds": 9518 } }
55 { 'event': 'RESET' }
58 # @STOP:
60 # Emitted when the virtual machine is stopped
62 # Since: 0.12.0
64 # Example:
66 # <- { "event": "STOP",
67 #      "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }
70 { 'event': 'STOP' }
73 # @RESUME:
75 # Emitted when the virtual machine resumes execution
77 # Since: 0.12.0
79 # Example:
81 # <- { "event": "RESUME",
82 #      "timestamp": { "seconds": 1271770767, "microseconds": 582542 } }
85 { 'event': 'RESUME' }
88 # @SUSPEND:
90 # Emitted when guest enters a hardware suspension state, for example, S3 state,
91 # which is sometimes called standby state
93 # Since: 1.1
95 # Example:
97 # <- { "event": "SUSPEND",
98 #      "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
101 { 'event': 'SUSPEND' }
104 # @SUSPEND_DISK:
106 # Emitted when guest enters a hardware suspension state with data saved on
107 # disk, for example, S4 state, which is sometimes called hibernate state
109 # Note: QEMU shuts down (similar to event @SHUTDOWN) when entering this state
111 # Since: 1.2
113 # Example:
115 # <-   { "event": "SUSPEND_DISK",
116 #        "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
119 { 'event': 'SUSPEND_DISK' }
122 # @WAKEUP:
124 # Emitted when the guest has woken up from suspend state and is running
126 # Since: 1.1
128 # Example:
130 # <- { "event": "WAKEUP",
131 #      "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
134 { 'event': 'WAKEUP' }
137 # @RTC_CHANGE:
139 # Emitted when the guest changes the RTC time.
141 # @offset: offset between base RTC clock (as specified by -rtc base), and
142 #          new RTC clock value
144 # Note: This event is rate-limited.
146 # Since: 0.13.0
148 # Example:
150 # <-   { "event": "RTC_CHANGE",
151 #        "data": { "offset": 78 },
152 #        "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
155 { 'event': 'RTC_CHANGE',
156   'data': { 'offset': 'int' } }
159 # @WATCHDOG:
161 # Emitted when the watchdog device's timer is expired
163 # @action: action that has been taken
165 # Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
166 # followed respectively by the RESET, SHUTDOWN, or STOP events
168 # Note: This event is rate-limited.
170 # Since: 0.13.0
172 # Example:
174 # <- { "event": "WATCHDOG",
175 #      "data": { "action": "reset" },
176 #      "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
179 { 'event': 'WATCHDOG',
180   'data': { 'action': 'WatchdogExpirationAction' } }
183 # @DEVICE_DELETED:
185 # Emitted whenever the device removal completion is acknowledged by the guest.
186 # At this point, it's safe to reuse the specified device ID. Device removal can
187 # be initiated by the guest or by HMP/QMP commands.
189 # @device: #optional, device name
191 # @path: device path
193 # Since: 1.5
195 # Example:
197 # <- { "event": "DEVICE_DELETED",
198 #      "data": { "device": "virtio-net-pci-0",
199 #                "path": "/machine/peripheral/virtio-net-pci-0" },
200 #      "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
203 { 'event': 'DEVICE_DELETED',
204   'data': { '*device': 'str', 'path': 'str' } }
207 # @NIC_RX_FILTER_CHANGED:
209 # Emitted once until the 'query-rx-filter' command is executed, the first event
210 # will always be emitted
212 # @name: #optional, net client name
214 # @path: device path
216 # Since: 1.6
218 # Example:
220 # <- { "event": "NIC_RX_FILTER_CHANGED",
221 #      "data": { "name": "vnet0",
222 #                "path": "/machine/peripheral/vnet0/virtio-backend" },
223 #      "timestamp": { "seconds": 1368697518, "microseconds": 326866 } }
224 #    }
227 { 'event': 'NIC_RX_FILTER_CHANGED',
228   'data': { '*name': 'str', 'path': 'str' } }
231 # @VNC_CONNECTED:
233 # Emitted when a VNC client establishes a connection
235 # @server: server information
237 # @client: client information
239 # Note: This event is emitted before any authentication takes place, thus
240 # the authentication ID is not provided
242 # Since: 0.13.0
244 # Example:
246 # <- { "event": "VNC_CONNECTED",
247 #      "data": {
248 #            "server": { "auth": "sasl", "family": "ipv4",
249 #                        "service": "5901", "host": "0.0.0.0" },
250 #            "client": { "family": "ipv4", "service": "58425",
251 #                        "host": "127.0.0.1" } },
252 #      "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
255 { 'event': 'VNC_CONNECTED',
256   'data': { 'server': 'VncServerInfo',
257             'client': 'VncBasicInfo' } }
260 # @VNC_INITIALIZED:
262 # Emitted after authentication takes place (if any) and the VNC session is
263 # made active
265 # @server: server information
267 # @client: client information
269 # Since: 0.13.0
271 { 'event': 'VNC_INITIALIZED',
272   'data': { 'server': 'VncServerInfo',
273             'client': 'VncClientInfo' } }
276 # @VNC_DISCONNECTED:
278 # Emitted when the connection is closed
280 # @server: server information
282 # @client: client information
284 # Since: 0.13.0
286 { 'event': 'VNC_DISCONNECTED',
287   'data': { 'server': 'VncServerInfo',
288             'client': 'VncClientInfo' } }
291 # @SPICE_CONNECTED:
293 # Emitted when a SPICE client establishes a connection
295 # @server: server information
297 # @client: client information
299 # Since: 0.14.0
301 { 'event': 'SPICE_CONNECTED',
302   'data': { 'server': 'SpiceBasicInfo',
303             'client': 'SpiceBasicInfo' } }
306 # @SPICE_INITIALIZED:
308 # Emitted after initial handshake and authentication takes place (if any)
309 # and the SPICE channel is up and running
311 # @server: server information
313 # @client: client information
315 # Since: 0.14.0
317 { 'event': 'SPICE_INITIALIZED',
318   'data': { 'server': 'SpiceServerInfo',
319             'client': 'SpiceChannel' } }
322 # @SPICE_DISCONNECTED:
324 # Emitted when the SPICE connection is closed
326 # @server: server information
328 # @client: client information
330 # Since: 0.14.0
332 { 'event': 'SPICE_DISCONNECTED',
333   'data': { 'server': 'SpiceBasicInfo',
334             'client': 'SpiceBasicInfo' } }
337 # @SPICE_MIGRATE_COMPLETED:
339 # Emitted when SPICE migration has completed
341 # Since: 1.3
343 { 'event': 'SPICE_MIGRATE_COMPLETED' }
346 # @MIGRATION:
348 # Emitted when a migration event happens
350 # @status: @MigrationStatus describing the current migration status.
352 # Since: 2.4
354 { 'event': 'MIGRATION',
355   'data': {'status': 'MigrationStatus'}}
358 # @MIGRATION_PASS:
360 # Emitted from the source side of a migration at the start of each pass
361 # (when it syncs the dirty bitmap)
363 # @pass: An incrementing count (starting at 1 on the first pass)
365 # Since: 2.6
367 { 'event': 'MIGRATION_PASS',
368   'data': { 'pass': 'int' } }
371 # @ACPI_DEVICE_OST:
373 # Emitted when guest executes ACPI _OST method.
375 # @info: ACPIOSTInfo type as described in qapi-schema.json
377 # Since: 2.1
379 { 'event': 'ACPI_DEVICE_OST',
380      'data': { 'info': 'ACPIOSTInfo' } }
383 # @BALLOON_CHANGE:
385 # Emitted when the guest changes the actual BALLOON level. This value is
386 # equivalent to the @actual field return by the 'query-balloon' command
388 # @actual: actual level of the guest memory balloon in bytes
390 # Since: 1.2
392 { 'event': 'BALLOON_CHANGE',
393   'data': { 'actual': 'int' } }
396 # @GUEST_PANICKED:
398 # Emitted when guest OS panic is detected
400 # @action: action that has been taken, currently always "pause"
402 # Since: 1.5
404 { 'event': 'GUEST_PANICKED',
405   'data': { 'action': 'GuestPanicAction' } }
408 # @QUORUM_FAILURE:
410 # Emitted by the Quorum block driver if it fails to establish a quorum
412 # @reference: device name if defined else node name
414 # @sector-num: number of the first sector of the failed read operation
416 # @sectors-count: failed read operation sector count
418 # Since: 2.0
420 { 'event': 'QUORUM_FAILURE',
421   'data': { 'reference': 'str', 'sector-num': 'int', 'sectors-count': 'int' } }
424 # @QUORUM_REPORT_BAD:
426 # Emitted to report a corruption of a Quorum file
428 # @type: quorum operation type (Since 2.6)
430 # @error: #optional, error message. Only present on failure. This field
431 #         contains a human-readable error message. There are no semantics other
432 #         than that the block layer reported an error and clients should not
433 #         try to interpret the error string.
435 # @node-name: the graph node name of the block driver state
437 # @sector-num: number of the first sector of the failed read operation
439 # @sectors-count: failed read operation sector count
441 # Since: 2.0
443 { 'event': 'QUORUM_REPORT_BAD',
444   'data': { 'type': 'QuorumOpType', '*error': 'str', 'node-name': 'str',
445             'sector-num': 'int', 'sectors-count': 'int' } }
448 # @VSERPORT_CHANGE:
450 # Emitted when the guest opens or closes a virtio-serial port.
452 # @id: device identifier of the virtio-serial port
454 # @open: true if the guest has opened the virtio-serial port
456 # Since: 2.1
458 { 'event': 'VSERPORT_CHANGE',
459   'data': { 'id': 'str', 'open': 'bool' } }
462 # @MEM_UNPLUG_ERROR:
464 # Emitted when memory hot unplug error occurs.
466 # @device: device name
468 # @msg: Informative message
470 # Since: 2.4
472 { 'event': 'MEM_UNPLUG_ERROR',
473   'data': { 'device': 'str', 'msg': 'str' } }
476 # @DUMP_COMPLETED:
478 # Emitted when background dump has completed
480 # @result: DumpQueryResult type described in qapi-schema.json.
482 # @error: #optional human-readable error string that provides
483 #         hint on why dump failed. Only presents on failure. The
484 #         user should not try to interpret the error string.
486 # Since: 2.6
488 { 'event': 'DUMP_COMPLETED' ,
489   'data': { 'result': 'DumpQueryResult', '*error': 'str' } }