diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2009-07-08 03:55:52 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2009-07-08 06:57:10 -0400 |
commit | 97eedce1a64a57648ac5e39f03825528c47ba72e (patch) | |
tree | 5dea863a2b51b01b8e436d4e395ef15ae3f4bcd9 /include | |
parent | 2e4fddd8e420e8f531a34e7a97f9cdb851a6ad13 (diff) |
crypto: api - Add new style spawn support
This patch modifies the spawn infrastructure to support new style
algorithms like shash. In particular, this means storing the
frontend type in the spawn and using crypto_create_tfm to allocate
the tfm.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'include')
-rw-r--r-- | include/crypto/algapi.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/crypto/algapi.h b/include/crypto/algapi.h index 99bb29723130..c9bff92a9e0e 100644 --- a/include/crypto/algapi.h +++ b/include/crypto/algapi.h | |||
@@ -61,6 +61,7 @@ struct crypto_spawn { | |||
61 | struct list_head list; | 61 | struct list_head list; |
62 | struct crypto_alg *alg; | 62 | struct crypto_alg *alg; |
63 | struct crypto_instance *inst; | 63 | struct crypto_instance *inst; |
64 | const struct crypto_type *frontend; | ||
64 | u32 mask; | 65 | u32 mask; |
65 | }; | 66 | }; |
66 | 67 | ||
@@ -117,9 +118,14 @@ struct crypto_template *crypto_lookup_template(const char *name); | |||
117 | 118 | ||
118 | int crypto_init_spawn(struct crypto_spawn *spawn, struct crypto_alg *alg, | 119 | int crypto_init_spawn(struct crypto_spawn *spawn, struct crypto_alg *alg, |
119 | struct crypto_instance *inst, u32 mask); | 120 | struct crypto_instance *inst, u32 mask); |
121 | int crypto_init_spawn2(struct crypto_spawn *spawn, struct crypto_alg *alg, | ||
122 | struct crypto_instance *inst, | ||
123 | const struct crypto_type *frontend); | ||
124 | |||
120 | void crypto_drop_spawn(struct crypto_spawn *spawn); | 125 | void crypto_drop_spawn(struct crypto_spawn *spawn); |
121 | struct crypto_tfm *crypto_spawn_tfm(struct crypto_spawn *spawn, u32 type, | 126 | struct crypto_tfm *crypto_spawn_tfm(struct crypto_spawn *spawn, u32 type, |
122 | u32 mask); | 127 | u32 mask); |
128 | void *crypto_spawn_tfm2(struct crypto_spawn *spawn); | ||
123 | 129 | ||
124 | static inline void crypto_set_spawn(struct crypto_spawn *spawn, | 130 | static inline void crypto_set_spawn(struct crypto_spawn *spawn, |
125 | struct crypto_instance *inst) | 131 | struct crypto_instance *inst) |