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