#include <linux/init.h>
#include <linux/module.h>
#include <linux/crypto.h>
#include <linux/vmalloc.h>
#include <linux/mm.h>
#include <linux/lzo.h>
#include <crypto/internal/scompress.h>
struct lzo_ctx { … };
static void *lzo_alloc_ctx(struct crypto_scomp *tfm)
{ … }
static int lzo_init(struct crypto_tfm *tfm)
{ … }
static void lzo_free_ctx(struct crypto_scomp *tfm, void *ctx)
{ … }
static void lzo_exit(struct crypto_tfm *tfm)
{ … }
static int __lzo_compress(const u8 *src, unsigned int slen,
u8 *dst, unsigned int *dlen, void *ctx)
{ … }
static int lzo_compress(struct crypto_tfm *tfm, const u8 *src,
unsigned int slen, u8 *dst, unsigned int *dlen)
{ … }
static int lzo_scompress(struct crypto_scomp *tfm, const u8 *src,
unsigned int slen, u8 *dst, unsigned int *dlen,
void *ctx)
{ … }
static int __lzo_decompress(const u8 *src, unsigned int slen,
u8 *dst, unsigned int *dlen)
{ … }
static int lzo_decompress(struct crypto_tfm *tfm, const u8 *src,
unsigned int slen, u8 *dst, unsigned int *dlen)
{ … }
static int lzo_sdecompress(struct crypto_scomp *tfm, const u8 *src,
unsigned int slen, u8 *dst, unsigned int *dlen,
void *ctx)
{ … }
static struct crypto_alg alg = …;
static struct scomp_alg scomp = …;
static int __init lzo_mod_init(void)
{ … }
static void __exit lzo_mod_fini(void)
{ … }
subsys_initcall(lzo_mod_init);
module_exit(lzo_mod_fini);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS_CRYPTO(…) …;