diff options
Diffstat (limited to 'include/crypto/algapi.h')
-rw-r--r-- | include/crypto/algapi.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/include/crypto/algapi.h b/include/crypto/algapi.h index ed68d494b364..ffec530d52fb 100644 --- a/include/crypto/algapi.h +++ b/include/crypto/algapi.h | |||
@@ -14,5 +14,36 @@ | |||
14 | 14 | ||
15 | #include <linux/crypto.h> | 15 | #include <linux/crypto.h> |
16 | 16 | ||
17 | struct module; | ||
18 | |||
19 | struct crypto_instance { | ||
20 | struct crypto_alg alg; | ||
21 | |||
22 | struct crypto_template *tmpl; | ||
23 | struct hlist_node list; | ||
24 | |||
25 | void *__ctx[] CRYPTO_MINALIGN_ATTR; | ||
26 | }; | ||
27 | |||
28 | struct crypto_template { | ||
29 | struct list_head list; | ||
30 | struct hlist_head instances; | ||
31 | struct module *module; | ||
32 | |||
33 | struct crypto_instance *(*alloc)(void *param, unsigned int len); | ||
34 | void (*free)(struct crypto_instance *inst); | ||
35 | |||
36 | char name[CRYPTO_MAX_ALG_NAME]; | ||
37 | }; | ||
38 | |||
39 | int crypto_register_template(struct crypto_template *tmpl); | ||
40 | void crypto_unregister_template(struct crypto_template *tmpl); | ||
41 | struct crypto_template *crypto_lookup_template(const char *name); | ||
42 | |||
43 | static inline void *crypto_instance_ctx(struct crypto_instance *inst) | ||
44 | { | ||
45 | return inst->__ctx; | ||
46 | } | ||
47 | |||
17 | #endif /* _CRYPTO_ALGAPI_H */ | 48 | #endif /* _CRYPTO_ALGAPI_H */ |
18 | 49 | ||