zstdlib 0.1.0-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES.md +9 -0
  3. data/Gemfile +3 -0
  4. data/README.md +96 -0
  5. data/Rakefile +29 -0
  6. data/ext/zstdlib/extconf.rb +53 -0
  7. data/ext/zstdlib/ruby/zlib-2.2/zlib.c +4659 -0
  8. data/ext/zstdlib/ruby/zlib-2.3/zlib.c +4686 -0
  9. data/ext/zstdlib/ruby/zlib-2.4/zlib.c +4843 -0
  10. data/ext/zstdlib/ruby/zlib-2.5/zlib.c +4848 -0
  11. data/ext/zstdlib/ruby/zlib-2.6/zlib.c +4890 -0
  12. data/ext/zstdlib/zlib-1.2.11/adler32.c +186 -0
  13. data/ext/zstdlib/zlib-1.2.11/compress.c +86 -0
  14. data/ext/zstdlib/zlib-1.2.11/crc32.c +442 -0
  15. data/ext/zstdlib/zlib-1.2.11/crc32.h +441 -0
  16. data/ext/zstdlib/zlib-1.2.11/deflate.c +2163 -0
  17. data/ext/zstdlib/zlib-1.2.11/deflate.h +349 -0
  18. data/ext/zstdlib/zlib-1.2.11/gzclose.c +25 -0
  19. data/ext/zstdlib/zlib-1.2.11/gzguts.h +218 -0
  20. data/ext/zstdlib/zlib-1.2.11/gzlib.c +637 -0
  21. data/ext/zstdlib/zlib-1.2.11/gzread.c +654 -0
  22. data/ext/zstdlib/zlib-1.2.11/gzwrite.c +665 -0
  23. data/ext/zstdlib/zlib-1.2.11/infback.c +640 -0
  24. data/ext/zstdlib/zlib-1.2.11/inffast.c +323 -0
  25. data/ext/zstdlib/zlib-1.2.11/inffast.h +11 -0
  26. data/ext/zstdlib/zlib-1.2.11/inffixed.h +94 -0
  27. data/ext/zstdlib/zlib-1.2.11/inflate.c +1561 -0
  28. data/ext/zstdlib/zlib-1.2.11/inflate.h +125 -0
  29. data/ext/zstdlib/zlib-1.2.11/inftrees.c +304 -0
  30. data/ext/zstdlib/zlib-1.2.11/inftrees.h +62 -0
  31. data/ext/zstdlib/zlib-1.2.11/trees.c +1203 -0
  32. data/ext/zstdlib/zlib-1.2.11/trees.h +128 -0
  33. data/ext/zstdlib/zlib-1.2.11/uncompr.c +93 -0
  34. data/ext/zstdlib/zlib-1.2.11/zconf.h +534 -0
  35. data/ext/zstdlib/zlib-1.2.11/zlib.h +1912 -0
  36. data/ext/zstdlib/zlib-1.2.11/zutil.c +325 -0
  37. data/ext/zstdlib/zlib-1.2.11/zutil.h +271 -0
  38. data/ext/zstdlib/zlib.mk +14 -0
  39. data/ext/zstdlib/zlibwrapper.mk +14 -0
  40. data/ext/zstdlib/zlibwrapper/zlibwrapper.c +14 -0
  41. data/ext/zstdlib/zstd-1.3.8/lib/common/bitstream.h +455 -0
  42. data/ext/zstdlib/zstd-1.3.8/lib/common/compiler.h +140 -0
  43. data/ext/zstdlib/zstd-1.3.8/lib/common/cpu.h +215 -0
  44. data/ext/zstdlib/zstd-1.3.8/lib/common/debug.c +44 -0
  45. data/ext/zstdlib/zstd-1.3.8/lib/common/debug.h +134 -0
  46. data/ext/zstdlib/zstd-1.3.8/lib/common/entropy_common.c +236 -0
  47. data/ext/zstdlib/zstd-1.3.8/lib/common/error_private.c +54 -0
  48. data/ext/zstdlib/zstd-1.3.8/lib/common/error_private.h +76 -0
  49. data/ext/zstdlib/zstd-1.3.8/lib/common/fse.h +708 -0
  50. data/ext/zstdlib/zstd-1.3.8/lib/common/fse_decompress.c +309 -0
  51. data/ext/zstdlib/zstd-1.3.8/lib/common/huf.h +358 -0
  52. data/ext/zstdlib/zstd-1.3.8/lib/common/mem.h +380 -0
  53. data/ext/zstdlib/zstd-1.3.8/lib/common/pool.c +340 -0
  54. data/ext/zstdlib/zstd-1.3.8/lib/common/pool.h +84 -0
  55. data/ext/zstdlib/zstd-1.3.8/lib/common/threading.c +75 -0
  56. data/ext/zstdlib/zstd-1.3.8/lib/common/threading.h +123 -0
  57. data/ext/zstdlib/zstd-1.3.8/lib/common/xxhash.c +876 -0
  58. data/ext/zstdlib/zstd-1.3.8/lib/common/xxhash.h +305 -0
  59. data/ext/zstdlib/zstd-1.3.8/lib/common/zstd_common.c +83 -0
  60. data/ext/zstdlib/zstd-1.3.8/lib/common/zstd_errors.h +93 -0
  61. data/ext/zstdlib/zstd-1.3.8/lib/common/zstd_internal.h +266 -0
  62. data/ext/zstdlib/zstd-1.3.8/lib/compress/fse_compress.c +721 -0
  63. data/ext/zstdlib/zstd-1.3.8/lib/compress/hist.c +203 -0
  64. data/ext/zstdlib/zstd-1.3.8/lib/compress/hist.h +95 -0
  65. data/ext/zstdlib/zstd-1.3.8/lib/compress/huf_compress.c +798 -0
  66. data/ext/zstdlib/zstd-1.3.8/lib/compress/zstd_compress.c +4290 -0
  67. data/ext/zstdlib/zstd-1.3.8/lib/compress/zstd_compress_internal.h +860 -0
  68. data/ext/zstdlib/zstd-1.3.8/lib/compress/zstd_double_fast.c +499 -0
  69. data/ext/zstdlib/zstd-1.3.8/lib/compress/zstd_double_fast.h +38 -0
  70. data/ext/zstdlib/zstd-1.3.8/lib/compress/zstd_fast.c +391 -0
  71. data/ext/zstdlib/zstd-1.3.8/lib/compress/zstd_fast.h +37 -0
  72. data/ext/zstdlib/zstd-1.3.8/lib/compress/zstd_lazy.c +1106 -0
  73. data/ext/zstdlib/zstd-1.3.8/lib/compress/zstd_lazy.h +67 -0
  74. data/ext/zstdlib/zstd-1.3.8/lib/compress/zstd_ldm.c +597 -0
  75. data/ext/zstdlib/zstd-1.3.8/lib/compress/zstd_ldm.h +105 -0
  76. data/ext/zstdlib/zstd-1.3.8/lib/compress/zstd_opt.c +1217 -0
  77. data/ext/zstdlib/zstd-1.3.8/lib/compress/zstd_opt.h +56 -0
  78. data/ext/zstdlib/zstd-1.3.8/lib/compress/zstdmt_compress.c +2107 -0
  79. data/ext/zstdlib/zstd-1.3.8/lib/compress/zstdmt_compress.h +174 -0
  80. data/ext/zstdlib/zstd-1.3.8/lib/decompress/huf_decompress.c +1232 -0
  81. data/ext/zstdlib/zstd-1.3.8/lib/decompress/zstd_ddict.c +240 -0
  82. data/ext/zstdlib/zstd-1.3.8/lib/decompress/zstd_ddict.h +44 -0
  83. data/ext/zstdlib/zstd-1.3.8/lib/decompress/zstd_decompress.c +1672 -0
  84. data/ext/zstdlib/zstd-1.3.8/lib/decompress/zstd_decompress_block.c +1307 -0
  85. data/ext/zstdlib/zstd-1.3.8/lib/decompress/zstd_decompress_block.h +59 -0
  86. data/ext/zstdlib/zstd-1.3.8/lib/decompress/zstd_decompress_internal.h +168 -0
  87. data/ext/zstdlib/zstd-1.3.8/lib/zstd.h +1766 -0
  88. data/ext/zstdlib/zstd-1.3.8/zlibWrapper/gzclose.c +28 -0
  89. data/ext/zstdlib/zstd-1.3.8/zlibWrapper/gzcompatibility.h +68 -0
  90. data/ext/zstdlib/zstd-1.3.8/zlibWrapper/gzguts.h +227 -0
  91. data/ext/zstdlib/zstd-1.3.8/zlibWrapper/gzlib.c +640 -0
  92. data/ext/zstdlib/zstd-1.3.8/zlibWrapper/gzread.c +670 -0
  93. data/ext/zstdlib/zstd-1.3.8/zlibWrapper/gzwrite.c +671 -0
  94. data/ext/zstdlib/zstd-1.3.8/zlibWrapper/zstd_zlibwrapper.c +1105 -0
  95. data/ext/zstdlib/zstd-1.3.8/zlibWrapper/zstd_zlibwrapper.h +88 -0
  96. data/ext/zstdlib/zstd.mk +14 -0
  97. data/lib/2.2/zstdlib.so +0 -0
  98. data/lib/2.3/zstdlib.so +0 -0
  99. data/lib/2.4/zstdlib.so +0 -0
  100. data/lib/2.5/zstdlib.so +0 -0
  101. data/lib/2.6/zstdlib.so +0 -0
  102. data/lib/zstdlib.rb +6 -0
  103. data/test/zstdlib_test.rb +21 -0
  104. metadata +205 -0
