zconf.h 9.32 KB
Newer Older
1
/* zconf.h -- configuration of the zlib compression library
Wayne Davison's avatar
Wayne Davison committed
2
 * Copyright (C) 1995-2005 Jean-loup Gailly.
Wayne Davison's avatar
Wayne Davison committed
3
 * For conditions of distribution and use, see copyright notice in zlib.h
4 5 6 7
 */

/* @(#) $Id$ */

Wayne Davison's avatar
Wayne Davison committed
8 9
#ifndef ZCONF_H
#define ZCONF_H
10 11 12 13 14 15

/*
 * If you *really* need a unique prefix for all types and library functions,
 * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
 */
#ifdef Z_PREFIX
Wayne Davison's avatar
Wayne Davison committed
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
#  define deflateInit_          z_deflateInit_
#  define deflate               z_deflate
#  define deflateEnd            z_deflateEnd
#  define inflateInit_          z_inflateInit_
#  define inflate               z_inflate
#  define inflateEnd            z_inflateEnd
#  define deflateInit2_         z_deflateInit2_
#  define deflateSetDictionary  z_deflateSetDictionary
#  define deflateCopy           z_deflateCopy
#  define deflateReset          z_deflateReset
#  define deflateParams         z_deflateParams
#  define deflateBound          z_deflateBound
#  define deflatePrime          z_deflatePrime
#  define inflateInit2_         z_inflateInit2_
#  define inflateSetDictionary  z_inflateSetDictionary
#  define inflateSync           z_inflateSync
#  define inflateSyncPoint      z_inflateSyncPoint
#  define inflateCopy           z_inflateCopy
#  define inflateReset          z_inflateReset
#  define inflateBack           z_inflateBack
#  define inflateBackEnd        z_inflateBackEnd
#  define compress              z_compress
#  define compress2             z_compress2
#  define compressBound         z_compressBound
#  define uncompress            z_uncompress
#  define adler32               z_adler32
#  define crc32                 z_crc32
#  define get_crc_table         z_get_crc_table
#  define zError                z_zError
45

Wayne Davison's avatar
Wayne Davison committed
46 47 48 49
#  define alloc_func            z_alloc_func
#  define free_func             z_free_func
#  define in_func               z_in_func
#  define out_func              z_out_func
Wayne Davison's avatar
Wayne Davison committed
50 51 52 53 54 55 56 57 58 59
#  define Byte                  z_Byte
#  define uInt                  z_uInt
#  define uLong                 z_uLong
#  define Bytef                 z_Bytef
#  define charf                 z_charf
#  define intf                  z_intf
#  define uIntf                 z_uIntf
#  define uLongf                z_uLongf
#  define voidpf                z_voidpf
#  define voidp                 z_voidp
60 61
#endif

Wayne Davison's avatar
Wayne Davison committed
62 63 64 65 66 67 68 69 70
#if defined(__MSDOS__) && !defined(MSDOS)
#  define MSDOS
#endif
#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
#  define OS2
#endif
#if defined(_WINDOWS) && !defined(WINDOWS)
#  define WINDOWS
#endif
Wayne Davison's avatar
Wayne Davison committed
71 72 73 74
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
#  ifndef WIN32
#    define WIN32
#  endif
75
#endif
Wayne Davison's avatar
Wayne Davison committed
76 77 78 79 80
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
#  if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
#    ifndef SYS16BIT
#      define SYS16BIT
#    endif
81 82 83 84 85 86 87
#  endif
#endif

/*
 * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
 * than 64k bytes at a time (needed on systems with 16-bit int).
 */
Wayne Davison's avatar
Wayne Davison committed
88
#ifdef SYS16BIT
89 90 91 92 93 94
#  define MAXSEG_64K
#endif
#ifdef MSDOS
#  define UNALIGNED_OK
#endif

Wayne Davison's avatar
Wayne Davison committed
95
#ifdef __STDC_VERSION__
96 97 98
#  ifndef STDC
#    define STDC
#  endif
Wayne Davison's avatar
Wayne Davison committed
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
#  if __STDC_VERSION__ >= 199901L
#    ifndef STDC99
#      define STDC99
#    endif
#  endif
#endif
#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
#  define STDC
#endif
#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
#  define STDC
#endif
#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
#  define STDC
#endif
#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
#  define STDC
#endif

