Blame deps/zlib/zutil.h

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