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': 'control.json' } 83{ 'include': 'introspect.json' } 84{ 'include': 'qom.json' } 85{ 'include': 'qdev.json' } 86{ 'include': 'machine.json' } 87{ 'include': 'machine-target.json' } 88{ 'include': 'replay.json' } 89{ 'include': 'misc.json' } 90{ 'include': 'misc-target.json' } 91{ 'include': 'audio.json' } 92{ 'include': 'acpi.json' } 93{ 'include': 'pci.json' } 94