1 /*
2  * This is an OpenSSL-compatible implementation of the RSA Data Security,
3  * Inc. MD5 Message-Digest Algorithm.
4  *
5  * Written by Solar Designer <solar@openwall.com> in 2001, and placed in
6  * the public domain.  See md5c.c for more information.
7  */
8 
9 #ifndef _MD5_H
10 #define _MD5_H
11 
12 /* Any 32-bit or wider integer data type will do */
13 typedef unsigned long MD5_u32plus;
14 
15 typedef struct {
16 	MD5_u32plus lo, hi;
17 	MD5_u32plus a, b, c, d;
18 	unsigned char buffer[64];
19 	MD5_u32plus block[16];
20 } MD5_CTX;
21 
22 extern void MD5_Init(MD5_CTX *ctx);
23 extern void MD5_Update(MD5_CTX *ctx, void *data, unsigned long size);
24 extern void MD5_Final(unsigned char *result, MD5_CTX *ctx);
25 
26 #endif
27