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