78#if !defined(SHA1_UTILITY_FUNCTIONS) && !defined(SHA1_NO_UTILITY_FUNCTIONS)
79#define SHA1_UTILITY_FUNCTIONS
82#if !defined(SHA1_STL_FUNCTIONS) && !defined(SHA1_NO_STL_FUNCTIONS)
83#define SHA1_STL_FUNCTIONS
84#if !defined(SHA1_UTILITY_FUNCTIONS)
85#error STL functions require SHA1_UTILITY_FUNCTIONS.
91#ifdef SHA1_UTILITY_FUNCTIONS
96#ifdef SHA1_STL_FUNCTIONS
108#if !defined(SHA1_LITTLE_ENDIAN) && !defined(SHA1_BIG_ENDIAN)
109#define SHA1_LITTLE_ENDIAN
115#if !defined(SHA1_WIPE_VARIABLES) && !defined(SHA1_NO_WIPE_VARIABLES)
116#define SHA1_WIPE_VARIABLES
119#if defined(SHA1_HAS_TCHAR)
131#define _tprintf printf
133#define _tcslen strlen
135#define _tcscpy strcpy
136#define _tcscat strcat
137#define _sntprintf snprintf
143#define _fseeki64 _fseeki64
144#define _ftelli64 _ftelli64
145#elif __MINGW || defined(__MINGW32__)
146#define _fseeki64 fseeko64
147#define _ftelli64 ftello64
149#define _fseeki64 fseeko
150#define _ftelli64 ftello
158#define UINT_8 unsigned __int8
160#define UINT_8 unsigned char
166#define UINT_32 unsigned __int32
168#if (ULONG_MAX == 0xFFFFFFFF)
169#define UINT_32 unsigned long
171#define UINT_32 unsigned int
178#define INT_64 __int64
180#define INT_64 long long
186#define UINT_64 unsigned __int64
188#define UINT_64 unsigned long long
204#ifdef SHA1_UTILITY_FUNCTIONS
230#ifdef SHA1_UTILITY_FUNCTIONS
238#ifdef SHA1_UTILITY_FUNCTIONS
242#ifdef SHA1_STL_FUNCTIONS
bool ReportHash(TCHAR *tszReport, REPORT_TYPE rtReportType=REPORT_HEX) const
void Update(const UINT_8 *pbData, UINT_32 uLen)
bool GetHash(UINT_8 *pbDest) const
void Transform(UINT_32 *pState, const UINT_8 *pBuffer)
bool ReportHashStl(std::basic_string< TCHAR > &strOut, REPORT_TYPE rtReportType=REPORT_HEX) const
SHA1_WORKSPACE_BLOCK * m_block
bool HashFile(const TCHAR *tszFileName)