core/zlib/zconf.h
author David Anderson <dvander@alliedmods.net>
Mon Feb 26 09:21:08 2007 +0000 (2007-02-26)
changeset 539 fa7e8a232a18
parent 159 43c471413f70
permissions -rw-r--r--
fixed stupid export
dvander@159
     1
/* zconf.h -- configuration of the zlib compression library
dvander@159
     2
 * Copyright (C) 1995-2005 Jean-loup Gailly.
dvander@159
     3
 * For conditions of distribution and use, see copyright notice in zlib.h
dvander@159
     4
 */
dvander@159
     5
dvander@159
     6
/* @(#) $Id$ */
dvander@159
     7
dvander@159
     8
#ifndef ZCONF_H
dvander@159
     9
#define ZCONF_H
dvander@159
    10
dvander@159
    11
#if defined(__MSDOS__) && !defined(MSDOS)
dvander@159
    12
#  define MSDOS
dvander@159
    13
#endif
dvander@159
    14
#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
dvander@159
    15
#  define OS2
dvander@159
    16
#endif
dvander@159
    17
#if defined(_WINDOWS) && !defined(WINDOWS)
dvander@159
    18
#  define WINDOWS
dvander@159
    19
#endif
dvander@159
    20
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
dvander@159
    21
#  ifndef WIN32
dvander@159
    22
#    define WIN32
dvander@159
    23
#  endif
dvander@159
    24
#endif
dvander@159
    25
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
dvander@159
    26
#  if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
dvander@159
    27
#    ifndef SYS16BIT
dvander@159
    28
#      define SYS16BIT
dvander@159
    29
#    endif
dvander@159
    30
#  endif
dvander@159
    31
#endif
dvander@159
    32
dvander@159
    33
/*
dvander@159
    34
 * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
dvander@159
    35
 * than 64k bytes at a time (needed on systems with 16-bit int).
dvander@159
    36
 */
dvander@159
    37
#ifdef SYS16BIT
dvander@159
    38
#  define MAXSEG_64K
dvander@159
    39
#endif
dvander@159
    40
#ifdef MSDOS
dvander@159
    41
#  define UNALIGNED_OK
dvander@159
    42
#endif
dvander@159
    43
dvander@159
    44
#ifdef __STDC_VERSION__
dvander@159
    45
#  ifndef STDC
dvander@159
    46
#    define STDC
dvander@159
    47
#  endif
dvander@159
    48
#  if __STDC_VERSION__ >= 199901L
dvander@159
    49
#    ifndef STDC99
dvander@159
    50
#      define STDC99
dvander@159
    51
#    endif
dvander@159
    52
#  endif
dvander@159
    53
#endif
dvander@159
    54
#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
dvander@159
    55
#  define STDC
dvander@159
    56
#endif
dvander@159
    57
#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
dvander@159
    58
#  define STDC
dvander@159
    59
#endif
dvander@159
    60
#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
dvander@159
    61
#  define STDC
dvander@159
    62
#endif
dvander@159
    63
#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
dvander@159
    64
#  define STDC
dvander@159
    65
#endif
dvander@159
    66
dvander@159
    67
#if defined(__OS400__) && !defined(STDC)    /* iSeries (formerly AS/400). */
dvander@159
    68
#  define STDC
dvander@159
    69
#endif
dvander@159
    70
dvander@159
    71
#ifndef STDC
dvander@159
    72
#  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
dvander@159
    73
#    define const       /* note: need a more gentle solution here */
dvander@159
    74
#  endif
dvander@159
    75
#endif
dvander@159
    76
dvander@159
    77
/* Some Mac compilers merge all .h files incorrectly: */
dvander@159
    78
#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
dvander@159
    79
#  define NO_DUMMY_DECL
dvander@159
    80
#endif
dvander@159
    81
dvander@159
    82
/* Maximum value for memLevel in deflateInit2 */
dvander@159
    83
#ifndef MAX_MEM_LEVEL
dvander@159
    84
#  ifdef MAXSEG_64K
dvander@159
    85
#    define MAX_MEM_LEVEL 8
dvander@159
    86
#  else
dvander@159
    87
#    define MAX_MEM_LEVEL 9
dvander@159
    88
#  endif
dvander@159
    89
#endif
dvander@159
    90
dvander@159
    91
/* Maximum value for windowBits in deflateInit2 and inflateInit2.
dvander@159
    92
 * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
dvander@159
    93
 * created by gzip. (Files created by minigzip can still be extracted by
dvander@159
    94
 * gzip.)
dvander@159
    95
 */
dvander@159
    96
#ifndef MAX_WBITS
dvander@159
    97
#  define MAX_WBITS   15 /* 32K LZ77 window */
dvander@159
    98
#endif
dvander@159
    99
dvander@159
   100
