111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* zconf.h -- configuration of the zlib compression library
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Copyright (C) 1995-2005 Jean-loup Gailly.
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * For conditions of distribution and use, see copyright notice in zlib.h
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* @(#) $Id$ */
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef ZCONF_H
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ZCONF_H
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/*
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * If you *really* need a unique prefix for all types and library functions,
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef Z_PREFIX
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define deflateInit_          z_deflateInit_
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define deflate               z_deflate
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define deflateEnd            z_deflateEnd
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define inflateInit_          z_inflateInit_
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define inflate               z_inflate
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define inflateEnd            z_inflateEnd
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define deflateInit2_         z_deflateInit2_
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define deflateSetDictionary  z_deflateSetDictionary
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define deflateCopy           z_deflateCopy
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define deflateReset          z_deflateReset
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define deflateParams         z_deflateParams
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define deflateBound          z_deflateBound
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define deflatePrime          z_deflatePrime
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define inflateInit2_         z_inflateInit2_
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define inflateSetDictionary  z_inflateSetDictionary
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define inflateSync           z_inflateSync
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define inflateSyncPoint      z_inflateSyncPoint
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define inflateCopy           z_inflateCopy
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define inflateReset          z_inflateReset
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define inflateBack           z_inflateBack
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define inflateBackEnd        z_inflateBackEnd
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define compress              z_compress
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define compress2             z_compress2
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define compressBound         z_compressBound
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define uncompress            z_uncompress
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define adler32               z_adler32
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define crc32                 z_crc32
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define get_crc_table         z_get_crc_table
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define zError                z_zError
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define alloc_func            z_alloc_func
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define free_func             z_free_func
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define in_func               z_in_func
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define out_func              z_out_func
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define Byte                  z_Byte
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define uInt                  z_uInt
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define uLong                 z_uLong
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define Bytef                 z_Bytef
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define charf                 z_charf
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define intf                  z_intf
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define uIntf                 z_uIntf
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define uLongf                z_uLongf
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define voidpf                z_voidpf
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define voidp                 z_voidp
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__MSDOS__) && !defined(MSDOS)
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define MSDOS
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define OS2
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(_WINDOWS) && !defined(WINDOWS)
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define WINDOWS
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  ifndef WIN32
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    define WIN32
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    ifndef SYS16BIT
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      define SYS16BIT
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    endif
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/*
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * than 64k bytes at a time (needed on systems with 16-bit int).
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef SYS16BIT
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define MAXSEG_64K
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef MSDOS
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define UNALIGNED_OK
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef __STDC_VERSION__
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  ifndef STDC
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    define STDC
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  if __STDC_VERSION__ >= 199901L
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    ifndef STDC99
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      define STDC99
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    endif
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define STDC
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define STDC
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define STDC
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define STDC
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__OS400__) && !defined(STDC)    /* iSeries (formerly AS/400). */
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define STDC
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef STDC
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    define const       /* note: need a more gentle solution here */
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* Some Mac compilers merge all .h files incorrectly: */
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define NO_DUMMY_DECL
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* Maximum value for memLevel in deflateInit2 */
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef MAX_MEM_LEVEL
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  ifdef MAXSEG_64K
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    define MAX_MEM_LEVEL 8
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  else
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    define MAX_MEM_LEVEL 9
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* Maximum value for windowBits in deflateInit2 and inflateInit2.
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * created by gzip. (Files created by minigzip can still be extracted by
14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * gzip.)
14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */
14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef MAX_WBITS
14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define MAX_WBITS   15 /* 32K LZ77 window */
14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* The memory requirements for deflate are (in bytes):
15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert            (1 << (windowBits+2)) +  (1 << (memLevel+9))
15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert plus a few kilobytes for small objects. For example, if you want to reduce
15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert the default memory requirements from 256K to 128K, compile with
15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert     make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert Of course this will generally degrade compression (there's no free lunch).
15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert   The memory requirements for inflate are (in bytes) 1 << windowBits
16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert that is, 32K for windowBits=15 (default value) plus a few kilobytes
16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert for small objects.
16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert*/
16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert                        /* Type declarations */
16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef OF /* function prototypes */
16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  ifdef STDC
16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    define OF(args)  args
16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  else
17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    define OF(args)  ()
17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* The following definitions for FAR are needed only for MSDOS mixed
17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * model programming (small or medium model with some far allocations).
17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * This was tested only with MSC; for other MSDOS compilers you may have
17711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
17811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * just define FAR to be empty.
17911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */
18011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef SYS16BIT
18111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  if defined(M_I86SM) || defined(M_I86MM)
18211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert     /* MSC small or medium model */
18311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    define SMALL_MEDIUM
18411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    ifdef _MSC_VER
18511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      define FAR _far
18611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    else
18711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      define FAR far
18811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    endif
18911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
19011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  if (defined(__SMALL__) || defined(__MEDIUM__))
19111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert     /* Turbo C small or medium model */
19211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    define SMALL_MEDIUM
19311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    ifdef __BORLANDC__
19411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      define FAR _far
19511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    else
19611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      define FAR far
19711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    endif
19811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
19911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
20011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
20111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(WINDOWS) || defined(WIN32)
20211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert   /* If building or using zlib as a DLL, define ZLIB_DLL.
20311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    * This is not mandatory, but it offers a little performance increase.
20411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    */
20511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  ifdef ZLIB_DLL
20611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
20711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      ifdef ZLIB_INTERNAL
20811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#        define ZEXTERN extern __declspec(dllexport)
20911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      else
21011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#        define ZEXTERN extern __declspec(dllimport)
21111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      endif
21211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    endif
21311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif  /* ZLIB_DLL */
21411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert   /* If building or using zlib with the WINAPI/WINAPIV calling convention,
21511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    * define ZLIB_WINAPI.
21611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
21711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert    */
21811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  ifdef ZLIB_WINAPI
21911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    ifdef FAR
22011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      undef FAR
22111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    endif
22211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    include <windows.h>
22311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert     /* No need for _export, use ZLIB.DEF instead. */
22411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert     /* For complete Windows compatibility, use WINAPI, not __stdcall. */
22511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    define ZEXPORT WINAPI
22611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    ifdef WIN32
22711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      define ZEXPORTVA WINAPIV
22811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    else
22911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      define ZEXPORTVA FAR CDECL
23011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    endif
23111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
23211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
23311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
23411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined (__BEOS__)
23511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  ifdef ZLIB_DLL
23611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    ifdef ZLIB_INTERNAL
23711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      define ZEXPORT   __declspec(dllexport)
23811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      define ZEXPORTVA __declspec(dllexport)
23911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    else
24011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      define ZEXPORT   __declspec(dllimport)
24111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#      define ZEXPORTVA __declspec(dllimport)
24211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    endif
24311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
24411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
24511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
24611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef ZEXTERN
24711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define ZEXTERN extern
24811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
24911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef ZEXPORT
25011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define ZEXPORT
25111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
25211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef ZEXPORTVA
25311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define ZEXPORTVA
25411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
25511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
25611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef FAR
25711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define FAR
25811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
25911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
26011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !defined(__MACTYPES__)
26111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef unsigned char  Byte;  /* 8 bits */
26211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
26311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef unsigned int   uInt;  /* 16 bits or more */
26411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef unsigned long  uLong; /* 32 bits or more */
26511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
26611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef SMALL_MEDIUM
26711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert   /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
26811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define Bytef Byte FAR
26911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else
27011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert   typedef Byte  FAR Bytef;
27111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
27211cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef char  FAR charf;
27311cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef int   FAR intf;
27411cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef uInt  FAR uIntf;
27511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef uLong FAR uLongf;
27611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
27711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef STDC
27811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert   typedef void const *voidpc;
27911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert   typedef void FAR   *voidpf;
28011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert   typedef void       *voidp;
28111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else
28211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert   typedef Byte const *voidpc;
28311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert   typedef Byte FAR   *voidpf;
28411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert   typedef Byte       *voidp;
28511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
28611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
28711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if 0           /* HAVE_UNISTD_H -- this line is updated by ./configure */
28811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  include <sys/types.h> /* for off_t */
28911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  include <unistd.h>    /* for SEEK_* and off_t */
29011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  ifdef VMS
29111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    include <unixio.h>   /* for off_t */
29211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
29311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define z_off_t off_t
29411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
29511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef SEEK_SET
29611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define SEEK_SET        0       /* Seek from beginning of file.  */
29711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define SEEK_CUR        1       /* Seek from current position.  */
29811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
29911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
30011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef z_off_t
30111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define z_off_t long
30211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
30311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
30411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__OS400__)
30511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define NO_vsnprintf
30611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
30711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
30811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__MVS__)
30911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  define NO_vsnprintf
31011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  ifdef FAR
31111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#    undef FAR
31211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#  endif
31311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
31411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
31511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* MVS linker does not support external names larger than 8 bytes */
31611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined(__MVS__)
31711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   pragma map(deflateInit_,"DEIN")
31811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   pragma map(deflateInit2_,"DEIN2")
31911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   pragma map(deflateEnd,"DEEND")
32011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   pragma map(deflateBound,"DEBND")
32111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   pragma map(inflateInit_,"ININ")
32211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   pragma map(inflateInit2_,"ININ2")
32311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   pragma map(inflateEnd,"INEND")
32411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   pragma map(inflateSync,"INSY")
32511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   pragma map(inflateSetDictionary,"INSEDI")
32611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   pragma map(compressBound,"CMBND")
32711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   pragma map(inflate_table,"INTABL")
32811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   pragma map(inflate_fast,"INFA")
32911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#   pragma map(inflate_copyright,"INCOPY")
33011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
33111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
33211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* ZCONF_H */
333