diff -r 4c282e7dd6d3 -r 5505e8908944 gst_plugins_base/gst-libs/gst/cdda/sha1.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gst_plugins_base/gst-libs/gst/cdda/sha1.h Fri Jan 22 09:59:59 2010 +0200 @@ -0,0 +1,62 @@ +/* NIST Secure Hash Algorithm */ +/* heavily modified by Uwe Hollerbach */ +/* from Peter C. Gutmann's implementation as found in */ +/* Applied Cryptography by Bruce Schneier */ +/* This code is in the public domain */ +/* $Id: sha1.h,v 1.2 2007-12-13 10:10:35 tpm Exp $ */ + +#ifndef __GST_CDDA_SHA_H__ +#define __GST_CDDA_SHA_H__ + +#include +#include + +/* Useful defines & typedefs */ +typedef unsigned char SHA_BYTE; /* 8-bit quantity */ +typedef unsigned long SHA_LONG; /* 32-or-more-bit quantity */ + +#define SHA_BLOCKSIZE 64 +#define SHA_DIGESTSIZE 20 + +typedef struct { + SHA_LONG digest[5]; /* message digest */ + SHA_LONG count_lo, count_hi; /* 64-bit bit count */ + SHA_BYTE data[SHA_BLOCKSIZE]; /* SHA data buffer */ + int local; /* unprocessed amount in data */ +} SHA_INFO; + +#define sha_init __gst_cdda_sha_init +#define sha_update __gst_cdda_sha_update +#define sha_final __gst_cdda_sha_final + +void sha_init(SHA_INFO *); +void sha_update(SHA_INFO *, SHA_BYTE *, int); +void sha_final(unsigned char [20], SHA_INFO *); + +#define SHA_VERSION 1 + +#ifdef HAVE_CONFIG_H +#include "config.h" + + +#ifdef WORDS_BIGENDIAN +# if SIZEOF_LONG == 4 +# define SHA_BYTE_ORDER 4321 +# elif SIZEOF_LONG == 8 +# define SHA_BYTE_ORDER 87654321 +# endif +#else +# if SIZEOF_LONG == 4 +# define SHA_BYTE_ORDER 1234 +# elif SIZEOF_LONG == 8 +# define SHA_BYTE_ORDER 12345678 +# endif +#endif + +#else + +#define SHA_BYTE_ORDER 1234 + +#endif + +#endif /* __GST_CDDA_SHA_H__ */