#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_instance_ctx { … };
struct crypto_authenc_ctx { … };
struct authenc_request_ctx { … };
static void authenc_request_complete(struct aead_request *req, int err)
{ … }
int crypto_authenc_extractkeys(struct crypto_authenc_keys *keys, const u8 *key,
unsigned int keylen)
{ … }
EXPORT_SYMBOL_GPL(…);
static int crypto_authenc_setkey(struct crypto_aead *authenc, const u8 *key,
unsigned int keylen)
{ … }
static void authenc_geniv_ahash_done(void *data, int err)
{ … }
static int crypto_authenc_genicv(struct aead_request *req, unsigned int flags)
{ … }
static void crypto_authenc_encrypt_done(void *data, int err)
{ … }
static int crypto_authenc_copy_assoc(struct aead_request *req)
{ … }
static int crypto_authenc_encrypt(struct aead_request *req)
{ … }
static int crypto_authenc_decrypt_tail(struct aead_request *req,
unsigned int flags)
{ … }
static void authenc_verify_ahash_done(void *data, int err)
{ … }
static int crypto_authenc_decrypt(struct aead_request *req)
{ … }
static int crypto_authenc_init_tfm(struct crypto_aead *tfm)
{ … }
static void crypto_authenc_exit_tfm(struct crypto_aead *tfm)
{ … }
static void crypto_authenc_free(struct aead_instance *inst)
{ … }
static int crypto_authenc_create(struct crypto_template *tmpl,
struct rtattr **tb)
{ … }
static struct crypto_template crypto_authenc_tmpl = …;
static int __init crypto_authenc_module_init(void)
{ … }
static void __exit crypto_authenc_module_exit(void)
{ … }
subsys_initcall(crypto_authenc_module_init);
module_exit(crypto_authenc_module_exit);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS_CRYPTO(…) …;