audio: don't use 'Yoda conditions'
[qemu/ar7.git] / qapi / event.json
blobc51dc491e0645d3c9af3c3abc60a9f8470385886
1 ##
2 # @SHUTDOWN
4 # Emitted when the virtual machine has shut down, indicating that qemu is
5 # about to exit.
7 # Note: If the command-line option "-no-shutdown" has been specified, qemu will
8 # not exit, and a STOP event will eventually follow the SHUTDOWN event
10 # Since: 0.12.0
12 { 'event': 'SHUTDOWN' }
15 # @POWERDOWN
17 # Emitted when the virtual machine is powered down through the power control
18 # system, such as via ACPI.
20 # Since: 0.12.0
22 { 'event': 'POWERDOWN' }
25 # @RESET
27 # Emitted when the virtual machine is reset
29 # Since: 0.12.0
31 { 'event': 'RESET' }
34 # @STOP
36 # Emitted when the virtual machine is stopped
38 # Since: 0.12.0
40 { 'event': 'STOP' }
43 # @RESUME
45 # Emitted when the virtual machine resumes execution
47 # Since: 0.12.0
49 { 'event': 'RESUME' }
52 # @SUSPEND
54 # Emitted when guest enters a hardware suspension state, for example, S3 state,
55 # which is sometimes called standby state
57 # Since: 1.1
59 { 'event': 'SUSPEND' }
62 # @SUSPEND_DISK
64 # Emitted when guest enters a hardware suspension state with data saved on
65 # disk, for example, S4 state, which is sometimes called hibernate state
67 # Note: QEMU shuts down (similar to event @SHUTDOWN) when entering this state
69 # Since: 1.2
71 { 'event': 'SUSPEND_DISK' }
74 # @WAKEUP
76 # Emitted when the guest has woken up from suspend state and is running
78 # Since: 1.1
80 { 'event': 'WAKEUP' }
83 # @RTC_CHANGE
85 # Emitted when the guest changes the RTC time.
87 # @offset: offset between base RTC clock (as specified by -rtc base), and
88 #          new RTC clock value
90 # Since: 0.13.0
92 { 'event': 'RTC_CHANGE',
93   'data': { 'offset': 'int' } }
96 # @WATCHDOG
98 # Emitted when the watchdog device's timer is expired
100 # @action: action that has been taken
102 # Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
103 # followed respectively by the RESET, SHUTDOWN, or STOP events
105 # Since: 0.13.0
107 { 'event': 'WATCHDOG',
108   'data': { 'action': 'WatchdogExpirationAction' } }
111 # @DEVICE_DELETED
113 # Emitted whenever the device removal completion is acknowledged by the guest.
114 # At this point, it's safe to reuse the specified device ID. Device removal can
115 # be initiated by the guest or by HMP/QMP commands.
117 # @device: #optional, device name
119 # @path: device path
121 # Since: 1.5
123 { 'event': 'DEVICE_DELETED',
124   'data': { '*device': 'str', 'path': 'str' } }
127 # @NIC_RX_FILTER_CHANGED
129 # Emitted once until the 'query-rx-filter' command is executed, the first event
130 # will always be emitted
132 # @name: #optional, net client name
134 # @path: device path
136 # Since: 1.6
138 { 'event': 'NIC_RX_FILTER_CHANGED',
139   'data': { '*name': 'str', 'path': 'str' } }
142 # @VNC_CONNECTED
144 # Emitted when a VNC client establishes a connection
146 # @server: server information
148 # @client: client information
150 # Note: This event is emitted before any authentication takes place, thus
151 # the authentication ID is not provided
153 # Since: 0.13.0
155 { 'event': 'VNC_CONNECTED',
156   'data': { 'server': 'VncServerInfo',
157             'client': 'VncBasicInfo' } }
160 # @VNC_INITIALIZED
162 # Emitted after authentication takes place (if any) and the VNC session is
163 # made active
165 # @server: server information
167 # @client: client information
169 # Since: 0.13.0
171 { 'event': 'VNC_INITIALIZED',
172   'data': { 'server': 'VncServerInfo',
173             'client': 'VncClientInfo' } }
176 # @VNC_DISCONNECTED
178 # Emitted when the connection is closed
180 # @server: server information
182 # @client: client information
184 # Since: 0.13.0
186 { 'event': 'VNC_DISCONNECTED',
187   'data': { 'server': 'VncServerInfo',
188             'client': 'VncClientInfo' } }
191 # @SPICE_CONNECTED
193 # Emitted when a SPICE client establishes a connection
195 # @server: server information
197 # @client: client information
199 # Since: 0.14.0
201 { 'event': 'SPICE_CONNECTED',
202   'data': { 'server': 'SpiceBasicInfo',
203             'client': 'SpiceBasicInfo' } }
206 # @SPICE_INITIALIZED
208 # Emitted after initial handshake and authentication takes place (if any)
209 # and the SPICE channel is up and running
211 # @server: server information
213 # @client: client information
215 # Since: 0.14.0
217 { 'event': 'SPICE_INITIALIZED',
218   'data': { 'server': 'SpiceServerInfo',
219             'client': 'SpiceChannel' } }
222 # @SPICE_DISCONNECTED
224 # Emitted when the SPICE connection is closed
226 # @server: server information
228 # @client: client information
230 # Since: 0.14.0
232 { 'event': 'SPICE_DISCONNECTED',
233   'data': { 'server': 'SpiceBasicInfo',
234             'client': 'SpiceBasicInfo' } }
237 # @SPICE_MIGRATE_COMPLETED
239 # Emitted when SPICE migration has completed
241 # Since: 1.3
243 { 'event': 'SPICE_MIGRATE_COMPLETED' }
246 # @ACPI_DEVICE_OST
248 # Emitted when guest executes ACPI _OST method.
250 # Since: 2.1
252 # @info: ACPIOSTInfo type as described in qapi-schema.json
254 { 'event': 'ACPI_DEVICE_OST',
255      'data': { 'info': 'ACPIOSTInfo' } }
258 # @BALLOON_CHANGE
260 # Emitted when the guest changes the actual BALLOON level. This value is
261 # equivalent to the @actual field return by the 'query-balloon' command
263 # @actual: actual level of the guest memory balloon in bytes
265 # Since: 1.2
267 { 'event': 'BALLOON_CHANGE',
268   'data': { 'actual': 'int' } }
271 # @GUEST_PANICKED
273 # Emitted when guest OS panic is detected
275 # @action: action that has been taken, currently always "pause"
277 # Since: 1.5
279 { 'event': 'GUEST_PANICKED',
280   'data': { 'action': 'GuestPanicAction' } }
283 # @QUORUM_FAILURE
285 # Emitted by the Quorum block driver if it fails to establish a quorum
287 # @reference: device name if defined else node name
289 # @sector-num: number of the first sector of the failed read operation
291 # @sectors-count: failed read operation sector count
293 # Since: 2.0
295 { 'event': 'QUORUM_FAILURE',
296   'data': { 'reference': 'str', 'sector-num': 'int', 'sectors-count': 'int' } }
299 # @QUORUM_REPORT_BAD
301 # Emitted to report a corruption of a Quorum file
303 # @error: #optional, error message. Only present on failure. This field
304 #         contains a human-readable error message. There are no semantics other
305 #         than that the block layer reported an error and clients should not
306 #         try to interpret the error string.
308 # @node-name: the graph node name of the block driver state
310 # @sector-num: number of the first sector of the failed read operation
312 # @sectors-count: failed read operation sector count
314 # Since: 2.0
316 { 'event': 'QUORUM_REPORT_BAD',
317   'data': { '*error': 'str', 'node-name': 'str',
318             'sector-num': 'int', 'sectors-count': 'int' } }
321 # @VSERPORT_CHANGE
323 # Emitted when the guest opens or closes a virtio-serial port.
325 # @id: device identifier of the virtio-serial port
327 # @open: true if the guest has opened the virtio-serial port
329 # Since: 2.1
331 { 'event': 'VSERPORT_CHANGE',
332   'data': { 'id': 'str', 'open': 'bool' } }