#include <crypto/algapi.h>
#include <crypto/internal/cipher.h>
#include <crypto/internal/skcipher.h>
#include <linux/err.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#define XCTR_BLOCKSIZE …
static void crypto_xctr_crypt_final(struct skcipher_walk *walk,
struct crypto_cipher *tfm, u32 byte_ctr)
{ … }
static int crypto_xctr_crypt_segment(struct skcipher_walk *walk,
struct crypto_cipher *tfm, u32 byte_ctr)
{ … }
static int crypto_xctr_crypt_inplace(struct skcipher_walk *walk,
struct crypto_cipher *tfm, u32 byte_ctr)
{ … }
static int crypto_xctr_crypt(struct skcipher_request *req)
{ … }
static int crypto_xctr_create(struct crypto_template *tmpl, struct rtattr **tb)
{ … }
static struct crypto_template crypto_xctr_tmpl = …;
static int __init crypto_xctr_module_init(void)
{ … }
static void __exit crypto_xctr_module_exit(void)
{ … }
subsys_initcall(crypto_xctr_module_init);
module_exit(crypto_xctr_module_exit);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS_CRYPTO(…) …;
MODULE_IMPORT_NS(…);