#include <crypto/algapi.h>
#include <crypto/internal/aead.h>
#include <linux/atomic.h>
#include <linux/err.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/kobject.h>
#include <linux/cpu.h>
#include <crypto/pcrypt.h>
static struct padata_instance *pencrypt;
static struct padata_instance *pdecrypt;
static struct kset *pcrypt_kset;
struct pcrypt_instance_ctx { … };
struct pcrypt_aead_ctx { … };
static inline struct pcrypt_instance_ctx *pcrypt_tfm_ictx(
struct crypto_aead *tfm)
{ … }
static int pcrypt_aead_setkey(struct crypto_aead *parent,
const u8 *key, unsigned int keylen)
{ … }
static int pcrypt_aead_setauthsize(struct crypto_aead *parent,
unsigned int authsize)
{ … }
static void pcrypt_aead_serial(struct padata_priv *padata)
{ … }
static void pcrypt_aead_done(void *data, int err)
{ … }
static void pcrypt_aead_enc(struct padata_priv *padata)
{ … }
static int pcrypt_aead_encrypt(struct aead_request *req)
{ … }
static void pcrypt_aead_dec(struct padata_priv *padata)
{ … }
static int pcrypt_aead_decrypt(struct aead_request *req)
{ … }
static int pcrypt_aead_init_tfm(struct crypto_aead *tfm)
{ … }
static void pcrypt_aead_exit_tfm(struct crypto_aead *tfm)
{ … }
static void pcrypt_free(struct aead_instance *inst)
{ … }
static int pcrypt_init_instance(struct crypto_instance *inst,
struct crypto_alg *alg)
{ … }
static int pcrypt_create_aead(struct crypto_template *tmpl, struct rtattr **tb,
struct crypto_attr_type *algt)
{ … }
static int pcrypt_create(struct crypto_template *tmpl, struct rtattr **tb)
{ … }
static int pcrypt_sysfs_add(struct padata_instance *pinst, const char *name)
{ … }
static int pcrypt_init_padata(struct padata_instance **pinst, const char *name)
{ … }
static struct crypto_template pcrypt_tmpl = …;
static int __init pcrypt_init(void)
{ … }
static void __exit pcrypt_exit(void)
{ … }
subsys_initcall(pcrypt_init);
module_exit(pcrypt_exit);
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS_CRYPTO(…) …;