#include <crypto/internal/hash.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/mm.h>
#include <linux/types.h>
#include <asm/byteorder.h>
#include "ripemd.h"
struct rmd160_ctx { … };
#define K1 …
#define K2 …
#define K3 …
#define K4 …
#define K5 …
#define KK1 …
#define KK2 …
#define KK3 …
#define KK4 …
#define KK5 …
#define F1(x, y, z) …
#define F2(x, y, z) …
#define F3(x, y, z) …
#define F4(x, y, z) …
#define F5(x, y, z) …
#define ROUND(a, b, c, d, e, f, k, x, s) …
static void rmd160_transform(u32 *state, const __le32 *in)
{ … }
static int rmd160_init(struct shash_desc *desc)
{ … }
static int rmd160_update(struct shash_desc *desc, const u8 *data,
unsigned int len)
{ … }
static int rmd160_final(struct shash_desc *desc, u8 *out)
{ … }
static struct shash_alg alg = …;
static int __init rmd160_mod_init(void)
{ … }
static void __exit rmd160_mod_fini(void)
{ … }
subsys_initcall(rmd160_mod_init);
module_exit(rmd160_mod_fini);
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS_CRYPTO(…) …;