source: NonGTP/OpenEXR/include/zconf.h @ 855

Revision 855, 7.6 KB checked in by igarcia, 18 years ago (diff)
Line 
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/*
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)
214typedef unsigned char  Byte;  /* 8 bits */
215#endif
216typedef unsigned int   uInt;  /* 16 bits or more */
217typedef 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
225typedef char  FAR charf;
226typedef int   FAR intf;
227typedef uInt  FAR uIntf;
228typedef 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 */
Note: See TracBrowser for help on using the repository browser.