1 #ifndef MD5_H
2 #define MD5_H
3 
4 typedef unsigned int word32;
5 
6 struct MD5Context {
7     word32 buf[4];
8     word32 bits[2];
9     union {
10     unsigned char in[64];
11     word32 in32[16];
12     };
13 };
14 
15 void MD5Init(struct MD5Context *context);
16 void MD5Update(struct MD5Context *context, unsigned char const *buf,
17            unsigned len);
18 void MD5Final(unsigned char digest[16], struct MD5Context *context);
19 void MD5Transform(word32 buf[4], word32 const in[16]);
20 
21 /*
22  * This is needed to make RSAREF happy on some MS-DOS compilers.
23  */
24 typedef struct MD5Context MD5_CTX;
25 
26 #endif
27