1 #ifndef MD5_H
2 #define MD5_H
3 
4 #ifdef __alpha
5 typedef unsigned int uint32;
6 #else
7 typedef unsigned long uint32;
8 #endif
9 
10 struct MD5Context {
11 
12 uint32 buf[4];
13 
14 uint32 bits[2];
15 
16 unsigned char in[64];
17 };
18 
19 void MD5Init(struct MD5Context *context);
20 void MD5Update(struct MD5Context *context, unsigned char const *buf,
21        unsigned len);
22 void MD5Final(unsigned char digest[16], struct MD5Context *context);
23 void MD5Transform(uint32 buf[4], uint32 const in[16]);
24 
25 /*
26  * This is needed to make RSAREF happy on some MS-DOS compilers.
27  */
28 typedef struct MD5Context MD5_CTX;
29 #define md5_init MD5Init
30 #define md5_state_t MD5_CTX
31 #define md5_append MD5Update
32 #define md5_finish MD5Final
33 
34 #endif /* !MD5_H */
35 
36