1/* zconf.h -- configuration of the zlib compression library 2 * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler 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 * Even better than compiling with -DZ_PREFIX would be to use configure to set 15 * this permanently in zconf.h using "./configure --zprefix". 16 */ 17#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ 18# define Z_PREFIX_SET 19 20/* all linked symbols and init macros */ 21# define _dist_code z__dist_code 22# define _length_code z__length_code 23# define _tr_align z__tr_align 24# define _tr_flush_bits z__tr_flush_bits 25# define _tr_flush_block z__tr_flush_block 26# define _tr_init z__tr_init 27# define _tr_stored_block z__tr_stored_block 28# define _tr_tally z__tr_tally 29# define adler32 z_adler32 30# define adler32_combine z_adler32_combine 31# define adler32_combine64 z_adler32_combine64 32# define adler32_z z_adler32_z 33# ifndef Z_SOLO 34# define compress z_compress 35# define compress2 z_compress2 36# define compressBound z_compressBound 37# endif 38# define crc32 z_crc32 39# define crc32_combine z_crc32_combine 40# define crc32_combine64 z_crc32_combine64 41# define crc32_z z_crc32_z 42# define deflate z_deflate 43# define deflateBound z_deflateBound 44# define deflateCopy z_deflateCopy 45# define deflateEnd z_deflateEnd 46# define deflateGetDictionary z_deflateGetDictionary 47# define deflateInit z_deflateInit 48# define deflateInit2 z_deflateInit2 49# define deflateInit2_ z_deflateInit2_ 50# define deflateInit_ z_deflateInit_ 51# define deflateParams z_deflateParams 52# define deflatePending z_deflatePending 53# define deflatePrime z_deflatePrime 54# define deflateReset z_deflateReset 55# define deflateResetKeep z_deflateResetKeep 56# define deflateSetDictionary z_deflateSetDictionary 57# define deflateSetHeader z_deflateSetHeader 58# define deflateTune z_deflateTune 59# define deflate_copyright z_deflate_copyright 60# define get_crc_table z_get_crc_table 61# ifndef Z_SOLO 62# define gz_error z_gz_error 63# define gz_intmax z_gz_intmax 64# define gz_strwinerror z_gz_strwinerror 65# define gzbuffer z_gzbuffer 66# define gzclearerr z_gzclearerr 67# define gzclose z_gzclose 68# define gzclose_r z_gzclose_r 69# define gzclose_w z_gzclose_w 70# define gzdirect z_gzdirect 71# define gzdopen z_gzdopen 72# define gzeof z_gzeof 73# define gzerror z_gzerror 74# define gzflush z_gzflush 75# define gzfread z_gzfread 76# define gzfwrite z_gzfwrite 77# define gzgetc z_gzgetc 78# define gzgetc_ z_gzgetc_ 79# define gzgets z_gzgets 80# define gzoffset z_gzoffset 81# define gzoffset64 z_gzoffset64 82# define gzopen z_gzopen 83# define gzopen64 z_gzopen64 84# ifdef _WIN32 85# define gzopen_w z_gzopen_w 86# endif 87# define gzprintf z_gzprintf 88# define gzputc z_gzputc 89# define gzputs z_gzputs 90# define gzread z_gzread 91# define gzrewind z_gzrewind 92# define gzseek z_gzseek 93# define gzseek64 z_gzseek64 94# define gzsetparams z_gzsetparams 95# define gztell z_gztell 96# define gztell64 z_gztell64 97# define gzungetc z_gzungetc 98# define gzvprintf z_gzvprintf 99# define gzwrite z_gzwrite 100# endif 101# define inflate z_inflate 102# define inflateBack z_inflateBack 103# define inflateBackEnd z_inflateBackEnd 104# define inflateBackInit z_inflateBackInit 105# define inflateBackInit_ z_inflateBackInit_ 106# define inflateCodesUsed z_inflateCodesUsed 107# define inflateCopy z_inflateCopy 108# define inflateEnd z_inflateEnd 109# define inflateGetDictionary z_inflateGetDictionary 110# define inflateGetHeader z_inflateGetHeader 111# define inflateInit z_inflateInit 112# define inflateInit2 z_inflateInit2 113# define inflateInit2_ z_inflateInit2_ 114# define inflateInit_ z_inflateInit_ 115# define inflateMark z_inflateMark 116# define inflatePrime z_inflatePrime 117# define inflateReset z_inflateReset 118# define inflateReset2 z_inflateReset2 119# define inflateResetKeep z_inflateResetKeep 120# define inflateSetDictionary z_inflateSetDictionary 121# define inflateSync z_inflateSync 122# define inflateSyncPoint z_inflateSyncPoint 123# define inflateUndermine z_inflateUndermine 124# define inflateValidate z_inflateValidate 125# define inflate_copyright z_inflate_copyright 126# define inflate_fast z_inflate_fast 127# define inflate_table z_inflate_table 128# ifndef Z_SOLO 129# define uncompress z_uncompress 130# define uncompress2 z_uncompress2 131# endif 132# define zError z_zError 133# ifndef Z_SOLO 134# define zcalloc z_zcalloc 135# define zcfree z_zcfree 136# endif 137# define zlibCompileFlags z_zlibCompileFlags 138# define zlibVersion z_zlibVersion 139 140/* all zlib typedefs in zlib.h and zconf.h */ 141# define Byte z_Byte 142# define Bytef z_Bytef 143# define alloc_func z_alloc_func 144# define charf z_charf 145# define free_func z_free_func 146# ifndef Z_SOLO 147# define gzFile z_gzFile 148# endif 149# define gz_header z_gz_header 150# define gz_headerp z_gz_headerp 151# define in_func z_in_func 152# define intf z_intf 153# define out_func z_out_func 154# define uInt z_uInt 155# define uIntf z_uIntf 156# define uLong z_uLong 157# define uLongf z_uLongf 158# define voidp z_voidp 159# define voidpc z_voidpc 160# define voidpf z_voidpf 161 162/* all zlib structs in zlib.h and zconf.h */ 163# define gz_header_s z_gz_header_s 164# define internal_state z_internal_state 165 166#endif 167 168#if defined(__MSDOS__) && !defined(MSDOS) 169# define MSDOS 170#endif 171#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) 172# define OS2 173#endif 174#if defined(_WINDOWS) && !defined(WINDOWS) 175# define WINDOWS 176#endif 177#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) 178# ifndef WIN32 179# define WIN32 180# endif 181#endif 182#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) 183# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) 184# ifndef SYS16BIT 185# define SYS16BIT 186# endif 187# endif 188#endif 189 190/* 191 * Compile with -DMAXSEG_64K if the alloc function cannot allocate more 192 * than 64k bytes at a time (needed on systems with 16-bit int). 193 */ 194#ifdef SYS16BIT 195# define MAXSEG_64K 196#endif 197#ifdef MSDOS 198# define UNALIGNED_OK 199#endif 200 201#ifdef __STDC_VERSION__ 202# ifndef STDC 203# define STDC 204# endif 205# if __STDC_VERSION__ >= 199901L 206# ifndef STDC99 207# define STDC99 208# endif 209# endif 210#endif 211#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) 212# define STDC 213#endif 214#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) 215# define STDC 216#endif 217#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) 218# define STDC 219#endif 220#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) 221# define STDC 222#endif 223 224#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ 225# define STDC 226#endif 227 228#ifndef STDC 229# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ 230# define const /* note: need a more gentle solution here */ 231# endif 232#endif 233 234#if defined(ZLIB_CONST) && !defined(z_const) 235# define z_const const 236#else 237# define z_const 238#endif 239 240#ifdef Z_SOLO 241 typedef unsigned long z_size_t; 242#else 243# define z_longlong long long 244# if defined(NO_SIZE_T) 245 typedef unsigned NO_SIZE_T z_size_t; 246# elif defined(STDC) 247# include <stddef.h> 248 typedef size_t z_size_t; 249# else 250 typedef unsigned long z_size_t; 251# endif 252# undef z_longlong 253#endif 254 255/* Maximum value for memLevel in deflateInit2 */ 256#ifndef MAX_MEM_LEVEL 257# ifdef MAXSEG_64K 258# define MAX_MEM_LEVEL 8 259# else 260# define MAX_MEM_LEVEL 9 261# endif 262#endif 263 264/* Maximum value for windowBits in deflateInit2 and inflateInit2. 265 * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files 266 * created by gzip. (Files created by minigzip can still be extracted by 267 * gzip.) 268 */ 269#ifndef MAX_WBITS 270# define MAX_WBITS 15 /* 32K LZ77 window */ 271#endif 272 273/* The memory requirements for deflate are (in bytes): 274 (1 << (windowBits+2)) + (1 << (memLevel+9)) 275 that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) 276 plus a few kilobytes for small objects. For example, if you want to reduce 277 the default memory requirements from 256K to 128K, compile with 278 make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" 279 Of course this will generally degrade compression (there's no free lunch). 280 281 The memory requirements for inflate are (in bytes) 1 << windowBits 282 that is, 32K for windowBits=15 (default value) plus about 7 kilobytes 283 for small objects. 284*/ 285 286 /* Type declarations */ 287 288#ifndef OF /* function prototypes */ 289# ifdef STDC 290# define OF(args) args 291# else 292# define OF(args) () 293# endif 294#endif 295 296#ifndef Z_ARG /* function prototypes for stdarg */ 297# if defined(STDC) || defined(Z_HAVE_STDARG_H) 298# define Z_ARG(args) args 299# else 300# define Z_ARG(args) () 301# endif 302#endif 303 304/* The following definitions for FAR are needed only for MSDOS mixed 305 * model programming (small or medium model with some far allocations). 306 * This was tested only with MSC; for other MSDOS compilers you may have 307 * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, 308 * just define FAR to be empty. 309 */ 310#ifdef SYS16BIT 311# if defined(M_I86SM) || defined(M_I86MM) 312 /* MSC small or medium model */ 313# define SMALL_MEDIUM 314# ifdef _MSC_VER 315# define FAR _far 316# else 317# define FAR far 318# endif 319# endif 320# if (defined(__SMALL__) || defined(__MEDIUM__)) 321 /* Turbo C small or medium model */ 322# define SMALL_MEDIUM 323# ifdef __BORLANDC__ 324# define FAR _far 325# else 326# define FAR far 327# endif 328# endif 329#endif 330 331#if defined(WINDOWS) || defined(WIN32) 332 /* If building or using zlib as a DLL, define ZLIB_DLL. 333 * This is not mandatory, but it offers a little performance increase. 334 */ 335# ifdef ZLIB_DLL 336# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) 337# ifdef ZLIB_INTERNAL 338# define ZEXTERN extern __declspec(dllexport) 339# else 340# define ZEXTERN extern __declspec(dllimport) 341# endif 342# endif 343# endif /* ZLIB_DLL */ 344 /* If building or using zlib with the WINAPI/WINAPIV calling convention, 345 * define ZLIB_WINAPI. 346 * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. 347 */ 348# ifdef ZLIB_WINAPI 349# ifdef FAR 350# undef FAR 351# endif 352# include <windows.h> 353 /* No need for _export, use ZLIB.DEF instead. */ 354 /* For complete Windows compatibility, use WINAPI, not __stdcall. */ 355# define ZEXPORT WINAPI 356# ifdef WIN32 357# define ZEXPORTVA WINAPIV 358# else 359# define ZEXPORTVA FAR CDECL 360# endif 361# endif 362#endif 363 364#if defined (__BEOS__) 365# ifdef ZLIB_DLL 366# ifdef ZLIB_INTERNAL 367# define ZEXPORT __declspec(dllexport) 368# define ZEXPORTVA __declspec(dllexport) 369# else 370# define ZEXPORT __declspec(dllimport) 371# define ZEXPORTVA __declspec(dllimport) 372# endif 373# endif 374#endif 375 376#ifndef ZEXTERN 377# define ZEXTERN extern 378#endif 379#ifndef ZEXPORT 380# define ZEXPORT 381#endif 382#ifndef ZEXPORTVA 383# define ZEXPORTVA 384#endif 385 386#ifndef FAR 387# define FAR 388#endif 389 390#if !defined(__MACTYPES__) 391typedef unsigned char Byte; /* 8 bits */ 392#endif 393typedef unsigned int uInt; /* 16 bits or more */ 394typedef unsigned long uLong; /* 32 bits or more */ 395 396#ifdef SMALL_MEDIUM 397 /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ 398# define Bytef Byte FAR 399#else 400 typedef Byte FAR Bytef; 401#endif 402typedef char FAR charf; 403typedef int FAR intf; 404typedef uInt FAR uIntf; 405typedef uLong FAR uLongf; 406 407#ifdef STDC 408 typedef void const *voidpc; 409 typedef void FAR *voidpf; 410 typedef void *voidp; 411#else 412 typedef Byte const *voidpc; 413 typedef Byte FAR *voidpf; 414 typedef Byte *voidp; 415#endif 416 417#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC) 418# include <limits.h> 419# if (UINT_MAX == 0xffffffffUL) 420# define Z_U4 unsigned 421# elif (ULONG_MAX == 0xffffffffUL) 422# define Z_U4 unsigned long 423# elif (USHRT_MAX == 0xffffffffUL) 424# define Z_U4 unsigned short 425# endif 426#endif 427 428#ifdef Z_U4 429 typedef Z_U4 z_crc_t; 430#else 431 typedef unsigned long z_crc_t; 432#endif 433 434#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ 435# define Z_HAVE_UNISTD_H 436#endif 437 438#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */ 439# define Z_HAVE_STDARG_H 440#endif 441 442#ifdef STDC 443# ifndef Z_SOLO 444# include <sys/types.h> /* for off_t */ 445# endif 446#endif 447 448#if defined(STDC) || defined(Z_HAVE_STDARG_H) 449# ifndef Z_SOLO 450# include <stdarg.h> /* for va_list */ 451# endif 452#endif 453 454#ifdef _WIN32 455# ifndef Z_SOLO 456# include <stddef.h> /* for wchar_t */ 457# endif 458#endif 459 460/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and 461 * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even 462 * though the former does not conform to the LFS document), but considering 463 * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as 464 * equivalently requesting no 64-bit operations 465 */ 466#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1 467# undef _LARGEFILE64_SOURCE 468#endif 469 470#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H) 471# define Z_HAVE_UNISTD_H 472#endif 473#ifndef Z_SOLO 474# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE) 475# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */ 476# ifdef VMS 477# include <unixio.h> /* for off_t */ 478# endif 479# ifndef z_off_t 480# define z_off_t off_t 481# endif 482# endif 483#endif 484 485#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0 486# define Z_LFS64 487#endif 488 489#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64) 490# define Z_LARGE64 491#endif 492 493#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64) 494# define Z_WANT64 495#endif 496 497#if !defined(SEEK_SET) && !defined(Z_SOLO) 498# define SEEK_SET 0 /* Seek from beginning of file. */ 499# define SEEK_CUR 1 /* Seek from current position. */ 500# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ 501#endif 502 503#ifndef z_off_t 504# define z_off_t long 505#endif 506 507#if !defined(_WIN32) && defined(Z_LARGE64) 508# define z_off64_t off64_t 509#else 510# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO) 511# define z_off64_t __int64 512# else 513# define z_off64_t z_off_t 514# endif 515#endif 516 517/* MVS linker does not support external names larger than 8 bytes */ 518#if defined(__MVS__) 519 #pragma map(deflateInit_,"DEIN") 520 #pragma map(deflateInit2_,"DEIN2") 521 #pragma map(deflateEnd,"DEEND") 522 #pragma map(deflateBound,"DEBND") 523 #pragma map(inflateInit_,"ININ") 524 #pragma map(inflateInit2_,"ININ2") 525 #pragma map(inflateEnd,"INEND") 526 #pragma map(inflateSync,"INSY") 527 #pragma map(inflateSetDictionary,"INSEDI") 528 #pragma map(compressBound,"CMBND") 529 #pragma map(inflate_table,"INTABL") 530 #pragma map(inflate_fast,"INFA") 531 #pragma map(inflate_copyright,"INCOPY") 532#endif 533 534#endif /* ZCONF_H */ 535