kernel/kexec_file.c: move purgatories sha256 to common code
[sfrench/cifs-2.6.git] / include / linux / sha256.h
1 /*
2  *  Copyright (C) 2014 Red Hat Inc.
3  *
4  *  Author: Vivek Goyal <vgoyal@redhat.com>
5  *
6  * This source code is licensed under the GNU General Public License,
7  * Version 2.  See the file COPYING for more details.
8  */
9
10 #ifndef SHA256_H
11 #define SHA256_H
12
13 #include <linux/types.h>
14 #include <crypto/sha.h>
15
16 /*
17  * Stand-alone implementation of the SHA256 algorithm. It is designed to
18  * have as little dependencies as possible so it can be used in the
19  * kexec_file purgatory. In other cases you should use the implementation in
20  * crypto/.
21  *
22  * For details see lib/sha256.c
23  */
24
25 extern int sha256_init(struct sha256_state *sctx);
26 extern int sha256_update(struct sha256_state *sctx, const u8 *input,
27                          unsigned int length);
28 extern int sha256_final(struct sha256_state *sctx, u8 *hash);
29
30 #endif /* SHA256_H */