]> git.proxmox.com Git - mirror_qemu.git/blame - qapi/cryptodev.json
Merge tag 'pull-halloween-omnibus-311023-2' of https://gitlab.com/stsquad/qemu into...
[mirror_qemu.git] / qapi / cryptodev.json
CommitLineData
14c9fd16
ZP
1# -*- Mode: Python -*-
2# vim: filetype=python
3#
4# This work is licensed under the terms of the GNU GPL, version 2 or later.
5# See the COPYING file in the top-level directory.
6
4622c706
MA
7##
8# = Cryptography devices
9##
10
999c789f
ZP
11##
12# @QCryptodevBackendAlgType:
13#
14# The supported algorithm types of a crypto device.
15#
16# @sym: symmetric encryption
a937b6aa 17#
999c789f
ZP
18# @asym: asymmetric Encryption
19#
20# Since: 8.0
21##
22{ 'enum': 'QCryptodevBackendAlgType',
23 'prefix': 'QCRYPTODEV_BACKEND_ALG',
24 'data': ['sym', 'asym']}
25
bc304a64
ZP
26##
27# @QCryptodevBackendServiceType:
28#
29# The supported service types of a crypto device.
30#
31# Since: 8.0
32##
33{ 'enum': 'QCryptodevBackendServiceType',
34 'prefix': 'QCRYPTODEV_BACKEND_SERVICE',
35 'data': ['cipher', 'hash', 'mac', 'aead', 'akcipher']}
36
14c9fd16
ZP
37##
38# @QCryptodevBackendType:
39#
40# The crypto device backend type
41#
42# @builtin: the QEMU builtin support
a937b6aa 43#
14c9fd16 44# @vhost-user: vhost-user
a937b6aa 45#
14c9fd16
ZP
46# @lkcf: Linux kernel cryptographic framework
47#
48# Since: 8.0
49##
50{ 'enum': 'QCryptodevBackendType',
51 'prefix': 'QCRYPTODEV_BACKEND_TYPE',
52 'data': ['builtin', 'vhost-user', 'lkcf']}
5dcb0198
ZP
53
54##
55# @QCryptodevBackendClient:
56#
57# Information about a queue of crypto device.
58#
59# @queue: the queue index of the crypto device
60#
61# @type: the type of the crypto device
62#
63# Since: 8.0
64##
65{ 'struct': 'QCryptodevBackendClient',
66 'data': { 'queue': 'uint32',
67 'type': 'QCryptodevBackendType' } }
68
69##
70# @QCryptodevInfo:
71#
72# Information about a crypto device.
73#
74# @id: the id of the crypto device
75#
76# @service: supported service types of a crypto device
77#
40b89515 78# @client: the additional information of the crypto device
5dcb0198
ZP
79#
80# Since: 8.0
81##
82{ 'struct': 'QCryptodevInfo',
83 'data': { 'id': 'str',
84 'service': ['QCryptodevBackendServiceType'],
85 'client': ['QCryptodevBackendClient'] } }
86
87##
88# @query-cryptodev:
89#
90# Returns information about current crypto devices.
91#
92# Returns: a list of @QCryptodevInfo
93#
94# Since: 8.0
95##
96{ 'command': 'query-cryptodev', 'returns': ['QCryptodevInfo']}