]>
Commit | Line | Data |
---|---|---|
6350449f HX |
1 | /* |
2 | * geniv: IV generation | |
3 | * | |
4 | * Copyright (c) 2015 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_INTERNAL_GENIV_H | |
14 | #define _CRYPTO_INTERNAL_GENIV_H | |
15 | ||
16 | #include <crypto/internal/aead.h> | |
17 | #include <linux/spinlock.h> | |
149a3971 | 18 | #include <linux/types.h> |
6350449f HX |
19 | |
20 | struct aead_geniv_ctx { | |
21 | spinlock_t lock; | |
22 | struct crypto_aead *child; | |
ca0494c0 | 23 | struct crypto_skcipher *sknull; |
149a3971 | 24 | u8 salt[] __attribute__ ((aligned(__alignof__(u32)))); |
6350449f HX |
25 | }; |
26 | ||
149a3971 HX |
27 | struct aead_instance *aead_geniv_alloc(struct crypto_template *tmpl, |
28 | struct rtattr **tb, u32 type, u32 mask); | |
29 | void aead_geniv_free(struct aead_instance *inst); | |
149a3971 HX |
30 | int aead_init_geniv(struct crypto_aead *tfm); |
31 | void aead_exit_geniv(struct crypto_aead *tfm); | |
32 | ||
6350449f | 33 | #endif /* _CRYPTO_INTERNAL_GENIV_H */ |