Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

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