vx32

Local 9vx git repository for patches.
git clone git://r-36.net/vx32
Log | Files | Refs

md5.h (1993B)


      1 /*
      2  * This is the header file for 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  * Changed so as no longer to depend on Colin Plumb's `usual.h'
     18  * header definitions; now uses stuff from dpkg's config.h
     19  *  - Ian Jackson <ijackson@nyx.cs.du.edu>.
     20  * Still in the public domain.
     21  *
     22  * Josh Coalson: made some changes to integrate with libFLAC.
     23  * Still in the public domain.
     24  */
     25 
     26 #ifndef FLAC__PRIVATE__MD5_H
     27 #define FLAC__PRIVATE__MD5_H
     28 
     29 #define md5byte unsigned char
     30 
     31 /*
     32  * Due to an unholy abomination in libOggFLAC (it requires access to
     33  * these internal MD5 functions) we have to #include "FLAC/export.h"
     34  * and export them when building a DLL
     35  */
     36 #include "FLAC/export.h"
     37 #include "FLAC/ordinals.h"
     38 
     39 struct FLAC__MD5Context {
     40 	FLAC__uint32 buf[4];
     41 	FLAC__uint32 bytes[2];
     42 	FLAC__uint32 in[16];
     43 	FLAC__byte *internal_buf;
     44 	unsigned capacity;
     45 };
     46 
     47 FLAC_API void FLAC__MD5Init(struct FLAC__MD5Context *context);
     48 FLAC_API void FLAC__MD5Update(struct FLAC__MD5Context *context, md5byte const *buf, unsigned len);
     49 FLAC_API void FLAC__MD5Final(md5byte digest[16], struct FLAC__MD5Context *context);
     50 void FLAC__MD5Transform(FLAC__uint32 buf[4], FLAC__uint32 const in[16]);
     51 
     52 FLAC_API FLAC__bool FLAC__MD5Accumulate(struct FLAC__MD5Context *ctx, const FLAC__int32 * const signal[], unsigned channels, unsigned samples, unsigned bytes_per_sample);
     53 
     54 #endif /* !MD5_H */