chd 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +30 -0
- data/chd.gemspec +29 -0
- data/ext/chd.c +1008 -0
- data/ext/extconf.rb +60 -0
- data/lib/chd/cd.rb +272 -0
- data/lib/chd/metadata.rb +196 -0
- data/lib/chd/version.rb +4 -0
- data/lib/chd.rb +21 -0
- data/libchdr/CMakeLists.txt +104 -0
- data/libchdr/LICENSE.txt +24 -0
- data/libchdr/README.md +7 -0
- data/libchdr/deps/lzma-19.00/CMakeLists.txt +33 -0
- data/libchdr/deps/lzma-19.00/LICENSE +3 -0
- data/libchdr/deps/lzma-19.00/include/7zTypes.h +375 -0
- data/libchdr/deps/lzma-19.00/include/Alloc.h +51 -0
- data/libchdr/deps/lzma-19.00/include/Bra.h +64 -0
- data/libchdr/deps/lzma-19.00/include/Compiler.h +33 -0
- data/libchdr/deps/lzma-19.00/include/CpuArch.h +336 -0
- data/libchdr/deps/lzma-19.00/include/Delta.h +19 -0
- data/libchdr/deps/lzma-19.00/include/LzFind.h +121 -0
- data/libchdr/deps/lzma-19.00/include/LzHash.h +57 -0
- data/libchdr/deps/lzma-19.00/include/Lzma86.h +111 -0
- data/libchdr/deps/lzma-19.00/include/LzmaDec.h +234 -0
- data/libchdr/deps/lzma-19.00/include/LzmaEnc.h +76 -0
- data/libchdr/deps/lzma-19.00/include/LzmaLib.h +131 -0
- data/libchdr/deps/lzma-19.00/include/Precomp.h +10 -0
- data/libchdr/deps/lzma-19.00/include/Sort.h +18 -0
- data/libchdr/deps/lzma-19.00/lzma-history.txt +446 -0
- data/libchdr/deps/lzma-19.00/lzma.txt +328 -0
- data/libchdr/deps/lzma-19.00/lzma.vcxproj +543 -0
- data/libchdr/deps/lzma-19.00/lzma.vcxproj.filters +17 -0
- data/libchdr/deps/lzma-19.00/src/Alloc.c +455 -0
- data/libchdr/deps/lzma-19.00/src/Bra86.c +82 -0
- data/libchdr/deps/lzma-19.00/src/BraIA64.c +53 -0
- data/libchdr/deps/lzma-19.00/src/CpuArch.c +218 -0
- data/libchdr/deps/lzma-19.00/src/Delta.c +64 -0
- data/libchdr/deps/lzma-19.00/src/LzFind.c +1127 -0
- data/libchdr/deps/lzma-19.00/src/Lzma86Dec.c +54 -0
- data/libchdr/deps/lzma-19.00/src/LzmaDec.c +1185 -0
- data/libchdr/deps/lzma-19.00/src/LzmaEnc.c +1330 -0
- data/libchdr/deps/lzma-19.00/src/Sort.c +141 -0
- data/libchdr/deps/zlib-1.2.11/CMakeLists.txt +29 -0
- data/libchdr/deps/zlib-1.2.11/ChangeLog +1515 -0
- data/libchdr/deps/zlib-1.2.11/FAQ +368 -0
- data/libchdr/deps/zlib-1.2.11/INDEX +68 -0
- data/libchdr/deps/zlib-1.2.11/Makefile +5 -0
- data/libchdr/deps/zlib-1.2.11/Makefile.in +410 -0
- data/libchdr/deps/zlib-1.2.11/README +115 -0
- data/libchdr/deps/zlib-1.2.11/adler32.c +186 -0
- data/libchdr/deps/zlib-1.2.11/compress.c +86 -0
- data/libchdr/deps/zlib-1.2.11/configure +921 -0
- data/libchdr/deps/zlib-1.2.11/crc32.c +442 -0
- data/libchdr/deps/zlib-1.2.11/crc32.h +441 -0
- data/libchdr/deps/zlib-1.2.11/deflate.c +2163 -0
- data/libchdr/deps/zlib-1.2.11/deflate.h +349 -0
- data/libchdr/deps/zlib-1.2.11/doc/algorithm.txt +209 -0
- data/libchdr/deps/zlib-1.2.11/doc/rfc1950.txt +619 -0
- data/libchdr/deps/zlib-1.2.11/doc/rfc1951.txt +955 -0
- data/libchdr/deps/zlib-1.2.11/doc/rfc1952.txt +675 -0
- data/libchdr/deps/zlib-1.2.11/doc/txtvsbin.txt +107 -0
- data/libchdr/deps/zlib-1.2.11/gzclose.c +25 -0
- data/libchdr/deps/zlib-1.2.11/gzguts.h +218 -0
- data/libchdr/deps/zlib-1.2.11/gzlib.c +637 -0
- data/libchdr/deps/zlib-1.2.11/gzread.c +654 -0
- data/libchdr/deps/zlib-1.2.11/gzwrite.c +665 -0
- data/libchdr/deps/zlib-1.2.11/infback.c +640 -0
- data/libchdr/deps/zlib-1.2.11/inffast.c +323 -0
- data/libchdr/deps/zlib-1.2.11/inffast.h +11 -0
- data/libchdr/deps/zlib-1.2.11/inffixed.h +94 -0
- data/libchdr/deps/zlib-1.2.11/inflate.c +1561 -0
- data/libchdr/deps/zlib-1.2.11/inflate.h +125 -0
- data/libchdr/deps/zlib-1.2.11/inftrees.c +304 -0
- data/libchdr/deps/zlib-1.2.11/inftrees.h +62 -0
- data/libchdr/deps/zlib-1.2.11/make_vms.com +867 -0
- data/libchdr/deps/zlib-1.2.11/treebuild.xml +116 -0
- data/libchdr/deps/zlib-1.2.11/trees.c +1203 -0
- data/libchdr/deps/zlib-1.2.11/trees.h +128 -0
- data/libchdr/deps/zlib-1.2.11/uncompr.c +93 -0
- data/libchdr/deps/zlib-1.2.11/zconf.h +534 -0
- data/libchdr/deps/zlib-1.2.11/zconf.h.cmakein +536 -0
- data/libchdr/deps/zlib-1.2.11/zconf.h.in +534 -0
- data/libchdr/deps/zlib-1.2.11/zlib.3 +149 -0
- data/libchdr/deps/zlib-1.2.11/zlib.3.pdf +0 -0
- data/libchdr/deps/zlib-1.2.11/zlib.h +1912 -0
- data/libchdr/deps/zlib-1.2.11/zlib.map +94 -0
- data/libchdr/deps/zlib-1.2.11/zlib.pc.cmakein +13 -0
- data/libchdr/deps/zlib-1.2.11/zlib.pc.in +13 -0
- data/libchdr/deps/zlib-1.2.11/zlib2ansi +152 -0
- data/libchdr/deps/zlib-1.2.11/zutil.c +325 -0
- data/libchdr/deps/zlib-1.2.11/zutil.h +271 -0
- data/libchdr/include/dr_libs/dr_flac.h +12280 -0
- data/libchdr/include/libchdr/bitstream.h +43 -0
- data/libchdr/include/libchdr/cdrom.h +110 -0
- data/libchdr/include/libchdr/chd.h +427 -0
- data/libchdr/include/libchdr/chdconfig.h +10 -0
- data/libchdr/include/libchdr/coretypes.h +60 -0
- data/libchdr/include/libchdr/flac.h +50 -0
- data/libchdr/include/libchdr/huffman.h +90 -0
- data/libchdr/pkg-config.pc.in +10 -0
- data/libchdr/src/libchdr_bitstream.c +125 -0
- data/libchdr/src/libchdr_cdrom.c +415 -0
- data/libchdr/src/libchdr_chd.c +2744 -0
- data/libchdr/src/libchdr_flac.c +302 -0
- data/libchdr/src/libchdr_huffman.c +545 -0
- data/libchdr/src/link.T +5 -0
- data/libchdr/tests/CMakeLists.txt +2 -0
- data/libchdr/tests/benchmark.c +52 -0
- metadata +183 -0
@@ -0,0 +1,534 @@
|
|
1
|
+
/* zconf.h -- configuration of the zlib compression library
|
2
|
+
* Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler
|
3
|
+
* For conditions of distribution and use, see copyright notice in zlib.h
|
4
|
+
*/
|
5
|
+
|
6
|
+
/* @(#) $Id$ */
|
7
|
+
|
8
|
+
#ifndef ZCONF_H
|
9
|
+
#define ZCONF_H
|
10
|
+
|
11
|
+
/*
|
12
|
+
* If you *really* need a unique prefix for all types and library functions,
|
13
|
+
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
|
14
|
+
* Even better than compiling with -DZ_PREFIX would be to use configure to set
|
15
|
+
* this permanently in zconf.h using "./configure --zprefix".
|
16
|
+
*/
|
17
|
+
#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
|
18
|
+
# define Z_PREFIX_SET
|
19
|
+
|
20
|
+
/* all linked symbols and init macros */
|
21
|
+
# define _dist_code z__dist_code
|
22
|
+
# define _length_code z__length_code
|
23
|
+
# define _tr_align z__tr_align
|
24
|
+
# define _tr_flush_bits z__tr_flush_bits
|
25
|
+
# define _tr_flush_block z__tr_flush_block
|
26
|
+
# define _tr_init z__tr_init
|
27
|
+
# define _tr_stored_block z__tr_stored_block
|
28
|
+
# define _tr_tally z__tr_tally
|
29
|
+
# define adler32 z_adler32
|
30
|
+
# define adler32_combine z_adler32_combine
|
31
|
+
# define adler32_combine64 z_adler32_combine64
|
32
|
+
# define adler32_z z_adler32_z
|
33
|
+
# ifndef Z_SOLO
|
34
|
+
# define compress z_compress
|
35
|
+
# define compress2 z_compress2
|
36
|
+
# define compressBound z_compressBound
|
37
|
+
# endif
|
38
|
+
# define crc32 z_crc32
|
39
|
+
# define crc32_combine z_crc32_combine
|
40
|
+
# define crc32_combine64 z_crc32_combine64
|
41
|
+
# define crc32_z z_crc32_z
|
42
|
+
# define deflate z_deflate
|
43
|
+
# define deflateBound z_deflateBound
|
44
|
+
# define deflateCopy z_deflateCopy
|
45
|
+
# define deflateEnd z_deflateEnd
|
46
|
+
# define deflateGetDictionary z_deflateGetDictionary
|
47
|
+
# define deflateInit z_deflateInit
|
48
|
+
# define deflateInit2 z_deflateInit2
|
49
|
+
# define deflateInit2_ z_deflateInit2_
|
50
|
+
# define deflateInit_ z_deflateInit_
|
51
|
+
# define deflateParams z_deflateParams
|
52
|
+
# define deflatePending z_deflatePending
|
53
|
+
# define deflatePrime z_deflatePrime
|
54
|
+
# define deflateReset z_deflateReset
|
55
|
+
# define deflateResetKeep z_deflateResetKeep
|
56
|
+
# define deflateSetDictionary z_deflateSetDictionary
|
57
|
+
# define deflateSetHeader z_deflateSetHeader
|
58
|
+
# define deflateTune z_deflateTune
|
59
|
+
# define deflate_copyright z_deflate_copyright
|
60
|
+
# define get_crc_table z_get_crc_table
|
61
|
+
# ifndef Z_SOLO
|
62
|
+
# define gz_error z_gz_error
|
63
|
+
# define gz_intmax z_gz_intmax
|
64
|
+
# define gz_strwinerror z_gz_strwinerror
|
65
|
+
# define gzbuffer z_gzbuffer
|
66
|
+
# define gzclearerr z_gzclearerr
|
67
|
+
# define gzclose z_gzclose
|
68
|
+
# define gzclose_r z_gzclose_r
|
69
|
+
# define gzclose_w z_gzclose_w
|
70
|
+
# define gzdirect z_gzdirect
|
71
|
+
# define gzdopen z_gzdopen
|
72
|
+
# define gzeof z_gzeof
|
73
|
+
# define gzerror z_gzerror
|
74
|
+
# define gzflush z_gzflush
|
75
|
+
# define gzfread z_gzfread
|
76
|
+
# define gzfwrite z_gzfwrite
|
77
|
+
# define gzgetc z_gzgetc
|
78
|
+
# define gzgetc_ z_gzgetc_
|
79
|
+
# define gzgets z_gzgets
|
80
|
+
# define gzoffset z_gzoffset
|
81
|
+
# define gzoffset64 z_gzoffset64
|
82
|
+
# define gzopen z_gzopen
|
83
|
+
# define gzopen64 z_gzopen64
|
84
|
+
# ifdef _WIN32
|
85
|
+
# define gzopen_w z_gzopen_w
|
86
|
+
# endif
|
87
|
+
# define gzprintf z_gzprintf
|
88
|
+
# define gzputc z_gzputc
|
89
|
+
# define gzputs z_gzputs
|
90
|
+
# define gzread z_gzread
|
91
|
+
# define gzrewind z_gzrewind
|
92
|
+
# define gzseek z_gzseek
|
93
|
+
# define gzseek64 z_gzseek64
|
94
|
+
# define gzsetparams z_gzsetparams
|
95
|
+
# define gztell z_gztell
|
96
|
+
# define gztell64 z_gztell64
|
97
|
+
# define gzungetc z_gzungetc
|
98
|
+
# define gzvprintf z_gzvprintf
|
99
|
+
# define gzwrite z_gzwrite
|
100
|
+
# endif
|
101
|
+
# define inflate z_inflate
|
102
|
+
# define inflateBack z_inflateBack
|
103
|
+
# define inflateBackEnd z_inflateBackEnd
|
104
|
+
# define inflateBackInit z_inflateBackInit
|
105
|
+
# define inflateBackInit_ z_inflateBackInit_
|
106
|
+
# define inflateCodesUsed z_inflateCodesUsed
|
107
|
+
# define inflateCopy z_inflateCopy
|
108
|
+
# define inflateEnd z_inflateEnd
|
109
|
+
# define inflateGetDictionary z_inflateGetDictionary
|
110
|
+
# define inflateGetHeader z_inflateGetHeader
|
111
|
+
# define inflateInit z_inflateInit
|
112
|
+
# define inflateInit2 z_inflateInit2
|
113
|
+
# define inflateInit2_ z_inflateInit2_
|
114
|
+
# define inflateInit_ z_inflateInit_
|
115
|
+
# define inflateMark z_inflateMark
|
116
|
+
# define inflatePrime z_inflatePrime
|
117
|
+
# define inflateReset z_inflateReset
|
118
|
+
# define inflateReset2 z_inflateReset2
|
119
|
+
# define inflateResetKeep z_inflateResetKeep
|
120
|
+
# define inflateSetDictionary z_inflateSetDictionary
|
121
|
+
# define inflateSync z_inflateSync
|
122
|
+
# define inflateSyncPoint z_inflateSyncPoint
|
123
|
+
# define inflateUndermine z_inflateUndermine
|
124
|
+
# define inflateValidate z_inflateValidate
|
125
|
+
# define inflate_copyright z_inflate_copyright
|
126
|
+
# define inflate_fast z_inflate_fast
|
127
|
+
# define inflate_table z_inflate_table
|
128
|
+
# ifndef Z_SOLO
|
129
|
+
# define uncompress z_uncompress
|
130
|
+
# define uncompress2 z_uncompress2
|
131
|
+
# endif
|
132
|
+
# define zError z_zError
|
133
|
+
# ifndef Z_SOLO
|
134
|
+
# define zcalloc z_zcalloc
|
135
|
+
# define zcfree z_zcfree
|
136
|
+
# endif
|
137
|
+
# define zlibCompileFlags z_zlibCompileFlags
|
138
|
+
# define zlibVersion z_zlibVersion
|
139
|
+
|
140
|
+
/* all zlib typedefs in zlib.h and zconf.h */
|
141
|
+
# define Byte z_Byte
|
142
|
+
# define Bytef z_Bytef
|
143
|
+
# define alloc_func z_alloc_func
|
144
|
+
# define charf z_charf
|
145
|
+
# define free_func z_free_func
|
146
|
+
# ifndef Z_SOLO
|
147
|
+
# define gzFile z_gzFile
|
148
|
+
# endif
|
149
|
+
# define gz_header z_gz_header
|
150
|
+
# define gz_headerp z_gz_headerp
|
151
|
+
# define in_func z_in_func
|
152
|
+
# define intf z_intf
|
153
|
+
# define out_func z_out_func
|
154
|
+
# define uInt z_uInt
|
155
|
+
# define uIntf z_uIntf
|
156
|
+
# define uLong z_uLong
|
157
|
+
# define uLongf z_uLongf
|
158
|
+
# define voidp z_voidp
|
159
|
+
# define voidpc z_voidpc
|
160
|
+
# define voidpf z_voidpf
|
161
|
+
|
162
|
+
/* all zlib structs in zlib.h and zconf.h */
|
163
|
+
# define gz_header_s z_gz_header_s
|
164
|
+
# define internal_state z_internal_state
|
165
|
+
|
166
|
+
#endif
|
167
|
+
|
168
|
+
#if defined(__MSDOS__) && !defined(MSDOS)
|
169
|
+
# define MSDOS
|
170
|
+
#endif
|
171
|
+
#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
|
172
|
+
# define OS2
|
173
|
+
#endif
|
174
|
+
#if defined(_WINDOWS) && !defined(WINDOWS)
|
175
|
+
# define WINDOWS
|
176
|
+
#endif
|
177
|
+
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
|
178
|
+
# ifndef WIN32
|
179
|
+
# define WIN32
|
180
|
+
# endif
|
181
|
+
#endif
|
182
|
+
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
|
183
|
+
# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
|
184
|
+
# ifndef SYS16BIT
|
185
|
+
# define SYS16BIT
|
186
|
+
# endif
|
187
|
+
# endif
|
188
|
+
#endif
|
189
|
+
|
190
|
+
/*
|
191
|
+
* Compile with -DMAXSEG_64K if the alloc function cannot allocate more
|
192
|
+
* than 64k bytes at a time (needed on systems with 16-bit int).
|
193
|
+
*/
|
194
|
+
#ifdef SYS16BIT
|
195
|
+
# define MAXSEG_64K
|
196
|
+
#endif
|
197
|
+
#ifdef MSDOS
|
198
|
+
# define UNALIGNED_OK
|
199
|
+
#endif
|
200
|
+
|
201
|
+
#ifdef __STDC_VERSION__
|
202
|
+
# ifndef STDC
|
203
|
+
# define STDC
|
204
|
+
# endif
|
205
|
+
# if __STDC_VERSION__ >= 199901L
|
206
|
+
# ifndef STDC99
|
207
|
+
# define STDC99
|
208
|
+
# endif
|
209
|
+
# endif
|
210
|
+
#endif
|
211
|
+
#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
|
212
|
+
# define STDC
|
213
|
+
#endif
|
214
|
+
#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
|
215
|
+
# define STDC
|
216
|
+
#endif
|
217
|
+
#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
|
218
|
+
# define STDC
|
219
|
+
#endif
|
220
|
+
#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
|
221
|
+
# define STDC
|
222
|
+
#endif
|
223
|
+
|
224
|
+
#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
|
225
|
+
# define STDC
|
226
|
+
#endif
|
227
|
+
|
228
|
+
#ifndef STDC
|
229
|
+
# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
|
230
|
+
# define const /* note: need a more gentle solution here */
|
231
|
+
# endif
|
232
|
+
#endif
|
233
|
+
|
234
|
+
#if defined(ZLIB_CONST) && !defined(z_const)
|
235
|
+
# define z_const const
|
236
|
+
#else
|
237
|
+
# define z_const
|
238
|
+
#endif
|
239
|
+
|
240
|
+
#ifdef Z_SOLO
|
241
|
+
typedef unsigned long z_size_t;
|
242
|
+
#else
|
243
|
+
# define z_longlong long long
|
244
|
+
# if defined(NO_SIZE_T)
|
245
|
+
typedef unsigned NO_SIZE_T z_size_t;
|
246
|
+
# elif defined(STDC)
|
247
|
+
# include <stddef.h>
|
248
|
+
typedef size_t z_size_t;
|
249
|
+
# else
|
250
|
+
typedef unsigned long z_size_t;
|
251
|
+
# endif
|
252
|
+
# undef z_longlong
|
253
|
+
#endif
|
254
|
+
|
255
|
+
/* Maximum value for memLevel in deflateInit2 */
|
256
|
+
#ifndef MAX_MEM_LEVEL
|
257
|
+
# ifdef MAXSEG_64K
|
258
|
+
# define MAX_MEM_LEVEL 8
|
259
|
+
# else
|
260
|
+
# define MAX_MEM_LEVEL 9
|
261
|
+
# endif
|
262
|
+
#endif
|
263
|
+
|
264
|
+
/* Maximum value for windowBits in deflateInit2 and inflateInit2.
|
265
|
+
* WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
|
266
|
+
* created by gzip. (Files created by minigzip can still be extracted by
|
267
|
+
* gzip.)
|
268
|
+
*/
|
269
|
+
#ifndef MAX_WBITS
|
270
|
+
# define MAX_WBITS 15 /* 32K LZ77 window */
|
271
|
+
#endif
|
272
|
+
|
273
|
+
/* The memory requirements for deflate are (in bytes):
|
274
|
+
(1 << (windowBits+2)) + (1 << (memLevel+9))
|
275
|
+
that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
|
276
|
+
plus a few kilobytes for small objects. For example, if you want to reduce
|
277
|
+
the default memory requirements from 256K to 128K, compile with
|
278
|
+
make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
|
279
|
+
Of course this will generally degrade compression (there's no free lunch).
|
280
|
+
|
281
|
+
The memory requirements for inflate are (in bytes) 1 << windowBits
|
282
|
+
that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
|
283
|
+
for small objects.
|
284
|
+
*/
|
285
|
+
|
286
|
+
/* Type declarations */
|
287
|
+
|
288
|
+
#ifndef OF /* function prototypes */
|
289
|
+
# ifdef STDC
|
290
|
+
# define OF(args) args
|
291
|
+
# else
|
292
|
+
# define OF(args) ()
|
293
|
+
# endif
|
294
|
+
#endif
|
295
|
+
|
296
|
+
#ifndef Z_ARG /* function prototypes for stdarg */
|
297
|
+
# if defined(STDC) || defined(Z_HAVE_STDARG_H)
|
298
|
+
# define Z_ARG(args) args
|
299
|
+
# else
|
300
|
+
# define Z_ARG(args) ()
|
301
|
+
# endif
|
302
|
+
#endif
|
303
|
+
|
304
|
+
/* The following definitions for FAR are needed only for MSDOS mixed
|
305
|
+
* model programming (small or medium model with some far allocations).
|
306
|
+
* This was tested only with MSC; for other MSDOS compilers you may have
|
307
|
+
* to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
|
308
|
+
* just define FAR to be empty.
|
309
|
+
*/
|
310
|
+
#ifdef SYS16BIT
|
311
|
+
# if defined(M_I86SM) || defined(M_I86MM)
|
312
|
+
/* MSC small or medium model */
|
313
|
+
# define SMALL_MEDIUM
|
314
|
+
# ifdef _MSC_VER
|
315
|
+
# define FAR _far
|
316
|
+
# else
|
317
|
+
# define FAR far
|
318
|
+
# endif
|
319
|
+
# endif
|
320
|
+
# if (defined(__SMALL__) || defined(__MEDIUM__))
|
321
|
+
/* Turbo C small or medium model */
|
322
|
+
# define SMALL_MEDIUM
|
323
|
+
# ifdef __BORLANDC__
|
324
|
+
# define FAR _far
|
325
|
+
# else
|
326
|
+
# define FAR far
|
327
|
+
# endif
|
328
|
+
# endif
|
329
|
+
#endif
|
330
|
+
|
331
|
+
#if defined(WINDOWS) || defined(WIN32)
|
332
|
+
/* If building or using zlib as a DLL, define ZLIB_DLL.
|
333
|
+
* This is not mandatory, but it offers a little performance increase.
|
334
|
+
*/
|
335
|
+
# ifdef ZLIB_DLL
|
336
|
+
# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
|
337
|
+
# ifdef ZLIB_INTERNAL
|
338
|
+
# define ZEXTERN extern __declspec(dllexport)
|
339
|
+
# else
|
340
|
+
# define ZEXTERN extern __declspec(dllimport)
|
341
|
+
# endif
|
342
|
+
# endif
|
343
|
+
# endif /* ZLIB_DLL */
|
344
|
+
/* If building or using zlib with the WINAPI/WINAPIV calling convention,
|
345
|
+
* define ZLIB_WINAPI.
|
346
|
+
* Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
|
347
|
+
*/
|
348
|
+
# ifdef ZLIB_WINAPI
|
349
|
+
# ifdef FAR
|
350
|
+
# undef FAR
|
351
|
+
# endif
|
352
|
+
# include <windows.h>
|
353
|
+
/* No need for _export, use ZLIB.DEF instead. */
|
354
|
+
/* For complete Windows compatibility, use WINAPI, not __stdcall. */
|
355
|
+
# define ZEXPORT WINAPI
|
356
|
+
# ifdef WIN32
|
357
|
+
# define ZEXPORTVA WINAPIV
|
358
|
+
# else
|
359
|
+
# define ZEXPORTVA FAR CDECL
|
360
|
+
# endif
|
361
|
+
# endif
|
362
|
+
#endif
|
363
|
+
|
364
|
+
#if defined (__BEOS__)
|
365
|
+
# ifdef ZLIB_DLL
|
366
|
+
# ifdef ZLIB_INTERNAL
|
367
|
+
# define ZEXPORT __declspec(dllexport)
|
368
|
+
# define ZEXPORTVA __declspec(dllexport)
|
369
|
+
# else
|
370
|
+
# define ZEXPORT __declspec(dllimport)
|
371
|
+
# define ZEXPORTVA __declspec(dllimport)
|
372
|
+
# endif
|
373
|
+
# endif
|
374
|
+
#endif
|
375
|
+
|
376
|
+
#ifndef ZEXTERN
|
377
|
+
# define ZEXTERN extern
|
378
|
+
#endif
|
379
|
+
#ifndef ZEXPORT
|
380
|
+
# define ZEXPORT
|
381
|
+
#endif
|
382
|
+
#ifndef ZEXPORTVA
|
383
|
+
# define ZEXPORTVA
|
384
|
+
#endif
|
385
|
+
|
386
|
+
#ifndef FAR
|
387
|
+
# define FAR
|
388
|
+
#endif
|
389
|
+
|
390
|
+
#if !defined(__MACTYPES__)
|
391
|
+
typedef unsigned char Byte; /* 8 bits */
|
392
|
+
#endif
|
393
|
+
typedef unsigned int uInt; /* 16 bits or more */
|
394
|
+
typedef unsigned long uLong; /* 32 bits or more */
|
395
|
+
|
396
|
+
#ifdef SMALL_MEDIUM
|
397
|
+
/* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
|
398
|
+
# define Bytef Byte FAR
|
399
|
+
#else
|
400
|
+
typedef Byte FAR Bytef;
|
401
|
+
#endif
|
402
|
+
typedef char FAR charf;
|
403
|
+
typedef int FAR intf;
|
404
|
+
typedef uInt FAR uIntf;
|
405
|
+
typedef uLong FAR uLongf;
|
406
|
+
|
407
|
+
#ifdef STDC
|
408
|
+
typedef void const *voidpc;
|
409
|
+
typedef void FAR *voidpf;
|
410
|
+
typedef void *voidp;
|
411
|
+
#else
|
412
|
+
typedef Byte const *voidpc;
|
413
|
+
typedef Byte FAR *voidpf;
|
414
|
+
typedef Byte *voidp;
|
415
|
+
#endif
|
416
|
+
|
417
|
+
#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
|
418
|
+
# include <limits.h>
|
419
|
+
# if (UINT_MAX == 0xffffffffUL)
|
420
|
+
# define Z_U4 unsigned
|
421
|
+
# elif (ULONG_MAX == 0xffffffffUL)
|
422
|
+
# define Z_U4 unsigned long
|
423
|
+
# elif (USHRT_MAX == 0xffffffffUL)
|
424
|
+
# define Z_U4 unsigned short
|
425
|
+
# endif
|
426
|
+
#endif
|
427
|
+
|
428
|
+
#ifdef Z_U4
|
429
|
+
typedef Z_U4 z_crc_t;
|
430
|
+
#else
|
431
|
+
typedef unsigned long z_crc_t;
|
432
|
+
#endif
|
433
|
+
|
434
|
+
#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
|
435
|
+
# define Z_HAVE_UNISTD_H
|
436
|
+
#endif
|
437
|
+
|
438
|
+
#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */
|
439
|
+
# define Z_HAVE_STDARG_H
|
440
|
+
#endif
|
441
|
+
|
442
|
+
#ifdef STDC
|
443
|
+
# ifndef Z_SOLO
|
444
|
+
# include <sys/types.h> /* for off_t */
|
445
|
+
# endif
|
446
|
+
#endif
|
447
|
+
|
448
|
+
#if defined(STDC) || defined(Z_HAVE_STDARG_H)
|
449
|
+
# ifndef Z_SOLO
|
450
|
+
# include <stdarg.h> /* for va_list */
|
451
|
+
# endif
|
452
|
+
#endif
|
453
|
+
|
454
|
+
#ifdef _WIN32
|
455
|
+
# ifndef Z_SOLO
|
456
|
+
# include <stddef.h> /* for wchar_t */
|
457
|
+
# endif
|
458
|
+
#endif
|
459
|
+
|
460
|
+
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
|
461
|
+
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
|
462
|
+
* though the former does not conform to the LFS document), but considering
|
463
|
+
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
|
464
|
+
* equivalently requesting no 64-bit operations
|
465
|
+
*/
|
466
|
+
#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
|
467
|
+
# undef _LARGEFILE64_SOURCE
|
468
|
+
#endif
|
469
|
+
|
470
|
+
#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
|
471
|
+
# define Z_HAVE_UNISTD_H
|
472
|
+
#endif
|
473
|
+
#ifndef Z_SOLO
|
474
|
+
# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
|
475
|
+
# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
|
476
|
+
# ifdef VMS
|
477
|
+
# include <unixio.h> /* for off_t */
|
478
|
+
# endif
|
479
|
+
# ifndef z_off_t
|
480
|
+
# define z_off_t off_t
|
481
|
+
# endif
|
482
|
+
# endif
|
483
|
+
#endif
|
484
|
+
|
485
|
+
#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
|
486
|
+
# define Z_LFS64
|
487
|
+
#endif
|
488
|
+
|
489
|
+
#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
|
490
|
+
# define Z_LARGE64
|
491
|
+
#endif
|
492
|
+
|
493
|
+
#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
|
494
|
+
# define Z_WANT64
|
495
|
+
#endif
|
496
|
+
|
497
|
+
#if !defined(SEEK_SET) && !defined(Z_SOLO)
|
498
|
+
# define SEEK_SET 0 /* Seek from beginning of file. */
|
499
|
+
# define SEEK_CUR 1 /* Seek from current position. */
|
500
|
+
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
|
501
|
+
#endif
|
502
|
+
|
503
|
+
#ifndef z_off_t
|
504
|
+
# define z_off_t long
|
505
|
+
#endif
|
506
|
+
|
507
|
+
#if !defined(_WIN32) && defined(Z_LARGE64)
|
508
|
+
# define z_off64_t off64_t
|
509
|
+
#else
|
510
|
+
# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
|
511
|
+
# define z_off64_t __int64
|
512
|
+
# else
|
513
|
+
# define z_off64_t z_off_t
|
514
|
+
# endif
|
515
|
+
#endif
|
516
|
+
|
517
|
+
/* MVS linker does not support external names larger than 8 bytes */
|
518
|
+
#if defined(__MVS__)
|
519
|
+
#pragma map(deflateInit_,"DEIN")
|
520
|
+
#pragma map(deflateInit2_,"DEIN2")
|
521
|
+
#pragma map(deflateEnd,"DEEND")
|
522
|
+
#pragma map(deflateBound,"DEBND")
|
523
|
+
#pragma map(inflateInit_,"ININ")
|
524
|
+
#pragma map(inflateInit2_,"ININ2")
|
525
|
+
#pragma map(inflateEnd,"INEND")
|
526
|
+
#pragma map(inflateSync,"INSY")
|
527
|
+
#pragma map(inflateSetDictionary,"INSEDI")
|
528
|
+
#pragma map(compressBound,"CMBND")
|
529
|
+
#pragma map(inflate_table,"INTABL")
|
530
|
+
#pragma map(inflate_fast,"INFA")
|
531
|
+
#pragma map(inflate_copyright,"INCOPY")
|
532
|
+
#endif
|
533
|
+
|
534
|
+
#endif /* ZCONF_H */
|
@@ -0,0 +1,149 @@
|
|
1
|
+
.TH ZLIB 3 "15 Jan 2017"
|
2
|
+
.SH NAME
|
3
|
+
zlib \- compression/decompression library
|
4
|
+
.SH SYNOPSIS
|
5
|
+
[see
|
6
|
+
.I zlib.h
|
7
|
+
for full description]
|
8
|
+
.SH DESCRIPTION
|
9
|
+
The
|
10
|
+
.I zlib
|
11
|
+
library is a general purpose data compression library.
|
12
|
+
The code is thread safe, assuming that the standard library functions
|
13
|
+
used are thread safe, such as memory allocation routines.
|
14
|
+
It provides in-memory compression and decompression functions,
|
15
|
+
including integrity checks of the uncompressed data.
|
16
|
+
This version of the library supports only one compression method (deflation)
|
17
|
+
but other algorithms may be added later
|
18
|
+
with the same stream interface.
|
19
|
+
.LP
|
20
|
+
Compression can be done in a single step if the buffers are large enough
|
21
|
+
or can be done by repeated calls of the compression function.
|
22
|
+
In the latter case,
|
23
|
+
the application must provide more input and/or consume the output
|
24
|
+
(providing more output space) before each call.
|
25
|
+
.LP
|
26
|
+
The library also supports reading and writing files in
|
27
|
+
.IR gzip (1)
|
28
|
+
(.gz) format
|
29
|
+
with an interface similar to that of stdio.
|
30
|
+
.LP
|
31
|
+
The library does not install any signal handler.
|
32
|
+
The decoder checks the consistency of the compressed data,
|
33
|
+
so the library should never crash even in the case of corrupted input.
|
34
|
+
.LP
|
35
|
+
All functions of the compression library are documented in the file
|
36
|
+
.IR zlib.h .
|
37
|
+
The distribution source includes examples of use of the library
|
38
|
+
in the files
|
39
|
+
.I test/example.c
|
40
|
+
and
|
41
|
+
.IR test/minigzip.c,
|
42
|
+
as well as other examples in the
|
43
|
+
.IR examples/
|
44
|
+
directory.
|
45
|
+
.LP
|
46
|
+
Changes to this version are documented in the file
|
47
|
+
.I ChangeLog
|
48
|
+
that accompanies the source.
|
49
|
+
.LP
|
50
|
+
.I zlib
|
51
|
+
is built in to many languages and operating systems, including but not limited to
|
52
|
+
Java, Python, .NET, PHP, Perl, Ruby, Swift, and Go.
|
53
|
+
.LP
|
54
|
+
An experimental package to read and write files in the .zip format,
|
55
|
+
written on top of
|
56
|
+
.I zlib
|
57
|
+
by Gilles Vollant (info@winimage.com),
|
58
|
+
is available at:
|
59
|
+
.IP
|
60
|
+
http://www.winimage.com/zLibDll/minizip.html
|
61
|
+
and also in the
|
62
|
+
.I contrib/minizip
|
63
|
+
directory of the main
|
64
|
+
.I zlib
|
65
|
+
source distribution.
|
66
|
+
.SH "SEE ALSO"
|
67
|
+
The
|
68
|
+
.I zlib
|
69
|
+
web site can be found at:
|
70
|
+
.IP
|
71
|
+
http://zlib.net/
|
72
|
+
.LP
|
73
|
+
The data format used by the
|
74
|
+
.I zlib
|
75
|
+
library is described by RFC
|
76
|
+
(Request for Comments) 1950 to 1952 in the files:
|
77
|
+
.IP
|
78
|
+
http://tools.ietf.org/html/rfc1950 (for the zlib header and trailer format)
|
79
|
+
.br
|
80
|
+
http://tools.ietf.org/html/rfc1951 (for the deflate compressed data format)
|
81
|
+
.br
|
82
|
+
http://tools.ietf.org/html/rfc1952 (for the gzip header and trailer format)
|
83
|
+
.LP
|
84
|
+
Mark Nelson wrote an article about
|
85
|
+
.I zlib
|
86
|
+
for the Jan. 1997 issue of Dr. Dobb's Journal;
|
87
|
+
a copy of the article is available at:
|
88
|
+
.IP
|
89
|
+
http://marknelson.us/1997/01/01/zlib-engine/
|
90
|
+
.SH "REPORTING PROBLEMS"
|
91
|
+
Before reporting a problem,
|
92
|
+
please check the
|
93
|
+
.I zlib
|
94
|
+
web site to verify that you have the latest version of
|
95
|
+
.IR zlib ;
|
96
|
+
otherwise,
|
97
|
+
obtain the latest version and see if the problem still exists.
|
98
|
+
Please read the
|
99
|
+
.I zlib
|
100
|
+
FAQ at:
|
101
|
+
.IP
|
102
|
+
http://zlib.net/zlib_faq.html
|
103
|
+
.LP
|
104
|
+
before asking for help.
|
105
|
+
Send questions and/or comments to zlib@gzip.org,
|
106
|
+
or (for the Windows DLL version) to Gilles Vollant (info@winimage.com).
|
107
|
+
.SH AUTHORS AND LICENSE
|
108
|
+
Version 1.2.11
|
109
|
+
.LP
|
110
|
+
Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
|
111
|
+
.LP
|
112
|
+
This software is provided 'as-is', without any express or implied
|
113
|
+
warranty. In no event will the authors be held liable for any damages
|
114
|
+
arising from the use of this software.
|
115
|
+
.LP
|
116
|
+
Permission is granted to anyone to use this software for any purpose,
|
117
|
+
including commercial applications, and to alter it and redistribute it
|
118
|
+
freely, subject to the following restrictions:
|
119
|
+
.LP
|
120
|
+
.nr step 1 1
|
121
|
+
.IP \n[step]. 3
|
122
|
+
The origin of this software must not be misrepresented; you must not
|
123
|
+
claim that you wrote the original software. If you use this software
|
124
|
+
in a product, an acknowledgment in the product documentation would be
|
125
|
+
appreciated but is not required.
|
126
|
+
.IP \n+[step].
|
127
|
+
Altered source versions must be plainly marked as such, and must not be
|
128
|
+
misrepresented as being the original software.
|
129
|
+
.IP \n+[step].
|
130
|
+
This notice may not be removed or altered from any source distribution.
|
131
|
+
.LP
|
132
|
+
Jean-loup Gailly Mark Adler
|
133
|
+
.br
|
134
|
+
jloup@gzip.org madler@alumni.caltech.edu
|
135
|
+
.LP
|
136
|
+
The deflate format used by
|
137
|
+
.I zlib
|
138
|
+
was defined by Phil Katz.
|
139
|
+
The deflate and
|
140
|
+
.I zlib
|
141
|
+
specifications were written by L. Peter Deutsch.
|
142
|
+
Thanks to all the people who reported problems and suggested various
|
143
|
+
improvements in
|
144
|
+
.IR zlib ;
|
145
|
+
who are too numerous to cite here.
|
146
|
+
.LP
|
147
|
+
UNIX manual page by R. P. C. Rodgers,
|
148
|
+
U.S. National Library of Medicine (rodgers@nlm.nih.gov).
|
149
|
+
.\" end of man page
|
Binary file
|