0001
0002
0003
0004
0005
0006
0007
0008 #ifndef _CRYPTO_INTERNAL_GENIV_H
0009 #define _CRYPTO_INTERNAL_GENIV_H
0010
0011 #include <crypto/internal/aead.h>
0012 #include <linux/spinlock.h>
0013 #include <linux/types.h>
0014
0015 struct aead_geniv_ctx {
0016 spinlock_t lock;
0017 struct crypto_aead *child;
0018 struct crypto_sync_skcipher *sknull;
0019 u8 salt[] __attribute__ ((aligned(__alignof__(u32))));
0020 };
0021
0022 struct aead_instance *aead_geniv_alloc(struct crypto_template *tmpl,
0023 struct rtattr **tb);
0024 int aead_init_geniv(struct crypto_aead *tfm);
0025 void aead_exit_geniv(struct crypto_aead *tfm);
0026
0027 #endif