diff options
author | Longpeng(Mike) <longpeng2@huawei.com> | 2017-07-14 14:03:59 -0400 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2017-07-19 10:11:04 +0100 |
commit | aa8efad903a7594dbd9f96b9804c028f28fc8f8e (patch) | |
tree | ad25e0f62228c07defeea412dd5f3dd3707d9ecc /crypto/hash-nettle.c | |
parent | 75c800780919e389e6c272d84b31a33ec348ff79 (diff) | |
download | qemu-aa8efad903a7594dbd9f96b9804c028f28fc8f8e.zip qemu-aa8efad903a7594dbd9f96b9804c028f28fc8f8e.tar.gz qemu-aa8efad903a7594dbd9f96b9804c028f28fc8f8e.tar.bz2 |
crypto: hash: add hash driver framework
1) makes the public APIs in hash-nettle/gcrypt/glib static,
and rename them with "nettle/gcrypt/glib" prefix.
2) introduces hash framework, including QCryptoHashDriver
and new public APIs.
Reviewed-by: Gonglei <arei.gonglei@huawei.com>
Signed-off-by: Longpeng(Mike) <longpeng2@huawei.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'crypto/hash-nettle.c')
-rw-r--r-- | crypto/hash-nettle.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/crypto/hash-nettle.c b/crypto/hash-nettle.c index 6a206dc..96f186f 100644 --- a/crypto/hash-nettle.c +++ b/crypto/hash-nettle.c @@ -21,6 +21,7 @@ #include "qemu/osdep.h" #include "qapi/error.h" #include "crypto/hash.h" +#include "hashpriv.h" #include <nettle/md5.h> #include <nettle/sha.h> #include <nettle/ripemd160.h> @@ -103,12 +104,13 @@ gboolean qcrypto_hash_supports(QCryptoHashAlgorithm alg) } -int qcrypto_hash_bytesv(QCryptoHashAlgorithm alg, - const struct iovec *iov, - size_t niov, - uint8_t **result, - size_t *resultlen, - Error **errp) +static int +qcrypto_nettle_hash_bytesv(QCryptoHashAlgorithm alg, + const struct iovec *iov, + size_t niov, + uint8_t **result, + size_t *resultlen, + Error **errp) { int i; union qcrypto_hash_ctx ctx; @@ -152,3 +154,8 @@ int qcrypto_hash_bytesv(QCryptoHashAlgorithm alg, return 0; } + + +QCryptoHashDriver qcrypto_hash_lib_driver = { + .hash_bytesv = qcrypto_nettle_hash_bytesv, +}; |