]>
Commit | Line | Data |
---|---|---|
14a5a2ae LM |
1 | /* |
2 | * QEMU Crypto hmac driver supports | |
3 | * | |
4 | * Copyright (c) 2017 HUAWEI TECHNOLOGIES CO., LTD. | |
5 | * | |
6 | * Authors: | |
7 | * Longpeng(Mike) <[email protected]> | |
8 | * | |
9 | * This work is licensed under the terms of the GNU GPL, version 2 or | |
10 | * (at your option) any later version. See the COPYING file in the | |
11 | * top-level directory. | |
12 | * | |
13 | */ | |
14 | ||
15 | #ifndef QCRYPTO_HMACPRIV_H | |
16 | #define QCRYPTO_HMACPRIV_H | |
17 | ||
18 | typedef struct QCryptoHmacDriver QCryptoHmacDriver; | |
19 | ||
20 | struct QCryptoHmacDriver { | |
21 | int (*hmac_bytesv)(QCryptoHmac *hmac, | |
22 | const struct iovec *iov, | |
23 | size_t niov, | |
24 | uint8_t **result, | |
25 | size_t *resultlen, | |
26 | Error **errp); | |
27 | ||
28 | void (*hmac_free)(QCryptoHmac *hmac); | |
29 | }; | |
30 | ||
31 | extern void *qcrypto_hmac_ctx_new(QCryptoHashAlgorithm alg, | |
32 | const uint8_t *key, size_t nkey, | |
33 | Error **errp); | |
34 | extern QCryptoHmacDriver qcrypto_hmac_lib_driver; | |
35 | ||
42e7e15f LM |
36 | #ifdef CONFIG_AF_ALG |
37 | ||
38 | #include "afalgpriv.h" | |
39 | ||
40 | extern QCryptoAFAlg * | |
41 | qcrypto_afalg_hmac_ctx_new(QCryptoHashAlgorithm alg, | |
42 | const uint8_t *key, size_t nkey, | |
43 | Error **errp); | |
44 | extern QCryptoHmacDriver qcrypto_hmac_afalg_driver; | |
45 | ||
46 | #endif | |
47 | ||
14a5a2ae | 48 | #endif |