1# -*- Mode: Python -*- 2 3## 4# = Common data types 5## 6 7## 8# @QapiErrorClass: 9# 10# QEMU error classes 11# 12# @GenericError: this is used for errors that don't require a specific error 13# class. This should be the default case for most errors 14# 15# @CommandNotFound: the requested command has not been found 16# 17# @DeviceNotActive: a device has failed to be become active 18# 19# @DeviceNotFound: the requested device has not been found 20# 21# @KVMMissingCap: the requested operation can't be fulfilled because a 22# required KVM capability is missing 23# 24# Since: 1.2 25## 26{ 'enum': 'QapiErrorClass', 27 # Keep this in sync with ErrorClass in error.h 28 'data': [ 'GenericError', 'CommandNotFound', 29 'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] } 30 31## 32# @IoOperationType: 33# 34# An enumeration of the I/O operation types 35# 36# @read: read operation 37# 38# @write: write operation 39# 40# Since: 2.1 41## 42{ 'enum': 'IoOperationType', 43 'data': [ 'read', 'write' ] } 44 45## 46# @OnOffAuto: 47# 48# An enumeration of three options: on, off, and auto 49# 50# @auto: QEMU selects the value between on and off 51# 52# @on: Enabled 53# 54# @off: Disabled 55# 56# Since: 2.2 57## 58{ 'enum': 'OnOffAuto', 59 'data': [ 'auto', 'on', 'off' ] } 60 61## 62# @OnOffSplit: 63# 64# An enumeration of three values: on, off, and split 65# 66# @on: Enabled 67# 68# @off: Disabled 69# 70# @split: Mixed 71# 72# Since: 2.6 73## 74{ 'enum': 'OnOffSplit', 75 'data': [ 'on', 'off', 'split' ] } 76 77## 78# @String: 79# 80# A fat type wrapping 'str', to be embedded in lists. 81# 82# Since: 1.2 83## 84{ 'struct': 'String', 85 'data': { 86 'str': 'str' } } 87 88## 89# @StrOrNull: 90# 91# This is a string value or the explicit lack of a string (null 92# pointer in C). Intended for cases when 'optional absent' already 93# has a different meaning. 94# 95# @s: the string value 96# @n: no string value 97# 98# Since: 2.10 99## 100{ 'alternate': 'StrOrNull', 101 'data': { 's': 'str', 102 'n': 'null' } } 103 104## 105# @OffAutoPCIBAR: 106# 107# An enumeration of options for specifying a PCI BAR 108# 109# @off: The specified feature is disabled 110# 111# @auto: The PCI BAR for the feature is automatically selected 112# 113# @bar0: PCI BAR0 is used for the feature 114# 115# @bar1: PCI BAR1 is used for the feature 116# 117# @bar2: PCI BAR2 is used for the feature 118# 119# @bar3: PCI BAR3 is used for the feature 120# 121# @bar4: PCI BAR4 is used for the feature 122# 123# @bar5: PCI BAR5 is used for the feature 124# 125# Since: 2.12 126## 127{ 'enum': 'OffAutoPCIBAR', 128 'data': [ 'off', 'auto', 'bar0', 'bar1', 'bar2', 'bar3', 'bar4', 'bar5' ] } 129 130## 131# @SysEmuTarget: 132# 133# The comprehensive enumeration of QEMU system emulation ("softmmu") 134# targets. Run "./configure --help" in the project root directory, and 135# look for the *-softmmu targets near the "--target-list" option. The 136# individual target constants are not documented here, for the time 137# being. 138# 139# Notes: The resulting QMP strings can be appended to the "qemu-system-" 140# prefix to produce the corresponding QEMU executable name. This 141# is true even for "qemu-system-x86_64". 142# 143# ppcemb: dropped in 3.1 144# 145# Since: 3.0 146## 147{ 'enum' : 'SysEmuTarget', 148 'data' : [ 'aarch64', 'alpha', 'arm', 'cris', 'hppa', 'i386', 'lm32', 149 'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64', 150 'mips64el', 'mipsel', 'moxie', 'nios2', 'or1k', 'ppc', 151 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4', 152 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32', 153 'x86_64', 'xtensa', 'xtensaeb' ] } 154