xref: /rk3399_ARM-atf/lib/zlib/zconf.h (revision fd39217a740d1ef672cce8e204a34d1e4b9fd428)
1221b1638SMasahiro Yamada /* zconf.h -- configuration of the zlib compression library
2221b1638SMasahiro Yamada  * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler
3221b1638SMasahiro Yamada  * For conditions of distribution and use, see copyright notice in zlib.h
4221b1638SMasahiro Yamada  */
5221b1638SMasahiro Yamada 
6221b1638SMasahiro Yamada /* @(#) $Id$ */
7221b1638SMasahiro Yamada 
8221b1638SMasahiro Yamada #ifndef ZCONF_H
9221b1638SMasahiro Yamada #define ZCONF_H
10221b1638SMasahiro Yamada 
11221b1638SMasahiro Yamada /*
12221b1638SMasahiro Yamada  * If you *really* need a unique prefix for all types and library functions,
13221b1638SMasahiro Yamada  * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
14221b1638SMasahiro Yamada  * Even better than compiling with -DZ_PREFIX would be to use configure to set
15221b1638SMasahiro Yamada  * this permanently in zconf.h using "./configure --zprefix".
16221b1638SMasahiro Yamada  */
17221b1638SMasahiro Yamada #ifdef Z_PREFIX     /* may be set to #if 1 by ./configure */
18221b1638SMasahiro Yamada #  define Z_PREFIX_SET
19221b1638SMasahiro Yamada 
20221b1638SMasahiro Yamada /* all linked symbols and init macros */
21221b1638SMasahiro Yamada #  define _dist_code            z__dist_code
22221b1638SMasahiro Yamada #  define _length_code          z__length_code
23221b1638SMasahiro Yamada #  define _tr_align             z__tr_align
24221b1638SMasahiro Yamada #  define _tr_flush_bits        z__tr_flush_bits
25221b1638SMasahiro Yamada #  define _tr_flush_block       z__tr_flush_block
26221b1638SMasahiro Yamada #  define _tr_init              z__tr_init
27221b1638SMasahiro Yamada #  define _tr_stored_block      z__tr_stored_block
28221b1638SMasahiro Yamada #  define _tr_tally             z__tr_tally
29221b1638SMasahiro Yamada #  define adler32               z_adler32
30221b1638SMasahiro Yamada #  define adler32_combine       z_adler32_combine
31221b1638SMasahiro Yamada #  define adler32_combine64     z_adler32_combine64
32221b1638SMasahiro Yamada #  define adler32_z             z_adler32_z
33221b1638SMasahiro Yamada #  ifndef Z_SOLO
34221b1638SMasahiro Yamada #    define compress              z_compress
35221b1638SMasahiro Yamada #    define compress2             z_compress2
36221b1638SMasahiro Yamada #    define compressBound         z_compressBound
37221b1638SMasahiro Yamada #  endif
38221b1638SMasahiro Yamada #  define crc32                 z_crc32
39221b1638SMasahiro Yamada #  define crc32_combine         z_crc32_combine
40221b1638SMasahiro Yamada #  define crc32_combine64       z_crc32_combine64
41a194255dSDaniel Boulby #  define crc32_combine_gen     z_crc32_combine_gen
42a194255dSDaniel Boulby #  define crc32_combine_gen64   z_crc32_combine_gen64
43a194255dSDaniel Boulby #  define crc32_combine_op      z_crc32_combine_op
44221b1638SMasahiro Yamada #  define crc32_z               z_crc32_z
45221b1638SMasahiro Yamada #  define deflate               z_deflate
46221b1638SMasahiro Yamada #  define deflateBound          z_deflateBound
47221b1638SMasahiro Yamada #  define deflateCopy           z_deflateCopy
48221b1638SMasahiro Yamada #  define deflateEnd            z_deflateEnd
49221b1638SMasahiro Yamada #  define deflateGetDictionary  z_deflateGetDictionary
50221b1638SMasahiro Yamada #  define deflateInit           z_deflateInit
51221b1638SMasahiro Yamada #  define deflateInit2          z_deflateInit2
52221b1638SMasahiro Yamada #  define deflateInit2_         z_deflateInit2_
53221b1638SMasahiro Yamada #  define deflateInit_          z_deflateInit_
54221b1638SMasahiro Yamada #  define deflateParams         z_deflateParams
55221b1638SMasahiro Yamada #  define deflatePending        z_deflatePending
56221b1638SMasahiro Yamada #  define deflatePrime          z_deflatePrime
57221b1638SMasahiro Yamada #  define deflateReset          z_deflateReset
58221b1638SMasahiro Yamada #  define deflateResetKeep      z_deflateResetKeep
59221b1638SMasahiro Yamada #  define deflateSetDictionary  z_deflateSetDictionary
60221b1638SMasahiro Yamada #  define deflateSetHeader      z_deflateSetHeader
61221b1638SMasahiro Yamada #  define deflateTune           z_deflateTune
62221b1638SMasahiro Yamada #  define deflate_copyright     z_deflate_copyright
63221b1638SMasahiro Yamada #  define get_crc_table         z_get_crc_table
64221b1638SMasahiro Yamada #  ifndef Z_SOLO
65221b1638SMasahiro Yamada #    define gz_error              z_gz_error
66221b1638SMasahiro Yamada #    define gz_intmax             z_gz_intmax
67221b1638SMasahiro Yamada #    define gz_strwinerror        z_gz_strwinerror
68221b1638SMasahiro Yamada #    define gzbuffer              z_gzbuffer
69221b1638SMasahiro Yamada #    define gzclearerr            z_gzclearerr
70221b1638SMasahiro Yamada #    define gzclose               z_gzclose
71221b1638SMasahiro Yamada #    define gzclose_r             z_gzclose_r
72221b1638SMasahiro Yamada #    define gzclose_w             z_gzclose_w
73221b1638SMasahiro Yamada #    define gzdirect              z_gzdirect
74221b1638SMasahiro Yamada #    define gzdopen               z_gzdopen
75221b1638SMasahiro Yamada #    define gzeof                 z_gzeof
76221b1638SMasahiro Yamada #    define gzerror               z_gzerror
77221b1638SMasahiro Yamada #    define gzflush               z_gzflush
78221b1638SMasahiro Yamada #    define gzfread               z_gzfread
79221b1638SMasahiro Yamada #    define gzfwrite              z_gzfwrite
80221b1638SMasahiro Yamada #    define gzgetc                z_gzgetc
81221b1638SMasahiro Yamada #    define gzgetc_               z_gzgetc_
82221b1638SMasahiro Yamada #    define gzgets                z_gzgets
83221b1638SMasahiro Yamada #    define gzoffset              z_gzoffset
84221b1638SMasahiro Yamada #    define gzoffset64            z_gzoffset64
85221b1638SMasahiro Yamada #    define gzopen                z_gzopen
86221b1638SMasahiro Yamada #    define gzopen64              z_gzopen64
87221b1638SMasahiro Yamada #    ifdef _WIN32
88221b1638SMasahiro Yamada #      define gzopen_w              z_gzopen_w
89221b1638SMasahiro Yamada #    endif
90221b1638SMasahiro Yamada #    define gzprintf              z_gzprintf
91221b1638SMasahiro Yamada #    define gzputc                z_gzputc
92221b1638SMasahiro Yamada #    define gzputs                z_gzputs
93221b1638SMasahiro Yamada #    define gzread                z_gzread
94221b1638SMasahiro Yamada #    define gzrewind              z_gzrewind
95221b1638SMasahiro Yamada #    define gzseek                z_gzseek
96221b1638SMasahiro Yamada #    define gzseek64              z_gzseek64
97221b1638SMasahiro Yamada #    define gzsetparams           z_gzsetparams
98221b1638SMasahiro Yamada #    define gztell                z_gztell
99221b1638SMasahiro Yamada #    define gztell64              z_gztell64
100221b1638SMasahiro Yamada #    define gzungetc              z_gzungetc
101221b1638SMasahiro Yamada #    define gzvprintf             z_gzvprintf
102221b1638SMasahiro Yamada #    define gzwrite               z_gzwrite
103221b1638SMasahiro Yamada #  endif
104221b1638SMasahiro Yamada #  define inflate               z_inflate
105221b1638SMasahiro Yamada #  define inflateBack           z_inflateBack
106221b1638SMasahiro Yamada #  define inflateBackEnd        z_inflateBackEnd
107221b1638SMasahiro Yamada #  define inflateBackInit       z_inflateBackInit
108221b1638SMasahiro Yamada #  define inflateBackInit_      z_inflateBackInit_
109221b1638SMasahiro Yamada #  define inflateCodesUsed      z_inflateCodesUsed
110221b1638SMasahiro Yamada #  define inflateCopy           z_inflateCopy
111221b1638SMasahiro Yamada #  define inflateEnd            z_inflateEnd
112221b1638SMasahiro Yamada #  define inflateGetDictionary  z_inflateGetDictionary
113221b1638SMasahiro Yamada #  define inflateGetHeader      z_inflateGetHeader
114221b1638SMasahiro Yamada #  define inflateInit           z_inflateInit
115221b1638SMasahiro Yamada #  define inflateInit2          z_inflateInit2
116221b1638SMasahiro Yamada #  define inflateInit2_         z_inflateInit2_
117221b1638SMasahiro Yamada #  define inflateInit_          z_inflateInit_
118221b1638SMasahiro Yamada #  define inflateMark           z_inflateMark
119221b1638SMasahiro Yamada #  define inflatePrime          z_inflatePrime
120221b1638SMasahiro Yamada #  define inflateReset          z_inflateReset
121221b1638SMasahiro Yamada #  define inflateReset2         z_inflateReset2
122221b1638SMasahiro Yamada #  define inflateResetKeep      z_inflateResetKeep
123221b1638SMasahiro Yamada #  define inflateSetDictionary  z_inflateSetDictionary
124221b1638SMasahiro Yamada #  define inflateSync           z_inflateSync
125221b1638SMasahiro Yamada #  define inflateSyncPoint      z_inflateSyncPoint
126221b1638SMasahiro Yamada #  define inflateUndermine      z_inflateUndermine
127221b1638SMasahiro Yamada #  define inflateValidate       z_inflateValidate
128221b1638SMasahiro Yamada #  define inflate_copyright     z_inflate_copyright
129221b1638SMasahiro Yamada #  define inflate_fast          z_inflate_fast
130221b1638SMasahiro Yamada #  define inflate_table         z_inflate_table
131221b1638SMasahiro Yamada #  ifndef Z_SOLO
132221b1638SMasahiro Yamada #    define uncompress            z_uncompress
133221b1638SMasahiro Yamada #    define uncompress2           z_uncompress2
134221b1638SMasahiro Yamada #  endif
135221b1638SMasahiro Yamada #  define zError                z_zError
136221b1638SMasahiro Yamada #  ifndef Z_SOLO
137221b1638SMasahiro Yamada #    define zcalloc               z_zcalloc
138221b1638SMasahiro Yamada #    define zcfree                z_zcfree
139221b1638SMasahiro Yamada #  endif
140221b1638SMasahiro Yamada #  define zlibCompileFlags      z_zlibCompileFlags
141221b1638SMasahiro Yamada #  define zlibVersion           z_zlibVersion
142221b1638SMasahiro Yamada 
143221b1638SMasahiro Yamada /* all zlib typedefs in zlib.h and zconf.h */
144221b1638SMasahiro Yamada #  define Byte                  z_Byte
145221b1638SMasahiro Yamada #  define Bytef                 z_Bytef
146221b1638SMasahiro Yamada #  define alloc_func            z_alloc_func
147221b1638SMasahiro Yamada #  define charf                 z_charf
148221b1638SMasahiro Yamada #  define free_func             z_free_func
149221b1638SMasahiro Yamada #  ifndef Z_SOLO
150221b1638SMasahiro Yamada #    define gzFile                z_gzFile
151221b1638SMasahiro Yamada #  endif
152221b1638SMasahiro Yamada #  define gz_header             z_gz_header
153221b1638SMasahiro Yamada #  define gz_headerp            z_gz_headerp
154221b1638SMasahiro Yamada #  define in_func               z_in_func
155221b1638SMasahiro Yamada #  define intf                  z_intf
156221b1638SMasahiro Yamada #  define out_func              z_out_func
157221b1638SMasahiro Yamada #  define uInt                  z_uInt
158221b1638SMasahiro Yamada #  define uIntf                 z_uIntf
159221b1638SMasahiro Yamada #  define uLong                 z_uLong
160221b1638SMasahiro Yamada #  define uLongf                z_uLongf
161221b1638SMasahiro Yamada #  define voidp                 z_voidp
162221b1638SMasahiro Yamada #  define voidpc                z_voidpc
163221b1638SMasahiro Yamada #  define voidpf                z_voidpf
164221b1638SMasahiro Yamada 
165221b1638SMasahiro Yamada /* all zlib structs in zlib.h and zconf.h */
166221b1638SMasahiro Yamada #  define gz_header_s           z_gz_header_s
167221b1638SMasahiro Yamada #  define internal_state        z_internal_state
168221b1638SMasahiro Yamada 
169221b1638SMasahiro Yamada #endif
170221b1638SMasahiro Yamada 
171221b1638SMasahiro Yamada #if defined(__MSDOS__) && !defined(MSDOS)
172221b1638SMasahiro Yamada #  define MSDOS
173221b1638SMasahiro Yamada #endif
174221b1638SMasahiro Yamada #if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
175221b1638SMasahiro Yamada #  define OS2
176221b1638SMasahiro Yamada #endif
177221b1638SMasahiro Yamada #if defined(_WINDOWS) && !defined(WINDOWS)
178221b1638SMasahiro Yamada #  define WINDOWS
179221b1638SMasahiro Yamada #endif
180221b1638SMasahiro Yamada #if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
181221b1638SMasahiro Yamada #  ifndef WIN32
182221b1638SMasahiro Yamada #    define WIN32
183221b1638SMasahiro Yamada #  endif
184221b1638SMasahiro Yamada #endif
185221b1638SMasahiro Yamada #if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
186221b1638SMasahiro Yamada #  if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
187221b1638SMasahiro Yamada #    ifndef SYS16BIT
188221b1638SMasahiro Yamada #      define SYS16BIT
189221b1638SMasahiro Yamada #    endif
190221b1638SMasahiro Yamada #  endif
191221b1638SMasahiro Yamada #endif
192221b1638SMasahiro Yamada 
193221b1638SMasahiro Yamada /*
194221b1638SMasahiro Yamada  * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
195221b1638SMasahiro Yamada  * than 64k bytes at a time (needed on systems with 16-bit int).
196221b1638SMasahiro Yamada  */
197221b1638SMasahiro Yamada #ifdef SYS16BIT
198221b1638SMasahiro Yamada #  define MAXSEG_64K
199221b1638SMasahiro Yamada #endif
200221b1638SMasahiro Yamada #ifdef MSDOS
201221b1638SMasahiro Yamada #  define UNALIGNED_OK
202221b1638SMasahiro Yamada #endif
203221b1638SMasahiro Yamada 
204221b1638SMasahiro Yamada #ifdef __STDC_VERSION__
205221b1638SMasahiro Yamada #  ifndef STDC
206221b1638SMasahiro Yamada #    define STDC
207221b1638SMasahiro Yamada #  endif
208221b1638SMasahiro Yamada #  if __STDC_VERSION__ >= 199901L
209221b1638SMasahiro Yamada #    ifndef STDC99
210221b1638SMasahiro Yamada #      define STDC99
211221b1638SMasahiro Yamada #    endif
212221b1638SMasahiro Yamada #  endif
213221b1638SMasahiro Yamada #endif
214221b1638SMasahiro Yamada #if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
215221b1638SMasahiro Yamada #  define STDC
216221b1638SMasahiro Yamada #endif
217221b1638SMasahiro Yamada #if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
218221b1638SMasahiro Yamada #  define STDC
219221b1638SMasahiro Yamada #endif
220221b1638SMasahiro Yamada #if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
221221b1638SMasahiro Yamada #  define STDC
222221b1638SMasahiro Yamada #endif
223221b1638SMasahiro Yamada #if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
224221b1638SMasahiro Yamada #  define STDC
225221b1638SMasahiro Yamada #endif
226221b1638SMasahiro Yamada 
227221b1638SMasahiro Yamada #if defined(__OS400__) && !defined(STDC)    /* iSeries (formerly AS/400). */
228221b1638SMasahiro Yamada #  define STDC
229221b1638SMasahiro Yamada #endif
230221b1638SMasahiro Yamada 
231221b1638SMasahiro Yamada #ifndef STDC
232221b1638SMasahiro Yamada #  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
233221b1638SMasahiro Yamada #    define const       /* note: need a more gentle solution here */
234221b1638SMasahiro Yamada #  endif
235221b1638SMasahiro Yamada #endif
236221b1638SMasahiro Yamada 
237221b1638SMasahiro Yamada #if defined(ZLIB_CONST) && !defined(z_const)
238221b1638SMasahiro Yamada #  define z_const const
239221b1638SMasahiro Yamada #else
240221b1638SMasahiro Yamada #  define z_const
241221b1638SMasahiro Yamada #endif
242221b1638SMasahiro Yamada 
243221b1638SMasahiro Yamada #ifdef Z_SOLO
244*fd39217aSManish Pandey #  ifdef _WIN64
245*fd39217aSManish Pandey      typedef unsigned long long z_size_t;
246*fd39217aSManish Pandey #  else
247221b1638SMasahiro Yamada      typedef unsigned long z_size_t;
248*fd39217aSManish Pandey #  endif
249221b1638SMasahiro Yamada #else
250221b1638SMasahiro Yamada #  define z_longlong long long
251221b1638SMasahiro Yamada #  if defined(NO_SIZE_T)
252221b1638SMasahiro Yamada      typedef unsigned NO_SIZE_T z_size_t;
253221b1638SMasahiro Yamada #  elif defined(STDC)
254221b1638SMasahiro Yamada #    include <stddef.h>
255221b1638SMasahiro Yamada      typedef size_t z_size_t;
256221b1638SMasahiro Yamada #  else
257221b1638SMasahiro Yamada      typedef unsigned long z_size_t;
258221b1638SMasahiro Yamada #  endif
259221b1638SMasahiro Yamada #  undef z_longlong
260221b1638SMasahiro Yamada #endif
261221b1638SMasahiro Yamada 
262221b1638SMasahiro Yamada /* Maximum value for memLevel in deflateInit2 */
263221b1638SMasahiro Yamada #ifndef MAX_MEM_LEVEL
264221b1638SMasahiro Yamada #  ifdef MAXSEG_64K
265221b1638SMasahiro Yamada #    define MAX_MEM_LEVEL 8
266221b1638SMasahiro Yamada #  else
267221b1638SMasahiro Yamada #    define MAX_MEM_LEVEL 9
268221b1638SMasahiro Yamada #  endif
269221b1638SMasahiro Yamada #endif
270221b1638SMasahiro Yamada 
271221b1638SMasahiro Yamada /* Maximum value for windowBits in deflateInit2 and inflateInit2.
272221b1638SMasahiro Yamada  * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
273221b1638SMasahiro Yamada  * created by gzip. (Files created by minigzip can still be extracted by
274221b1638SMasahiro Yamada  * gzip.)
275221b1638SMasahiro Yamada  */
276221b1638SMasahiro Yamada #ifndef MAX_WBITS
277221b1638SMasahiro Yamada #  define MAX_WBITS   15 /* 32K LZ77 window */
278221b1638SMasahiro Yamada #endif
279221b1638SMasahiro Yamada 
280221b1638SMasahiro Yamada /* The memory requirements for deflate are (in bytes):
281221b1638SMasahiro Yamada             (1 << (windowBits+2)) +  (1 << (memLevel+9))
282221b1638SMasahiro Yamada  that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
283221b1638SMasahiro Yamada  plus a few kilobytes for small objects. For example, if you want to reduce
284221b1638SMasahiro Yamada  the default memory requirements from 256K to 128K, compile with
285221b1638SMasahiro Yamada      make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
286221b1638SMasahiro Yamada  Of course this will generally degrade compression (there's no free lunch).
287221b1638SMasahiro Yamada 
288221b1638SMasahiro Yamada    The memory requirements for inflate are (in bytes) 1 << windowBits
289221b1638SMasahiro Yamada  that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
290221b1638SMasahiro Yamada  for small objects.
291221b1638SMasahiro Yamada */
292221b1638SMasahiro Yamada 
293221b1638SMasahiro Yamada                         /* Type declarations */
294221b1638SMasahiro Yamada 
295221b1638SMasahiro Yamada #ifndef OF /* function prototypes */
296221b1638SMasahiro Yamada #  ifdef STDC
297221b1638SMasahiro Yamada #    define OF(args)  args
298221b1638SMasahiro Yamada #  else
299221b1638SMasahiro Yamada #    define OF(args)  ()
300221b1638SMasahiro Yamada #  endif
301221b1638SMasahiro Yamada #endif
302221b1638SMasahiro Yamada 
303221b1638SMasahiro Yamada #ifndef Z_ARG /* function prototypes for stdarg */
304221b1638SMasahiro Yamada #  if defined(STDC) || defined(Z_HAVE_STDARG_H)
305221b1638SMasahiro Yamada #    define Z_ARG(args)  args
306221b1638SMasahiro Yamada #  else
307221b1638SMasahiro Yamada #    define Z_ARG(args)  ()
308221b1638SMasahiro Yamada #  endif
309221b1638SMasahiro Yamada #endif
310221b1638SMasahiro Yamada 
311221b1638SMasahiro Yamada /* The following definitions for FAR are needed only for MSDOS mixed
312221b1638SMasahiro Yamada  * model programming (small or medium model with some far allocations).
313221b1638SMasahiro Yamada  * This was tested only with MSC; for other MSDOS compilers you may have
314221b1638SMasahiro Yamada  * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
315221b1638SMasahiro Yamada  * just define FAR to be empty.
316221b1638SMasahiro Yamada  */
317221b1638SMasahiro Yamada #ifdef SYS16BIT
318221b1638SMasahiro Yamada #  if defined(M_I86SM) || defined(M_I86MM)
319221b1638SMasahiro Yamada      /* MSC small or medium model */
320221b1638SMasahiro Yamada #    define SMALL_MEDIUM
321221b1638SMasahiro Yamada #    ifdef _MSC_VER
322221b1638SMasahiro Yamada #      define FAR _far
323221b1638SMasahiro Yamada #    else
324221b1638SMasahiro Yamada #      define FAR far
325221b1638SMasahiro Yamada #    endif
326221b1638SMasahiro Yamada #  endif
327221b1638SMasahiro Yamada #  if (defined(__SMALL__) || defined(__MEDIUM__))
328221b1638SMasahiro Yamada      /* Turbo C small or medium model */
329221b1638SMasahiro Yamada #    define SMALL_MEDIUM
330221b1638SMasahiro Yamada #    ifdef __BORLANDC__
331221b1638SMasahiro Yamada #      define FAR _far
332221b1638SMasahiro Yamada #    else
333221b1638SMasahiro Yamada #      define FAR far
334221b1638SMasahiro Yamada #    endif
335221b1638SMasahiro Yamada #  endif
336221b1638SMasahiro Yamada #endif
337221b1638SMasahiro Yamada 
338221b1638SMasahiro Yamada #if defined(WINDOWS) || defined(WIN32)
339221b1638SMasahiro Yamada    /* If building or using zlib as a DLL, define ZLIB_DLL.
340221b1638SMasahiro Yamada     * This is not mandatory, but it offers a little performance increase.
341221b1638SMasahiro Yamada     */
342221b1638SMasahiro Yamada #  ifdef ZLIB_DLL
343221b1638SMasahiro Yamada #    if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
344221b1638SMasahiro Yamada #      ifdef ZLIB_INTERNAL
345221b1638SMasahiro Yamada #        define ZEXTERN extern __declspec(dllexport)
346221b1638SMasahiro Yamada #      else
347221b1638SMasahiro Yamada #        define ZEXTERN extern __declspec(dllimport)
348221b1638SMasahiro Yamada #      endif
349221b1638SMasahiro Yamada #    endif
350221b1638SMasahiro Yamada #  endif  /* ZLIB_DLL */
351221b1638SMasahiro Yamada    /* If building or using zlib with the WINAPI/WINAPIV calling convention,
352221b1638SMasahiro Yamada     * define ZLIB_WINAPI.
353221b1638SMasahiro Yamada     * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
354221b1638SMasahiro Yamada     */
355221b1638SMasahiro Yamada #  ifdef ZLIB_WINAPI
356221b1638SMasahiro Yamada #    ifdef FAR
357221b1638SMasahiro Yamada #      undef FAR
358221b1638SMasahiro Yamada #    endif
359a194255dSDaniel Boulby #    ifndef WIN32_LEAN_AND_MEAN
360a194255dSDaniel Boulby #      define WIN32_LEAN_AND_MEAN
361a194255dSDaniel Boulby #    endif
362221b1638SMasahiro Yamada #    include <windows.h>
363221b1638SMasahiro Yamada      /* No need for _export, use ZLIB.DEF instead. */
364221b1638SMasahiro Yamada      /* For complete Windows compatibility, use WINAPI, not __stdcall. */
365221b1638SMasahiro Yamada #    define ZEXPORT WINAPI
366221b1638SMasahiro Yamada #    ifdef WIN32
367221b1638SMasahiro Yamada #      define ZEXPORTVA WINAPIV
368221b1638SMasahiro Yamada #    else
369221b1638SMasahiro Yamada #      define ZEXPORTVA FAR CDECL
370221b1638SMasahiro Yamada #    endif
371221b1638SMasahiro Yamada #  endif
372221b1638SMasahiro Yamada #endif
373221b1638SMasahiro Yamada 
374221b1638SMasahiro Yamada #if defined (__BEOS__)
375221b1638SMasahiro Yamada #  ifdef ZLIB_DLL
376221b1638SMasahiro Yamada #    ifdef ZLIB_INTERNAL
377221b1638SMasahiro Yamada #      define ZEXPORT   __declspec(dllexport)
378221b1638SMasahiro Yamada #      define ZEXPORTVA __declspec(dllexport)
379221b1638SMasahiro Yamada #    else
380221b1638SMasahiro Yamada #      define ZEXPORT   __declspec(dllimport)
381221b1638SMasahiro Yamada #      define ZEXPORTVA __declspec(dllimport)
382221b1638SMasahiro Yamada #    endif
383221b1638SMasahiro Yamada #  endif
384221b1638SMasahiro Yamada #endif
385221b1638SMasahiro Yamada 
386221b1638SMasahiro Yamada #ifndef ZEXTERN
387221b1638SMasahiro Yamada #  define ZEXTERN extern
388221b1638SMasahiro Yamada #endif
389221b1638SMasahiro Yamada #ifndef ZEXPORT
390221b1638SMasahiro Yamada #  define ZEXPORT
391221b1638SMasahiro Yamada #endif
392221b1638SMasahiro Yamada #ifndef ZEXPORTVA
393221b1638SMasahiro Yamada #  define ZEXPORTVA
394221b1638SMasahiro Yamada #endif
395221b1638SMasahiro Yamada 
396221b1638SMasahiro Yamada #ifndef FAR
397221b1638SMasahiro Yamada #  define FAR
398221b1638SMasahiro Yamada #endif
399221b1638SMasahiro Yamada 
400221b1638SMasahiro Yamada #if !defined(__MACTYPES__)
401221b1638SMasahiro Yamada typedef unsigned char  Byte;  /* 8 bits */
402221b1638SMasahiro Yamada #endif
403221b1638SMasahiro Yamada typedef unsigned int   uInt;  /* 16 bits or more */
404221b1638SMasahiro Yamada typedef unsigned long  uLong; /* 32 bits or more */
405221b1638SMasahiro Yamada 
406221b1638SMasahiro Yamada #ifdef SMALL_MEDIUM
407221b1638SMasahiro Yamada    /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
408221b1638SMasahiro Yamada #  define Bytef Byte FAR
409221b1638SMasahiro Yamada #else
410221b1638SMasahiro Yamada    typedef Byte  FAR Bytef;
411221b1638SMasahiro Yamada #endif
412221b1638SMasahiro Yamada typedef char  FAR charf;
413221b1638SMasahiro Yamada typedef int   FAR intf;
414221b1638SMasahiro Yamada typedef uInt  FAR uIntf;
415221b1638SMasahiro Yamada typedef uLong FAR uLongf;
416221b1638SMasahiro Yamada 
417221b1638SMasahiro Yamada #ifdef STDC
418221b1638SMasahiro Yamada    typedef void const *voidpc;
419221b1638SMasahiro Yamada    typedef void FAR   *voidpf;
420221b1638SMasahiro Yamada    typedef void       *voidp;
421221b1638SMasahiro Yamada #else
422221b1638SMasahiro Yamada    typedef Byte const *voidpc;
423221b1638SMasahiro Yamada    typedef Byte FAR   *voidpf;
424221b1638SMasahiro Yamada    typedef Byte       *voidp;
425221b1638SMasahiro Yamada #endif
426221b1638SMasahiro Yamada 
427221b1638SMasahiro Yamada #if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
428221b1638SMasahiro Yamada #  include <limits.h>
429221b1638SMasahiro Yamada #  if (UINT_MAX == 0xffffffffUL)
430221b1638SMasahiro Yamada #    define Z_U4 unsigned
431221b1638SMasahiro Yamada #  elif (ULONG_MAX == 0xffffffffUL)
432221b1638SMasahiro Yamada #    define Z_U4 unsigned long
433221b1638SMasahiro Yamada #  elif (USHRT_MAX == 0xffffffffUL)
434221b1638SMasahiro Yamada #    define Z_U4 unsigned short
435221b1638SMasahiro Yamada #  endif
436221b1638SMasahiro Yamada #endif
437221b1638SMasahiro Yamada 
438221b1638SMasahiro Yamada #ifdef Z_U4
439221b1638SMasahiro Yamada    typedef Z_U4 z_crc_t;
440221b1638SMasahiro Yamada #else
441221b1638SMasahiro Yamada    typedef unsigned long z_crc_t;
442221b1638SMasahiro Yamada #endif
443221b1638SMasahiro Yamada 
444221b1638SMasahiro Yamada #ifdef HAVE_UNISTD_H    /* may be set to #if 1 by ./configure */
445221b1638SMasahiro Yamada #  define Z_HAVE_UNISTD_H
446221b1638SMasahiro Yamada #endif
447221b1638SMasahiro Yamada 
448221b1638SMasahiro Yamada #ifdef HAVE_STDARG_H    /* may be set to #if 1 by ./configure */
449221b1638SMasahiro Yamada #  define Z_HAVE_STDARG_H
450221b1638SMasahiro Yamada #endif
451221b1638SMasahiro Yamada 
452221b1638SMasahiro Yamada #ifdef STDC
453221b1638SMasahiro Yamada #  ifndef Z_SOLO
454221b1638SMasahiro Yamada #    include <sys/types.h>      /* for off_t */
455221b1638SMasahiro Yamada #  endif
456221b1638SMasahiro Yamada #endif
457221b1638SMasahiro Yamada 
458221b1638SMasahiro Yamada #if defined(STDC) || defined(Z_HAVE_STDARG_H)
459221b1638SMasahiro Yamada #  ifndef Z_SOLO
460221b1638SMasahiro Yamada #    include <stdarg.h>         /* for va_list */
461221b1638SMasahiro Yamada #  endif
462221b1638SMasahiro Yamada #endif
463221b1638SMasahiro Yamada 
464221b1638SMasahiro Yamada #ifdef _WIN32
465221b1638SMasahiro Yamada #  ifndef Z_SOLO
466221b1638SMasahiro Yamada #    include <stddef.h>         /* for wchar_t */
467221b1638SMasahiro Yamada #  endif
468221b1638SMasahiro Yamada #endif
469221b1638SMasahiro Yamada 
470221b1638SMasahiro Yamada /* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
471221b1638SMasahiro Yamada  * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
472221b1638SMasahiro Yamada  * though the former does not conform to the LFS document), but considering
473221b1638SMasahiro Yamada  * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
474221b1638SMasahiro Yamada  * equivalently requesting no 64-bit operations
475221b1638SMasahiro Yamada  */
476221b1638SMasahiro Yamada #if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
477221b1638SMasahiro Yamada #  undef _LARGEFILE64_SOURCE
478221b1638SMasahiro Yamada #endif
479221b1638SMasahiro Yamada 
480a194255dSDaniel Boulby #ifndef Z_HAVE_UNISTD_H
481a194255dSDaniel Boulby #  ifdef __WATCOMC__
482221b1638SMasahiro Yamada #    define Z_HAVE_UNISTD_H
483221b1638SMasahiro Yamada #  endif
484a194255dSDaniel Boulby #endif
485a194255dSDaniel Boulby #ifndef Z_HAVE_UNISTD_H
486a194255dSDaniel Boulby #  if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
487a194255dSDaniel Boulby #    define Z_HAVE_UNISTD_H
488a194255dSDaniel Boulby #  endif
489a194255dSDaniel Boulby #endif
490221b1638SMasahiro Yamada #ifndef Z_SOLO
491a194255dSDaniel Boulby #  if defined(Z_HAVE_UNISTD_H)
492221b1638SMasahiro Yamada #    include <unistd.h>         /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
493221b1638SMasahiro Yamada #    ifdef VMS
494221b1638SMasahiro Yamada #      include <unixio.h>       /* for off_t */
495221b1638SMasahiro Yamada #    endif
496221b1638SMasahiro Yamada #    ifndef z_off_t
497221b1638SMasahiro Yamada #      define z_off_t off_t
498221b1638SMasahiro Yamada #    endif
499221b1638SMasahiro Yamada #  endif
500221b1638SMasahiro Yamada #endif
501221b1638SMasahiro Yamada 
502221b1638SMasahiro Yamada #if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
503221b1638SMasahiro Yamada #  define Z_LFS64
504221b1638SMasahiro Yamada #endif
505221b1638SMasahiro Yamada 
506221b1638SMasahiro Yamada #if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
507221b1638SMasahiro Yamada #  define Z_LARGE64
508221b1638SMasahiro Yamada #endif
509221b1638SMasahiro Yamada 
510221b1638SMasahiro Yamada #if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
511221b1638SMasahiro Yamada #  define Z_WANT64
512221b1638SMasahiro Yamada #endif
513221b1638SMasahiro Yamada 
514221b1638SMasahiro Yamada #if !defined(SEEK_SET) && !defined(Z_SOLO)
515221b1638SMasahiro Yamada #  define SEEK_SET        0       /* Seek from beginning of file.  */
516221b1638SMasahiro Yamada #  define SEEK_CUR        1       /* Seek from current position.  */
517221b1638SMasahiro Yamada #  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
518221b1638SMasahiro Yamada #endif
519221b1638SMasahiro Yamada 
520221b1638SMasahiro Yamada #ifndef z_off_t
521221b1638SMasahiro Yamada #  define z_off_t long
522221b1638SMasahiro Yamada #endif
523221b1638SMasahiro Yamada 
524221b1638SMasahiro Yamada #if !defined(_WIN32) && defined(Z_LARGE64)
525221b1638SMasahiro Yamada #  define z_off64_t off64_t
526221b1638SMasahiro Yamada #else
527*fd39217aSManish Pandey #  if defined(_WIN32) && !defined(__GNUC__)
528221b1638SMasahiro Yamada #    define z_off64_t __int64
529221b1638SMasahiro Yamada #  else
530221b1638SMasahiro Yamada #    define z_off64_t z_off_t
531221b1638SMasahiro Yamada #  endif
532221b1638SMasahiro Yamada #endif
533221b1638SMasahiro Yamada 
534221b1638SMasahiro Yamada /* MVS linker does not support external names larger than 8 bytes */
535221b1638SMasahiro Yamada #if defined(__MVS__)
536221b1638SMasahiro Yamada   #pragma map(deflateInit_,"DEIN")
537221b1638SMasahiro Yamada   #pragma map(deflateInit2_,"DEIN2")
538221b1638SMasahiro Yamada   #pragma map(deflateEnd,"DEEND")
539221b1638SMasahiro Yamada   #pragma map(deflateBound,"DEBND")
540221b1638SMasahiro Yamada   #pragma map(inflateInit_,"ININ")
541221b1638SMasahiro Yamada   #pragma map(inflateInit2_,"ININ2")
542221b1638SMasahiro Yamada   #pragma map(inflateEnd,"INEND")
543221b1638SMasahiro Yamada   #pragma map(inflateSync,"INSY")
544221b1638SMasahiro Yamada   #pragma map(inflateSetDictionary,"INSEDI")
545221b1638SMasahiro Yamada   #pragma map(compressBound,"CMBND")
546221b1638SMasahiro Yamada   #pragma map(inflate_table,"INTABL")
547221b1638SMasahiro Yamada   #pragma map(inflate_fast,"INFA")
548221b1638SMasahiro Yamada   #pragma map(inflate_copyright,"INCOPY")
549221b1638SMasahiro Yamada #endif
550221b1638SMasahiro Yamada 
551221b1638SMasahiro Yamada #endif /* ZCONF_H */
552