#include <crypto/internal/hash.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/mm.h>
#include <linux/types.h>
#include <crypto/sm3.h>
#include <crypto/sm3_base.h>
#include <linux/bitops.h>
#include <asm/byteorder.h>
#include <asm/unaligned.h>
const u8 sm3_zero_message_hash[SM3_DIGEST_SIZE] = …;
EXPORT_SYMBOL_GPL(…);
static int crypto_sm3_update(struct shash_desc *desc, const u8 *data,
unsigned int len)
{ … }
static int crypto_sm3_final(struct shash_desc *desc, u8 *out)
{ … }
static int crypto_sm3_finup(struct shash_desc *desc, const u8 *data,
unsigned int len, u8 *hash)
{ … }
static struct shash_alg sm3_alg = …;
static int __init sm3_generic_mod_init(void)
{ … }
static void __exit sm3_generic_mod_fini(void)
{ … }
subsys_initcall(sm3_generic_mod_init);
module_exit(sm3_generic_mod_fini);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS_CRYPTO(…) …;
MODULE_ALIAS_CRYPTO(…) …;