1/*
2 * This code implements the MD5 message-digest algorithm.
3 * The algorithm is due to Ron Rivest.	This code was
4 * written by Colin Plumb in 1993, no copyright is claimed.
5 * This code is in the public domain; do with it what you wish.
6 *
7 * Equivalent code is available from RSA Data Security, Inc.
8 * This code has been tested against that, and is equivalent,
9 * except that you don't need to include two pages of legalese
10 * with every copy.
11 *
12 * To compute the message digest of a chunk of bytes, declare an
13 * MD5Context structure, pass it to MD5Init, call MD5Update as
14 * needed on buffers full of bytes, and then call MD5Final, which
15 * will fill a supplied 16-byte array with the digest.
16 */
17
18/* Brutally hacked by John Walker back from ANSI C to K&R (no
19   prototypes) to maintain the tradition that Netfone will compile
20   with Sun's original "cc". */
21
22#ifndef MD5_H
23#define MD5_H
24
25#include "platform.h"
26#ifdef WORDS_BIGENDIAN
27#define HIGHFIRST
28#endif
29
30#define MD5_DIGEST_SIZE 16
31
32struct MD5Context
33{
34  uint32_t buf[4];
35  uint32_t bits[2];
36  unsigned char in[64];
37};
38
39
40void
41MD5Init(struct MD5Context *ctx);
42
43void
44MD5Update(struct MD5Context *ctx,
45	  const void *buf,
46	  unsigned len);
47
48void
49MD5Final(unsigned char digest[MD5_DIGEST_SIZE],
50         struct MD5Context *ctx);
51
52#endif /* !MD5_H */
53