"Fossies" - the Fresh Open Source Software Archive

Member "zsync-0.6.2/zlib/zutil.h" (16 Sep 2010, 6496 Bytes) of package /linux/privat/old/zsync-0.6.2.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "zutil.h" see the Fossies "Dox" file reference documentation.

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