1# -*- Mode: Python -*- 2# vim: filetype=python 3 4## 5# ***************** 6# Common data types 7# ***************** 8## 9 10## 11# @IoOperationType: 12# 13# An enumeration of the I/O operation types 14# 15# @read: read operation 16# 17# @write: write operation 18# 19# Since: 2.1 20## 21{ 'enum': 'IoOperationType', 22 'data': [ 'read', 'write' ] } 23 24## 25# @OnOffAuto: 26# 27# An enumeration of three options: on, off, and auto 28# 29# @auto: QEMU selects the value between on and off 30# 31# @on: Enabled 32# 33# @off: Disabled 34# 35# Since: 2.2 36## 37{ 'enum': 'OnOffAuto', 38 'data': [ 'auto', 'on', 'off' ] } 39 40## 41# @OnOffSplit: 42# 43# An enumeration of three values: on, off, and split 44# 45# @on: Enabled 46# 47# @off: Disabled 48# 49# @split: Mixed 50# 51# Since: 2.6 52## 53{ 'enum': 'OnOffSplit', 54 'data': [ 'on', 'off', 'split' ] } 55 56## 57# @StrOrNull: 58# 59# This is a string value or the explicit lack of a string (null 60# pointer in C). Intended for cases when 'optional absent' already 61# has a different meaning. 62# 63# @s: the string value 64# 65# @n: no string value 66# 67# Since: 2.10 68## 69{ 'alternate': 'StrOrNull', 70 'data': { 's': 'str', 71 'n': 'null' } } 72 73## 74# @OffAutoPCIBAR: 75# 76# An enumeration of options for specifying a PCI BAR 77# 78# @off: The specified feature is disabled 79# 80# @auto: The PCI BAR for the feature is automatically selected 81# 82# @bar0: PCI BAR0 is used for the feature 83# 84# @bar1: PCI BAR1 is used for the feature 85# 86# @bar2: PCI BAR2 is used for the feature 87# 88# @bar3: PCI BAR3 is used for the feature 89# 90# @bar4: PCI BAR4 is used for the feature 91# 92# @bar5: PCI BAR5 is used for the feature 93# 94# Since: 2.12 95## 96{ 'enum': 'OffAutoPCIBAR', 97 'data': [ 'off', 'auto', 'bar0', 'bar1', 'bar2', 'bar3', 'bar4', 'bar5' ] } 98 99## 100# @PCIELinkSpeed: 101# 102# An enumeration of PCIe link speeds in units of GT/s 103# 104# @2_5: 2.5GT/s 105# 106# @5: 5.0GT/s 107# 108# @8: 8.0GT/s 109# 110# @16: 16.0GT/s 111# 112# @32: 32.0GT/s (since 9.0) 113# 114# @64: 64.0GT/s (since 9.0) 115# 116# Since: 4.0 117## 118{ 'enum': 'PCIELinkSpeed', 119 'data': [ '2_5', '5', '8', '16', '32', '64' ] } 120 121## 122# @PCIELinkWidth: 123# 124# An enumeration of PCIe link width 125# 126# @1: x1 127# 128# @2: x2 129# 130# @4: x4 131# 132# @8: x8 133# 134# @12: x12 135# 136# @16: x16 137# 138# @32: x32 139# 140# Since: 4.0 141## 142{ 'enum': 'PCIELinkWidth', 143 'data': [ '1', '2', '4', '8', '12', '16', '32' ] } 144 145## 146# @HostMemPolicy: 147# 148# Host memory policy types 149# 150# @default: restore default policy, remove any nondefault policy 151# 152# @preferred: set the preferred host nodes for allocation 153# 154# @bind: a strict policy that restricts memory allocation to the host 155# nodes specified 156# 157# @interleave: memory allocations are interleaved across the set of 158# host nodes specified 159# 160# Since: 2.1 161## 162{ 'enum': 'HostMemPolicy', 163 'data': [ 'default', 'preferred', 'bind', 'interleave' ] } 164 165## 166# @NetFilterDirection: 167# 168# Indicates whether a netfilter is attached to a netdev's transmit 169# queue or receive queue or both. 170# 171# @all: the filter is attached both to the receive and the transmit 172# queue of the netdev (default). 173# 174# @rx: the filter is attached to the receive queue of the netdev, 175# where it will receive packets sent to the netdev. 176# 177# @tx: the filter is attached to the transmit queue of the netdev, 178# where it will receive packets sent by the netdev. 179# 180# Since: 2.5 181## 182{ 'enum': 'NetFilterDirection', 183 'data': [ 'all', 'rx', 'tx' ] } 184 185## 186# @GrabToggleKeys: 187# 188# Key combinations to toggle input-linux between host and guest. 189# 190# @ctrl-ctrl: left and right control key 191# 192# @alt-alt: left and right alt key 193# 194# @shift-shift: left and right shift key 195# 196# @meta-meta: left and right meta key 197# 198# @scrolllock: scroll lock key 199# 200# @ctrl-scrolllock: either control key and scroll lock key 201# 202# Since: 4.0 203## 204{ 'enum': 'GrabToggleKeys', 205 'data': [ 'ctrl-ctrl', 'alt-alt', 'shift-shift','meta-meta', 'scrolllock', 206 'ctrl-scrolllock' ] } 207 208## 209# @HumanReadableText: 210# 211# @human-readable-text: Formatted output intended for humans. 212# 213# Since: 6.2 214## 215{ 'struct': 'HumanReadableText', 216 'data': { 'human-readable-text': 'str' } } 217 218## 219# @EndianMode: 220# 221# @unspecified: Endianness not specified 222# 223# @little: Little endianness 224# 225# @big: Big endianness 226# 227# Since: 10.0 228## 229{ 'enum': 'EndianMode', 230 'data': [ 'unspecified', 'little', 'big' ] } 231