18faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel// Copyright 2007 Google Inc. All Rights Reserved. 28faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel// Author: liuli@google.com (Liu Li) 38faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel// copied from chromium/src/breakpad/src/common/md5.h 48faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel 58faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel#ifndef COMMON_MD5_H__ 68faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel#define COMMON_MD5_H__ 78faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel 88faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel#include <stdint.h> 98faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel 108faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedeltypedef uint32_t u32; 118faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedeltypedef uint8_t u8; 128faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel 138faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedelstruct MD5Context { 148faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel u32 buf[4]; 158faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel u32 bits[2]; 168faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel u8 in[64]; 178faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel}; 188faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel 198faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel#ifdef __cplusplus 208faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedelextern "C" { 218faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel#endif // __cplusplus 228faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel 238faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedelvoid MD5Init(struct MD5Context *ctx); 248faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel 258faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedelvoid MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len); 268faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel 278faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedelvoid MD5Final(unsigned char digest[16], struct MD5Context *ctx); 288faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel 298faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel#ifdef __cplusplus 308faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel} 318faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel#endif 328faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel 338faad30e5a44271d9e50c4d75e1271018d7439b5Ilja H. Friedel#endif // COMMON_MD5_H__ 34