Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/include/crypto/cryptd.h
10817 views
1
/*
2
* Software async crypto daemon
3
*
4
* Added AEAD support to cryptd.
5
* Authors: Tadeusz Struk ([email protected])
6
* Adrian Hoban <[email protected]>
7
* Gabriele Paoloni <[email protected]>
8
* Aidan O'Mahony ([email protected])
9
* Copyright (c) 2010, Intel Corporation.
10
*/
11
12
#ifndef _CRYPTO_CRYPT_H
13
#define _CRYPTO_CRYPT_H
14
15
#include <linux/crypto.h>
16
#include <linux/kernel.h>
17
#include <crypto/hash.h>
18
19
struct cryptd_ablkcipher {
20
struct crypto_ablkcipher base;
21
};
22
23
static inline struct cryptd_ablkcipher *__cryptd_ablkcipher_cast(
24
struct crypto_ablkcipher *tfm)
25
{
26
return (struct cryptd_ablkcipher *)tfm;
27
}
28
29
/* alg_name should be algorithm to be cryptd-ed */
30
struct cryptd_ablkcipher *cryptd_alloc_ablkcipher(const char *alg_name,
31
u32 type, u32 mask);
32
struct crypto_blkcipher *cryptd_ablkcipher_child(struct cryptd_ablkcipher *tfm);
33
void cryptd_free_ablkcipher(struct cryptd_ablkcipher *tfm);
34
35
struct cryptd_ahash {
36
struct crypto_ahash base;
37
};
38
39
static inline struct cryptd_ahash *__cryptd_ahash_cast(
40
struct crypto_ahash *tfm)
41
{
42
return (struct cryptd_ahash *)tfm;
43
}
44
45
/* alg_name should be algorithm to be cryptd-ed */
46
struct cryptd_ahash *cryptd_alloc_ahash(const char *alg_name,
47
u32 type, u32 mask);
48
struct crypto_shash *cryptd_ahash_child(struct cryptd_ahash *tfm);
49
struct shash_desc *cryptd_shash_desc(struct ahash_request *req);
50
void cryptd_free_ahash(struct cryptd_ahash *tfm);
51
52
struct cryptd_aead {
53
struct crypto_aead base;
54
};
55
56
static inline struct cryptd_aead *__cryptd_aead_cast(
57
struct crypto_aead *tfm)
58
{
59
return (struct cryptd_aead *)tfm;
60
}
61
62
struct cryptd_aead *cryptd_alloc_aead(const char *alg_name,
63
u32 type, u32 mask);
64
65
struct crypto_aead *cryptd_aead_child(struct cryptd_aead *tfm);
66
67
void cryptd_free_aead(struct cryptd_aead *tfm);
68
69
#endif
70
71