1 /* See md5.cpp for explanation and copyright information.  */
2 
3 #ifndef CPL_MD5_H
4 #define CPL_MD5_H
5 
6 #include "cpl_port.h"
7 
8 CPL_C_START
9 const char CPL_DLL *CPLMD5String( const char *pszText );
10 CPL_C_END
11 
12 #ifndef DOXYGEN_SKIP
13 
14 struct CPLMD5Context {
15     GUInt32 buf[4];
16     GUInt32 bits[2];
17     unsigned char in[64];
18 };
19 
20 void CPLMD5Init( struct CPLMD5Context *context );
21 void CPLMD5Update( struct CPLMD5Context *context, const void *buf,
22                    size_t len );
23 void CPLMD5Final( unsigned char digest[16], struct CPLMD5Context *context );
24 void CPLMD5Transform( GUInt32 buf[4], const unsigned char inraw[64] );
25 
26 #endif // #ifndef DOXYGEN_SKIP
27 
28 #endif /* !CPL_MD5_H */
29