1 /* SPDX-License-Identifier: GPL-2.0-or-later */
5 * Copyright (c) 2015 Herbert Xu <herbert@gondor.apana.org.au>
8 #ifndef _CRYPTO_INTERNAL_GENIV_H
9 #define _CRYPTO_INTERNAL_GENIV_H
11 #include <crypto/internal/aead.h>
12 #include <linux/spinlock.h>
13 #include <linux/types.h>
15 struct aead_geniv_ctx
{
17 struct crypto_aead
*child
;
18 struct crypto_sync_skcipher
*sknull
;
19 u8 salt
[] __attribute__ ((aligned(__alignof__(u32
))));
22 struct aead_instance
*aead_geniv_alloc(struct crypto_template
*tmpl
,
23 struct rtattr
**tb
, u32 type
, u32 mask
);
24 int aead_init_geniv(struct crypto_aead
*tfm
);
25 void aead_exit_geniv(struct crypto_aead
*tfm
);
27 #endif /* _CRYPTO_INTERNAL_GENIV_H */