]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/cvs/lib/md5.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / cvs / lib / md5.h
1 /* See md5.c for explanation and copyright information.  */
2
3 /*
4  * $FreeBSD$
5  */
6
7 #ifndef MD5_H
8 #define MD5_H
9
10 #ifdef __FreeBSD__
11 #define cvs_MD5Context  MD5Context
12 #define cvs_MD5Init     MD5Init
13 #define cvs_MD5Update   MD5Update
14 #define cvs_MD5Final    MD5Final
15 #define cvs_MD5Transform MD5Transform
16 #include <sys/md5.h>
17 #else
18
19 /* Unlike previous versions of this code, uint32 need not be exactly
20    32 bits, merely 32 bits or more.  Choosing a data type which is 32
21    bits instead of 64 is not important; speed is considerably more
22    important.  ANSI guarantees that "unsigned long" will be big enough,
23    and always using it seems to have few disadvantages.  */
24 typedef unsigned long cvs_uint32;
25
26 struct cvs_MD5Context {
27         cvs_uint32 buf[4];
28         cvs_uint32 bits[2];
29         unsigned char in[64];
30 };
31
32 void cvs_MD5Init PROTO ((struct cvs_MD5Context *context));
33 void cvs_MD5Update PROTO ((struct cvs_MD5Context *context,
34                            unsigned char const *buf, unsigned len));
35 void cvs_MD5Final PROTO ((unsigned char digest[16],
36                           struct cvs_MD5Context *context));
37 void cvs_MD5Transform PROTO ((cvs_uint32 buf[4], const unsigned char in[64]));
38
39 #endif
40
41 #endif /* !MD5_H */