Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * geniv: IV generation
0004  *
0005  * Copyright (c) 2015 Herbert Xu <herbert@gondor.apana.org.au>
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  /* _CRYPTO_INTERNAL_GENIV_H */