#include <asm/unaligned.h>
#include <crypto/algapi.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/types.h>
#include <crypto/cast6.h>
#define s1 …
#define s2 …
#define s3 …
#define s4 …
#define F1(D, r, m) …
#define F2(D, r, m) …
#define F3(D, r, m) …
static const u32 Tm[24][8] = …;
static const u8 Tr[4][8] = …;
static inline void W(u32 *key, unsigned int i)
{ … }
int __cast6_setkey(struct cast6_ctx *c, const u8 *in_key, unsigned int key_len)
{ … }
EXPORT_SYMBOL_GPL(…);
int cast6_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen)
{ … }
EXPORT_SYMBOL_GPL(…);
static inline void Q(u32 *block, const u8 *Kr, const u32 *Km)
{ … }
static inline void QBAR(u32 *block, const u8 *Kr, const u32 *Km)
{ … }
void __cast6_encrypt(const void *ctx, u8 *outbuf, const u8 *inbuf)
{ … }
EXPORT_SYMBOL_GPL(…);
static void cast6_encrypt(struct crypto_tfm *tfm, u8 *outbuf, const u8 *inbuf)
{ … }
void __cast6_decrypt(const void *ctx, u8 *outbuf, const u8 *inbuf)
{ … }
EXPORT_SYMBOL_GPL(…);
static void cast6_decrypt(struct crypto_tfm *tfm, u8 *outbuf, const u8 *inbuf)
{ … }
static struct crypto_alg alg = …;
static int __init cast6_mod_init(void)
{ … }
static void __exit cast6_mod_fini(void)
{ … }
subsys_initcall(cast6_mod_init);
module_exit(cast6_mod_fini);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS_CRYPTO(…) …;
MODULE_ALIAS_CRYPTO(…) …;