1170263Sdarrenr/*
2255332Scy * SHA-256 internal definitions
3170263Sdarrenr * Copyright (c) 2003-2011, Jouni Malinen <j@w1.fi>
4170263Sdarrenr *
5170263Sdarrenr * This software may be distributed under the terms of the BSD license.
6170263Sdarrenr * See README for more details.
7170263Sdarrenr */
8170263Sdarrenr
9170263Sdarrenr#ifndef SHA256_I_H
10170263Sdarrenr#define SHA256_I_H
11170263Sdarrenr
12255332Scy#define SHA256_BLOCK_SIZE 64
13255332Scy
14255332Scystruct sha256_state {
15255332Scy	u64 length;
16255332Scy	u32 state[8], curlen;
17255332Scy	u8 buf[SHA256_BLOCK_SIZE];
18255332Scy};
19170263Sdarrenr
20255332Scyvoid sha256_init(struct sha256_state *md);
21170263Sdarrenrint sha256_process(struct sha256_state *md, const unsigned char *in,
22255332Scy		   unsigned long inlen);
23170263Sdarrenrint sha256_done(struct sha256_state *md, unsigned char *out);
24170263Sdarrenr
25170263Sdarrenr#endif /* SHA256_I_H */
26170263Sdarrenr