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