zconf.h revision 33908
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 621673Sjkh/* $FreeBSD: head/lib/libz/zconf.h 33908 1998-02-28 06:08:17Z steve $ */ 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 9433908Ssteve/* Borland C incorrectly complains about missing returns: */ 9533908Ssteve#if defined(__BORLANDC__) 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 15117651Speter# 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 15917651Speter# define FAR __far 16017651Speter# endif 16117651Speter#endif 16233908Ssteve 16333908Ssteve/* Compile with -DZLIB_DLL for Windows DLL support */ 16433908Ssteve#if (defined(_WINDOWS) || defined(WINDOWS)) && defined(ZLIB_DLL) 16533908Ssteve# ifdef FAR 16633908Ssteve# undef FAR 16733908Ssteve# endif 16833908Ssteve# include <windows.h> 16933908Ssteve# define ZEXPORT WINAPI 17033908Ssteve# ifdef WIN32 17133908Ssteve# define ZEXPORTVA WINAPIV 17233908Ssteve# else 17333908Ssteve# define ZEXPORTVA FAR _cdecl _export 17433908Ssteve# endif 17533908Ssteve#else 17633908Ssteve# if defined (__BORLANDC__) && defined (_Windows) && defined (__DLL__) 17733908Ssteve# define ZEXPORT _export 17833908Ssteve# define ZEXPORTVA _export 17933908Ssteve# else 18033908Ssteve# define ZEXPORT 18133908Ssteve# define ZEXPORTVA 18233908Ssteve# endif 18333908Ssteve#endif 18433908Ssteve 18517651Speter#ifndef FAR 18617651Speter# define FAR 18717651Speter#endif 18817651Speter 18917651Spetertypedef unsigned char Byte; /* 8 bits */ 19017651Spetertypedef unsigned int uInt; /* 16 bits or more */ 19117651Spetertypedef unsigned long uLong; /* 32 bits or more */ 19217651Speter 19317651Speter#if defined(__BORLANDC__) && defined(SMALL_MEDIUM) 19417651Speter /* Borland C/C++ ignores FAR inside typedef */ 19517651Speter# define Bytef Byte FAR 19617651Speter#else 19717651Speter typedef Byte FAR Bytef; 19817651Speter#endif 19917651Spetertypedef char FAR charf; 20017651Spetertypedef int FAR intf; 20117651Spetertypedef uInt FAR uIntf; 20217651Spetertypedef uLong FAR uLongf; 20317651Speter 20417651Speter#ifdef STDC 20517651Speter typedef void FAR *voidpf; 20617651Speter typedef void *voidp; 20717651Speter#else 20817651Speter typedef Byte FAR *voidpf; 20917651Speter typedef Byte *voidp; 21017651Speter#endif 21117651Speter 21233908Ssteve#ifdef HAVE_UNISTD_H 21333908Ssteve# include <sys/types.h> /* for off_t */ 21433908Ssteve# include <unistd.h> /* for SEEK_* and off_t */ 21533908Ssteve# define z_off_t off_t 21633908Ssteve#endif 21733908Ssteve#ifndef SEEK_SET 21833908Ssteve# define SEEK_SET 0 /* Seek from beginning of file. */ 21933908Ssteve# define SEEK_CUR 1 /* Seek from current position. */ 22033908Ssteve#endif 22133908Ssteve#ifndef z_off_t 22233908Ssteve# define z_off_t long 22333908Ssteve#endif 22417651Speter 22533908Ssteve/* MVS linker does not support external names larger than 8 bytes */ 22633908Ssteve#if defined(__MVS__) 22733908Ssteve# pragma map(deflateInit_,"DEIN") 22833908Ssteve# pragma map(deflateInit2_,"DEIN2") 22933908Ssteve# pragma map(deflateEnd,"DEEND") 23033908Ssteve# pragma map(inflateInit_,"ININ") 23133908Ssteve# pragma map(inflateInit2_,"ININ2") 23233908Ssteve# pragma map(inflateEnd,"INEND") 23333908Ssteve# pragma map(inflateSync,"INSY") 23433908Ssteve# pragma map(inflateSetDictionary,"INSEDI") 23533908Ssteve# pragma map(inflate_blocks,"INBL") 23633908Ssteve# pragma map(inflate_blocks_new,"INBLNE") 23733908Ssteve# pragma map(inflate_blocks_free,"INBLFR") 23833908Ssteve# pragma map(inflate_blocks_reset,"INBLRE") 23933908Ssteve# pragma map(inflate_codes_free,"INCOFR") 24033908Ssteve# pragma map(inflate_codes,"INCO") 24133908Ssteve# pragma map(inflate_fast,"INFA") 24233908Ssteve# pragma map(inflate_flush,"INFLU") 24333908Ssteve# pragma map(inflate_mask,"INMA") 24433908Ssteve# pragma map(inflate_set_dictionary,"INSEDI2") 24533908Ssteve# pragma map(inflate_copyright,"INCOPY") 24633908Ssteve# pragma map(inflate_trees_bits,"INTRBI") 24733908Ssteve# pragma map(inflate_trees_dynamic,"INTRDY") 24833908Ssteve# pragma map(inflate_trees_fixed,"INTRFI") 24933908Ssteve# pragma map(inflate_trees_free,"INTRFR") 25017651Speter#endif 25117651Speter 25217651Speter#endif /* _ZCONF_H */ 253