1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef ZUTIL_H
14#define ZUTIL_H
15
16#define ZLIB_INTERNAL
17#include "zlib.h"
18
19#ifdef STDC
20# ifndef _WIN32_WCE
21# include <stddef.h>
22# endif
23# include <string.h>
24# include <stdlib.h>
25#endif
26#ifdef NO_ERRNO_H
27# ifdef _WIN32_WCE
28
29
30
31
32
33# define errno z_errno
34# endif
35 extern int errno;
36#else
37# ifndef _WIN32_WCE
38# include <errno.h>
39# endif
40#endif
41
42#ifndef local
43# define local static
44#endif
45
46
47typedef unsigned char uch;
48typedef uch FAR uchf;
49typedef unsigned short ush;
50typedef ush FAR ushf;
51typedef unsigned long ulg;
52
53extern const char * const z_errmsg[10];
54
55
56#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
57
58#define ERR_RETURN(strm,err) \
59 return (strm->msg = (char*)ERR_MSG(err), (err))
60
61
62
63
64#ifndef DEF_WBITS
65# define DEF_WBITS MAX_WBITS
66#endif
67
68
69#if MAX_MEM_LEVEL >= 8
70# define DEF_MEM_LEVEL 8
71#else
72# define DEF_MEM_LEVEL MAX_MEM_LEVEL
73#endif
74
75
76#define STORED_BLOCK 0
77#define STATIC_TREES 1
78#define DYN_TREES 2
79
80
81#define MIN_MATCH 3
82#define MAX_MATCH 258
83
84
85
86#ifdef CONFIG_GZIP_COMPRESSED
87#define PRESET_DICT 0x20
88# define OS_CODE 0x03
89#endif
90
91#include <linux/string.h>
92#define zmemcpy memcpy
93#define zmemcmp memcmp
94#define zmemzero(dest, len) memset(dest, 0, len)
95
96
97#ifdef DEBUG
98
99
100 extern int z_verbose;
101 extern void z_error OF((char *m));
102# define Assert(cond,msg) {if(!(cond)) z_error(msg);}
103# define Trace(x) {if (z_verbose>=0) fprintf x ;}
104# define Tracev(x) {if (z_verbose>0) fprintf x ;}
105# define Tracevv(x) {if (z_verbose>1) fprintf x ;}
106# define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
107# define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
108#else
109# define Assert(cond,msg)
110# define Trace(x)
111# define Tracev(x)
112# define Tracevv(x)
113# define Tracec(c,x)
114# define Tracecv(c,x)
115#endif
116
117
118voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size));
119void zcfree OF((voidpf opaque, voidpf ptr, unsigned size));
120
121#define ZALLOC(strm, items, size) \
122 (*((strm)->zalloc))((strm)->opaque, (items), (size))
123#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr), 0)
124#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
125
126#endif
127