Avoid directory permission issues with --fake-super.
[rsync.git] / lib / mdigest.h
1 /* The include file for both the MD4 and MD5 routines. */
2
3 #define MD4_DIGEST_LEN 16
4 #define MD5_DIGEST_LEN 16
5 #define MAX_DIGEST_LEN MD5_DIGEST_LEN
6
7 #define CSUM_CHUNK 64
8
9 typedef struct {
10         uint32 A, B, C, D;
11         uint32 totalN;          /* bit count, lower 32 bits */
12         uint32 totalN2;         /* bit count, upper 32 bits */
13         uchar buffer[CSUM_CHUNK];
14 } md_context;
15
16 void mdfour_begin(md_context *md);
17 void mdfour_update(md_context *md, const uchar *in, uint32 length);
18 void mdfour_result(md_context *md, uchar digest[MD4_DIGEST_LEN]);
19
20 void get_mdfour(uchar digest[MD4_DIGEST_LEN], const uchar *in, int length);
21
22 void md5_begin(md_context *ctx);
23 void md5_update(md_context *ctx, const uchar *input, uint32 length);
24 void md5_result(md_context *ctx, uchar digest[MD5_DIGEST_LEN]);
25
26 void get_md5(uchar digest[MD5_DIGEST_LEN], const uchar *input, int n);