10a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath/* zconf.h -- configuration of the zlib compression library 20a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * Copyright (C) 1995-2005 Jean-loup Gailly. 30a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * For conditions of distribution and use, see copyright notice in zlib.h 40a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath */ 50a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 60a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath/* @(#) $Id$ */ 70a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 80a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifndef ZCONF_H 90a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#define ZCONF_H 100a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 110a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath/* 120a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * If you *really* need a unique prefix for all types and library functions, 130a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. 140a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath */ 150a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifdef Z_PREFIX 160a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define deflateInit_ z_deflateInit_ 170a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define deflate z_deflate 180a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define deflateEnd z_deflateEnd 190a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define inflateInit_ z_inflateInit_ 200a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define inflate z_inflate 210a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define inflateEnd z_inflateEnd 220a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define deflateInit2_ z_deflateInit2_ 230a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define deflateSetDictionary z_deflateSetDictionary 240a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define deflateCopy z_deflateCopy 250a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define deflateReset z_deflateReset 260a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define deflateParams z_deflateParams 270a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define deflateBound z_deflateBound 280a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define deflatePrime z_deflatePrime 290a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define inflateInit2_ z_inflateInit2_ 300a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define inflateSetDictionary z_inflateSetDictionary 310a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define inflateSync z_inflateSync 320a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define inflateSyncPoint z_inflateSyncPoint 330a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define inflateCopy z_inflateCopy 340a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define inflateReset z_inflateReset 350a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define inflateBack z_inflateBack 360a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define inflateBackEnd z_inflateBackEnd 370a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define compress z_compress 380a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define compress2 z_compress2 390a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define compressBound z_compressBound 400a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define uncompress z_uncompress 410a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define adler32 z_adler32 420a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define crc32 z_crc32 430a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define get_crc_table z_get_crc_table 440a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define zError z_zError 450a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 460a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define alloc_func z_alloc_func 470a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define free_func z_free_func 480a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define in_func z_in_func 490a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define out_func z_out_func 500a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define Byte z_Byte 510a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define uInt z_uInt 520a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define uLong z_uLong 530a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define Bytef z_Bytef 540a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define charf z_charf 550a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define intf z_intf 560a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define uIntf z_uIntf 570a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define uLongf z_uLongf 580a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define voidpf z_voidpf 590a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define voidp z_voidp 600a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 610a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 620a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if defined(__MSDOS__) && !defined(MSDOS) 630a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define MSDOS 640a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 650a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) 660a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define OS2 670a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 680a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if defined(_WINDOWS) && !defined(WINDOWS) 690a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define WINDOWS 700a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 710a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) 720a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifndef WIN32 730a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define WIN32 740a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 750a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 760a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) 770a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) 780a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifndef SYS16BIT 790a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define SYS16BIT 800a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 810a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 820a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 830a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 840a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath/* 850a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * Compile with -DMAXSEG_64K if the alloc function cannot allocate more 860a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * than 64k bytes at a time (needed on systems with 16-bit int). 870a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath */ 880a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifdef SYS16BIT 890a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define MAXSEG_64K 900a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 910a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifdef MSDOS 920a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define UNALIGNED_OK 930a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 940a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 950a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifdef __STDC_VERSION__ 960a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifndef STDC 970a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define STDC 980a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 990a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# if __STDC_VERSION__ >= 199901L 1000a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifndef STDC99 1010a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define STDC99 1020a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 1030a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 1040a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 1050a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) 1060a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define STDC 1070a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 1080a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) 1090a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define STDC 1100a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 1110a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) 1120a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define STDC 1130a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 1140a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) 1150a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define STDC 1160a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 1170a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 1180a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ 1190a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define STDC 1200a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 1210a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 1220a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifndef STDC 1230a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ 1240a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define const /* note: need a more gentle solution here */ 1250a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 1260a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 1270a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 1280a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath/* Some Mac compilers merge all .h files incorrectly: */ 1290a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__) 1300a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define NO_DUMMY_DECL 1310a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 1320a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 1330a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath/* Maximum value for memLevel in deflateInit2 */ 1340a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifndef MAX_MEM_LEVEL 1350a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifdef MAXSEG_64K 1360a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define MAX_MEM_LEVEL 8 1370a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# else 1380a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define MAX_MEM_LEVEL 9 1390a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 1400a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 1410a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 1420a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath/* Maximum value for windowBits in deflateInit2 and inflateInit2. 1430a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files 1440a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * created by gzip. (Files created by minigzip can still be extracted by 1450a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * gzip.) 1460a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath */ 1470a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifndef MAX_WBITS 1480a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define MAX_WBITS 15 /* 32K LZ77 window */ 1490a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 1500a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 1510a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath/* The memory requirements for deflate are (in bytes): 1520a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath (1 << (windowBits+2)) + (1 << (memLevel+9)) 1530a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) 1540a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath plus a few kilobytes for small objects. For example, if you want to reduce 1550a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath the default memory requirements from 256K to 128K, compile with 1560a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" 1570a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath Of course this will generally degrade compression (there's no free lunch). 1580a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 1590a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath The memory requirements for inflate are (in bytes) 1 << windowBits 1600a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath that is, 32K for windowBits=15 (default value) plus a few kilobytes 1610a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath for small objects. 1620a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath*/ 1630a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 1640a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath /* Type declarations */ 1650a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 1660a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifndef OF /* function prototypes */ 1670a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifdef STDC 1680a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define OF(args) args 1690a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# else 1700a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define OF(args) () 1710a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 1720a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 1730a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 1740a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath/* The following definitions for FAR are needed only for MSDOS mixed 1750a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * model programming (small or medium model with some far allocations). 1760a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * This was tested only with MSC; for other MSDOS compilers you may have 1770a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, 1780a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * just define FAR to be empty. 1790a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath */ 1800a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifdef SYS16BIT 1810a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# if defined(M_I86SM) || defined(M_I86MM) 1820a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath /* MSC small or medium model */ 1830a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define SMALL_MEDIUM 1840a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifdef _MSC_VER 1850a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define FAR _far 1860a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# else 1870a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define FAR far 1880a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 1890a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 1900a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# if (defined(__SMALL__) || defined(__MEDIUM__)) 1910a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath /* Turbo C small or medium model */ 1920a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define SMALL_MEDIUM 1930a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifdef __BORLANDC__ 1940a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define FAR _far 1950a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# else 1960a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define FAR far 1970a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 1980a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 1990a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 2000a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 2010a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if defined(WINDOWS) || defined(WIN32) 2020a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath /* If building or using zlib as a DLL, define ZLIB_DLL. 2030a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * This is not mandatory, but it offers a little performance increase. 2040a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath */ 2050a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifdef ZLIB_DLL 2060a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) 2070a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifdef ZLIB_INTERNAL 2080a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define ZEXTERN extern __declspec(dllexport) 2090a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# else 2100a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define ZEXTERN extern __declspec(dllimport) 2110a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 2120a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 2130a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif /* ZLIB_DLL */ 2140a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath /* If building or using zlib with the WINAPI/WINAPIV calling convention, 2150a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * define ZLIB_WINAPI. 2160a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. 2170a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath */ 2180a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifdef ZLIB_WINAPI 2190a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifdef FAR 2200a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# undef FAR 2210a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 2220a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# include <windows.h> 2230a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath /* No need for _export, use ZLIB.DEF instead. */ 2240a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath /* For complete Windows compatibility, use WINAPI, not __stdcall. */ 2250a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define ZEXPORT WINAPI 2260a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifdef WIN32 2270a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define ZEXPORTVA WINAPIV 2280a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# else 2290a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define ZEXPORTVA FAR CDECL 2300a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 2310a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 2320a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 2330a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 2340a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if defined (__BEOS__) 2350a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifdef ZLIB_DLL 2360a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifdef ZLIB_INTERNAL 2370a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define ZEXPORT __declspec(dllexport) 2380a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define ZEXPORTVA __declspec(dllexport) 2390a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# else 2400a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define ZEXPORT __declspec(dllimport) 2410a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define ZEXPORTVA __declspec(dllimport) 2420a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 2430a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 2440a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 2450a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 2460a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifndef ZEXTERN 2470a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define ZEXTERN extern 2480a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 2490a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifndef ZEXPORT 2500a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define ZEXPORT 2510a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 2520a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifndef ZEXPORTVA 2530a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define ZEXPORTVA 2540a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 2550a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 2560a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifndef FAR 2570a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define FAR 2580a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 2590a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 2600a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if !defined(__MACTYPES__) 2610a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamathtypedef unsigned char Byte; /* 8 bits */ 2620a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 2630a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamathtypedef unsigned int uInt; /* 16 bits or more */ 2640a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamathtypedef unsigned long uLong; /* 32 bits or more */ 2650a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 2660a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifdef SMALL_MEDIUM 2670a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ 2680a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define Bytef Byte FAR 2690a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#else 2700a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath typedef Byte FAR Bytef; 2710a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 2720a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamathtypedef char FAR charf; 2730a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamathtypedef int FAR intf; 2740a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamathtypedef uInt FAR uIntf; 2750a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamathtypedef uLong FAR uLongf; 2760a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 2770a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifdef STDC 2780a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath typedef void const *voidpc; 2790a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath typedef void FAR *voidpf; 2800a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath typedef void *voidp; 2810a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#else 2820a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath typedef Byte const *voidpc; 2830a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath typedef Byte FAR *voidpf; 2840a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath typedef Byte *voidp; 2850a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 2860a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 2870a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifndef WIN32 2880a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if 1 /* HAVE_UNISTD_H -- this line is updated by ./configure */ 2890a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# include <sys/types.h> /* for off_t */ 2900a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# include <unistd.h> /* for SEEK_* and off_t */ 2910a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifdef VMS 2920a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# include <unixio.h> /* for off_t */ 2930a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 2940a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define z_off_t off_t 2950a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 2960a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 2970a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 2980a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifndef SEEK_SET 2990a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define SEEK_SET 0 /* Seek from beginning of file. */ 3000a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define SEEK_CUR 1 /* Seek from current position. */ 3010a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ 3020a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 3030a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#ifndef z_off_t 3040a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define z_off_t long 3050a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 3060a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 3070a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if defined(__OS400__) 3080a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define NO_vsnprintf 3090a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 3100a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 3110a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if defined(__MVS__) 3120a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# define NO_vsnprintf 3130a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# ifdef FAR 3140a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# undef FAR 3150a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# endif 3160a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 3170a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 3180a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath/* MVS linker does not support external names larger than 8 bytes */ 3190a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#if defined(__MVS__) 3200a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# pragma map(deflateInit_,"DEIN") 3210a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# pragma map(deflateInit2_,"DEIN2") 3220a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# pragma map(deflateEnd,"DEEND") 3230a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# pragma map(deflateBound,"DEBND") 3240a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# pragma map(inflateInit_,"ININ") 3250a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# pragma map(inflateInit2_,"ININ2") 3260a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# pragma map(inflateEnd,"INEND") 3270a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# pragma map(inflateSync,"INSY") 3280a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# pragma map(inflateSetDictionary,"INSEDI") 3290a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# pragma map(compressBound,"CMBND") 3300a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# pragma map(inflate_table,"INTABL") 3310a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# pragma map(inflate_fast,"INFA") 3320a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath# pragma map(inflate_copyright,"INCOPY") 3330a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif 3340a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath 3350a58c5c2f73e5047b36f12b5f12b12d6f2a9f69dNarayan Kamath#endif /* ZCONF_H */ 336