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