Blame deps/zlib/zutil.h

Packit Service 20376f
/* zutil.h -- internal interface and configuration of the compression library
Packit Service 20376f
 * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler
Packit Service 20376f
 * For conditions of distribution and use, see copyright notice in zlib.h
Packit Service 20376f
 */
Packit Service 20376f
Packit Service 20376f
/* WARNING: this file should *not* be used by applications. It is
Packit Service 20376f
   part of the implementation of the compression library and is
Packit Service 20376f
   subject to change. Applications should only use zlib.h.
Packit Service 20376f
 */
Packit Service 20376f
Packit Service 20376f
/* @(#) $Id$ */
Packit Service 20376f
Packit Service 20376f
#ifndef ZUTIL_H
Packit Service 20376f
#define ZUTIL_H
Packit Service 20376f
Packit Service 20376f
#ifdef HAVE_HIDDEN
Packit Service 20376f
#  define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
Packit Service 20376f
#else
Packit Service 20376f
#  define ZLIB_INTERNAL
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#include "zlib.h"
Packit Service 20376f
Packit Service 20376f
#if defined(STDC) && !defined(Z_SOLO)
Packit Service 20376f
#  if !(defined(_WIN32_WCE) && defined(_MSC_VER))
Packit Service 20376f
#    include <stddef.h>
Packit Service 20376f
#  endif
Packit Service 20376f
#  include <string.h>
Packit Service 20376f
#  include <stdlib.h>
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#ifdef Z_SOLO
Packit Service 20376f
   typedef long ptrdiff_t;  /* guess -- will be caught if guess is wrong */
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#ifndef local
Packit Service 20376f
#  define local static
Packit Service 20376f
#endif
Packit Service 20376f
/* since "static" is used to mean two completely different things in C, we
Packit Service 20376f
   define "local" for the non-static meaning of "static", for readability
Packit Service 20376f
   (compile with -Dlocal if your debugger can't find static symbols) */
Packit Service 20376f
Packit Service 20376f
typedef unsigned char  uch;
Packit Service 20376f
typedef uch FAR uchf;
Packit Service 20376f
typedef unsigned short ush;
Packit Service 20376f
typedef ush FAR ushf;
Packit Service 20376f
typedef unsigned long  ulg;
Packit Service 20376f
Packit Service 20376f
extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
Packit Service 20376f
/* (size given to avoid silly warnings with Visual C++) */
Packit Service 20376f
Packit Service 20376f
#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
Packit Service 20376f
Packit Service 20376f
#define ERR_RETURN(strm,err) \
Packit Service 20376f
  return (strm->msg = ERR_MSG(err), (err))
Packit Service 20376f
/* To be used only when the state is known to be valid */
Packit Service 20376f
Packit Service 20376f
        /* common constants */
Packit Service 20376f
Packit Service 20376f
#ifndef DEF_WBITS
Packit Service 20376f
#  define DEF_WBITS MAX_WBITS
Packit Service 20376f
#endif
Packit Service 20376f
/* default windowBits for decompression. MAX_WBITS is for compression only */
Packit Service 20376f
Packit Service 20376f
#if MAX_MEM_LEVEL >= 8
Packit Service 20376f
#  define DEF_MEM_LEVEL 8
Packit Service 20376f
#else
Packit Service 20376f
#  define DEF_MEM_LEVEL  MAX_MEM_LEVEL
Packit Service 20376f
#endif
Packit Service 20376f
/* default memLevel */
Packit Service 20376f
Packit Service 20376f
#define STORED_BLOCK 0
Packit Service 20376f
#define STATIC_TREES 1
Packit Service 20376f
#define DYN_TREES    2
Packit Service 20376f
/* The three kinds of block type */
Packit Service 20376f
Packit Service 20376f
#define MIN_MATCH  3
Packit Service 20376f
#define MAX_MATCH  258
Packit Service 20376f
/* The minimum and maximum match lengths */
Packit Service 20376f
Packit Service 20376f
#define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
Packit Service 20376f
Packit Service 20376f
        /* target dependencies */
