|
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 |
|
4 */ |
|
5 /* This file was modified since it was taken from the zlib distribution */ |
|
6 |
|
7 #ifndef _ZCONF_H |
|
8 #define _ZCONF_H |
|
9 |
|
10 /* |
|
11 * If you *really* need a unique prefix for all types and library functions, |
|
12 * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. |
|
13 */ |
|
14 #ifdef Z_PREFIX |
|
15 # define deflateInit_ z_deflateInit_ |
|
16 # define deflate z_deflate |
|
17 # define deflateEnd z_deflateEnd |
|
18 # define inflateInit_ z_inflateInit_ |
|
19 # define inflate z_inflate |
|
20 # define inflateEnd z_inflateEnd |
|
21 # define deflateInit2_ z_deflateInit2_ |
|
22 # define deflateSetDictionary z_deflateSetDictionary |
|
23 # define deflateCopy z_deflateCopy |
|
24 # define deflateReset z_deflateReset |
|
25 # define deflateParams z_deflateParams |
|
26 # define inflateInit2_ z_inflateInit2_ |
|
27 # define inflateSetDictionary z_inflateSetDictionary |
|
28 # define inflateSync z_inflateSync |
|
29 # define inflateReset z_inflateReset |
|
30 # define compress z_compress |
|
31 # define uncompress z_uncompress |
|
32 # define adler32 z_adler32 |
|
33 # define crc32 z_crc32 |
|
34 # define get_crc_table z_get_crc_table |
|
35 |
|
36 # define Byte z_Byte |
|
37 # define uInt z_uInt |
|
38 # define uLong z_uLong |
|
39 # define Bytef z_Bytef |
|
40 # define charf z_charf |
|
41 # define intf z_intf |
|
42 # define uIntf z_uIntf |
|
43 # define uLongf z_uLongf |
|
44 # define voidpf z_voidpf |
|
45 # define voidp z_voidp |
|
46 #endif |
|
47 |
|
48 #if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) |
|
49 # define WIN32 |
|
50 #endif |
|
51 #if defined(__GNUC__) || defined(WIN32) || defined(__386__) || defined(i386) |
|
52 # ifndef __32BIT__ |
|
53 # define __32BIT__ |
|
54 # endif |
|
55 #endif |
|
56 #if defined(__MSDOS__) && !defined(MSDOS) |
|
57 # define MSDOS |
|
58 #endif |
|
59 |
|
60 /* |
|
61 * Compile with -DMAXSEG_64K if the alloc function cannot allocate more |
|
62 * than 64k bytes at a time (needed on systems with 16-bit int). |
|
63 */ |
|
64 #if defined(MSDOS) && !defined(__32BIT__) |
|
65 # define MAXSEG_64K |
|
66 #endif |
|
67 #ifdef MSDOS |
|
68 # define UNALIGNED_OK |
|
69 #endif |
|
70 |
|
71 #if (defined(MSDOS) || defined(_WINDOWS) || defined(WIN32) || defined(XP_OS2)) && !defined(STDC) |
|
72 # define STDC |
|
73 #endif |
|
74 #if (defined(__STDC__) || defined(__cplusplus)) && !defined(STDC) |
|
75 # define STDC |
|
76 #endif |
|
77 |
|
78 #ifndef STDC |
|
79 # ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ |
|
80 # define const |
|
81 # endif |
|
82 #endif |
|
83 |
|
84 /* Some Mac compilers merge all .h files incorrectly: */ |
|
85 #if defined(__MWERKS__) || defined(applec) ||defined(THINK_C) ||defined(__SC__) |
|
86 # define NO_DUMMY_DECL |
|
87 #endif |
|
88 |
|
89 /* Maximum value for memLevel in deflateInit2 */ |
|
90 #ifndef MAX_MEM_LEVEL |
|
91 # ifdef MAXSEG_64K |
|
92 # define MAX_MEM_LEVEL 8 |
|
93 # else |
|
94 # define MAX_MEM_LEVEL 9 |
|
95 # endif |
|
96 #endif |
|
97 |
|
98 /* Maximum value for windowBits in deflateInit2 and inflateInit2 */ |
|
99 #ifndef MAX_WBITS |
|
100 # define MAX_WBITS 15 /* 32K LZ77 window */ |
|
101 #endif |
|
102 |
|
103 /* The memory requirements for deflate are (in bytes): |
|
104 1 << (windowBits+2) + 1 << (memLevel+9) |
|
105 that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) |
|
106 plus a few kilobytes for small objects. For example, if you want to reduce |
|
107 the default memory requirements from 256K to 128K, compile with |
|
108 make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" |
|
109 Of course this will generally degrade compression (there's no free lunch). |
|
110 |
|
111 The memory requirements for inflate are (in bytes) 1 << windowBits |
|
112 that is, 32K for windowBits=15 (default value) plus a few kilobytes |
|
113 for small objects. |
|
114 */ |
|
115 |
|
116 /* Type declarations */ |
|
117 |
|
118 #ifndef OF /* function prototypes */ |
|
119 # ifdef STDC |
|
120 # define OF(args) args |
|
121 # else |
|
122 # define OF(args) () |
|
123 # endif |
|
124 #endif |
|
125 |
|
126 /* The following definitions for FAR are needed only for MSDOS mixed |
|
127 * model programming (small or medium model with some far allocations). |
|
128 * This was tested only with MSC; for other MSDOS compilers you may have |
|
129 * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, |
|
130 * just define FAR to be empty. |
|
131 */ |
|
132 #if (defined(M_I86SM) || defined(M_I86MM)) && !defined(__32BIT__) |
|
133 /* MSC small or medium model */ |
|
134 # define SMALL_MEDIUM |
|
135 # ifdef _MSC_VER |
|
136 # define FAR __far |
|
137 # else |
|
138 # define FAR far |
|
139 # endif |
|
140 #endif |
|
141 #if defined(__BORLANDC__) && (defined(__SMALL__) || defined(__MEDIUM__)) |
|
142 # ifndef __32BIT__ |
|
143 # define SMALL_MEDIUM |
|
144 # define FAR __far |
|
145 # endif |
|
146 #endif |
|
147 #ifndef FAR |
|
148 # define FAR |
|
149 #endif |
|
150 |
|
151 typedef unsigned char Byte; /* 8 bits */ |
|
152 typedef unsigned int uInt; /* 16 bits or more */ |
|
153 typedef unsigned long uLong; /* 32 bits or more */ |
|
154 |
|
155 #if defined(__BORLANDC__) && defined(SMALL_MEDIUM) |
|
156 /* Borland C/C++ ignores FAR inside typedef */ |
|
157 # define Bytef Byte FAR |
|
158 #else |
|
159 typedef Byte FAR Bytef; |
|
160 #endif |
|
161 typedef char FAR charf; |
|
162 typedef int FAR intf; |
|
163 typedef uInt FAR uIntf; |
|
164 typedef uLong FAR uLongf; |
|
165 |
|
166 #ifdef STDC |
|
167 typedef void FAR *voidpf; |
|
168 typedef void *voidp; |
|
169 #else |
|
170 typedef Byte FAR *voidpf; |
|
171 typedef Byte *voidp; |
|
172 #endif |
|
173 |
|
174 #ifdef MOZILLA_CLIENT |
|
175 #include "prtypes.h" |
|
176 #else |
|
177 /* Compile with -DZLIB_DLL for Windows DLL support */ |
|
178 #if (defined(_WINDOWS) || defined(WINDOWS)) && defined(ZLIB_DLL) |
|
179 # include <windows.h> |
|
180 # define EXPORT WINAPI |
|
181 #else |
|
182 # define EXPORT |
|
183 #endif |
|
184 |
|
185 #define PR_PUBLIC_API(type) type |
|
186 |
|
187 #endif /* MOZILLA_CLIENT */ |
|
188 |
|
189 #endif /* _ZCONF_H */ |