Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 1 | QEMU Machine Protocol Events |
| 2 | ============================ |
| 3 | |
| 4 | ACPI_DEVICE_OST |
| 5 | --------------- |
| 6 | |
| 7 | Emitted when guest executes ACPI _OST method. |
| 8 | |
| 9 | - data: ACPIOSTInfo type as described in qapi-schema.json |
| 10 | |
| 11 | { "event": "ACPI_DEVICE_OST", |
| 12 | "data": { "device": "d1", "slot": "0", "slot-type": "DIMM", "source": 1, "status": 0 } } |
| 13 | |
| 14 | BALLOON_CHANGE |
| 15 | -------------- |
| 16 | |
| 17 | Emitted when the guest changes the actual BALLOON level. This |
| 18 | value is equivalent to the 'actual' field return by the |
| 19 | 'query-balloon' command |
| 20 | |
| 21 | Data: |
| 22 | |
| 23 | - "actual": actual level of the guest memory balloon in bytes (json-number) |
| 24 | |
| 25 | Example: |
| 26 | |
| 27 | { "event": "BALLOON_CHANGE", |
| 28 | "data": { "actual": 944766976 }, |
| 29 | "timestamp": { "seconds": 1267020223, "microseconds": 435656 } } |
| 30 | |
| 31 | BLOCK_IMAGE_CORRUPTED |
| 32 | --------------------- |
| 33 | |
| 34 | Emitted when a disk image is being marked corrupt. |
| 35 | |
| 36 | Data: |
| 37 | |
| 38 | - "device": Device name (json-string) |
| 39 | - "msg": Informative message (e.g., reason for the corruption) (json-string) |
| 40 | - "offset": If the corruption resulted from an image access, this is the access |
| 41 | offset into the image (json-int) |
| 42 | - "size": If the corruption resulted from an image access, this is the access |
| 43 | size (json-int) |
| 44 | |
| 45 | Example: |
| 46 | |
| 47 | { "event": "BLOCK_IMAGE_CORRUPTED", |
| 48 | "data": { "device": "ide0-hd0", |
| 49 | "msg": "Prevented active L1 table overwrite", "offset": 196608, |
| 50 | "size": 65536 }, |
| 51 | "timestamp": { "seconds": 1378126126, "microseconds": 966463 } } |
| 52 | |
| 53 | BLOCK_IO_ERROR |
| 54 | -------------- |
| 55 | |
| 56 | Emitted when a disk I/O error occurs. |
| 57 | |
| 58 | Data: |
| 59 | |
| 60 | - "device": device name (json-string) |
| 61 | - "operation": I/O operation (json-string, "read" or "write") |
| 62 | - "action": action that has been taken, it's one of the following (json-string): |
| 63 | "ignore": error has been ignored |
| 64 | "report": error has been reported to the device |
| 65 | "stop": the VM is going to stop because of the error |
| 66 | |
| 67 | Example: |
| 68 | |
| 69 | { "event": "BLOCK_IO_ERROR", |
| 70 | "data": { "device": "ide0-hd1", |
| 71 | "operation": "write", |
| 72 | "action": "stop" }, |
| 73 | "timestamp": { "seconds": 1265044230, "microseconds": 450486 } } |
| 74 | |
| 75 | Note: If action is "stop", a STOP event will eventually follow the |
| 76 | BLOCK_IO_ERROR event. |
| 77 | |
| 78 | BLOCK_JOB_CANCELLED |
| 79 | ------------------- |
| 80 | |
| 81 | Emitted when a block job has been cancelled. |
| 82 | |
| 83 | Data: |
| 84 | |
| 85 | - "type": Job type (json-string; "stream" for image streaming |
| 86 | "commit" for block commit) |
| 87 | - "device": Device name (json-string) |
| 88 | - "len": Maximum progress value (json-int) |
| 89 | - "offset": Current progress value (json-int) |
| 90 | On success this is equal to len. |
| 91 | On failure this is less than len. |
| 92 | - "speed": Rate limit, bytes per second (json-int) |
| 93 | |
| 94 | Example: |
| 95 | |
| 96 | { "event": "BLOCK_JOB_CANCELLED", |
| 97 | "data": { "type": "stream", "device": "virtio-disk0", |
| 98 | "len": 10737418240, "offset": 134217728, |
| 99 | "speed": 0 }, |
| 100 | "timestamp": { "seconds": 1267061043, "microseconds": 959568 } } |
| 101 | |
| 102 | BLOCK_JOB_COMPLETED |
| 103 | ------------------- |
| 104 | |
| 105 | Emitted when a block job has completed. |
| 106 | |
| 107 | Data: |
| 108 | |
| 109 | - "type": Job type (json-string; "stream" for image streaming |
| 110 | "commit" for block commit) |
| 111 | - "device": Device name (json-string) |
| 112 | - "len": Maximum progress value (json-int) |
| 113 | - "offset": Current progress value (json-int) |
| 114 | On success this is equal to len. |
| 115 | On failure this is less than len. |
| 116 | - "speed": Rate limit, bytes per second (json-int) |
| 117 | - "error": Error message (json-string, optional) |
| 118 | Only present on failure. This field contains a human-readable |
| 119 | error message. There are no semantics other than that streaming |
| 120 | has failed and clients should not try to interpret the error |
| 121 | string. |
| 122 | |
| 123 | Example: |
| 124 | |
| 125 | { "event": "BLOCK_JOB_COMPLETED", |
| 126 | "data": { "type": "stream", "device": "virtio-disk0", |
| 127 | "len": 10737418240, "offset": 10737418240, |
| 128 | "speed": 0 }, |
| 129 | "timestamp": { "seconds": 1267061043, "microseconds": 959568 } } |
| 130 | |
| 131 | BLOCK_JOB_ERROR |
| 132 | --------------- |
| 133 | |
| 134 | Emitted when a block job encounters an error. |
| 135 | |
| 136 | Data: |
| 137 | |
| 138 | - "device": device name (json-string) |
| 139 | - "operation": I/O operation (json-string, "read" or "write") |
| 140 | - "action": action that has been taken, it's one of the following (json-string): |
| 141 | "ignore": error has been ignored, the job may fail later |
| 142 | "report": error will be reported and the job canceled |
| 143 | "stop": error caused job to be paused |
| 144 | |
| 145 | Example: |
| 146 | |
| 147 | { "event": "BLOCK_JOB_ERROR", |
| 148 | "data": { "device": "ide0-hd1", |
| 149 | "operation": "write", |
| 150 | "action": "stop" }, |
| 151 | "timestamp": { "seconds": 1265044230, "microseconds": 450486 } } |
| 152 | |
| 153 | BLOCK_JOB_READY |
| 154 | --------------- |
| 155 | |
| 156 | Emitted when a block job is ready to complete. |
| 157 | |
| 158 | Data: |
| 159 | |
Markus Armbruster | a22d8e4 | 2014-06-27 19:24:15 +0200 | [diff] [blame] | 160 | - "type": Job type (json-string; "stream" for image streaming |
| 161 | "commit" for block commit) |
| 162 | - "device": Device name (json-string) |
| 163 | - "len": Maximum progress value (json-int) |
| 164 | - "offset": Current progress value (json-int) |
| 165 | On success this is equal to len. |
| 166 | On failure this is less than len. |
| 167 | - "speed": Rate limit, bytes per second (json-int) |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 168 | |
| 169 | Example: |
| 170 | |
| 171 | { "event": "BLOCK_JOB_READY", |
Markus Armbruster | a22d8e4 | 2014-06-27 19:24:15 +0200 | [diff] [blame] | 172 | "data": { "device": "drive0", "type": "mirror", "speed": 0, |
| 173 | "len": 2097152, "offset": 2097152 } |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 174 | "timestamp": { "seconds": 1265044230, "microseconds": 450486 } } |
| 175 | |
| 176 | Note: The "ready to complete" status is always reset by a BLOCK_JOB_ERROR |
| 177 | event. |
| 178 | |
| 179 | DEVICE_DELETED |
| 180 | -------------- |
| 181 | |
| 182 | Emitted whenever the device removal completion is acknowledged |
| 183 | by the guest. |
| 184 | At this point, it's safe to reuse the specified device ID. |
| 185 | Device removal can be initiated by the guest or by HMP/QMP commands. |
| 186 | |
| 187 | Data: |
| 188 | |
| 189 | - "device": device name (json-string, optional) |
| 190 | - "path": device path (json-string) |
| 191 | |
| 192 | { "event": "DEVICE_DELETED", |
| 193 | "data": { "device": "virtio-net-pci-0", |
| 194 | "path": "/machine/peripheral/virtio-net-pci-0" }, |
| 195 | "timestamp": { "seconds": 1265044230, "microseconds": 450486 } } |
| 196 | |
| 197 | DEVICE_TRAY_MOVED |
| 198 | ----------------- |
| 199 | |
| 200 | It's emitted whenever the tray of a removable device is moved by the guest |
| 201 | or by HMP/QMP commands. |
| 202 | |
| 203 | Data: |
| 204 | |
| 205 | - "device": device name (json-string) |
| 206 | - "tray-open": true if the tray has been opened or false if it has been closed |
| 207 | (json-bool) |
| 208 | |
| 209 | { "event": "DEVICE_TRAY_MOVED", |
| 210 | "data": { "device": "ide1-cd0", |
| 211 | "tray-open": true |
| 212 | }, |
| 213 | "timestamp": { "seconds": 1265044230, "microseconds": 450486 } } |
| 214 | |
| 215 | GUEST_PANICKED |
| 216 | -------------- |
| 217 | |
| 218 | Emitted when guest OS panic is detected. |
| 219 | |
| 220 | Data: |
| 221 | |
| 222 | - "action": Action that has been taken (json-string, currently always "pause"). |
| 223 | |
| 224 | Example: |
| 225 | |
| 226 | { "event": "GUEST_PANICKED", |
| 227 | "data": { "action": "pause" } } |
| 228 | |
| 229 | NIC_RX_FILTER_CHANGED |
| 230 | --------------------- |
| 231 | |
| 232 | The event is emitted once until the query command is executed, |
| 233 | the first event will always be emitted. |
| 234 | |
| 235 | Data: |
| 236 | |
| 237 | - "name": net client name (json-string) |
| 238 | - "path": device path (json-string) |
| 239 | |
| 240 | { "event": "NIC_RX_FILTER_CHANGED", |
| 241 | "data": { "name": "vnet0", |
| 242 | "path": "/machine/peripheral/vnet0/virtio-backend" }, |
| 243 | "timestamp": { "seconds": 1368697518, "microseconds": 326866 } } |
| 244 | } |
| 245 | |
Eric Blake | db52658 | 2014-07-23 06:26:17 -0600 | [diff] [blame] | 246 | POWERDOWN |
| 247 | --------- |
| 248 | |
| 249 | Emitted when the Virtual Machine is powered down through the power |
| 250 | control system, such as via ACPI. |
| 251 | |
| 252 | Data: None. |
| 253 | |
| 254 | Example: |
| 255 | |
| 256 | { "event": "POWERDOWN", |
| 257 | "timestamp": { "seconds": 1267040730, "microseconds": 682951 } } |
| 258 | |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 259 | QUORUM_FAILURE |
| 260 | -------------- |
| 261 | |
| 262 | Emitted by the Quorum block driver if it fails to establish a quorum. |
| 263 | |
| 264 | Data: |
| 265 | |
Benoît Canet | 4e855ba | 2014-06-30 17:05:41 +0200 | [diff] [blame] | 266 | - "reference": device name if defined else node name. |
| 267 | - "sector-num": Number of the first sector of the failed read operation. |
| 268 | - "sectors-count": Failed read operation sector count. |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 269 | |
| 270 | Example: |
| 271 | |
| 272 | { "event": "QUORUM_FAILURE", |
Benoît Canet | 4e855ba | 2014-06-30 17:05:41 +0200 | [diff] [blame] | 273 | "data": { "reference": "usr1", "sector-num": 345435, "sectors-count": 5 }, |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 274 | "timestamp": { "seconds": 1344522075, "microseconds": 745528 } } |
| 275 | |
| 276 | QUORUM_REPORT_BAD |
| 277 | ----------------- |
| 278 | |
| 279 | Emitted to report a corruption of a Quorum file. |
| 280 | |
| 281 | Data: |
| 282 | |
Benoît Canet | 4e855ba | 2014-06-30 17:05:41 +0200 | [diff] [blame] | 283 | - "error": Error message (json-string, optional) |
| 284 | Only present on failure. This field contains a human-readable |
| 285 | error message. There are no semantics other than that the |
| 286 | block layer reported an error and clients should not try to |
| 287 | interpret the error string. |
| 288 | - "node-name": The graph node name of the block driver state. |
| 289 | - "sector-num": Number of the first sector of the failed read operation. |
| 290 | - "sectors-count": Failed read operation sector count. |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 291 | |
| 292 | Example: |
| 293 | |
| 294 | { "event": "QUORUM_REPORT_BAD", |
Benoît Canet | 4e855ba | 2014-06-30 17:05:41 +0200 | [diff] [blame] | 295 | "data": { "node-name": "1.raw", "sector-num": 345435, "sectors-count": 5 }, |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 296 | "timestamp": { "seconds": 1344522075, "microseconds": 745528 } } |
| 297 | |
| 298 | RESET |
| 299 | ----- |
| 300 | |
Eric Blake | 1454ac6 | 2014-07-23 06:26:14 -0600 | [diff] [blame] | 301 | Emitted when the Virtual Machine is reset. |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 302 | |
| 303 | Data: None. |
| 304 | |
| 305 | Example: |
| 306 | |
| 307 | { "event": "RESET", |
| 308 | "timestamp": { "seconds": 1267041653, "microseconds": 9518 } } |
| 309 | |
| 310 | RESUME |
| 311 | ------ |
| 312 | |
| 313 | Emitted when the Virtual Machine resumes execution. |
| 314 | |
| 315 | Data: None. |
| 316 | |
| 317 | Example: |
| 318 | |
| 319 | { "event": "RESUME", |
| 320 | "timestamp": { "seconds": 1271770767, "microseconds": 582542 } } |
| 321 | |
| 322 | RTC_CHANGE |
| 323 | ---------- |
| 324 | |
| 325 | Emitted when the guest changes the RTC time. |
| 326 | |
| 327 | Data: |
| 328 | |
| 329 | - "offset": Offset between base RTC clock (as specified by -rtc base), and |
| 330 | new RTC clock value (json-number) |
| 331 | |
| 332 | Example: |
| 333 | |
| 334 | { "event": "RTC_CHANGE", |
| 335 | "data": { "offset": 78 }, |
| 336 | "timestamp": { "seconds": 1267020223, "microseconds": 435656 } } |
| 337 | |
| 338 | SHUTDOWN |
| 339 | -------- |
| 340 | |
Eric Blake | db52658 | 2014-07-23 06:26:17 -0600 | [diff] [blame] | 341 | Emitted when the Virtual Machine has shut down, indicating that qemu |
| 342 | is about to exit. |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 343 | |
| 344 | Data: None. |
| 345 | |
| 346 | Example: |
| 347 | |
| 348 | { "event": "SHUTDOWN", |
| 349 | "timestamp": { "seconds": 1267040730, "microseconds": 682951 } } |
| 350 | |
| 351 | Note: If the command-line option "-no-shutdown" has been specified, a STOP |
| 352 | event will eventually follow the SHUTDOWN event. |
| 353 | |
Eric Blake | f8ecd94 | 2014-07-23 06:26:15 -0600 | [diff] [blame] | 354 | SPICE_CONNECTED |
| 355 | --------------- |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 356 | |
Eric Blake | f8ecd94 | 2014-07-23 06:26:15 -0600 | [diff] [blame] | 357 | Emitted when a SPICE client connects. |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 358 | |
| 359 | Data: |
| 360 | |
| 361 | - "server": Server information (json-object) |
| 362 | - "host": IP address (json-string) |
| 363 | - "port": port number (json-string) |
| 364 | - "family": address family (json-string, "ipv4" or "ipv6") |
| 365 | - "client": Client information (json-object) |
| 366 | - "host": IP address (json-string) |
| 367 | - "port": port number (json-string) |
| 368 | - "family": address family (json-string, "ipv4" or "ipv6") |
| 369 | |
| 370 | Example: |
| 371 | |
| 372 | { "timestamp": {"seconds": 1290688046, "microseconds": 388707}, |
| 373 | "event": "SPICE_CONNECTED", |
| 374 | "data": { |
| 375 | "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"}, |
| 376 | "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"} |
| 377 | }} |
| 378 | |
Eric Blake | f8ecd94 | 2014-07-23 06:26:15 -0600 | [diff] [blame] | 379 | SPICE_DISCONNECTED |
| 380 | ------------------ |
| 381 | |
| 382 | Emitted when a SPICE client disconnects. |
| 383 | |
| 384 | Data: |
| 385 | |
| 386 | - "server": Server information (json-object) |
| 387 | - "host": IP address (json-string) |
| 388 | - "port": port number (json-string) |
| 389 | - "family": address family (json-string, "ipv4" or "ipv6") |
| 390 | - "client": Client information (json-object) |
| 391 | - "host": IP address (json-string) |
| 392 | - "port": port number (json-string) |
| 393 | - "family": address family (json-string, "ipv4" or "ipv6") |
| 394 | |
| 395 | Example: |
| 396 | |
| 397 | { "timestamp": {"seconds": 1290688046, "microseconds": 388707}, |
| 398 | "event": "SPICE_DISCONNECTED", |
| 399 | "data": { |
| 400 | "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"}, |
| 401 | "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"} |
| 402 | }} |
| 403 | |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 404 | SPICE_INITIALIZED |
| 405 | ----------------- |
| 406 | |
| 407 | Emitted after initial handshake and authentication takes place (if any) |
Eric Blake | 1454ac6 | 2014-07-23 06:26:14 -0600 | [diff] [blame] | 408 | and the SPICE channel is up and running |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 409 | |
| 410 | Data: |
| 411 | |
| 412 | - "server": Server information (json-object) |
| 413 | - "host": IP address (json-string) |
| 414 | - "port": port number (json-string) |
| 415 | - "family": address family (json-string, "ipv4" or "ipv6") |
| 416 | - "auth": authentication method (json-string, optional) |
| 417 | - "client": Client information (json-object) |
| 418 | - "host": IP address (json-string) |
| 419 | - "port": port number (json-string) |
| 420 | - "family": address family (json-string, "ipv4" or "ipv6") |
| 421 | - "connection-id": spice connection id. All channels with the same id |
| 422 | belong to the same spice session (json-int) |
| 423 | - "channel-type": channel type. "1" is the main control channel, filter for |
| 424 | this one if you want track spice sessions only (json-int) |
| 425 | - "channel-id": channel id. Usually "0", might be different needed when |
| 426 | multiple channels of the same type exist, such as multiple |
| 427 | display channels in a multihead setup (json-int) |
| 428 | - "tls": whevener the channel is encrypted (json-bool) |
| 429 | |
| 430 | Example: |
| 431 | |
| 432 | { "timestamp": {"seconds": 1290688046, "microseconds": 417172}, |
| 433 | "event": "SPICE_INITIALIZED", |
| 434 | "data": {"server": {"auth": "spice", "port": "5921", |
| 435 | "family": "ipv4", "host": "127.0.0.1"}, |
| 436 | "client": {"port": "49004", "family": "ipv4", "channel-type": 3, |
| 437 | "connection-id": 1804289383, "host": "127.0.0.1", |
| 438 | "channel-id": 0, "tls": true} |
| 439 | }} |
| 440 | |
Eric Blake | 5e25500 | 2014-07-23 06:26:16 -0600 | [diff] [blame] | 441 | SPICE_MIGRATE_COMPLETED |
| 442 | ----------------------- |
| 443 | |
| 444 | Emitted when SPICE migration has completed |
| 445 | |
| 446 | Data: None. |
| 447 | |
| 448 | Example: |
| 449 | |
| 450 | { "timestamp": {"seconds": 1290688046, "microseconds": 417172}, |
| 451 | "event": "SPICE_MIGRATE_COMPLETED" } |
| 452 | |
| 453 | |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 454 | STOP |
| 455 | ---- |
| 456 | |
| 457 | Emitted when the Virtual Machine is stopped. |
| 458 | |
| 459 | Data: None. |
| 460 | |
| 461 | Example: |
| 462 | |
| 463 | { "event": "STOP", |
| 464 | "timestamp": { "seconds": 1267041730, "microseconds": 281295 } } |
| 465 | |
| 466 | SUSPEND |
| 467 | ------- |
| 468 | |
| 469 | Emitted when guest enters S3 state. |
| 470 | |
| 471 | Data: None. |
| 472 | |
| 473 | Example: |
| 474 | |
| 475 | { "event": "SUSPEND", |
| 476 | "timestamp": { "seconds": 1344456160, "microseconds": 309119 } } |
| 477 | |
| 478 | SUSPEND_DISK |
| 479 | ------------ |
| 480 | |
| 481 | Emitted when the guest makes a request to enter S4 state. |
| 482 | |
| 483 | Data: None. |
| 484 | |
| 485 | Example: |
| 486 | |
| 487 | { "event": "SUSPEND_DISK", |
| 488 | "timestamp": { "seconds": 1344456160, "microseconds": 309119 } } |
| 489 | |
| 490 | Note: QEMU shuts down when entering S4 state. |
| 491 | |
| 492 | VNC_CONNECTED |
| 493 | ------------- |
| 494 | |
| 495 | Emitted when a VNC client establishes a connection. |
| 496 | |
| 497 | Data: |
| 498 | |
| 499 | - "server": Server information (json-object) |
| 500 | - "host": IP address (json-string) |
| 501 | - "service": port number (json-string) |
| 502 | - "family": address family (json-string, "ipv4" or "ipv6") |
| 503 | - "auth": authentication method (json-string, optional) |
| 504 | - "client": Client information (json-object) |
| 505 | - "host": IP address (json-string) |
| 506 | - "service": port number (json-string) |
| 507 | - "family": address family (json-string, "ipv4" or "ipv6") |
| 508 | |
| 509 | Example: |
| 510 | |
| 511 | { "event": "VNC_CONNECTED", |
| 512 | "data": { |
| 513 | "server": { "auth": "sasl", "family": "ipv4", |
| 514 | "service": "5901", "host": "0.0.0.0" }, |
| 515 | "client": { "family": "ipv4", "service": "58425", |
| 516 | "host": "127.0.0.1" } }, |
| 517 | "timestamp": { "seconds": 1262976601, "microseconds": 975795 } } |
| 518 | |
| 519 | |
| 520 | Note: This event is emitted before any authentication takes place, thus |
| 521 | the authentication ID is not provided. |
| 522 | |
| 523 | VNC_DISCONNECTED |
| 524 | ---------------- |
| 525 | |
| 526 | Emitted when the connection is closed. |
| 527 | |
| 528 | Data: |
| 529 | |
| 530 | - "server": Server information (json-object) |
| 531 | - "host": IP address (json-string) |
| 532 | - "service": port number (json-string) |
| 533 | - "family": address family (json-string, "ipv4" or "ipv6") |
| 534 | - "auth": authentication method (json-string, optional) |
| 535 | - "client": Client information (json-object) |
| 536 | - "host": IP address (json-string) |
| 537 | - "service": port number (json-string) |
| 538 | - "family": address family (json-string, "ipv4" or "ipv6") |
| 539 | - "x509_dname": TLS dname (json-string, optional) |
| 540 | - "sasl_username": SASL username (json-string, optional) |
| 541 | |
| 542 | Example: |
| 543 | |
| 544 | { "event": "VNC_DISCONNECTED", |
| 545 | "data": { |
| 546 | "server": { "auth": "sasl", "family": "ipv4", |
| 547 | "service": "5901", "host": "0.0.0.0" }, |
| 548 | "client": { "family": "ipv4", "service": "58425", |
| 549 | "host": "127.0.0.1", "sasl_username": "luiz" } }, |
| 550 | "timestamp": { "seconds": 1262976601, "microseconds": 975795 } } |
| 551 | |
| 552 | VNC_INITIALIZED |
| 553 | --------------- |
| 554 | |
| 555 | Emitted after authentication takes place (if any) and the VNC session is |
| 556 | made active. |
| 557 | |
| 558 | Data: |
| 559 | |
| 560 | - "server": Server information (json-object) |
| 561 | - "host": IP address (json-string) |
| 562 | - "service": port number (json-string) |
| 563 | - "family": address family (json-string, "ipv4" or "ipv6") |
| 564 | - "auth": authentication method (json-string, optional) |
| 565 | - "client": Client information (json-object) |
| 566 | - "host": IP address (json-string) |
| 567 | - "service": port number (json-string) |
| 568 | - "family": address family (json-string, "ipv4" or "ipv6") |
| 569 | - "x509_dname": TLS dname (json-string, optional) |
| 570 | - "sasl_username": SASL username (json-string, optional) |
| 571 | |
| 572 | Example: |
| 573 | |
| 574 | { "event": "VNC_INITIALIZED", |
| 575 | "data": { |
| 576 | "server": { "auth": "sasl", "family": "ipv4", |
| 577 | "service": "5901", "host": "0.0.0.0"}, |
| 578 | "client": { "family": "ipv4", "service": "46089", |
| 579 | "host": "127.0.0.1", "sasl_username": "luiz" } }, |
| 580 | "timestamp": { "seconds": 1263475302, "microseconds": 150772 } } |
| 581 | |
Eric Blake | 032badd | 2014-07-23 06:26:18 -0600 | [diff] [blame] | 582 | VSERPORT_CHANGE |
| 583 | --------------- |
| 584 | |
| 585 | Emitted when the guest opens or closes a virtio-serial port. |
| 586 | |
| 587 | Data: |
| 588 | |
| 589 | - "id": device identifier of the virtio-serial port (json-string) |
| 590 | - "open": true if the guest has opened the virtio-serial port (json-bool) |
| 591 | |
| 592 | Example: |
| 593 | |
| 594 | { "event": "VSERPORT_CHANGE", |
| 595 | "data": { "id": "channel0", "open": true }, |
| 596 | "timestamp": { "seconds": 1401385907, "microseconds": 422329 } } |
| 597 | |
Luiz Capitulino | dfab489 | 2014-06-26 09:33:47 -0400 | [diff] [blame] | 598 | WAKEUP |
| 599 | ------ |
| 600 | |
| 601 | Emitted when the guest has woken up from S3 and is running. |
| 602 | |
| 603 | Data: None. |
| 604 | |
| 605 | Example: |
| 606 | |
| 607 | { "event": "WAKEUP", |
| 608 | "timestamp": { "seconds": 1344522075, "microseconds": 745528 } } |
| 609 | |
| 610 | WATCHDOG |
| 611 | -------- |
| 612 | |
| 613 | Emitted when the watchdog device's timer is expired. |
| 614 | |
| 615 | Data: |
| 616 | |
| 617 | - "action": Action that has been taken, it's one of the following (json-string): |
| 618 | "reset", "shutdown", "poweroff", "pause", "debug", or "none" |
| 619 | |
| 620 | Example: |
| 621 | |
| 622 | { "event": "WATCHDOG", |
| 623 | "data": { "action": "reset" }, |
| 624 | "timestamp": { "seconds": 1267061043, "microseconds": 959568 } } |
| 625 | |
| 626 | Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is |
| 627 | followed respectively by the RESET, SHUTDOWN, or STOP events. |