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