#include <crypto/algapi.h>
#include <crypto/ctr.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>
struct crypto_rfc3686_ctx { … };
struct crypto_rfc3686_req_ctx { … };
static void crypto_ctr_crypt_final(struct skcipher_walk *walk,
struct crypto_cipher *tfm)
{ … }
static int crypto_ctr_crypt_segment(struct skcipher_walk *walk,
struct crypto_cipher *tfm)
{ … }
static int crypto_ctr_crypt_inplace(struct skcipher_walk *walk,
struct crypto_cipher *tfm)
{ … }
static int crypto_ctr_crypt(struct skcipher_request *req)
{ … }
static int crypto_ctr_create(struct crypto_template *tmpl, struct rtattr **tb)
{ … }
static int crypto_rfc3686_setkey(struct crypto_skcipher *parent,
const u8 *key, unsigned int keylen)
{ … }
static int crypto_rfc3686_crypt(struct skcipher_request *req)
{ … }
static int crypto_rfc3686_init_tfm(struct crypto_skcipher *tfm)
{ … }
static void crypto_rfc3686_exit_tfm(struct crypto_skcipher *tfm)
{ … }
static void crypto_rfc3686_free(struct skcipher_instance *inst)
{ … }
static int crypto_rfc3686_create(struct crypto_template *tmpl,
struct rtattr **tb)
{ … }
static struct crypto_template crypto_ctr_tmpls[] = …;
static int __init crypto_ctr_module_init(void)
{ … }
static void __exit crypto_ctr_module_exit(void)
{ … }
subsys_initcall(crypto_ctr_module_init);
module_exit(crypto_ctr_module_exit);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS_CRYPTO(…) …;
MODULE_ALIAS_CRYPTO(…) …;
MODULE_IMPORT_NS(…);