diff options
| author | Dave Chapman <dave@dchapman.com> | 2005-02-16 19:33:19 +0000 |
|---|---|---|
| committer | Dave Chapman <dave@dchapman.com> | 2005-02-16 19:33:19 +0000 |
| commit | aa97e4d4981d61808a558c5ab36be6d3bcc2c4f6 (patch) | |
| tree | a66b2fcd87f37b26e2d4f360e6c2a9db53eb1b5b /apps/codecs/libFLAC/include/private/md5.h | |
| parent | 9b32a1988f848145d96ba2be8cba86e837196df3 (diff) | |
| download | rockbox-aa97e4d4981d61808a558c5ab36be6d3bcc2c4f6.zip rockbox-aa97e4d4981d61808a558c5ab36be6d3bcc2c4f6.tar.gz rockbox-aa97e4d4981d61808a558c5ab36be6d3bcc2c4f6.tar.bz2 rockbox-aa97e4d4981d61808a558c5ab36be6d3bcc2c4f6.tar.xz | |
Initial import of libFLAC from flac-1.1.2.tar.gz
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5983 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libFLAC/include/private/md5.h')
| -rw-r--r-- | apps/codecs/libFLAC/include/private/md5.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/apps/codecs/libFLAC/include/private/md5.h b/apps/codecs/libFLAC/include/private/md5.h new file mode 100644 index 0000000..e853260 --- /dev/null +++ b/apps/codecs/libFLAC/include/private/md5.h @@ -0,0 +1,54 @@ +/* + * This is the header file for the MD5 message-digest algorithm. + * The algorithm is due to Ron Rivest. This code was + * written by Colin Plumb in 1993, no copyright is claimed. + * This code is in the public domain; do with it what you wish. + * + * Equivalent code is available from RSA Data Security, Inc. + * This code has been tested against that, and is equivalent, + * except that you don't need to include two pages of legalese + * with every copy. + * + * To compute the message digest of a chunk of bytes, declare an + * MD5Context structure, pass it to MD5Init, call MD5Update as + * needed on buffers full of bytes, and then call MD5Final, which + * will fill a supplied 16-byte array with the digest. + * + * Changed so as no longer to depend on Colin Plumb's `usual.h' + * header definitions; now uses stuff from dpkg's config.h + * - Ian Jackson <ijackson@nyx.cs.du.edu>. + * Still in the public domain. + * + * Josh Coalson: made some changes to integrate with libFLAC. + * Still in the public domain. + */ + +#ifndef FLAC__PRIVATE__MD5_H +#define FLAC__PRIVATE__MD5_H + +#define md5byte unsigned char + +/* + * Due to an unholy abomination in libOggFLAC (it requires access to + * these internal MD5 functions) we have to #include "FLAC/export.h" + * and export them when building a DLL + */ +#include "FLAC/export.h" +#include "FLAC/ordinals.h" + +struct FLAC__MD5Context { + FLAC__uint32 buf[4]; + FLAC__uint32 bytes[2]; + FLAC__uint32 in[16]; + FLAC__byte *internal_buf; + unsigned capacity; +}; + +FLAC_API void FLAC__MD5Init(struct FLAC__MD5Context *context); +FLAC_API void FLAC__MD5Update(struct FLAC__MD5Context *context, md5byte const *buf, unsigned len); +FLAC_API void FLAC__MD5Final(md5byte digest[16], struct FLAC__MD5Context *context); +void FLAC__MD5Transform(FLAC__uint32 buf[4], FLAC__uint32 const in[16]); + +FLAC_API FLAC__bool FLAC__MD5Accumulate(struct FLAC__MD5Context *ctx, const FLAC__int32 * const signal[], unsigned channels, unsigned samples, unsigned bytes_per_sample); + +#endif /* !MD5_H */ |