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