Added SILC Thread Queue API
[silc.git] / lib / silccrypt / sha256_internal.h
1 /*
2
3   sha256_internal.h
4
5   Author: Pekka Riikonen <priikone@silcnet.org>
6
7   Copyright (C) 2005 Pekka Riikonen
8
9   This program is free software; you can redistribute it and/or modify
10   it under the terms of the GNU General Public License as published by
11   the Free Software Foundation; either version 2 of the License, or
12   (at your option) any later version.
13
14   This program is distributed in the hope that it will be useful,
15   but WITHOUT ANY WARRANTY; without even the implied warranty of
16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17   GNU General Public License for more details.
18
19 */
20
21 #ifndef SHA256_INTERNAL_H
22 #define SHA256_INTERNAL_H
23
24 typedef struct {
25     SilcUInt64 length;
26     SilcUInt32 state[8];
27     SilcUInt32 curlen;
28     unsigned char buf[64];
29 } sha256_state;
30
31 int sha256_init(sha256_state * md);
32 int sha256_process(sha256_state * md, const unsigned char *in,
33                    unsigned long inlen);
34 int sha256_done(sha256_state * md, unsigned char *hash);
35 void sha256_transform(SilcUInt32 *state, unsigned char *buf);
36
37 #endif /* SHA256_INTERNAL_H */