[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.10 05/19] crypto: cipher: add cipher drive
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH for-2.10 05/19] crypto: cipher: add cipher driver framework |
Date: |
Mon, 10 Apr 2017 11:03:45 +0100 |
User-agent: |
Mutt/1.7.1 (2016-10-04) |
On Mon, Apr 10, 2017 at 04:59:46PM +0800, Longpeng(Mike) wrote:
> 1) makes the public APIs in cipher-nettle/gcrypt/builtin static,
> and rename them with "nettle/gcrypt/builtin" prefix.
>
> 2) introduces cipher framework, including QCryptoCipherDriver
> and new public APIs.
>
> Signed-off-by: Longpeng(Mike) <address@hidden>
> ---
> crypto/cipher-builtin.c | 59
> +++++++++++++++++--------------------------------
> crypto/cipher-gcrypt.c | 58 +++++++++++++++++-------------------------------
> crypto/cipher-nettle.c | 59
> +++++++++++++++++--------------------------------
> crypto/cipher.c | 59
> +++++++++++++++++++++++++++++++++++++++++++++++++
> include/crypto/cipher.h | 22 ++++++++++++++++++
> 5 files changed, 141 insertions(+), 116 deletions(-)
>
> diff --git a/include/crypto/cipher.h b/include/crypto/cipher.h
> index bec9f41..32b6065 100644
> --- a/include/crypto/cipher.h
> +++ b/include/crypto/cipher.h
> @@ -23,6 +23,7 @@
>
> #include "qapi-types.h"
>
> +typedef struct QCryptoCipherDriver QCryptoCipherDriver;
> typedef struct QCryptoCipher QCryptoCipher;
>
> /* See also "QCryptoCipherAlgorithm" and "QCryptoCipherMode"
> @@ -76,7 +77,28 @@ typedef struct QCryptoCipher QCryptoCipher;
> *
> */
>
> +struct QCryptoCipherDriver {
> + int (*cipher_encrypt)(QCryptoCipher *cipher,
> + const void *in,
> + void *out,
> + size_t len,
> + Error **errp);
> +
> + int (*cipher_decrypt)(QCryptoCipher *cipher,
> + const void *in,
> + void *out,
> + size_t len,
> + Error **errp);
> +
> + int (*cipher_setiv)(QCryptoCipher *cipher,
> + const uint8_t *iv, size_t niv,
> + Error **errp);
> +
> + void (*cipher_free)(QCryptoCipher *cipher);
> +};
Please put this in a crypto/cipherpriv.h header file, since it is
not something we want to expose to the rest of QEMU source code.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :|