xref: /rk3399_ARM-atf/lib/zlib/zconf.h (revision a194255d75ed9e2ef56bd6e14349a3e7d86af934)
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
41*a194255dSDaniel Boulby #  define crc32_combine_gen     z_crc32_combine_gen
42*a194255dSDaniel Boulby #  define crc32_combine_gen64   z_crc32_combine_gen64
43*a194255dSDaniel 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
244221b1638SMasahiro Yamada    typedef unsigned long z_size_t;
245221b1638SMasahiro Yamada #else
246221b1638SMasahiro Yamada #  define z_longlong long long
247221b1638SMasahiro Yamada #  if defined(NO_SIZE_T)
248221b1638SMasahiro Yamada      typedef unsigned NO_SIZE_T z_size_t;
249221b1638SMasahiro Yamada #  elif defined(STDC)
250221b1638SMasahiro Yamada #    include <stddef.h>
251221b1638SMasahiro Yamada      typedef size_t z_size_t;
252221b1638SMasahiro Yamada #  else
253221b1638SMasahiro Yamada      typedef unsigned long z_size_t;
254221b1638SMasahiro Yamada #  endif
255221b1638SMasahiro Yamada #  undef z_longlong
256221b1638SMasahiro Yamada #endif
257221b1638SMasahiro Yamada 
258221b1638SMasahiro Yamada /* Maximum value for memLevel in deflateInit2 */
259221b1638SMasahiro Yamada #ifndef MAX_MEM_LEVEL
260221b1638SMasahiro Yamada #  ifdef MAXSEG_64K
261221b1638SMasahiro Yamada #    define MAX_MEM_LEVEL 8
262221b1638SMasahiro Yamada #  else
263221b1638SMasahiro Yamada #    define MAX_MEM_LEVEL 9
264221b1638SMasahiro Yamada #  endif
265221b1638SMasahiro Yamada #endif
266221b1638SMasahiro Yamada 
267221b1638SMasahiro Yamada /* Maximum value for windowBits in deflateInit2 and inflateInit2.
268221b1638SMasahiro Yamada  * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
269221b1638SMasahiro Yamada  * created by gzip. (Files created by minigzip can still be extracted by
270221b1638SMasahiro Yamada  * gzip.)
271221b1638SMasahiro Yamada  */
272221b1638SMasahiro Yamada #ifndef MAX_WBITS
273221b1638SMasahiro Yamada #  define MAX_WBITS   15 /* 32K LZ77 window */
274221b1638SMasahiro Yamada #endif
275221b1638SMasahiro Yamada 
276221b1638SMasahiro Yamada /* The memory requirements for deflate are (in bytes):
277221b1638SMasahiro Yamada             (1 << (windowBits+2)) +  (1 << (memLevel+9))
278221b1638SMasahiro Yamada  that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
279221b1638SMasahiro Yamada  plus a few kilobytes for small objects. For example, if you want to reduce
280221b1638SMasahiro Yamada  the default memory requirements from 256K to 128K, compile with
281221b1638SMasahiro Yamada      make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
282221b1638SMasahiro Yamada  Of course this will generally degrade compression (there's no free lunch).
283221b1638SMasahiro Yamada 
284221b1638SMasahiro Yamada    The memory requirements for inflate are (in bytes) 1 << windowBits
285221b1638SMasahiro Yamada  that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
286221b1638SMasahiro Yamada  for small objects.
287221b1638SMasahiro Yamada */
288221b1638SMasahiro Yamada 
289221b1638SMasahiro Yamada                         /* Type declarations */
290221b1638SMasahiro Yamada 
291221b1638SMasahiro Yamada #ifndef OF /* function prototypes */
292221b1638SMasahiro Yamada #  ifdef STDC
293221b1638SMasahiro Yamada #    define OF(args)  args
294221b1638SMasahiro Yamada #  else
295221b1638SMasahiro Yamada #    define OF(args)  ()
296221b1638SMasahiro Yamada #  endif
297221b1638SMasahiro Yamada #endif
298221b1638SMasahiro Yamada 
299221b1638SMasahiro Yamada #ifndef Z_ARG /* function prototypes for stdarg */
300221b1638SMasahiro Yamada #  if defined(STDC) || defined(Z_HAVE_STDARG_H)
301221b1638SMasahiro Yamada #    define Z_ARG(args)  args
302221b1638SMasahiro Yamada #  else
303221b1638SMasahiro Yamada #    define Z_ARG(args)  ()
304221b1638SMasahiro Yamada #  endif
305221b1638SMasahiro Yamada #endif
306221b1638SMasahiro Yamada 
307221b1638SMasahiro Yamada /* The following definitions for FAR are needed only for MSDOS mixed
308221b1638SMasahiro Yamada  * model programming (small or medium model with some far allocations).
309221b1638SMasahiro Yamada  * This was tested only with MSC; for other MSDOS compilers you may have
310221b1638SMasahiro Yamada  * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
311221b1638SMasahiro Yamada  * just define FAR to be empty.
312221b1638SMasahiro Yamada  */
313221b1638SMasahiro Yamada #ifdef SYS16BIT
314221b1638SMasahiro Yamada #  if defined(M_I86SM) || defined(M_I86MM)
315221b1638SMasahiro Yamada      /* MSC small or medium model */
316221b1638SMasahiro Yamada #    define SMALL_MEDIUM
317221b1638SMasahiro Yamada #    ifdef _MSC_VER
318221b1638SMasahiro Yamada #      define FAR _far
319221b1638SMasahiro Yamada #    else
320221b1638SMasahiro Yamada #      define FAR far
321221b1638SMasahiro Yamada #    endif
322221b1638SMasahiro Yamada #  endif
323221b1638SMasahiro Yamada #  if (defined(__SMALL__) || defined(__MEDIUM__))
324221b1638SMasahiro Yamada      /* Turbo C small or medium model */
325221b1638SMasahiro Yamada #    define SMALL_MEDIUM
326221b1638SMasahiro Yamada #    ifdef __BORLANDC__
327221b1638SMasahiro Yamada #      define FAR _far
328221b1638SMasahiro Yamada #    else
329221b1638SMasahiro Yamada #      define FAR far
330221b1638SMasahiro Yamada #    endif
331221b1638SMasahiro Yamada #  endif
332221b1638SMasahiro Yamada #endif
333221b1638SMasahiro Yamada 
334221b1638SMasahiro Yamada #if defined(WINDOWS) || defined(WIN32)
335221b1638SMasahiro Yamada    /* If building or using zlib as a DLL, define ZLIB_DLL.
336221b1638SMasahiro Yamada     * This is not mandatory, but it offers a little performance increase.
337221b1638SMasahiro Yamada     */
338221b1638SMasahiro Yamada #  ifdef ZLIB_DLL
339221b1638SMasahiro Yamada #    if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
340221b1638SMasahiro Yamada #      ifdef ZLIB_INTERNAL
341221b1638SMasahiro Yamada #        define ZEXTERN extern __declspec(dllexport)
342221b1638SMasahiro Yamada #      else
343221b1638SMasahiro Yamada #        define ZEXTERN extern __declspec(dllimport)
344221b1638SMasahiro Yamada #      endif
345221b1638SMasahiro Yamada #    endif
346221b1638SMasahiro Yamada #  endif  /* ZLIB_DLL */
347221b1638SMasahiro Yamada    /* If building or using zlib with the WINAPI/WINAPIV calling convention,
348221b1638SMasahiro Yamada     * define ZLIB_WINAPI.
349221b1638SMasahiro Yamada     * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
350221b1638SMasahiro Yamada     */
351221b1638SMasahiro Yamada #  ifdef ZLIB_WINAPI
352221b1638SMasahiro Yamada #    ifdef FAR
353221b1638SMasahiro Yamada #      undef FAR
354221b1638SMasahiro Yamada #    endif
355*a194255dSDaniel Boulby #    ifndef WIN32_LEAN_AND_MEAN
356*a194255dSDaniel Boulby #      define WIN32_LEAN_AND_MEAN
357*a194255dSDaniel Boulby #    endif
358221b1638SMasahiro Yamada #    include <windows.h>
359221b1638SMasahiro Yamada      /* No need for _export, use ZLIB.DEF instead. */
360221b1638SMasahiro Yamada      /* For complete Windows compatibility, use WINAPI, not __stdcall. */
361221b1638SMasahiro Yamada #    define ZEXPORT WINAPI
362221b1638SMasahiro Yamada #    ifdef WIN32
363221b1638SMasahiro Yamada #      define ZEXPORTVA WINAPIV
364221b1638SMasahiro Yamada #    else
365221b1638SMasahiro Yamada #      define ZEXPORTVA FAR CDECL
366221b1638SMasahiro Yamada #    endif
367221b1638SMasahiro Yamada #  endif
368221b1638SMasahiro Yamada #endif
369221b1638SMasahiro Yamada 
370221b1638SMasahiro Yamada #if defined (__BEOS__)
371221b1638SMasahiro Yamada #  ifdef ZLIB_DLL
372221b1638SMasahiro Yamada #    ifdef ZLIB_INTERNAL
373221b1638SMasahiro Yamada #      define ZEXPORT   __declspec(dllexport)
374221b1638SMasahiro Yamada #      define ZEXPORTVA __declspec(dllexport)
375221b1638SMasahiro Yamada #    else
376221b1638SMasahiro Yamada #      define ZEXPORT   __declspec(dllimport)
377221b1638SMasahiro Yamada #      define ZEXPORTVA __declspec(dllimport)
378221b1638SMasahiro Yamada #    endif
379221b1638SMasahiro Yamada #  endif
380221b1638SMasahiro Yamada #endif
381221b1638SMasahiro Yamada 
382221b1638SMasahiro Yamada #ifndef ZEXTERN
383221b1638SMasahiro Yamada #  define ZEXTERN extern
384221b1638SMasahiro Yamada #endif
385221b1638SMasahiro Yamada #ifndef ZEXPORT
386221b1638SMasahiro Yamada #  define ZEXPORT
387221b1638SMasahiro Yamada #endif
388221b1638SMasahiro Yamada #ifndef ZEXPORTVA
389221b1638SMasahiro Yamada #  define ZEXPORTVA
390221b1638SMasahiro Yamada #endif
391221b1638SMasahiro Yamada 
392221b1638SMasahiro Yamada #ifndef FAR
393221b1638SMasahiro Yamada #  define FAR
394221b1638SMasahiro Yamada #endif
395221b1638SMasahiro Yamada 
396221b1638SMasahiro Yamada #if !defined(__MACTYPES__)
397221b1638SMasahiro Yamada typedef unsigned char  Byte;  /* 8 bits */
398221b1638SMasahiro Yamada #endif
399221b1638SMasahiro Yamada typedef unsigned int   uInt;  /* 16 bits or more */
400221b1638SMasahiro Yamada typedef unsigned long  uLong; /* 32 bits or more */
401221b1638SMasahiro Yamada 
402221b1638SMasahiro Yamada #ifdef SMALL_MEDIUM
403221b1638SMasahiro Yamada    /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
404221b1638SMasahiro Yamada #  define Bytef Byte FAR
405221b1638SMasahiro Yamada #else
406221b1638SMasahiro Yamada    typedef Byte  FAR Bytef;
407221b1638SMasahiro Yamada #endif
408221b1638SMasahiro Yamada typedef char  FAR charf;
409221b1638SMasahiro Yamada typedef int   FAR intf;
410221b1638SMasahiro Yamada typedef uInt  FAR uIntf;
411221b1638SMasahiro Yamada typedef uLong FAR uLongf;
412221b1638SMasahiro Yamada 
413221b1638SMasahiro Yamada #ifdef STDC
414221b1638SMasahiro Yamada    typedef void const *voidpc;
415221b1638SMasahiro Yamada    typedef void FAR   *voidpf;
416221b1638SMasahiro Yamada    typedef void       *voidp;
417221b1638SMasahiro Yamada #else
418221b1638SMasahiro Yamada    typedef Byte const *voidpc;
419221b1638SMasahiro Yamada    typedef Byte FAR   *voidpf;
420221b1638SMasahiro Yamada    typedef Byte       *voidp;
421221b1638SMasahiro Yamada #endif
422221b1638SMasahiro Yamada 
423221b1638SMasahiro Yamada #if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
424221b1638SMasahiro Yamada #  include <limits.h>
425221b1638SMasahiro Yamada #  if (UINT_MAX == 0xffffffffUL)
426221b1638SMasahiro Yamada #    define Z_U4 unsigned
427221b1638SMasahiro Yamada #  elif (ULONG_MAX == 0xffffffffUL)
428221b1638SMasahiro Yamada #    define Z_U4 unsigned long
429221b1638SMasahiro Yamada #  elif (USHRT_MAX == 0xffffffffUL)
430221b1638SMasahiro Yamada #    define Z_U4 unsigned short
431221b1638SMasahiro Yamada #  endif
432221b1638SMasahiro Yamada #endif
433221b1638SMasahiro Yamada 
434221b1638SMasahiro Yamada #ifdef Z_U4
435221b1638SMasahiro Yamada    typedef Z_U4 z_crc_t;
436221b1638SMasahiro Yamada #else
437221b1638SMasahiro Yamada    typedef unsigned long z_crc_t;
438221b1638SMasahiro Yamada #endif
439221b1638SMasahiro Yamada 
440221b1638SMasahiro Yamada #ifdef HAVE_UNISTD_H    /* may be set to #if 1 by ./configure */
441221b1638SMasahiro Yamada #  define Z_HAVE_UNISTD_H
442221b1638SMasahiro Yamada #endif
443221b1638SMasahiro Yamada 
444221b1638SMasahiro Yamada #ifdef HAVE_STDARG_H    /* may be set to #if 1 by ./configure */
445221b1638SMasahiro Yamada #  define Z_HAVE_STDARG_H
446221b1638SMasahiro Yamada #endif
447221b1638SMasahiro Yamada 
448221b1638SMasahiro Yamada #ifdef STDC
449221b1638SMasahiro Yamada #  ifndef Z_SOLO
450221b1638SMasahiro Yamada #    include <sys/types.h>      /* for off_t */
451221b1638SMasahiro Yamada #  endif
452221b1638SMasahiro Yamada #endif
453221b1638SMasahiro Yamada 
454221b1638SMasahiro Yamada #if defined(STDC) || defined(Z_HAVE_STDARG_H)
455221b1638SMasahiro Yamada #  ifndef Z_SOLO
456221b1638SMasahiro Yamada #    include <stdarg.h>         /* for va_list */
457221b1638SMasahiro Yamada #  endif
458221b1638SMasahiro Yamada #endif
459221b1638SMasahiro Yamada 
460221b1638SMasahiro Yamada #ifdef _WIN32
461221b1638SMasahiro Yamada #  ifndef Z_SOLO
462221b1638SMasahiro Yamada #    include <stddef.h>         /* for wchar_t */
463221b1638SMasahiro Yamada #  endif
464221b1638SMasahiro Yamada #endif
465221b1638SMasahiro Yamada 
466221b1638SMasahiro Yamada /* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
467221b1638SMasahiro Yamada  * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
468221b1638SMasahiro Yamada  * though the former does not conform to the LFS document), but considering
469221b1638SMasahiro Yamada  * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
470221b1638SMasahiro Yamada  * equivalently requesting no 64-bit operations
471221b1638SMasahiro Yamada  */
472221b1638SMasahiro Yamada #if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
473221b1638SMasahiro Yamada #  undef _LARGEFILE64_SOURCE
474221b1638SMasahiro Yamada #endif
475221b1638SMasahiro Yamada 
476*a194255dSDaniel Boulby #ifndef Z_HAVE_UNISTD_H
477*a194255dSDaniel Boulby #  ifdef __WATCOMC__
478221b1638SMasahiro Yamada #    define Z_HAVE_UNISTD_H
479221b1638SMasahiro Yamada #  endif
480*a194255dSDaniel Boulby #endif
481*a194255dSDaniel Boulby #ifndef Z_HAVE_UNISTD_H
482*a194255dSDaniel Boulby #  if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
483*a194255dSDaniel Boulby #    define Z_HAVE_UNISTD_H
484*a194255dSDaniel Boulby #  endif
485*a194255dSDaniel Boulby #endif
486221b1638SMasahiro Yamada #ifndef Z_SOLO
487*a194255dSDaniel Boulby #  if defined(Z_HAVE_UNISTD_H)
488221b1638SMasahiro Yamada #    include <unistd.h>         /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
489221b1638SMasahiro Yamada #    ifdef VMS
490221b1638SMasahiro Yamada #      include <unixio.h>       /* for off_t */
491221b1638SMasahiro Yamada #    endif
492221b1638SMasahiro Yamada #    ifndef z_off_t
493221b1638SMasahiro Yamada #      define z_off_t off_t
494221b1638SMasahiro Yamada #    endif
495221b1638SMasahiro Yamada #  endif
496221b1638SMasahiro Yamada #endif
497221b1638SMasahiro Yamada 
498221b1638SMasahiro Yamada #if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
499221b1638SMasahiro Yamada #  define Z_LFS64
500221b1638SMasahiro Yamada #endif
501221b1638SMasahiro Yamada 
502221b1638SMasahiro Yamada #if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
503221b1638SMasahiro Yamada #  define Z_LARGE64
504221b1638SMasahiro Yamada #endif
505221b1638SMasahiro Yamada 
506221b1638SMasahiro Yamada #if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
507221b1638SMasahiro Yamada #  define Z_WANT64
508221b1638SMasahiro Yamada #endif
509221b1638SMasahiro Yamada 
510221b1638SMasahiro Yamada #if !defined(SEEK_SET) && !defined(Z_SOLO)
511221b1638SMasahiro Yamada #  define SEEK_SET        0       /* Seek from beginning of file.  */
512221b1638SMasahiro Yamada #  define SEEK_CUR        1       /* Seek from current position.  */
513221b1638SMasahiro Yamada #  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
514221b1638SMasahiro Yamada #endif
515221b1638SMasahiro Yamada 
516221b1638SMasahiro Yamada #ifndef z_off_t
517221b1638SMasahiro Yamada #  define z_off_t long
518221b1638SMasahiro Yamada #endif
519221b1638SMasahiro Yamada 
520221b1638SMasahiro Yamada #if !defined(_WIN32) && defined(Z_LARGE64)
521221b1638SMasahiro Yamada #  define z_off64_t off64_t
522221b1638SMasahiro Yamada #else
523221b1638SMasahiro Yamada #  if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
524221b1638SMasahiro Yamada #    define z_off64_t __int64
525221b1638SMasahiro Yamada #  else
526221b1638SMasahiro Yamada #    define z_off64_t z_off_t
527221b1638SMasahiro Yamada #  endif
528221b1638SMasahiro Yamada #endif
529221b1638SMasahiro Yamada 
530221b1638SMasahiro Yamada /* MVS linker does not support external names larger than 8 bytes */
531221b1638SMasahiro Yamada #if defined(__MVS__)
532221b1638SMasahiro Yamada   #pragma map(deflateInit_,"DEIN")
533221b1638SMasahiro Yamada   #pragma map(deflateInit2_,"DEIN2")
534221b1638SMasahiro Yamada   #pragma map(deflateEnd,"DEEND")
535221b1638SMasahiro Yamada   #pragma map(deflateBound,"DEBND")
536221b1638SMasahiro Yamada   #pragma map(inflateInit_,"ININ")
537221b1638SMasahiro Yamada   #pragma map(inflateInit2_,"ININ2")
538221b1638SMasahiro Yamada   #pragma map(inflateEnd,"INEND")
539221b1638SMasahiro Yamada   #pragma map(inflateSync,"INSY")
540221b1638SMasahiro Yamada   #pragma map(inflateSetDictionary,"INSEDI")
541221b1638SMasahiro Yamada   #pragma map(compressBound,"CMBND")
542221b1638SMasahiro Yamada   #pragma map(inflate_table,"INTABL")
543221b1638SMasahiro Yamada   #pragma map(inflate_fast,"INFA")
544221b1638SMasahiro Yamada   #pragma map(inflate_copyright,"INCOPY")
545221b1638SMasahiro Yamada #endif
546221b1638SMasahiro Yamada 
547221b1638SMasahiro Yamada #endif /* ZCONF_H */
548