qemu/qapi/qapi-schema.json
<<
>>
Prefs
   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' }
  96