blob: 244fe01a65fb95f54f2aac9860268538f766e2ce [file] [log] [blame]
Vivek Goyaldaeba062014-08-08 14:25:59 -07001/*
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
Vivek Goyaldaeba062014-08-08 14:25:59 -070013#include <linux/types.h>
14#include <crypto/sha.h>
15
Philipp Rudodf6f2802018-04-13 15:36:46 -070016/*
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
Vivek Goyaldaeba062014-08-08 14:25:59 -070025extern int sha256_init(struct sha256_state *sctx);
26extern int sha256_update(struct sha256_state *sctx, const u8 *input,
Philipp Rudodf6f2802018-04-13 15:36:46 -070027 unsigned int length);
Vivek Goyaldaeba062014-08-08 14:25:59 -070028extern int sha256_final(struct sha256_state *sctx, u8 *hash);
29
30#endif /* SHA256_H */