| # -*- 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 |
| ## |
| |
| ## |
| # @QCryptodevBackendAlgType: |
| # |
| # The supported algorithm types of a crypto device. |
| # |
| # @sym: symmetric encryption |
| # @asym: asymmetric Encryption |
| # |
| # Since: 8.0 |
| ## |
| { 'enum': 'QCryptodevBackendAlgType', |
| 'prefix': 'QCRYPTODEV_BACKEND_ALG', |
| 'data': ['sym', 'asym']} |
| |
| ## |
| # @QCryptodevBackendServiceType: |
| # |
| # The supported service types of a crypto device. |
| # |
| # Since: 8.0 |
| ## |
| { 'enum': 'QCryptodevBackendServiceType', |
| 'prefix': 'QCRYPTODEV_BACKEND_SERVICE', |
| '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', |
| 'prefix': 'QCRYPTODEV_BACKEND_TYPE', |
| '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 infomation 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']} |