///////////////////////////////////////////////////////////////////////////////
/// @file sha1.h
///
/// @brief sha1 (fips-180-1 standard) secure hash header
///
/// @author Lightning
///
/// This file is the intellectual property of Novus Delta, LLC.. Usage of the
/// contents of this file is subject to the Destiny3D Member License which
/// can be found at http://www.destiny3d.com.  Any other usage is prohibited.
///
/// This file is distributed "AS IS" without warranty of any kind.  Novus
/// Delta, LLC. does not guarantee the fitness of the contents of this file
/// for any particular purpose.
///
/// Copyright (C) 2001-2004 Novus Delta, LLC. All Rights Reserved.
///
/// <hr>
///                                 Change History
/// <hr>
///
/// @date Sep 2004
/// @author Lightning
/// @remarks Creation
///
///////////////////////////////////////////////////////////////////////////////

#ifndef DE_SHA1_H
#define DE_SHA1_H

//define the sha1 functions and data
typedef struct SHA1Instance
{
	unsigned long	TotalLength;		//total length of the data (4GB of data is too much to hash in a game)
	unsigned char	Buffer[64];			//last 64 bytes used during the hash
	unsigned long	CurrentHash[5];		//current hash as it stands
} SHA1Instance;

void SHA1Init(SHA1Instance *Inst);
void SHA1Process(SHA1Instance *Inst, unsigned char *Buffer, long Length);
void SHA1Finish(SHA1Instance *Inst, unsigned char *Hash, long HashLen);

#endif
