#include <crypto/algapi.h>
#include <crypto/internal/hash.h>
#include <crypto/internal/poly1305.h>
#include <linux/crypto.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <asm/unaligned.h>
static int crypto_poly1305_init(struct shash_desc *desc)
{ … }
static unsigned int crypto_poly1305_setdesckey(struct poly1305_desc_ctx *dctx,
const u8 *src, unsigned int srclen)
{ … }
static void poly1305_blocks(struct poly1305_desc_ctx *dctx, const u8 *src,
unsigned int srclen)
{ … }
static int crypto_poly1305_update(struct shash_desc *desc,
const u8 *src, unsigned int srclen)
{ … }
static int crypto_poly1305_final(struct shash_desc *desc, u8 *dst)
{ … }
static struct shash_alg poly1305_alg = …;
static int __init poly1305_mod_init(void)
{ … }
static void __exit poly1305_mod_exit(void)
{ … }
subsys_initcall(poly1305_mod_init);
module_exit(poly1305_mod_exit);
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS_CRYPTO(…) …;
MODULE_ALIAS_CRYPTO(…) …;