# -*- Mode: Python -*- # vim: filetype=python # # This work is licensed under the terms of the GNU GPL, version 2 or later. # See the COPYING file in the top-level directory. ## # = Cryptography devices ## ## # @QCryptodevBackendAlgoType: # # The supported algorithm types of a crypto device. # # @sym: symmetric encryption # # @asym: asymmetric Encryption # # Since: 8.0 ## { 'enum': 'QCryptodevBackendAlgoType', 'data': ['sym', 'asym']} ## # @QCryptodevBackendServiceType: # # The supported service types of a crypto device. # # @cipher: Symmetric Key Cipher service # # @hash: Hash service # # @mac: Message Authentication Codes service # # @aead: Authenticated Encryption with Associated Data service # # @akcipher: Asymmetric Key Cipher service # # Since: 8.0 ## { 'enum': 'QCryptodevBackendServiceType', 'data': ['cipher', 'hash', 'mac', 'aead', 'akcipher']} ## # @QCryptodevBackendType: # # The crypto device backend type # # @builtin: the QEMU builtin support # # @vhost-user: vhost-user # # @lkcf: Linux kernel cryptographic framework # # Since: 8.0 ## { 'enum': 'QCryptodevBackendType', 'data': ['builtin', 'vhost-user', 'lkcf']} ## # @QCryptodevBackendClient: # # Information about a queue of crypto device. # # @queue: the queue index of the crypto device # # @type: the type of the crypto device # # Since: 8.0 ## { 'struct': 'QCryptodevBackendClient', 'data': { 'queue': 'uint32', 'type': 'QCryptodevBackendType' } } ## # @QCryptodevInfo: # # Information about a crypto device. # # @id: the id of the crypto device # # @service: supported service types of a crypto device # # @client: the additional information of the crypto device # # Since: 8.0 ## { 'struct': 'QCryptodevInfo', 'data': { 'id': 'str', 'service': ['QCryptodevBackendServiceType'], 'client': ['QCryptodevBackendClient'] } } ## # @query-cryptodev: # # Returns information about current crypto devices. # # Returns: a list of @QCryptodevInfo # # Since: 8.0 ## { 'command': 'query-cryptodev', 'returns': ['QCryptodevInfo']}