This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Compress-Raw-Zlib to v2.204
[perl5.git] / cpan / Compress-Raw-Zlib / zlib-src / zconf.h
CommitLineData
25f0751f 1/* zconf.h -- configuration of the zlib compression library
6b93e4bc 2 * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler
25f0751f
PM
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.
f02c02ec
CBW
14 * Even better than compiling with -DZ_PREFIX would be to use configure to set
15 * this permanently in zconf.h using "./configure --zprefix".
25f0751f 16 */
f02c02ec 17#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
7c8257d9 18# define Z_PREFIX_SET
f02c02ec 19
6b93e4bc 20/* all linked symbols and init macros */
c8326bfe
TR
21# define _dist_code Perl_crz__dist_code
22# define _length_code Perl_crz__length_code
23# define _tr_align Perl_crz__tr_align
24# define _tr_flush_bits Perl_crz__tr_flush_bits
25# define _tr_flush_block Perl_crz__tr_flush_block
26# define _tr_init Perl_crz__tr_init
27# define _tr_stored_block Perl_crz__tr_stored_block
28# define _tr_tally Perl_crz__tr_tally
29# define adler32 Perl_crz_adler32
30# define adler32_combine Perl_crz_adler32_combine
31# define adler32_combine64 Perl_crz_adler32_combine64
32# define adler32_z Perl_crz_adler32_z
7c8257d9
CBW
33# ifndef Z_SOLO
34# define compress z_compress
35# define compress2 z_compress2
36# define compressBound z_compressBound
37# endif
c8326bfe
TR
38# define crc32 Perl_crz_crc32
39# define crc32_combine Perl_crz_crc32_combine
40# define crc32_combine64 Perl_crz_crc32_combine64
41# define crc32_z Perl_crz_crc32_z
42# define deflate Perl_crz_deflate
43# define deflateBound Perl_crz_deflateBound
44# define deflateCopy Perl_crz_deflateCopy
45# define deflateEnd Perl_crz_deflateEnd
46# define deflateGetDictionary Perl_crz_deflateGetDictionary
47# define deflateInit Perl_crz_deflateInit
48# define deflateInit2 Perl_crz_deflateInit2
49# define deflateInit2_ Perl_crz_deflateInit2_
50# define deflateInit_ Perl_crz_deflateInit_
51# define deflateParams Perl_crz_deflateParams
52# define deflatePending Perl_crz_deflatePending
53# define deflatePrime Perl_crz_deflatePrime
54# define deflateReset Perl_crz_deflateReset
55# define deflateResetKeep Perl_crz_deflateResetKeep
56# define deflateSetDictionary Perl_crz_deflateSetDictionary
57# define deflateSetHeader Perl_crz_deflateSetHeader
58# define deflateTune Perl_crz_deflateTune
59# define deflate_copyright Perl_crz_deflate_copyright
60# define get_crc_table Perl_crz_get_crc_table
7c8257d9
CBW
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
6b93e4bc
PM
75# define gzfread z_gzfread
76# define gzfwrite z_gzfwrite
7c8257d9
CBW
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
6b93e4bc 98# define gzvprintf z_gzvprintf
7c8257d9
CBW
99# define gzwrite z_gzwrite
100# endif
c8326bfe
TR
101# define inflate Perl_crz_inflate
102# define inflateBack Perl_crz_inflateBack
103# define inflateBackEnd Perl_crz_inflateBackEnd
104# define inflateBackInit Perl_crz_inflateBackInit
105# define inflateBackInit_ Perl_crz_inflateBackInit_
106# define inflateCodesUsed Perl_crz_inflateCodesUsed
107# define inflateCopy Perl_crz_inflateCopy
108# define inflateEnd Perl_crz_inflateEnd
109# define inflateGetDictionary Perl_crz_inflateGetDictionary
110# define inflateGetHeader Perl_crz_inflateGetHeader
111# define inflateInit Perl_crz_inflateInit
112# define inflateInit2 Perl_crz_inflateInit2
113# define inflateInit2_ Perl_crz_inflateInit2_
114# define inflateInit_ Perl_crz_inflateInit_
115# define inflateMark Perl_crz_inflateMark
116# define inflatePrime Perl_crz_inflatePrime
117# define inflateReset Perl_crz_inflateReset
118# define inflateReset2 Perl_crz_inflateReset2
119# define inflateResetKeep Perl_crz_inflateResetKeep
120# define inflateSetDictionary Perl_crz_inflateSetDictionary
121# define inflateSync Perl_crz_inflateSync
122# define inflateSyncPoint Perl_crz_inflateSyncPoint
123# define inflateUndermine Perl_crz_inflateUndermine
124# define inflateValidate Perl_crz_inflateValidate
125# define inflate_copyright Perl_crz_inflate_copyright
126# define inflate_fast Perl_crz_inflate_fast
127# define inflate_table Perl_crz_inflate_table
7c8257d9
CBW
128# ifndef Z_SOLO
129# define uncompress z_uncompress
6b93e4bc 130# define uncompress2 z_uncompress2
7c8257d9 131# endif
c8326bfe 132# define zError Perl_crz_zError
7c8257d9
CBW
133# ifndef Z_SOLO
134# define zcalloc z_zcalloc
135# define zcfree z_zcfree
136# endif
c8326bfe
TR
137# define zlibCompileFlags Perl_crz_zlibCompileFlags
138# define zlibVersion Perl_crz_zlibVersion
25f0751f 139
f02c02ec 140/* all zlib typedefs in zlib.h and zconf.h */
c8326bfe
TR
141# define Byte Perl_crz_Byte
142# define Bytef Perl_crz_Bytef
143# define alloc_func Perl_crz_alloc_func
144# define charf Perl_crz_charf
145# define free_func Perl_crz_free_func
7c8257d9
CBW
146# ifndef Z_SOLO
147# define gzFile z_gzFile
148# endif
c8326bfe
TR
149# define gz_header Perl_crz_gz_header
150# define gz_headerp Perl_crz_gz_headerp
151# define in_func Perl_crz_in_func
152# define intf Perl_crz_intf
153# define out_func Perl_crz_out_func
154# define uInt Perl_crz_uInt
155# define uIntf Perl_crz_uIntf
156# define uLong Perl_crz_uLong
157# define uLongf Perl_crz_uLongf
158# define voidp Perl_crz_voidp
159# define voidpc Perl_crz_voidpc
160# define voidpf Perl_crz_voidpf
f02c02ec
CBW
161
162/* all zlib structs in zlib.h and zconf.h */
c8326bfe
TR
163# define gz_header_s Perl_crz_gz_header_s
164# define internal_state Perl_crz_internal_state
f02c02ec 165
25f0751f
PM
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
7c8257d9
CBW
234#if defined(ZLIB_CONST) && !defined(z_const)
235# define z_const const
236#else
237# define z_const
238#endif
239
6b93e4bc
PM
240#ifdef Z_SOLO
241 typedef unsigned long z_size_t;
242#else
243# define z_longlong long long
244# if defined(NO_SIZE_T)
245 typedef unsigned NO_SIZE_T z_size_t;
246# elif defined(STDC)
247# include <stddef.h>
248 typedef size_t z_size_t;
249# else
250 typedef unsigned long z_size_t;
251# endif
252# undef z_longlong
25f0751f
PM
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
6b93e4bc 282 that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
25f0751f
PM
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
7c8257d9
CBW
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
25f0751f
PM
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
a98bbd4e
YO
352# ifndef WIN32_LEAN_AND_MEAN
353# define WIN32_LEAN_AND_MEAN
354# endif
25f0751f
PM
355# include <windows.h>
356 /* No need for _export, use ZLIB.DEF instead. */
357 /* For complete Windows compatibility, use WINAPI, not __stdcall. */
358# define ZEXPORT WINAPI
359# ifdef WIN32
360# define ZEXPORTVA WINAPIV
361# else
362# define ZEXPORTVA FAR CDECL
363# endif
364# endif
365#endif
366
367#if defined (__BEOS__)
368# ifdef ZLIB_DLL
369# ifdef ZLIB_INTERNAL
370# define ZEXPORT __declspec(dllexport)
371# define ZEXPORTVA __declspec(dllexport)
372# else
373# define ZEXPORT __declspec(dllimport)
374# define ZEXPORTVA __declspec(dllimport)
375# endif
376# endif
377#endif
378
379#ifndef ZEXTERN
380# define ZEXTERN extern
381#endif
382#ifndef ZEXPORT
383# define ZEXPORT
384#endif
385#ifndef ZEXPORTVA
386# define ZEXPORTVA
387#endif
388
389#ifndef FAR
390# define FAR
391#endif
392
393#if !defined(__MACTYPES__)
394typedef unsigned char Byte; /* 8 bits */
395#endif
396typedef unsigned int uInt; /* 16 bits or more */
397typedef unsigned long uLong; /* 32 bits or more */
398
399#ifdef SMALL_MEDIUM
400 /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
401# define Bytef Byte FAR
402#else
403 typedef Byte FAR Bytef;
404#endif
405typedef char FAR charf;
406typedef int FAR intf;
407typedef uInt FAR uIntf;
408typedef uLong FAR uLongf;
409
410#ifdef STDC
411 typedef void const *voidpc;
412 typedef void FAR *voidpf;
413 typedef void *voidp;
414#else
415 typedef Byte const *voidpc;
416 typedef Byte FAR *voidpf;
417 typedef Byte *voidp;
418#endif
419
7c8257d9
CBW
420#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
421# include <limits.h>
422# if (UINT_MAX == 0xffffffffUL)
423# define Z_U4 unsigned
1cae2293
CBW
424# elif (ULONG_MAX == 0xffffffffUL)
425# define Z_U4 unsigned long
426# elif (USHRT_MAX == 0xffffffffUL)
427# define Z_U4 unsigned short
7c8257d9
CBW
428# endif
429#endif
430
431#ifdef Z_U4
432 typedef Z_U4 z_crc_t;
433#else
434 typedef unsigned long z_crc_t;
435#endif
436
f02c02ec
CBW
437#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
438# define Z_HAVE_UNISTD_H
439#endif
440
7c8257d9
CBW
441#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */
442# define Z_HAVE_STDARG_H
443#endif
444
f02c02ec 445#ifdef STDC
7c8257d9
CBW
446# ifndef Z_SOLO
447# include <sys/types.h> /* for off_t */
448# endif
449#endif
450
1cae2293
CBW
451#if defined(STDC) || defined(Z_HAVE_STDARG_H)
452# ifndef Z_SOLO
453# include <stdarg.h> /* for va_list */
454# endif
455#endif
456
7c8257d9
CBW
457#ifdef _WIN32
458# ifndef Z_SOLO
1cae2293 459# include <stddef.h> /* for wchar_t */
7c8257d9 460# endif
f02c02ec
CBW
461#endif
462
463/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
464 * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
465 * though the former does not conform to the LFS document), but considering
466 * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
467 * equivalently requesting no 64-bit operations
468 */
1cae2293 469#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
f02c02ec
CBW
470# undef _LARGEFILE64_SOURCE
471#endif
472
a98bbd4e
YO
473#ifndef Z_HAVE_UNISTD_H
474# ifdef __WATCOMC__
475# define Z_HAVE_UNISTD_H
476# endif
477#endif
478#ifndef Z_HAVE_UNISTD_H
479# if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
480# define Z_HAVE_UNISTD_H
481# endif
7c8257d9
CBW
482#endif
483#ifndef Z_SOLO
a98bbd4e 484# if defined(Z_HAVE_UNISTD_H)
7c8257d9
CBW
485# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
486# ifdef VMS
487# include <unixio.h> /* for off_t */
488# endif
489# ifndef z_off_t
490# define z_off_t off_t
491# endif
25f0751f 492# endif
25f0751f 493#endif
f02c02ec 494
7c8257d9
CBW
495#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
496# define Z_LFS64
497#endif
498
499#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
500# define Z_LARGE64
501#endif
502
503#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
504# define Z_WANT64
505#endif
506
507#if !defined(SEEK_SET) && !defined(Z_SOLO)
25f0751f
PM
508# define SEEK_SET 0 /* Seek from beginning of file. */
509# define SEEK_CUR 1 /* Seek from current position. */
510# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
511#endif
f02c02ec 512
25f0751f
PM
513#ifndef z_off_t
514# define z_off_t long
515#endif
516
7c8257d9 517#if !defined(_WIN32) && defined(Z_LARGE64)
f02c02ec
CBW
518# define z_off64_t off64_t
519#else
7c8257d9
CBW
520# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
521# define z_off64_t __int64
522# else
523# define z_off64_t z_off_t
524# endif
25f0751f
PM
525#endif
526
527/* MVS linker does not support external names larger than 8 bytes */
528#if defined(__MVS__)
f02c02ec
CBW
529 #pragma map(deflateInit_,"DEIN")
530 #pragma map(deflateInit2_,"DEIN2")
531 #pragma map(deflateEnd,"DEEND")
532 #pragma map(deflateBound,"DEBND")
533 #pragma map(inflateInit_,"ININ")
534 #pragma map(inflateInit2_,"ININ2")
535 #pragma map(inflateEnd,"INEND")
536 #pragma map(inflateSync,"INSY")
537 #pragma map(inflateSetDictionary,"INSEDI")
538 #pragma map(compressBound,"CMBND")
539 #pragma map(inflate_table,"INTABL")
540 #pragma map(inflate_fast,"INFA")
541 #pragma map(inflate_copyright,"INCOPY")
25f0751f
PM
542#endif
543
544#endif /* ZCONF_H */