aboutsummaryrefslogtreecommitdiffstats
path: root/include/crypto
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2009-07-08 03:55:52 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2009-07-08 06:57:10 -0400
commit97eedce1a64a57648ac5e39f03825528c47ba72e (patch)
tree5dea863a2b51b01b8e436d4e395ef15ae3f4bcd9 /include/crypto
parent2e4fddd8e420e8f531a34e7a97f9cdb851a6ad13 (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/crypto')
-rw-r--r--include/crypto/algapi.h6
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
118int crypto_init_spawn(struct crypto_spawn *spawn, struct crypto_alg *alg, 119int 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);
121int crypto_init_spawn2(struct crypto_spawn *spawn, struct crypto_alg *alg,
122 struct crypto_instance *inst,
123 const struct crypto_type *frontend);
124
120void crypto_drop_spawn(struct crypto_spawn *spawn); 125void crypto_drop_spawn(struct crypto_spawn *spawn);
121struct crypto_tfm *crypto_spawn_tfm(struct crypto_spawn *spawn, u32 type, 126struct crypto_tfm *crypto_spawn_tfm(struct crypto_spawn *spawn, u32 type,
122 u32 mask); 127 u32 mask);
128void *crypto_spawn_tfm2(struct crypto_spawn *spawn);
123 129
124static inline void crypto_set_spawn(struct crypto_spawn *spawn, 130static inline void crypto_set_spawn(struct crypto_spawn *spawn,
125 struct crypto_instance *inst) 131 struct crypto_instance *inst)