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