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