master
json 103 lines 2.01 KB
Raw
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
7 ##
8 # ********************
9 # Cryptography devices
10 # ********************
11 ##
12
13 ##
14 # @QCryptodevBackendAlgoType:
15 #
16 # The supported algorithm types of a crypto device.
17 #
18 # @sym: symmetric encryption
19 #
20 # @asym: asymmetric encryption
21 #
22 # Since: 8.0
23 ##
24 { 'enum': 'QCryptodevBackendAlgoType',
25 'data': ['sym', 'asym']}
26
27 ##
28 # @QCryptodevBackendServiceType:
29 #
30 # The supported service types of a crypto device.
31 #
32 # @cipher: Symmetric Key Cipher service
33 #
34 # @hash: Hash service
35 #
36 # @mac: Message Authentication Codes service
37 #
38 # @aead: Authenticated Encryption with Associated Data service
39 #
40 # @akcipher: Asymmetric Key Cipher service
41 #
42 # Since: 8.0
43 ##
44 { 'enum': 'QCryptodevBackendServiceType',
45 'data': ['cipher', 'hash', 'mac', 'aead', 'akcipher']}
46
47 ##
48 # @QCryptodevBackendType:
49 #
50 # The crypto device backend type
51 #
52 # @builtin: the QEMU builtin support
53 #
54 # @vhost-user: vhost-user
55 #
56 # @lkcf: Linux kernel cryptographic framework
57 #
58 # Since: 8.0
59 ##
60 { 'enum': 'QCryptodevBackendType',
61 'data': ['builtin', 'vhost-user', 'lkcf']}
62
63 ##
64 # @QCryptodevBackendClient:
65 #
66 # Information about a queue of crypto device.
67 #
68 # @queue: the queue index of the crypto device
69 #
70 # @type: the type of the crypto device
71 #
72 # Since: 8.0
73 ##
74 { 'struct': 'QCryptodevBackendClient',
75 'data': { 'queue': 'uint32',
76 'type': 'QCryptodevBackendType' } }
77
78 ##
79 # @QCryptodevInfo:
80 #
81 # Information about a crypto device.
82 #
83 # @id: the id of the crypto device
84 #
85 # @service: supported service types of a crypto device
86 #
87 # @client: the additional information of the crypto device
88 #
89 # Since: 8.0
90 ##
91 { 'struct': 'QCryptodevInfo',
92 'data': { 'id': 'str',
93 'service': ['QCryptodevBackendServiceType'],
94 'client': ['QCryptodevBackendClient'] } }
95
96 ##
97 # @query-cryptodev:
98 #
99 # Return information about current crypto devices.
100 #
101 # Since: 8.0
102 ##
103 { 'command': 'query-cryptodev', 'returns': ['QCryptodevInfo']}