ReactOS 0.4.15-dev-7788-g1ad9096
zutil.h
Go to the documentation of this file.
1/* zutil.h -- internal interface and configuration of the compression library
2 * Copyright (C) 1995-2002 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 _Z_UTIL_H
14#define _Z_UTIL_H
15
16#include "zlib.h"
17
18#ifdef STDC
19# include <stddef.h>
20# include <string.h>
21# include <stdlib.h>
22#endif
23#ifdef NO_ERRNO_H
24 extern int errno;
25#else
26# include <errno.h>
27#endif
28
29#ifndef local
30# define local static
31#endif
32/* compile with -Dlocal if your debugger can't find static symbols */
33
34typedef unsigned char uch;
35typedef uch FAR uchf;
36typedef unsigned short ush;
37typedef ush FAR ushf;
38typedef unsigned long ulg;
39
40
41#define ERR_RETURN(strm,err) \
42 return (strm->msg = (char*)ERR_MSG(err), (err))
43/* To be used only when the state is known to be valid */
44
45 /* common constants */
46
47#ifndef DEF_WBITS
48# define DEF_WBITS MAX_WBITS
49#endif
50/* default windowBits for decompression. MAX_WBITS is for compression only */
51
52#if MAX_MEM_LEVEL >= 8
53# define DEF_MEM_LEVEL 8
54#else
55# define DEF_MEM_LEVEL MAX_MEM_LEVEL
56#endif
57/* default memLevel */
58
59#define STORED_BLOCK 0
60#define STATIC_TREES 1
61#define DYN_TREES 2
62/* The three kinds of block type */
63
64#define MIN_MATCH 3
65#define MAX_MATCH 258
66/* The minimum and maximum match lengths */
67
68#define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
69
70 /* target dependencies */
71
72#ifdef MSDOS
73# define OS_CODE 0x00
74# if defined(__TURBOC__) || defined(__BORLANDC__)
75# if(__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
76 /* Allow compilation with ANSI keywords only enabled */
77 void _Cdecl farfree( void *block );
78 void *_Cdecl farmalloc( unsigned long nbytes );
79# else
80# include <alloc.h>
81# endif
82# else /* MSC or DJGPP */
83# endif
84#endif
85
86#ifdef OS2
87# define OS_CODE 0x06
88#endif
89
90#ifdef WIN32 /* Window 95 & Windows NT */
91# define OS_CODE 0x0b
92#endif
93
94#if defined(VAXC) || defined(VMS)
95# define OS_CODE 0x02
96# define F_OPEN(name, mode) \
97 ft_fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
98#endif
99
100#ifdef AMIGA
101# define OS_CODE 0x01
102#endif
103
104#if defined(ATARI) || defined(atarist)
105# define OS_CODE 0x05
106#endif
107
108#if defined(MACOS) || defined(TARGET_OS_MAC)
109# define OS_CODE 0x07
110# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
111# include <unix.h> /* for fdopen */
112# else
113# ifndef fdopen
114# define fdopen(fd,mode) NULL /* No fdopen() */
115# endif
116# endif
117#endif
118
119#ifdef __50SERIES /* Prime/PRIMOS */
120# define OS_CODE 0x0F
121#endif
122
123#ifdef TOPS20
124# define OS_CODE 0x0a
125#endif
126
127#if defined(_BEOS_) || defined(RISCOS)
128# define fdopen(fd,mode) NULL /* No fdopen() */
129#endif
130
131#if (defined(_MSC_VER) && (_MSC_VER > 600))
132# define fdopen(fd,type) _fdopen(fd,type)
133#endif
134
135
136 /* Common defaults */
137
138#ifndef OS_CODE
139# define OS_CODE 0x03 /* assume Unix */
140#endif
141
142#ifndef F_OPEN
143# define F_OPEN(name, mode) ft_fopen((name), (mode))
144#endif
145
146 /* functions */
147
148#ifdef HAVE_STRERROR
149 extern char *strerror OF((int));
150# define zstrerror(errnum) strerror(errnum)
151#else
152# define zstrerror(errnum) ""
153#endif
154
155#if defined(pyr)
156# define NO_MEMCPY
157#endif
158#if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)
159 /* Use our own functions for small and medium model with MSC <= 5.0.
160 * You may have to use the same strategy for Borland C (untested).
161 * The __SC__ check is for Symantec.
162 */
163# define NO_MEMCPY
164#endif
165#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
166# define HAVE_MEMCPY
167#endif
168#ifdef HAVE_MEMCPY
169# ifdef SMALL_MEDIUM /* MSDOS small or medium model */
170# define zmemcpy _fmemcpy
171# define zmemcmp _fmemcmp
172# define zmemzero(dest, len) _fmemset(dest, 0, len)
173# else
174# define zmemcpy ft_memcpy
175# define zmemcmp ft_memcmp
176# define zmemzero(dest, len) ft_memset(dest, 0, len)
177# endif
178#else
179 extern void zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
180 extern int zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
181 extern void zmemzero OF((Bytef* dest, uInt len));
182#endif
183
184/* Diagnostic functions */
185#ifdef DEBUG
186# include <stdio.h>
187 extern int z_verbose;
188 extern void z_error OF((char *m));
189# define Assert(cond,msg) {if(!(cond)) z_error(msg);}
190# define Trace(x) {if (z_verbose>=0) fprintf x ;}
191# define Tracev(x) {if (z_verbose>0) fprintf x ;}
192# define Tracevv(x) {if (z_verbose>1) fprintf x ;}
193# define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
194# define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
195#else
196# define Assert(cond,msg)
197# define Trace(x)
198# define Tracev(x)
199# define Tracevv(x)
200# define Tracec(c,x)
201# define Tracecv(c,x)
202#endif
203
204
205typedef uLong (*check_func) OF((uLong check, const Bytef *buf,
206 uInt len));
207local voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size));
208local void zcfree OF((voidpf opaque, voidpf ptr));
209
210#define ZALLOC(strm, items, size) \
211 (*((strm)->zalloc))((strm)->opaque, (items), (size))
212#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
213#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
214
215#endif /* _Z_UTIL_H */
#define zmemzero(dest, len)
Definition: inflate.c:39
#define zmemcpy
Definition: inflate.c:38
unsigned long uLong
Definition: zlib.h:39
unsigned short ush
Definition: zlib.h:49
void FAR * voidpf
Definition: zlib.h:42
unsigned int uInt
Definition: zlib.h:38
Byte FAR Bytef
Definition: zlib.h:41
#define FAR
Definition: zlib.h:34
unsigned char uch
Definition: zlib.h:47
#define check(expected, result)
Definition: dplayx.c:32
int zmemcmp(Bytef *s1, const Bytef *s2, uInt len) const
Definition: zutil.c:28
void zcfree(voidpf opaque, voidpf ptr)
Definition: zutil.c:173
voidpf zcalloc(voidpf opaque, unsigned items, unsigned size)
Definition: zutil.c:164
#define local
Definition: zutil.h:30
uLong check_func OF((uLong check, const Bytef *buf, uInt len))
Definition: zutil.h:205
unsigned short ush
Definition: zutil.h:36
uch FAR uchf
Definition: zutil.h:35
ush FAR ushf
Definition: zutil.h:37
unsigned long ulg
Definition: zutil.h:38
unsigned char uch
Definition: zutil.h:34
GLsizeiptr size
Definition: glext.h:5919
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLenum GLsizei len
Definition: glext.h:6722
const GLfloat * m
Definition: glext.h:10848
struct S1 s1
struct S2 s2
static PVOID ptr
Definition: dispmode.c:27
static char * dest
Definition: rtl.c:135
const char * strerror(int err)
Definition: compat_str.c:23
static TCHAR * items[]
Definition: page1.c:45
#define errno
Definition: errno.h:18
static unsigned int block
Definition: xmlmemory.c:101