ReactOS  0.4.15-dev-3440-g915569a
zlib.h
Go to the documentation of this file.
1 /* zlib.h -- interface of the 'zlib' general purpose compression library
2  * version 1.2.11, January 15th, 2017
3  *
4  * Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
5  *
6  * This software is provided 'as-is', without any express or implied
7  * warranty. In no event will the authors be held liable for any damages
8  * arising from the use of this software.
9  *
10  * Permission is granted to anyone to use this software for any purpose,
11  * including commercial applications, and to alter it and redistribute it
12  * freely, subject to the following restrictions:
13  *
14  * 1. The origin of this software must not be misrepresented; you must not
15  * claim that you wrote the original software. If you use this software
16  * in a product, an acknowledgment in the product documentation would be
17  * appreciated but is not required.
18  * 2. Altered source versions must be plainly marked as such, and must not be
19  * misrepresented as being the original software.
20  * 3. This notice may not be removed or altered from any source distribution.
21  *
22  * Jean-loup Gailly Mark Adler
23  * jloup@gzip.org madler@alumni.caltech.edu
24  */
25 
26 #ifndef ZLIB_H
27 #define ZLIB_H
28 
29 #include "windef.h"
30 
31 #undef FAR
32 #define FAR
33 #define z_const const
34 
35 typedef unsigned char Byte; /* 8 bits */
36 typedef unsigned int uInt; /* 16 bits or more */
37 typedef unsigned long uLong; /* 32 bits or more */
38 
39 typedef Byte FAR Bytef;
40 typedef void FAR *voidpf;
41 
42 typedef char FAR charf;
43 typedef int FAR intf;
44 
45 typedef unsigned char uch;
46 typedef uch FAR uchf;
47 typedef unsigned short ush;
48 typedef ush FAR ushf;
49 typedef unsigned long ulg;
50 
51 typedef voidpf (*alloc_func)(voidpf opaque, uInt items, uInt size);
52 typedef void (*free_func)(voidpf opaque, voidpf address);
53 
54 struct internal_state;
55 
56 typedef struct z_stream_s {
57  z_const Bytef *next_in; /* next input byte */
58  uInt avail_in; /* number of bytes available at next_in */
59  uLong total_in; /* total number of input bytes read so far */
60 
61  Bytef *next_out; /* next output byte will go here */
62  uInt avail_out; /* remaining free space at next_out */
63  uLong total_out; /* total number of bytes output so far */
64 
65  z_const char *msg; /* last error message, NULL if no error */
66  struct internal_state FAR *state; /* not visible by applications */
67 
68  alloc_func zalloc; /* used to allocate the internal state */
69  free_func zfree; /* used to free the internal state */
70  voidpf opaque; /* private data object passed to zalloc and zfree */
71 
72  int data_type; /* best guess about the data type: binary or text
73  for deflate, or the decoding state for inflate */
74  uLong adler; /* Adler-32 or CRC-32 value of the uncompressed data */
75  uLong reserved; /* reserved for future use */
76 } z_stream;
77 
79 
80 /*
81  gzip header information passed to and from zlib routines. See RFC 1952
82  for more details on the meanings of these fields.
83 */
84 typedef struct gz_header_s {
85  int text; /* true if compressed data believed to be text */
86  uLong time; /* modification time */
87  int xflags; /* extra flags (not used when writing a gzip file) */
88  int os; /* operating system */
89  Bytef *extra; /* pointer to extra field or Z_NULL if none */
90  uInt extra_len; /* extra field length (valid if extra != Z_NULL) */
91  uInt extra_max; /* space at extra (only when reading header) */
92  Bytef *name; /* pointer to zero-terminated file name or Z_NULL */
93  uInt name_max; /* space at name (only when reading header) */
94  Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */
95  uInt comm_max; /* space at comment (only when reading header) */
96  int hcrc; /* true if there was or will be a header crc */
97  int done; /* true when done reading gzip header (not used
98  when writing a gzip file) */
99 } gz_header;
100 
102 
103 #define Z_NO_FLUSH 0
104 #define Z_PARTIAL_FLUSH 1
105 #define Z_SYNC_FLUSH 2
106 #define Z_FULL_FLUSH 3
107 #define Z_FINISH 4
108 #define Z_BLOCK 5
109 #define Z_TREES 6
110 /* Allowed flush values; see deflate() and inflate() below for details */
111 
112 #define Z_OK 0
113 #define Z_STREAM_END 1
114 #define Z_NEED_DICT 2
115 #define Z_ERRNO (-1)
116 #define Z_STREAM_ERROR (-2)
117 #define Z_DATA_ERROR (-3)
118 #define Z_MEM_ERROR (-4)
119 #define Z_BUF_ERROR (-5)
120 #define Z_VERSION_ERROR (-6)
121 /* Return codes for the compression/decompression functions. Negative values
122  * are errors, positive values are used for special but normal events.
123  */
124 
125 #define Z_NO_COMPRESSION 0
126 #define Z_BEST_SPEED 1
127 #define Z_BEST_COMPRESSION 9
128 #define Z_DEFAULT_COMPRESSION (-1)
129 /* compression levels */
130 
131 #define Z_FILTERED 1
132 #define Z_HUFFMAN_ONLY 2
133 #define Z_RLE 3
134 #define Z_FIXED 4
135 #define Z_DEFAULT_STRATEGY 0
136 /* compression strategy; see deflateInit2() below for details */
137 
138 #define Z_BINARY 0
139 #define Z_TEXT 1
140 #define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */
141 #define Z_UNKNOWN 2
142 /* Possible values of the data_type field for deflate() */
143 
144 #define Z_DEFLATED 8
145 /* The deflate compression method (the only one supported in this version) */
146 
147 #define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
148 
149 #define MAX_WBITS 15 /* 32K LZ77 window */
150 #define MAX_MEM_LEVEL 9
151 
152 extern int inflateInit(z_streamp strm) DECLSPEC_HIDDEN;
153 extern int inflateInit2(z_streamp strm, int windowBits) DECLSPEC_HIDDEN;
154 extern int inflate(z_streamp strm, int flush) DECLSPEC_HIDDEN;
155 extern int inflateEnd(z_streamp strm) DECLSPEC_HIDDEN;
156 
157 extern int deflateInit(z_streamp strm, int level) DECLSPEC_HIDDEN;
158 extern int deflateInit2(z_streamp strm, int level, int method, int windowBits, int memLevel, int strategy) DECLSPEC_HIDDEN;
159 extern int deflate(z_streamp strm, int flush) DECLSPEC_HIDDEN;
160 extern int deflateEnd(z_streamp strm) DECLSPEC_HIDDEN;
161 
162 #endif /* ZLIB_H */
int xflags
Definition: zlib.h:89
GLint level
Definition: gl.h:1546
int inflateEnd(z_streamp strm) DECLSPEC_HIDDEN
Definition: inflate.c:1910
int windowBits
Definition: zlib.h:813
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
int text
Definition: zlib.h:87
int inflateInit(z_streamp strm) DECLSPEC_HIDDEN
Definition: inflate.c:909
int inflate(z_streamp strm, int flush) DECLSPEC_HIDDEN
Definition: inflate.c:1257
void FAR * voidpf
Definition: zlib.h:42
int deflateInit2(z_streamp strm, int level, int method, int windowBits, int memLevel, int strategy) DECLSPEC_HIDDEN
z_stream FAR * z_streamp
Definition: zlib.h:80
int hcrc
Definition: zlib.h:98
uLong time
Definition: zlib.h:88
uInt avail_in
Definition: zlib.h:60
#define DECLSPEC_HIDDEN
Definition: precomp.h:8
z_const char * msg
Definition: zlib.h:67
uInt extra_max
Definition: zlib.h:93
uInt name_max
Definition: zlib.h:95
int done
Definition: zlib.h:99
int deflateInit(z_streamp strm, int level) DECLSPEC_HIDDEN
ush FAR ushf
Definition: zlib.h:50
unsigned long uLong
Definition: zlib.h:39
int inflateInit2(z_streamp strm, int windowBits) DECLSPEC_HIDDEN
Definition: inflate.c:887
voidpf opaque
Definition: zlib.h:72
free_func zfree
Definition: zlib.h:71
uLong reserved
Definition: zlib.h:77
uInt extra_len
Definition: zlib.h:92
int deflateEnd(z_streamp strm) DECLSPEC_HIDDEN
Definition: deflate.c:1079
Bytef * name
Definition: zlib.h:94
z_const Bytef * next_in
Definition: zlib.h:59
int data_type
Definition: zlib.h:74
#define FAR
Definition: zlib.h:32
int flush
Definition: zlib.h:309
void(* free_func)(voidpf opaque, voidpf address)
Definition: zlib.h:54
GLsizeiptr size
Definition: glext.h:5919
int os
Definition: zlib.h:90
uLong total_in
Definition: zlib.h:61
struct gz_header_s gz_header
struct z_stream_s z_stream
Bytef * comment
Definition: zlib.h:96
alloc_func zalloc
Definition: zlib.h:70
GLuint address
Definition: glext.h:9393
int deflate(z_streamp strm, int flush) DECLSPEC_HIDDEN
Definition: deflate.c:766
method
Definition: dragdrop.c:53
unsigned char uch
Definition: zlib.h:47
uch FAR uchf
Definition: zlib.h:48
int FAR intf
Definition: zlib.h:45
uLong adler
Definition: zlib.h:76
unsigned short ush
Definition: zlib.h:49
gz_header FAR * gz_headerp
Definition: zlib.h:103
uLong total_out
Definition: zlib.h:65
unsigned int uInt
Definition: zlib.h:38
uInt comm_max
Definition: zlib.h:97
unsigned long ulg
Definition: zlib.h:51
uInt avail_out
Definition: zlib.h:64
Byte FAR Bytef
Definition: zlib.h:41
unsigned char Byte
Definition: zlib.h:37
voidpf(* alloc_func)(voidpf opaque, uInt items, uInt size)
Definition: zlib.h:53
Bytef * extra
Definition: zlib.h:91
struct internal_state FAR * state
Definition: zlib.h:68
#define z_const
Definition: zlib.h:33
char FAR charf
Definition: zlib.h:44
Bytef * next_out
Definition: zlib.h:63
static TCHAR * items[]
Definition: page1.c:45