1 #ifndef _MD5_H_
2 #define _MD5_H_
3 
4 #include <stdint.h>
5 #include <sys/types.h>
6 
7 #define MD5_HASHBYTES 16
8 
9 typedef struct MD5Context {
10 	uint32_t buf[4];
11 	uint32_t bits[2];
12 	union
13 	  {
14 	     unsigned char s[64];
15 	     uint32_t i[16];
16 	  } in;
17 } MD5_CTX;
18 
19 extern void   MD5Init(MD5_CTX *context);
20 extern void   MD5Update(MD5_CTX *context,unsigned char const *buf,unsigned len);
21 extern void   MD5Final(unsigned char digest[MD5_HASHBYTES], MD5_CTX *context);
22 
23 extern void   MD5Transform(uint32_t buf[4], uint32_t const in[16]);
24 extern char  *MD5End(MD5_CTX *, char *);
25 extern char  *MD5File(const char *, char *);
26 extern char  *MD5Data (const unsigned char *, unsigned int, char *);
27 
28 #endif
29