117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner/* zconf.h -- configuration of the zlib compression library
217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * Copyright (C) 1995-2013 Jean-loup Gailly.
317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * For conditions of distribution and use, see copyright notice in zlib.h
417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner */
517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner/* @(#) $Id$ */
717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifndef ZCONF_H
917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#define ZCONF_H
1017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
1117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner/*
1217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * If you *really* need a unique prefix for all types and library functions,
1317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
1417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * Even better than compiling with -DZ_PREFIX would be to use configure to set
1517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * this permanently in zconf.h using "./configure --zprefix".
1617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner */
1717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifdef Z_PREFIX     /* may be set to #if 1 by ./configure */
1817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define Z_PREFIX_SET
1917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
2017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner/* all linked symbols */
2117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define _dist_code            z__dist_code
2217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define _length_code          z__length_code
2317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define _tr_align             z__tr_align
2417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define _tr_flush_bits        z__tr_flush_bits
2517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define _tr_flush_block       z__tr_flush_block
2617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define _tr_init              z__tr_init
2717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define _tr_stored_block      z__tr_stored_block
2817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define _tr_tally             z__tr_tally
2917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define adler32               z_adler32
3017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define adler32_combine       z_adler32_combine
3117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define adler32_combine64     z_adler32_combine64
3217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifndef Z_SOLO
3317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define compress              z_compress
3417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define compress2             z_compress2
3517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define compressBound         z_compressBound
3617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
3717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define crc32                 z_crc32
3817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define crc32_combine         z_crc32_combine
3917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define crc32_combine64       z_crc32_combine64
4017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflate               z_deflate
4117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflateBound          z_deflateBound
4217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflateCopy           z_deflateCopy
4317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflateEnd            z_deflateEnd
4417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflateInit2_         z_deflateInit2_
4517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflateInit_          z_deflateInit_
4617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflateParams         z_deflateParams
4717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflatePending        z_deflatePending
4817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflatePrime          z_deflatePrime
4917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflateReset          z_deflateReset
5017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflateResetKeep      z_deflateResetKeep
5117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflateSetDictionary  z_deflateSetDictionary
5217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflateSetHeader      z_deflateSetHeader
5317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflateTune           z_deflateTune
5417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define deflate_copyright     z_deflate_copyright
5517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define get_crc_table         z_get_crc_table
5617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifndef Z_SOLO
5717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gz_error              z_gz_error
5817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gz_intmax             z_gz_intmax
5917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gz_strwinerror        z_gz_strwinerror
6017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzbuffer              z_gzbuffer
6117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzclearerr            z_gzclearerr
6217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzclose               z_gzclose
6317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzclose_r             z_gzclose_r
6417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzclose_w             z_gzclose_w
6517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzdirect              z_gzdirect
6617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzdopen               z_gzdopen
6717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzeof                 z_gzeof
6817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzerror               z_gzerror
6917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzflush               z_gzflush
7017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzgetc                z_gzgetc
7117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzgetc_               z_gzgetc_
7217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzgets                z_gzgets
7317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzoffset              z_gzoffset
7417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzoffset64            z_gzoffset64
7517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzopen                z_gzopen
7617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzopen64              z_gzopen64
7717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    ifdef _WIN32
7817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      define gzopen_w              z_gzopen_w
7917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    endif
8017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzprintf              z_gzprintf
8117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzvprintf             z_gzvprintf
8217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzputc                z_gzputc
8317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzputs                z_gzputs
8417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzread                z_gzread
8517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzrewind              z_gzrewind
8617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzseek                z_gzseek
8717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzseek64              z_gzseek64
8817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzsetparams           z_gzsetparams
8917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gztell                z_gztell
9017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gztell64              z_gztell64
9117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzungetc              z_gzungetc
9217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzwrite               z_gzwrite
9317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
9417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflate               z_inflate
9517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateBack           z_inflateBack
9617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateBackEnd        z_inflateBackEnd
9717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateBackInit_      z_inflateBackInit_
9817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateCopy           z_inflateCopy
9917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateEnd            z_inflateEnd
10017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateGetHeader      z_inflateGetHeader
10117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateInit2_         z_inflateInit2_
10217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateInit_          z_inflateInit_
10317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateMark           z_inflateMark
10417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflatePrime          z_inflatePrime
10517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateReset          z_inflateReset
10617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateReset2         z_inflateReset2
10717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateSetDictionary  z_inflateSetDictionary
10817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateGetDictionary  z_inflateGetDictionary
10917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateSync           z_inflateSync
11017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateSyncPoint      z_inflateSyncPoint
11117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateUndermine      z_inflateUndermine
11217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflateResetKeep      z_inflateResetKeep
11317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflate_copyright     z_inflate_copyright
11417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflate_fast          z_inflate_fast
11517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define inflate_table         z_inflate_table
11617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifndef Z_SOLO
11717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define uncompress            z_uncompress
11817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
11917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define zError                z_zError
12017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifndef Z_SOLO
12117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define zcalloc               z_zcalloc
12217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define zcfree                z_zcfree
12317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
12417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define zlibCompileFlags      z_zlibCompileFlags
12517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define zlibVersion           z_zlibVersion
12617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
12717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner/* all zlib typedefs in zlib.h and zconf.h */
12817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define Byte                  z_Byte
12917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define Bytef                 z_Bytef
13017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define alloc_func            z_alloc_func
13117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define charf                 z_charf
13217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define free_func             z_free_func
13317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifndef Z_SOLO
13417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define gzFile                z_gzFile
13517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
13617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define gz_header             z_gz_header
13717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define gz_headerp            z_gz_headerp
13817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define in_func               z_in_func
13917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define intf                  z_intf
14017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define out_func              z_out_func
14117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define uInt                  z_uInt
14217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define uIntf                 z_uIntf
14317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define uLong                 z_uLong
14417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define uLongf                z_uLongf
14517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define voidp                 z_voidp
14617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define voidpc                z_voidpc
14717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define voidpf                z_voidpf
14817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
14917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner/* all zlib structs in zlib.h and zconf.h */
15017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define gz_header_s           z_gz_header_s
15117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define internal_state        z_internal_state
15217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
15317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
15417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
15517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined(__MSDOS__) && !defined(MSDOS)
15617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define MSDOS
15717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
15817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
15917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define OS2
16017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
16117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined(_WINDOWS) && !defined(WINDOWS)
16217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define WINDOWS
16317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
16417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
16517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifndef WIN32
16617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define WIN32
16717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
16817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
16917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
17017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
17117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    ifndef SYS16BIT
17217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      define SYS16BIT
17317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    endif
17417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
17517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
17617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
17717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner/*
17817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
17917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * than 64k bytes at a time (needed on systems with 16-bit int).
18017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner */
18117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifdef SYS16BIT
18217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define MAXSEG_64K
18317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
18417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifdef MSDOS
18517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define UNALIGNED_OK
18617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
18717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
18817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifdef __STDC_VERSION__
18917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifndef STDC
19017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define STDC
19117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
19217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  if __STDC_VERSION__ >= 199901L
19317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    ifndef STDC99
19417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      define STDC99
19517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    endif
19617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
19717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
19817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
19917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define STDC
20017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
20117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
20217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define STDC
20317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
20417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
20517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define STDC
20617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
20717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
20817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define STDC
20917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
21017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
21117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined(__OS400__) && !defined(STDC)    /* iSeries (formerly AS/400). */
21217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define STDC
21317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
21417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
21517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifndef STDC
21617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
21717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define const       /* note: need a more gentle solution here */
21817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
21917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
22017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
22117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined(ZLIB_CONST) && !defined(z_const)
22217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define z_const const
22317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#else
22417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define z_const
22517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
22617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
22717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner/* Some Mac compilers merge all .h files incorrectly: */
22817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
22917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define NO_DUMMY_DECL
23017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
23117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
23217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner/* Maximum value for memLevel in deflateInit2 */
23317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifndef MAX_MEM_LEVEL
23417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifdef MAXSEG_64K
23517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define MAX_MEM_LEVEL 8
23617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  else
23717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define MAX_MEM_LEVEL 9
23817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
23917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
24017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
24117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner/* Maximum value for windowBits in deflateInit2 and inflateInit2.
24217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
24317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * created by gzip. (Files created by minigzip can still be extracted by
24417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * gzip.)
24517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner */
24617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifndef MAX_WBITS
24717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define MAX_WBITS   15 /* 32K LZ77 window */
24817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
24917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
25017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner/* The memory requirements for deflate are (in bytes):
25117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner            (1 << (windowBits+2)) +  (1 << (memLevel+9))
25217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
25317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner plus a few kilobytes for small objects. For example, if you want to reduce
25417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner the default memory requirements from 256K to 128K, compile with
25517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner     make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
25617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner Of course this will generally degrade compression (there's no free lunch).
25717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
25817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner   The memory requirements for inflate are (in bytes) 1 << windowBits
25917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner that is, 32K for windowBits=15 (default value) plus a few kilobytes
26017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner for small objects.
26117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner*/
26217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
26317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner                        /* Type declarations */
26417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
26517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifndef OF /* function prototypes */
26617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifdef STDC
26717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define OF(args)  args
26817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  else
26917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define OF(args)  ()
27017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
27117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
27217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
27317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifndef Z_ARG /* function prototypes for stdarg */
27417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  if defined(STDC) || defined(Z_HAVE_STDARG_H)
27517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define Z_ARG(args)  args
27617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  else
27717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define Z_ARG(args)  ()
27817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
27917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
28017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
28117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner/* The following definitions for FAR are needed only for MSDOS mixed
28217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * model programming (small or medium model with some far allocations).
28317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * This was tested only with MSC; for other MSDOS compilers you may have
28417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
28517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * just define FAR to be empty.
28617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner */
28717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifdef SYS16BIT
28817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  if defined(M_I86SM) || defined(M_I86MM)
28917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner     /* MSC small or medium model */
29017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define SMALL_MEDIUM
29117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    ifdef _MSC_VER
29217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      define FAR _far
29317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    else
29417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      define FAR far
29517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    endif
29617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
29717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  if (defined(__SMALL__) || defined(__MEDIUM__))
29817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner     /* Turbo C small or medium model */
29917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define SMALL_MEDIUM
30017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    ifdef __BORLANDC__
30117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      define FAR _far
30217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    else
30317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      define FAR far
30417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    endif
30517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
30617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
30717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
30817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined(WINDOWS) || defined(WIN32)
30917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner   /* If building or using zlib as a DLL, define ZLIB_DLL.
31017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner    * This is not mandatory, but it offers a little performance increase.
31117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner    */
31217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifdef ZLIB_DLL
31317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
31417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      ifdef ZLIB_INTERNAL
31517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#        define ZEXTERN extern __declspec(dllexport)
31617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      else
31717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#        define ZEXTERN extern __declspec(dllimport)
31817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      endif
31917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    endif
32017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif  /* ZLIB_DLL */
32117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner   /* If building or using zlib with the WINAPI/WINAPIV calling convention,
32217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner    * define ZLIB_WINAPI.
32317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner    * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
32417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner    */
32517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifdef ZLIB_WINAPI
32617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    ifdef FAR
32717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      undef FAR
32817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    endif
32917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    include <windows.h>
33017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner     /* No need for _export, use ZLIB.DEF instead. */
33117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner     /* For complete Windows compatibility, use WINAPI, not __stdcall. */
33217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define ZEXPORT WINAPI
33317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    ifdef WIN32
33417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      define ZEXPORTVA WINAPIV
33517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    else
33617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      define ZEXPORTVA FAR CDECL
33717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    endif
33817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
33917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
34017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
34117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined (__BEOS__)
34217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifdef ZLIB_DLL
34317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    ifdef ZLIB_INTERNAL
34417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      define ZEXPORT   __declspec(dllexport)
34517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      define ZEXPORTVA __declspec(dllexport)
34617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    else
34717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      define ZEXPORT   __declspec(dllimport)
34817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      define ZEXPORTVA __declspec(dllimport)
34917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    endif
35017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
35117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
35217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
35317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifndef ZEXTERN
35417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define ZEXTERN extern
35517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
35617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifndef ZEXPORT
35717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define ZEXPORT
35817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
35917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifndef ZEXPORTVA
36017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define ZEXPORTVA
36117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
36217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
36317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifndef FAR
36417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define FAR
36517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
36617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
36717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if !defined(__MACTYPES__)
36817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turnertypedef unsigned char  Byte;  /* 8 bits */
36917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
37017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turnertypedef unsigned int   uInt;  /* 16 bits or more */
37117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turnertypedef unsigned long  uLong; /* 32 bits or more */
37217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
37317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifdef SMALL_MEDIUM
37417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner   /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
37517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define Bytef Byte FAR
37617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#else
37717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner   typedef Byte  FAR Bytef;
37817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
37917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turnertypedef char  FAR charf;
38017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turnertypedef int   FAR intf;
38117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turnertypedef uInt  FAR uIntf;
38217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turnertypedef uLong FAR uLongf;
38317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
38417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifdef STDC
38517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner   typedef void const *voidpc;
38617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner   typedef void FAR   *voidpf;
38717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner   typedef void       *voidp;
38817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#else
38917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner   typedef Byte const *voidpc;
39017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner   typedef Byte FAR   *voidpf;
39117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner   typedef Byte       *voidp;
39217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
39317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
39417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
39517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  include <limits.h>
39617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  if (UINT_MAX == 0xffffffffUL)
39717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define Z_U4 unsigned
39817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  elif (ULONG_MAX == 0xffffffffUL)
39917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define Z_U4 unsigned long
40017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  elif (USHRT_MAX == 0xffffffffUL)
40117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define Z_U4 unsigned short
40217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
40317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
40417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
40517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifdef Z_U4
40617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner   typedef Z_U4 z_crc_t;
40717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#else
40817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner   typedef unsigned long z_crc_t;
40917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
41017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
41117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if 1    /* was set to #if 1 by ./configure */
41217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define Z_HAVE_UNISTD_H
41317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
41417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
41517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if 1    /* was set to #if 1 by ./configure */
41617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define Z_HAVE_STDARG_H
41717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
41817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
41917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifdef STDC
42017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifndef Z_SOLO
42117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    include <sys/types.h>      /* for off_t */
42217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
42317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
42417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
42517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined(STDC) || defined(Z_HAVE_STDARG_H)
42617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifndef Z_SOLO
42717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    include <stdarg.h>         /* for va_list */
42817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
42917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
43017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
43117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifdef _WIN32
43217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  ifndef Z_SOLO
43317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    include <stddef.h>         /* for wchar_t */
43417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
43517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
43617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
43717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
43817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
43917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * though the former does not conform to the LFS document), but considering
44017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
44117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner * equivalently requesting no 64-bit operations
44217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner */
44317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
44417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  undef _LARGEFILE64_SOURCE
44517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
44617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
44717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
44817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define Z_HAVE_UNISTD_H
44917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
45017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifndef Z_SOLO
45117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
45217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    include <unistd.h>         /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
45317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    ifdef VMS
45417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      include <unixio.h>       /* for off_t */
45517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    endif
45617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    ifndef z_off_t
45717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#      define z_off_t off_t
45817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    endif
45917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
46017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
46117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
46217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
46317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define Z_LFS64
46417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
46517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
46617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
46717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define Z_LARGE64
46817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
46917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
47017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
47117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define Z_WANT64
47217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
47317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
47417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if !defined(SEEK_SET) && !defined(Z_SOLO)
47517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define SEEK_SET        0       /* Seek from beginning of file.  */
47617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define SEEK_CUR        1       /* Seek from current position.  */
47717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
47817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
47917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
48017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#ifndef z_off_t
48117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define z_off_t long
48217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
48317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
48417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if !defined(_WIN32) && defined(Z_LARGE64)
48517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  define z_off64_t off64_t
48617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#else
48717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
48817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define z_off64_t __int64
48917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  else
49017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#    define z_off64_t z_off_t
49117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#  endif
49217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
49317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
49417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner/* MVS linker does not support external names larger than 8 bytes */
49517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#if defined(__MVS__)
49617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner  #pragma map(deflateInit_,"DEIN")
49717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner  #pragma map(deflateInit2_,"DEIN2")
49817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner  #pragma map(deflateEnd,"DEEND")
49917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner  #pragma map(deflateBound,"DEBND")
50017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner  #pragma map(inflateInit_,"ININ")
50117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner  #pragma map(inflateInit2_,"ININ2")
50217b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner  #pragma map(inflateEnd,"INEND")
50317b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner  #pragma map(inflateSync,"INSY")
50417b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner  #pragma map(inflateSetDictionary,"INSEDI")
50517b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner  #pragma map(compressBound,"CMBND")
50617b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner  #pragma map(inflate_table,"INTABL")
50717b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner  #pragma map(inflate_fast,"INFA")
50817b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner  #pragma map(inflate_copyright,"INCOPY")
50917b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif
51017b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner
51117b20e6f38ad2263e47a6884c4f68ce9773d8b29David 'Digit' Turner#endif /* ZCONF_H */
512