![]() |
Ignite Tools
|
00001 /* zconf.h -- configuration of the zlib compression library 00002 * Copyright (C) 1995-1998 Jean-loup Gailly. 00003 * For conditions of distribution and use, see copyright notice in zlib.h 00004 */ 00005 00006 /* @(#) $Id$ */ 00007 00008 #ifndef _ZCONF_H 00009 #define _ZCONF_H 00010 00011 /* 00012 * If you *really* need a unique prefix for all types and library functions, 00013 * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. 00014 */ 00015 #ifdef Z_PREFIX 00016 # define deflateInit_ z_deflateInit_ 00017 # define deflate z_deflate 00018 # define deflateEnd z_deflateEnd 00019 # define inflateInit_ z_inflateInit_ 00020 # define inflate z_inflate 00021 # define inflateEnd z_inflateEnd 00022 # define deflateInit2_ z_deflateInit2_ 00023 # define deflateSetDictionary z_deflateSetDictionary 00024 # define deflateCopy z_deflateCopy 00025 # define deflateReset z_deflateReset 00026 # define deflateParams z_deflateParams 00027 # define inflateInit2_ z_inflateInit2_ 00028 # define inflateSetDictionary z_inflateSetDictionary 00029 # define inflateSync z_inflateSync 00030 # define inflateSyncPoint z_inflateSyncPoint 00031 # define inflateReset z_inflateReset 00032 # define compress z_compress 00033 # define compress2 z_compress2 00034 # define uncompress z_uncompress 00035 # define adler32 z_adler32 00036 # define crc32 z_crc32 00037 # define get_crc_table z_get_crc_table 00038 00039 # define Byte z_Byte 00040 # define uInt z_uInt 00041 # define uLong z_uLong 00042 # define Bytef z_Bytef 00043 # define charf z_charf 00044 # define intf z_intf 00045 # define uIntf z_uIntf 00046 # define uLongf z_uLongf 00047 # define voidpf z_voidpf 00048 # define voidp z_voidp 00049 #endif 00050 00051 #if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) 00052 # define WIN32 00053 #endif 00054 #if defined(__GNUC__) || defined(WIN32) || defined(__386__) || defined(i386) 00055 # ifndef __32BIT__ 00056 # define __32BIT__ 00057 # endif 00058 #endif 00059 #if defined(__MSDOS__) && !defined(MSDOS) 00060 # define MSDOS 00061 #endif 00062 00063 /* 00064 * Compile with -DMAXSEG_64K if the alloc function cannot allocate more 00065 * than 64k bytes at a time (needed on systems with 16-bit int). 00066 */ 00067 #if defined(MSDOS) && !defined(__32BIT__) 00068 # define MAXSEG_64K 00069 #endif 00070 #ifdef MSDOS 00071 # define UNALIGNED_OK 00072 #endif 00073 00074 #if (defined(MSDOS) || defined(_WINDOWS) || defined(WIN32)) && !defined(STDC) 00075 # define STDC 00076 #endif 00077 #if defined(__STDC__) || defined(__cplusplus) || defined(__OS2__) 00078 # ifndef STDC 00079 # define STDC 00080 # endif 00081 #endif 00082 00083 #ifndef STDC 00084 # ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ 00085 # define const 00086 # endif 00087 #endif 00088 00089 /* Some Mac compilers merge all .h files incorrectly: */ 00090 #if defined(__MWERKS__) || defined(applec) ||defined(THINK_C) ||defined(__SC__) 00091 # define NO_DUMMY_DECL 00092 #endif 00093 00094 /* Old Borland C incorrectly complains about missing returns: */ 00095 #if defined(__BORLANDC__) && (__BORLANDC__ < 0x460) 00096 # define NEED_DUMMY_RETURN 00097 #endif 00098 #if defined(__TURBOC__) && !defined(__BORLANDC__) 00099 # define NEED_DUMMY_RETURN 00100 #endif 00101 00102 00103 /* Maximum value for memLevel in deflateInit2 */ 00104 #ifndef MAX_MEM_LEVEL 00105 # ifdef MAXSEG_64K 00106 # define MAX_MEM_LEVEL 8 00107 # else 00108 # define MAX_MEM_LEVEL 9 00109 # endif 00110 #endif 00111 00112 /* Maximum value for windowBits in deflateInit2 and inflateInit2. 00113 * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files 00114 * created by gzip. (Files created by minigzip can still be extracted by 00115 * gzip.) 00116 */ 00117 #ifndef MAX_WBITS 00118 # define MAX_WBITS 15 /* 32K LZ77 window */ 00119 #endif 00120 00121 /* The memory requirements for deflate are (in bytes): 00122 (1 << (windowBits+2)) + (1 << (memLevel+9)) 00123 that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) 00124 plus a few kilobytes for small objects. For example, if you want to reduce 00125 the default memory requirements from 256K to 128K, compile with 00126 make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" 00127 Of course this will generally degrade compression (there's no free lunch). 00128 00129 The memory requirements for inflate are (in bytes) 1 << windowBits 00130 that is, 32K for windowBits=15 (default value) plus a few kilobytes 00131 for small objects. 00132 */ 00133 00134 /* Type declarations */ 00135 00136 #ifndef OF /* function prototypes */ 00137 # ifdef STDC 00138 # define OF(args) args 00139 # else 00140 # define OF(args) () 00141 # endif 00142 #endif 00143 00144 /* The following definitions for FAR are needed only for MSDOS mixed 00145 * model programming (small or medium model with some far allocations). 00146 * This was tested only with MSC; for other MSDOS compilers you may have 00147 * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, 00148 * just define FAR to be empty. 00149 */ 00150 #if (defined(M_I86SM) || defined(M_I86MM)) && !defined(__32BIT__) 00151 /* MSC small or medium model */ 00152 # define SMALL_MEDIUM 00153 # ifdef _MSC_VER 00154 # define FAR _far 00155 # else 00156 # define FAR far 00157 # endif 00158 #endif 00159 #if defined(__BORLANDC__) && (defined(__SMALL__) || defined(__MEDIUM__)) 00160 # ifndef __32BIT__ 00161 # define SMALL_MEDIUM 00162 # define FAR _far 00163 # endif 00164 #endif 00165 00166 #if defined(WIN32) && (!defined(ZLIB_WIN32_NODLL)) && (!defined(ZLIB_DLL)) 00167 # define ZLIB_DLL 00168 #endif 00169 00170 /* Compile with -DZLIB_DLL for Windows DLL support */ 00171 #if defined(ZLIB_DLL) 00172 # if defined(_WINDOWS) || defined(WINDOWS) || defined(WIN32) 00173 # ifndef WINAPI 00174 # ifdef FAR 00175 # undef FAR 00176 # endif 00177 # include <windows.h> 00178 # endif 00179 # ifdef WIN32 00180 # define ZEXPORT WINAPI 00181 # define ZEXPORTVA WINAPIV 00182 # else 00183 # define ZEXPORT WINAPI _export 00184 # define ZEXPORTVA FAR _cdecl _export 00185 # endif 00186 # endif 00187 # if defined (__BORLANDC__) 00188 # if (__BORLANDC__ >= 0x0500) && defined (WIN32) 00189 # include <windows.h> 00190 # define ZEXPORT __declspec(dllexport) WINAPI 00191 # define ZEXPORTVA __declspec(dllexport) WINAPIV 00192 # else 00193 # if defined (_Windows) && defined (__DLL__) 00194 # define ZEXPORT _export 00195 # define ZEXPORTVA _export 00196 # endif 00197 # endif 00198 # endif 00199 #endif 00200 00201 #if defined (__BEOS__) 00202 # if defined (ZLIB_DLL) 00203 # define ZEXTERN extern __declspec(dllexport) 00204 # else 00205 # define ZEXTERN extern __declspec(dllimport) 00206 # endif 00207 #endif 00208 00209 #ifndef ZEXPORT 00210 # define ZEXPORT 00211 #endif 00212 #ifndef ZEXPORTVA 00213 # define ZEXPORTVA 00214 #endif 00215 #ifndef ZEXTERN 00216 # define ZEXTERN extern 00217 #endif 00218 00219 #ifndef FAR 00220 # define FAR 00221 #endif 00222 00223 #if !defined(MACOS) && !defined(TARGET_OS_MAC) 00224 typedef unsigned char Byte; /* 8 bits */ 00225 #endif 00226 typedef unsigned int uInt; /* 16 bits or more */ 00227 typedef unsigned long uLong; /* 32 bits or more */ 00228 00229 #ifdef SMALL_MEDIUM 00230 /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ 00231 # define Bytef Byte FAR 00232 #else 00233 typedef Byte FAR Bytef; 00234 #endif 00235 typedef char FAR charf; 00236 typedef int FAR intf; 00237 typedef uInt FAR uIntf; 00238 typedef uLong FAR uLongf; 00239 00240 #ifdef STDC 00241 typedef void FAR *voidpf; 00242 typedef void *voidp; 00243 #else 00244 typedef Byte FAR *voidpf; 00245 typedef Byte *voidp; 00246 #endif 00247 00248 #ifdef HAVE_UNISTD_H 00249 # include <sys/types.h> /* for off_t */ 00250 # include <unistd.h> /* for SEEK_* and off_t */ 00251 # ifdef VMS 00252 # include <unixio.h> /* for off_t */ 00253 # endif 00254 # define z_off_t off_t 00255 #endif 00256 #ifndef SEEK_SET 00257 # define SEEK_SET 0 /* Seek from beginning of file. */ 00258 # define SEEK_CUR 1 /* Seek from current position. */ 00259 # define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ 00260 #endif 00261 #ifndef z_off_t 00262 # define z_off_t long 00263 #endif 00264 00265 /* MVS linker does not support external names larger than 8 bytes */ 00266 #if defined(__MVS__) 00267 # pragma map(deflateInit_,"DEIN") 00268 # pragma map(deflateInit2_,"DEIN2") 00269 # pragma map(deflateEnd,"DEEND") 00270 # pragma map(inflateInit_,"ININ") 00271 # pragma map(inflateInit2_,"ININ2") 00272 # pragma map(inflateEnd,"INEND") 00273 # pragma map(inflateSync,"INSY") 00274 # pragma map(inflateSetDictionary,"INSEDI") 00275 # pragma map(inflate_blocks,"INBL") 00276 # pragma map(inflate_blocks_new,"INBLNE") 00277 # pragma map(inflate_blocks_free,"INBLFR") 00278 # pragma map(inflate_blocks_reset,"INBLRE") 00279 # pragma map(inflate_codes_free,"INCOFR") 00280 # pragma map(inflate_codes,"INCO") 00281 # pragma map(inflate_fast,"INFA") 00282 # pragma map(inflate_flush,"INFLU") 00283 # pragma map(inflate_mask,"INMA") 00284 # pragma map(inflate_set_dictionary,"INSEDI2") 00285 # pragma map(inflate_copyright,"INCOPY") 00286 # pragma map(inflate_trees_bits,"INTRBI") 00287 # pragma map(inflate_trees_dynamic,"INTRDY") 00288 # pragma map(inflate_trees_fixed,"INTRFI") 00289 # pragma map(inflate_trees_free,"INTRFR") 00290 #endif 00291 00292 #endif /* _ZCONF_H */