1*10465441SEvalZero /* zconf.h -- configuration of the zlib compression library 2*10465441SEvalZero * Copyright (C) 1995-2005 Jean-loup Gailly. 3*10465441SEvalZero * For conditions of distribution and use, see copyright notice in zlib.h 4*10465441SEvalZero */ 5*10465441SEvalZero 6*10465441SEvalZero /* @(#) $Id$ */ 7*10465441SEvalZero 8*10465441SEvalZero #ifndef ZCONF_H 9*10465441SEvalZero #define ZCONF_H 10*10465441SEvalZero 11*10465441SEvalZero // #ifdef __ECOS__ 12*10465441SEvalZero #undef __ECOS__ 13*10465441SEvalZero #define __ECOS__ 14*10465441SEvalZero #define Z_PREFIX 15*10465441SEvalZero #include <pkgconf/compress_zlib.h> 16*10465441SEvalZero #if CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC != 0 17*10465441SEvalZero #define MY_ZCALLOC 18*10465441SEvalZero #endif 19*10465441SEvalZero #ifdef CYGSEM_COMPRESS_ZLIB_DEFLATE_MAKES_GZIP 20*10465441SEvalZero #undef MAX_WBITS 21*10465441SEvalZero #define MAX_WBITS 15+16 /* 32K LZ77 window */ 22*10465441SEvalZero #else 23*10465441SEvalZero #define NO_GZIP 24*10465441SEvalZero #define NO_GZCOMPRESS 25*10465441SEvalZero #endif 26*10465441SEvalZero // #endif 27*10465441SEvalZero 28*10465441SEvalZero /* 29*10465441SEvalZero * If you *really* need a unique prefix for all types and library functions, 30*10465441SEvalZero * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. 31*10465441SEvalZero */ 32*10465441SEvalZero #ifdef Z_PREFIX 33*10465441SEvalZero # define deflateInit_ z_deflateInit_ 34*10465441SEvalZero # define deflate z_deflate 35*10465441SEvalZero # define deflateEnd z_deflateEnd 36*10465441SEvalZero # define inflateInit_ z_inflateInit_ 37*10465441SEvalZero # define inflate z_inflate 38*10465441SEvalZero # define inflateEnd z_inflateEnd 39*10465441SEvalZero # define deflateInit2_ z_deflateInit2_ 40*10465441SEvalZero # define deflateSetDictionary z_deflateSetDictionary 41*10465441SEvalZero # define deflateCopy z_deflateCopy 42*10465441SEvalZero # define deflateReset z_deflateReset 43*10465441SEvalZero # define deflateParams z_deflateParams 44*10465441SEvalZero # define deflateBound z_deflateBound 45*10465441SEvalZero # define deflatePrime z_deflatePrime 46*10465441SEvalZero # define inflateInit2_ z_inflateInit2_ 47*10465441SEvalZero # define inflateSetDictionary z_inflateSetDictionary 48*10465441SEvalZero # define inflateSync z_inflateSync 49*10465441SEvalZero # define inflateSyncPoint z_inflateSyncPoint 50*10465441SEvalZero # define inflateCopy z_inflateCopy 51*10465441SEvalZero # define inflateReset z_inflateReset 52*10465441SEvalZero # define inflateBack z_inflateBack 53*10465441SEvalZero # define inflateBackEnd z_inflateBackEnd 54*10465441SEvalZero # define compress z_compress 55*10465441SEvalZero # define compress2 z_compress2 56*10465441SEvalZero # define compressBound z_compressBound 57*10465441SEvalZero # define uncompress z_uncompress 58*10465441SEvalZero # define adler32 z_adler32 59*10465441SEvalZero # define crc32 z_crc32 60*10465441SEvalZero # define get_crc_table z_get_crc_table 61*10465441SEvalZero # define zError z_zError 62*10465441SEvalZero 63*10465441SEvalZero # define alloc_func z_alloc_func 64*10465441SEvalZero # define free_func z_free_func 65*10465441SEvalZero # define in_func z_in_func 66*10465441SEvalZero # define out_func z_out_func 67*10465441SEvalZero # define Byte z_Byte 68*10465441SEvalZero # define uInt z_uInt 69*10465441SEvalZero # define uLong z_uLong 70*10465441SEvalZero # define Bytef z_Bytef 71*10465441SEvalZero # define charf z_charf 72*10465441SEvalZero # define intf z_intf 73*10465441SEvalZero # define uIntf z_uIntf 74*10465441SEvalZero # define uLongf z_uLongf 75*10465441SEvalZero # define voidpf z_voidpf 76*10465441SEvalZero # define voidp z_voidp 77*10465441SEvalZero #endif 78*10465441SEvalZero 79*10465441SEvalZero #if defined(__MSDOS__) && !defined(MSDOS) 80*10465441SEvalZero # define MSDOS 81*10465441SEvalZero #endif 82*10465441SEvalZero #if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) 83*10465441SEvalZero # define OS2 84*10465441SEvalZero #endif 85*10465441SEvalZero #if defined(_WINDOWS) && !defined(WINDOWS) 86*10465441SEvalZero # define WINDOWS 87*10465441SEvalZero #endif 88*10465441SEvalZero #if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) 89*10465441SEvalZero # ifndef WIN32 90*10465441SEvalZero # define WIN32 91*10465441SEvalZero # endif 92*10465441SEvalZero #endif 93*10465441SEvalZero #if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) 94*10465441SEvalZero # if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) 95*10465441SEvalZero # ifndef SYS16BIT 96*10465441SEvalZero # define SYS16BIT 97*10465441SEvalZero # endif 98*10465441SEvalZero # endif 99*10465441SEvalZero #endif 100*10465441SEvalZero 101*10465441SEvalZero /* 102*10465441SEvalZero * Compile with -DMAXSEG_64K if the alloc function cannot allocate more 103*10465441SEvalZero * than 64k bytes at a time (needed on systems with 16-bit int). 104*10465441SEvalZero */ 105*10465441SEvalZero #ifdef SYS16BIT 106*10465441SEvalZero # define MAXSEG_64K 107*10465441SEvalZero #endif 108*10465441SEvalZero #ifdef MSDOS 109*10465441SEvalZero # define UNALIGNED_OK 110*10465441SEvalZero #endif 111*10465441SEvalZero 112*10465441SEvalZero #ifdef __STDC_VERSION__ 113*10465441SEvalZero # ifndef STDC 114*10465441SEvalZero # define STDC 115*10465441SEvalZero # endif 116*10465441SEvalZero # if __STDC_VERSION__ >= 199901L 117*10465441SEvalZero # ifndef STDC99 118*10465441SEvalZero # define STDC99 119*10465441SEvalZero # endif 120*10465441SEvalZero # endif 121*10465441SEvalZero #endif 122*10465441SEvalZero #if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) 123*10465441SEvalZero # define STDC 124*10465441SEvalZero #endif 125*10465441SEvalZero #if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) 126*10465441SEvalZero # define STDC 127*10465441SEvalZero #endif 128*10465441SEvalZero #if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) 129*10465441SEvalZero # define STDC 130*10465441SEvalZero #endif 131*10465441SEvalZero #if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) 132*10465441SEvalZero # define STDC 133*10465441SEvalZero #endif 134*10465441SEvalZero 135*10465441SEvalZero #if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ 136*10465441SEvalZero # define STDC 137*10465441SEvalZero #endif 138*10465441SEvalZero 139*10465441SEvalZero #ifndef STDC 140*10465441SEvalZero # ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ 141*10465441SEvalZero # define const /* note: need a more gentle solution here */ 142*10465441SEvalZero # endif 143*10465441SEvalZero #endif 144*10465441SEvalZero 145*10465441SEvalZero /* Some Mac compilers merge all .h files incorrectly: */ 146*10465441SEvalZero #if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__) 147*10465441SEvalZero # define NO_DUMMY_DECL 148*10465441SEvalZero #endif 149*10465441SEvalZero 150*10465441SEvalZero /* Maximum value for memLevel in deflateInit2 */ 151*10465441SEvalZero #ifndef MAX_MEM_LEVEL 152*10465441SEvalZero # ifdef MAXSEG_64K 153*10465441SEvalZero # define MAX_MEM_LEVEL 8 154*10465441SEvalZero # else 155*10465441SEvalZero # define MAX_MEM_LEVEL 9 156*10465441SEvalZero # endif 157*10465441SEvalZero #endif 158*10465441SEvalZero 159*10465441SEvalZero /* Maximum value for windowBits in deflateInit2 and inflateInit2. 160*10465441SEvalZero * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files 161*10465441SEvalZero * created by gzip. (Files created by minigzip can still be extracted by 162*10465441SEvalZero * gzip.) 163*10465441SEvalZero */ 164*10465441SEvalZero #ifndef MAX_WBITS 165*10465441SEvalZero # define MAX_WBITS 15 /* 32K LZ77 window */ 166*10465441SEvalZero #endif 167*10465441SEvalZero 168*10465441SEvalZero /* The memory requirements for deflate are (in bytes): 169*10465441SEvalZero (1 << (windowBits+2)) + (1 << (memLevel+9)) 170*10465441SEvalZero that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) 171*10465441SEvalZero plus a few kilobytes for small objects. For example, if you want to reduce 172*10465441SEvalZero the default memory requirements from 256K to 128K, compile with 173*10465441SEvalZero make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" 174*10465441SEvalZero Of course this will generally degrade compression (there's no free lunch). 175*10465441SEvalZero 176*10465441SEvalZero The memory requirements for inflate are (in bytes) 1 << windowBits 177*10465441SEvalZero that is, 32K for windowBits=15 (default value) plus a few kilobytes 178*10465441SEvalZero for small objects. 179*10465441SEvalZero */ 180*10465441SEvalZero 181*10465441SEvalZero /* Type declarations */ 182*10465441SEvalZero 183*10465441SEvalZero #ifndef OF /* function prototypes */ 184*10465441SEvalZero # ifdef STDC 185*10465441SEvalZero # define OF(args) args 186*10465441SEvalZero # else 187*10465441SEvalZero # define OF(args) () 188*10465441SEvalZero # endif 189*10465441SEvalZero #endif 190*10465441SEvalZero 191*10465441SEvalZero /* The following definitions for FAR are needed only for MSDOS mixed 192*10465441SEvalZero * model programming (small or medium model with some far allocations). 193*10465441SEvalZero * This was tested only with MSC; for other MSDOS compilers you may have 194*10465441SEvalZero * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, 195*10465441SEvalZero * just define FAR to be empty. 196*10465441SEvalZero */ 197*10465441SEvalZero #ifdef SYS16BIT 198*10465441SEvalZero # if defined(M_I86SM) || defined(M_I86MM) 199*10465441SEvalZero /* MSC small or medium model */ 200*10465441SEvalZero # define SMALL_MEDIUM 201*10465441SEvalZero # ifdef _MSC_VER 202*10465441SEvalZero # define FAR _far 203*10465441SEvalZero # else 204*10465441SEvalZero # define FAR far 205*10465441SEvalZero # endif 206*10465441SEvalZero # endif 207*10465441SEvalZero # if (defined(__SMALL__) || defined(__MEDIUM__)) 208*10465441SEvalZero /* Turbo C small or medium model */ 209*10465441SEvalZero # define SMALL_MEDIUM 210*10465441SEvalZero # ifdef __BORLANDC__ 211*10465441SEvalZero # define FAR _far 212*10465441SEvalZero # else 213*10465441SEvalZero # define FAR far 214*10465441SEvalZero # endif 215*10465441SEvalZero # endif 216*10465441SEvalZero #endif 217*10465441SEvalZero 218*10465441SEvalZero #if defined(WINDOWS) || defined(WIN32) 219*10465441SEvalZero /* If building or using zlib as a DLL, define ZLIB_DLL. 220*10465441SEvalZero * This is not mandatory, but it offers a little performance increase. 221*10465441SEvalZero */ 222*10465441SEvalZero # ifdef ZLIB_DLL 223*10465441SEvalZero # if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) 224*10465441SEvalZero # ifdef ZLIB_INTERNAL 225*10465441SEvalZero # define ZEXTERN extern __declspec(dllexport) 226*10465441SEvalZero # else 227*10465441SEvalZero # define ZEXTERN extern __declspec(dllimport) 228*10465441SEvalZero # endif 229*10465441SEvalZero # endif 230*10465441SEvalZero # endif /* ZLIB_DLL */ 231*10465441SEvalZero /* If building or using zlib with the WINAPI/WINAPIV calling convention, 232*10465441SEvalZero * define ZLIB_WINAPI. 233*10465441SEvalZero * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. 234*10465441SEvalZero */ 235*10465441SEvalZero # ifdef ZLIB_WINAPI 236*10465441SEvalZero # ifdef FAR 237*10465441SEvalZero # undef FAR 238*10465441SEvalZero # endif 239*10465441SEvalZero # include <windows.h> 240*10465441SEvalZero /* No need for _export, use ZLIB.DEF instead. */ 241*10465441SEvalZero /* For complete Windows compatibility, use WINAPI, not __stdcall. */ 242*10465441SEvalZero # define ZEXPORT WINAPI 243*10465441SEvalZero # ifdef WIN32 244*10465441SEvalZero # define ZEXPORTVA WINAPIV 245*10465441SEvalZero # else 246*10465441SEvalZero # define ZEXPORTVA FAR CDECL 247*10465441SEvalZero # endif 248*10465441SEvalZero # endif 249*10465441SEvalZero #endif 250*10465441SEvalZero 251*10465441SEvalZero #if defined (__BEOS__) 252*10465441SEvalZero # ifdef ZLIB_DLL 253*10465441SEvalZero # ifdef ZLIB_INTERNAL 254*10465441SEvalZero # define ZEXPORT __declspec(dllexport) 255*10465441SEvalZero # define ZEXPORTVA __declspec(dllexport) 256*10465441SEvalZero # else 257*10465441SEvalZero # define ZEXPORT __declspec(dllimport) 258*10465441SEvalZero # define ZEXPORTVA __declspec(dllimport) 259*10465441SEvalZero # endif 260*10465441SEvalZero # endif 261*10465441SEvalZero #endif 262*10465441SEvalZero 263*10465441SEvalZero #ifndef ZEXTERN 264*10465441SEvalZero # define ZEXTERN extern 265*10465441SEvalZero #endif 266*10465441SEvalZero #ifndef ZEXPORT 267*10465441SEvalZero # define ZEXPORT 268*10465441SEvalZero #endif 269*10465441SEvalZero #ifndef ZEXPORTVA 270*10465441SEvalZero # define ZEXPORTVA 271*10465441SEvalZero #endif 272*10465441SEvalZero 273*10465441SEvalZero #ifndef FAR 274*10465441SEvalZero # define FAR 275*10465441SEvalZero #endif 276*10465441SEvalZero 277*10465441SEvalZero #if !defined(__MACTYPES__) 278*10465441SEvalZero typedef unsigned char Byte; /* 8 bits */ 279*10465441SEvalZero #endif 280*10465441SEvalZero typedef unsigned int uInt; /* 16 bits or more */ 281*10465441SEvalZero typedef unsigned long uLong; /* 32 bits or more */ 282*10465441SEvalZero 283*10465441SEvalZero #ifdef SMALL_MEDIUM 284*10465441SEvalZero /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ 285*10465441SEvalZero # define Bytef Byte FAR 286*10465441SEvalZero #else 287*10465441SEvalZero typedef Byte FAR Bytef; 288*10465441SEvalZero #endif 289*10465441SEvalZero typedef char FAR charf; 290*10465441SEvalZero typedef int FAR intf; 291*10465441SEvalZero typedef uInt FAR uIntf; 292*10465441SEvalZero typedef uLong FAR uLongf; 293*10465441SEvalZero 294*10465441SEvalZero #ifdef STDC 295*10465441SEvalZero typedef void const *voidpc; 296*10465441SEvalZero typedef void FAR *voidpf; 297*10465441SEvalZero typedef void *voidp; 298*10465441SEvalZero #else 299*10465441SEvalZero typedef Byte const *voidpc; 300*10465441SEvalZero typedef Byte FAR *voidpf; 301*10465441SEvalZero typedef Byte *voidp; 302*10465441SEvalZero #endif 303*10465441SEvalZero 304*10465441SEvalZero #if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */ 305*10465441SEvalZero # include <sys/types.h> /* for off_t */ 306*10465441SEvalZero # include <unistd.h> /* for SEEK_* and off_t */ 307*10465441SEvalZero # ifdef VMS 308*10465441SEvalZero # include <unixio.h> /* for off_t */ 309*10465441SEvalZero # endif 310*10465441SEvalZero # define z_off_t off_t 311*10465441SEvalZero #endif 312*10465441SEvalZero #ifndef SEEK_SET 313*10465441SEvalZero # define SEEK_SET 0 /* Seek from beginning of file. */ 314*10465441SEvalZero # define SEEK_CUR 1 /* Seek from current position. */ 315*10465441SEvalZero # define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ 316*10465441SEvalZero #endif 317*10465441SEvalZero #ifndef z_off_t 318*10465441SEvalZero # define z_off_t long 319*10465441SEvalZero #endif 320*10465441SEvalZero 321*10465441SEvalZero #if defined(__OS400__) 322*10465441SEvalZero # define NO_vsnprintf 323*10465441SEvalZero #endif 324*10465441SEvalZero 325*10465441SEvalZero #if defined(__MVS__) 326*10465441SEvalZero # define NO_vsnprintf 327*10465441SEvalZero # ifdef FAR 328*10465441SEvalZero # undef FAR 329*10465441SEvalZero # endif 330*10465441SEvalZero #endif 331*10465441SEvalZero 332*10465441SEvalZero /* MVS linker does not support external names larger than 8 bytes */ 333*10465441SEvalZero #if defined(__MVS__) 334*10465441SEvalZero # pragma map(deflateInit_,"DEIN") 335*10465441SEvalZero # pragma map(deflateInit2_,"DEIN2") 336*10465441SEvalZero # pragma map(deflateEnd,"DEEND") 337*10465441SEvalZero # pragma map(deflateBound,"DEBND") 338*10465441SEvalZero # pragma map(inflateInit_,"ININ") 339*10465441SEvalZero # pragma map(inflateInit2_,"ININ2") 340*10465441SEvalZero # pragma map(inflateEnd,"INEND") 341*10465441SEvalZero # pragma map(inflateSync,"INSY") 342*10465441SEvalZero # pragma map(inflateSetDictionary,"INSEDI") 343*10465441SEvalZero # pragma map(compressBound,"CMBND") 344*10465441SEvalZero # pragma map(inflate_table,"INTABL") 345*10465441SEvalZero # pragma map(inflate_fast,"INFA") 346*10465441SEvalZero # pragma map(inflate_copyright,"INCOPY") 347*10465441SEvalZero #endif 348*10465441SEvalZero 349*10465441SEvalZero #endif /* ZCONF_H */ 350