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.
8 # @QCryptodevBackendAlgType:
10 # The supported algorithm types of a crypto device.
12 # @sym: symmetric encryption
13 # @asym: asymmetric Encryption
17 { 'enum': 'QCryptodevBackendAlgType',
18 'prefix': 'QCRYPTODEV_BACKEND_ALG',
19 'data': ['sym', 'asym']}
22 # @QCryptodevBackendServiceType:
24 # The supported service types of a crypto device.
28 { 'enum': 'QCryptodevBackendServiceType',
29 'prefix': 'QCRYPTODEV_BACKEND_SERVICE',
30 'data': ['cipher', 'hash', 'mac', 'aead', 'akcipher']}
33 # @QCryptodevBackendType:
35 # The crypto device backend type
37 # @builtin: the QEMU builtin support
38 # @vhost-user: vhost-user
39 # @lkcf: Linux kernel cryptographic framework
43 { 'enum': 'QCryptodevBackendType',
44 'prefix': 'QCRYPTODEV_BACKEND_TYPE',
45 'data': ['builtin', 'vhost-user', 'lkcf']}
48 # @QCryptodevBackendClient:
50 # Information about a queue of crypto device.
52 # @queue: the queue index of the crypto device
54 # @type: the type of the crypto device
58 { 'struct': 'QCryptodevBackendClient',
59 'data': { 'queue': 'uint32',
60 'type': 'QCryptodevBackendType' } }
65 # Information about a crypto device.
67 # @id: the id of the crypto device
69 # @service: supported service types of a crypto device
71 # @client: the additional infomation of the crypto device
75 { 'struct': 'QCryptodevInfo',
76 'data': { 'id': 'str',
77 'service': ['QCryptodevBackendServiceType'],
78 'client': ['QCryptodevBackendClient'] } }
83 # Returns information about current crypto devices.
85 # Returns: a list of @QCryptodevInfo
89 { 'command': 'query-cryptodev', 'returns': ['QCryptodevInfo']}