1311267Sdelphij/* zconf.h -- configuration of the zlib compression library 2313796Sdelphij * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler 3311267Sdelphij * For conditions of distribution and use, see copyright notice in zlib.h 4311267Sdelphij */ 5311267Sdelphij 6311267Sdelphij/* @(#) $Id$ */ 7311267Sdelphij 8311267Sdelphij#ifndef ZCONF_H 9311267Sdelphij#define ZCONF_H 10311267Sdelphij 11311267Sdelphij/* 12311267Sdelphij * If you *really* need a unique prefix for all types and library functions, 13311267Sdelphij * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. 14311267Sdelphij * Even better than compiling with -DZ_PREFIX would be to use configure to set 15311267Sdelphij * this permanently in zconf.h using "./configure --zprefix". 16311267Sdelphij */ 17311267Sdelphij#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ 18311267Sdelphij# define Z_PREFIX_SET 19311267Sdelphij 20313796Sdelphij/* all linked symbols and init macros */ 21311267Sdelphij# define _dist_code z__dist_code 22311267Sdelphij# define _length_code z__length_code 23311267Sdelphij# define _tr_align z__tr_align 24311267Sdelphij# define _tr_flush_bits z__tr_flush_bits 25311267Sdelphij# define _tr_flush_block z__tr_flush_block 26311267Sdelphij# define _tr_init z__tr_init 27311267Sdelphij# define _tr_stored_block z__tr_stored_block 28311267Sdelphij# define _tr_tally z__tr_tally 29311267Sdelphij# define adler32 z_adler32 30311267Sdelphij# define adler32_combine z_adler32_combine 31311267Sdelphij# define adler32_combine64 z_adler32_combine64 32313796Sdelphij# define adler32_z z_adler32_z 33311267Sdelphij# ifndef Z_SOLO 34311267Sdelphij# define compress z_compress 35311267Sdelphij# define compress2 z_compress2 36311267Sdelphij# define compressBound z_compressBound 37311267Sdelphij# endif 38311267Sdelphij# define crc32 z_crc32 39311267Sdelphij# define crc32_combine z_crc32_combine 40311267Sdelphij# define crc32_combine64 z_crc32_combine64 41313796Sdelphij# define crc32_z z_crc32_z 42311267Sdelphij# define deflate z_deflate 43311267Sdelphij# define deflateBound z_deflateBound 44311267Sdelphij# define deflateCopy z_deflateCopy 45311267Sdelphij# define deflateEnd z_deflateEnd 46313796Sdelphij# define deflateGetDictionary z_deflateGetDictionary 47313796Sdelphij# define deflateInit z_deflateInit 48313796Sdelphij# define deflateInit2 z_deflateInit2 49311267Sdelphij# define deflateInit2_ z_deflateInit2_ 50311267Sdelphij# define deflateInit_ z_deflateInit_ 51311267Sdelphij# define deflateParams z_deflateParams 52311267Sdelphij# define deflatePending z_deflatePending 53311267Sdelphij# define deflatePrime z_deflatePrime 54311267Sdelphij# define deflateReset z_deflateReset 55311267Sdelphij# define deflateResetKeep z_deflateResetKeep 56311267Sdelphij# define deflateSetDictionary z_deflateSetDictionary 57311267Sdelphij# define deflateSetHeader z_deflateSetHeader 58311267Sdelphij# define deflateTune z_deflateTune 59311267Sdelphij# define deflate_copyright z_deflate_copyright 60311267Sdelphij# define get_crc_table z_get_crc_table 61311267Sdelphij# ifndef Z_SOLO 62311267Sdelphij# define gz_error z_gz_error 63311267Sdelphij# define gz_intmax z_gz_intmax 64311267Sdelphij# define gz_strwinerror z_gz_strwinerror 65311267Sdelphij# define gzbuffer z_gzbuffer 66311267Sdelphij# define gzclearerr z_gzclearerr 67311267Sdelphij# define gzclose z_gzclose 68311267Sdelphij# define gzclose_r z_gzclose_r 69311267Sdelphij# define gzclose_w z_gzclose_w 70311267Sdelphij# define gzdirect z_gzdirect 71311267Sdelphij# define gzdopen z_gzdopen 72311267Sdelphij# define gzeof z_gzeof 73311267Sdelphij# define gzerror z_gzerror 74311267Sdelphij# define gzflush z_gzflush 75313796Sdelphij# define gzfread z_gzfread 76313796Sdelphij# define gzfwrite z_gzfwrite 77311267Sdelphij# define gzgetc z_gzgetc 78311267Sdelphij# define gzgetc_ z_gzgetc_ 79311267Sdelphij# define gzgets z_gzgets 80311267Sdelphij# define gzoffset z_gzoffset 81311267Sdelphij# define gzoffset64 z_gzoffset64 82311267Sdelphij# define gzopen z_gzopen 83311267Sdelphij# define gzopen64 z_gzopen64 84311267Sdelphij# ifdef _WIN32 85311267Sdelphij# define gzopen_w z_gzopen_w 86311267Sdelphij# endif 87311267Sdelphij# define gzprintf z_gzprintf 88311267Sdelphij# define gzputc z_gzputc 89311267Sdelphij# define gzputs z_gzputs 90311267Sdelphij# define gzread z_gzread 91311267Sdelphij# define gzrewind z_gzrewind 92311267Sdelphij# define gzseek z_gzseek 93311267Sdelphij# define gzseek64 z_gzseek64 94311267Sdelphij# define gzsetparams z_gzsetparams 95311267Sdelphij# define gztell z_gztell 96311267Sdelphij# define gztell64 z_gztell64 97311267Sdelphij# define gzungetc z_gzungetc 98313796Sdelphij# define gzvprintf z_gzvprintf 99311267Sdelphij# define gzwrite z_gzwrite 100311267Sdelphij# endif 101311267Sdelphij# define inflate z_inflate 102311267Sdelphij# define inflateBack z_inflateBack 103311267Sdelphij# define inflateBackEnd z_inflateBackEnd 104313796Sdelphij# define inflateBackInit z_inflateBackInit 105311267Sdelphij# define inflateBackInit_ z_inflateBackInit_ 106313796Sdelphij# define inflateCodesUsed z_inflateCodesUsed 107311267Sdelphij# define inflateCopy z_inflateCopy 108311267Sdelphij# define inflateEnd z_inflateEnd 109313796Sdelphij# define inflateGetDictionary z_inflateGetDictionary 110311267Sdelphij# define inflateGetHeader z_inflateGetHeader 111313796Sdelphij# define inflateInit z_inflateInit 112313796Sdelphij# define inflateInit2 z_inflateInit2 113311267Sdelphij# define inflateInit2_ z_inflateInit2_ 114311267Sdelphij# define inflateInit_ z_inflateInit_ 115311267Sdelphij# define inflateMark z_inflateMark 116311267Sdelphij# define inflatePrime z_inflatePrime 117311267Sdelphij# define inflateReset z_inflateReset 118311267Sdelphij# define inflateReset2 z_inflateReset2 119313796Sdelphij# define inflateResetKeep z_inflateResetKeep 120311267Sdelphij# define inflateSetDictionary z_inflateSetDictionary 121311267Sdelphij# define inflateSync z_inflateSync 122311267Sdelphij# define inflateSyncPoint z_inflateSyncPoint 123311267Sdelphij# define inflateUndermine z_inflateUndermine 124313796Sdelphij# define inflateValidate z_inflateValidate 125311267Sdelphij# define inflate_copyright z_inflate_copyright 126311267Sdelphij# define inflate_fast z_inflate_fast 127311267Sdelphij# define inflate_table z_inflate_table 128311267Sdelphij# ifndef Z_SOLO 129311267Sdelphij# define uncompress z_uncompress 130313796Sdelphij# define uncompress2 z_uncompress2 131311267Sdelphij# endif 132311267Sdelphij# define zError z_zError 133311267Sdelphij# ifndef Z_SOLO 134311267Sdelphij# define zcalloc z_zcalloc 135311267Sdelphij# define zcfree z_zcfree 136311267Sdelphij# endif 137311267Sdelphij# define zlibCompileFlags z_zlibCompileFlags 138311267Sdelphij# define zlibVersion z_zlibVersion 139311267Sdelphij 140311267Sdelphij/* all zlib typedefs in zlib.h and zconf.h */ 141311267Sdelphij# define Byte z_Byte 142311267Sdelphij# define Bytef z_Bytef 143311267Sdelphij# define alloc_func z_alloc_func 144311267Sdelphij# define charf z_charf 145311267Sdelphij# define free_func z_free_func 146311267Sdelphij# ifndef Z_SOLO 147311267Sdelphij# define gzFile z_gzFile 148311267Sdelphij# endif 149311267Sdelphij# define gz_header z_gz_header 150311267Sdelphij# define gz_headerp z_gz_headerp 151311267Sdelphij# define in_func z_in_func 152311267Sdelphij# define intf z_intf 153311267Sdelphij# define out_func z_out_func 154311267Sdelphij# define uInt z_uInt 155311267Sdelphij# define uIntf z_uIntf 156311267Sdelphij# define uLong z_uLong 157311267Sdelphij# define uLongf z_uLongf 158311267Sdelphij# define voidp z_voidp 159311267Sdelphij# define voidpc z_voidpc 160311267Sdelphij# define voidpf z_voidpf 161311267Sdelphij 162311267Sdelphij/* all zlib structs in zlib.h and zconf.h */ 163311267Sdelphij# define gz_header_s z_gz_header_s 164311267Sdelphij# define internal_state z_internal_state 165311267Sdelphij 166311267Sdelphij#endif 167311267Sdelphij 168311267Sdelphij#if defined(__MSDOS__) && !defined(MSDOS) 169311267Sdelphij# define MSDOS 170311267Sdelphij#endif 171311267Sdelphij#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) 172311267Sdelphij# define OS2 173311267Sdelphij#endif 174311267Sdelphij#if defined(_WINDOWS) && !defined(WINDOWS) 175311267Sdelphij# define WINDOWS 176311267Sdelphij#endif 177311267Sdelphij#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) 178311267Sdelphij# ifndef WIN32 179311267Sdelphij# define WIN32 180311267Sdelphij# endif 181311267Sdelphij#endif 182311267Sdelphij#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) 183311267Sdelphij# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) 184311267Sdelphij# ifndef SYS16BIT 185311267Sdelphij# define SYS16BIT 186311267Sdelphij# endif 187311267Sdelphij# endif 188311267Sdelphij#endif 189311267Sdelphij 190311267Sdelphij/* 191311267Sdelphij * Compile with -DMAXSEG_64K if the alloc function cannot allocate more 192311267Sdelphij * than 64k bytes at a time (needed on systems with 16-bit int). 193311267Sdelphij */ 194311267Sdelphij#ifdef SYS16BIT 195311267Sdelphij# define MAXSEG_64K 196311267Sdelphij#endif 197311267Sdelphij#ifdef MSDOS 198311267Sdelphij# define UNALIGNED_OK 199311267Sdelphij#endif 200311267Sdelphij 201311267Sdelphij#ifdef __STDC_VERSION__ 202311267Sdelphij# ifndef STDC 203311267Sdelphij# define STDC 204311267Sdelphij# endif 205311267Sdelphij# if __STDC_VERSION__ >= 199901L 206311267Sdelphij# ifndef STDC99 207311267Sdelphij# define STDC99 208311267Sdelphij# endif 209311267Sdelphij# endif 210311267Sdelphij#endif 211311267Sdelphij#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) 212311267Sdelphij# define STDC 213311267Sdelphij#endif 214311267Sdelphij#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) 215311267Sdelphij# define STDC 216311267Sdelphij#endif 217311267Sdelphij#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) 218311267Sdelphij# define STDC 219311267Sdelphij#endif 220311267Sdelphij#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) 221311267Sdelphij# define STDC 222311267Sdelphij#endif 223311267Sdelphij 224311267Sdelphij#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ 225311267Sdelphij# define STDC 226311267Sdelphij#endif 227311267Sdelphij 228311267Sdelphij#ifndef STDC 229311267Sdelphij# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ 230311267Sdelphij# define const /* note: need a more gentle solution here */ 231311267Sdelphij# endif 232311267Sdelphij#endif 233311267Sdelphij 234311267Sdelphij#if defined(ZLIB_CONST) && !defined(z_const) 235311267Sdelphij# define z_const const 236311267Sdelphij#else 237311267Sdelphij# define z_const 238311267Sdelphij#endif 239311267Sdelphij 240313796Sdelphij#ifdef Z_SOLO 241313796Sdelphij typedef unsigned long z_size_t; 242313796Sdelphij#else 243313796Sdelphij# define z_longlong long long 244313796Sdelphij# if defined(NO_SIZE_T) 245313796Sdelphij typedef unsigned NO_SIZE_T z_size_t; 246313796Sdelphij# elif defined(STDC) 247313796Sdelphij# include <stddef.h> 248313796Sdelphij typedef size_t z_size_t; 249313796Sdelphij# else 250313796Sdelphij typedef unsigned long z_size_t; 251313796Sdelphij# endif 252313796Sdelphij# undef z_longlong 253311267Sdelphij#endif 254311267Sdelphij 255311267Sdelphij/* Maximum value for memLevel in deflateInit2 */ 256311267Sdelphij#ifndef MAX_MEM_LEVEL 257311267Sdelphij# ifdef MAXSEG_64K 258311267Sdelphij# define MAX_MEM_LEVEL 8 259311267Sdelphij# else 260311267Sdelphij# define MAX_MEM_LEVEL 9 261311267Sdelphij# endif 262311267Sdelphij#endif 263311267Sdelphij 264311267Sdelphij/* Maximum value for windowBits in deflateInit2 and inflateInit2. 265311267Sdelphij * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files 266311267Sdelphij * created by gzip. (Files created by minigzip can still be extracted by 267311267Sdelphij * gzip.) 268311267Sdelphij */ 269311267Sdelphij#ifndef MAX_WBITS 270311267Sdelphij# define MAX_WBITS 15 /* 32K LZ77 window */ 271311267Sdelphij#endif 272311267Sdelphij 273311267Sdelphij/* The memory requirements for deflate are (in bytes): 274311267Sdelphij (1 << (windowBits+2)) + (1 << (memLevel+9)) 275311267Sdelphij that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) 276311267Sdelphij plus a few kilobytes for small objects. For example, if you want to reduce 277311267Sdelphij the default memory requirements from 256K to 128K, compile with 278311267Sdelphij make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" 279311267Sdelphij Of course this will generally degrade compression (there's no free lunch). 280311267Sdelphij 281311267Sdelphij The memory requirements for inflate are (in bytes) 1 << windowBits 282313796Sdelphij that is, 32K for windowBits=15 (default value) plus about 7 kilobytes 283311267Sdelphij for small objects. 284311267Sdelphij*/ 285311267Sdelphij 286311267Sdelphij /* Type declarations */ 287311267Sdelphij 288311267Sdelphij#ifndef OF /* function prototypes */ 289311267Sdelphij# ifdef STDC 290311267Sdelphij# define OF(args) args 291311267Sdelphij# else 292311267Sdelphij# define OF(args) () 293311267Sdelphij# endif 294311267Sdelphij#endif 295311267Sdelphij 296311267Sdelphij#ifndef Z_ARG /* function prototypes for stdarg */ 297311267Sdelphij# if defined(STDC) || defined(Z_HAVE_STDARG_H) 298311267Sdelphij# define Z_ARG(args) args 299311267Sdelphij# else 300311267Sdelphij# define Z_ARG(args) () 301311267Sdelphij# endif 302311267Sdelphij#endif 303311267Sdelphij 304311267Sdelphij/* The following definitions for FAR are needed only for MSDOS mixed 305311267Sdelphij * model programming (small or medium model with some far allocations). 306311267Sdelphij * This was tested only with MSC; for other MSDOS compilers you may have 307311267Sdelphij * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, 308311267Sdelphij * just define FAR to be empty. 309311267Sdelphij */ 310311267Sdelphij#ifdef SYS16BIT 311311267Sdelphij# if defined(M_I86SM) || defined(M_I86MM) 312311267Sdelphij /* MSC small or medium model */ 313311267Sdelphij# define SMALL_MEDIUM 314311267Sdelphij# ifdef _MSC_VER 315311267Sdelphij# define FAR _far 316311267Sdelphij# else 317311267Sdelphij# define FAR far 318311267Sdelphij# endif 319311267Sdelphij# endif 320311267Sdelphij# if (defined(__SMALL__) || defined(__MEDIUM__)) 321311267Sdelphij /* Turbo C small or medium model */ 322311267Sdelphij# define SMALL_MEDIUM 323311267Sdelphij# ifdef __BORLANDC__ 324311267Sdelphij# define FAR _far 325311267Sdelphij# else 326311267Sdelphij# define FAR far 327311267Sdelphij# endif 328311267Sdelphij# endif 329311267Sdelphij#endif 330311267Sdelphij 331311267Sdelphij#if defined(WINDOWS) || defined(WIN32) 332311267Sdelphij /* If building or using zlib as a DLL, define ZLIB_DLL. 333311267Sdelphij * This is not mandatory, but it offers a little performance increase. 334311267Sdelphij */ 335311267Sdelphij# ifdef ZLIB_DLL 336311267Sdelphij# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) 337311267Sdelphij# ifdef ZLIB_INTERNAL 338311267Sdelphij# define ZEXTERN extern __declspec(dllexport) 339311267Sdelphij# else 340311267Sdelphij# define ZEXTERN extern __declspec(dllimport) 341311267Sdelphij# endif 342311267Sdelphij# endif 343311267Sdelphij# endif /* ZLIB_DLL */ 344311267Sdelphij /* If building or using zlib with the WINAPI/WINAPIV calling convention, 345311267Sdelphij * define ZLIB_WINAPI. 346311267Sdelphij * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. 347311267Sdelphij */ 348311267Sdelphij# ifdef ZLIB_WINAPI 349311267Sdelphij# ifdef FAR 350311267Sdelphij# undef FAR 351311267Sdelphij# endif 352311267Sdelphij# include <windows.h> 353311267Sdelphij /* No need for _export, use ZLIB.DEF instead. */ 354311267Sdelphij /* For complete Windows compatibility, use WINAPI, not __stdcall. */ 355311267Sdelphij# define ZEXPORT WINAPI 356311267Sdelphij# ifdef WIN32 357311267Sdelphij# define ZEXPORTVA WINAPIV 358311267Sdelphij# else 359311267Sdelphij# define ZEXPORTVA FAR CDECL 360311267Sdelphij# endif 361311267Sdelphij# endif 362311267Sdelphij#endif 363311267Sdelphij 364311267Sdelphij#if defined (__BEOS__) 365311267Sdelphij# ifdef ZLIB_DLL 366311267Sdelphij# ifdef ZLIB_INTERNAL 367311267Sdelphij# define ZEXPORT __declspec(dllexport) 368311267Sdelphij# define ZEXPORTVA __declspec(dllexport) 369311267Sdelphij# else 370311267Sdelphij# define ZEXPORT __declspec(dllimport) 371311267Sdelphij# define ZEXPORTVA __declspec(dllimport) 372311267Sdelphij# endif 373311267Sdelphij# endif 374311267Sdelphij#endif 375311267Sdelphij 376311267Sdelphij#ifndef ZEXTERN 377311267Sdelphij# define ZEXTERN extern 378311267Sdelphij#endif 379311267Sdelphij#ifndef ZEXPORT 380311267Sdelphij# define ZEXPORT 381311267Sdelphij#endif 382311267Sdelphij#ifndef ZEXPORTVA 383311267Sdelphij# define ZEXPORTVA 384311267Sdelphij#endif 385311267Sdelphij 386311267Sdelphij#ifndef FAR 387311267Sdelphij# define FAR 388311267Sdelphij#endif 389311267Sdelphij 390311267Sdelphij#if !defined(__MACTYPES__) 391311267Sdelphijtypedef unsigned char Byte; /* 8 bits */ 392311267Sdelphij#endif 393311267Sdelphijtypedef unsigned int uInt; /* 16 bits or more */ 394311267Sdelphijtypedef unsigned long uLong; /* 32 bits or more */ 395311267Sdelphij 396311267Sdelphij#ifdef SMALL_MEDIUM 397311267Sdelphij /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ 398311267Sdelphij# define Bytef Byte FAR 399311267Sdelphij#else 400311267Sdelphij typedef Byte FAR Bytef; 401311267Sdelphij#endif 402311267Sdelphijtypedef char FAR charf; 403311267Sdelphijtypedef int FAR intf; 404311267Sdelphijtypedef uInt FAR uIntf; 405311267Sdelphijtypedef uLong FAR uLongf; 406311267Sdelphij 407311267Sdelphij#ifdef STDC 408311267Sdelphij typedef void const *voidpc; 409311267Sdelphij typedef void FAR *voidpf; 410311267Sdelphij typedef void *voidp; 411311267Sdelphij#else 412311267Sdelphij typedef Byte const *voidpc; 413311267Sdelphij typedef Byte FAR *voidpf; 414311267Sdelphij typedef Byte *voidp; 415311267Sdelphij#endif 416311267Sdelphij 417311267Sdelphij#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC) 418311267Sdelphij# include <limits.h> 419311267Sdelphij# if (UINT_MAX == 0xffffffffUL) 420311267Sdelphij# define Z_U4 unsigned 421311267Sdelphij# elif (ULONG_MAX == 0xffffffffUL) 422311267Sdelphij# define Z_U4 unsigned long 423311267Sdelphij# elif (USHRT_MAX == 0xffffffffUL) 424311267Sdelphij# define Z_U4 unsigned short 425311267Sdelphij# endif 426311267Sdelphij#endif 427311267Sdelphij 428311267Sdelphij#ifdef Z_U4 429311267Sdelphij typedef Z_U4 z_crc_t; 430311267Sdelphij#else 431311267Sdelphij typedef unsigned long z_crc_t; 432311267Sdelphij#endif 433311267Sdelphij 434311267Sdelphij#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ 435311267Sdelphij# define Z_HAVE_UNISTD_H 436311267Sdelphij#endif 437311267Sdelphij 438311267Sdelphij#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */ 439311267Sdelphij# define Z_HAVE_STDARG_H 440311267Sdelphij#endif 441311267Sdelphij 442311267Sdelphij#ifdef STDC 443311267Sdelphij# ifndef Z_SOLO 444311267Sdelphij# include <sys/types.h> /* for off_t */ 445311267Sdelphij# endif 446311267Sdelphij#endif 447311267Sdelphij 448311267Sdelphij#if defined(STDC) || defined(Z_HAVE_STDARG_H) 449311267Sdelphij# ifndef Z_SOLO 450311267Sdelphij# include <stdarg.h> /* for va_list */ 451311267Sdelphij# endif 452311267Sdelphij#endif 453311267Sdelphij 454311267Sdelphij#ifdef _WIN32 455311267Sdelphij# ifndef Z_SOLO 456311267Sdelphij# include <stddef.h> /* for wchar_t */ 457311267Sdelphij# endif 458311267Sdelphij#endif 459311267Sdelphij 460311267Sdelphij/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and 461311267Sdelphij * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even 462311267Sdelphij * though the former does not conform to the LFS document), but considering 463311267Sdelphij * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as 464311267Sdelphij * equivalently requesting no 64-bit operations 465311267Sdelphij */ 466311267Sdelphij#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1 467311267Sdelphij# undef _LARGEFILE64_SOURCE 468311267Sdelphij#endif 469311267Sdelphij 470311267Sdelphij#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H) 471311267Sdelphij# define Z_HAVE_UNISTD_H 472311267Sdelphij#endif 473311267Sdelphij#ifndef Z_SOLO 474311267Sdelphij# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE) 475311267Sdelphij# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */ 476311267Sdelphij# ifdef VMS 477311267Sdelphij# include <unixio.h> /* for off_t */ 478311267Sdelphij# endif 479311267Sdelphij# ifndef z_off_t 480311267Sdelphij# define z_off_t off_t 481311267Sdelphij# endif 482311267Sdelphij# endif 483311267Sdelphij#endif 484311267Sdelphij 485311267Sdelphij#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0 486311267Sdelphij# define Z_LFS64 487311267Sdelphij#endif 488311267Sdelphij 489311267Sdelphij#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64) 490311267Sdelphij# define Z_LARGE64 491311267Sdelphij#endif 492311267Sdelphij 493311267Sdelphij#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64) 494311267Sdelphij# define Z_WANT64 495311267Sdelphij#endif 496311267Sdelphij 497311267Sdelphij#if !defined(SEEK_SET) && !defined(Z_SOLO) 498311267Sdelphij# define SEEK_SET 0 /* Seek from beginning of file. */ 499311267Sdelphij# define SEEK_CUR 1 /* Seek from current position. */ 500311267Sdelphij# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ 501311267Sdelphij#endif 502311267Sdelphij 503311267Sdelphij#ifndef z_off_t 504311267Sdelphij# define z_off_t long 505311267Sdelphij#endif 506311267Sdelphij 507311267Sdelphij#if !defined(_WIN32) && defined(Z_LARGE64) 508311267Sdelphij# define z_off64_t off64_t 509311267Sdelphij#else 510311267Sdelphij# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO) 511311267Sdelphij# define z_off64_t __int64 512311267Sdelphij# else 513311267Sdelphij# define z_off64_t z_off_t 514311267Sdelphij# endif 515311267Sdelphij#endif 516311267Sdelphij 517311267Sdelphij/* MVS linker does not support external names larger than 8 bytes */ 518311267Sdelphij#if defined(__MVS__) 519311267Sdelphij #pragma map(deflateInit_,"DEIN") 520311267Sdelphij #pragma map(deflateInit2_,"DEIN2") 521311267Sdelphij #pragma map(deflateEnd,"DEEND") 522311267Sdelphij #pragma map(deflateBound,"DEBND") 523311267Sdelphij #pragma map(inflateInit_,"ININ") 524311267Sdelphij #pragma map(inflateInit2_,"ININ2") 525311267Sdelphij #pragma map(inflateEnd,"INEND") 526311267Sdelphij #pragma map(inflateSync,"INSY") 527311267Sdelphij #pragma map(inflateSetDictionary,"INSEDI") 528311267Sdelphij #pragma map(compressBound,"CMBND") 529311267Sdelphij #pragma map(inflate_table,"INTABL") 530311267Sdelphij #pragma map(inflate_fast,"INFA") 531311267Sdelphij #pragma map(inflate_copyright,"INCOPY") 532311267Sdelphij#endif 533311267Sdelphij 534311267Sdelphij#endif /* ZCONF_H */ 535