#if defined(__OS400__) && !defined(STDC)    /* iSeries (formerly AS/400). */
#  define STDC
120 121 122 123
#endif

#ifndef STDC
#  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
Wayne Davison's avatar
Wayne Davison committed
124
#    define const       /* note: need a more gentle solution here */
125 126 127 128
#  endif
#endif

/* Some Mac compilers merge all .h files incorrectly: */
Wayne Davison's avatar
Wayne Davison committed
129
#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
#  define NO_DUMMY_DECL
#endif

/* Maximum value for memLevel in deflateInit2 */
#ifndef MAX_MEM_LEVEL
#  ifdef MAXSEG_64K
#    define MAX_MEM_LEVEL 8
#  else
#    define MAX_MEM_LEVEL 9
#  endif
#endif

/* Maximum value for windowBits in deflateInit2 and inflateInit2.
 * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
 * created by gzip. (Files created by minigzip can still be extracted by
 * gzip.)
 */
#ifndef MAX_WBITS
#  define MAX_WBITS   15 /* 32K LZ77 window */
#endif

/* The memory requirements for deflate are (in bytes):
            (1 << (windowBits+2)) +  (1 << (memLevel+9))
 that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
 plus a few kilobytes for small objects. For example, if you want to reduce
 the default memory requirements from 256K to 128K, compile with
     make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
 Of course this will generally degrade compression (there's no free lunch).

   The memory requirements for inflate are (in bytes) 1 << windowBits
 that is, 32K for windowBits=15 (default value) plus a few kilobytes
 for small objects.
*/

                        /* Type declarations */

#ifndef OF /* function prototypes */
#  ifdef STDC
#    define OF(args)  args
#  else
#    define OF(args)  ()
#  endif
#endif

/* The following definitions for FAR are needed only for MSDOS mixed
 * model programming (small or medium model with some far allocations).
 * This was tested only with MSC; for other MSDOS compilers you may have
 * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
 * just define FAR to be empty.
 */
Wayne Davison's avatar
Wayne Davison committed
180 181 182 183 184 185 186 187 188
#ifdef SYS16BIT
#  if defined(M_I86SM) || defined(M_I86MM)
     /* MSC small or medium model */
#    define SMALL_MEDIUM
#    ifdef _MSC_VER
#      define FAR _far
#    else
#      define FAR far
#    endif
189
#  endif
Wayne Davison's avatar
Wayne Davison committed
190 191
#  if (defined(__SMALL__) || defined(__MEDIUM__))
     /* Turbo C small or medium model */
192
#    define SMALL_MEDIUM
Wayne Davison's avatar
Wayne Davison committed
193 194 195 196 197
#    ifdef __BORLANDC__
#      define FAR _far
#    else
#      define FAR far
#    endif
198 199 200
#  endif
#endif

Wayne Davison's avatar
Wayne Davison committed
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218
#if defined(WINDOWS) || defined(WIN32)
   /* If building or using zlib as a DLL, define ZLIB_DLL.
    * This is not mandatory, but it offers a little performance increase.
    */
#  ifdef ZLIB_DLL
#    if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
#      ifdef ZLIB_INTERNAL
#        define ZEXTERN extern __declspec(dllexport)
#      else
#        define ZEXTERN extern __declspec(dllimport)
#      endif
#    endif
#  endif  /* ZLIB_DLL */
   /* If building or using zlib with the WINAPI/WINAPIV calling convention,
    * define ZLIB_WINAPI.
    * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
    */
#  ifdef ZLIB_WINAPI
219 220 221 222
#    ifdef FAR
#      undef FAR
#    endif
#    include <windows.h>
Wayne Davison's avatar
Wayne Davison committed
223 224 225
     /* No need for _export, use ZLIB.DEF instead. */
     /* For complete Windows compatibility, use WINAPI, not __stdcall. */
#    define ZEXPORT WINAPI
226
#    ifdef WIN32
Wayne Davison's avatar
Wayne Davison committed
227
#      define ZEXPORTVA WINAPIV
228
#    else
Wayne Davison's avatar
Wayne Davison committed
229
#      define ZEXPORTVA FAR CDECL
230 231 232 233 234
#    endif
#  endif
#endif

