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