/* The memory requirements for deflate are (in bytes):
dvander@159
   101
            (1 << (windowBits+2)) +  (1 << (memLevel+9))
dvander@159
   102
 that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
dvander@159
   103
 plus a few kilobytes for small objects. For example, if you want to reduce
dvander@159
   104
 the default memory requirements from 256K to 128K, compile with
dvander@159
   105
     make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
dvander@159
   106
 Of course this will generally degrade compression (there's no free lunch).
dvander@159
   107
dvander@159
   108
   The memory requirements for inflate are (in bytes) 1 << windowBits
dvander@159
   109
 that is, 32K for windowBits=15 (default value) plus a few kilobytes
dvander@159
   110
 for small objects.
dvander@159
   111
*/
dvander@159
   112
dvander@159
   113
                        /* Type declarations */
dvander@159
   114
dvander@159
   115
#ifndef OF /* function prototypes */
dvander@159
   116
#  ifdef STDC
dvander@159
   117
#    define OF(args)  args
dvander@159
   118
#  else
dvander@159
   119
#    define OF(args)  ()
dvander@159
   120
#  endif
dvander@159
   121
#endif
dvander@159
   122
dvander@159
   123
/* The following definitions for FAR are needed only for MSDOS mixed
dvander@159
   124
 * model programming (small or medium model with some far allocations).
dvander@159
   125
 * This was tested only with MSC; for other MSDOS compilers you may have
dvander@159
   126
 * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
dvander@159
   127
 * just define FAR to be empty.
dvander@159
   128
 */
dvander@159
   129
#ifdef SYS16BIT
dvander@159
   130
#  if defined(M_I86SM) || defined(M_I86MM)
dvander@159
   131
     /* MSC small or medium model */
dvander@159
   132
#    define SMALL_MEDIUM
dvander@159
   133
#    ifdef _MSC_VER
dvander@159
   134
#      define FAR _far
dvander@159
   135
#    else
dvander@159
   136
#      define FAR far
dvander@159
   137
#    endif
dvander@159
   138
#  endif
dvander@159
   139
#  if (defined(__SMALL__) || defined(__MEDIUM__))
dvander@159
   140
     /* Turbo C small or medium model */
dvander@159
   141
#    define SMALL_MEDIUM
dvander@159
   142
#    ifdef __BORLANDC__
dvander@159
   143
#      define FAR _far
dvander@159
   144
#    else
dvander@159
   145
#      define FAR far
dvander@159
   146
#    endif
dvander@159
   147
#  endif
dvander@159
   148
#endif
dvander@159
   149
dvander@159
   150
#if defined(WINDOWS) || defined(WIN32)
dvander@159
   151
   /* If building or using zlib as a DLL, define ZLIB_DLL.
dvander@159
   152
    * This is not mandatory, but it offers a little performance increase.
dvander@159
   153
    */
dvander@159
   154
#  ifdef ZLIB_DLL
dvander@159
   155
#    if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
dvander@159
   156
#      ifdef ZLIB_INTERNAL
dvander@159
   157
#        define ZEXTERN extern __declspec(dllexport)
dvander@159
   158
#      else
dvander@159
   159
#        define ZEXTERN extern __declspec(dllimport)
dvander@159
   160
#      endif
dvander@159
   161
#    endif
dvander@159
   162
#  endif  /* ZLIB_DLL */
dvander@159
   163
   /* If building or using zlib with the WINAPI/WINAPIV calling convention,
dvander@159
   164
    * define ZLIB_WINAPI.
dvander@159
   165
    * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
dvander@159
   166
    */
dvander@159
   167
#  ifdef ZLIB_WINAPI
dvander@159
   168
#    ifdef FAR
dvander@159
   169
#      undef FAR
dvander@159
   170
#    endif
dvander@159
   171
#    include <windows.h>
dvander@159
   172
     /* No need for _export, use ZLIB.DEF instead. */
dvander@159
   173
     /* For complete Windows compatibility, use WINAPI, not __stdcall. */
dvander@159
   174
#    define ZEXPORT WINAPI
dvander@159
   175
#    ifdef WIN32
dvander@159
   176
#      define ZEXPORTVA WINAPIV
dvander@159
   177
#    else
dvander@159
   178
#      define ZEXPORTVA FAR CDECL
dvander@159
   179
#    endif
dvander@159
   180
#  endif
dvander@159
   181
#endif
dvander@159
   182
dvander@159
   183
#if defined (__BEOS__)
dvander@159
   184
#  ifdef ZLIB_DLL
dvander@159
   185
#    ifdef ZLIB_INTERNAL
dvander@159
   186
#      define ZEXPORT   __declspec(dllexport)
dvander@159
   187
#      define ZEXPORTVA __declspec(dllexport)
dvander@159
   188
#    else
dvander@159
   189
#      define ZEXPORT   __declspec(dllimport)
dvander@159
   190