Packit Service 20376f
Packit Service 20376f
#if defined(MSDOS) || (defined(WINDOWS) && !defined(WIN32))
Packit Service 20376f
#  define OS_CODE  0x00
Packit Service 20376f
#  ifndef Z_SOLO
Packit Service 20376f
#    if defined(__TURBOC__) || defined(__BORLANDC__)
Packit Service 20376f
#      if (__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
Packit Service 20376f
         /* Allow compilation with ANSI keywords only enabled */
Packit Service 20376f
         void _Cdecl farfree( void *block );
Packit Service 20376f
         void *_Cdecl farmalloc( unsigned long nbytes );
Packit Service 20376f
#      else
Packit Service 20376f
#        include <alloc.h>
Packit Service 20376f
#      endif
Packit Service 20376f
#    else /* MSC or DJGPP */
Packit Service 20376f
#      include <malloc.h>
Packit Service 20376f
#    endif
Packit Service 20376f
#  endif
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#ifdef AMIGA
Packit Service 20376f
#  define OS_CODE  1
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#if defined(VAXC) || defined(VMS)
Packit Service 20376f
#  define OS_CODE  2
Packit Service 20376f
#  define F_OPEN(name, mode) \
Packit Service 20376f
     fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#ifdef __370__
Packit Service 20376f
#  if __TARGET_LIB__ < 0x20000000
Packit Service 20376f
#    define OS_CODE 4
Packit Service 20376f
#  elif __TARGET_LIB__ < 0x40000000
Packit Service 20376f
#    define OS_CODE 11
Packit Service 20376f
#  else
Packit Service 20376f
#    define OS_CODE 8
Packit Service 20376f
#  endif
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#if defined(ATARI) || defined(atarist)
Packit Service 20376f
#  define OS_CODE  5
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#ifdef OS2
Packit Service 20376f
#  define OS_CODE  6
Packit Service 20376f
#  if defined(M_I86) && !defined(Z_SOLO)
Packit Service 20376f
#    include <malloc.h>
Packit Service 20376f
#  endif
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#if defined(MACOS) || defined(TARGET_OS_MAC)
Packit Service 20376f
#  define OS_CODE  7
Packit Service 20376f
#  ifndef Z_SOLO
Packit Service 20376f
#    if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
Packit Service 20376f
#      include <unix.h> /* for fdopen */
Packit Service 20376f
#    else
Packit Service 20376f
#      ifndef fdopen
Packit Service 20376f
#        define fdopen(fd,mode) NULL /* No fdopen() */
Packit Service 20376f
#      endif
Packit Service 20376f
#    endif
Packit Service 20376f
#  endif
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#ifdef __acorn
Packit Service 20376f
#  define OS_CODE 13
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#if defined(WIN32) && !defined(__CYGWIN__)
Packit Service 20376f
#  define OS_CODE  10
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#ifdef _BEOS_
Packit Service 20376f
#  define OS_CODE  16
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#ifdef __TOS_OS400__
Packit Service 20376f
#  define OS_CODE 18
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#ifdef __APPLE__
Packit Service 20376f
#  define OS_CODE 19
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#if defined(_BEOS_) || defined(RISCOS)
Packit Service 20376f
#  define fdopen(fd,mode) NULL /* No fdopen() */
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX
Packit Service 20376f
#  if defined(_WIN32_WCE)
Packit Service 20376f
#    define fdopen(fd,mode) NULL /* No fdopen() */
Packit Service 20376f
#    ifndef _PTRDIFF_T_DEFINED
Packit Service 20376f
       typedef int ptrdiff_t;
Packit Service 20376f
#      define _PTRDIFF_T_DEFINED
Packit Service 20376f
#    endif
Packit Service 20376f
#  else
Packit Service 20376f
#    define fdopen(fd,type)  _fdopen(fd,type)
Packit Service 20376f
#  endif
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#if defined(__BORLANDC__) && !defined(MSDOS)
Packit Service 20376f
  #pragma warn -8004
Packit Service 20376f
  #pragma warn -8008
