williamr@4: /* zconf.h -- configuration of the zlib compression library williamr@4: * Copyright (C) 1995-2005 Jean-loup Gailly. williamr@4: * For conditions of distribution and use, see copyright notice in zlib.h williamr@4: */ williamr@4: williamr@4: /* @(#) $Id: zconf.h,v 1.1.2.1 2008/08/14 15:26:57 e0222316 Exp $ */ williamr@4: williamr@4: #ifndef _ZCONF_H williamr@4: #define _ZCONF_H williamr@4: williamr@4: #if (defined(__TOOLS2__) || defined(__TOOLS__)) williamr@4: /** Defined as nothing for tools builds, as EXPORT_C keyword not supported on these platforms */ williamr@4: #define EXPORT_C williamr@4: #else williamr@4: #ifdef __SYMBIAN32__ williamr@4: #include /* Include for definition of IMPORT_C below */ williamr@4: /** This macro is used in function prototypes in zlib.h and libzcore.h. Use Symbian definition IMPORT_C instead of ZEXTERN */ williamr@4: #define ZEXTERN IMPORT_C williamr@4: /** This macro is used for EZLIB component */ williamr@4: #define SYMBIAN_EZLIB_DEVICE williamr@4: #endif /* __SYMBIAN32__ */ williamr@4: #endif /* __TOOLS2__ || __TOOLS__ */ williamr@4: williamr@4: williamr@4: /* williamr@4: * If you *really* need a unique prefix for all types and library functions, williamr@4: * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. williamr@4: */ williamr@4: #ifdef Z_PREFIX williamr@4: # define deflateInit_ z_deflateInit_ williamr@4: # define deflate z_deflate williamr@4: # define deflateEnd z_deflateEnd williamr@4: # define inflateInit_ z_inflateInit_ williamr@4: # define inflate z_inflate williamr@4: # define inflateEnd z_inflateEnd williamr@4: # define deflateInit2_ z_deflateInit2_ williamr@4: # define deflateSetDictionary z_deflateSetDictionary williamr@4: # define deflateCopy z_deflateCopy williamr@4: # define deflateReset z_deflateReset williamr@4: # define deflateParams z_deflateParams williamr@4: # define deflateBound z_deflateBound williamr@4: # define deflatePrime z_deflatePrime williamr@4: # define inflateInit2_ z_inflateInit2_ williamr@4: # define inflateSetDictionary z_inflateSetDictionary williamr@4: # define inflateSync z_inflateSync williamr@4: # define inflateSyncPoint z_inflateSyncPoint williamr@4: # define inflateCopy z_inflateCopy williamr@4: # define inflateReset z_inflateReset williamr@4: # define inflateBack z_inflateBack williamr@4: # define inflateBackEnd z_inflateBackEnd williamr@4: # define compress z_compress williamr@4: # define compress2 z_compress2 williamr@4: # define compressBound z_compressBound williamr@4: # define uncompress z_uncompress williamr@4: # define adler32 z_adler32 williamr@4: # define crc32 z_crc32 williamr@4: # define get_crc_table z_get_crc_table williamr@4: # define zError z_zError williamr@4: williamr@4: # define alloc_func z_alloc_func williamr@4: # define free_func z_free_func williamr@4: # define in_func z_in_func williamr@4: # define out_func z_out_func williamr@4: # define Byte z_Byte williamr@4: # define uInt z_uInt williamr@4: # define uLong z_uLong williamr@4: # define Bytef z_Bytef williamr@4: # define charf z_charf williamr@4: # define intf z_intf williamr@4: # define uIntf z_uIntf williamr@4: # define uLongf z_uLongf williamr@4: # define voidpf z_voidpf williamr@4: # define voidp z_voidp williamr@4: #endif williamr@4: williamr@4: #if defined(__MSDOS__) && !defined(MSDOS) williamr@4: # define MSDOS williamr@4: #endif williamr@4: #if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) williamr@4: # define OS2 williamr@4: #endif williamr@4: #if defined(_WINDOWS) && !defined(WINDOWS) williamr@4: # define WINDOWS williamr@4: #endif williamr@4: #if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) williamr@4: # ifndef WIN32 williamr@4: # define WIN32 williamr@4: # endif williamr@4: #endif williamr@4: #if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) williamr@4: # if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) williamr@4: # ifndef SYS16BIT williamr@4: # define SYS16BIT williamr@4: # endif williamr@4: # endif williamr@4: #endif williamr@4: williamr@4: /* williamr@4: * Compile with -DMAXSEG_64K if the alloc function cannot allocate more williamr@4: * than 64k bytes at a time (needed on systems with 16-bit int). williamr@4: */ williamr@4: #ifdef SYS16BIT williamr@4: # define MAXSEG_64K williamr@4: #endif williamr@4: #ifdef MSDOS williamr@4: # define UNALIGNED_OK williamr@4: #endif williamr@4: williamr@4: #ifdef __STDC_VERSION__ williamr@4: # ifndef STDC williamr@4: # define STDC williamr@4: # endif williamr@4: # if __STDC_VERSION__ >= 199901L williamr@4: # ifndef STDC99 williamr@4: # define STDC99 williamr@4: # endif williamr@4: # endif williamr@4: #endif williamr@4: #if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) williamr@4: /** define STDC i.e. Standard C */ williamr@4: # define STDC williamr@4: #endif williamr@4: #if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) williamr@4: # define STDC williamr@4: #endif williamr@4: #if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) williamr@4: # define STDC williamr@4: #endif williamr@4: #if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) williamr@4: # define STDC williamr@4: #endif williamr@4: williamr@4: #if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ williamr@4: # define STDC williamr@4: #endif williamr@4: williamr@4: #ifndef STDC williamr@4: # ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ williamr@4: # define const /* note: need a more gentle solution here */ williamr@4: # endif williamr@4: #endif williamr@4: williamr@4: /* Some Mac compilers merge all .h files incorrectly: */ williamr@4: #if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__) williamr@4: # define NO_DUMMY_DECL williamr@4: #endif williamr@4: williamr@4: #ifndef MAX_MEM_LEVEL williamr@4: # ifdef MAXSEG_64K williamr@4: /** Maximum value for memLevel in deflateInit2 */ williamr@4: # define MAX_MEM_LEVEL 8 williamr@4: # else williamr@4: /** Maximum value for memLevel in deflateInit2 */ williamr@4: # define MAX_MEM_LEVEL 9 williamr@4: # endif williamr@4: #endif williamr@4: williamr@4: /* Maximum value for windowBits in deflateInit2 and inflateInit2. williamr@4: * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files williamr@4: * created by gzip. (Files created by minigzip can still be extracted by williamr@4: * gzip.) williamr@4: */ williamr@4: #ifndef MAX_WBITS williamr@4: /** 32K LZ77 window */ williamr@4: # define MAX_WBITS 15 williamr@4: #endif williamr@4: williamr@4: /* The memory requirements for deflate are (in bytes): williamr@4: (1 << (windowBits+2)) + (1 << (memLevel+9)) williamr@4: that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) williamr@4: plus a few kilobytes for small objects. For example, if you want to reduce williamr@4: the default memory requirements from 256K to 128K, compile with williamr@4: make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" williamr@4: Of course this will generally degrade compression (there's no free lunch). williamr@4: williamr@4: The memory requirements for inflate are (in bytes) 1 << windowBits williamr@4: that is, 32K for windowBits=15 (default value) plus a few kilobytes williamr@4: for small objects. williamr@4: */ williamr@4: williamr@4: /* Type declarations */ williamr@4: williamr@4: #ifndef OF /* function prototypes */ williamr@4: # ifdef STDC williamr@4: /** williamr@4: Function prototypes williamr@4: @param args arguments ... williamr@4: */ williamr@4: # define OF(args) args williamr@4: # else williamr@4: /** Function prototypes */ williamr@4: # define OF(args) () williamr@4: # endif williamr@4: #endif williamr@4: williamr@4: /* The following definitions for FAR are needed only for MSDOS mixed williamr@4: * model programming (small or medium model with some far allocations). williamr@4: * This was tested only with MSC; for other MSDOS compilers you may have williamr@4: * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, williamr@4: * just define FAR to be empty. williamr@4: */ williamr@4: #ifdef SYS16BIT williamr@4: # if defined(M_I86SM) || defined(M_I86MM) williamr@4: /* MSC small or medium model */ williamr@4: # define SMALL_MEDIUM williamr@4: # ifdef _MSC_VER williamr@4: # define FAR _far williamr@4: # else williamr@4: # define FAR far williamr@4: # endif williamr@4: # endif williamr@4: # if (defined(__SMALL__) || defined(__MEDIUM__)) williamr@4: /* Turbo C small or medium model */ williamr@4: # define SMALL_MEDIUM williamr@4: # ifdef __BORLANDC__ williamr@4: # define FAR _far williamr@4: # else williamr@4: # define FAR far williamr@4: # endif williamr@4: # endif williamr@4: #endif williamr@4: williamr@4: #if defined(WINDOWS) || defined(WIN32) williamr@4: /* If building or using zlib as a DLL, define ZLIB_DLL. williamr@4: * This is not mandatory, but it offers a little performance increase. williamr@4: */ williamr@4: # ifdef ZLIB_DLL williamr@4: # if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) williamr@4: # ifdef ZLIB_INTERNAL williamr@4: # define ZEXTERN extern __declspec(dllexport) williamr@4: # else williamr@4: # define ZEXTERN extern __declspec(dllimport) williamr@4: # endif williamr@4: # endif williamr@4: # endif /* ZLIB_DLL */ williamr@4: /* If building or using zlib with the WINAPI/WINAPIV calling convention, williamr@4: * define ZLIB_WINAPI. williamr@4: * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. williamr@4: */ williamr@4: # ifdef ZLIB_WINAPI williamr@4: # ifdef FAR williamr@4: # undef FAR williamr@4: # endif williamr@4: # include williamr@4: /* No need for _export, use ZLIB.DEF instead. */ williamr@4: /* For complete Windows compatibility, use WINAPI, not __stdcall. */ williamr@4: # define ZEXPORT WINAPI williamr@4: # ifdef WIN32 williamr@4: # define ZEXPORTVA WINAPIV williamr@4: # else williamr@4: # define ZEXPORTVA FAR CDECL williamr@4: # endif williamr@4: # endif williamr@4: #endif williamr@4: williamr@4: #if defined (__BEOS__) williamr@4: # ifdef ZLIB_DLL williamr@4: # ifdef ZLIB_INTERNAL williamr@4: # define ZEXPORT __declspec(dllexport) williamr@4: # define ZEXPORTVA __declspec(dllexport) williamr@4: # else williamr@4: # define ZEXPORT __declspec(dllimport) williamr@4: # define ZEXPORTVA __declspec(dllimport) williamr@4: # endif williamr@4: # endif williamr@4: #endif williamr@4: williamr@4: #ifndef ZEXTERN williamr@4: /** extern defined as ZEXTERN */ williamr@4: # define ZEXTERN extern williamr@4: #endif williamr@4: #ifndef ZEXPORT williamr@4: # define ZEXPORT williamr@4: #endif williamr@4: #ifndef ZEXPORTVA williamr@4: # define ZEXPORTVA williamr@4: #endif williamr@4: williamr@4: williamr@4: #ifndef FAR williamr@4: # define FAR williamr@4: #endif williamr@4: williamr@4: #if !defined(__MACTYPES__) williamr@4: /** 8 bits */ williamr@4: typedef unsigned char Byte; williamr@4: #endif williamr@4: /** 16 bits or more */ williamr@4: typedef unsigned int uInt; williamr@4: /** 32 bits or more */ williamr@4: typedef unsigned long uLong; williamr@4: williamr@4: #ifdef SMALL_MEDIUM williamr@4: /** Borland C/C++ and some old MSC versions ignore FAR inside typedef */ williamr@4: # define Bytef Byte FAR williamr@4: #else williamr@4: /** Borland C/C++ and some old MSC versions ignore FAR inside typedef */ williamr@4: typedef Byte FAR Bytef; williamr@4: #endif williamr@4: /** char typedef to charf */ williamr@4: typedef char FAR charf; williamr@4: /** int typedef to intf */ williamr@4: typedef int FAR intf; williamr@4: /** uInt typedef to uIntf */ williamr@4: typedef uInt FAR uIntf; williamr@4: /** uLong typedef to uLongf */ williamr@4: typedef uLong FAR uLongf; williamr@4: williamr@4: #ifdef STDC williamr@4: /** typedef void const* to voidpc */ williamr@4: typedef void const *voidpc; williamr@4: /** typedef void FAR* to voidpf */ williamr@4: typedef void FAR *voidpf; williamr@4: /** typedef void* to voidp */ williamr@4: typedef void *voidp; williamr@4: #else williamr@4: /** typedef Byte const* to voidpc */ williamr@4: typedef Byte const *voidpc; williamr@4: /** typedef Byte FAR* to voidpf */ williamr@4: typedef Byte FAR *voidpf; williamr@4: /** typedef Byte* to voidp */ williamr@4: typedef Byte *voidp; williamr@4: #endif williamr@4: williamr@4: #if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */ williamr@4: # include /* for off_t */ williamr@4: # include /* for SEEK_* and off_t */ williamr@4: # ifdef VMS williamr@4: # include /* for off_t */ williamr@4: # endif williamr@4: # define z_off_t off_t williamr@4: #endif williamr@4: #ifndef SEEK_SET williamr@4: /** Seek from beginning of file. */ williamr@4: # define SEEK_SET 0 williamr@4: /** Seek from current position. */ williamr@4: # define SEEK_CUR 1 williamr@4: /** Set file pointer to EOF plus "offset" */ williamr@4: # define SEEK_END 2 williamr@4: #endif williamr@4: #ifndef z_off_t williamr@4: /** define z_off_t as long */ williamr@4: # define z_off_t long williamr@4: #endif williamr@4: williamr@4: #if defined(__OS400__) williamr@4: # define NO_vsnprintf williamr@4: #endif williamr@4: williamr@4: #if defined(__MVS__) williamr@4: # define NO_vsnprintf williamr@4: # ifdef FAR williamr@4: # undef FAR williamr@4: # endif williamr@4: #endif williamr@4: williamr@4: /* MVS linker does not support external names larger than 8 bytes */ williamr@4: #if defined(__MVS__) williamr@4: # pragma map(deflateInit_,"DEIN") williamr@4: # pragma map(deflateInit2_,"DEIN2") williamr@4: # pragma map(deflateEnd,"DEEND") williamr@4: # pragma map(deflateBound,"DEBND") williamr@4: # pragma map(inflateInit_,"ININ") williamr@4: # pragma map(inflateInit2_,"ININ2") williamr@4: # pragma map(inflateEnd,"INEND") williamr@4: # pragma map(inflateSync,"INSY") williamr@4: # pragma map(inflateSetDictionary,"INSEDI") williamr@4: # pragma map(compressBound,"CMBND") williamr@4: # pragma map(inflate_table,"INTABL") williamr@4: # pragma map(inflate_fast,"INFA") williamr@4: # pragma map(inflate_copyright,"INCOPY") williamr@4: #endif williamr@4: williamr@4: #endif /* _ZCONF_H */