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