1 /* See md5.c for explanation and copyright information. */ 2 3 #ifndef MD5_H 4 #define MD5_H 5 6 /* Unlike previous versions of this code, uint32 need not be exactly 7 32 bits, merely 32 bits or more. Choosing a data type which is 32 8 bits instead of 64 is not important; speed is considerably more 9 important. ANSI guarantees that "unsigned long" will be big enough, 10 and always using it seems to have few disadvantages. */ 11 typedef unsigned long cvs_uint32; 12 13 struct cvs_MD5Context { 14 cvs_uint32 buf[4]; 15 cvs_uint32 bits[2]; 16 unsigned char in[64]; 17 }; 18 19 void cvs_MD5Init PROTO ((struct cvs_MD5Context *context)); 20 void cvs_MD5Update PROTO ((struct cvs_MD5Context *context, 21 unsigned char const *buf, unsigned len)); 22 void cvs_MD5Final PROTO ((unsigned char digest[16], 23 struct cvs_MD5Context *context)); 24 void cvs_MD5Transform PROTO ((cvs_uint32 buf[4], const unsigned char in[64])); 25 26 #endif /* !MD5_H */ 27