home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2003 November / VPR0311.ISO / OLS / TAR32223 / tar32223.lzh / tar32_2 / src / zlib / zconf.h next >
C/C++ Source or Header  |  2003-01-17  |  8KB  |  280 lines

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