Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
[qemu.git] / qapi / qapi-schema.json
1 # -*- Mode: Python -*-
2 # vim: filetype=python
3 ##
4 # = Introduction
5 #
6 # This document describes all commands currently supported by QMP.
7 #
8 # Most of the time their usage is exactly the same as in the user Monitor, this
9 # means that any other document which also describe commands (the manpage,
10 # QEMU's manual, etc) can and should be consulted.
11 #
12 # QMP has two types of commands: regular and query commands. Regular commands
13 # usually change the Virtual Machine's state someway, while query commands just
14 # return information. The sections below are divided accordingly.
15 #
16 # It's important to observe that all communication examples are formatted in
17 # a reader-friendly way, so that they're easier to understand. However, in real
18 # protocol usage, they're emitted as a single line.
19 #
20 # Also, the following notation is used to denote data flow:
21 #
22 # Example:
23 #
24 # ::
25 #
26 #   -> data issued by the Client
27 #   <- Server data response
28 #
29 # Please, refer to the QMP specification (docs/interop/qmp-spec.txt) for
30 # detailed information on the Server command and response formats.
31 #
32 # = Stability Considerations
33 #
34 # The current QMP command set (described in this file) may be useful for a
35 # number of use cases, however it's limited and several commands have bad
36 # defined semantics, specially with regard to command completion.
37 #
38 # These problems are going to be solved incrementally in the next QEMU releases
39 # and we're going to establish a deprecation policy for badly defined commands.
40 #
41 # If you're planning to adopt QMP, please observe the following:
42 #
43 #     1. The deprecation policy will take effect and be documented soon, please
44 #        check the documentation of each used command as soon as a new release of
45 #        QEMU is available
46 #
47 #     2. DO NOT rely on anything which is not explicit documented
48 #
49 #     3. Errors, in special, are not documented. Applications should NOT check
50 #        for specific errors classes or data (it's strongly recommended to only
51 #        check for the "error" key)
52 #
53 ##
54
55 { 'include': 'pragma.json' }
56
57 # Documentation generated with qapi-gen.py is in source order, with
58 # included sub-schemas inserted at the first include directive
59 # (subsequent include directives have no effect).  To get a sane and
60 # stable order, it's best to include each sub-schema just once, or
61 # include it first right here.
62
63 { 'include': 'error.json' }
64 { 'include': 'common.json' }
65 { 'include': 'sockets.json' }
66 { 'include': 'run-state.json' }
67 { 'include': 'crypto.json' }
68 { 'include': 'block.json' }
69 { 'include': 'block-export.json' }
70 { 'include': 'char.json' }
71 { 'include': 'dump.json' }
72 { 'include': 'job.json' }
73 { 'include': 'net.json' }
74 { 'include': 'rdma.json' }
75 { 'include': 'rocker.json' }
76 { 'include': 'tpm.json' }
77 { 'include': 'ui.json' }
78 { 'include': 'authz.json' }
79 { 'include': 'migration.json' }
80 { 'include': 'transaction.json' }
81 { 'include': 'trace.json' }
82 { 'include': 'compat.json' }
83 { 'include': 'control.json' }
84 { 'include': 'introspect.json' }
85 { 'include': 'qom.json' }
86 { 'include': 'qdev.json' }
87 { 'include': 'machine.json' }
88 { 'include': 'machine-target.json' }
89 { 'include': 'replay.json' }
90 { 'include': 'yank.json' }
91 { 'include': 'misc.json' }
92 { 'include': 'misc-target.json' }
93 { 'include': 'audio.json' }
94 { 'include': 'acpi.json' }
95 { 'include': 'pci.json' }