1*9712c20fSFrederick Mayle // Copyright 2007 Google LLC 2*9712c20fSFrederick Mayle // Author: [email protected] (Liu Li) 3*9712c20fSFrederick Mayle #ifndef COMMON_MD5_H__ 4*9712c20fSFrederick Mayle #define COMMON_MD5_H__ 5*9712c20fSFrederick Mayle 6*9712c20fSFrederick Mayle #include <stddef.h> 7*9712c20fSFrederick Mayle #include <stdint.h> 8*9712c20fSFrederick Mayle 9*9712c20fSFrederick Mayle namespace google_breakpad { 10*9712c20fSFrederick Mayle 11*9712c20fSFrederick Mayle typedef uint32_t u32; 12*9712c20fSFrederick Mayle typedef uint8_t u8; 13*9712c20fSFrederick Mayle 14*9712c20fSFrederick Mayle struct MD5Context { 15*9712c20fSFrederick Mayle u32 buf[4]; 16*9712c20fSFrederick Mayle u32 bits[2]; 17*9712c20fSFrederick Mayle u8 in[64]; 18*9712c20fSFrederick Mayle }; 19*9712c20fSFrederick Mayle 20*9712c20fSFrederick Mayle void MD5Init(struct MD5Context *ctx); 21*9712c20fSFrederick Mayle 22*9712c20fSFrederick Mayle void MD5Update(struct MD5Context *ctx, unsigned char const *buf, size_t len); 23*9712c20fSFrederick Mayle 24*9712c20fSFrederick Mayle void MD5Final(unsigned char digest[16], struct MD5Context *ctx); 25*9712c20fSFrederick Mayle 26*9712c20fSFrederick Mayle } // namespace google_breakpad 27*9712c20fSFrederick Mayle 28*9712c20fSFrederick Mayle #endif // COMMON_MD5_H__ 29