xref: /rk3399_ARM-atf/lib/zlib/zconf.h (revision a8c877cb6fa58d31ec50f2664be22b13f333f8ef)
1221b1638SMasahiro Yamada /* zconf.h -- configuration of the zlib compression library
2*a8c877cbSChris Kay  * Copyright (C) 1995-2024 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
62*a8c877cbSChris Kay #  define deflateUsed           z_deflateUsed
63221b1638SMasahiro Yamada #  define deflate_copyright     z_deflate_copyright
64221b1638SMasahiro Yamada #  define get_crc_table         z_get_crc_table
65221b1638SMasahiro Yamada #  ifndef Z_SOLO
66221b1638SMasahiro Yamada #    define gz_error              z_gz_error
67221b1638SMasahiro Yamada #    define gz_intmax             z_gz_intmax
68221b1638SMasahiro Yamada #    define gz_strwinerror        z_gz_strwinerror
69221b1638SMasahiro Yamada #    define gzbuffer              z_gzbuffer
70221b1638SMasahiro Yamada #    define gzclearerr            z_gzclearerr
71221b1638SMasahiro Yamada #    define gzclose               z_gzclose
72221b1638SMasahiro Yamada #    define gzclose_r             z_gzclose_r
73221b1638SMasahiro Yamada #    define gzclose_w             z_gzclose_w
74221b1638SMasahiro Yamada #    define gzdirect              z_gzdirect
75221b1638SMasahiro Yamada #    define gzdopen               z_gzdopen
76221b1638SMasahiro Yamada #    define gzeof                 z_gzeof
77221b1638SMasahiro Yamada #    define gzerror               z_gzerror
78221b1638SMasahiro Yamada #    define gzflush               z_gzflush
79221b1638SMasahiro Yamada #    define gzfread               z_gzfread
80221b1638SMasahiro Yamada #    define gzfwrite              z_gzfwrite
81221b1638SMasahiro Yamada #    define gzgetc                z_gzgetc
82221b1638SMasahiro Yamada #    define gzgetc_               z_gzgetc_
83221b1638SMasahiro Yamada #    define gzgets                z_gzgets
84221b1638SMasahiro Yamada #    define gzoffset              z_gzoffset
85221b1638SMasahiro Yamada #    define gzoffset64            z_gzoffset64
86221b1638SMasahiro Yamada #    define gzopen                z_gzopen
87221b1638SMasahiro Yamada #    define gzopen64              z_gzopen64
88221b1638SMasahiro Yamada #    ifdef _WIN32
89221b1638SMasahiro Yamada #      define gzopen_w              z_gzopen_w
90221b1638SMasahiro Yamada #    endif
91221b1638SMasahiro Yamada #    define gzprintf              z_gzprintf
92221b1638SMasahiro Yamada #    define gzputc                z_gzputc
93221b1638SMasahiro Yamada #    define gzputs                z_gzputs
94221b1638SMasahiro Yamada #    define gzread                z_gzread
95221b1638SMasahiro Yamada #    define gzrewind              z_gzrewind
96221b1638SMasahiro Yamada #    define gzseek                z_gzseek
97221b1638SMasahiro Yamada #    define gzseek64              z_gzseek64
98221b1638SMasahiro Yamada #    define gzsetparams           z_gzsetparams
99221b1638SMasahiro Yamada #    define gztell                z_gztell
100221b1638SMasahiro Yamada #    define gztell64              z_gztell64
101221b1638SMasahiro Yamada #    define gzungetc              z_gzungetc
102221b1638SMasahiro Yamada #    define gzvprintf             z_gzvprintf
103221b1638SMasahiro Yamada #    define gzwrite               z_gzwrite
104221b1638SMasahiro Yamada #  endif
105221b1638SMasahiro Yamada #  define inflate               z_inflate
106221b1638SMasahiro Yamada #  define inflateBack           z_inflateBack
107221b1638SMasahiro Yamada #  define inflateBackEnd        z_inflateBackEnd
108221b1638SMasahiro Yamada #  define inflateBackInit       z_inflateBackInit
109221b1638SMasahiro Yamada #  define inflateBackInit_      z_inflateBackInit_
110221b1638SMasahiro Yamada #  define inflateCodesUsed      z_inflateCodesUsed
111221b1638SMasahiro Yamada #  define inflateCopy           z_inflateCopy
112221b1638SMasahiro Yamada #  define inflateEnd            z_inflateEnd
113221b1638SMasahiro Yamada #  define inflateGetDictionary  z_inflateGetDictionary
114221b1638SMasahiro Yamada #  define inflateGetHeader      z_inflateGetHeader
115221b1638SMasahiro Yamada #  define inflateInit           z_inflateInit
116221b1638SMasahiro Yamada #  define inflateInit2          z_inflateInit2
117221b1638SMasahiro Yamada #  define inflateInit2_         z_inflateInit2_
118221b1638SMasahiro Yamada #  define inflateInit_          z_inflateInit_
119221b1638SMasahiro Yamada #  define inflateMark           z_inflateMark
120221b1638SMasahiro Yamada #  define inflatePrime          z_inflatePrime
121221b1638SMasahiro Yamada #  define inflateReset          z_inflateReset
122221b1638SMasahiro Yamada #  define inflateReset2         z_inflateReset2
123221b1638SMasahiro Yamada #  define inflateResetKeep      z_inflateResetKeep
124221b1638SMasahiro Yamada #  define inflateSetDictionary  z_inflateSetDictionary
125221b1638SMasahiro Yamada #  define inflateSync           z_inflateSync
126221b1638SMasahiro Yamada #  define inflateSyncPoint      z_inflateSyncPoint
127221b1638SMasahiro Yamada #  define inflateUndermine      z_inflateUndermine
128221b1638SMasahiro Yamada #  define inflateValidate       z_inflateValidate
129221b1638SMasahiro Yamada #  define inflate_copyright     z_inflate_copyright
130221b1638SMasahiro Yamada #  define inflate_fast          z_inflate_fast
131221b1638SMasahiro Yamada #  define inflate_table         z_inflate_table
132221b1638SMasahiro Yamada #  ifndef Z_SOLO
133221b1638SMasahiro Yamada #    define uncompress            z_uncompress
134221b1638SMasahiro Yamada #    define uncompress2           z_uncompress2
135221b1638SMasahiro Yamada #  endif
136221b1638SMasahiro Yamada #  define zError                z_zError
137221b1638SMasahiro Yamada #  ifndef Z_SOLO
138221b1638SMasahiro Yamada #    define zcalloc               z_zcalloc
139221b1638SMasahiro Yamada #    define zcfree                z_zcfree
140221b1638SMasahiro Yamada #  endif
141221b1638SMasahiro Yamada #  define zlibCompileFlags      z_zlibCompileFlags
142221b1638SMasahiro Yamada #  define zlibVersion           z_zlibVersion
143221b1638SMasahiro Yamada 
144221b1638SMasahiro Yamada /* all zlib typedefs in zlib.h and zconf.h */
145221b1638SMasahiro Yamada #  define Byte                  z_Byte
146221b1638SMasahiro Yamada #  define Bytef                 z_Bytef
147221b1638SMasahiro Yamada #  define alloc_func            z_alloc_func
148221b1638SMasahiro Yamada #  define charf                 z_charf
149221b1638SMasahiro Yamada #  define free_func             z_free_func
150221b1638SMasahiro Yamada #  ifndef Z_SOLO
151221b1638SMasahiro Yamada #    define gzFile                z_gzFile
152221b1638SMasahiro Yamada #  endif
153221b1638SMasahiro Yamada #  define gz_header             z_gz_header
154221b1638SMasahiro Yamada #  define gz_headerp            z_gz_headerp
155221b1638SMasahiro Yamada #  define in_func               z_in_func
156221b1638SMasahiro Yamada #  define intf                  z_intf
157221b1638SMasahiro Yamada #  define out_func              z_out_func
158221b1638SMasahiro Yamada #  define uInt                  z_uInt
159221b1638SMasahiro Yamada #  define uIntf                 z_uIntf
160221b1638SMasahiro Yamada #  define uLong                 z_uLong
161221b1638SMasahiro Yamada #  define uLongf                z_uLongf
162221b1638SMasahiro Yamada #  define voidp                 z_voidp
163221b1638SMasahiro Yamada #  define voidpc                z_voidpc
164221b1638SMasahiro Yamada #  define voidpf                z_voidpf
165221b1638SMasahiro Yamada 
166221b1638SMasahiro Yamada /* all zlib structs in zlib.h and zconf.h */
167221b1638SMasahiro Yamada #  define gz_header_s           z_gz_header_s
168221b1638SMasahiro Yamada #  define internal_state        z_internal_state
169221b1638SMasahiro Yamada 
170221b1638SMasahiro Yamada #endif
171221b1638SMasahiro Yamada 
172221b1638SMasahiro Yamada #if defined(__MSDOS__) && !defined(MSDOS)
173221b1638SMasahiro Yamada #  define MSDOS
174221b1638SMasahiro Yamada #endif
175221b1638SMasahiro Yamada #if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
176221b1638SMasahiro Yamada #  define OS2
177221b1638SMasahiro Yamada #endif
178221b1638SMasahiro Yamada #if defined(_WINDOWS) && !defined(WINDOWS)
179221b1638SMasahiro Yamada #  define WINDOWS
180221b1638SMasahiro Yamada #endif
181221b1638SMasahiro Yamada #if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
182221b1638SMasahiro Yamada #  ifndef WIN32
183221b1638SMasahiro Yamada #    define WIN32
184221b1638SMasahiro Yamada #  endif
185221b1638SMasahiro Yamada #endif
186221b1638SMasahiro Yamada #if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
187221b1638SMasahiro Yamada #  if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
188221b1638SMasahiro Yamada #    ifndef SYS16BIT
189221b1638SMasahiro Yamada #      define SYS16BIT
190221b1638SMasahiro Yamada #    endif
191221b1638SMasahiro Yamada #  endif
192221b1638SMasahiro Yamada #endif
193221b1638SMasahiro Yamada 
194221b1638SMasahiro Yamada /*
195221b1638SMasahiro Yamada  * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
196221b1638SMasahiro Yamada  * than 64k bytes at a time (needed on systems with 16-bit int).
197221b1638SMasahiro Yamada  */
198221b1638SMasahiro Yamada #ifdef SYS16BIT
199221b1638SMasahiro Yamada #  define MAXSEG_64K
200221b1638SMasahiro Yamada #endif
201221b1638SMasahiro Yamada #ifdef MSDOS
202221b1638SMasahiro Yamada #  define UNALIGNED_OK
203221b1638SMasahiro Yamada #endif
204221b1638SMasahiro Yamada 
205221b1638SMasahiro Yamada #ifdef __STDC_VERSION__
206221b1638SMasahiro Yamada #  ifndef STDC
207221b1638SMasahiro Yamada #    define STDC
208221b1638SMasahiro Yamada #  endif
209221b1638SMasahiro Yamada #  if __STDC_VERSION__ >= 199901L
210221b1638SMasahiro Yamada #    ifndef STDC99
211221b1638SMasahiro Yamada #      define STDC99
212221b1638SMasahiro Yamada #    endif
213221b1638SMasahiro Yamada #  endif
214221b1638SMasahiro Yamada #endif
215221b1638SMasahiro Yamada #if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
216221b1638SMasahiro Yamada #  define STDC
217221b1638SMasahiro Yamada #endif
218221b1638SMasahiro Yamada #if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
219221b1638SMasahiro Yamada #  define STDC
220221b1638SMasahiro Yamada #endif
221221b1638SMasahiro Yamada #if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
222221b1638SMasahiro Yamada #  define STDC
223221b1638SMasahiro Yamada #endif
224221b1638SMasahiro Yamada #if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
225221b1638SMasahiro Yamada #  define STDC
226221b1638SMasahiro Yamada #endif
227221b1638SMasahiro Yamada 
228221b1638SMasahiro Yamada #if defined(__OS400__) && !defined(STDC)    /* iSeries (formerly AS/400). */
229221b1638SMasahiro Yamada #  define STDC
230221b1638SMasahiro Yamada #endif
231221b1638SMasahiro Yamada 
232221b1638SMasahiro Yamada #ifndef STDC
233221b1638SMasahiro Yamada #  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
234221b1638SMasahiro Yamada #    define const       /* note: need a more gentle solution here */
235221b1638SMasahiro Yamada #  endif
236221b1638SMasahiro Yamada #endif
237221b1638SMasahiro Yamada 
238*a8c877cbSChris Kay #ifndef z_const
239*a8c877cbSChris Kay #  ifdef ZLIB_CONST
240221b1638SMasahiro Yamada #    define z_const const
241221b1638SMasahiro Yamada #  else
242221b1638SMasahiro Yamada #    define z_const
243221b1638SMasahiro Yamada #  endif
244*a8c877cbSChris Kay #endif
245221b1638SMasahiro Yamada 
246221b1638SMasahiro Yamada #ifdef Z_SOLO
247fd39217aSManish Pandey #  ifdef _WIN64
248fd39217aSManish Pandey      typedef unsigned long long z_size_t;
249fd39217aSManish Pandey #  else
250221b1638SMasahiro Yamada      typedef unsigned long z_size_t;
251fd39217aSManish Pandey #  endif
252221b1638SMasahiro Yamada #else
253221b1638SMasahiro Yamada #  define z_longlong long long
254221b1638SMasahiro Yamada #  if defined(NO_SIZE_T)
255221b1638SMasahiro Yamada      typedef unsigned NO_SIZE_T z_size_t;
256221b1638SMasahiro Yamada #  elif defined(STDC)
257221b1638SMasahiro Yamada #    include <stddef.h>
258221b1638SMasahiro Yamada      typedef size_t z_size_t;
259221b1638SMasahiro Yamada #  else
260221b1638SMasahiro Yamada      typedef unsigned long z_size_t;
261221b1638SMasahiro Yamada #  endif
262221b1638SMasahiro Yamada #  undef z_longlong
263221b1638SMasahiro Yamada #endif
264221b1638SMasahiro Yamada 
265221b1638SMasahiro Yamada /* Maximum value for memLevel in deflateInit2 */
266221b1638SMasahiro Yamada #ifndef MAX_MEM_LEVEL
267221b1638SMasahiro Yamada #  ifdef MAXSEG_64K
268221b1638SMasahiro Yamada #    define MAX_MEM_LEVEL 8
269221b1638SMasahiro Yamada #  else
270221b1638SMasahiro Yamada #    define MAX_MEM_LEVEL 9
271221b1638SMasahiro Yamada #  endif
272221b1638SMasahiro Yamada #endif
273221b1638SMasahiro Yamada 
274221b1638SMasahiro Yamada /* Maximum value for windowBits in deflateInit2 and inflateInit2.
275221b1638SMasahiro Yamada  * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
276221b1638SMasahiro Yamada  * created by gzip. (Files created by minigzip can still be extracted by
277221b1638SMasahiro Yamada  * gzip.)
278221b1638SMasahiro Yamada  */
279221b1638SMasahiro Yamada #ifndef MAX_WBITS
280221b1638SMasahiro Yamada #  define MAX_WBITS   15 /* 32K LZ77 window */
281221b1638SMasahiro Yamada #endif
282221b1638SMasahiro Yamada 
283221b1638SMasahiro Yamada /* The memory requirements for deflate are (in bytes):
284221b1638SMasahiro Yamada             (1 << (windowBits+2)) +  (1 << (memLevel+9))
285221b1638SMasahiro Yamada  that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
286221b1638SMasahiro Yamada  plus a few kilobytes for small objects. For example, if you want to reduce
287221b1638SMasahiro Yamada  the default memory requirements from 256K to 128K, compile with
288221b1638SMasahiro Yamada      make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
289221b1638SMasahiro Yamada  Of course this will generally degrade compression (there's no free lunch).
290221b1638SMasahiro Yamada 
291221b1638SMasahiro Yamada    The memory requirements for inflate are (in bytes) 1 << windowBits
292221b1638SMasahiro Yamada  that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
293221b1638SMasahiro Yamada  for small objects.
294221b1638SMasahiro Yamada */
295221b1638SMasahiro Yamada 
296221b1638SMasahiro Yamada                         /* Type declarations */
297221b1638SMasahiro Yamada 
298221b1638SMasahiro Yamada #ifndef OF /* function prototypes */
299221b1638SMasahiro Yamada #  ifdef STDC
300221b1638SMasahiro Yamada #    define OF(args)  args
301221b1638SMasahiro Yamada #  else
302221b1638SMasahiro Yamada #    define OF(args)  ()
303221b1638SMasahiro Yamada #  endif
304221b1638SMasahiro Yamada #endif
305221b1638SMasahiro Yamada 
306221b1638SMasahiro Yamada /* The following definitions for FAR are needed only for MSDOS mixed
307221b1638SMasahiro Yamada  * model programming (small or medium model with some far allocations).
308221b1638SMasahiro Yamada  * This was tested only with MSC; for other MSDOS compilers you may have
309221b1638SMasahiro Yamada  * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
310221b1638SMasahiro Yamada  * just define FAR to be empty.
311221b1638SMasahiro Yamada  */
312221b1638SMasahiro Yamada #ifdef SYS16BIT
313221b1638SMasahiro Yamada #  if defined(M_I86SM) || defined(M_I86MM)
314221b1638SMasahiro Yamada      /* MSC small or medium model */
315221b1638SMasahiro Yamada #    define SMALL_MEDIUM
316221b1638SMasahiro Yamada #    ifdef _MSC_VER
317221b1638SMasahiro Yamada #      define FAR _far
318221b1638SMasahiro Yamada #    else
319221b1638SMasahiro Yamada #      define FAR far
320221b1638SMasahiro Yamada #    endif
321221b1638SMasahiro Yamada #  endif
322221b1638SMasahiro Yamada #  if (defined(__SMALL__) || defined(__MEDIUM__))
323221b1638SMasahiro Yamada      /* Turbo C small or medium model */
324221b1638SMasahiro Yamada #    define SMALL_MEDIUM
325221b1638SMasahiro Yamada #    ifdef __BORLANDC__
326221b1638SMasahiro Yamada #      define FAR _far
327221b1638SMasahiro Yamada #    else
328221b1638SMasahiro Yamada #      define FAR far
329221b1638SMasahiro Yamada #    endif
330221b1638SMasahiro Yamada #  endif
331221b1638SMasahiro Yamada #endif
332221b1638SMasahiro Yamada 
333221b1638SMasahiro Yamada #if defined(WINDOWS) || defined(WIN32)
334221b1638SMasahiro Yamada    /* If building or using zlib as a DLL, define ZLIB_DLL.
335221b1638SMasahiro Yamada     * This is not mandatory, but it offers a little performance increase.
336221b1638SMasahiro Yamada     */
337221b1638SMasahiro Yamada #  ifdef ZLIB_DLL
338221b1638SMasahiro Yamada #    if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
339221b1638SMasahiro Yamada #      ifdef ZLIB_INTERNAL
340221b1638SMasahiro Yamada #        define ZEXTERN extern __declspec(dllexport)
341221b1638SMasahiro Yamada #      else
342221b1638SMasahiro Yamada #        define ZEXTERN extern __declspec(dllimport)
343221b1638SMasahiro Yamada #      endif
344221b1638SMasahiro Yamada #    endif
345221b1638SMasahiro Yamada #  endif  /* ZLIB_DLL */
346221b1638SMasahiro Yamada    /* If building or using zlib with the WINAPI/WINAPIV calling convention,
347221b1638SMasahiro Yamada     * define ZLIB_WINAPI.
348221b1638SMasahiro Yamada     * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
349221b1638SMasahiro Yamada     */
350221b1638SMasahiro Yamada #  ifdef ZLIB_WINAPI
351221b1638SMasahiro Yamada #    ifdef FAR
352221b1638SMasahiro Yamada #      undef FAR
353221b1638SMasahiro Yamada #    endif
354a194255dSDaniel Boulby #    ifndef WIN32_LEAN_AND_MEAN
355a194255dSDaniel Boulby #      define WIN32_LEAN_AND_MEAN
356a194255dSDaniel Boulby #    endif
357221b1638SMasahiro Yamada #    include <windows.h>
358221b1638SMasahiro Yamada      /* No need for _export, use ZLIB.DEF instead. */
359221b1638SMasahiro Yamada      /* For complete Windows compatibility, use WINAPI, not __stdcall. */
360221b1638SMasahiro Yamada #    define ZEXPORT WINAPI
361221b1638SMasahiro Yamada #    ifdef WIN32
362221b1638SMasahiro Yamada #      define ZEXPORTVA WINAPIV
363221b1638SMasahiro Yamada #    else
364221b1638SMasahiro Yamada #      define ZEXPORTVA FAR CDECL
365221b1638SMasahiro Yamada #    endif
366221b1638SMasahiro Yamada #  endif
367221b1638SMasahiro Yamada #endif
368221b1638SMasahiro Yamada 
369221b1638SMasahiro Yamada #if defined (__BEOS__)
370221b1638SMasahiro Yamada #  ifdef ZLIB_DLL
371221b1638SMasahiro Yamada #    ifdef ZLIB_INTERNAL
372221b1638SMasahiro Yamada #      define ZEXPORT   __declspec(dllexport)
373221b1638SMasahiro Yamada #      define ZEXPORTVA __declspec(dllexport)
374221b1638SMasahiro Yamada #    else
375221b1638SMasahiro Yamada #      define ZEXPORT   __declspec(dllimport)
376221b1638SMasahiro Yamada #      define ZEXPORTVA __declspec(dllimport)
377221b1638SMasahiro Yamada #    endif
378221b1638SMasahiro Yamada #  endif
379221b1638SMasahiro Yamada #endif
380221b1638SMasahiro Yamada 
381221b1638SMasahiro Yamada #ifndef ZEXTERN
382221b1638SMasahiro Yamada #  define ZEXTERN extern
383221b1638SMasahiro Yamada #endif
384221b1638SMasahiro Yamada #ifndef ZEXPORT
385221b1638SMasahiro Yamada #  define ZEXPORT
386221b1638SMasahiro Yamada #endif
387221b1638SMasahiro Yamada #ifndef ZEXPORTVA
388221b1638SMasahiro Yamada #  define ZEXPORTVA
389221b1638SMasahiro Yamada #endif
390221b1638SMasahiro Yamada 
391221b1638SMasahiro Yamada #ifndef FAR
392221b1638SMasahiro Yamada #  define FAR
393221b1638SMasahiro Yamada #endif
394221b1638SMasahiro Yamada 
395221b1638SMasahiro Yamada #if !defined(__MACTYPES__)
396221b1638SMasahiro Yamada typedef unsigned char  Byte;  /* 8 bits */
397221b1638SMasahiro Yamada #endif
398221b1638SMasahiro Yamada typedef unsigned int   uInt;  /* 16 bits or more */
399221b1638SMasahiro Yamada typedef unsigned long  uLong; /* 32 bits or more */
400221b1638SMasahiro Yamada 
401221b1638SMasahiro Yamada #ifdef SMALL_MEDIUM
402221b1638SMasahiro Yamada    /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
403221b1638SMasahiro Yamada #  define Bytef Byte FAR
404221b1638SMasahiro Yamada #else
405221b1638SMasahiro Yamada    typedef Byte  FAR Bytef;
406221b1638SMasahiro Yamada #endif
407221b1638SMasahiro Yamada typedef char  FAR charf;
408221b1638SMasahiro Yamada typedef int   FAR intf;
409221b1638SMasahiro Yamada typedef uInt  FAR uIntf;
410221b1638SMasahiro Yamada typedef uLong FAR uLongf;
411221b1638SMasahiro Yamada 
412221b1638SMasahiro Yamada #ifdef STDC
413221b1638SMasahiro Yamada    typedef void const *voidpc;
414221b1638SMasahiro Yamada    typedef void FAR   *voidpf;
415221b1638SMasahiro Yamada    typedef void       *voidp;
416221b1638SMasahiro Yamada #else
417221b1638SMasahiro Yamada    typedef Byte const *voidpc;
418221b1638SMasahiro Yamada    typedef Byte FAR   *voidpf;
419221b1638SMasahiro Yamada    typedef Byte       *voidp;
420221b1638SMasahiro Yamada #endif
421221b1638SMasahiro Yamada 
422221b1638SMasahiro Yamada #if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
423221b1638SMasahiro Yamada #  include <limits.h>
424221b1638SMasahiro Yamada #  if (UINT_MAX == 0xffffffffUL)
425221b1638SMasahiro Yamada #    define Z_U4 unsigned
426221b1638SMasahiro Yamada #  elif (ULONG_MAX == 0xffffffffUL)
427221b1638SMasahiro Yamada #    define Z_U4 unsigned long
428221b1638SMasahiro Yamada #  elif (USHRT_MAX == 0xffffffffUL)
429221b1638SMasahiro Yamada #    define Z_U4 unsigned short
430221b1638SMasahiro Yamada #  endif
431221b1638SMasahiro Yamada #endif
432221b1638SMasahiro Yamada 
433221b1638SMasahiro Yamada #ifdef Z_U4
434221b1638SMasahiro Yamada    typedef Z_U4 z_crc_t;
435221b1638SMasahiro Yamada #else
436221b1638SMasahiro Yamada    typedef unsigned long z_crc_t;
437221b1638SMasahiro Yamada #endif
438221b1638SMasahiro Yamada 
439*a8c877cbSChris Kay #if HAVE_UNISTD_H-0     /* may be set to #if 1 by ./configure */
440221b1638SMasahiro Yamada #  define Z_HAVE_UNISTD_H
441221b1638SMasahiro Yamada #endif
442221b1638SMasahiro Yamada 
443*a8c877cbSChris Kay #if HAVE_STDARG_H-0     /* may be set to #if 1 by ./configure */
444221b1638SMasahiro Yamada #  define Z_HAVE_STDARG_H
445221b1638SMasahiro Yamada #endif
446221b1638SMasahiro Yamada 
447221b1638SMasahiro Yamada #ifdef STDC
448221b1638SMasahiro Yamada #  ifndef Z_SOLO
449221b1638SMasahiro Yamada #    include <sys/types.h>      /* for off_t */
450221b1638SMasahiro Yamada #  endif
451221b1638SMasahiro Yamada #endif
452221b1638SMasahiro Yamada 
453221b1638SMasahiro Yamada #if defined(STDC) || defined(Z_HAVE_STDARG_H)
454221b1638SMasahiro Yamada #  ifndef Z_SOLO
455221b1638SMasahiro Yamada #    include <stdarg.h>         /* for va_list */
456221b1638SMasahiro Yamada #  endif
457221b1638SMasahiro Yamada #endif
458221b1638SMasahiro Yamada 
459221b1638SMasahiro Yamada #ifdef _WIN32
460221b1638SMasahiro Yamada #  ifndef Z_SOLO
461221b1638SMasahiro Yamada #    include <stddef.h>         /* for wchar_t */
462221b1638SMasahiro Yamada #  endif
463221b1638SMasahiro Yamada #endif
464221b1638SMasahiro Yamada 
465221b1638SMasahiro Yamada /* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
466221b1638SMasahiro Yamada  * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
467221b1638SMasahiro Yamada  * though the former does not conform to the LFS document), but considering
468221b1638SMasahiro Yamada  * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
469221b1638SMasahiro Yamada  * equivalently requesting no 64-bit operations
470221b1638SMasahiro Yamada  */
471221b1638SMasahiro Yamada #if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
472221b1638SMasahiro Yamada #  undef _LARGEFILE64_SOURCE
473221b1638SMasahiro Yamada #endif
474221b1638SMasahiro Yamada 
475a194255dSDaniel Boulby #ifndef Z_HAVE_UNISTD_H
476*a8c877cbSChris Kay #  if defined(__WATCOMC__) || defined(__GO32__) || \
477*a8c877cbSChris Kay       (defined(_LARGEFILE64_SOURCE) && !defined(_WIN32))
478a194255dSDaniel Boulby #    define Z_HAVE_UNISTD_H
479a194255dSDaniel Boulby #  endif
480a194255dSDaniel Boulby #endif
481221b1638SMasahiro Yamada #ifndef Z_SOLO
482a194255dSDaniel Boulby #  if defined(Z_HAVE_UNISTD_H)
483221b1638SMasahiro Yamada #    include <unistd.h>         /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
484221b1638SMasahiro Yamada #    ifdef VMS
485221b1638SMasahiro Yamada #      include <unixio.h>       /* for off_t */
486221b1638SMasahiro Yamada #    endif
487221b1638SMasahiro Yamada #    ifndef z_off_t
488221b1638SMasahiro Yamada #      define z_off_t off_t
489221b1638SMasahiro Yamada #    endif
490221b1638SMasahiro Yamada #  endif
491221b1638SMasahiro Yamada #endif
492221b1638SMasahiro Yamada 
493221b1638SMasahiro Yamada #if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
494221b1638SMasahiro Yamada #  define Z_LFS64
495221b1638SMasahiro Yamada #endif
496221b1638SMasahiro Yamada 
497221b1638SMasahiro Yamada #if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
498221b1638SMasahiro Yamada #  define Z_LARGE64
499221b1638SMasahiro Yamada #endif
500221b1638SMasahiro Yamada 
501221b1638SMasahiro Yamada #if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
502221b1638SMasahiro Yamada #  define Z_WANT64
503221b1638SMasahiro Yamada #endif
504221b1638SMasahiro Yamada 
505221b1638SMasahiro Yamada #if !defined(SEEK_SET) && !defined(Z_SOLO)
506221b1638SMasahiro Yamada #  define SEEK_SET        0       /* Seek from beginning of file.  */
507221b1638SMasahiro Yamada #  define SEEK_CUR        1       /* Seek from current position.  */
508221b1638SMasahiro Yamada #  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
509221b1638SMasahiro Yamada #endif
510221b1638SMasahiro Yamada 
511221b1638SMasahiro Yamada #ifndef z_off_t
512*a8c877cbSChris Kay #  define z_off_t long long
513221b1638SMasahiro Yamada #endif
514221b1638SMasahiro Yamada 
515221b1638SMasahiro Yamada #if !defined(_WIN32) && defined(Z_LARGE64)
516221b1638SMasahiro Yamada #  define z_off64_t off64_t
517*a8c877cbSChris Kay #elif defined(__MINGW32__)
518*a8c877cbSChris Kay #  define z_off64_t long long
519*a8c877cbSChris Kay #elif defined(_WIN32) && !defined(__GNUC__)
520221b1638SMasahiro Yamada #  define z_off64_t __int64
521*a8c877cbSChris Kay #elif defined(__GO32__)
522*a8c877cbSChris Kay #  define z_off64_t offset_t
523221b1638SMasahiro Yamada #else
524221b1638SMasahiro Yamada #  define z_off64_t z_off_t
525221b1638SMasahiro Yamada #endif
526221b1638SMasahiro Yamada 
527221b1638SMasahiro Yamada /* MVS linker does not support external names larger than 8 bytes */
528221b1638SMasahiro Yamada #if defined(__MVS__)
529221b1638SMasahiro Yamada   #pragma map(deflateInit_,"DEIN")
530221b1638SMasahiro Yamada   #pragma map(deflateInit2_,"DEIN2")
531221b1638SMasahiro Yamada   #pragma map(deflateEnd,"DEEND")
532221b1638SMasahiro Yamada   #pragma map(deflateBound,"DEBND")
533221b1638SMasahiro Yamada   #pragma map(inflateInit_,"ININ")
534221b1638SMasahiro Yamada   #pragma map(inflateInit2_,"ININ2")
535221b1638SMasahiro Yamada   #pragma map(inflateEnd,"INEND")
536221b1638SMasahiro Yamada   #pragma map(inflateSync,"INSY")
537221b1638SMasahiro Yamada   #pragma map(inflateSetDictionary,"INSEDI")
538221b1638SMasahiro Yamada   #pragma map(compressBound,"CMBND")
539221b1638SMasahiro Yamada   #pragma map(inflate_table,"INTABL")
540221b1638SMasahiro Yamada   #pragma map(inflate_fast,"INFA")
541221b1638SMasahiro Yamada   #pragma map(inflate_copyright,"INCOPY")
542221b1638SMasahiro Yamada #endif
543221b1638SMasahiro Yamada 
544221b1638SMasahiro Yamada #endif /* ZCONF_H */
545