xref: /aosp_15_r20/external/google-breakpad/src/common/md5.h (revision 9712c20fc9bbfbac4935993a2ca0b3958c5adad2)
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