1d34bda71SBenoît Canet# -*- Mode: Python -*- 2d34bda71SBenoît Canet# 3d34bda71SBenoît Canet# QAPI common definitions 4d34bda71SBenoît Canet 5d34bda71SBenoît Canet## 6d34bda71SBenoît Canet# @ErrorClass 7d34bda71SBenoît Canet# 8d34bda71SBenoît Canet# QEMU error classes 9d34bda71SBenoît Canet# 10d34bda71SBenoît Canet# @GenericError: this is used for errors that don't require a specific error 11d34bda71SBenoît Canet# class. This should be the default case for most errors 12d34bda71SBenoît Canet# 13d34bda71SBenoît Canet# @CommandNotFound: the requested command has not been found 14d34bda71SBenoît Canet# 15d34bda71SBenoît Canet# @DeviceEncrypted: the requested operation can't be fulfilled because the 16d34bda71SBenoît Canet# selected device is encrypted 17d34bda71SBenoît Canet# 18d34bda71SBenoît Canet# @DeviceNotActive: a device has failed to be become active 19d34bda71SBenoît Canet# 20d34bda71SBenoît Canet# @DeviceNotFound: the requested device has not been found 21d34bda71SBenoît Canet# 22d34bda71SBenoît Canet# @KVMMissingCap: the requested operation can't be fulfilled because a 23d34bda71SBenoît Canet# required KVM capability is missing 24d34bda71SBenoît Canet# 25d34bda71SBenoît Canet# Since: 1.2 26d34bda71SBenoît Canet## 27d34bda71SBenoît Canet{ 'enum': 'ErrorClass', 28d34bda71SBenoît Canet 'data': [ 'GenericError', 'CommandNotFound', 'DeviceEncrypted', 29d34bda71SBenoît Canet 'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] } 30d34bda71SBenoît Canet 31d34bda71SBenoît Canet## 32*4752cdbbSEric Blake# @VersionTriple 33*4752cdbbSEric Blake# 34*4752cdbbSEric Blake# A three-part version number. 35*4752cdbbSEric Blake# 36*4752cdbbSEric Blake# @qemu.major: The major version number. 37*4752cdbbSEric Blake# 38*4752cdbbSEric Blake# @qemu.minor: The minor version number. 39*4752cdbbSEric Blake# 40*4752cdbbSEric Blake# @qemu.micro: The micro version number. 41*4752cdbbSEric Blake# 42*4752cdbbSEric Blake# Since: 2.4 43*4752cdbbSEric Blake## 44*4752cdbbSEric Blake{ 'struct': 'VersionTriple', 45*4752cdbbSEric Blake 'data': {'major': 'int', 'minor': 'int', 'micro': 'int'} } 46*4752cdbbSEric Blake 47*4752cdbbSEric Blake 48*4752cdbbSEric Blake## 49d34bda71SBenoît Canet# @VersionInfo: 50d34bda71SBenoît Canet# 51d34bda71SBenoît Canet# A description of QEMU's version. 52d34bda71SBenoît Canet# 53*4752cdbbSEric Blake# @qemu: The version of QEMU. By current convention, a micro 54d34bda71SBenoît Canet# version of 50 signifies a development branch. A micro version 55d34bda71SBenoît Canet# greater than or equal to 90 signifies a release candidate for 56d34bda71SBenoît Canet# the next minor version. A micro version of less than 50 57d34bda71SBenoît Canet# signifies a stable release. 58d34bda71SBenoît Canet# 59d34bda71SBenoît Canet# @package: QEMU will always set this field to an empty string. Downstream 60d34bda71SBenoît Canet# versions of QEMU should set this to a non-empty string. The 61d34bda71SBenoît Canet# exact format depends on the downstream however it highly 62d34bda71SBenoît Canet# recommended that a unique name is used. 63d34bda71SBenoît Canet# 64d34bda71SBenoît Canet# Since: 0.14.0 65d34bda71SBenoît Canet## 66895a2a80SEric Blake{ 'struct': 'VersionInfo', 67*4752cdbbSEric Blake 'data': {'qemu': 'VersionTriple', 'package': 'str'} } 68d34bda71SBenoît Canet 69d34bda71SBenoît Canet## 70d34bda71SBenoît Canet# @query-version: 71d34bda71SBenoît Canet# 72d34bda71SBenoît Canet# Returns the current version of QEMU. 73d34bda71SBenoît Canet# 74d34bda71SBenoît Canet# Returns: A @VersionInfo object describing the current version of QEMU. 75d34bda71SBenoît Canet# 76d34bda71SBenoît Canet# Since: 0.14.0 77d34bda71SBenoît Canet## 78d34bda71SBenoît Canet{ 'command': 'query-version', 'returns': 'VersionInfo' } 79d34bda71SBenoît Canet 80d34bda71SBenoît Canet## 81d34bda71SBenoît Canet# @CommandInfo: 82d34bda71SBenoît Canet# 83d34bda71SBenoît Canet# Information about a QMP command 84d34bda71SBenoît Canet# 85d34bda71SBenoît Canet# @name: The command name 86d34bda71SBenoît Canet# 87d34bda71SBenoît Canet# Since: 0.14.0 88d34bda71SBenoît Canet## 89895a2a80SEric Blake{ 'struct': 'CommandInfo', 'data': {'name': 'str'} } 90d34bda71SBenoît Canet 91d34bda71SBenoît Canet## 92d34bda71SBenoît Canet# @query-commands: 93d34bda71SBenoît Canet# 94d34bda71SBenoît Canet# Return a list of supported QMP commands by this server 95d34bda71SBenoît Canet# 96d34bda71SBenoît Canet# Returns: A list of @CommandInfo for all supported commands 97d34bda71SBenoît Canet# 98d34bda71SBenoît Canet# Since: 0.14.0 99d34bda71SBenoît Canet## 100d34bda71SBenoît Canet{ 'command': 'query-commands', 'returns': ['CommandInfo'] } 101d34bda71SBenoît Canet 102d1048befSDon Slutz## 103d1048befSDon Slutz# @OnOffAuto 104d1048befSDon Slutz# 105d1048befSDon Slutz# An enumeration of three options: on, off, and auto 106d1048befSDon Slutz# 107d1048befSDon Slutz# @auto: QEMU selects the value between on and off 108d1048befSDon Slutz# 109d1048befSDon Slutz# @on: Enabled 110d1048befSDon Slutz# 111d1048befSDon Slutz# @off: Disabled 112d1048befSDon Slutz# 113d1048befSDon Slutz# Since: 2.2 114d1048befSDon Slutz## 115d1048befSDon Slutz{ 'enum': 'OnOffAuto', 116d1048befSDon Slutz 'data': [ 'auto', 'on', 'off' ] } 117