1 /* zconf.h -- configuration of the zlib compression library
2 * Copyright (C) 1995-1996 Jean-loup Gailly.
3 * For conditions of distribution and use, see copyright notice in zlib.h
6 /* $Id: zconf.h,v 1.18 1996/05/23 16:51:18 me Exp $ */
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.
16 # define deflateInit_ z_deflateInit_
17 # define deflate z_deflate
18 # define deflateEnd z_deflateEnd
19 # define inflateInit_ z_inflateInit_
20 # define inflate z_inflate
21 # define inflateEnd z_inflateEnd
22 # define deflateInit2_ z_deflateInit2_
23 # define deflateSetDictionary z_deflateSetDictionary
24 # define deflateCopy z_deflateCopy
25 # define deflateReset z_deflateReset
26 # define deflateParams z_deflateParams
27 # define inflateInit2_ z_inflateInit2_
28 # define inflateSetDictionary z_inflateSetDictionary
29 # define inflateSync z_inflateSync
30 # define inflateReset z_inflateReset
31 # define compress z_compress
32 # define uncompress z_uncompress
33 # define adler32 z_adler32
34 # define crc32 z_crc32
35 # define get_crc_table z_get_crc_table
39 # define uLong z_uLong
40 # define Bytef z_Bytef
41 # define charf z_charf
43 # define uIntf z_uIntf
44 # define uLongf z_uLongf
45 # define voidpf z_voidpf
46 # define voidp z_voidp
49 #if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
52 #if (defined(__GNUC__) || defined(WIN32)) && !defined(__32BIT__)
55 #if defined(__MSDOS__) && !defined(MSDOS)
60 * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
61 * than 64k bytes at a time (needed on systems with 16-bit int).
63 #if defined(MSDOS) && !defined(__32BIT__)
70 #if (defined(MSDOS) || defined(_WINDOWS) || defined(WIN32)) && !defined(STDC)
73 #if (defined(__STDC__) || defined(__cplusplus)) && !defined(STDC)
78 # ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
83 #ifdef __MWERKS__ /* Metrowerks CodeWarrior declares fileno() in unix.h */
85 # define NO_DUMMY_DECL /* buggy compiler merges all .h files incorrectly */
88 /* Maximum value for memLevel in deflateInit2 */
91 # define MAX_MEM_LEVEL 8
93 # define MAX_MEM_LEVEL 9
97 /* Maximum value for windowBits in deflateInit2 and inflateInit2 */
99 # define MAX_WBITS 15 /* 32K LZ77 window */
102 /* The memory requirements for deflate are (in bytes):
103 1 << (windowBits+2) + 1 << (memLevel+9)
104 that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
105 plus a few kilobytes for small objects. For example, if you want to reduce
106 the default memory requirements from 256K to 128K, compile with
107 make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
108 Of course this will generally degrade compression (there's no free lunch).
110 The memory requirements for inflate are (in bytes) 1 << windowBits
111 that is, 32K for windowBits=15 (default value) plus a few kilobytes
115 /* Type declarations */
117 #ifndef OF /* function prototypes */
119 # define OF(args) args
125 /* The following definitions for FAR are needed only for MSDOS mixed
126 * model programming (small or medium model with some far allocations).
127 * This was tested only with MSC; for other MSDOS compilers you may have
128 * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
129 * just define FAR to be empty.
131 #if (defined(M_I86SM) || defined(M_I86MM)) && !defined(__32BIT__)
132 /* MSC small or medium model */
133 # define SMALL_MEDIUM
140 #if defined(__BORLANDC__) && (defined(__SMALL__) || defined(__MEDIUM__))
142 # define SMALL_MEDIUM
149 /* The Watcom compiler defines M_I86SM and __SMALL__ even in 32 bit mode */
150 #if defined(__WATCOMC__) && defined(__386__) && defined(SMALL_MEDIUM)
156 typedef unsigned char Byte; /* 8 bits */
157 typedef unsigned int uInt; /* 16 bits or more */
158 typedef unsigned long uLong; /* 32 bits or more */
160 #if defined(__BORLANDC__) && defined(SMALL_MEDIUM)
161 /* Borland C/C++ ignores FAR inside typedef */
162 # define Bytef Byte FAR
164 typedef Byte FAR Bytef;
166 typedef char FAR charf;
167 typedef int FAR intf;
168 typedef uInt FAR uIntf;
169 typedef uLong FAR uLongf;
172 typedef void FAR *voidpf;
175 typedef Byte FAR *voidpf;
180 /* Compile with -DZLIB_DLL for Windows DLL support */
181 #if (defined(_WINDOWS) || defined(WINDOWS)) && defined(ZLIB_DLL)
182 # include <windows.h>
183 # define EXPORT WINAPI
188 #endif /* _ZCONF_H */