| # -*- 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: | |
| # | |
| # Return information about current crypto devices. | |
| # | |
| # Since: 8.0 | |
| ## | |
| { 'command': 'query-cryptodev', 'returns': ['QCryptodevInfo']} |