zconf.h revision 50476
117651Speter/* zconf.h -- configuration of the zlib compression library 233908Ssteve * Copyright (C) 1995-1998 Jean-loup Gailly. 317651Speter * For conditions of distribution and use, see copyright notice in zlib.h 417651Speter */ 517651Speter 650476Speter/* @(#) $FreeBSD: head/lib/libz/zconf.h 50476 1999-08-28 00:22:10Z peter $ */ 717651Speter 817651Speter#ifndef _ZCONF_H 917651Speter#define _ZCONF_H 1017651Speter 1117651Speter/* 1217651Speter * If you *really* need a unique prefix for all types and library functions, 1317651Speter * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. 1417651Speter */ 1517651Speter#ifdef Z_PREFIX 1617651Speter# define deflateInit_ z_deflateInit_ 1717651Speter# define deflate z_deflate 1817651Speter# define deflateEnd z_deflateEnd 1917651Speter# define inflateInit_ z_inflateInit_ 2017651Speter# define inflate z_inflate 2117651Speter# define inflateEnd z_inflateEnd 2217651Speter# define deflateInit2_ z_deflateInit2_ 2317651Speter# define deflateSetDictionary z_deflateSetDictionary 2417651Speter# define deflateCopy z_deflateCopy 2517651Speter# define deflateReset z_deflateReset 2617651Speter# define deflateParams z_deflateParams 2717651Speter# define inflateInit2_ z_inflateInit2_ 2817651Speter# define inflateSetDictionary z_inflateSetDictionary 2917651Speter# define inflateSync z_inflateSync 3033908Ssteve# define inflateSyncPoint z_inflateSyncPoint 3117651Speter# define inflateReset z_inflateReset 3217651Speter# define compress z_compress 3333908Ssteve# define compress2 z_compress2 3417651Speter# define uncompress z_uncompress 3517651Speter# define adler32 z_adler32 3617651Speter# define crc32 z_crc32 3717651Speter# define get_crc_table z_get_crc_table 3817651Speter 3917651Speter# define Byte z_Byte 4017651Speter# define uInt z_uInt 4117651Speter# define uLong z_uLong 4217651Speter# define Bytef z_Bytef 4317651Speter# define charf z_charf 4417651Speter# define intf z_intf 4517651Speter# define uIntf z_uIntf 4617651Speter# define uLongf z_uLongf 4717651Speter# define voidpf z_voidpf 4817651Speter# define voidp z_voidp 4917651Speter#endif 5017651Speter 5117651Speter#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) 5217651Speter# define WIN32 5317651Speter#endif 5417651Speter#if defined(__GNUC__) || defined(WIN32) || defined(__386__) || defined(i386) 5517651Speter# ifndef __32BIT__ 5617651Speter# define __32BIT__ 5717651Speter# endif 5817651Speter#endif 5917651Speter#if defined(__MSDOS__) && !defined(MSDOS) 6017651Speter# define MSDOS 6117651Speter#endif 6217651Speter 6317651Speter/* 6417651Speter * Compile with -DMAXSEG_64K if the alloc function cannot allocate more 6517651Speter * than 64k bytes at a time (needed on systems with 16-bit int). 6617651Speter */ 6717651Speter#if defined(MSDOS) && !defined(__32BIT__) 6817651Speter# define MAXSEG_64K 6917651Speter#endif 7017651Speter#ifdef MSDOS 7117651Speter# define UNALIGNED_OK 7217651Speter#endif 7317651Speter 7417651Speter#if (defined(MSDOS) || defined(_WINDOWS) || defined(WIN32)) && !defined(STDC) 7517651Speter# define STDC 7617651Speter#endif 7733908Ssteve#if defined(__STDC__) || defined(__cplusplus) || defined(__OS2__) 7833908Ssteve# ifndef STDC 7933908Ssteve# define STDC 8033908Ssteve# endif 8117651Speter#endif 8217651Speter 8317651Speter#ifndef STDC 8417651Speter# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ 8517651Speter# define const 8617651Speter# endif 8717651Speter#endif 8817651Speter 8917651Speter/* Some Mac compilers merge all .h files incorrectly: */ 9017651Speter#if defined(__MWERKS__) || defined(applec) ||defined(THINK_C) ||defined(__SC__) 9117651Speter# define NO_DUMMY_DECL 9217651Speter#endif 9317651Speter 9442471Speter/* Old Borland C incorrectly complains about missing returns: */ 9542471Speter#if defined(__BORLANDC__) && (__BORLANDC__ < 0x500) 9633908Ssteve# define NEED_DUMMY_RETURN 9733908Ssteve#endif 9833908Ssteve 9933908Ssteve 10017651Speter/* Maximum value for memLevel in deflateInit2 */ 10117651Speter#ifndef MAX_MEM_LEVEL 10217651Speter# ifdef MAXSEG_64K 10317651Speter# define MAX_MEM_LEVEL 8 10417651Speter# else 10517651Speter# define MAX_MEM_LEVEL 9 10617651Speter# endif 10717651Speter#endif 10817651Speter 10933908Ssteve/* Maximum value for windowBits in deflateInit2 and inflateInit2. 11033908Ssteve * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files 11133908Ssteve * created by gzip. (Files created by minigzip can still be extracted by 11233908Ssteve * gzip.) 11333908Ssteve */ 11417651Speter#ifndef MAX_WBITS 11517651Speter# define MAX_WBITS 15 /* 32K LZ77 window */ 11617651Speter#endif 11717651Speter 11817651Speter/* The memory requirements for deflate are (in bytes): 11933908Ssteve (1 << (windowBits+2)) + (1 << (memLevel+9)) 12017651Speter that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) 12117651Speter plus a few kilobytes for small objects. For example, if you want to reduce 12217651Speter the default memory requirements from 256K to 128K, compile with 12317651Speter make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" 12417651Speter Of course this will generally degrade compression (there's no free lunch). 12517651Speter 12617651Speter The memory requirements for inflate are (in bytes) 1 << windowBits 12717651Speter that is, 32K for windowBits=15 (default value) plus a few kilobytes 12817651Speter for small objects. 12917651Speter*/ 13017651Speter 13117651Speter /* Type declarations */ 13217651Speter 13317651Speter#ifndef OF /* function prototypes */ 13417651Speter# ifdef STDC 13517651Speter# define OF(args) args 13617651Speter# else 13717651Speter# define OF(args) () 13817651Speter# endif 13917651Speter#endif 14017651Speter 14117651Speter/* The following definitions for FAR are needed only for MSDOS mixed 14217651Speter * model programming (small or medium model with some far allocations). 14317651Speter * This was tested only with MSC; for other MSDOS compilers you may have 14417651Speter * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, 14517651Speter * just define FAR to be empty. 14617651Speter */ 14717651Speter#if (defined(M_I86SM) || defined(M_I86MM)) && !defined(__32BIT__) 14817651Speter /* MSC small or medium model */ 14917651Speter# define SMALL_MEDIUM 15017651Speter# ifdef _MSC_VER 15142471Speter# define FAR _far 15217651Speter# else 15317651Speter# define FAR far 15417651Speter# endif 15517651Speter#endif 15617651Speter#if defined(__BORLANDC__) && (defined(__SMALL__) || defined(__MEDIUM__)) 15717651Speter# ifndef __32BIT__ 15817651Speter# define SMALL_MEDIUM 15942471Speter# define FAR _far 16017651Speter# endif 16117651Speter#endif 16233908Ssteve 16333908Ssteve/* Compile with -DZLIB_DLL for Windows DLL support */ 16442471Speter#if defined(ZLIB_DLL) 16542471Speter# if defined(_WINDOWS) || defined(WINDOWS) 16642471Speter# ifdef FAR 16742471Speter# undef FAR 16842471Speter# endif 16942471Speter# include <windows.h> 17042471Speter# define ZEXPORT WINAPI 17142471Speter# ifdef WIN32 17242471Speter# define ZEXPORTVA WINAPIV 17342471Speter# else 17442471Speter# define ZEXPORTVA FAR _cdecl _export 17542471Speter# endif 17633908Ssteve# endif 17742471Speter# if defined (__BORLANDC__) 17842471Speter# if (__BORLANDC__ >= 0x0500) && defined (WIN32) 17942471Speter# include <windows.h> 18042471Speter# define ZEXPORT __declspec(dllexport) WINAPI 18142471Speter# define ZEXPORTRVA __declspec(dllexport) WINAPIV 18242471Speter# else 18342471Speter# if defined (_Windows) && defined (__DLL__) 18442471Speter# define ZEXPORT _export 18542471Speter# define ZEXPORTVA _export 18642471Speter# endif 18742471Speter# endif 18842471Speter# endif 18942471Speter#endif 19042471Speter 19142471Speter#if defined (__BEOS__) 19242471Speter# if defined (ZLIB_DLL) 19342471Speter# define ZEXTERN extern __declspec(dllexport) 19433908Ssteve# else 19542471Speter# define ZEXTERN extern __declspec(dllimport) 19633908Ssteve# endif 19733908Ssteve#endif 19833908Ssteve 19942471Speter#ifndef ZEXPORT 20042471Speter# define ZEXPORT 20142471Speter#endif 20242471Speter#ifndef ZEXPORTVA 20342471Speter# define ZEXPORTVA 20442471Speter#endif 20542471Speter#ifndef ZEXTERN 20642471Speter# define ZEXTERN extern 20742471Speter#endif 20842471Speter 20917651Speter#ifndef FAR 21017651Speter# define FAR 21117651Speter#endif 21217651Speter 21342471Speter#if !defined(MACOS) && !defined(TARGET_OS_MAC) 21417651Spetertypedef unsigned char Byte; /* 8 bits */ 21542471Speter#endif 21617651Spetertypedef unsigned int uInt; /* 16 bits or more */ 21717651Spetertypedef unsigned long uLong; /* 32 bits or more */ 21817651Speter 21942471Speter#ifdef SMALL_MEDIUM 22042471Speter /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ 22117651Speter# define Bytef Byte FAR 22217651Speter#else 22317651Speter typedef Byte FAR Bytef; 22417651Speter#endif 22517651Spetertypedef char FAR charf; 22617651Spetertypedef int FAR intf; 22717651Spetertypedef uInt FAR uIntf; 22817651Spetertypedef uLong FAR uLongf; 22917651Speter 23017651Speter#ifdef STDC 23117651Speter typedef void FAR *voidpf; 23217651Speter typedef void *voidp; 23317651Speter#else 23417651Speter typedef Byte FAR *voidpf; 23517651Speter typedef Byte *voidp; 23617651Speter#endif 23717651Speter 23833908Ssteve#ifdef HAVE_UNISTD_H 23933908Ssteve# include <sys/types.h> /* for off_t */ 24033908Ssteve# include <unistd.h> /* for SEEK_* and off_t */ 24133908Ssteve# define z_off_t off_t 24233908Ssteve#endif 24333908Ssteve#ifndef SEEK_SET 24433908Ssteve# define SEEK_SET 0 /* Seek from beginning of file. */ 24533908Ssteve# define SEEK_CUR 1 /* Seek from current position. */ 24642471Speter# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ 24733908Ssteve#endif 24833908Ssteve#ifndef z_off_t 24933908Ssteve# define z_off_t long 25033908Ssteve#endif 25117651Speter 25233908Ssteve/* MVS linker does not support external names larger than 8 bytes */ 25333908Ssteve#if defined(__MVS__) 25433908Ssteve# pragma map(deflateInit_,"DEIN") 25533908Ssteve# pragma map(deflateInit2_,"DEIN2") 25633908Ssteve# pragma map(deflateEnd,"DEEND") 25733908Ssteve# pragma map(inflateInit_,"ININ") 25833908Ssteve# pragma map(inflateInit2_,"ININ2") 25933908Ssteve# pragma map(inflateEnd,"INEND") 26033908Ssteve# pragma map(inflateSync,"INSY") 26133908Ssteve# pragma map(inflateSetDictionary,"INSEDI") 26233908Ssteve# pragma map(inflate_blocks,"INBL") 26333908Ssteve# pragma map(inflate_blocks_new,"INBLNE") 26433908Ssteve# pragma map(inflate_blocks_free,"INBLFR") 26533908Ssteve# pragma map(inflate_blocks_reset,"INBLRE") 26633908Ssteve# pragma map(inflate_codes_free,"INCOFR") 26733908Ssteve# pragma map(inflate_codes,"INCO") 26833908Ssteve# pragma map(inflate_fast,"INFA") 26933908Ssteve# pragma map(inflate_flush,"INFLU") 27033908Ssteve# pragma map(inflate_mask,"INMA") 27133908Ssteve# pragma map(inflate_set_dictionary,"INSEDI2") 27233908Ssteve# pragma map(inflate_copyright,"INCOPY") 27333908Ssteve# pragma map(inflate_trees_bits,"INTRBI") 27433908Ssteve# pragma map(inflate_trees_dynamic,"INTRDY") 27533908Ssteve# pragma map(inflate_trees_fixed,"INTRFI") 27633908Ssteve# pragma map(inflate_trees_free,"INTRFR") 27717651Speter#endif 27817651Speter 27917651Speter#endif /* _ZCONF_H */ 280