#include <linux/crypto.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/mm.h>
#include <linux/module.h>
#include <linux/net.h>
#include <linux/vmalloc.h>
#include <linux/zstd.h>
#include <crypto/internal/scompress.h>
#define ZSTD_DEF_LEVEL …
struct zstd_ctx { … };
static zstd_parameters zstd_params(void)
{ … }
static int zstd_comp_init(struct zstd_ctx *ctx)
{ … }
static int zstd_decomp_init(struct zstd_ctx *ctx)
{ … }
static void zstd_comp_exit(struct zstd_ctx *ctx)
{ … }
static void zstd_decomp_exit(struct zstd_ctx *ctx)
{ … }
static int __zstd_init(void *ctx)
{ … }
static void *zstd_alloc_ctx(struct crypto_scomp *tfm)
{ … }
static int zstd_init(struct crypto_tfm *tfm)
{ … }
static void __zstd_exit(void *ctx)
{ … }
static void zstd_free_ctx(struct crypto_scomp *tfm, void *ctx)
{ … }
static void zstd_exit(struct crypto_tfm *tfm)
{ … }
static int __zstd_compress(const u8 *src, unsigned int slen,
u8 *dst, unsigned int *dlen, void *ctx)
{ … }
static int zstd_compress(struct crypto_tfm *tfm, const u8 *src,
unsigned int slen, u8 *dst, unsigned int *dlen)
{ … }
static int zstd_scompress(struct crypto_scomp *tfm, const u8 *src,
unsigned int slen, u8 *dst, unsigned int *dlen,
void *ctx)
{ … }
static int __zstd_decompress(const u8 *src, unsigned int slen,
u8 *dst, unsigned int *dlen, void *ctx)
{ … }
static int zstd_decompress(struct crypto_tfm *tfm, const u8 *src,
unsigned int slen, u8 *dst, unsigned int *dlen)
{ … }
static int zstd_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 zstd_mod_init(void)
{ … }
static void __exit zstd_mod_fini(void)
{ … }
subsys_initcall(zstd_mod_init);
module_exit(zstd_mod_fini);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS_CRYPTO(…) …;