#if defined (__BEOS__)
Wayne Davison's avatar
Wayne Davison committed
235 236 237 238 239 240 241 242
#  ifdef ZLIB_DLL
#    ifdef ZLIB_INTERNAL
#      define ZEXPORT   __declspec(dllexport)
#      define ZEXPORTVA __declspec(dllexport)
#    else
#      define ZEXPORT   __declspec(dllimport)
#      define ZEXPORTVA __declspec(dllimport)
#    endif
243
#  endif
244 245
#endif

Wayne Davison's avatar
Wayne Davison committed
246 247 248
#ifndef ZEXTERN
#  define ZEXTERN extern
#endif
249 250 251 252 253 254
#ifndef ZEXPORT
#  define ZEXPORT
#endif
#ifndef ZEXPORTVA
#  define ZEXPORTVA
#endif
255 256

#ifndef FAR
Wayne Davison's avatar
Wayne Davison committed
257
#  define FAR
258 259
#endif

Wayne Davison's avatar
Wayne Davison committed
260
#if !defined(__MACTYPES__)
261
typedef unsigned char  Byte;  /* 8 bits */
262
#endif
263 264 265
typedef unsigned int   uInt;  /* 16 bits or more */
typedef unsigned long  uLong; /* 32 bits or more */

266 267
#ifdef SMALL_MEDIUM
   /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
268 269 270 271 272 273 274 275 276 277
#  define Bytef Byte FAR
#else
   typedef Byte  FAR Bytef;
#endif
typedef char  FAR charf;
typedef int   FAR intf;
typedef uInt  FAR uIntf;
typedef uLong FAR uLongf;

#ifdef STDC
Wayne Davison's avatar
Wayne Davison committed
278 279 280
   typedef void const *voidpc;
   typedef void FAR   *voidpf;
   typedef void       *voidp;
281
#else
Wayne Davison's avatar
Wayne Davison committed
282 283 284
   typedef Byte const *voidpc;
   typedef Byte FAR   *voidpf;
   typedef Byte       *voidp;
285 286
#endif

Wayne Davison's avatar
Wayne Davison committed
287
#if 0           /* HAVE_UNISTD_H -- this line is updated by ./configure */
288 289
#  include <sys/types.h> /* for off_t */
#  include <unistd.h>    /* for SEEK_* and off_t */
Wayne Davison's avatar
Wayne Davison committed
290 291 292 293
#  ifdef VMS
#    include <unixio.h>   /* for off_t */
#  endif
#  define z_off_t off_t
294 295 296 297
#endif
#ifndef SEEK_SET
#  define SEEK_SET        0       /* Seek from beginning of file.  */
#  define SEEK_CUR        1       /* Seek from current position.  */
298
#  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
299 300
#endif
#ifndef z_off_t
Wayne Davison's avatar
Wayne Davison committed
301 302 303 304 305 306 307 308 309 310 311 312
#  define z_off_t long
#endif

#if defined(__OS400__)
#  define NO_vsnprintf
#endif

#if defined(__MVS__)
#  define NO_vsnprintf
#  ifdef FAR
#    undef FAR
#  endif
313 314 315 316 317 318 319
#endif

/* MVS linker does not support external names larger than 8 bytes */
#if defined(__MVS__)
#   pragma map(deflateInit_,"DEIN")
#   pragma map(deflateInit2_,"DEIN2")
#   pragma map(deflateEnd,"DEEND")
Wayne Davison's avatar
Wayne Davison committed
320
#   pragma map(deflateBound,"DEBND")
321 322 323 324 325
#   pragma map(inflateInit_,"ININ")
#   pragma map(inflateInit2_,"ININ2")
#   pragma map(inflateEnd,"INEND")
#   pragma map(inflateSync,"INSY")
#   pragma map(inflateSetDictionary,"INSEDI")
Wayne Davison's avatar
Wayne Davison committed
326 327
#   pragma map(compressBound,"CMBND")
#   pragma map(inflate_table,"INTABL")
328 329 330 331
#   pragma map(inflate_fast,"INFA")
#   pragma map(inflate_copyright,"INCOPY")
#endif

Wayne Davison's avatar
Wayne Davison committed
332
#endif /* ZCONF_H */