common.json 4.0 KB

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