xref: /plan9/sys/src/cmd/gs/zlib/zconf.in.h (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
1*593dc095SDavid du Colombier /* zconf.h -- configuration of the zlib compression library
2*593dc095SDavid du Colombier  * Copyright (C) 1995-2004 Jean-loup Gailly.
3*593dc095SDavid du Colombier  * For conditions of distribution and use, see copyright notice in zlib.h
4*593dc095SDavid du Colombier  */
5*593dc095SDavid du Colombier 
6*593dc095SDavid du Colombier /* @(#) $Id: zconf.in.h,v 1.1.1.1 2005/04/24 21:39:37 giles Exp $ */
7*593dc095SDavid du Colombier 
8*593dc095SDavid du Colombier #ifndef ZCONF_H
9*593dc095SDavid du Colombier #define ZCONF_H
10*593dc095SDavid du Colombier 
11*593dc095SDavid du Colombier /*
12*593dc095SDavid du Colombier  * If you *really* need a unique prefix for all types and library functions,
13*593dc095SDavid du Colombier  * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
14*593dc095SDavid du Colombier  */
15*593dc095SDavid du Colombier #ifdef Z_PREFIX
16*593dc095SDavid du Colombier #  define deflateInit_          z_deflateInit_
17*593dc095SDavid du Colombier #  define deflate               z_deflate
18*593dc095SDavid du Colombier #  define deflateEnd            z_deflateEnd
19*593dc095SDavid du Colombier #  define inflateInit_          z_inflateInit_
20*593dc095SDavid du Colombier #  define inflate               z_inflate
21*593dc095SDavid du Colombier #  define inflateEnd            z_inflateEnd
22*593dc095SDavid du Colombier #  define deflateInit2_         z_deflateInit2_
23*593dc095SDavid du Colombier #  define deflateSetDictionary  z_deflateSetDictionary
24*593dc095SDavid du Colombier #  define deflateCopy           z_deflateCopy
25*593dc095SDavid du Colombier #  define deflateReset          z_deflateReset
26*593dc095SDavid du Colombier #  define deflateParams         z_deflateParams
27*593dc095SDavid du Colombier #  define deflateBound          z_deflateBound
28*593dc095SDavid du Colombier #  define deflatePrime          z_deflatePrime
29*593dc095SDavid du Colombier #  define inflateInit2_         z_inflateInit2_
30*593dc095SDavid du Colombier #  define inflateSetDictionary  z_inflateSetDictionary
31*593dc095SDavid du Colombier #  define inflateSync           z_inflateSync
32*593dc095SDavid du Colombier #  define inflateSyncPoint      z_inflateSyncPoint
33*593dc095SDavid du Colombier #  define inflateCopy           z_inflateCopy
34*593dc095SDavid du Colombier #  define inflateReset          z_inflateReset
35*593dc095SDavid du Colombier #  define inflateBack           z_inflateBack
36*593dc095SDavid du Colombier #  define inflateBackEnd        z_inflateBackEnd
37*593dc095SDavid du Colombier #  define compress              z_compress
38*593dc095SDavid du Colombier #  define compress2             z_compress2
39*593dc095SDavid du Colombier #  define compressBound         z_compressBound
40*593dc095SDavid du Colombier #  define uncompress            z_uncompress
41*593dc095SDavid du Colombier #  define adler32               z_adler32
42*593dc095SDavid du Colombier #  define crc32                 z_crc32
43*593dc095SDavid du Colombier #  define get_crc_table         z_get_crc_table
44*593dc095SDavid du Colombier #  define zError                z_zError
45*593dc095SDavid du Colombier 
46*593dc095SDavid du Colombier #  define Byte                  z_Byte
47*593dc095SDavid du Colombier #  define uInt                  z_uInt
48*593dc095SDavid du Colombier #  define uLong                 z_uLong
49*593dc095SDavid du Colombier #  define Bytef                 z_Bytef
50*593dc095SDavid du Colombier #  define charf                 z_charf
51*593dc095SDavid du Colombier #  define intf                  z_intf
52*593dc095SDavid du Colombier #  define uIntf                 z_uIntf
53*593dc095SDavid du Colombier #  define uLongf                z_uLongf
54*593dc095SDavid du Colombier #  define voidpf                z_voidpf
55*593dc095SDavid du Colombier #  define voidp                 z_voidp
56*593dc095SDavid du Colombier #endif
57*593dc095SDavid du Colombier 
58*593dc095SDavid du Colombier #if defined(__MSDOS__) && !defined(MSDOS)
59*593dc095SDavid du Colombier #  define MSDOS
60*593dc095SDavid du Colombier #endif
61*593dc095SDavid du Colombier #if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
62*593dc095SDavid du Colombier #  define OS2
63*593dc095SDavid du Colombier #endif
64*593dc095SDavid du Colombier #if defined(_WINDOWS) && !defined(WINDOWS)
65*593dc095SDavid du Colombier #  define WINDOWS
66*593dc095SDavid du Colombier #endif
67*593dc095SDavid du Colombier #if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
68*593dc095SDavid du Colombier #  define WIN32
69*593dc095SDavid du Colombier #endif
70*593dc095SDavid du Colombier #if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
71*593dc095SDavid du Colombier #  if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
72*593dc095SDavid du Colombier #    ifndef SYS16BIT
73*593dc095SDavid du Colombier #      define SYS16BIT
74*593dc095SDavid du Colombier #    endif
75*593dc095SDavid du Colombier #  endif
76*593dc095SDavid du Colombier #endif
77*593dc095SDavid du Colombier 
78*593dc095SDavid du Colombier /*
79*593dc095SDavid du Colombier  * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
80*593dc095SDavid du Colombier  * than 64k bytes at a time (needed on systems with 16-bit int).
81*593dc095SDavid du Colombier  */
82*593dc095SDavid du Colombier #ifdef SYS16BIT
83*593dc095SDavid du Colombier #  define MAXSEG_64K
84*593dc095SDavid du Colombier #endif
85*593dc095SDavid du Colombier #ifdef MSDOS
86*593dc095SDavid du Colombier #  define UNALIGNED_OK
87*593dc095SDavid du Colombier #endif
88*593dc095SDavid du Colombier 
89*593dc095SDavid du Colombier #ifdef __STDC_VERSION__
90*593dc095SDavid du Colombier #  ifndef STDC
91*593dc095SDavid du Colombier #    define STDC
92*593dc095SDavid du Colombier #  endif
93*593dc095SDavid du Colombier #  if __STDC_VERSION__ >= 199901L
94*593dc095SDavid du Colombier #    ifndef STDC99
95*593dc095SDavid du Colombier #      define STDC99
96*593dc095SDavid du Colombier #    endif
97*593dc095SDavid du Colombier #  endif
98*593dc095SDavid du Colombier #endif
99*593dc095SDavid du Colombier #if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
100*593dc095SDavid du Colombier #  define STDC
101*593dc095SDavid du Colombier #endif
102*593dc095SDavid du Colombier #if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
103*593dc095SDavid du Colombier #  define STDC
104*593dc095SDavid du Colombier #endif
105*593dc095SDavid du Colombier #if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
106*593dc095SDavid du Colombier #  define STDC
107*593dc095SDavid du Colombier #endif
108*593dc095SDavid du Colombier #if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
109*593dc095SDavid du Colombier #  define STDC
110*593dc095SDavid du Colombier #endif
111*593dc095SDavid du Colombier 
112*593dc095SDavid du Colombier #if defined(__OS400__) && !defined(STDC)    /* iSeries (formerly AS/400). */
113*593dc095SDavid du Colombier #  define STDC
114*593dc095SDavid du Colombier #endif
115*593dc095SDavid du Colombier 
116*593dc095SDavid du Colombier #ifndef STDC
117*593dc095SDavid du Colombier #  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
118*593dc095SDavid du Colombier #    define const       /* note: need a more gentle solution here */
119*593dc095SDavid du Colombier #  endif
120*593dc095SDavid du Colombier #endif
121*593dc095SDavid du Colombier 
122*593dc095SDavid du Colombier /* Some Mac compilers merge all .h files incorrectly: */
123*593dc095SDavid du Colombier #if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
124*593dc095SDavid du Colombier #  define NO_DUMMY_DECL
125*593dc095SDavid du Colombier #endif
126*593dc095SDavid du Colombier 
127*593dc095SDavid du Colombier /* Maximum value for memLevel in deflateInit2 */
128*593dc095SDavid du Colombier #ifndef MAX_MEM_LEVEL
129*593dc095SDavid du Colombier #  ifdef MAXSEG_64K
130*593dc095SDavid du Colombier #    define MAX_MEM_LEVEL 8
131*593dc095SDavid du Colombier #  else
132*593dc095SDavid du Colombier #    define MAX_MEM_LEVEL 9
133*593dc095SDavid du Colombier #  endif
134*593dc095SDavid du Colombier #endif
135*593dc095SDavid du Colombier 
136*593dc095SDavid du Colombier /* Maximum value for windowBits in deflateInit2 and inflateInit2.
137*593dc095SDavid du Colombier  * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
138*593dc095SDavid du Colombier  * created by gzip. (Files created by minigzip can still be extracted by
139*593dc095SDavid du Colombier  * gzip.)
140*593dc095SDavid du Colombier  */
141*593dc095SDavid du Colombier #ifndef MAX_WBITS
142*593dc095SDavid du Colombier #  define MAX_WBITS   15 /* 32K LZ77 window */
143*593dc095SDavid du Colombier #endif
144*593dc095SDavid du Colombier 
145*593dc095SDavid du Colombier /* The memory requirements for deflate are (in bytes):
146*593dc095SDavid du Colombier             (1 << (windowBits+2)) +  (1 << (memLevel+9))
147*593dc095SDavid du Colombier  that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
148*593dc095SDavid du Colombier  plus a few kilobytes for small objects. For example, if you want to reduce
149*593dc095SDavid du Colombier  the default memory requirements from 256K to 128K, compile with
150*593dc095SDavid du Colombier      make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
151*593dc095SDavid du Colombier  Of course this will generally degrade compression (there's no free lunch).
152*593dc095SDavid du Colombier 
153*593dc095SDavid du Colombier    The memory requirements for inflate are (in bytes) 1 << windowBits
154*593dc095SDavid du Colombier  that is, 32K for windowBits=15 (default value) plus a few kilobytes
155*593dc095SDavid du Colombier  for small objects.
156*593dc095SDavid du Colombier */
157*593dc095SDavid du Colombier 
158*593dc095SDavid du Colombier                         /* Type declarations */
159*593dc095SDavid du Colombier 
160*593dc095SDavid du Colombier #ifndef OF /* function prototypes */
161*593dc095SDavid du Colombier #  ifdef STDC
162*593dc095SDavid du Colombier #    define OF(args)  args
163*593dc095SDavid du Colombier #  else
164*593dc095SDavid du Colombier #    define OF(args)  ()
165*593dc095SDavid du Colombier #  endif
166*593dc095SDavid du Colombier #endif
167*593dc095SDavid du Colombier 
168*593dc095SDavid du Colombier /* The following definitions for FAR are needed only for MSDOS mixed
169*593dc095SDavid du Colombier  * model programming (small or medium model with some far allocations).
170*593dc095SDavid du Colombier  * This was tested only with MSC; for other MSDOS compilers you may have
171*593dc095SDavid du Colombier  * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
172*593dc095SDavid du Colombier  * just define FAR to be empty.
173*593dc095SDavid du Colombier  */
174*593dc095SDavid du Colombier #ifdef SYS16BIT
175*593dc095SDavid du Colombier #  if defined(M_I86SM) || defined(M_I86MM)
176*593dc095SDavid du Colombier      /* MSC small or medium model */
177*593dc095SDavid du Colombier #    define SMALL_MEDIUM
178*593dc095SDavid du Colombier #    ifdef _MSC_VER
179*593dc095SDavid du Colombier #      define FAR _far
180*593dc095SDavid du Colombier #    else
181*593dc095SDavid du Colombier #      define FAR far
182*593dc095SDavid du Colombier #    endif
183*593dc095SDavid du Colombier #  endif
184*593dc095SDavid du Colombier #  if (defined(__SMALL__) || defined(__MEDIUM__))
185*593dc095SDavid du Colombier      /* Turbo C small or medium model */
186*593dc095SDavid du Colombier #    define SMALL_MEDIUM
187*593dc095SDavid du Colombier #    ifdef __BORLANDC__
188*593dc095SDavid du Colombier #      define FAR _far
189*593dc095SDavid du Colombier #    else
190*593dc095SDavid du Colombier #      define FAR far
191*593dc095SDavid du Colombier #    endif
192*593dc095SDavid du Colombier #  endif
193*593dc095SDavid du Colombier #endif
194*593dc095SDavid du Colombier 
195*593dc095SDavid du Colombier #if defined(WINDOWS) || defined(WIN32)
196*593dc095SDavid du Colombier    /* If building or using zlib as a DLL, define ZLIB_DLL.
197*593dc095SDavid du Colombier     * This is not mandatory, but it offers a little performance increase.
198*593dc095SDavid du Colombier     */
199*593dc095SDavid du Colombier #  ifdef ZLIB_DLL
200*593dc095SDavid du Colombier #    if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
201*593dc095SDavid du Colombier #      ifdef ZLIB_INTERNAL
202*593dc095SDavid du Colombier #        define ZEXTERN extern __declspec(dllexport)
203*593dc095SDavid du Colombier #      else
204*593dc095SDavid du Colombier #        define ZEXTERN extern __declspec(dllimport)
205*593dc095SDavid du Colombier #      endif
206*593dc095SDavid du Colombier #    endif
207*593dc095SDavid du Colombier #  endif  /* ZLIB_DLL */
208*593dc095SDavid du Colombier    /* If building or using zlib with the WINAPI/WINAPIV calling convention,
209*593dc095SDavid du Colombier     * define ZLIB_WINAPI.
210*593dc095SDavid du Colombier     * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
211*593dc095SDavid du Colombier     */
212*593dc095SDavid du Colombier #  ifdef ZLIB_WINAPI
213*593dc095SDavid du Colombier #    ifdef FAR
214*593dc095SDavid du Colombier #      undef FAR
215*593dc095SDavid du Colombier #    endif
216*593dc095SDavid du Colombier #    include <windows.h>
217*593dc095SDavid du Colombier      /* No need for _export, use ZLIB.DEF instead. */
218*593dc095SDavid du Colombier      /* For complete Windows compatibility, use WINAPI, not __stdcall. */
219*593dc095SDavid du Colombier #    define ZEXPORT WINAPI
220*593dc095SDavid du Colombier #    ifdef WIN32
221*593dc095SDavid du Colombier #      define ZEXPORTVA WINAPIV
222*593dc095SDavid du Colombier #    else
223*593dc095SDavid du Colombier #      define ZEXPORTVA FAR CDECL
224*593dc095SDavid du Colombier #    endif
225*593dc095SDavid du Colombier #  endif
226*593dc095SDavid du Colombier #endif
227*593dc095SDavid du Colombier 
228*593dc095SDavid du Colombier #if defined (__BEOS__)
229*593dc095SDavid du Colombier #  ifdef ZLIB_DLL
230*593dc095SDavid du Colombier #    ifdef ZLIB_INTERNAL
231*593dc095SDavid du Colombier #      define ZEXPORT   __declspec(dllexport)
232*593dc095SDavid du Colombier #      define ZEXPORTVA __declspec(dllexport)
233*593dc095SDavid du Colombier #    else
234*593dc095SDavid du Colombier #      define ZEXPORT   __declspec(dllimport)
235*593dc095SDavid du Colombier #      define ZEXPORTVA __declspec(dllimport)
236*593dc095SDavid du Colombier #    endif
237*593dc095SDavid du Colombier #  endif
238*593dc095SDavid du Colombier #endif
239*593dc095SDavid du Colombier 
240*593dc095SDavid du Colombier #ifndef ZEXTERN
241*593dc095SDavid du Colombier #  define ZEXTERN extern
242*593dc095SDavid du Colombier #endif
243*593dc095SDavid du Colombier #ifndef ZEXPORT
244*593dc095SDavid du Colombier #  define ZEXPORT
245*593dc095SDavid du Colombier #endif
246*593dc095SDavid du Colombier #ifndef ZEXPORTVA
247*593dc095SDavid du Colombier #  define ZEXPORTVA
248*593dc095SDavid du Colombier #endif
249*593dc095SDavid du Colombier 
250*593dc095SDavid du Colombier #ifndef FAR
251*593dc095SDavid du Colombier #  define FAR
252*593dc095SDavid du Colombier #endif
253*593dc095SDavid du Colombier 
254*593dc095SDavid du Colombier #if !defined(__MACTYPES__)
255*593dc095SDavid du Colombier typedef unsigned char  Byte;  /* 8 bits */
256*593dc095SDavid du Colombier #endif
257*593dc095SDavid du Colombier typedef unsigned int   uInt;  /* 16 bits or more */
258*593dc095SDavid du Colombier typedef unsigned long  uLong; /* 32 bits or more */
259*593dc095SDavid du Colombier 
260*593dc095SDavid du Colombier #ifdef SMALL_MEDIUM
261*593dc095SDavid du Colombier    /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
262*593dc095SDavid du Colombier #  define Bytef Byte FAR
263*593dc095SDavid du Colombier #else
264*593dc095SDavid du Colombier    typedef Byte  FAR Bytef;
265*593dc095SDavid du Colombier #endif
266*593dc095SDavid du Colombier typedef char  FAR charf;
267*593dc095SDavid du Colombier typedef int   FAR intf;
268*593dc095SDavid du Colombier typedef uInt  FAR uIntf;
269*593dc095SDavid du Colombier typedef uLong FAR uLongf;
270*593dc095SDavid du Colombier 
271*593dc095SDavid du Colombier #ifdef STDC
272*593dc095SDavid du Colombier    typedef void const *voidpc;
273*593dc095SDavid du Colombier    typedef void FAR   *voidpf;
274*593dc095SDavid du Colombier    typedef void       *voidp;
275*593dc095SDavid du Colombier #else
276*593dc095SDavid du Colombier    typedef Byte const *voidpc;
277*593dc095SDavid du Colombier    typedef Byte FAR   *voidpf;
278*593dc095SDavid du Colombier    typedef Byte       *voidp;
279*593dc095SDavid du Colombier #endif
280*593dc095SDavid du Colombier 
281*593dc095SDavid du Colombier #if 0           /* HAVE_UNISTD_H -- this line is updated by ./configure */
282*593dc095SDavid du Colombier #  include <sys/types.h> /* for off_t */
283*593dc095SDavid du Colombier #  include <unistd.h>    /* for SEEK_* and off_t */
284*593dc095SDavid du Colombier #  ifdef VMS
285*593dc095SDavid du Colombier #    include <unixio.h>   /* for off_t */
286*593dc095SDavid du Colombier #  endif
287*593dc095SDavid du Colombier #  define z_off_t off_t
288*593dc095SDavid du Colombier #endif
289*593dc095SDavid du Colombier #ifndef SEEK_SET
290*593dc095SDavid du Colombier #  define SEEK_SET        0       /* Seek from beginning of file.  */
291*593dc095SDavid du Colombier #  define SEEK_CUR        1       /* Seek from current position.  */
292*593dc095SDavid du Colombier #  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
293*593dc095SDavid du Colombier #endif
294*593dc095SDavid du Colombier #ifndef z_off_t
295*593dc095SDavid du Colombier #  define z_off_t long
296*593dc095SDavid du Colombier #endif
297*593dc095SDavid du Colombier 
298*593dc095SDavid du Colombier #if defined(__OS400__)
299*593dc095SDavid du Colombier #  define NO_vsnprintf
300*593dc095SDavid du Colombier #endif
301*593dc095SDavid du Colombier 
302*593dc095SDavid du Colombier #if defined(__MVS__)
303*593dc095SDavid du Colombier #  define NO_vsnprintf
304*593dc095SDavid du Colombier #  ifdef FAR
305*593dc095SDavid du Colombier #    undef FAR
306*593dc095SDavid du Colombier #  endif
307*593dc095SDavid du Colombier #endif
308*593dc095SDavid du Colombier 
309*593dc095SDavid du Colombier /* MVS linker does not support external names larger than 8 bytes */
310*593dc095SDavid du Colombier #if defined(__MVS__)
311*593dc095SDavid du Colombier #   pragma map(deflateInit_,"DEIN")
312*593dc095SDavid du Colombier #   pragma map(deflateInit2_,"DEIN2")
313*593dc095SDavid du Colombier #   pragma map(deflateEnd,"DEEND")
314*593dc095SDavid du Colombier #   pragma map(deflateBound,"DEBND")
315*593dc095SDavid du Colombier #   pragma map(inflateInit_,"ININ")
316*593dc095SDavid du Colombier #   pragma map(inflateInit2_,"ININ2")
317*593dc095SDavid du Colombier #   pragma map(inflateEnd,"INEND")
318*593dc095SDavid du Colombier #   pragma map(inflateSync,"INSY")
319*593dc095SDavid du Colombier #   pragma map(inflateSetDictionary,"INSEDI")
320*593dc095SDavid du Colombier #   pragma map(compressBound,"CMBND")
321*593dc095SDavid du Colombier #   pragma map(inflate_table,"INTABL")
322*593dc095SDavid du Colombier #   pragma map(inflate_fast,"INFA")
323*593dc095SDavid du Colombier #   pragma map(inflate_copyright,"INCOPY")
324*593dc095SDavid du Colombier #endif
325*593dc095SDavid du Colombier 
326*593dc095SDavid du Colombier #endif /* ZCONF_H */
327