| /* | 
 |  * This is the header file for the MD5 message-digest algorithm. | 
 |  * The algorithm is due to Ron Rivest.  This code was | 
 |  * written by Colin Plumb in 1993, no copyright is claimed. | 
 |  * This code is in the public domain; do with it what you wish. | 
 |  * | 
 |  * Equivalent code is available from RSA Data Security, Inc. | 
 |  * This code has been tested against that, and is equivalent, | 
 |  * except that you don't need to include two pages of legalese | 
 |  * with every copy. | 
 |  * | 
 |  * To compute the message digest of a chunk of bytes, declare an | 
 |  * MD5Context structure, pass it to MD5Init, call MD5Update as | 
 |  * needed on buffers full of bytes, and then call MD5Final, which | 
 |  * will fill a supplied 16-byte array with the digest. | 
 |  * | 
 |  * Changed so as no longer to depend on Colin Plumb's `usual.h' | 
 |  * header definitions | 
 |  *  - Ian Jackson <ian@chiark.greenend.org.uk>. | 
 |  * Still in the public domain. | 
 |  */ | 
 |  | 
 | #ifndef AOM_COMMON_MD5_UTILS_H_ | 
 | #define AOM_COMMON_MD5_UTILS_H_ | 
 |  | 
 | #ifdef __cplusplus | 
 | extern "C" { | 
 | #endif | 
 |  | 
 | #define md5byte unsigned char | 
 | #define UWORD32 unsigned int | 
 |  | 
 | typedef struct MD5Context MD5Context; | 
 | struct MD5Context { | 
 |   UWORD32 buf[4]; | 
 |   UWORD32 bytes[2]; | 
 |   UWORD32 in[16]; | 
 | }; | 
 |  | 
 | void MD5Init(struct MD5Context *context); | 
 | void MD5Update(struct MD5Context *context, md5byte const *buf, unsigned len); | 
 | void MD5Final(unsigned char digest[16], struct MD5Context *context); | 
 | void MD5Transform(UWORD32 buf[4], UWORD32 const in[16]); | 
 |  | 
 | #ifdef __cplusplus | 
 | }  // extern "C" | 
 | #endif | 
 |  | 
 | #endif  // AOM_COMMON_MD5_UTILS_H_ |