b1019999e8
QAPI's 'prefix' feature can make the connection between enumeration type and its constants less than obvious. It's best used with restraint. QCryptodevBackendAlgType has a 'prefix' that overrides the generated enumeration constants' prefix to QCRYPTODEV_BACKEND_ALG. We could simply drop 'prefix', but I think the abbreviation "alg" is less than clear. Additionally rename the type to QCryptodevBackendAlgoType. The prefix becomes QCRYPTODEV_BACKEND_ALGO_TYPE. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-ID: <20240904111836.3273842-19-armbru@redhat.com>
94 lines
1.8 KiB
Python
94 lines
1.8 KiB
Python
# -*- 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.
|
|
#
|
|
# 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:
|
|
#
|
|
# Returns information about current crypto devices.
|
|
#
|
|
# Returns: a list of @QCryptodevInfo
|
|
#
|
|
# Since: 8.0
|
|
##
|
|
{ 'command': 'query-cryptodev', 'returns': ['QCryptodevInfo']}
|