Chameleon

Chameleon Svn Source Tree

Root/branches/meklortOld/i386/modules/KextPatcher/include/zutil.h

Source at commit 1166 created 13 years 10 days ago.
By meklort, Fixed recent Makefile changes. Please do not use /Users/evan/SourceCode/tmp/chameleon/trunk or VPATH. the *only* time you should use /Users/evan/SourceCode/tmp/chameleon/trunk is when setting the SRCROOT variable. Also note that very soon make pkg is going to be removed. The pkg build script in trunk is very out of date. Instead please use the package maker at http://forge.voodooprojects.org/p/chameleonApplications/. Once this is ready for trunk it will be merged.
1/* zutil.h -- internal interface and configuration of the compression library
2 * Copyright (C) 1995-2010 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#if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33) && !defined(NO_VIZ)
17# define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
18#else
19# define ZLIB_INTERNAL
20#endif
21
22#include "libsaio.h"
23#include "zlib.h"
24
25#ifdef STDC
26# if !(defined(_WIN32_WCE) && defined(_MSC_VER))
27# include <stddef.h>
28# endif
29//# include <string.h>
30//# include <stdlib.h>
31#endif
32
33#ifndef local
34# define local static
35#endif
36/* compile with -Dlocal if your debugger can't find static symbols */
37
38typedef unsigned char uch;
39typedef uch FAR uchf;
40typedef unsigned short ush;
41typedef ush FAR ushf;
42typedef unsigned long ulg;
43
44extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
45/* (size given to avoid silly warnings with Visual C++) */
46
47#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
48
49#define ERR_RETURN(strm,err) \
50 return (strm->msg = (char*)ERR_MSG(err), (err))
51/* To be used only when the state is known to be valid */
52
53 /* common constants */
54
55#ifndef DEF_WBITS
56# define DEF_WBITS MAX_WBITS
57#endif
58/* default windowBits for decompression. MAX_WBITS is for compression only */
59
60#if MAX_MEM_LEVEL >= 8
61# define DEF_MEM_LEVEL 8
62#else
63# define DEF_MEM_LEVEL MAX_MEM_LEVEL
64#endif
65/* default memLevel */
66
67#define STORED_BLOCK 0
68#define STATIC_TREES 1
69#define DYN_TREES 2
70/* The three kinds of block type */
71
72#define MIN_MATCH 3
73#define MAX_MATCH 258
74/* The minimum and maximum match lengths */
75
76#define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
77
78 /* target dependencies */
79
80#if defined(MSDOS) || (defined(WINDOWS) && !defined(WIN32))
81# define OS_CODE 0x00
82# if defined(__TURBOC__) || defined(__BORLANDC__)
83# if (__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
84 /* Allow compilation with ANSI keywords only enabled */
85 void _Cdecl farfree( void *block );
86 void *_Cdecl farmalloc( unsigned long nbytes );
87# else
88# include <alloc.h>
89# endif
90# else /* MSC or DJGPP */
91# include <malloc.h>
92# endif
93#endif
94
95#ifdef AMIGA
96# define OS_CODE 0x01
97#endif
98
99#if defined(VAXC) || defined(VMS)
100# define OS_CODE 0x02
101# define F_OPEN(name, mode) \
102 fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
103#endif
104
105#if defined(ATARI) || defined(atarist)
106# define OS_CODE 0x05
107#endif
108
109#ifdef OS2
110# define OS_CODE 0x06
111# ifdef M_I86
112//# include <malloc.h>
113# endif
114#endif
115
116#if defined(MACOS) || defined(TARGET_OS_MAC)
117# define OS_CODE 0x07
118# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
119# include <unix.h> /* for fdopen */
120# else
121# ifndef fdopen
122# define fdopen(fd,mode) NULL /* No fdopen() */
123# endif
124# endif
125#endif
126
127#ifdef TOPS20
128# define OS_CODE 0x0a
129#endif
130
131#ifdef WIN32
132# ifndef __CYGWIN__ /* Cygwin is Unix, not Win32 */
133# define OS_CODE 0x0b
134# endif
135#endif
136
137#ifdef __50SERIES /* Prime/PRIMOS */
138# define OS_CODE 0x0f
139#endif
140
141#if defined(_BEOS_) || defined(RISCOS)
142# define fdopen(fd,mode) NULL /* No fdopen() */
143#endif
144
145#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX
146# if defined(_WIN32_WCE)
147# define fdopen(fd,mode) NULL /* No fdopen() */
148# ifndef _PTRDIFF_T_DEFINED
149 typedef int ptrdiff_t;
150# define _PTRDIFF_T_DEFINED
151# endif
152# else
153# define fdopen(fd,type) _fdopen(fd,type)
154# endif
155#endif
156
157#if defined(__BORLANDC__)
158 #pragma warn -8004
159 #pragma warn -8008
160 #pragma warn -8066
161#endif
162
163/* provide prototypes for these when building zlib without LFS */
164#if !defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0
165 ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
166 ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
167#endif
168
169 /* common defaults */
170
171#ifndef OS_CODE
172# define OS_CODE 0x03 /* assume Unix */
173#endif
174
175#ifndef F_OPEN
176# define F_OPEN(name, mode) fopen((name), (mode))
177#endif
178
179 /* functions */
180
181#if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550)
182# ifndef HAVE_VSNPRINTF
183# define HAVE_VSNPRINTF
184# endif
185#endif
186#if defined(__CYGWIN__)
187# ifndef HAVE_VSNPRINTF
188# define HAVE_VSNPRINTF
189# endif
190#endif
191#ifndef HAVE_VSNPRINTF
192# ifdef MSDOS
193 /* vsnprintf may exist on some MS-DOS compilers (DJGPP?),
194 but for now we just assume it doesn't. */
195# define NO_vsnprintf
196# endif
197# ifdef __TURBOC__
198# define NO_vsnprintf
199# endif
200# ifdef WIN32
201 /* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */
202# if !defined(vsnprintf) && !defined(NO_vsnprintf)
203# if !defined(_MSC_VER) || ( defined(_MSC_VER) && _MSC_VER < 1500 )
204# define vsnprintf _vsnprintf
205# endif
206# endif
207# endif
208# ifdef __SASC
209# define NO_vsnprintf
210# endif
211#endif
212#ifdef VMS
213# define NO_vsnprintf
214#endif
215
216#if defined(pyr)
217# define NO_MEMCPY
218#endif
219#if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)
220 /* Use our own functions for small and medium model with MSC <= 5.0.
221 * You may have to use the same strategy for Borland C (untested).
222 * The __SC__ check is for Symantec.
223 */
224# define NO_MEMCPY
225#endif
226#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
227# define HAVE_MEMCPY
228#endif
229#ifdef HAVE_MEMCPY
230# ifdef SMALL_MEDIUM /* MSDOS small or medium model */
231# define zmemcpy _fmemcpy
232# define zmemcmp _fmemcmp
233# define zmemzero(dest, len) _fmemset(dest, 0, len)
234# else
235# define zmemcpy memcpy
236# define zmemcmp memcmp
237# define zmemzero(dest, len) memset(dest, 0, len)
238# endif
239#else
240 void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
241 int ZLIB_INTERNAL zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
242 void ZLIB_INTERNAL zmemzero OF((Bytef* dest, uInt len));
243#endif
244
245/* Diagnostic functions */
246#ifdef DEBUG
247# include <stdio.h>
248 extern int ZLIB_INTERNAL z_verbose;
249 extern void ZLIB_INTERNAL z_error OF((char *m));
250# define Assert(cond,msg) {if(!(cond)) z_error(msg);}
251# define Trace(x) {if (z_verbose>=0) fprintf x ;}
252# define Tracev(x) {if (z_verbose>0) fprintf x ;}
253# define Tracevv(x) {if (z_verbose>1) fprintf x ;}
254# define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
255# define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
256#else
257# define Assert(cond,msg)
258# define Trace(x)
259# define Tracev(x)
260# define Tracevv(x)
261# define Tracec(c,x)
262# define Tracecv(c,x)
263#endif
264
265
266voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items,
267 unsigned size));
268void ZLIB_INTERNAL zcfree OF((voidpf opaque, voidpf ptr));
269
270#define ZALLOC(strm, items, size) \
271 (*((strm)->zalloc))((strm)->opaque, (items), (size))
272#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
273#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
274
275#endif /* ZUTIL_H */
276

Archive Download this file

Revision: 1166