"Fossies" - the Fresh Open Source Software Archive

Member "stella-6.0.2/src/zlib/zutil.h" (11 Oct 2019, 7127 Bytes) of package /linux/privat/stella-6.0.2-src.tar.xz:


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-2016 Jean-loup Gailly, Mark Adler
    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 #ifdef HAVE_HIDDEN
   17 #  define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
   18 #else
   19 #  define ZLIB_INTERNAL
   20 #endif
   21 
   22 #include "zlib.h"
   23 
   24 #if defined(STDC) && !defined(Z_SOLO)
   25 #  if !(defined(_WIN32_WCE) && defined(_MSC_VER))
   26 #    include <stddef.h>
   27 #  endif
   28 #  include <string.h>
   29 #  include <stdlib.h>
   30 #endif
   31 
   32 #ifdef Z_SOLO
   33    typedef long ptrdiff_t;  /* guess -- will be caught if guess is wrong */
   34 #endif
   35 
   36 #ifndef local
   37 #  define local static
   38 #endif
   39 /* since "static" is used to mean two completely different things in C, we
   40    define "local" for the non-static meaning of "static", for readability
   41    (compile with -Dlocal if your debugger can't find static symbols) */
   42 
   43 typedef unsigned char  uch;
   44 typedef uch FAR uchf;
   45 typedef unsigned short ush;
   46 typedef ush FAR ushf;
   47 typedef unsigned long  ulg;
   48 
   49 extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
   50 /* (size given to avoid silly warnings with Visual C++) */
   51 
   52 #define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
   53 
   54 #define ERR_RETURN(strm,err) \
   55   return (strm->msg = ERR_MSG(err), (err))
   56 /* To be used only when the state is known to be valid */
   57 
   58         /* common constants */
   59 
   60 #ifndef DEF_WBITS
   61 #  define DEF_WBITS MAX_WBITS
   62 #endif
   63 /* default windowBits for decompression. MAX_WBITS is for compression only */
   64 
   65 #if MAX_MEM_LEVEL >= 8
   66 #  define DEF_MEM_LEVEL 8
   67 #else
   68 #  define DEF_MEM_LEVEL  MAX_MEM_LEVEL
   69 #endif
   70 /* default memLevel */
   71 
   72 #define STORED_BLOCK 0
   73 #define STATIC_TREES 1
   74 #define DYN_TREES    2
   75 /* The three kinds of block type */
   76 
   77 #define MIN_MATCH  3
   78 #define MAX_MATCH  258
   79 /* The minimum and maximum match lengths */
   80 
   81 #define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
   82 
   83         /* target dependencies */
   84 
   85 #if defined(MSDOS) || (defined(WINDOWS) && !defined(WIN32))
   86 #  define OS_CODE  0x00
   87 #  ifndef Z_SOLO
   88 #    if defined(__TURBOC__) || defined(__BORLANDC__)
   89 #      if (__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
   90          /* Allow compilation with ANSI keywords only enabled */
   91          void _Cdecl farfree( void *block );
   92          void *_Cdecl farmalloc( unsigned long nbytes );
   93 #      else
   94 #        include <alloc.h>
   95 #      endif
   96 #    else /* MSC or DJGPP */
   97 #      include <malloc.h>
   98 #    endif
   99 #  endif
  100 #endif
  101 
  102 #ifdef AMIGA
  103 #  define OS_CODE  1
  104 #endif
  105 
  106 #if defined(VAXC) || defined(VMS)
  107 #  define OS_CODE  2
  108 #  define F_OPEN(name, mode) \
  109      fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
  110 #endif
  111 
  112 #ifdef __370__
  113 #  if __TARGET_LIB__ < 0x20000000
  114 #    define OS_CODE 4
  115 #  elif __TARGET_LIB__ < 0x40000000
  116 #    define OS_CODE 11
  117 #  else
  118 #    define OS_CODE 8
  119 #  endif
  120 #endif
  121 
  122 #if defined(ATARI) || defined(atarist)
  123 #  define OS_CODE  5
  124 #endif
  125 
  126 #ifdef OS2
  127 #  define OS_CODE  6
  128 #  if defined(M_I86) && !defined(Z_SOLO)
  129 #    include <malloc.h>
  130 #  endif
  131 #endif
  132 
  133 #if defined(MACOS) || defined(TARGET_OS_MAC)
  134 #  define OS_CODE  7
  135 #  ifndef Z_SOLO
  136 #    if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
  137 #      include <unix.h> /* for fdopen */
  138 #    else
  139 #      ifndef fdopen
  140 #        define fdopen(fd,mode) NULL /* No fdopen() */
  141 #      endif
  142 #    endif
  143 #  endif
  144 #endif
  145 
  146 #ifdef __acorn
  147 #  define OS_CODE 13
  148 #endif
  149 
  150 #if defined(WIN32) && !defined(__CYGWIN__)
  151 #  define OS_CODE  10
  152 #endif
  153 
  154 #ifdef _BEOS_
  155 #  define OS_CODE  16
  156 #endif
  157 
  158 #ifdef __TOS_OS400__
  159 #  define OS_CODE 18
  160 #endif
  161 
  162 #ifdef __APPLE__
  163 #  define OS_CODE 19
  164 #endif
  165 
  166 #if defined(_BEOS_) || defined(RISCOS)
  167 #  define fdopen(fd,mode) NULL /* No fdopen() */
  168 #endif
  169 
  170 #if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX
  171 #  if defined(_WIN32_WCE)
  172 #    define fdopen(fd,mode) NULL /* No fdopen() */
  173 #    ifndef _PTRDIFF_T_DEFINED
  174        typedef int ptrdiff_t;
  175 #      define _PTRDIFF_T_DEFINED
  176 #    endif
  177 #  else
  178 #    define fdopen(fd,type)  _fdopen(fd,type)
  179 #  endif
  180 #endif
  181 
  182 #if defined(__BORLANDC__) && !defined(MSDOS)
  183   #pragma warn -8004
  184   #pragma warn -8008
  185   #pragma warn -8066
  186 #endif
  187 
  188 /* provide prototypes for these when building zlib without LFS */
  189 #if !defined(_WIN32) && \
  190     (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
  191     ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
  192     ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
  193 #endif
  194 
  195         /* common defaults */
  196 
  197 #ifndef OS_CODE
  198 #  define OS_CODE  3     /* assume Unix */
  199 #endif
  200 
  201 #ifndef F_OPEN
  202 #  define F_OPEN(name, mode) fopen((name), (mode))
  203 #endif
  204 
  205          /* functions */
  206 
  207 #if defined(pyr) || defined(Z_SOLO)
  208 #  define NO_MEMCPY
  209 #endif
  210 #if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)
  211  /* Use our own functions for small and medium model with MSC <= 5.0.
  212   * You may have to use the same strategy for Borland C (untested).
  213   * The __SC__ check is for Symantec.
  214   */
  215 #  define NO_MEMCPY
  216 #endif
  217 #if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
  218 #  define HAVE_MEMCPY
  219 #endif
  220 #ifdef HAVE_MEMCPY
  221 #  ifdef SMALL_MEDIUM /* MSDOS small or medium model */
  222 #    define zmemcpy _fmemcpy
  223 #    define zmemcmp _fmemcmp
  224 #    define zmemzero(dest, len) _fmemset(dest, 0, len)
  225 #  else
  226 #    define zmemcpy memcpy
  227 #    define zmemcmp memcmp
  228 #    define zmemzero(dest, len) memset(dest, 0, len)
  229 #  endif
  230 #else
  231    void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
  232    int ZLIB_INTERNAL zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
  233    void ZLIB_INTERNAL zmemzero OF((Bytef* dest, uInt len));
  234 #endif
  235 
  236 /* Diagnostic functions */
  237 #ifdef ZLIB_DEBUG
  238 #  include <stdio.h>
  239    extern int ZLIB_INTERNAL z_verbose;
  240    extern void ZLIB_INTERNAL z_error OF((char *m));
  241 #  define Assert(cond,msg) {if(!(cond)) z_error(msg);}
  242 #  define Trace(x) {if (z_verbose>=0) fprintf x ;}
  243 #  define Tracev(x) {if (z_verbose>0) fprintf x ;}
  244 #  define Tracevv(x) {if (z_verbose>1) fprintf x ;}
  245 #  define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
  246 #  define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
  247 #else
  248 #  define Assert(cond,msg)
  249 #  define Trace(x)
  250 #  define Tracev(x)
  251 #  define Tracevv(x)
  252 #  define Tracec(c,x)
  253 #  define Tracecv(c,x)
  254 #endif
  255 
  256 #ifndef Z_SOLO
  257    voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items,
  258                                     unsigned size));
  259    void ZLIB_INTERNAL zcfree  OF((voidpf opaque, voidpf ptr));
  260 #endif
  261 
  262 #define ZALLOC(strm, items, size) \
  263            (*((strm)->zalloc))((strm)->opaque, (items), (size))
  264 #define ZFREE(strm, addr)  (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
  265 #define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
  266 
  267 /* Reverse the bytes in a 32-bit value */
  268 #define ZSWAP32(q) ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
  269                     (((q) & 0xff00) << 8) + (((q) & 0xff) << 24))
  270 
  271 #endif /* ZUTIL_H */