xref: /qemu/crypto/hashpriv.h (revision 9a059773)
1aa8efad9SLongpeng(Mike) /*
2aa8efad9SLongpeng(Mike)  * QEMU Crypto hash driver supports
3aa8efad9SLongpeng(Mike)  *
4aa8efad9SLongpeng(Mike)  * Copyright (c) 2017 HUAWEI TECHNOLOGIES CO., LTD.
5aa8efad9SLongpeng(Mike)  *
6aa8efad9SLongpeng(Mike)  * Authors:
7aa8efad9SLongpeng(Mike)  *    Longpeng(Mike) <longpeng2@huawei.com>
8aa8efad9SLongpeng(Mike)  *
9aa8efad9SLongpeng(Mike)  * This work is licensed under the terms of the GNU GPL, version 2 or
10aa8efad9SLongpeng(Mike)  * (at your option) any later version.  See the COPYING file in the
11aa8efad9SLongpeng(Mike)  * top-level directory.
12aa8efad9SLongpeng(Mike)  *
13aa8efad9SLongpeng(Mike)  */
14aa8efad9SLongpeng(Mike) 
15aa8efad9SLongpeng(Mike) #ifndef QCRYPTO_HASHPRIV_H
16aa8efad9SLongpeng(Mike) #define QCRYPTO_HASHPRIV_H
17aa8efad9SLongpeng(Mike) 
18aa8efad9SLongpeng(Mike) typedef struct QCryptoHashDriver QCryptoHashDriver;
19aa8efad9SLongpeng(Mike) 
20aa8efad9SLongpeng(Mike) struct QCryptoHashDriver {
21aa8efad9SLongpeng(Mike)     int (*hash_bytesv)(QCryptoHashAlgorithm alg,
22aa8efad9SLongpeng(Mike)                        const struct iovec *iov,
23aa8efad9SLongpeng(Mike)                        size_t niov,
24aa8efad9SLongpeng(Mike)                        uint8_t **result,
25aa8efad9SLongpeng(Mike)                        size_t *resultlen,
26aa8efad9SLongpeng(Mike)                        Error **errp);
27aa8efad9SLongpeng(Mike) };
28aa8efad9SLongpeng(Mike) 
29aa8efad9SLongpeng(Mike) extern QCryptoHashDriver qcrypto_hash_lib_driver;
30aa8efad9SLongpeng(Mike) 
31*9a059773SLongpeng(Mike) #ifdef CONFIG_AF_ALG
32*9a059773SLongpeng(Mike) 
33*9a059773SLongpeng(Mike) #include "afalgpriv.h"
34*9a059773SLongpeng(Mike) 
35*9a059773SLongpeng(Mike) extern QCryptoHashDriver qcrypto_hash_afalg_driver;
36*9a059773SLongpeng(Mike) 
37*9a059773SLongpeng(Mike) #endif
38*9a059773SLongpeng(Mike) 
39aa8efad9SLongpeng(Mike) #endif
40