Packit Service 20376f
  #pragma warn -8066
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
/* provide prototypes for these when building zlib without LFS */
Packit Service 20376f
#if !defined(_WIN32) && \
Packit Service 20376f
    (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
Packit Service 20376f
    ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
Packit Service 20376f
    ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
        /* common defaults */
Packit Service 20376f
Packit Service 20376f
#ifndef OS_CODE
Packit Service 20376f
#  define OS_CODE  3     /* assume Unix */
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#ifndef F_OPEN
Packit Service 20376f
#  define F_OPEN(name, mode) fopen((name), (mode))
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
         /* functions */
Packit Service 20376f
Packit Service 20376f
#if defined(pyr) || defined(Z_SOLO)
Packit Service 20376f
#  define NO_MEMCPY
Packit Service 20376f
#endif
Packit Service 20376f
#if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)
Packit Service 20376f
 /* Use our own functions for small and medium model with MSC <= 5.0.
Packit Service 20376f
  * You may have to use the same strategy for Borland C (untested).
Packit Service 20376f
  * The __SC__ check is for Symantec.
Packit Service 20376f
  */
Packit Service 20376f
#  define NO_MEMCPY
Packit Service 20376f
#endif
Packit Service 20376f
#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
Packit Service 20376f
#  define HAVE_MEMCPY
Packit Service 20376f
#endif
Packit Service 20376f
#ifdef HAVE_MEMCPY
Packit Service 20376f
#  ifdef SMALL_MEDIUM /* MSDOS small or medium model */
Packit Service 20376f
#    define zmemcpy _fmemcpy
Packit Service 20376f
#    define zmemcmp _fmemcmp
Packit Service 20376f
#    define zmemzero(dest, len) _fmemset(dest, 0, len)
Packit Service 20376f
#  else
Packit Service 20376f
#    define zmemcpy memcpy
Packit Service 20376f
#    define zmemcmp memcmp
Packit Service 20376f
#    define zmemzero(dest, len) memset(dest, 0, len)
Packit Service 20376f
#  endif
Packit Service 20376f
#else
Packit Service 20376f
   void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
Packit Service 20376f
   int ZLIB_INTERNAL zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
Packit Service 20376f
   void ZLIB_INTERNAL zmemzero OF((Bytef* dest, uInt len));
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
/* Diagnostic functions */
Packit Service 20376f
#ifdef ZLIB_DEBUG
Packit Service 20376f
#  include <stdio.h>
Packit Service 20376f
   extern int ZLIB_INTERNAL z_verbose;
Packit Service 20376f
   extern void ZLIB_INTERNAL z_error OF((char *m));
Packit Service 20376f
#  define Assert(cond,msg) {if(!(cond)) z_error(msg);}
Packit Service 20376f
#  define Trace(x) {if (z_verbose>=0) fprintf x ;}
Packit Service 20376f
#  define Tracev(x) {if (z_verbose>0) fprintf x ;}
Packit Service 20376f
#  define Tracevv(x) {if (z_verbose>1) fprintf x ;}
Packit Service 20376f
#  define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
Packit Service 20376f
#  define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
Packit Service 20376f
#else
Packit Service 20376f
#  define Assert(cond,msg)
Packit Service 20376f
#  define Trace(x)
Packit Service 20376f
#  define Tracev(x)
Packit Service 20376f
#  define Tracevv(x)
Packit Service 20376f
#  define Tracec(c,x)
Packit Service 20376f
#  define Tracecv(c,x)
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#ifndef Z_SOLO
Packit Service 20376f
   voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items,
Packit Service 20376f
                                    unsigned size));
Packit Service 20376f
   void ZLIB_INTERNAL zcfree  OF((voidpf opaque, voidpf ptr));
Packit Service 20376f
#endif
Packit Service 20376f
Packit Service 20376f
#define ZALLOC(strm, items, size) \
Packit Service 20376f
           (*((strm)->zalloc))((strm)->opaque, (items), (size))
Packit Service 20376f
#define ZFREE(strm, addr)  (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
Packit Service 20376f
#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
Packit Service 20376f
Packit Service 20376f
/* Reverse the bytes in a 32-bit value */
Packit Service 20376f
#define ZSWAP32(q) ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
Packit Service 20376f
                    (((q) & 0xff00) << 8) + (((q) & 0xff) << 24))
Packit Service 20376f
Packit Service 20376f
#endif /* ZUTIL_H */