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# @QCryptodevBackendAlgType: 9# 10# The supported algorithm types of a crypto device. 11# 12# @sym: symmetric encryption 13# @asym: asymmetric Encryption 14# 15# Since: 8.0 16## 17{ 'enum': 'QCryptodevBackendAlgType', 18 'prefix': 'QCRYPTODEV_BACKEND_ALG', 19 'data': ['sym', 'asym']} 20 21## 22# @QCryptodevBackendServiceType: 23# 24# The supported service types of a crypto device. 25# 26# Since: 8.0 27## 28{ 'enum': 'QCryptodevBackendServiceType', 29 'prefix': 'QCRYPTODEV_BACKEND_SERVICE', 30 'data': ['cipher', 'hash', 'mac', 'aead', 'akcipher']} 31 32## 33# @QCryptodevBackendType: 34# 35# The crypto device backend type 36# 37# @builtin: the QEMU builtin support 38# @vhost-user: vhost-user 39# @lkcf: Linux kernel cryptographic framework 40# 41# Since: 8.0 42## 43{ 'enum': 'QCryptodevBackendType', 44 'prefix': 'QCRYPTODEV_BACKEND_TYPE', 45 'data': ['builtin', 'vhost-user', 'lkcf']} 46 47## 48# @QCryptodevBackendClient: 49# 50# Information about a queue of crypto device. 51# 52# @queue: the queue index of the crypto device 53# 54# @type: the type of the crypto device 55# 56# Since: 8.0 57## 58{ 'struct': 'QCryptodevBackendClient', 59 'data': { 'queue': 'uint32', 60 'type': 'QCryptodevBackendType' } } 61 62## 63# @QCryptodevInfo: 64# 65# Information about a crypto device. 66# 67# @id: the id of the crypto device 68# 69# @service: supported service types of a crypto device 70# 71# @client: the additional infomation of the crypto device 72# 73# Since: 8.0 74## 75{ 'struct': 'QCryptodevInfo', 76 'data': { 'id': 'str', 77 'service': ['QCryptodevBackendServiceType'], 78 'client': ['QCryptodevBackendClient'] } } 79 80## 81# @query-cryptodev: 82# 83# Returns information about current crypto devices. 84# 85# Returns: a list of @QCryptodevInfo 86# 87# Since: 8.0 88## 89{ 'command': 'query-cryptodev', 'returns': ['QCryptodevInfo']} 90