mirror of
https://github.com/brain-hackers/linux-brain.git
synced 2024-06-09 15:26:21 +09:00
01d3aee866
Before this commit lib/crypto/sha256.c has only been used in the s390 and x86 purgatory code, make it suitable for generic use: * Export interesting symbols * Add -D__DISABLE_EXPORTS to CFLAGS_sha256.o for purgatory builds to avoid the exports for the purgatory builds * Add to lib/crypto/Makefile and crypto/Kconfig Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
30 lines
838 B
C
30 lines
838 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (C) 2014 Red Hat Inc.
|
|
*
|
|
* Author: Vivek Goyal <vgoyal@redhat.com>
|
|
*/
|
|
|
|
#ifndef SHA256_H
|
|
#define SHA256_H
|
|
|
|
#include <linux/types.h>
|
|
#include <crypto/sha.h>
|
|
|
|
/*
|
|
* Stand-alone implementation of the SHA256 algorithm. It is designed to
|
|
* have as little dependencies as possible so it can be used in the
|
|
* kexec_file purgatory. In other cases you should generally use the
|
|
* hash APIs from include/crypto/hash.h. Especially when hashing large
|
|
* amounts of data as those APIs may be hw-accelerated.
|
|
*
|
|
* For details see lib/crypto/sha256.c
|
|
*/
|
|
|
|
extern int sha256_init(struct sha256_state *sctx);
|
|
extern int sha256_update(struct sha256_state *sctx, const u8 *input,
|
|
unsigned int length);
|
|
extern int sha256_final(struct sha256_state *sctx, u8 *hash);
|
|
|
|
#endif /* SHA256_H */
|