TrinityCore
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
zutil.h
Go to the documentation of this file.
1
/* zutil.h -- internal interface and configuration of the compression library
2
* Copyright (C) 1995-2013 Jean-loup Gailly.
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
/* compile with -Dlocal if your debugger can't find static symbols */
40
41
typedef
unsigned
char
uch
;
42
typedef
uch
FAR
uchf
;
43
typedef
unsigned
short
ush
;
44
typedef
ush
FAR
ushf
;
45
typedef
unsigned
long
ulg
;
46
47
extern
z_const
char
*
const
z_errmsg
[10];
/* indexed by 2-zlib_error */
48
/* (size given to avoid silly warnings with Visual C++) */
49
50
#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
51
52
#define ERR_RETURN(strm,err) \
53
return (strm->msg = ERR_MSG(err), (err))
54
/* To be used only when the state is known to be valid */
55
56
/* common constants */
57
58
#ifndef DEF_WBITS
59
# define DEF_WBITS MAX_WBITS
60
#endif
61
/* default windowBits for decompression. MAX_WBITS is for compression only */
62
63
#if MAX_MEM_LEVEL >= 8
64
# define DEF_MEM_LEVEL 8
65
#else
66
# define DEF_MEM_LEVEL MAX_MEM_LEVEL
67
#endif
68
/* default memLevel */
69
70
#define STORED_BLOCK 0
71
#define STATIC_TREES 1
72
#define DYN_TREES 2
73
/* The three kinds of block type */
74
75
#define MIN_MATCH 3
76
#define MAX_MATCH 258
77
/* The minimum and maximum match lengths */
78
79
#define PRESET_DICT 0x20
/* preset dictionary flag in zlib header */
80
81
/* target dependencies */
82
83
#if defined(MSDOS) || (defined(WINDOWS) && !defined(WIN32))
84
# define OS_CODE 0x00
85
# ifndef Z_SOLO
86
# if defined(__TURBOC__) || defined(__BORLANDC__)
87
# if (__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
88
/* Allow compilation with ANSI keywords only enabled */
89
void
_Cdecl farfree(
void
*block );
90
void
*_Cdecl farmalloc(
unsigned
long
nbytes );
91
# else
92
# include <alloc.h>
93
# endif
94
# else
/* MSC or DJGPP */
95
# include <malloc.h>
96
# endif
97
# endif
98
#endif
99
100
#ifdef AMIGA
101
# define OS_CODE 0x01
102
#endif
103
104
#if defined(VAXC) || defined(VMS)
105
# define OS_CODE 0x02
106
# define F_OPEN(name, mode) \
107
fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
108
#endif
109
110
#if defined(ATARI) || defined(atarist)
111
# define OS_CODE 0x05
112
#endif
113
114
#ifdef OS2
115
# define OS_CODE 0x06
116
# if defined(M_I86) && !defined(Z_SOLO)
117
# include <malloc.h>
118
# endif
119
#endif
120
121
#if defined(MACOS) || defined(TARGET_OS_MAC)
122
# define OS_CODE 0x07
123
# ifndef Z_SOLO
124
# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
125
# include <unix.h>
/* for fdopen */
126
# else
127
# ifndef fdopen
128
# define fdopen(fd,mode) NULL
/* No fdopen() */
129
# endif
130
# endif
131
# endif
132
#endif
133
134
#ifdef TOPS20
135
# define OS_CODE 0x0a
136
#endif
137
138
#ifdef WIN32
139
# ifndef __CYGWIN__
/* Cygwin is Unix, not Win32 */
140
# define OS_CODE 0x0b
141
# endif
142
#endif
143
144
#ifdef __50SERIES
/* Prime/PRIMOS */
145
# define OS_CODE 0x0f
146
#endif
147
148
#if defined(_BEOS_) || defined(RISCOS)
149
# define fdopen(fd,mode) NULL
/* No fdopen() */
150
#endif
151
152
#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX
153
# if defined(_WIN32_WCE)
154
# define fdopen(fd,mode) NULL
/* No fdopen() */
155
# ifndef _PTRDIFF_T_DEFINED
156
typedef
int
ptrdiff_t;
157
# define _PTRDIFF_T_DEFINED
158
# endif
159
# else
160
# define fdopen(fd,type) _fdopen(fd,type)
161
# endif
162
#endif
163
164
#if defined(__BORLANDC__) && !defined(MSDOS)
165
#pragma warn -8004
166
#pragma warn -8008
167
#pragma warn -8066
168
#endif
169
170
/* provide prototypes for these when building zlib without LFS */
171
#if !defined(_WIN32) && \
172
(!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
173
ZEXTERN
uLong
ZEXPORT
adler32_combine64
OF
((
uLong
,
uLong
,
z_off_t
));
174
ZEXTERN
uLong
ZEXPORT
crc32_combine64
OF
((
uLong
,
uLong
,
z_off_t
));
175
#endif
176
177
/* common defaults */
178
179
#ifndef OS_CODE
180
# define OS_CODE 0x03
/* assume Unix */
181
#endif
182
183
#ifndef F_OPEN
184
# define F_OPEN(name, mode) fopen((name), (mode))
185
#endif
186
187
/* functions */
188
189
#if defined(pyr) || defined(Z_SOLO)
190
# define NO_MEMCPY
191
#endif
192
#if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)
193
/* Use our own functions for small and medium model with MSC <= 5.0.
194
* You may have to use the same strategy for Borland C (untested).
195
* The __SC__ check is for Symantec.
196
*/
197
# define NO_MEMCPY
198
#endif
199
#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
200
# define HAVE_MEMCPY
201
#endif
202
#ifdef HAVE_MEMCPY
203
# ifdef SMALL_MEDIUM
/* MSDOS small or medium model */
204
# define zmemcpy _fmemcpy
205
# define zmemcmp _fmemcmp
206
# define zmemzero(dest, len) _fmemset(dest, 0, len)
207
# else
208
# define zmemcpy memcpy
209
# define zmemcmp memcmp
210
# define zmemzero(dest, len) memset(dest, 0, len)
211
# endif
212
#else
213
void
ZLIB_INTERNAL
zmemcpy
OF
((
Bytef
* dest,
const
Bytef
* source,
uInt
len));
214
int
ZLIB_INTERNAL
zmemcmp
OF
((
const
Bytef
* s1,
const
Bytef
* s2,
uInt
len));
215
void
ZLIB_INTERNAL
zmemzero
OF
((
Bytef
* dest,
uInt
len));
216
#endif
217
218
/* Diagnostic functions */
219
#ifdef DEBUG
220
# include <stdio.h>
221
extern
int
ZLIB_INTERNAL
z_verbose;
222
extern
void
ZLIB_INTERNAL
z_error
OF
((
char
*m));
223
# define Assert(cond,msg) {if(!(cond)) z_error(msg);}
224
# define Trace(x) {if (z_verbose>=0) fprintf x ;}
225
# define Tracev(x) {if (z_verbose>0) fprintf x ;}
226
# define Tracevv(x) {if (z_verbose>1) fprintf x ;}
227
# define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
228
# define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
229
#else
230
# define Assert(cond,msg)
231
# define Trace(x)
232
# define Tracev(x)
233
# define Tracevv(x)
234
# define Tracec(c,x)
235
# define Tracecv(c,x)
236
#endif
237
238
#ifndef Z_SOLO
239
voidpf
ZLIB_INTERNAL
zcalloc
OF
((
voidpf
opaque,
unsigned
items,
240
unsigned
size));
241
void
ZLIB_INTERNAL
zcfree
OF
((
voidpf
opaque,
voidpf
ptr));
242
#endif
243
244
#define ZALLOC(strm, items, size) \
245
(*((strm)->zalloc))((strm)->opaque, (items), (size))
246
#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
247
#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
248
249
/* Reverse the bytes in a 32-bit value */
250
#define ZSWAP32(q) ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
251
(((q) & 0xff00) << 8) + (((q) & 0xff) << 24))
252
253
#endif
/* ZUTIL_H */
voidpf
Byte FAR * voidpf
Definition:
zconf.h:390
ushf
ush FAR ushf
Definition:
zutil.h:44
z_off_t
#define z_off_t
Definition:
zconf.h:481
uLong
unsigned long uLong
Definition:
zconf.h:371
z_const
#define z_const
Definition:
zconf.h:224
Bytef
Byte FAR Bytef
Definition:
zconf.h:377
zlib.h
ush
unsigned short ush
Definition:
zutil.h:43
z_errmsg
z_const char *const z_errmsg[10]
OF
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t))
ZEXTERN
#define ZEXTERN
Definition:
zconf.h:354
uch
unsigned char uch
Definition:
zutil.h:41
ulg
unsigned long ulg
Definition:
zutil.h:45
FAR
#define FAR
Definition:
zconf.h:364
uchf
uch FAR uchf
Definition:
zutil.h:42
ZEXPORT
#define ZEXPORT
Definition:
zconf.h:357
ZLIB_INTERNAL
#define ZLIB_INTERNAL
Definition:
zutil.h:19
uInt
unsigned int uInt
Definition:
zconf.h:370
Generated on Tue Apr 5 2016 20:13:12 for TrinityCore by
1.8.8