#include <crypto/internal/aead.h>
#include <crypto/internal/hash.h>
#include <crypto/internal/skcipher.h>
#include <crypto/authenc.h>
#include <crypto/null.h>
#include <crypto/scatterwalk.h>
#include <linux/err.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/rtnetlink.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
struct authenc_esn_instance_ctx { … };
struct crypto_authenc_esn_ctx { … };
struct authenc_esn_request_ctx { … };
static void authenc_esn_request_complete(struct aead_request *req, int err)
{ … }
static int crypto_authenc_esn_setauthsize(struct crypto_aead *authenc_esn,
unsigned int authsize)
{ … }
static int crypto_authenc_esn_setkey(struct crypto_aead *authenc_esn, const u8 *key,
unsigned int keylen)
{ … }
static int crypto_authenc_esn_genicv_tail(struct aead_request *req,
unsigned int flags)
{ … }
static void authenc_esn_geniv_ahash_done(void *data, int err)
{ … }
static int crypto_authenc_esn_genicv(struct aead_request *req,
unsigned int flags)
{ … }
static void crypto_authenc_esn_encrypt_done(void *data, int err)
{ … }
static int crypto_authenc_esn_copy(struct aead_request *req, unsigned int len)
{ … }
static int crypto_authenc_esn_encrypt(struct aead_request *req)
{ … }
static int crypto_authenc_esn_decrypt_tail(struct aead_request *req,
unsigned int flags)
{ … }
static void authenc_esn_verify_ahash_done(void *data, int err)
{ … }
static int crypto_authenc_esn_decrypt(struct aead_request *req)
{ … }
static int crypto_authenc_esn_init_tfm(struct crypto_aead *tfm)
{ … }
static void crypto_authenc_esn_exit_tfm(struct crypto_aead *tfm)
{ … }
static void crypto_authenc_esn_free(struct aead_instance *inst)
{ … }
static int crypto_authenc_esn_create(struct crypto_template *tmpl,
struct rtattr **tb)
{ … }
static struct crypto_template crypto_authenc_esn_tmpl = …;
static int __init crypto_authenc_esn_module_init(void)
{ … }
static void __exit crypto_authenc_esn_module_exit(void)
{ … }
subsys_initcall(crypto_authenc_esn_module_init);
module_exit(crypto_authenc_esn_module_exit);
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS_CRYPTO(…) …;