qemu-devel
[Top][All Lists]
Advanced

[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/ :|



reply via email to

[Prev in Thread] Current Thread [Next in Thread]