xref: /inferno-os/libfreetype/zconf.h (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1*37da2899SCharles.Forsyth /* zconf.h -- configuration of the zlib compression library
2*37da2899SCharles.Forsyth  * Copyright (C) 1995-2002 Jean-loup Gailly.
3*37da2899SCharles.Forsyth  * For conditions of distribution and use, see copyright notice in zlib.h
4*37da2899SCharles.Forsyth  */
5*37da2899SCharles.Forsyth 
6*37da2899SCharles.Forsyth /* @(#) $Id: zconf.h,v 1.2 2002/11/06 22:32:54 davidT Exp $ */
7*37da2899SCharles.Forsyth 
8*37da2899SCharles.Forsyth #ifndef _ZCONF_H
9*37da2899SCharles.Forsyth #define _ZCONF_H
10*37da2899SCharles.Forsyth 
11*37da2899SCharles.Forsyth /*
12*37da2899SCharles.Forsyth  * If you *really* need a unique prefix for all types and library functions,
13*37da2899SCharles.Forsyth  * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
14*37da2899SCharles.Forsyth  */
15*37da2899SCharles.Forsyth #ifdef Z_PREFIX
16*37da2899SCharles.Forsyth #  define deflateInit_	z_deflateInit_
17*37da2899SCharles.Forsyth #  define deflate	z_deflate
18*37da2899SCharles.Forsyth #  define deflateEnd	z_deflateEnd
19*37da2899SCharles.Forsyth #  define inflateInit_ 	z_inflateInit_
20*37da2899SCharles.Forsyth #  define inflate	z_inflate
21*37da2899SCharles.Forsyth #  define inflateEnd	z_inflateEnd
22*37da2899SCharles.Forsyth #  define deflateInit2_	z_deflateInit2_
23*37da2899SCharles.Forsyth #  define deflateSetDictionary z_deflateSetDictionary
24*37da2899SCharles.Forsyth #  define deflateCopy	z_deflateCopy
25*37da2899SCharles.Forsyth #  define deflateReset	z_deflateReset
26*37da2899SCharles.Forsyth #  define deflateParams	z_deflateParams
27*37da2899SCharles.Forsyth #  define inflateInit2_	z_inflateInit2_
28*37da2899SCharles.Forsyth #  define inflateSetDictionary z_inflateSetDictionary
29*37da2899SCharles.Forsyth #  define inflateSync	z_inflateSync
30*37da2899SCharles.Forsyth #  define inflateSyncPoint z_inflateSyncPoint
31*37da2899SCharles.Forsyth #  define inflateReset	z_inflateReset
32*37da2899SCharles.Forsyth #  define compress	z_compress
33*37da2899SCharles.Forsyth #  define compress2	z_compress2
34*37da2899SCharles.Forsyth #  define uncompress	z_uncompress
35*37da2899SCharles.Forsyth #  define adler32	z_adler32
36*37da2899SCharles.Forsyth #  define crc32		z_crc32
37*37da2899SCharles.Forsyth #  define get_crc_table z_get_crc_table
38*37da2899SCharles.Forsyth 
39*37da2899SCharles.Forsyth #  define Byte		z_Byte
40*37da2899SCharles.Forsyth #  define uInt		z_uInt
41*37da2899SCharles.Forsyth #  define uLong		z_uLong
42*37da2899SCharles.Forsyth #  define Bytef	        z_Bytef
43*37da2899SCharles.Forsyth #  define charf		z_charf
44*37da2899SCharles.Forsyth #  define intf		z_intf
45*37da2899SCharles.Forsyth #  define uIntf		z_uIntf
46*37da2899SCharles.Forsyth #  define uLongf	z_uLongf
47*37da2899SCharles.Forsyth #  define voidpf	z_voidpf
48*37da2899SCharles.Forsyth #  define voidp		z_voidp
49*37da2899SCharles.Forsyth #endif
50*37da2899SCharles.Forsyth 
51*37da2899SCharles.Forsyth #if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
52*37da2899SCharles.Forsyth #  define WIN32
53*37da2899SCharles.Forsyth #endif
54*37da2899SCharles.Forsyth #if defined(__GNUC__) || defined(WIN32) || defined(__386__) || defined(i386)
55*37da2899SCharles.Forsyth #  ifndef __32BIT__
56*37da2899SCharles.Forsyth #    define __32BIT__
57*37da2899SCharles.Forsyth #  endif
58*37da2899SCharles.Forsyth #endif
59*37da2899SCharles.Forsyth #if defined(__MSDOS__) && !defined(MSDOS)
60*37da2899SCharles.Forsyth #  define MSDOS
61*37da2899SCharles.Forsyth #endif
62*37da2899SCharles.Forsyth 
63*37da2899SCharles.Forsyth /*
64*37da2899SCharles.Forsyth  * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
65*37da2899SCharles.Forsyth  * than 64k bytes at a time (needed on systems with 16-bit int).
66*37da2899SCharles.Forsyth  */
67*37da2899SCharles.Forsyth #if defined(MSDOS) && !defined(__32BIT__)
68*37da2899SCharles.Forsyth #  define MAXSEG_64K
69*37da2899SCharles.Forsyth #endif
70*37da2899SCharles.Forsyth #ifdef MSDOS
71*37da2899SCharles.Forsyth #  define UNALIGNED_OK
72*37da2899SCharles.Forsyth #endif
73*37da2899SCharles.Forsyth 
74*37da2899SCharles.Forsyth #if (defined(MSDOS) || defined(_WINDOWS) || defined(WIN32))  && !defined(STDC)
75*37da2899SCharles.Forsyth #  define STDC
76*37da2899SCharles.Forsyth #endif
77*37da2899SCharles.Forsyth #if defined(__STDC__) || defined(__cplusplus) || defined(__OS2__)
78*37da2899SCharles.Forsyth #  ifndef STDC
79*37da2899SCharles.Forsyth #    define STDC
80*37da2899SCharles.Forsyth #  endif
81*37da2899SCharles.Forsyth #endif
82*37da2899SCharles.Forsyth 
83*37da2899SCharles.Forsyth #ifndef STDC
84*37da2899SCharles.Forsyth #  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
85*37da2899SCharles.Forsyth #    define const
86*37da2899SCharles.Forsyth #  endif
87*37da2899SCharles.Forsyth #endif
88*37da2899SCharles.Forsyth 
89*37da2899SCharles.Forsyth /* Some Mac compilers merge all .h files incorrectly: */
90*37da2899SCharles.Forsyth #if defined(__MWERKS__) || defined(applec) ||defined(THINK_C) ||defined(__SC__)
91*37da2899SCharles.Forsyth #  define NO_DUMMY_DECL
92*37da2899SCharles.Forsyth #endif
93*37da2899SCharles.Forsyth 
94*37da2899SCharles.Forsyth /* Old Borland C incorrectly complains about missing returns: */
95*37da2899SCharles.Forsyth #if defined(__BORLANDC__) && (__BORLANDC__ < 0x500)
96*37da2899SCharles.Forsyth #  define NEED_DUMMY_RETURN
97*37da2899SCharles.Forsyth #endif
98*37da2899SCharles.Forsyth 
99*37da2899SCharles.Forsyth 
100*37da2899SCharles.Forsyth /* Maximum value for memLevel in deflateInit2 */
101*37da2899SCharles.Forsyth #ifndef MAX_MEM_LEVEL
102*37da2899SCharles.Forsyth #  ifdef MAXSEG_64K
103*37da2899SCharles.Forsyth #    define MAX_MEM_LEVEL 8
104*37da2899SCharles.Forsyth #  else
105*37da2899SCharles.Forsyth #    define MAX_MEM_LEVEL 9
106*37da2899SCharles.Forsyth #  endif
107*37da2899SCharles.Forsyth #endif
108*37da2899SCharles.Forsyth 
109*37da2899SCharles.Forsyth /* Maximum value for windowBits in deflateInit2 and inflateInit2.
110*37da2899SCharles.Forsyth  * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
111*37da2899SCharles.Forsyth  * created by gzip. (Files created by minigzip can still be extracted by
112*37da2899SCharles.Forsyth  * gzip.)
113*37da2899SCharles.Forsyth  */
114*37da2899SCharles.Forsyth #ifndef MAX_WBITS
115*37da2899SCharles.Forsyth #  define MAX_WBITS   15 /* 32K LZ77 window */
116*37da2899SCharles.Forsyth #endif
117*37da2899SCharles.Forsyth 
118*37da2899SCharles.Forsyth /* The memory requirements for deflate are (in bytes):
119*37da2899SCharles.Forsyth             (1 << (windowBits+2)) +  (1 << (memLevel+9))
120*37da2899SCharles.Forsyth  that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
121*37da2899SCharles.Forsyth  plus a few kilobytes for small objects. For example, if you want to reduce
122*37da2899SCharles.Forsyth  the default memory requirements from 256K to 128K, compile with
123*37da2899SCharles.Forsyth      make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
124*37da2899SCharles.Forsyth  Of course this will generally degrade compression (there's no free lunch).
125*37da2899SCharles.Forsyth 
126*37da2899SCharles.Forsyth    The memory requirements for inflate are (in bytes) 1 << windowBits
127*37da2899SCharles.Forsyth  that is, 32K for windowBits=15 (default value) plus a few kilobytes
128*37da2899SCharles.Forsyth  for small objects.
129*37da2899SCharles.Forsyth */
130*37da2899SCharles.Forsyth 
131*37da2899SCharles.Forsyth                         /* Type declarations */
132*37da2899SCharles.Forsyth 
133*37da2899SCharles.Forsyth #ifndef OF /* function prototypes */
134*37da2899SCharles.Forsyth #  ifdef STDC
135*37da2899SCharles.Forsyth #    define OF(args)  args
136*37da2899SCharles.Forsyth #  else
137*37da2899SCharles.Forsyth #    define OF(args)  ()
138*37da2899SCharles.Forsyth #  endif
139*37da2899SCharles.Forsyth #endif
140*37da2899SCharles.Forsyth 
141*37da2899SCharles.Forsyth /* The following definitions for FAR are needed only for MSDOS mixed
142*37da2899SCharles.Forsyth  * model programming (small or medium model with some far allocations).
143*37da2899SCharles.Forsyth  * This was tested only with MSC; for other MSDOS compilers you may have
144*37da2899SCharles.Forsyth  * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
145*37da2899SCharles.Forsyth  * just define FAR to be empty.
146*37da2899SCharles.Forsyth  */
147*37da2899SCharles.Forsyth #if (defined(M_I86SM) || defined(M_I86MM)) && !defined(__32BIT__)
148*37da2899SCharles.Forsyth    /* MSC small or medium model */
149*37da2899SCharles.Forsyth #  define SMALL_MEDIUM
150*37da2899SCharles.Forsyth #  ifdef _MSC_VER
151*37da2899SCharles.Forsyth #    define FAR _far
152*37da2899SCharles.Forsyth #  else
153*37da2899SCharles.Forsyth #    define FAR far
154*37da2899SCharles.Forsyth #  endif
155*37da2899SCharles.Forsyth #endif
156*37da2899SCharles.Forsyth #if defined(__BORLANDC__) && (defined(__SMALL__) || defined(__MEDIUM__))
157*37da2899SCharles.Forsyth #  ifndef __32BIT__
158*37da2899SCharles.Forsyth #    define SMALL_MEDIUM
159*37da2899SCharles.Forsyth #    define FAR _far
160*37da2899SCharles.Forsyth #  endif
161*37da2899SCharles.Forsyth #endif
162*37da2899SCharles.Forsyth 
163*37da2899SCharles.Forsyth /* Compile with -DZLIB_DLL for Windows DLL support */
164*37da2899SCharles.Forsyth #if defined(ZLIB_DLL)
165*37da2899SCharles.Forsyth #  if defined(_WINDOWS) || defined(WINDOWS)
166*37da2899SCharles.Forsyth #    ifdef FAR
167*37da2899SCharles.Forsyth #      undef FAR
168*37da2899SCharles.Forsyth #    endif
169*37da2899SCharles.Forsyth #    include <windows.h>
170*37da2899SCharles.Forsyth #    define ZEXPORT  WINAPI
171*37da2899SCharles.Forsyth #    ifdef WIN32
172*37da2899SCharles.Forsyth #      define ZEXPORTVA  WINAPIV
173*37da2899SCharles.Forsyth #    else
174*37da2899SCharles.Forsyth #      define ZEXPORTVA  FAR _cdecl _export
175*37da2899SCharles.Forsyth #    endif
176*37da2899SCharles.Forsyth #  endif
177*37da2899SCharles.Forsyth #  if defined (__BORLANDC__)
178*37da2899SCharles.Forsyth #    if (__BORLANDC__ >= 0x0500) && defined (WIN32)
179*37da2899SCharles.Forsyth #      include <windows.h>
180*37da2899SCharles.Forsyth #      define ZEXPORT __declspec(dllexport) WINAPI
181*37da2899SCharles.Forsyth #      define ZEXPORTRVA __declspec(dllexport) WINAPIV
182*37da2899SCharles.Forsyth #    else
183*37da2899SCharles.Forsyth #      if defined (_Windows) && defined (__DLL__)
184*37da2899SCharles.Forsyth #        define ZEXPORT _export
185*37da2899SCharles.Forsyth #        define ZEXPORTVA _export
186*37da2899SCharles.Forsyth #      endif
187*37da2899SCharles.Forsyth #    endif
188*37da2899SCharles.Forsyth #  endif
189*37da2899SCharles.Forsyth #endif
190*37da2899SCharles.Forsyth 
191*37da2899SCharles.Forsyth 
192*37da2899SCharles.Forsyth #ifndef ZEXPORT
193*37da2899SCharles.Forsyth #  define ZEXPORT
194*37da2899SCharles.Forsyth #endif
195*37da2899SCharles.Forsyth #ifndef ZEXPORTVA
196*37da2899SCharles.Forsyth #  define ZEXPORTVA
197*37da2899SCharles.Forsyth #endif
198*37da2899SCharles.Forsyth #ifndef ZEXTERN
199*37da2899SCharles.Forsyth #  define ZEXTERN static
200*37da2899SCharles.Forsyth #endif
201*37da2899SCharles.Forsyth #ifndef ZEXTERNDEF
202*37da2899SCharles.Forsyth #  define ZEXTERNDEF  static
203*37da2899SCharles.Forsyth #endif
204*37da2899SCharles.Forsyth 
205*37da2899SCharles.Forsyth #ifndef FAR
206*37da2899SCharles.Forsyth #   define FAR
207*37da2899SCharles.Forsyth #endif
208*37da2899SCharles.Forsyth 
209*37da2899SCharles.Forsyth #if !defined(MACOS) && !defined(TARGET_OS_MAC)
210*37da2899SCharles.Forsyth typedef unsigned char  Byte;  /* 8 bits */
211*37da2899SCharles.Forsyth #endif
212*37da2899SCharles.Forsyth typedef unsigned int   uInt;  /* 16 bits or more */
213*37da2899SCharles.Forsyth typedef unsigned long  uLong; /* 32 bits or more */
214*37da2899SCharles.Forsyth 
215*37da2899SCharles.Forsyth #ifdef SMALL_MEDIUM
216*37da2899SCharles.Forsyth    /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
217*37da2899SCharles.Forsyth #  define Bytef Byte FAR
218*37da2899SCharles.Forsyth #else
219*37da2899SCharles.Forsyth    typedef Byte  FAR Bytef;
220*37da2899SCharles.Forsyth #endif
221*37da2899SCharles.Forsyth typedef char  FAR charf;
222*37da2899SCharles.Forsyth typedef int   FAR intf;
223*37da2899SCharles.Forsyth typedef uInt  FAR uIntf;
224*37da2899SCharles.Forsyth typedef uLong FAR uLongf;
225*37da2899SCharles.Forsyth 
226*37da2899SCharles.Forsyth #ifdef STDC
227*37da2899SCharles.Forsyth    typedef void FAR *voidpf;
228*37da2899SCharles.Forsyth    typedef void     *voidp;
229*37da2899SCharles.Forsyth #else
230*37da2899SCharles.Forsyth    typedef Byte FAR *voidpf;
231*37da2899SCharles.Forsyth    typedef Byte     *voidp;
232*37da2899SCharles.Forsyth #endif
233*37da2899SCharles.Forsyth 
234*37da2899SCharles.Forsyth #ifdef HAVE_UNISTD_H
235*37da2899SCharles.Forsyth #  include <sys/types.h> /* for off_t */
236*37da2899SCharles.Forsyth #  include <unistd.h>    /* for SEEK_* and off_t */
237*37da2899SCharles.Forsyth #  define z_off_t  off_t
238*37da2899SCharles.Forsyth #endif
239*37da2899SCharles.Forsyth #ifndef SEEK_SET
240*37da2899SCharles.Forsyth #  define SEEK_SET        0       /* Seek from beginning of file.  */
241*37da2899SCharles.Forsyth #  define SEEK_CUR        1       /* Seek from current position.  */
242*37da2899SCharles.Forsyth #  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
243*37da2899SCharles.Forsyth #endif
244*37da2899SCharles.Forsyth #ifndef z_off_t
245*37da2899SCharles.Forsyth #  define  z_off_t long
246*37da2899SCharles.Forsyth #endif
247*37da2899SCharles.Forsyth 
248*37da2899SCharles.Forsyth /* MVS linker does not support external names larger than 8 bytes */
249*37da2899SCharles.Forsyth #if defined(__MVS__)
250*37da2899SCharles.Forsyth #   pragma map(deflateInit_,"DEIN")
251*37da2899SCharles.Forsyth #   pragma map(deflateInit2_,"DEIN2")
252*37da2899SCharles.Forsyth #   pragma map(deflateEnd,"DEEND")
253*37da2899SCharles.Forsyth #   pragma map(inflateInit_,"ININ")
254*37da2899SCharles.Forsyth #   pragma map(inflateInit2_,"ININ2")
255*37da2899SCharles.Forsyth #   pragma map(inflateEnd,"INEND")
256*37da2899SCharles.Forsyth #   pragma map(inflateSync,"INSY")
257*37da2899SCharles.Forsyth #   pragma map(inflateSetDictionary,"INSEDI")
258*37da2899SCharles.Forsyth #   pragma map(inflate_blocks,"INBL")
259*37da2899SCharles.Forsyth #   pragma map(inflate_blocks_new,"INBLNE")
260*37da2899SCharles.Forsyth #   pragma map(inflate_blocks_free,"INBLFR")
261*37da2899SCharles.Forsyth #   pragma map(inflate_blocks_reset,"INBLRE")
262*37da2899SCharles.Forsyth #   pragma map(inflate_codes_free,"INCOFR")
263*37da2899SCharles.Forsyth #   pragma map(inflate_codes,"INCO")
264*37da2899SCharles.Forsyth #   pragma map(inflate_fast,"INFA")
265*37da2899SCharles.Forsyth #   pragma map(inflate_flush,"INFLU")
266*37da2899SCharles.Forsyth #   pragma map(inflate_mask,"INMA")
267*37da2899SCharles.Forsyth #   pragma map(inflate_set_dictionary,"INSEDI2")
268*37da2899SCharles.Forsyth #   pragma map(inflate_copyright,"INCOPY")
269*37da2899SCharles.Forsyth #   pragma map(inflate_trees_bits,"INTRBI")
270*37da2899SCharles.Forsyth #   pragma map(inflate_trees_dynamic,"INTRDY")
271*37da2899SCharles.Forsyth #   pragma map(inflate_trees_fixed,"INTRFI")
272*37da2899SCharles.Forsyth #   pragma map(inflate_trees_free,"INTRFR")
273*37da2899SCharles.Forsyth #endif
274*37da2899SCharles.Forsyth 
275*37da2899SCharles.Forsyth #endif /* _ZCONF_H */
276