]> git.proxmox.com Git - mirror_qemu.git/blame - qapi/event.json
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
[mirror_qemu.git] / qapi / event.json
CommitLineData
d3a48372
MAL
1# -*- Mode: Python -*-
2
3##
4# = Other events
5##
6
84321831 7##
5072f7b3 8# @SHUTDOWN:
84321831 9#
2f44a08b
WX
10# Emitted when the virtual machine has shut down, indicating that qemu is
11# about to exit.
84321831
WX
12#
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
15#
16# Since: 0.12.0
12defe50
MAL
17#
18# Example:
19#
20# <- { "event": "SHUTDOWN",
21# "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
22#
84321831
WX
23##
24{ 'event': 'SHUTDOWN' }
0aab9ec3
WX
25
26##
5072f7b3 27# @POWERDOWN:
0aab9ec3
WX
28#
29# Emitted when the virtual machine is powered down through the power control
30# system, such as via ACPI.
31#
32# Since: 0.12.0
189d43be
MAL
33#
34# Example:
35#
36# <- { "event": "POWERDOWN",
37# "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
38#
0aab9ec3
WX
39##
40{ 'event': 'POWERDOWN' }
a6330785
WX
41
42##
5072f7b3 43# @RESET:
a6330785
WX
44#
45# Emitted when the virtual machine is reset
46#
47# Since: 0.12.0
7a2aae7a
MAL
48#
49# Example:
50#
51# <- { "event": "RESET",
52# "timestamp": { "seconds": 1267041653, "microseconds": 9518 } }
53#
a6330785
WX
54##
55{ 'event': 'RESET' }
a4e15de9
WX
56
57##
5072f7b3 58# @STOP:
a4e15de9
WX
59#
60# Emitted when the virtual machine is stopped
61#
62# Since: 0.12.0
138c454c
MAL
63#
64# Example:
65#
66# <- { "event": "STOP",
67# "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }
68#
a4e15de9
WX
69##
70{ 'event': 'STOP' }
591c48fb
WX
71
72##
5072f7b3 73# @RESUME:
591c48fb
WX
74#
75# Emitted when the virtual machine resumes execution
76#
77# Since: 0.12.0
a2235a04
MAL
78#
79# Example:
80#
81# <- { "event": "RESUME",
82# "timestamp": { "seconds": 1271770767, "microseconds": 582542 } }
83#
591c48fb
WX
84##
85{ 'event': 'RESUME' }
1d11a95a
WX
86
87##
5072f7b3 88# @SUSPEND:
1d11a95a
WX
89#
90# Emitted when guest enters a hardware suspension state, for example, S3 state,
91# which is sometimes called standby state
92#
93# Since: 1.1
6f3cc540
MAL
94#
95# Example:
96#
97# <- { "event": "SUSPEND",
98# "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
99#
1d11a95a
WX
100##
101{ 'event': 'SUSPEND' }
2ea4100f
WX
102
103##
5072f7b3 104# @SUSPEND_DISK:
2ea4100f
WX
105#
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
108#
109# Note: QEMU shuts down (similar to event @SHUTDOWN) when entering this state
110#
111# Since: 1.2
4de62c38
MAL
112#
113# Example:
114#
115# <- { "event": "SUSPEND_DISK",
116# "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
117#
2ea4100f
WX
118##
119{ 'event': 'SUSPEND_DISK' }
7a906f7f
WX
120
121##
5072f7b3 122# @WAKEUP:
7a906f7f
WX
123#
124# Emitted when the guest has woken up from suspend state and is running
125#
126# Since: 1.1
aa496f98
MAL
127#
128# Example:
129#
130# <- { "event": "WAKEUP",
131# "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
132#
7a906f7f
WX
133##
134{ 'event': 'WAKEUP' }
e010ad8f
WX
135
136##
5072f7b3 137# @RTC_CHANGE:
e010ad8f
WX
138#
139# Emitted when the guest changes the RTC time.
140#
141# @offset: offset between base RTC clock (as specified by -rtc base), and
142# new RTC clock value
143#
73c41bfd
MAL
144# Note: This event is rate-limited.
145#
e010ad8f 146# Since: 0.13.0
73c41bfd
MAL
147#
148# Example:
149#
150# <- { "event": "RTC_CHANGE",
151# "data": { "offset": 78 },
152# "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
153#
e010ad8f
WX
154##
155{ 'event': 'RTC_CHANGE',
156 'data': { 'offset': 'int' } }
99eaf09c
WX
157
158##
5072f7b3 159# @WATCHDOG:
99eaf09c
WX
160#
161# Emitted when the watchdog device's timer is expired
162#
163# @action: action that has been taken
164#
165# Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
166# followed respectively by the RESET, SHUTDOWN, or STOP events
167#
9ba5cec9
MAL
168# Note: This event is rate-limited.
169#
99eaf09c 170# Since: 0.13.0
9ba5cec9
MAL
171#
172# Example:
173#
174# <- { "event": "WATCHDOG",
175# "data": { "action": "reset" },
176# "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
177#
99eaf09c
WX
178##
179{ 'event': 'WATCHDOG',
180 'data': { 'action': 'WatchdogExpirationAction' } }
24b699fb
WX
181
182##
5072f7b3 183# @DEVICE_DELETED:
24b699fb
WX
184#
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.
188#
1d8bda12 189# @device: device name
24b699fb
WX
190#
191# @path: device path
192#
193# Since: 1.5
cdc94a1b
MAL
194#
195# Example:
196#
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 } }
201#
24b699fb
WX
202##
203{ 'event': 'DEVICE_DELETED',
204 'data': { '*device': 'str', 'path': 'str' } }
06150279
WX
205
206##
5072f7b3 207# @NIC_RX_FILTER_CHANGED:
06150279
WX
208#
209# Emitted once until the 'query-rx-filter' command is executed, the first event
210# will always be emitted
211#
1d8bda12 212# @name: net client name
06150279
WX
213#
214# @path: device path
215#
216# Since: 1.6
5dbdcf43
MAL
217#
218# Example:
219#
220# <- { "event": "NIC_RX_FILTER_CHANGED",
221# "data": { "name": "vnet0",
222# "path": "/machine/peripheral/vnet0/virtio-backend" },
223# "timestamp": { "seconds": 1368697518, "microseconds": 326866 } }
224# }
225#
06150279
WX
226##
227{ 'event': 'NIC_RX_FILTER_CHANGED',
228 'data': { '*name': 'str', 'path': 'str' } }
fb6ba0d5
WX
229
230##
5072f7b3 231# @VNC_CONNECTED:
fb6ba0d5
WX
232#
233# Emitted when a VNC client establishes a connection
234#
235# @server: server information
236#
237# @client: client information
238#
239# Note: This event is emitted before any authentication takes place, thus
240# the authentication ID is not provided
241#
242# Since: 0.13.0
f46052fd
MAL
243#
244# Example:
245#
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 } }
253#
fb6ba0d5
WX
254##
255{ 'event': 'VNC_CONNECTED',
256 'data': { 'server': 'VncServerInfo',
257 'client': 'VncBasicInfo' } }
258
259##
5072f7b3 260# @VNC_INITIALIZED:
fb6ba0d5
WX
261#
262# Emitted after authentication takes place (if any) and the VNC session is
263# made active
264#
265# @server: server information
266#
267# @client: client information
268#
269# Since: 0.13.0
99ab2471
MAL
270#
271# Example:
272#
273# <- { "event": "VNC_INITIALIZED",
274# "data": {
275# "server": { "auth": "sasl", "family": "ipv4",
276# "service": "5901", "host": "0.0.0.0"},
277# "client": { "family": "ipv4", "service": "46089",
278# "host": "127.0.0.1", "sasl_username": "luiz" } },
279# "timestamp": { "seconds": 1263475302, "microseconds": 150772 } }
280#
fb6ba0d5
WX
281##
282{ 'event': 'VNC_INITIALIZED',
283 'data': { 'server': 'VncServerInfo',
284 'client': 'VncClientInfo' } }
285
286##
5072f7b3 287# @VNC_DISCONNECTED:
fb6ba0d5
WX
288#
289# Emitted when the connection is closed
290#
291# @server: server information
292#
293# @client: client information
294#
295# Since: 0.13.0
659789ba
MAL
296#
297# Example:
298#
299# <- { "event": "VNC_DISCONNECTED",
300# "data": {
301# "server": { "auth": "sasl", "family": "ipv4",
302# "service": "5901", "host": "0.0.0.0" },
303# "client": { "family": "ipv4", "service": "58425",
304# "host": "127.0.0.1", "sasl_username": "luiz" } },
305# "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
306#
fb6ba0d5
WX
307##
308{ 'event': 'VNC_DISCONNECTED',
309 'data': { 'server': 'VncServerInfo',
310 'client': 'VncClientInfo' } }
7cfadb6b
WX
311
312##
5072f7b3 313# @SPICE_CONNECTED:
7cfadb6b
WX
314#
315# Emitted when a SPICE client establishes a connection
316#
317# @server: server information
318#
319# @client: client information
320#
321# Since: 0.14.0
5db66703
MAL
322#
323# Example:
324#
325# <- { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
326# "event": "SPICE_CONNECTED",
327# "data": {
328# "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
329# "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
330# }}
331#
7cfadb6b
WX
332##
333{ 'event': 'SPICE_CONNECTED',
334 'data': { 'server': 'SpiceBasicInfo',
335 'client': 'SpiceBasicInfo' } }
336
337##
5072f7b3 338# @SPICE_INITIALIZED:
7cfadb6b
WX
339#
340# Emitted after initial handshake and authentication takes place (if any)
341# and the SPICE channel is up and running
342#
343# @server: server information
344#
345# @client: client information
346#
347# Since: 0.14.0
da08e2a5
MAL
348#
349# Example:
350#
351# <- { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
352# "event": "SPICE_INITIALIZED",
353# "data": {"server": {"auth": "spice", "port": "5921",
354# "family": "ipv4", "host": "127.0.0.1"},
355# "client": {"port": "49004", "family": "ipv4", "channel-type": 3,
356# "connection-id": 1804289383, "host": "127.0.0.1",
357# "channel-id": 0, "tls": true}
358# }}
359#
7cfadb6b
WX
360##
361{ 'event': 'SPICE_INITIALIZED',
362 'data': { 'server': 'SpiceServerInfo',
363 'client': 'SpiceChannel' } }
364
365##
5072f7b3 366# @SPICE_DISCONNECTED:
7cfadb6b
WX
367#
368# Emitted when the SPICE connection is closed
369#
370# @server: server information
371#
372# @client: client information
373#
374# Since: 0.14.0
93ab0fc3
MAL
375#
376# Example:
377#
378# <- { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
379# "event": "SPICE_DISCONNECTED",
380# "data": {
381# "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
382# "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
383# }}
384#
7cfadb6b
WX
385##
386{ 'event': 'SPICE_DISCONNECTED',
387 'data': { 'server': 'SpiceBasicInfo',
388 'client': 'SpiceBasicInfo' } }
389
390##
5072f7b3 391# @SPICE_MIGRATE_COMPLETED:
7cfadb6b
WX
392#
393# Emitted when SPICE migration has completed
394#
395# Since: 1.3
e6bcb080
MAL
396#
397# Example:
398#
399# <- { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
400# "event": "SPICE_MIGRATE_COMPLETED" }
401#
7cfadb6b
WX
402##
403{ 'event': 'SPICE_MIGRATE_COMPLETED' }
5f41fbba 404
598cd2bd 405##
5072f7b3 406# @MIGRATION:
598cd2bd
JQ
407#
408# Emitted when a migration event happens
409#
410# @status: @MigrationStatus describing the current migration status.
411#
412# Since: 2.4
bce911ce
MAL
413#
414# Example:
415#
416# <- {"timestamp": {"seconds": 1432121972, "microseconds": 744001},
417# "event": "MIGRATION",
418# "data": {"status": "completed"} }
419#
598cd2bd
JQ
420##
421{ 'event': 'MIGRATION',
422 'data': {'status': 'MigrationStatus'}}
423
4addcd4f 424##
5072f7b3 425# @MIGRATION_PASS:
4addcd4f
DDAG
426#
427# Emitted from the source side of a migration at the start of each pass
428# (when it syncs the dirty bitmap)
429#
430# @pass: An incrementing count (starting at 1 on the first pass)
431#
432# Since: 2.6
231aaf3a
MAL
433#
434# Example:
435#
436# { "timestamp": {"seconds": 1449669631, "microseconds": 239225},
437# "event": "MIGRATION_PASS", "data": {"pass": 2} }
438#
4addcd4f
DDAG
439##
440{ 'event': 'MIGRATION_PASS',
441 'data': { 'pass': 'int' } }
442
5f41fbba 443##
5072f7b3 444# @ACPI_DEVICE_OST:
5f41fbba
IM
445#
446# Emitted when guest executes ACPI _OST method.
447#
5f41fbba 448# @info: ACPIOSTInfo type as described in qapi-schema.json
5807ff88
MAL
449#
450# Since: 2.1
622b3a6a
MAL
451#
452# Example:
453#
454# <- { "event": "ACPI_DEVICE_OST",
455# "data": { "device": "d1", "slot": "0",
456# "slot-type": "DIMM", "source": 1, "status": 0 } }
457#
5f41fbba
IM
458##
459{ 'event': 'ACPI_DEVICE_OST',
460 'data': { 'info': 'ACPIOSTInfo' } }
aef9d311
WX
461
462##
5072f7b3 463# @BALLOON_CHANGE:
aef9d311
WX
464#
465# Emitted when the guest changes the actual BALLOON level. This value is
466# equivalent to the @actual field return by the 'query-balloon' command
467#
468# @actual: actual level of the guest memory balloon in bytes
469#
a030dc00
MAL
470# Note: this event is rate-limited.
471#
aef9d311 472# Since: 1.2
a030dc00
MAL
473#
474# Example:
475#
476# <- { "event": "BALLOON_CHANGE",
477# "data": { "actual": 944766976 },
478# "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
479#
aef9d311
WX
480##
481{ 'event': 'BALLOON_CHANGE',
482 'data': { 'actual': 'int' } }
3a449690
WX
483
484##
5072f7b3 485# @GUEST_PANICKED:
3a449690
WX
486#
487# Emitted when guest OS panic is detected
488#
489# @action: action that has been taken, currently always "pause"
490#
1d8bda12 491# @info: information about a panic (since 2.9)
c86f106b 492#
11953be7 493# Since: 1.5
449dbec1
MAL
494#
495# Example:
496#
497# <- { "event": "GUEST_PANICKED",
498# "data": { "action": "pause" } }
499#
3a449690
WX
500##
501{ 'event': 'GUEST_PANICKED',
c86f106b 502 'data': { 'action': 'GuestPanicAction', '*info': 'GuestPanicInformation' } }
fe069d9d
WX
503
504##
5072f7b3 505# @QUORUM_FAILURE:
fe069d9d
WX
506#
507# Emitted by the Quorum block driver if it fails to establish a quorum
508#
509# @reference: device name if defined else node name
510#
511# @sector-num: number of the first sector of the failed read operation
512#
4e855baa 513# @sectors-count: failed read operation sector count
fe069d9d 514#
9dcbe9a7
MAL
515# Note: This event is rate-limited.
516#
fe069d9d 517# Since: 2.0
9dcbe9a7
MAL
518#
519# Example:
520#
521# <- { "event": "QUORUM_FAILURE",
522# "data": { "reference": "usr1", "sector-num": 345435, "sectors-count": 5 },
523# "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
524#
fe069d9d
WX
525##
526{ 'event': 'QUORUM_FAILURE',
4e855baa 527 'data': { 'reference': 'str', 'sector-num': 'int', 'sectors-count': 'int' } }
fe069d9d
WX
528
529##
5072f7b3 530# @QUORUM_REPORT_BAD:
fe069d9d
WX
531#
532# Emitted to report a corruption of a Quorum file
533#
0ae053b7
CX
534# @type: quorum operation type (Since 2.6)
535#
1d8bda12 536# @error: error message. Only present on failure. This field
fe069d9d
WX
537# contains a human-readable error message. There are no semantics other
538# than that the block layer reported an error and clients should not
539# try to interpret the error string.
540#
541# @node-name: the graph node name of the block driver state
542#
543# @sector-num: number of the first sector of the failed read operation
544#
4e855baa 545# @sectors-count: failed read operation sector count
fe069d9d 546#
2ee7fea7
MAL
547# Note: This event is rate-limited.
548#
fe069d9d 549# Since: 2.0
2ee7fea7
MAL
550#
551# Example:
552#
553# 1. Read operation
554#
555# { "event": "QUORUM_REPORT_BAD",
556# "data": { "node-name": "node0", "sector-num": 345435, "sectors-count": 5,
557# "type": "read" },
558# "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
559#
560# 2. Flush operation
561#
562# { "event": "QUORUM_REPORT_BAD",
563# "data": { "node-name": "node0", "sector-num": 0, "sectors-count": 2097120,
564# "type": "flush", "error": "Broken pipe" },
565# "timestamp": { "seconds": 1456406829, "microseconds": 291763 } }
566#
fe069d9d
WX
567##
568{ 'event': 'QUORUM_REPORT_BAD',
0ae053b7 569 'data': { 'type': 'QuorumOpType', '*error': 'str', 'node-name': 'str',
4e855baa 570 'sector-num': 'int', 'sectors-count': 'int' } }
e2ae6159
LE
571
572##
5072f7b3 573# @VSERPORT_CHANGE:
e2ae6159
LE
574#
575# Emitted when the guest opens or closes a virtio-serial port.
576#
577# @id: device identifier of the virtio-serial port
578#
579# @open: true if the guest has opened the virtio-serial port
580#
581# Since: 2.1
14df1ea1
MAL
582#
583# Example:
584#
585# <- { "event": "VSERPORT_CHANGE",
586# "data": { "id": "channel0", "open": true },
587# "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
588#
e2ae6159
LE
589##
590{ 'event': 'VSERPORT_CHANGE',
591 'data': { 'id': 'str', 'open': 'bool' } }
bc09e061
ZG
592
593##
5072f7b3 594# @MEM_UNPLUG_ERROR:
bc09e061
ZG
595#
596# Emitted when memory hot unplug error occurs.
597#
598# @device: device name
599#
600# @msg: Informative message
601#
602# Since: 2.4
e602f0b4
MAL
603#
604# Example:
605#
606# <- { "event": "MEM_UNPLUG_ERROR"
607# "data": { "device": "dimm1",
608# "msg": "acpi: device unplug for unsupported device"
609# },
610# "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
611#
bc09e061
ZG
612##
613{ 'event': 'MEM_UNPLUG_ERROR',
614 'data': { 'device': 'str', 'msg': 'str' } }
d42a0d14
PX
615
616##
5072f7b3 617# @DUMP_COMPLETED:
d42a0d14
PX
618#
619# Emitted when background dump has completed
620#
621# @result: DumpQueryResult type described in qapi-schema.json.
622#
1d8bda12 623# @error: human-readable error string that provides
d42a0d14
PX
624# hint on why dump failed. Only presents on failure. The
625# user should not try to interpret the error string.
626#
627# Since: 2.6
a102a4ac
MAL
628#
629# Example:
630#
631# { "event": "DUMP_COMPLETED",
632# "data": {"result": {"total": 1090650112, "status": "completed",
633# "completed": 1090650112} } }
634#
d42a0d14
PX
635##
636{ 'event': 'DUMP_COMPLETED' ,
637 'data': { 'result': 'DumpQueryResult', '*error': 'str' } }