/* \td\g\util\crc.h */

#ifndef TD_G_UTIL_CRC_H // {
#define TD_G_UTIL_CRC_H


/* Crc - 32 BIT ANSI X3.66 CRC checksum files */

typedef unsigned int UINT4;
typedef unsigned char UBYTE;
typedef unsigned short UINT2;

class	crc32
{
	public:
	struct	result
	{
		UINT4		crc;
		UINT4		nChars;

		void
		printMe();
	};

	private:
	class	result		result_;


	public:

	crc32();
	~crc32();

	void
	init();

	class	result&
	get_result();

	void
	processBuffer(
		UBYTE*					buffer,
		UINT4					nBytesInBuffer);
}; /* class	crc32 */




#endif // }