#      define ZEXPORTVA __declspec(dllimport)
dvander@159
   191
#    endif
dvander@159
   192
#  endif
dvander@159
   193
#endif
dvander@159
   194
dvander@159
   195
#ifndef ZEXTERN
dvander@159
   196
#  define ZEXTERN extern
dvander@159
   197
#endif
dvander@159
   198
#ifndef ZEXPORT
dvander@159
   199
#  define ZEXPORT
dvander@159
   200
#endif
dvander@159
   201
#ifndef ZEXPORTVA
dvander@159
   202
#  define ZEXPORTVA
dvander@159
   203
#endif
dvander@159
   204
dvander@159
   205
#ifndef FAR
dvander@159
   206
#  define FAR
dvander@159
   207
#endif
dvander@159
   208
dvander@159
   209
#if !defined(__MACTYPES__)
dvander@159
   210
typedef unsigned char  Byte;  /* 8 bits */
dvander@159
   211
#endif
dvander@159
   212
typedef unsigned int   uInt;  /* 16 bits or more */
dvander@159
   213
typedef unsigned long  uLong; /* 32 bits or more */
dvander@159
   214
dvander@159
   215
#ifdef SMALL_MEDIUM
dvander@159
   216
   /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
dvander@159
   217
#  define Bytef Byte FAR
dvander@159
   218
#else
dvander@159
   219
   typedef Byte  FAR Bytef;
dvander@159
   220
#endif
dvander@159
   221
typedef char  FAR charf;
dvander@159
   222
typedef int   FAR intf;
dvander@159
   223
typedef uInt  FAR uIntf;
dvander@159
   224
typedef uLong FAR uLongf;
dvander@159
   225
dvander@159
   226
#ifdef STDC
dvander@159
   227
   typedef void const *voidpc;
dvander@159
   228
   typedef void FAR   *voidpf;
dvander@159
   229
   typedef void       *voidp;
dvander@159
   230
#else
dvander@159
   231
   typedef Byte const *voidpc;
dvander@159
   232
   typedef Byte FAR   *voidpf;
dvander@159
   233
   typedef Byte       *voidp;
dvander@159
   234
#endif
dvander@159
   235
dvander@159
   236
#if 0           /* HAVE_UNISTD_H -- this line is updated by ./configure */
dvander@159
   237
#  include <sys/types.h> /* for off_t */
dvander@159
   238
#  include <unistd.h>    /* for SEEK_* and off_t */
dvander@159
   239
#  ifdef VMS
dvander@159
   240
#    include <unixio.h>   /* for off_t */
dvander@159
   241
#  endif
dvander@159
   242
#  define z_off_t off_t
dvander@159
   243
#endif
dvander@159
   244
#ifndef SEEK_SET
dvander@159
   245
#  define SEEK_SET        0       /* Seek from beginning of file.  */
dvander@159
   246
#  define SEEK_CUR        1       /* Seek from current position.  */
dvander@159
   247
#  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
dvander@159
   248
#endif
dvander@159
   249
#ifndef z_off_t
dvander@159
   250
#  define z_off_t long
dvander@159
   251
#endif
dvander@159
   252
dvander@159
   253
#if defined(__OS400__)
dvander@159
   254
#  define NO_vsnprintf
dvander@159
   255
#endif
dvander@159
   256
dvander@159
   257
#if defined(__MVS__)
dvander@159
   258
#  define NO_vsnprintf
dvander@159
   259
#  ifdef FAR
dvander@159
   260
#    undef FAR
dvander@159
   261
#  endif
dvander@159
   262
#endif
dvander@159
   263
dvander@159
   264
/* MVS linker does not support external names larger than 8 bytes */
dvander@159
   265
#if defined(__MVS__)
dvander@159
   266
#   pragma map(deflateInit_,"DEIN")
dvander@159
   267
#   pragma map(deflateInit2_,"DEIN2")
dvander@159
   268
#   pragma map(deflateEnd,"DEEND")
dvander@159
   269
#   pragma map(deflateBound,"DEBND")
dvander@159
   270
#   pragma map(inflateInit_,"ININ")
dvander@159
   271
#   pragma map(inflateInit2_,"ININ2")
dvander@159
   272
#   pragma map(inflateEnd,"INEND")
dvander@159
   273
#   pragma map(inflateSync,"INSY")
dvander@159
   274
#   pragma map(inflateSetDictionary,"INSEDI")
dvander@159
   275
#   pragma map(compressBound,"CMBND")
dvander@159
   276
#   pragma map(inflate_table,"INTABL")
dvander@159
   277
#   pragma map(inflate_fast,"INFA")
dvander@159
   278
#   pragma map(inflate_copyright,"INCOPY")
dvander@159
   279
#endif
dvander@159
   280
dvander@159
   281
#endif /* ZCONF_H */