#define pr_fmt(fmt) …
#define MODULE_NAME …
#include <linux/hashtable.h>
#include "842.h"
#include "842_debugfs.h"
#define SW842_HASHTABLE8_BITS …
#define SW842_HASHTABLE4_BITS …
#define SW842_HASHTABLE2_BITS …
static bool sw842_strict;
module_param_named(strict, sw842_strict, bool, 0644);
static u8 comp_ops[OPS_MAX][5] = …;
struct sw842_hlist_node8 { … };
struct sw842_hlist_node4 { … };
struct sw842_hlist_node2 { … };
#define INDEX_NOT_FOUND …
#define INDEX_NOT_CHECKED …
struct sw842_param { … };
#define get_input_data(p, o, b) …
#define init_hashtable_nodes(p, b) …
#define find_index(p, b, n) …
#define check_index(p, b, n) …
#define replace_hash(p, b, i, d) …
static u8 bmask[8] = …;
static int add_bits(struct sw842_param *p, u64 d, u8 n);
static int __split_add_bits(struct sw842_param *p, u64 d, u8 n, u8 s)
{ … }
static int add_bits(struct sw842_param *p, u64 d, u8 n)
{ … }
static int add_template(struct sw842_param *p, u8 c)
{ … }
static int add_repeat_template(struct sw842_param *p, u8 r)
{ … }
static int add_short_data_template(struct sw842_param *p, u8 b)
{ … }
static int add_zeros_template(struct sw842_param *p)
{ … }
static int add_end_template(struct sw842_param *p)
{ … }
static bool check_template(struct sw842_param *p, u8 c)
{ … }
static void get_next_data(struct sw842_param *p)
{ … }
static void update_hashtables(struct sw842_param *p)
{ … }
static int process_next(struct sw842_param *p)
{ … }
int sw842_compress(const u8 *in, unsigned int ilen,
u8 *out, unsigned int *olen, void *wmem)
{ … }
EXPORT_SYMBOL_GPL(…);
static int __init sw842_init(void)
{ … }
module_init(…) …;
static void __exit sw842_exit(void)
{ … }
module_exit(sw842_exit);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;