#include <linux/slab.h>
#include <linux/sizes.h>
#include <linux/count_zeros.h>
#include <linux/unaligned.h>
#include "lz77.h"
#define LZ77_MATCH_MIN_LEN …
#define LZ77_MATCH_MIN_DIST …
#define LZ77_MATCH_MAX_DIST …
#define LZ77_HASH_LOG …
#define LZ77_HASH_SIZE …
#define LZ77_STEP_SIZE …
static __always_inline u8 lz77_read8(const u8 *ptr)
{ … }
static __always_inline u64 lz77_read64(const u64 *ptr)
{ … }
static __always_inline void lz77_write8(u8 *ptr, u8 v)
{ … }
static __always_inline void lz77_write16(u16 *ptr, u16 v)
{ … }
static __always_inline void lz77_write32(u32 *ptr, u32 v)
{ … }
static __always_inline u32 lz77_match_len(const void *wnd, const void *cur, const void *end)
{ … }
static __always_inline void *lz77_write_match(void *dst, void **nib, u32 dist, u32 len)
{ … }
noinline int lz77_compress(const void *src, u32 slen, void *dst, u32 *dlen)
{ … }