@@ -0,0 +1,325 @@
1
+ /* zutil.c -- target dependent utility functions for the compression library
2
+ * Copyright (C) 1995-2017 Jean-loup Gailly
3
+ * For conditions of distribution and use, see copyright notice in zlib.h
4
+ */
5
+
6
+ /* @(#) $Id$ */
7
+
8
+ #include "zutil.h"
9
+ #ifndef Z_SOLO
10
+ # include "gzguts.h"
11
+ #endif
12
+
13
+ z_const char * const z_errmsg[10] = {
14
+ (z_const char *)"need dictionary", /* Z_NEED_DICT 2 */
15
+ (z_const char *)"stream end", /* Z_STREAM_END 1 */
16
+ (z_const char *)"", /* Z_OK 0 */
17
+ (z_const char *)"file error", /* Z_ERRNO (-1) */
18
+ (z_const char *)"stream error", /* Z_STREAM_ERROR (-2) */
19
+ (z_const char *)"data error", /* Z_DATA_ERROR (-3) */
20
+ (z_const char *)"insufficient memory", /* Z_MEM_ERROR (-4) */
21
+ (z_const char *)"buffer error", /* Z_BUF_ERROR (-5) */
22
+ (z_const char *)"incompatible version",/* Z_VERSION_ERROR (-6) */
23
+ (z_const char *)""
24
+ };
25
+
26
+
27
+ const char * ZEXPORT zlibVersion()
28
+ {
29
+ return ZLIB_VERSION;
30
+ }
31
+
32
+ uLong ZEXPORT zlibCompileFlags()
33
+ {
34
+ uLong flags;
35
+
36
+ flags = 0;
37
+ switch ((int)(sizeof(uInt))) {
38
+ case 2: break;
39
+ case 4: flags += 1; break;
40
+ case 8: flags += 2; break;
41
+ default: flags += 3;
42
+ }
43
+ switch ((int)(sizeof(uLong))) {
44
+ case 2: break;
45
+ case 4: flags += 1 << 2; break;
46
+ case 8: flags += 2 << 2; break;
47
+ default: flags += 3 << 2;
48
+ }
49
+ switch ((int)(sizeof(voidpf))) {
50
+ case 2: break;
51
+ case 4: flags += 1 << 4; break;
52
+ case 8: flags += 2 << 4; break;
53
+ default: flags += 3 << 4;
54
+ }
55
+ switch ((int)(sizeof(z_off_t))) {
56
+ case 2: break;
57
+ case 4: flags += 1 << 6; break;
58
+ case 8: flags += 2 << 6; break;
59
+ default: flags += 3 << 6;
60
+ }
61
+ #ifdef ZLIB_DEBUG
62
+ flags += 1 << 8;
63
+ #endif
64
+ #if defined(ASMV) || defined(ASMINF)
65
+ flags += 1 << 9;
66
+ #endif
67
+ #ifdef ZLIB_WINAPI
68
+ flags += 1 << 10;
69
+ #endif
70
+ #ifdef BUILDFIXED
71
+ flags += 1 << 12;
72
+ #endif
73
+ #ifdef DYNAMIC_CRC_TABLE
74
+ flags += 1 << 13;
75
+ #endif
76
+ #ifdef NO_GZCOMPRESS
77
+ flags += 1L << 16;
78
+ #endif
79
+ #ifdef NO_GZIP
80
+ flags += 1L << 17;
81
+ #endif
82
+ #ifdef PKZIP_BUG_WORKAROUND
83
+ flags += 1L << 20;
84
+ #endif
85
+ #ifdef FASTEST
86
+ flags += 1L << 21;
87
+ #endif
88
+ #if defined(STDC) || defined(Z_HAVE_STDARG_H)
89
+ # ifdef NO_vsnprintf
90
+ flags += 1L << 25;
91
+ # ifdef HAS_vsprintf_void
92
+ flags += 1L << 26;
93
+ # endif
94
+ # else
95
+ # ifdef HAS_vsnprintf_void
96
+ flags += 1L << 26;
97
+ # endif
98
+ # endif
99
+ #else
100
+ flags += 1L << 24;
101
+ # ifdef NO_snprintf
102
+ flags += 1L << 25;
103
+ # ifdef HAS_sprintf_void
104
+ flags += 1L << 26;
105
+ # endif
106
+ # else
107
+ # ifdef HAS_snprintf_void
108
+ flags += 1L << 26;
109
+ # endif
110
+ # endif
111
+ #endif
112
+ return flags;
113
+ }
114
+
115
+ #ifdef ZLIB_DEBUG
116
+ #include <stdlib.h>
117
+ # ifndef verbose
118
+ # define verbose 0
119
+ # endif
120
+ int ZLIB_INTERNAL z_verbose = verbose;
121
+
122
+ void ZLIB_INTERNAL z_error (m)
123
+ char *m;
124
+ {
125
+ fprintf(stderr, "%s\n", m);
126
+ exit(1);
127
+ }
128
+ #endif
129
+
130
+ /* exported to allow conversion of error code to string for compress() and
131
+ * uncompress()
132
+ */
133
+ const char * ZEXPORT zError(err)
134
+ int err;
135
+ {
136
+ return ERR_MSG(err);
137
+ }
138
+
139
+ #if defined(_WIN32_WCE)
140
+ /* The Microsoft C Run-Time Library for Windows CE doesn't have
141
+ * errno. We define it as a global variable to simplify porting.
142
+ * Its value is always 0 and should not be used.
143
+ */
144
+ int errno = 0;
145
+ #endif
146
+
147
+ #ifndef HAVE_MEMCPY
148
+
149
+ void ZLIB_INTERNAL zmemcpy(dest, source, len)
150
+ Bytef* dest;
151
+ const Bytef* source;
152
+ uInt len;
153
+ {
154
+ if (len == 0) return;
155
+ do {
156
+ *dest++ = *source++; /* ??? to be unrolled */
157
+ } while (--len != 0);
158
+ }
159
+
160
+ int ZLIB_INTERNAL zmemcmp(s1, s2, len)
161
+ const Bytef* s1;
162
+ const Bytef* s2;
163
+ uInt len;
164
+ {
165
+ uInt j;
166
+
167
+ for (j = 0; j < len; j++) {
168
+ if (s1[j] != s2[j]) return 2*(s1[j] > s2[j])-1;
169
+ }
170
+ return 0;
171
+ }
172
+
173
+ void ZLIB_INTERNAL zmemzero(dest, len)
174
+ Bytef* dest;
175
+ uInt len;
176
+ {
177
+ if (len == 0) return;
178
+ do {
179
+ *dest++ = 0; /* ??? to be unrolled */
180
+ } while (--len != 0);
181
+ }
182
+ #endif
183
+
184
+ #ifndef Z_SOLO
185
+
186
+ #ifdef SYS16BIT
187
+
188
+ #ifdef __TURBOC__
189
+ /* Turbo C in 16-bit mode */
190
+
191
+ # define MY_ZCALLOC
192
+
193
+ /* Turbo C malloc() does not allow dynamic allocation of 64K bytes
194
+ * and farmalloc(64K) returns a pointer with an offset of 8, so we
195
+ * must fix the pointer. Warning: the pointer must be put back to its
196
+ * original form in order to free it, use zcfree().
197
+ */
198
+
199
+ #define MAX_PTR 10
200
+ /* 10*64K = 640K */
201
+
202
+ local int next_ptr = 0;
203
+
204
+ typedef struct ptr_table_s {
205
+ voidpf org_ptr;
206
+ voidpf new_ptr;
207
+ } ptr_table;
208
+
209
+ local ptr_table table[MAX_PTR];
210
+ /* This table is used to remember the original form of pointers
211
+ * to large buffers (64K). Such pointers are normalized with a zero offset.
212
+ * Since MSDOS is not a preemptive multitasking OS, this table is not
213
+ * protected from concurrent access. This hack doesn't work anyway on
214
+ * a protected system like OS/2. Use Microsoft C instead.
215
+ */
216
+
217
+ voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
218
+ {
219
+ voidpf buf;
220
+ ulg bsize = (ulg)items*size;
221
+
222
+ (void)opaque;
223
+
224
+ /* If we allocate less than 65520 bytes, we assume that farmalloc
225
+ * will return a usable pointer which doesn't have to be normalized.
226
+ */
227
+ if (bsize < 65520L) {
228
+ buf = farmalloc(bsize);
229
+ if (*(ush*)&buf != 0) return buf;
230
+ } else {
231
+ buf = farmalloc(bsize + 16L);
232
+ }
233
+ if (buf == NULL || next_ptr >= MAX_PTR) return NULL;
234
+ table[next_ptr].org_ptr = buf;
235
+
236
+ /* Normalize the pointer to seg:0 */
237
+ *((ush*)&buf+1) += ((ush)((uch*)buf-0) + 15) >> 4;
238
+ *(ush*)&buf = 0;
239
+ table[next_ptr++].new_ptr = buf;
240
+ return buf;
241
+ }
242
+
243
+ void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
244
+ {
245
+ int n;
246
+
247
+ (void)opaque;
248
+
249
+ if (*(ush*)&ptr != 0) { /* object < 64K */
250
+ farfree(ptr);
251
+ return;
252
+ }
253
+ /* Find the original pointer */
254
+ for (n = 0; n < next_ptr; n++) {
255
+ if (ptr != table[n].new_ptr) continue;
256
+
257
+ farfree(table[n].org_ptr);
258
+ while (++n < next_ptr) {
259
+ table[n-1] = table[n];
260
+ }
261
+ next_ptr--;
262
+ return;
263
+ }
264
+ Assert(0, "zcfree: ptr not found");
265
+ }
266
+
267
+ #endif /* __TURBOC__ */
268
+
269
+
270
+ #ifdef M_I86
271
+ /* Microsoft C in 16-bit mode */
272
+
273
+ # define MY_ZCALLOC
274
+
275
+ #if (!defined(_MSC_VER) || (_MSC_VER <= 600))
276
+ # define _halloc halloc
277
+ # define _hfree hfree
278
+ #endif
279
+
280
+ voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size)
281
+ {
282
+ (void)opaque;
283
+ return _halloc((long)items, size);
284
+ }
285
+
286
+ void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
287
+ {
288
+ (void)opaque;
289
+ _hfree(ptr);
290
+ }
291
+
292
+ #endif /* M_I86 */
293
+
294
+ #endif /* SYS16BIT */
295
+
296
+
297
+ #ifndef MY_ZCALLOC /* Any system without a special alloc function */
298
+
299
+ #ifndef STDC
300
+ extern voidp malloc OF((uInt size));
301
+ extern voidp calloc OF((uInt items, uInt size));
302
+ extern void free OF((voidpf ptr));
303
+ #endif
304
+
305
+ voidpf ZLIB_INTERNAL zcalloc (opaque, items, size)
306
+ voidpf opaque;
307
+ unsigned items;
308
+ unsigned size;
309
+ {
310
+ (void)opaque;
311
+ return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) :
312
+ (voidpf)calloc(items, size);
313
+ }
314
+
315
+ void ZLIB_INTERNAL zcfree (opaque, ptr)
316
+ voidpf opaque;
317
+ voidpf ptr;
318
+ {
319
+ (void)opaque;
320
+ free(ptr);
321
+ }
322
+
323
+ #endif /* MY_ZCALLOC */
324
+
325
+ #endif /* !Z_SOLO */
@@ -0,0 +1,271 @@
1
+ /* zutil.h -- internal interface and configuration of the 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
+ /* 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
+ /* since "static" is used to mean two completely different things in C, we
40
+ define "local" for the non-static meaning of "static", for readability
41
+ (compile with -Dlocal if your debugger can't find static symbols) */
42
+
43
+ typedef unsigned char uch;
44
+ typedef uch FAR uchf;
45
+ typedef unsigned short ush;
46
+ typedef ush FAR ushf;
47
+ typedef unsigned long ulg;
48
+
49
+ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
50
+ /* (size given to avoid silly warnings with Visual C++) */
51
+
52
+ #define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
53
+
54
+ #define ERR_RETURN(strm,err) \
55
+ return (strm->msg = ERR_MSG(err), (err))
56
+ /* To be used only when the state is known to be valid */
57
+
58
+ /* common constants */
59
+
60
+ #ifndef DEF_WBITS
61
+ # define DEF_WBITS MAX_WBITS
62
+ #endif
63
+ /* default windowBits for decompression. MAX_WBITS is for compression only */
64
+
65
+ #if MAX_MEM_LEVEL >= 8
66
+ # define DEF_MEM_LEVEL 8
67
+ #else
68
+ # define DEF_MEM_LEVEL MAX_MEM_LEVEL
69
+ #endif
70
+ /* default memLevel */
71
+
72
+ #define STORED_BLOCK 0
73
+ #define STATIC_TREES 1
74
+ #define DYN_TREES 2
75
+ /* The three kinds of block type */
76
+
77
+ #define MIN_MATCH 3
78
+ #define MAX_MATCH 258
79
+ /* The minimum and maximum match lengths */
80
+
81
+ #define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
82
+
83
+ /* target dependencies */
84
+
85
+ #if defined(MSDOS) || (defined(WINDOWS) && !defined(WIN32))
86
+ # define OS_CODE 0x00
87
+ # ifndef Z_SOLO
88
+ # if defined(__TURBOC__) || defined(__BORLANDC__)
89
+ # if (__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
90
+ /* Allow compilation with ANSI keywords only enabled */
91
+ void _Cdecl farfree( void *block );
92
+ void *_Cdecl farmalloc( unsigned long nbytes );
93
+ # else
94
+ # include <alloc.h>
95
+ # endif
96
+ # else /* MSC or DJGPP */
97
+ # include <malloc.h>
98
+ # endif
99
+ # endif
100
+ #endif
101
+
102
+ #ifdef AMIGA
103
+ # define OS_CODE 1
104
+ #endif
105
+
106
+ #if defined(VAXC) || defined(VMS)
107
+ # define OS_CODE 2
108
+ # define F_OPEN(name, mode) \
109
+ fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
110
+ #endif
111
+
112
+ #ifdef __370__
113
+ # if __TARGET_LIB__ < 0x20000000
114
+ # define OS_CODE 4
115
+ # elif __TARGET_LIB__ < 0x40000000
116
+ # define OS_CODE 11
117
+ # else
118
+ # define OS_CODE 8
119
+ # endif
120
+ #endif
121
+
122
+ #if defined(ATARI) || defined(atarist)
123
+ # define OS_CODE 5
124
+ #endif
125
+
126
+ #ifdef OS2
127
+ # define OS_CODE 6
128
+ # if defined(M_I86) && !defined(Z_SOLO)
129
+ # include <malloc.h>
130
+ # endif
131
+ #endif
132
+
133
+ #if defined(MACOS) || defined(TARGET_OS_MAC)
134
+ # define OS_CODE 7
135
+ # ifndef Z_SOLO
136
+ # if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
137
+ # include <unix.h> /* for fdopen */
138
+ # else
139
+ # ifndef fdopen
140
+ # define fdopen(fd,mode) NULL /* No fdopen() */
141
+ # endif
142
+ # endif
143
+ # endif
144
+ #endif
145
+
146
+ #ifdef __acorn
147
+ # define OS_CODE 13
148
+ #endif
149
+
150
+ #if defined(WIN32) && !defined(__CYGWIN__)
151
+ # define OS_CODE 10
152
+ #endif
153
+
154
+ #ifdef _BEOS_
155
+ # define OS_CODE 16
156
+ #endif
157
+
158
+ #ifdef __TOS_OS400__
159
+ # define OS_CODE 18
160
+ #endif
161
+
162
+ #ifdef __APPLE__
163
+ # define OS_CODE 19
164
+ #endif
165
+
166
+ #if defined(_BEOS_) || defined(RISCOS)
167
+ # define fdopen(fd,mode) NULL /* No fdopen() */
168
+ #endif
169
+
170
+ #if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX
171
+ # if defined(_WIN32_WCE)
172
+ # define fdopen(fd,mode) NULL /* No fdopen() */
173
+ # ifndef _PTRDIFF_T_DEFINED
174
+ typedef int ptrdiff_t;
175
+ # define _PTRDIFF_T_DEFINED
176
+ # endif
177
+ # else
178
+ # define fdopen(fd,type) _fdopen(fd,type)
179
+ # endif
180
+ #endif
181
+
182
+ #if defined(__BORLANDC__) && !defined(MSDOS)
183
+ #pragma warn -8004
184
+ #pragma warn -8008
185
+ #pragma warn -8066
186
+ #endif
187
+
188
+ /* provide prototypes for these when building zlib without LFS */
189
+ #if !defined(_WIN32) && \
190
+ (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
191
+ ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
192
+ ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
193
+ #endif
194
+
195
+ /* common defaults */
196
+
197
+ #ifndef OS_CODE
198
+ # define OS_CODE 3 /* assume Unix */
199
+ #endif
200
+
201
+ #ifndef F_OPEN
202
+ # define F_OPEN(name, mode) fopen((name), (mode))
203
+ #endif
204
+
205
+ /* functions */
206
+
207
+ #if defined(pyr) || defined(Z_SOLO)
208
+ # define NO_MEMCPY
209
+ #endif
210
+ #if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)
211
+ /* Use our own functions for small and medium model with MSC <= 5.0.
212
+ * You may have to use the same strategy for Borland C (untested).
213
+ * The __SC__ check is for Symantec.
214
+ */
215
+ # define NO_MEMCPY
216
+ #endif
217
+ #if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
218
+ # define HAVE_MEMCPY
219
+ #endif
220
+ #ifdef HAVE_MEMCPY
221
+ # ifdef SMALL_MEDIUM /* MSDOS small or medium model */
222
+ # define zmemcpy _fmemcpy
223
+ # define zmemcmp _fmemcmp
224
+ # define zmemzero(dest, len) _fmemset(dest, 0, len)
225
+ # else
226
+ # define zmemcpy memcpy
227
+ # define zmemcmp memcmp
228
+ # define zmemzero(dest, len) memset(dest, 0, len)
229
+ # endif
230
+ #else
231
+ void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
232
+ int ZLIB_INTERNAL zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
233
+ void ZLIB_INTERNAL zmemzero OF((Bytef* dest, uInt len));
234
+ #endif
235
+
236
+ /* Diagnostic functions */
237
+ #ifdef ZLIB_DEBUG
238
+ # include <stdio.h>
239
+ extern int ZLIB_INTERNAL z_verbose;
240
+ extern void ZLIB_INTERNAL z_error OF((char *m));
241
+ # define Assert(cond,msg) {if(!(cond)) z_error(msg);}
242
+ # define Trace(x) {if (z_verbose>=0) fprintf x ;}
243
+ # define Tracev(x) {if (z_verbose>0) fprintf x ;}
244
+ # define Tracevv(x) {if (z_verbose>1) fprintf x ;}
245
+ # define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
246
+ # define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
247
+ #else
248
+ # define Assert(cond,msg)
249
+ # define Trace(x)
250
+ # define Tracev(x)
251
+ # define Tracevv(x)
252
+ # define Tracec(c,x)
253
+ # define Tracecv(c,x)
254
+ #endif
255
+
256
+ #ifndef Z_SOLO
257
+ voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items,
258
+ unsigned size));
259
+ void ZLIB_INTERNAL zcfree OF((voidpf opaque, voidpf ptr));
260
+ #endif
261
+
262
+ #define ZALLOC(strm, items, size) \
263
+ (*((strm)->zalloc))((strm)->opaque, (items), (size))
264
+ #define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
265
+ #define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
266
+
267
+ /* Reverse the bytes in a 32-bit value */
268
+ #define ZSWAP32(q) ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
269
+ (((q) & 0xff00) << 8) + (((q) & 0xff) << 24))
270
+
271
+ #endif /* ZUTIL_H */