aboutsummaryrefslogtreecommitdiffstats
path: root/include/crypto
diff options
context:
space:
mode:
Diffstat (limited to 'include/crypto')
-rw-r--r--include/crypto/internal/skcipher.h9
-rw-r--r--include/crypto/skcipher.h38
2 files changed, 47 insertions, 0 deletions
diff --git a/include/crypto/internal/skcipher.h b/include/crypto/internal/skcipher.h
index 87879e64ff4c..c9402dd12d03 100644
--- a/include/crypto/internal/skcipher.h
+++ b/include/crypto/internal/skcipher.h
@@ -14,11 +14,14 @@
14#define _CRYPTO_INTERNAL_SKCIPHER_H 14#define _CRYPTO_INTERNAL_SKCIPHER_H
15 15
16#include <crypto/algapi.h> 16#include <crypto/algapi.h>
17#include <crypto/skcipher.h>
17 18
18struct crypto_skcipher_spawn { 19struct crypto_skcipher_spawn {
19 struct crypto_spawn base; 20 struct crypto_spawn base;
20}; 21};
21 22
23extern const struct crypto_type crypto_givcipher_type;
24
22static inline void crypto_set_skcipher_spawn( 25static inline void crypto_set_skcipher_spawn(
23 struct crypto_skcipher_spawn *spawn, struct crypto_instance *inst) 26 struct crypto_skcipher_spawn *spawn, struct crypto_instance *inst)
24{ 27{
@@ -47,5 +50,11 @@ static inline struct crypto_ablkcipher *crypto_spawn_skcipher(
47 crypto_skcipher_mask(0))); 50 crypto_skcipher_mask(0)));
48} 51}
49 52
53static inline void *skcipher_givcrypt_reqctx(
54 struct skcipher_givcrypt_request *req)
55{
56 return ablkcipher_request_ctx(&req->creq);
57}
58
50#endif /* _CRYPTO_INTERNAL_SKCIPHER_H */ 59#endif /* _CRYPTO_INTERNAL_SKCIPHER_H */
51 60
diff --git a/include/crypto/skcipher.h b/include/crypto/skcipher.h
new file mode 100644
index 000000000000..c283fab5eddb
--- /dev/null
+++ b/include/crypto/skcipher.h
@@ -0,0 +1,38 @@
1/*
2 * Symmetric key ciphers.
3 *
4 * Copyright (c) 2007 Herbert Xu <herbert@gondor.apana.org.au>
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the Free
8 * Software Foundation; either version 2 of the License, or (at your option)
9 * any later version.
10 *
11 */
12
13#ifndef _CRYPTO_SKCIPHER_H
14#define _CRYPTO_SKCIPHER_H
15
16#include <linux/crypto.h>
17
18/**
19 * struct skcipher_givcrypt_request - Crypto request with IV generation
20 * @seq: Sequence number for IV generation
21 * @giv: Space for generated IV
22 * @creq: The crypto request itself
23 */
24struct skcipher_givcrypt_request {
25 u64 seq;
26 u8 *giv;
27
28 struct ablkcipher_request creq;
29};
30
31static inline struct crypto_ablkcipher *skcipher_givcrypt_reqtfm(
32 struct skcipher_givcrypt_request *req)
33{
34 return crypto_ablkcipher_reqtfm(&req->creq);
35}
36
37#endif /* _CRYPTO_SKCIPHER_H */
38