/*************************************************************************\
* "$RCSfile: Z_Lib.h,v $"                                                 *
***************************************************************************
* Information by CVS or VSS:                                              *
*     Last check in on: $Date: 2009/01/26 14:51:36 $                      *
*     by                $Author: schluckebier $
*     Revision        : $Revision: 1.6 $                                  *
***************************************************************************
* Prototypes for zlib                                                     *
\*************************************************************************/
/*! \file Z_Lib.h
*	\brief ZLIB Interface
*
*	\author (c) 2004 - 2013 IMAGO Technologies GmbH
*
*	$Revision: 1.6 $
*	$Date: 2009/01/26 14:51:36 $
*	\addtogroup ZLIB
*	\{
**************************************************************************/

#define _Z_LIB_HID {"Z_Lib.h", __DATE__, __TIME__, _REVISION($Revision: 1.6 $)}

#define ZLIB_VERSION "1.2.3"	//!< Library version

//! Error codes
enum eZ_ERROR
{
	Z_OK			= 0,	//!< No error
	Z_STREAM_END	= 1,
	Z_NEED_DICT		= 2,
	Z_ERRNO			= -1,
	Z_STREAM_ERROR	= -2,	//!< Stream error
	Z_DATA_ERROR	= -3,	//!< Data error
	Z_MEM_ERROR		= -4,	//!< Memory error
	Z_BUF_ERROR		= -5,	//!< Buffer error
	Z_VERSION_ERROR	= -6
};

//! Compression level
enum eZ_COMPRESSION
{
	Z_NO_COMPRESSION	= 0,	//!< No compression
	Z_BEST_SPEED		= 1,	//!< Best speed
	Z_BEST_COMPRESSION	= 9,	//!< Best compression
	Z_DEFAULT_COMPRESSION = -1	//!< Default compression level
};

/*************************************************************************/

#ifdef __cplusplus
extern "C" {
#endif

/*************************************************************************/
int compress(unsigned char *pDest, unsigned int *pDestLen,
			 const unsigned char *pSource, unsigned int SourceLen);
int compress2(unsigned char *pDest, unsigned int *pDestLen,
			  const unsigned char *pSource, unsigned int SourceLen, int Level);
int uncompress(unsigned char *pDest, unsigned int *pDestLen,
			   const unsigned char *pSource, unsigned int SourceLen);
int compressBound(int SourceLen);
const char *zlibVersion();
void ZLib_Register(void);

#ifdef __cplusplus
}
#endif
//!	\}
/*************************************************************************/
