Annotation of embedaddon/rsync/zlib/zutil.h, revision 1.1.1.1

1.1       misho       1: /* zutil.h -- internal interface and configuration of the compression library
                      2:  * Copyright (C) 1995-2005 Jean-loup Gailly.
                      3:  * For conditions of distribution and use, see copyright notice in zlib.h
                      4:  */
                      5: 
                      6: /* WARNING: this file should *not* be used by applications. It is
                      7:    part of the implementation of the compression library and is
                      8:    subject to change. Applications should only use zlib.h.
                      9:  */
                     10: 
                     11: /* @(#) $Id$ */
                     12: 
                     13: #ifndef ZUTIL_H
                     14: #define ZUTIL_H
                     15: 
                     16: #define ZLIB_INTERNAL
                     17: #include "../rsync.h"
                     18: #include "zlib.h"
                     19: 
                     20: #if 0
                     21: #ifdef STDC
                     22: #  ifndef _WIN32_WCE
                     23: #    include <stddef.h>
                     24: #  endif
                     25: #  include <string.h>
                     26: #  include <stdlib.h>
                     27: #endif
                     28: #ifdef NO_ERRNO_H
                     29: #   ifdef _WIN32_WCE
                     30:       /* The Microsoft C Run-Time Library for Windows CE doesn't have
                     31:        * errno.  We define it as a global variable to simplify porting.
                     32:        * Its value is always 0 and should not be used.  We rename it to
                     33:        * avoid conflict with other libraries that use the same workaround.
                     34:        */
                     35: #     define errno z_errno
                     36: #   endif
                     37:     extern int errno;
                     38: #else
                     39: #  ifndef _WIN32_WCE
                     40: #    include <errno.h>
                     41: #  endif
                     42: #endif
                     43: #endif
                     44: 
                     45: #ifndef local
                     46: #  define local static
                     47: #endif
                     48: /* compile with -Dlocal if your debugger can't find static symbols */
                     49: 
                     50: typedef unsigned char  uch;
                     51: typedef uch FAR uchf;
                     52: typedef unsigned short ush;
                     53: typedef ush FAR ushf;
                     54: typedef unsigned long  ulg;
                     55: 
                     56: extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
                     57: /* (size given to avoid silly warnings with Visual C++) */
                     58: 
                     59: #define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
                     60: 
                     61: #define ERR_RETURN(strm,err) \
                     62:   return (strm->msg = (char*)ERR_MSG(err), (err))
                     63: /* To be used only when the state is known to be valid */
                     64: 
                     65:         /* common constants */
                     66: 
                     67: #ifndef DEF_WBITS
                     68: #  define DEF_WBITS MAX_WBITS
                     69: #endif
                     70: /* default windowBits for decompression. MAX_WBITS is for compression only */
                     71: 
                     72: #if MAX_MEM_LEVEL >= 8
                     73: #  define DEF_MEM_LEVEL 8
                     74: #else
                     75: #  define DEF_MEM_LEVEL  MAX_MEM_LEVEL
                     76: #endif
                     77: /* default memLevel */
                     78: 
                     79: #define STORED_BLOCK 0
                     80: #define STATIC_TREES 1
                     81: #define DYN_TREES    2
                     82: /* The three kinds of block type */
                     83: 
                     84: #define MIN_MATCH  3
                     85: #define MAX_MATCH  258
                     86: /* The minimum and maximum match lengths */
                     87: 
                     88: #define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
                     89: 
                     90:         /* target dependencies */
                     91: 
                     92: #if defined(MSDOS) || (defined(WINDOWS) && !defined(WIN32))
                     93: #  define OS_CODE  0x00
                     94: #  if defined(__TURBOC__) || defined(__BORLANDC__)
                     95: #    if(__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
                     96:        /* Allow compilation with ANSI keywords only enabled */
                     97:        void _Cdecl farfree( void *block );
                     98:        void *_Cdecl farmalloc( unsigned long nbytes );
                     99: #    else
                    100: #      include <alloc.h>
                    101: #    endif
                    102: #  else /* MSC or DJGPP */
                    103: #    include <malloc.h>
                    104: #  endif
                    105: #endif
                    106: 
                    107: #ifdef AMIGA
                    108: #  define OS_CODE  0x01
                    109: #endif
                    110: 
                    111: #if defined(VAXC) || defined(VMS)
                    112: #  define OS_CODE  0x02
                    113: #  define F_OPEN(name, mode) \
                    114:      fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
                    115: #endif
                    116: 
                    117: #if defined(ATARI) || defined(atarist)
                    118: #  define OS_CODE  0x05
                    119: #endif
                    120: 
                    121: #ifdef OS2
                    122: #  define OS_CODE  0x06
                    123: #  ifdef M_I86
                    124:      #include <malloc.h>
                    125: #  endif
                    126: #endif
                    127: 
                    128: #if defined(MACOS) || defined(TARGET_OS_MAC)
                    129: #  define OS_CODE  0x07
                    130: #  if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
                    131: #    include <unix.h> /* for fdopen */
                    132: #  else
                    133: #    ifndef fdopen
                    134: #      define fdopen(fd,mode) NULL /* No fdopen() */
                    135: #    endif
                    136: #  endif
                    137: #endif
                    138: 
                    139: #ifdef TOPS20
                    140: #  define OS_CODE  0x0a
                    141: #endif
                    142: 
                    143: #ifdef WIN32
                    144: #  ifndef __CYGWIN__  /* Cygwin is Unix, not Win32 */
                    145: #    define OS_CODE  0x0b
                    146: #  endif
                    147: #endif
                    148: 
                    149: #ifdef __50SERIES /* Prime/PRIMOS */
                    150: #  define OS_CODE  0x0f
                    151: #endif
                    152: 
                    153: #if defined(_BEOS_) || defined(RISCOS)
                    154: #  define fdopen(fd,mode) NULL /* No fdopen() */
                    155: #endif
                    156: 
                    157: #if (defined(_MSC_VER) && (_MSC_VER > 600))
                    158: #  if defined(_WIN32_WCE)
                    159: #    define fdopen(fd,mode) NULL /* No fdopen() */
                    160: #    ifndef _PTRDIFF_T_DEFINED
                    161:        typedef int ptrdiff_t;
                    162: #      define _PTRDIFF_T_DEFINED
                    163: #    endif
                    164: #  else
                    165: #    define fdopen(fd,type)  _fdopen(fd,type)
                    166: #  endif
                    167: #endif
                    168: 
                    169:         /* common defaults */
                    170: 
                    171: #ifndef OS_CODE
                    172: #  define OS_CODE  0x03  /* assume Unix */
                    173: #endif
                    174: 
                    175: #ifndef F_OPEN
                    176: #  define F_OPEN(name, mode) fopen((name), (mode))
                    177: #endif
                    178: 
                    179:          /* functions */
                    180: 
                    181: #if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550)
                    182: #  ifndef HAVE_VSNPRINTF
                    183: #    define HAVE_VSNPRINTF
                    184: #  endif
                    185: #endif
                    186: #if defined(__CYGWIN__)
                    187: #  ifndef HAVE_VSNPRINTF
                    188: #    define HAVE_VSNPRINTF
                    189: #  endif
                    190: #endif
                    191: #ifndef HAVE_VSNPRINTF
                    192: #  ifdef MSDOS
                    193:      /* vsnprintf may exist on some MS-DOS compilers (DJGPP?),
                    194:         but for now we just assume it doesn't. */
                    195: #    define NO_vsnprintf
                    196: #  endif
                    197: #  ifdef __TURBOC__
                    198: #    define NO_vsnprintf
                    199: #  endif
                    200: #  ifdef WIN32
                    201:      /* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */
                    202: #    if !defined(vsnprintf) && !defined(NO_vsnprintf)
                    203: #      define vsnprintf _vsnprintf
                    204: #    endif
                    205: #  endif
                    206: #  ifdef __SASC
                    207: #    define NO_vsnprintf
                    208: #  endif
                    209: #endif
                    210: #ifdef VMS
                    211: #  define NO_vsnprintf
                    212: #endif
                    213: 
                    214: #if defined(pyr)
                    215: #  define NO_MEMCPY
                    216: #endif
                    217: #if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)
                    218:  /* Use our own functions for small and medium model with MSC <= 5.0.
                    219:   * You may have to use the same strategy for Borland C (untested).
                    220:   * The __SC__ check is for Symantec.
                    221:   */
                    222: #  define NO_MEMCPY
                    223: #endif
                    224: #if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
                    225: #  define HAVE_MEMCPY
                    226: #endif
                    227: #ifdef HAVE_MEMCPY
                    228: #  ifdef SMALL_MEDIUM /* MSDOS small or medium model */
                    229: #    define zmemcpy _fmemcpy
                    230: #    define zmemcmp _fmemcmp
                    231: #    define zmemzero(dest, len) _fmemset(dest, 0, len)
                    232: #  else
                    233: #    define zmemcpy memcpy
                    234: #    define zmemcmp memcmp
                    235: #    define zmemzero(dest, len) memset(dest, 0, len)
                    236: #  endif
                    237: #else
                    238:    extern void zmemcpy  OF((Bytef* dest, const Bytef* source, uInt len));
                    239:    extern int  zmemcmp  OF((const Bytef* s1, const Bytef* s2, uInt len));
                    240:    extern void zmemzero OF((Bytef* dest, uInt len));
                    241: #endif
                    242: 
                    243: /* Diagnostic functions */
                    244: #ifdef DEBUG
                    245: #  include <stdio.h>
                    246:    extern int z_verbose;
                    247:    extern void z_error    OF((char *m));
                    248: #  define Assert(cond,msg) {if(!(cond)) z_error(msg);}
                    249: #  define Trace(x) {if (z_verbose>=0) fprintf x ;}
                    250: #  define Tracev(x) {if (z_verbose>0) fprintf x ;}
                    251: #  define Tracevv(x) {if (z_verbose>1) fprintf x ;}
                    252: #  define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
                    253: #  define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
                    254: #else
                    255: #  define Assert(cond,msg)
                    256: #  define Trace(x)
                    257: #  define Tracev(x)
                    258: #  define Tracevv(x)
                    259: #  define Tracec(c,x)
                    260: #  define Tracecv(c,x)
                    261: #endif
                    262: 
                    263: 
                    264: voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size));
                    265: void   zcfree  OF((voidpf opaque, voidpf ptr));
                    266: 
                    267: #define ZALLOC(strm, items, size) \
                    268:            (*((strm)->zalloc))((strm)->opaque, (items), (size))
                    269: #define ZFREE(strm, addr)  (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
                    270: #define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
                    271: 
                    272: #endif /* ZUTIL_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>