misc/quazip/zconf.h
changeset 8057 93e16240f178
parent 8051 f26422ef0333
parent 8055 04dd8b7fb605
child 8058 bcebfc477459
equal deleted inserted replaced
8051:f26422ef0333 8057:93e16240f178
     1 /* zconf.h -- configuration of the zlib compression library
       
     2  * Copyright (C) 1995-2005 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 deflateBound          z_deflateBound
       
    28 #  define deflatePrime          z_deflatePrime
       
    29 #  define inflateInit2_         z_inflateInit2_
       
    30 #  define inflateSetDictionary  z_inflateSetDictionary
       
    31 #  define inflateSync           z_inflateSync
       
    32 #  define inflateSyncPoint      z_inflateSyncPoint
       
    33 #  define inflateCopy           z_inflateCopy
       
    34 #  define inflateReset          z_inflateReset
       
    35 #  define inflateBack           z_inflateBack
       
    36 #  define inflateBackEnd        z_inflateBackEnd
       
    37 #  define compress              z_compress
       
    38 #  define compress2             z_compress2
       
    39 #  define compressBound         z_compressBound
       
    40 #  define uncompress            z_uncompress
       
    41 #  define adler32               z_adler32
       
    42 #  define crc32                 z_crc32
       
    43 #  define get_crc_table         z_get_crc_table
       
    44 #  define zError                z_zError
       
    45 
       
    46 #  define alloc_func            z_alloc_func
       
    47 #  define free_func             z_free_func
       
    48 #  define in_func               z_in_func
       
    49 #  define out_func              z_out_func
       
    50 #  define Byte                  z_Byte
       
    51 #  define uInt                  z_uInt
       
    52 #  define uLong                 z_uLong
       
    53 #  define Bytef                 z_Bytef
       
    54 #  define charf                 z_charf
       
    55 #  define intf                  z_intf
       
    56 #  define uIntf                 z_uIntf
       
    57 #  define uLongf                z_uLongf
       
    58 #  define voidpf                z_voidpf
       
    59 #  define voidp                 z_voidp
       
    60 #endif
       
    61 
       
    62 #if defined(__MSDOS__) && !defined(MSDOS)
       
    63 #  define MSDOS
       
    64 #endif
       
    65 #if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
       
    66 #  define OS2
       
    67 #endif
       
    68 #if defined(_WINDOWS) && !defined(WINDOWS)
       
    69 #  define WINDOWS
       
    70 #endif
       
    71 #if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
       
    72 #  ifndef WIN32
       
    73 #    define WIN32
       
    74 #  endif
       
    75 #endif
       
    76 #if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
       
    77 #  if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
       
    78 #    ifndef SYS16BIT
       
    79 #      define SYS16BIT
       
    80 #    endif
       
    81 #  endif
       
    82 #endif
       
    83 
       
    84 /*
       
    85  * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
       
    86  * than 64k bytes at a time (needed on systems with 16-bit int).
       
    87  */
       
    88 #ifdef SYS16BIT
       
    89 #  define MAXSEG_64K
       
    90 #endif
       
    91 #ifdef MSDOS
       
    92 #  define UNALIGNED_OK
       
    93 #endif
       
    94 
       
    95 #ifdef __STDC_VERSION__
       
    96 #  ifndef STDC
       
    97 #    define STDC
       
    98 #  endif
       
    99 #  if __STDC_VERSION__ >= 199901L
       
   100 #    ifndef STDC99
       
   101 #      define STDC99
       
   102 #    endif
       
   103 #  endif
       
   104 #endif
       
   105 #if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
       
   106 #  define STDC
       
   107 #endif
       
   108 #if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
       
   109 #  define STDC
       
   110 #endif
       
   111 #if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
       
   112 #  define STDC
       
   113 #endif
       
   114 #if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
       
   115 #  define STDC
       
   116 #endif
       
   117 
       
   118 #if defined(__OS400__) && !defined(STDC)    /* iSeries (formerly AS/400). */
       
   119 #  define STDC
       
   120 #endif
       
   121 
       
   122 #ifndef STDC
       
   123 #  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
       
   124 #    define const       /* note: need a more gentle solution here */
       
   125 #  endif
       
   126 #endif
       
   127 
       
   128 /* Some Mac compilers merge all .h files incorrectly: */
       
   129 #if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
       
   130 #  define NO_DUMMY_DECL
       
   131 #endif
       
   132 
       
   133 /* Maximum value for memLevel in deflateInit2 */
       
   134 #ifndef MAX_MEM_LEVEL
       
   135 #  ifdef MAXSEG_64K
       
   136 #    define MAX_MEM_LEVEL 8
       
   137 #  else
       
   138 #    define MAX_MEM_LEVEL 9
       
   139 #  endif
       
   140 #endif
       
   141 
       
   142 /* Maximum value for windowBits in deflateInit2 and inflateInit2.
       
   143  * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
       
   144  * created by gzip. (Files created by minigzip can still be extracted by
       
   145  * gzip.)
       
   146  */
       
   147 #ifndef MAX_WBITS
       
   148 #  define MAX_WBITS   15 /* 32K LZ77 window */
       
   149 #endif
       
   150 
       
   151 /* The memory requirements for deflate are (in bytes):
       
   152             (1 << (windowBits+2)) +  (1 << (memLevel+9))
       
   153  that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
       
   154  plus a few kilobytes for small objects. For example, if you want to reduce
       
   155  the default memory requirements from 256K to 128K, compile with
       
   156      make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
       
   157  Of course this will generally degrade compression (there's no free lunch).
       
   158 
       
   159    The memory requirements for inflate are (in bytes) 1 << windowBits
       
   160  that is, 32K for windowBits=15 (default value) plus a few kilobytes
       
   161  for small objects.
       
   162 */
       
   163 
       
   164                         /* Type declarations */
       
   165 
       
   166 #ifndef OF /* function prototypes */
       
   167 #  ifdef STDC
       
   168 #    define OF(args)  args
       
   169 #  else
       
   170 #    define OF(args)  ()
       
   171 #  endif
       
   172 #endif
       
   173 
       
   174 /* The following definitions for FAR are needed only for MSDOS mixed
       
   175  * model programming (small or medium model with some far allocations).
       
   176  * This was tested only with MSC; for other MSDOS compilers you may have
       
   177  * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
       
   178  * just define FAR to be empty.
       
   179  */
       
   180 #ifdef SYS16BIT
       
   181 #  if defined(M_I86SM) || defined(M_I86MM)
       
   182      /* MSC small or medium model */
       
   183 #    define SMALL_MEDIUM
       
   184 #    ifdef _MSC_VER
       
   185 #      define FAR _far
       
   186 #    else
       
   187 #      define FAR far
       
   188 #    endif
       
   189 #  endif
       
   190 #  if (defined(__SMALL__) || defined(__MEDIUM__))
       
   191      /* Turbo C small or medium model */
       
   192 #    define SMALL_MEDIUM
       
   193 #    ifdef __BORLANDC__
       
   194 #      define FAR _far
       
   195 #    else
       
   196 #      define FAR far
       
   197 #    endif
       
   198 #  endif
       
   199 #endif
       
   200 
       
   201 #if defined(WINDOWS) || defined(WIN32)
       
   202    /* If building or using zlib as a DLL, define ZLIB_DLL.
       
   203     * This is not mandatory, but it offers a little performance increase.
       
   204     */
       
   205 #  ifdef ZLIB_DLL
       
   206 #    if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
       
   207 #      ifdef ZLIB_INTERNAL
       
   208 #        define ZEXTERN extern __declspec(dllexport)
       
   209 #      else
       
   210 #        define ZEXTERN extern __declspec(dllimport)
       
   211 #      endif
       
   212 #    endif
       
   213 #  endif  /* ZLIB_DLL */
       
   214    /* If building or using zlib with the WINAPI/WINAPIV calling convention,
       
   215     * define ZLIB_WINAPI.
       
   216     * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
       
   217     */
       
   218 #  ifdef ZLIB_WINAPI
       
   219 #    ifdef FAR
       
   220 #      undef FAR
       
   221 #    endif
       
   222 #    include <windows.h>
       
   223      /* No need for _export, use ZLIB.DEF instead. */
       
   224      /* For complete Windows compatibility, use WINAPI, not __stdcall. */
       
   225 #    define ZEXPORT WINAPI
       
   226 #    ifdef WIN32
       
   227 #      define ZEXPORTVA WINAPIV
       
   228 #    else
       
   229 #      define ZEXPORTVA FAR CDECL
       
   230 #    endif
       
   231 #  endif
       
   232 #endif
       
   233 
       
   234 #if defined (__BEOS__)
       
   235 #  ifdef ZLIB_DLL
       
   236 #    ifdef ZLIB_INTERNAL
       
   237 #      define ZEXPORT   __declspec(dllexport)
       
   238 #      define ZEXPORTVA __declspec(dllexport)
       
   239 #    else
       
   240 #      define ZEXPORT   __declspec(dllimport)
       
   241 #      define ZEXPORTVA __declspec(dllimport)
       
   242 #    endif
       
   243 #  endif
       
   244 #endif
       
   245 
       
   246 #ifndef ZEXTERN
       
   247 #  define ZEXTERN extern
       
   248 #endif
       
   249 #ifndef ZEXPORT
       
   250 #  define ZEXPORT
       
   251 #endif
       
   252 #ifndef ZEXPORTVA
       
   253 #  define ZEXPORTVA
       
   254 #endif
       
   255 
       
   256 #ifndef FAR
       
   257 #  define FAR
       
   258 #endif
       
   259 
       
   260 #if !defined(__MACTYPES__)
       
   261 typedef unsigned char  Byte;  /* 8 bits */
       
   262 #endif
       
   263 typedef unsigned int   uInt;  /* 16 bits or more */
       
   264 typedef unsigned long  uLong; /* 32 bits or more */
       
   265 
       
   266 #ifdef SMALL_MEDIUM
       
   267    /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
       
   268 #  define Bytef Byte FAR
       
   269 #else
       
   270    typedef Byte  FAR Bytef;
       
   271 #endif
       
   272 typedef char  FAR charf;
       
   273 typedef int   FAR intf;
       
   274 typedef uInt  FAR uIntf;
       
   275 typedef uLong FAR uLongf;
       
   276 
       
   277 #ifdef STDC
       
   278    typedef void const *voidpc;
       
   279    typedef void FAR   *voidpf;
       
   280    typedef void       *voidp;
       
   281 #else
       
   282    typedef Byte const *voidpc;
       
   283    typedef Byte FAR   *voidpf;
       
   284    typedef Byte       *voidp;
       
   285 #endif
       
   286 
       
   287 #if 0           /* HAVE_UNISTD_H -- this line is updated by ./configure */
       
   288 #  include <sys/types.h> /* for off_t */
       
   289 #  include <unistd.h>    /* for SEEK_* and off_t */
       
   290 #  ifdef VMS
       
   291 #    include <unixio.h>   /* for off_t */
       
   292 #  endif
       
   293 #  define z_off_t off_t
       
   294 #endif
       
   295 #ifndef SEEK_SET
       
   296 #  define SEEK_SET        0       /* Seek from beginning of file.  */
       
   297 #  define SEEK_CUR        1       /* Seek from current position.  */
       
   298 #  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
       
   299 #endif
       
   300 #ifndef z_off_t
       
   301 #  define z_off_t long
       
   302 #endif
       
   303 
       
   304 #if defined(__OS400__)
       
   305 #  define NO_vsnprintf
       
   306 #endif
       
   307 
       
   308 #if defined(__MVS__)
       
   309 #  define NO_vsnprintf
       
   310 #  ifdef FAR
       
   311 #    undef FAR
       
   312 #  endif
       
   313 #endif
       
   314 
       
   315 /* MVS linker does not support external names larger than 8 bytes */
       
   316 #if defined(__MVS__)
       
   317 #   pragma map(deflateInit_,"DEIN")
       
   318 #   pragma map(deflateInit2_,"DEIN2")
       
   319 #   pragma map(deflateEnd,"DEEND")
       
   320 #   pragma map(deflateBound,"DEBND")
       
   321 #   pragma map(inflateInit_,"ININ")
       
   322 #   pragma map(inflateInit2_,"ININ2")
       
   323 #   pragma map(inflateEnd,"INEND")
       
   324 #   pragma map(inflateSync,"INSY")
       
   325 #   pragma map(inflateSetDictionary,"INSEDI")
       
   326 #   pragma map(compressBound,"CMBND")
       
   327 #   pragma map(inflate_table,"INTABL")
       
   328 #   pragma map(inflate_fast,"INFA")
       
   329 #   pragma map(inflate_copyright,"INCOPY")
       
   330 #endif
       
   331 
       
   332 #endif /* ZCONF_H */