9a8f7e326043454f285ba0ef5869e1578e5b8a0f
[project/make_ext4fs.git] / sha1.h
1 /*      $NetBSD: sha1.h,v 1.13 2005/12/26 18:41:36 perry Exp $  */
2
3 /*
4  * SHA-1 in C
5  * By Steve Reid <steve@edmweb.com>
6  * 100% Public Domain
7  */
8
9 #ifndef _SYS_SHA1_H_
10 #define _SYS_SHA1_H_
11
12 #include <sys/types.h>
13 #include <stdint.h>
14
15 #ifdef USE_MINGW
16 typedef unsigned char u_char;
17 typedef unsigned int uint32_t;
18 typedef unsigned int u_int32_t;
19 typedef unsigned int u_int;
20
21 #define __BEGIN_DECLS
22 #define __END_DECLS
23 #else
24 #include <sys/cdefs.h>
25 #endif
26
27 #define SHA1_DIGEST_LENGTH              20
28 #define SHA1_DIGEST_STRING_LENGTH       41
29
30 typedef struct {
31         uint32_t state[5];
32         uint32_t count[2];
33         u_char buffer[64];
34 } SHA1_CTX;
35
36 __BEGIN_DECLS
37 void    SHA1Transform(uint32_t[5], const u_char[64]);
38 void    SHA1Init(SHA1_CTX *);
39 void    SHA1Update(SHA1_CTX *, const u_char *, u_int);
40 void    SHA1Final(u_char[SHA1_DIGEST_LENGTH], SHA1_CTX *);
41 __END_DECLS
42
43 #endif /* _SYS_SHA1_H_ */