xref: /netbsd-src/external/gpl3/binutils/dist/zlib/zconf.h.cmakein (revision fc4f42693f9b1c31f39f9cf50af1bf2010325808)
19573673dSchristos/* zconf.h -- configuration of the zlib compression library
2*fc4f4269Schristos * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler
39573673dSchristos * For conditions of distribution and use, see copyright notice in zlib.h
49573673dSchristos */
59573673dSchristos
6*fc4f4269Schristos/* @(#) Id */
79573673dSchristos
89573673dSchristos#ifndef ZCONF_H
99573673dSchristos#define ZCONF_H
109573673dSchristos#cmakedefine Z_PREFIX
119573673dSchristos#cmakedefine Z_HAVE_UNISTD_H
129573673dSchristos
139573673dSchristos/*
149573673dSchristos * If you *really* need a unique prefix for all types and library functions,
159573673dSchristos * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
169573673dSchristos * Even better than compiling with -DZ_PREFIX would be to use configure to set
179573673dSchristos * this permanently in zconf.h using "./configure --zprefix".
189573673dSchristos */
199573673dSchristos#ifdef Z_PREFIX     /* may be set to #if 1 by ./configure */
209573673dSchristos#  define Z_PREFIX_SET
219573673dSchristos
22*fc4f4269Schristos/* all linked symbols and init macros */
239573673dSchristos#  define _dist_code            z__dist_code
249573673dSchristos#  define _length_code          z__length_code
259573673dSchristos#  define _tr_align             z__tr_align
268cbf5cb7Schristos#  define _tr_flush_bits        z__tr_flush_bits
279573673dSchristos#  define _tr_flush_block       z__tr_flush_block
289573673dSchristos#  define _tr_init              z__tr_init
299573673dSchristos#  define _tr_stored_block      z__tr_stored_block
309573673dSchristos#  define _tr_tally             z__tr_tally
319573673dSchristos#  define adler32               z_adler32
329573673dSchristos#  define adler32_combine       z_adler32_combine
339573673dSchristos#  define adler32_combine64     z_adler32_combine64
34*fc4f4269Schristos#  define adler32_z             z_adler32_z
359573673dSchristos#  ifndef Z_SOLO
369573673dSchristos#    define compress              z_compress
379573673dSchristos#    define compress2             z_compress2
389573673dSchristos#    define compressBound         z_compressBound
399573673dSchristos#  endif
409573673dSchristos#  define crc32                 z_crc32
419573673dSchristos#  define crc32_combine         z_crc32_combine
429573673dSchristos#  define crc32_combine64       z_crc32_combine64
43*fc4f4269Schristos#  define crc32_z               z_crc32_z
449573673dSchristos#  define deflate               z_deflate
459573673dSchristos#  define deflateBound          z_deflateBound
469573673dSchristos#  define deflateCopy           z_deflateCopy
479573673dSchristos#  define deflateEnd            z_deflateEnd
48*fc4f4269Schristos#  define deflateGetDictionary  z_deflateGetDictionary
49*fc4f4269Schristos#  define deflateInit           z_deflateInit
50*fc4f4269Schristos#  define deflateInit2          z_deflateInit2
519573673dSchristos#  define deflateInit2_         z_deflateInit2_
529573673dSchristos#  define deflateInit_          z_deflateInit_
539573673dSchristos#  define deflateParams         z_deflateParams
549573673dSchristos#  define deflatePending        z_deflatePending
559573673dSchristos#  define deflatePrime          z_deflatePrime
569573673dSchristos#  define deflateReset          z_deflateReset
579573673dSchristos#  define deflateResetKeep      z_deflateResetKeep
589573673dSchristos#  define deflateSetDictionary  z_deflateSetDictionary
599573673dSchristos#  define deflateSetHeader      z_deflateSetHeader
609573673dSchristos#  define deflateTune           z_deflateTune
619573673dSchristos#  define deflate_copyright     z_deflate_copyright
629573673dSchristos#  define get_crc_table         z_get_crc_table
639573673dSchristos#  ifndef Z_SOLO
649573673dSchristos#    define gz_error              z_gz_error
659573673dSchristos#    define gz_intmax             z_gz_intmax
669573673dSchristos#    define gz_strwinerror        z_gz_strwinerror
679573673dSchristos#    define gzbuffer              z_gzbuffer
689573673dSchristos#    define gzclearerr            z_gzclearerr
699573673dSchristos#    define gzclose               z_gzclose
709573673dSchristos#    define gzclose_r             z_gzclose_r
719573673dSchristos#    define gzclose_w             z_gzclose_w
729573673dSchristos#    define gzdirect              z_gzdirect
739573673dSchristos#    define gzdopen               z_gzdopen
749573673dSchristos#    define gzeof                 z_gzeof
759573673dSchristos#    define gzerror               z_gzerror
769573673dSchristos#    define gzflush               z_gzflush
77*fc4f4269Schristos#    define gzfread               z_gzfread
78*fc4f4269Schristos#    define gzfwrite              z_gzfwrite
799573673dSchristos#    define gzgetc                z_gzgetc
809573673dSchristos#    define gzgetc_               z_gzgetc_
819573673dSchristos#    define gzgets                z_gzgets
829573673dSchristos#    define gzoffset              z_gzoffset
839573673dSchristos#    define gzoffset64            z_gzoffset64
849573673dSchristos#    define gzopen                z_gzopen
859573673dSchristos#    define gzopen64              z_gzopen64
869573673dSchristos#    ifdef _WIN32
879573673dSchristos#      define gzopen_w              z_gzopen_w
889573673dSchristos#    endif
899573673dSchristos#    define gzprintf              z_gzprintf
909573673dSchristos#    define gzputc                z_gzputc
919573673dSchristos#    define gzputs                z_gzputs
929573673dSchristos#    define gzread                z_gzread
939573673dSchristos#    define gzrewind              z_gzrewind
949573673dSchristos#    define gzseek                z_gzseek
959573673dSchristos#    define gzseek64              z_gzseek64
969573673dSchristos#    define gzsetparams           z_gzsetparams
979573673dSchristos#    define gztell                z_gztell
989573673dSchristos#    define gztell64              z_gztell64
999573673dSchristos#    define gzungetc              z_gzungetc
100*fc4f4269Schristos#    define gzvprintf             z_gzvprintf
1019573673dSchristos#    define gzwrite               z_gzwrite
1029573673dSchristos#  endif
1039573673dSchristos#  define inflate               z_inflate
1049573673dSchristos#  define inflateBack           z_inflateBack
1059573673dSchristos#  define inflateBackEnd        z_inflateBackEnd
106*fc4f4269Schristos#  define inflateBackInit       z_inflateBackInit
1079573673dSchristos#  define inflateBackInit_      z_inflateBackInit_
108*fc4f4269Schristos#  define inflateCodesUsed      z_inflateCodesUsed
1099573673dSchristos#  define inflateCopy           z_inflateCopy
1109573673dSchristos#  define inflateEnd            z_inflateEnd
111*fc4f4269Schristos#  define inflateGetDictionary  z_inflateGetDictionary
1129573673dSchristos#  define inflateGetHeader      z_inflateGetHeader
113*fc4f4269Schristos#  define inflateInit           z_inflateInit
114*fc4f4269Schristos#  define inflateInit2          z_inflateInit2
1159573673dSchristos#  define inflateInit2_         z_inflateInit2_
1169573673dSchristos#  define inflateInit_          z_inflateInit_
1179573673dSchristos#  define inflateMark           z_inflateMark
1189573673dSchristos#  define inflatePrime          z_inflatePrime
1199573673dSchristos#  define inflateReset          z_inflateReset
1209573673dSchristos#  define inflateReset2         z_inflateReset2
121*fc4f4269Schristos#  define inflateResetKeep      z_inflateResetKeep
1229573673dSchristos#  define inflateSetDictionary  z_inflateSetDictionary
1239573673dSchristos#  define inflateSync           z_inflateSync
1249573673dSchristos#  define inflateSyncPoint      z_inflateSyncPoint
1259573673dSchristos#  define inflateUndermine      z_inflateUndermine
126*fc4f4269Schristos#  define inflateValidate       z_inflateValidate
1279573673dSchristos#  define inflate_copyright     z_inflate_copyright
1289573673dSchristos#  define inflate_fast          z_inflate_fast
1299573673dSchristos#  define inflate_table         z_inflate_table
1309573673dSchristos#  ifndef Z_SOLO
1319573673dSchristos#    define uncompress            z_uncompress
132*fc4f4269Schristos#    define uncompress2           z_uncompress2
1339573673dSchristos#  endif
1349573673dSchristos#  define zError                z_zError
1359573673dSchristos#  ifndef Z_SOLO
1369573673dSchristos#    define zcalloc               z_zcalloc
1379573673dSchristos#    define zcfree                z_zcfree
1389573673dSchristos#  endif
1399573673dSchristos#  define zlibCompileFlags      z_zlibCompileFlags
1409573673dSchristos#  define zlibVersion           z_zlibVersion
1419573673dSchristos
1429573673dSchristos/* all zlib typedefs in zlib.h and zconf.h */
1439573673dSchristos#  define Byte                  z_Byte
1449573673dSchristos#  define Bytef                 z_Bytef
1459573673dSchristos#  define alloc_func            z_alloc_func
1469573673dSchristos#  define charf                 z_charf
1479573673dSchristos#  define free_func             z_free_func
1489573673dSchristos#  ifndef Z_SOLO
1499573673dSchristos#    define gzFile                z_gzFile
1509573673dSchristos#  endif
1519573673dSchristos#  define gz_header             z_gz_header
1529573673dSchristos#  define gz_headerp            z_gz_headerp
1539573673dSchristos#  define in_func               z_in_func
1549573673dSchristos#  define intf                  z_intf
1559573673dSchristos#  define out_func              z_out_func
1569573673dSchristos#  define uInt                  z_uInt
1579573673dSchristos#  define uIntf                 z_uIntf
1589573673dSchristos#  define uLong                 z_uLong
1599573673dSchristos#  define uLongf                z_uLongf
1609573673dSchristos#  define voidp                 z_voidp
1619573673dSchristos#  define voidpc                z_voidpc
1629573673dSchristos#  define voidpf                z_voidpf
1639573673dSchristos
1649573673dSchristos/* all zlib structs in zlib.h and zconf.h */
1659573673dSchristos#  define gz_header_s           z_gz_header_s
1669573673dSchristos#  define internal_state        z_internal_state
1679573673dSchristos
1689573673dSchristos#endif
1699573673dSchristos
1709573673dSchristos#if defined(__MSDOS__) && !defined(MSDOS)
1719573673dSchristos#  define MSDOS
1729573673dSchristos#endif
1739573673dSchristos#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
1749573673dSchristos#  define OS2
1759573673dSchristos#endif
1769573673dSchristos#if defined(_WINDOWS) && !defined(WINDOWS)
1779573673dSchristos#  define WINDOWS
1789573673dSchristos#endif
1799573673dSchristos#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
1809573673dSchristos#  ifndef WIN32
1819573673dSchristos#    define WIN32
1829573673dSchristos#  endif
1839573673dSchristos#endif
1849573673dSchristos#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
1859573673dSchristos#  if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
1869573673dSchristos#    ifndef SYS16BIT
1879573673dSchristos#      define SYS16BIT
1889573673dSchristos#    endif
1899573673dSchristos#  endif
1909573673dSchristos#endif
1919573673dSchristos
1929573673dSchristos/*
1939573673dSchristos * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
1949573673dSchristos * than 64k bytes at a time (needed on systems with 16-bit int).
1959573673dSchristos */
1969573673dSchristos#ifdef SYS16BIT
1979573673dSchristos#  define MAXSEG_64K
1989573673dSchristos#endif
1999573673dSchristos#ifdef MSDOS
2009573673dSchristos#  define UNALIGNED_OK
2019573673dSchristos#endif
2029573673dSchristos
2039573673dSchristos#ifdef __STDC_VERSION__
2049573673dSchristos#  ifndef STDC
2059573673dSchristos#    define STDC
2069573673dSchristos#  endif
2079573673dSchristos#  if __STDC_VERSION__ >= 199901L
2089573673dSchristos#    ifndef STDC99
2099573673dSchristos#      define STDC99
2109573673dSchristos#    endif
2119573673dSchristos#  endif
2129573673dSchristos#endif
2139573673dSchristos#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
2149573673dSchristos#  define STDC
2159573673dSchristos#endif
2169573673dSchristos#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
2179573673dSchristos#  define STDC
2189573673dSchristos#endif
2199573673dSchristos#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
2209573673dSchristos#  define STDC
2219573673dSchristos#endif
2229573673dSchristos#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
2239573673dSchristos#  define STDC
2249573673dSchristos#endif
2259573673dSchristos
2269573673dSchristos#if defined(__OS400__) && !defined(STDC)    /* iSeries (formerly AS/400). */
2279573673dSchristos#  define STDC
2289573673dSchristos#endif
2299573673dSchristos
2309573673dSchristos#ifndef STDC
2319573673dSchristos#  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
2329573673dSchristos#    define const       /* note: need a more gentle solution here */
2339573673dSchristos#  endif
2349573673dSchristos#endif
2359573673dSchristos
2369573673dSchristos#if defined(ZLIB_CONST) && !defined(z_const)
2379573673dSchristos#  define z_const const
2389573673dSchristos#else
2399573673dSchristos#  define z_const
2409573673dSchristos#endif
2419573673dSchristos
242*fc4f4269Schristos#ifdef Z_SOLO
243*fc4f4269Schristos   typedef unsigned long z_size_t;
244*fc4f4269Schristos#else
245*fc4f4269Schristos#  define z_longlong long long
246*fc4f4269Schristos#  if defined(NO_SIZE_T)
247*fc4f4269Schristos     typedef unsigned NO_SIZE_T z_size_t;
248*fc4f4269Schristos#  elif defined(STDC)
249*fc4f4269Schristos#    include <stddef.h>
250*fc4f4269Schristos     typedef size_t z_size_t;
251*fc4f4269Schristos#  else
252*fc4f4269Schristos     typedef unsigned long z_size_t;
253*fc4f4269Schristos#  endif
254*fc4f4269Schristos#  undef z_longlong
2559573673dSchristos#endif
2569573673dSchristos
2579573673dSchristos/* Maximum value for memLevel in deflateInit2 */
2589573673dSchristos#ifndef MAX_MEM_LEVEL
2599573673dSchristos#  ifdef MAXSEG_64K
2609573673dSchristos#    define MAX_MEM_LEVEL 8
2619573673dSchristos#  else
2629573673dSchristos#    define MAX_MEM_LEVEL 9
2639573673dSchristos#  endif
2649573673dSchristos#endif
2659573673dSchristos
2669573673dSchristos/* Maximum value for windowBits in deflateInit2 and inflateInit2.
2679573673dSchristos * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
2689573673dSchristos * created by gzip. (Files created by minigzip can still be extracted by
2699573673dSchristos * gzip.)
2709573673dSchristos */
2719573673dSchristos#ifndef MAX_WBITS
2729573673dSchristos#  define MAX_WBITS   15 /* 32K LZ77 window */
2739573673dSchristos#endif
2749573673dSchristos
2759573673dSchristos/* The memory requirements for deflate are (in bytes):
2769573673dSchristos            (1 << (windowBits+2)) +  (1 << (memLevel+9))
2779573673dSchristos that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
2789573673dSchristos plus a few kilobytes for small objects. For example, if you want to reduce
2799573673dSchristos the default memory requirements from 256K to 128K, compile with
2809573673dSchristos     make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
2819573673dSchristos Of course this will generally degrade compression (there's no free lunch).
2829573673dSchristos
2839573673dSchristos   The memory requirements for inflate are (in bytes) 1 << windowBits
284*fc4f4269Schristos that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
2859573673dSchristos for small objects.
2869573673dSchristos*/
2879573673dSchristos
2889573673dSchristos                        /* Type declarations */
2899573673dSchristos
2909573673dSchristos#ifndef OF /* function prototypes */
2919573673dSchristos#  ifdef STDC
2929573673dSchristos#    define OF(args)  args
2939573673dSchristos#  else
2949573673dSchristos#    define OF(args)  ()
2959573673dSchristos#  endif
2969573673dSchristos#endif
2979573673dSchristos
2989573673dSchristos#ifndef Z_ARG /* function prototypes for stdarg */
2999573673dSchristos#  if defined(STDC) || defined(Z_HAVE_STDARG_H)
3009573673dSchristos#    define Z_ARG(args)  args
3019573673dSchristos#  else
3029573673dSchristos#    define Z_ARG(args)  ()
3039573673dSchristos#  endif
3049573673dSchristos#endif
3059573673dSchristos
3069573673dSchristos/* The following definitions for FAR are needed only for MSDOS mixed
3079573673dSchristos * model programming (small or medium model with some far allocations).
3089573673dSchristos * This was tested only with MSC; for other MSDOS compilers you may have
3099573673dSchristos * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
3109573673dSchristos * just define FAR to be empty.
3119573673dSchristos */
3129573673dSchristos#ifdef SYS16BIT
3139573673dSchristos#  if defined(M_I86SM) || defined(M_I86MM)
3149573673dSchristos     /* MSC small or medium model */
3159573673dSchristos#    define SMALL_MEDIUM
3169573673dSchristos#    ifdef _MSC_VER
3179573673dSchristos#      define FAR _far
3189573673dSchristos#    else
3199573673dSchristos#      define FAR far
3209573673dSchristos#    endif
3219573673dSchristos#  endif
3229573673dSchristos#  if (defined(__SMALL__) || defined(__MEDIUM__))
3239573673dSchristos     /* Turbo C small or medium model */
3249573673dSchristos#    define SMALL_MEDIUM
3259573673dSchristos#    ifdef __BORLANDC__
3269573673dSchristos#      define FAR _far
3279573673dSchristos#    else
3289573673dSchristos#      define FAR far
3299573673dSchristos#    endif
3309573673dSchristos#  endif
3319573673dSchristos#endif
3329573673dSchristos
3339573673dSchristos#if defined(WINDOWS) || defined(WIN32)
3349573673dSchristos   /* If building or using zlib as a DLL, define ZLIB_DLL.
3359573673dSchristos    * This is not mandatory, but it offers a little performance increase.
3369573673dSchristos    */
3379573673dSchristos#  ifdef ZLIB_DLL
3389573673dSchristos#    if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
3399573673dSchristos#      ifdef ZLIB_INTERNAL
3409573673dSchristos#        define ZEXTERN extern __declspec(dllexport)
3419573673dSchristos#      else
3429573673dSchristos#        define ZEXTERN extern __declspec(dllimport)
3439573673dSchristos#      endif
3449573673dSchristos#    endif
3459573673dSchristos#  endif  /* ZLIB_DLL */
3469573673dSchristos   /* If building or using zlib with the WINAPI/WINAPIV calling convention,
3479573673dSchristos    * define ZLIB_WINAPI.
3489573673dSchristos    * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
3499573673dSchristos    */
3509573673dSchristos#  ifdef ZLIB_WINAPI
3519573673dSchristos#    ifdef FAR
3529573673dSchristos#      undef FAR
3539573673dSchristos#    endif
3549573673dSchristos#    include <windows.h>
3559573673dSchristos     /* No need for _export, use ZLIB.DEF instead. */
3569573673dSchristos     /* For complete Windows compatibility, use WINAPI, not __stdcall. */
3579573673dSchristos#    define ZEXPORT WINAPI
3589573673dSchristos#    ifdef WIN32
3599573673dSchristos#      define ZEXPORTVA WINAPIV
3609573673dSchristos#    else
3619573673dSchristos#      define ZEXPORTVA FAR CDECL
3629573673dSchristos#    endif
3639573673dSchristos#  endif
3649573673dSchristos#endif
3659573673dSchristos
3669573673dSchristos#if defined (__BEOS__)
3679573673dSchristos#  ifdef ZLIB_DLL
3689573673dSchristos#    ifdef ZLIB_INTERNAL
3699573673dSchristos#      define ZEXPORT   __declspec(dllexport)
3709573673dSchristos#      define ZEXPORTVA __declspec(dllexport)
3719573673dSchristos#    else
3729573673dSchristos#      define ZEXPORT   __declspec(dllimport)
3739573673dSchristos#      define ZEXPORTVA __declspec(dllimport)
3749573673dSchristos#    endif
3759573673dSchristos#  endif
3769573673dSchristos#endif
3779573673dSchristos
3789573673dSchristos#ifndef ZEXTERN
3799573673dSchristos#  define ZEXTERN extern
3809573673dSchristos#endif
3819573673dSchristos#ifndef ZEXPORT
3829573673dSchristos#  define ZEXPORT
3839573673dSchristos#endif
3849573673dSchristos#ifndef ZEXPORTVA
3859573673dSchristos#  define ZEXPORTVA
3869573673dSchristos#endif
3879573673dSchristos
3889573673dSchristos#ifndef FAR
3899573673dSchristos#  define FAR
3909573673dSchristos#endif
3919573673dSchristos
3929573673dSchristos#if !defined(__MACTYPES__)
3939573673dSchristostypedef unsigned char  Byte;  /* 8 bits */
3949573673dSchristos#endif
3959573673dSchristostypedef unsigned int   uInt;  /* 16 bits or more */
3969573673dSchristostypedef unsigned long  uLong; /* 32 bits or more */
3979573673dSchristos
3989573673dSchristos#ifdef SMALL_MEDIUM
3999573673dSchristos   /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
4009573673dSchristos#  define Bytef Byte FAR
4019573673dSchristos#else
4029573673dSchristos   typedef Byte  FAR Bytef;
4039573673dSchristos#endif
4049573673dSchristostypedef char  FAR charf;
4059573673dSchristostypedef int   FAR intf;
4069573673dSchristostypedef uInt  FAR uIntf;
4079573673dSchristostypedef uLong FAR uLongf;
4089573673dSchristos
4099573673dSchristos#ifdef STDC
4109573673dSchristos   typedef void const *voidpc;
4119573673dSchristos   typedef void FAR   *voidpf;
4129573673dSchristos   typedef void       *voidp;
4139573673dSchristos#else
4149573673dSchristos   typedef Byte const *voidpc;
4159573673dSchristos   typedef Byte FAR   *voidpf;
4169573673dSchristos   typedef Byte       *voidp;
4179573673dSchristos#endif
4189573673dSchristos
4199573673dSchristos#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
4209573673dSchristos#  include <limits.h>
4219573673dSchristos#  if (UINT_MAX == 0xffffffffUL)
4229573673dSchristos#    define Z_U4 unsigned
4238cbf5cb7Schristos#  elif (ULONG_MAX == 0xffffffffUL)
4249573673dSchristos#    define Z_U4 unsigned long
4258cbf5cb7Schristos#  elif (USHRT_MAX == 0xffffffffUL)
4269573673dSchristos#    define Z_U4 unsigned short
4279573673dSchristos#  endif
4289573673dSchristos#endif
4299573673dSchristos
4309573673dSchristos#ifdef Z_U4
4319573673dSchristos   typedef Z_U4 z_crc_t;
4329573673dSchristos#else
4339573673dSchristos   typedef unsigned long z_crc_t;
4349573673dSchristos#endif
4359573673dSchristos
4369573673dSchristos#ifdef HAVE_UNISTD_H    /* may be set to #if 1 by ./configure */
4379573673dSchristos#  define Z_HAVE_UNISTD_H
4389573673dSchristos#endif
4399573673dSchristos
4409573673dSchristos#ifdef HAVE_STDARG_H    /* may be set to #if 1 by ./configure */
4419573673dSchristos#  define Z_HAVE_STDARG_H
4429573673dSchristos#endif
4439573673dSchristos
4449573673dSchristos#ifdef STDC
4459573673dSchristos#  ifndef Z_SOLO
4469573673dSchristos#    include <sys/types.h>      /* for off_t */
4479573673dSchristos#  endif
4489573673dSchristos#endif
4499573673dSchristos
4508cbf5cb7Schristos#if defined(STDC) || defined(Z_HAVE_STDARG_H)
4518cbf5cb7Schristos#  ifndef Z_SOLO
4528cbf5cb7Schristos#    include <stdarg.h>         /* for va_list */
4538cbf5cb7Schristos#  endif
4548cbf5cb7Schristos#endif
4558cbf5cb7Schristos
4569573673dSchristos#ifdef _WIN32
4578cbf5cb7Schristos#  ifndef Z_SOLO
4589573673dSchristos#    include <stddef.h>         /* for wchar_t */
4599573673dSchristos#  endif
4608cbf5cb7Schristos#endif
4619573673dSchristos
4629573673dSchristos/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
4639573673dSchristos * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
4649573673dSchristos * though the former does not conform to the LFS document), but considering
4659573673dSchristos * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
4669573673dSchristos * equivalently requesting no 64-bit operations
4679573673dSchristos */
4688cbf5cb7Schristos#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
4699573673dSchristos#  undef _LARGEFILE64_SOURCE
4709573673dSchristos#endif
4719573673dSchristos
4729573673dSchristos#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
4739573673dSchristos#  define Z_HAVE_UNISTD_H
4749573673dSchristos#endif
4759573673dSchristos#ifndef Z_SOLO
4768cbf5cb7Schristos#  if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
4779573673dSchristos#    include <unistd.h>         /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
4789573673dSchristos#    ifdef VMS
4799573673dSchristos#      include <unixio.h>       /* for off_t */
4809573673dSchristos#    endif
4819573673dSchristos#    ifndef z_off_t
4829573673dSchristos#      define z_off_t off_t
4839573673dSchristos#    endif
4849573673dSchristos#  endif
4859573673dSchristos#endif
4869573673dSchristos
4879573673dSchristos#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
4889573673dSchristos#  define Z_LFS64
4899573673dSchristos#endif
4909573673dSchristos
4919573673dSchristos#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
4929573673dSchristos#  define Z_LARGE64
4939573673dSchristos#endif
4949573673dSchristos
4959573673dSchristos#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
4969573673dSchristos#  define Z_WANT64
4979573673dSchristos#endif
4989573673dSchristos
4999573673dSchristos#if !defined(SEEK_SET) && !defined(Z_SOLO)
5009573673dSchristos#  define SEEK_SET        0       /* Seek from beginning of file.  */
5019573673dSchristos#  define SEEK_CUR        1       /* Seek from current position.  */
5029573673dSchristos#  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
5039573673dSchristos#endif
5049573673dSchristos
5059573673dSchristos#ifndef z_off_t
5069573673dSchristos#  define z_off_t long
5079573673dSchristos#endif
5089573673dSchristos
5099573673dSchristos#if !defined(_WIN32) && defined(Z_LARGE64)
5109573673dSchristos#  define z_off64_t off64_t
5119573673dSchristos#else
5129573673dSchristos#  if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
5139573673dSchristos#    define z_off64_t __int64
5149573673dSchristos#  else
5159573673dSchristos#    define z_off64_t z_off_t
5169573673dSchristos#  endif
5179573673dSchristos#endif
5189573673dSchristos
5199573673dSchristos/* MVS linker does not support external names larger than 8 bytes */
5209573673dSchristos#if defined(__MVS__)
5219573673dSchristos  #pragma map(deflateInit_,"DEIN")
5229573673dSchristos  #pragma map(deflateInit2_,"DEIN2")
5239573673dSchristos  #pragma map(deflateEnd,"DEEND")
5249573673dSchristos  #pragma map(deflateBound,"DEBND")
5259573673dSchristos  #pragma map(inflateInit_,"ININ")
5269573673dSchristos  #pragma map(inflateInit2_,"ININ2")
5279573673dSchristos  #pragma map(inflateEnd,"INEND")
5289573673dSchristos  #pragma map(inflateSync,"INSY")
5299573673dSchristos  #pragma map(inflateSetDictionary,"INSEDI")
5309573673dSchristos  #pragma map(compressBound,"CMBND")
5319573673dSchristos  #pragma map(inflate_table,"INTABL")
5329573673dSchristos  #pragma map(inflate_fast,"INFA")
5339573673dSchristos  #pragma map(inflate_copyright,"INCOPY")
5349573673dSchristos#endif
5359573673dSchristos
5369573673dSchristos#endif /* ZCONF_H */
537