1e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/* zconf.h -- configuration of the zlib compression library
2e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Copyright (C) 1995-2013 Jean-loup Gailly.
3e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * For conditions of distribution and use, see copyright notice in zlib.h
4e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov */
5e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
6e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/* @(#) $Id$ */
7e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
8e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef ZCONF_H
9e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#define ZCONF_H
10e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
11e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/*
12e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * If you *really* need a unique prefix for all types and library functions,
13e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
14e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Even better than compiling with -DZ_PREFIX would be to use configure to set
15e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * this permanently in zconf.h using "./configure --zprefix".
16e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov */
17e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef Z_PREFIX     /* may be set to #if 1 by ./configure */
18e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define Z_PREFIX_SET
19e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
20e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/* all linked symbols */
21e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define _dist_code            z__dist_code
22e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define _length_code          z__length_code
23e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define _tr_align             z__tr_align
24e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define _tr_flush_bits        z__tr_flush_bits
25e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define _tr_flush_block       z__tr_flush_block
26e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define _tr_init              z__tr_init
27e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define _tr_stored_block      z__tr_stored_block
28e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define _tr_tally             z__tr_tally
29e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define adler32               z_adler32
30e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define adler32_combine       z_adler32_combine
31e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define adler32_combine64     z_adler32_combine64
32e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifndef Z_SOLO
33e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define compress              z_compress
34e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define compress2             z_compress2
35e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define compressBound         z_compressBound
36e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
37e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define crc32                 z_crc32
38e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define crc32_combine         z_crc32_combine
39e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define crc32_combine64       z_crc32_combine64
40e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflate               z_deflate
41e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflateBound          z_deflateBound
42e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflateCopy           z_deflateCopy
43e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflateEnd            z_deflateEnd
44e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflateInit2_         z_deflateInit2_
45e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflateInit_          z_deflateInit_
46e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflateParams         z_deflateParams
47e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflatePending        z_deflatePending
48e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflatePrime          z_deflatePrime
49e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflateReset          z_deflateReset
50e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflateResetKeep      z_deflateResetKeep
51e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflateSetDictionary  z_deflateSetDictionary
52e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflateSetHeader      z_deflateSetHeader
53e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflateTune           z_deflateTune
54e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define deflate_copyright     z_deflate_copyright
55e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define get_crc_table         z_get_crc_table
56e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifndef Z_SOLO
57e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gz_error              z_gz_error
58e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gz_intmax             z_gz_intmax
59e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gz_strwinerror        z_gz_strwinerror
60e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzbuffer              z_gzbuffer
61e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzclearerr            z_gzclearerr
62e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzclose               z_gzclose
63e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzclose_r             z_gzclose_r
64e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzclose_w             z_gzclose_w
65e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzdirect              z_gzdirect
66e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzdopen               z_gzdopen
67e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzeof                 z_gzeof
68e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzerror               z_gzerror
69e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzflush               z_gzflush
70e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzgetc                z_gzgetc
71e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzgetc_               z_gzgetc_
72e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzgets                z_gzgets
73e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzoffset              z_gzoffset
74e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzoffset64            z_gzoffset64
75e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzopen                z_gzopen
76e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzopen64              z_gzopen64
77e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    ifdef _WIN32
78e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      define gzopen_w              z_gzopen_w
79e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    endif
80e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzprintf              z_gzprintf
81e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzvprintf             z_gzvprintf
82e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzputc                z_gzputc
83e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzputs                z_gzputs
84e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzread                z_gzread
85e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzrewind              z_gzrewind
86e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzseek                z_gzseek
87e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzseek64              z_gzseek64
88e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzsetparams           z_gzsetparams
89e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gztell                z_gztell
90e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gztell64              z_gztell64
91e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzungetc              z_gzungetc
92e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzwrite               z_gzwrite
93e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
94e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflate               z_inflate
95e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateBack           z_inflateBack
96e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateBackEnd        z_inflateBackEnd
97e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateBackInit_      z_inflateBackInit_
98e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateCopy           z_inflateCopy
99e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateEnd            z_inflateEnd
100e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateGetHeader      z_inflateGetHeader
101e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateInit2_         z_inflateInit2_
102e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateInit_          z_inflateInit_
103e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateMark           z_inflateMark
104e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflatePrime          z_inflatePrime
105e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateReset          z_inflateReset
106e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateReset2         z_inflateReset2
107e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateSetDictionary  z_inflateSetDictionary
108e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateGetDictionary  z_inflateGetDictionary
109e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateSync           z_inflateSync
110e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateSyncPoint      z_inflateSyncPoint
111e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateUndermine      z_inflateUndermine
112e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflateResetKeep      z_inflateResetKeep
113e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflate_copyright     z_inflate_copyright
114e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflate_fast          z_inflate_fast
115e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define inflate_table         z_inflate_table
116e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifndef Z_SOLO
117e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define uncompress            z_uncompress
118e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
119e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define zError                z_zError
120e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifndef Z_SOLO
121e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define zcalloc               z_zcalloc
122e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define zcfree                z_zcfree
123e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
124e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define zlibCompileFlags      z_zlibCompileFlags
125e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define zlibVersion           z_zlibVersion
126e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
127e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/* all zlib typedefs in zlib.h and zconf.h */
128e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define Byte                  z_Byte
129e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define Bytef                 z_Bytef
130e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define alloc_func            z_alloc_func
131e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define charf                 z_charf
132e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define free_func             z_free_func
133e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifndef Z_SOLO
134e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define gzFile                z_gzFile
135e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
136e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define gz_header             z_gz_header
137e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define gz_headerp            z_gz_headerp
138e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define in_func               z_in_func
139e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define intf                  z_intf
140e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define out_func              z_out_func
141e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define uInt                  z_uInt
142e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define uIntf                 z_uIntf
143e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define uLong                 z_uLong
144e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define uLongf                z_uLongf
145e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define voidp                 z_voidp
146e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define voidpc                z_voidpc
147e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define voidpf                z_voidpf
148e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
149e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/* all zlib structs in zlib.h and zconf.h */
150e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define gz_header_s           z_gz_header_s
151e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define internal_state        z_internal_state
152e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
153e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
154e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
155e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined(__MSDOS__) && !defined(MSDOS)
156e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define MSDOS
157e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
158e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
159e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define OS2
160e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
161e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined(_WINDOWS) && !defined(WINDOWS)
162e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define WINDOWS
163e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
164e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
165e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifndef WIN32
166e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define WIN32
167e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
168e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
169e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
170e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
171e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    ifndef SYS16BIT
172e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      define SYS16BIT
173e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    endif
174e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
175e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
176e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
177e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/*
178e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
179e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * than 64k bytes at a time (needed on systems with 16-bit int).
180e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov */
181e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef SYS16BIT
182e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define MAXSEG_64K
183e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
184e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef MSDOS
185e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define UNALIGNED_OK
186e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
187e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
188e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef __STDC_VERSION__
189e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifndef STDC
190e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define STDC
191e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
192e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  if __STDC_VERSION__ >= 199901L
193e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    ifndef STDC99
194e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      define STDC99
195e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    endif
196e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
197e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
198e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
199e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define STDC
200e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
201e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
202e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define STDC
203e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
204e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
205e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define STDC
206e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
207e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
208e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define STDC
209e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
210e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
211e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined(__OS400__) && !defined(STDC)    /* iSeries (formerly AS/400). */
212e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define STDC
213e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
214e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
215e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef STDC
216e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
217e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define const       /* note: need a more gentle solution here */
218e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
219e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
220e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
221e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined(ZLIB_CONST) && !defined(z_const)
222e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define z_const const
223e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#else
224e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define z_const
225e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
226e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
227e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/* Some Mac compilers merge all .h files incorrectly: */
228e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
229e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define NO_DUMMY_DECL
230e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
231e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
232e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/* Maximum value for memLevel in deflateInit2 */
233e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef MAX_MEM_LEVEL
234e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifdef MAXSEG_64K
235e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define MAX_MEM_LEVEL 8
236e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  else
237e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define MAX_MEM_LEVEL 9
238e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
239e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
240e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
241e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/* Maximum value for windowBits in deflateInit2 and inflateInit2.
242e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
243e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * created by gzip. (Files created by minigzip can still be extracted by
244e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * gzip.)
245e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov */
246e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef MAX_WBITS
247e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define MAX_WBITS   15 /* 32K LZ77 window */
248e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
249e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
250e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/* The memory requirements for deflate are (in bytes):
251e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov            (1 << (windowBits+2)) +  (1 << (memLevel+9))
252e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
253e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov plus a few kilobytes for small objects. For example, if you want to reduce
254e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov the default memory requirements from 256K to 128K, compile with
255e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov     make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
256e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov Of course this will generally degrade compression (there's no free lunch).
257e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
258e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov   The memory requirements for inflate are (in bytes) 1 << windowBits
259e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov that is, 32K for windowBits=15 (default value) plus a few kilobytes
260e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov for small objects.
261e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov*/
262e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
263e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov                        /* Type declarations */
264e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
265e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef OF /* function prototypes */
266e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifdef STDC
267e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define OF(args)  args
268e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  else
269e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define OF(args)  ()
270e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
271e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
272e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
273e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef Z_ARG /* function prototypes for stdarg */
274e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  if defined(STDC) || defined(Z_HAVE_STDARG_H)
275e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define Z_ARG(args)  args
276e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  else
277e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define Z_ARG(args)  ()
278e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
279e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
280e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
281e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/* The following definitions for FAR are needed only for MSDOS mixed
282e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * model programming (small or medium model with some far allocations).
283e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * This was tested only with MSC; for other MSDOS compilers you may have
284e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
285e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * just define FAR to be empty.
286e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov */
287e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef SYS16BIT
288e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  if defined(M_I86SM) || defined(M_I86MM)
289e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov     /* MSC small or medium model */
290e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define SMALL_MEDIUM
291e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    ifdef _MSC_VER
292e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      define FAR _far
293e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    else
294e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      define FAR far
295e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    endif
296e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
297e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  if (defined(__SMALL__) || defined(__MEDIUM__))
298e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov     /* Turbo C small or medium model */
299e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define SMALL_MEDIUM
300e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    ifdef __BORLANDC__
301e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      define FAR _far
302e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    else
303e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      define FAR far
304e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    endif
305e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
306e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
307e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
308e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined(WINDOWS) || defined(WIN32)
309e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov   /* If building or using zlib as a DLL, define ZLIB_DLL.
310e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    * This is not mandatory, but it offers a little performance increase.
311e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    */
312e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifdef ZLIB_DLL
313e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
314e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      ifdef ZLIB_INTERNAL
315e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#        define ZEXTERN extern __declspec(dllexport)
316e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      else
317e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#        define ZEXTERN extern __declspec(dllimport)
318e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      endif
319e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    endif
320e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif  /* ZLIB_DLL */
321e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov   /* If building or using zlib with the WINAPI/WINAPIV calling convention,
322e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    * define ZLIB_WINAPI.
323e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
324e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov    */
325e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifdef ZLIB_WINAPI
326e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    ifdef FAR
327e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      undef FAR
328e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    endif
329e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    include <windows.h>
330e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov     /* No need for _export, use ZLIB.DEF instead. */
331e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov     /* For complete Windows compatibility, use WINAPI, not __stdcall. */
332e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define ZEXPORT WINAPI
333e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    ifdef WIN32
334e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      define ZEXPORTVA WINAPIV
335e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    else
336e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      define ZEXPORTVA FAR CDECL
337e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    endif
338e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
339e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
340e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
341e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined (__BEOS__)
342e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifdef ZLIB_DLL
343e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    ifdef ZLIB_INTERNAL
344e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      define ZEXPORT   __declspec(dllexport)
345e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      define ZEXPORTVA __declspec(dllexport)
346e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    else
347e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      define ZEXPORT   __declspec(dllimport)
348e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      define ZEXPORTVA __declspec(dllimport)
349e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    endif
350e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
351e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
352e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
353e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef ZEXTERN
354e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define ZEXTERN extern
355e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
356e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef ZEXPORT
357e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define ZEXPORT
358e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
359e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef ZEXPORTVA
360e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define ZEXPORTVA
361e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
362e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
363e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef FAR
364e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define FAR
365e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
366e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
367e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if !defined(__MACTYPES__)
368e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovtypedef unsigned char  Byte;  /* 8 bits */
369e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
370e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovtypedef unsigned int   uInt;  /* 16 bits or more */
371e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovtypedef unsigned long  uLong; /* 32 bits or more */
372e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
373e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef SMALL_MEDIUM
374e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov   /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
375e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define Bytef Byte FAR
376e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#else
377e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov   typedef Byte  FAR Bytef;
378e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
379e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovtypedef char  FAR charf;
380e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovtypedef int   FAR intf;
381e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovtypedef uInt  FAR uIntf;
382e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovtypedef uLong FAR uLongf;
383e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
384e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef STDC
385e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov   typedef void const *voidpc;
386e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov   typedef void FAR   *voidpf;
387e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov   typedef void       *voidp;
388e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#else
389e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov   typedef Byte const *voidpc;
390e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov   typedef Byte FAR   *voidpf;
391e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov   typedef Byte       *voidp;
392e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
393e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
394e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
395e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  include <limits.h>
396e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  if (UINT_MAX == 0xffffffffUL)
397e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define Z_U4 unsigned
398e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  elif (ULONG_MAX == 0xffffffffUL)
399e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define Z_U4 unsigned long
400e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  elif (USHRT_MAX == 0xffffffffUL)
401e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define Z_U4 unsigned short
402e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
403e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
404e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
405e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef Z_U4
406e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov   typedef Z_U4 z_crc_t;
407e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#else
408e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov   typedef unsigned long z_crc_t;
409e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
410e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
411e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if 0				/* Sunliang.Liu 20100908 sync the config to the old revision, otherwise, evc compile failed. */
412e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef HAVE_UNISTD_H    /* may be set to #if 1 by ./configure */
413e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define Z_HAVE_UNISTD_H
414e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
415e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif /* 0 */
416e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
417e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef HAVE_STDARG_H    /* may be set to #if 1 by ./configure */
418e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define Z_HAVE_STDARG_H
419e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
420e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
421e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if 0				/* Sunliang.Liu 20100908 sync the config to the old revision, otherwise, evc compile failed. */
422e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef STDC
423e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifndef Z_SOLO
424e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    include <sys/types.h>      /* for off_t */
425e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
426e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
427e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif /* 0 */
428e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
429e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined(STDC) || defined(Z_HAVE_STDARG_H)
430e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifndef Z_SOLO
431e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    include <stdarg.h>         /* for va_list */
432e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
433e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
434e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
435e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifdef _WIN32
436e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  ifndef Z_SOLO
437e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    include <stddef.h>         /* for wchar_t */
438e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
439e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
440e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
441e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if 0				/* Sunliang.Liu 20100908 sync the config to the old revision, otherwise, evc compile failed. */
442e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
443e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
444e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * though the former does not conform to the LFS document), but considering
445e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
446e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov * equivalently requesting no 64-bit operations
447e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov */
448e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
449e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  undef _LARGEFILE64_SOURCE
450e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
451e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif /* 0 */
452e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
453e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
454e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define Z_HAVE_UNISTD_H
455e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
456e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef Z_SOLO
457e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if 0				/* Sunliang.Liu 20100908 sync the config to the old revision, otherwise, evc compile failed. */
458e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
459e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    include <unistd.h>         /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
460e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    ifdef VMS
461e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      include <unixio.h>       /* for off_t */
462e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    endif
463e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    ifndef z_off_t
464e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#      define z_off_t off_t
465e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    endif
466e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
467e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif /* 0 */
468e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
469e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
470e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
471e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define Z_LFS64
472e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
473e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
474e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
475e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define Z_LARGE64
476e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
477e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
478e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
479e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define Z_WANT64
480e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
481e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
482e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if !defined(SEEK_SET) && !defined(Z_SOLO)
483e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define SEEK_SET        0       /* Seek from beginning of file.  */
484e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define SEEK_CUR        1       /* Seek from current position.  */
485e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
486e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
487e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
488e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#ifndef z_off_t
489e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define z_off_t long
490e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
491e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
492e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if !defined(_WIN32) && defined(Z_LARGE64)
493e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  define z_off64_t off64_t
494e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#else
495e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
496e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define z_off64_t __int64
497e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  else
498e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#    define z_off64_t z_off_t
499e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#  endif
500e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
501e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
502e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/* MVS linker does not support external names larger than 8 bytes */
503e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#if defined(__MVS__)
504e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov  #pragma map(deflateInit_,"DEIN")
505e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov  #pragma map(deflateInit2_,"DEIN2")
506e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov  #pragma map(deflateEnd,"DEEND")
507e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov  #pragma map(deflateBound,"DEBND")
508e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov  #pragma map(inflateInit_,"ININ")
509e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov  #pragma map(inflateInit2_,"ININ2")
510e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov  #pragma map(inflateEnd,"INEND")
511e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov  #pragma map(inflateSync,"INSY")
512e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov  #pragma map(inflateSetDictionary,"INSEDI")
513e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov  #pragma map(compressBound,"CMBND")
514e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov  #pragma map(inflate_table,"INTABL")
515e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov  #pragma map(inflate_fast,"INFA")
516e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov  #pragma map(inflate_copyright,"INCOPY")
517e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif
518e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov
519e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#endif /* ZCONF_H */
520