xref: /openbmc/u-boot/lib/zlib/zutil.h (revision 57dc53a72460e8e301fa1cc7951b41db8e731485)
1e89516f0SMike Frysinger /* zutil.h -- internal interface and configuration of the compression library
2e89516f0SMike Frysinger  * Copyright (C) 1995-2005 Jean-loup Gailly.
3e89516f0SMike Frysinger  * For conditions of distribution and use, see copyright notice in zlib.h
4e89516f0SMike Frysinger  */
5e89516f0SMike Frysinger 
6e89516f0SMike Frysinger /* WARNING: this file should *not* be used by applications. It is
7e89516f0SMike Frysinger    part of the implementation of the compression library and is
8e89516f0SMike Frysinger    subject to change. Applications should only use zlib.h.
9e89516f0SMike Frysinger  */
10e89516f0SMike Frysinger 
11e89516f0SMike Frysinger /* @(#) $Id$ */
12e89516f0SMike Frysinger 
13e89516f0SMike Frysinger #ifndef ZUTIL_H
14e89516f0SMike Frysinger #define ZUTIL_H
15e89516f0SMike Frysinger 
16e89516f0SMike Frysinger #define ZLIB_INTERNAL
17e89516f0SMike Frysinger #include "zlib.h"
18e89516f0SMike Frysinger 
19e89516f0SMike Frysinger #ifdef STDC
20e89516f0SMike Frysinger #  ifndef _WIN32_WCE
21e89516f0SMike Frysinger #    include <stddef.h>
22e89516f0SMike Frysinger #  endif
23e89516f0SMike Frysinger #  include <string.h>
24e89516f0SMike Frysinger #  include <stdlib.h>
25e89516f0SMike Frysinger #endif
26e89516f0SMike Frysinger #ifdef NO_ERRNO_H
27e89516f0SMike Frysinger #   ifdef _WIN32_WCE
28e89516f0SMike Frysinger       /* The Microsoft C Run-Time Library for Windows CE doesn't have
29e89516f0SMike Frysinger        * errno.  We define it as a global variable to simplify porting.
30e89516f0SMike Frysinger        * Its value is always 0 and should not be used.  We rename it to
31e89516f0SMike Frysinger        * avoid conflict with other libraries that use the same workaround.
32e89516f0SMike Frysinger        */
33e89516f0SMike Frysinger #     define errno z_errno
34e89516f0SMike Frysinger #   endif
35e89516f0SMike Frysinger     extern int errno;
36e89516f0SMike Frysinger #else
37e89516f0SMike Frysinger #  ifndef _WIN32_WCE
38e89516f0SMike Frysinger #    include <errno.h>
39e89516f0SMike Frysinger #  endif
40e89516f0SMike Frysinger #endif
41e89516f0SMike Frysinger 
42e89516f0SMike Frysinger #ifndef local
43e89516f0SMike Frysinger #  define local static
44e89516f0SMike Frysinger #endif
45e89516f0SMike Frysinger /* compile with -Dlocal if your debugger can't find static symbols */
46e89516f0SMike Frysinger 
47e89516f0SMike Frysinger typedef unsigned char  uch;
48e89516f0SMike Frysinger typedef uch FAR uchf;
49e89516f0SMike Frysinger typedef unsigned short ush;
50e89516f0SMike Frysinger typedef ush FAR ushf;
51e89516f0SMike Frysinger typedef unsigned long  ulg;
52e89516f0SMike Frysinger 
53e89516f0SMike Frysinger extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
54e89516f0SMike Frysinger /* (size given to avoid silly warnings with Visual C++) */
55e89516f0SMike Frysinger 
56e89516f0SMike Frysinger #define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
57e89516f0SMike Frysinger 
58e89516f0SMike Frysinger #define ERR_RETURN(strm,err) \
59e89516f0SMike Frysinger   return (strm->msg = (char*)ERR_MSG(err), (err))
60e89516f0SMike Frysinger /* To be used only when the state is known to be valid */
61e89516f0SMike Frysinger 
62e89516f0SMike Frysinger         /* common constants */
63e89516f0SMike Frysinger 
64e89516f0SMike Frysinger #ifndef DEF_WBITS
65e89516f0SMike Frysinger #  define DEF_WBITS MAX_WBITS
66e89516f0SMike Frysinger #endif
67e89516f0SMike Frysinger /* default windowBits for decompression. MAX_WBITS is for compression only */
68e89516f0SMike Frysinger 
69e89516f0SMike Frysinger #if MAX_MEM_LEVEL >= 8
70e89516f0SMike Frysinger #  define DEF_MEM_LEVEL 8
71e89516f0SMike Frysinger #else
72e89516f0SMike Frysinger #  define DEF_MEM_LEVEL  MAX_MEM_LEVEL
73e89516f0SMike Frysinger #endif
74e89516f0SMike Frysinger /* default memLevel */
75e89516f0SMike Frysinger 
76e89516f0SMike Frysinger #define STORED_BLOCK 0
77e89516f0SMike Frysinger #define STATIC_TREES 1
78e89516f0SMike Frysinger #define DYN_TREES    2
79e89516f0SMike Frysinger /* The three kinds of block type */
80e89516f0SMike Frysinger 
81e89516f0SMike Frysinger #define MIN_MATCH  3
82e89516f0SMike Frysinger #define MAX_MATCH  258
83e89516f0SMike Frysinger /* The minimum and maximum match lengths */
84e89516f0SMike Frysinger 
85e89516f0SMike Frysinger 	 /* functions */
867a32b98dSLei Wen #ifdef CONFIG_GZIP_COMPRESSED
877a32b98dSLei Wen #define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
887a32b98dSLei Wen #  define OS_CODE  0x03  /* assume Unix */
897a32b98dSLei Wen #endif
90e89516f0SMike Frysinger 
91e89516f0SMike Frysinger #include <linux/string.h>
92e89516f0SMike Frysinger #define zmemcpy memcpy
93e89516f0SMike Frysinger #define zmemcmp memcmp
94e89516f0SMike Frysinger #define zmemzero(dest, len) memset(dest, 0, len)
95e89516f0SMike Frysinger 
96e89516f0SMike Frysinger /* Diagnostic functions */
97e89516f0SMike Frysinger #ifdef DEBUG
98*a187559eSBin Meng /* Not valid for U-Boot
99f18185abSMike Frysinger #  include <stdio.h> */
100e89516f0SMike Frysinger    extern int z_verbose;
101e89516f0SMike Frysinger    extern void z_error    OF((char *m));
102e89516f0SMike Frysinger #  define Assert(cond,msg) {if(!(cond)) z_error(msg);}
103e89516f0SMike Frysinger #  define Trace(x) {if (z_verbose>=0) fprintf x ;}
104e89516f0SMike Frysinger #  define Tracev(x) {if (z_verbose>0) fprintf x ;}
105e89516f0SMike Frysinger #  define Tracevv(x) {if (z_verbose>1) fprintf x ;}
106e89516f0SMike Frysinger #  define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
107e89516f0SMike Frysinger #  define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
108e89516f0SMike Frysinger #else
109e89516f0SMike Frysinger #  define Assert(cond,msg)
110e89516f0SMike Frysinger #  define Trace(x)
111e89516f0SMike Frysinger #  define Tracev(x)
112e89516f0SMike Frysinger #  define Tracevv(x)
113e89516f0SMike Frysinger #  define Tracec(c,x)
114e89516f0SMike Frysinger #  define Tracecv(c,x)
115e89516f0SMike Frysinger #endif
116e89516f0SMike Frysinger 
117e89516f0SMike Frysinger 
118e89516f0SMike Frysinger voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size));
119e89516f0SMike Frysinger void   zcfree  OF((voidpf opaque, voidpf ptr, unsigned size));
120e89516f0SMike Frysinger 
121e89516f0SMike Frysinger #define ZALLOC(strm, items, size) \
122e89516f0SMike Frysinger            (*((strm)->zalloc))((strm)->opaque, (items), (size))
123e89516f0SMike Frysinger #define ZFREE(strm, addr)  (*((strm)->zfree))((strm)->opaque, (voidpf)(addr), 0)
124e89516f0SMike Frysinger #define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
125e89516f0SMike Frysinger 
126e89516f0SMike Frysinger #endif /* ZUTIL_H */
127