zstdlib 0.9.0-arm64-darwin

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +6 -0
  3. data/CHANGES.md +78 -0
  4. data/Gemfile +3 -0
  5. data/README.md +107 -0
  6. data/Rakefile +59 -0
  7. data/ext/zstdlib_c/extconf.rb +54 -0
  8. data/ext/zstdlib_c/ruby/zlib-2.2/zstdlib.c +4675 -0
  9. data/ext/zstdlib_c/ruby/zlib-2.3/zstdlib.c +4702 -0
  10. data/ext/zstdlib_c/ruby/zlib-2.4/zstdlib.c +4859 -0
  11. data/ext/zstdlib_c/ruby/zlib-2.5/zstdlib.c +4864 -0
  12. data/ext/zstdlib_c/ruby/zlib-2.6/zstdlib.c +4906 -0
  13. data/ext/zstdlib_c/ruby/zlib-2.7/zstdlib.c +4895 -0
  14. data/ext/zstdlib_c/ruby/zlib-3.0/zstdlib.c +4994 -0
  15. data/ext/zstdlib_c/ruby/zlib-3.1/zstdlib.c +5076 -0
  16. data/ext/zstdlib_c/zlib-1.2.11/adler32.c +186 -0
  17. data/ext/zstdlib_c/zlib-1.2.11/compress.c +86 -0
  18. data/ext/zstdlib_c/zlib-1.2.11/crc32.c +442 -0
  19. data/ext/zstdlib_c/zlib-1.2.11/crc32.h +441 -0
  20. data/ext/zstdlib_c/zlib-1.2.11/deflate.c +2163 -0
  21. data/ext/zstdlib_c/zlib-1.2.11/deflate.h +349 -0
  22. data/ext/zstdlib_c/zlib-1.2.11/gzclose.c +25 -0
  23. data/ext/zstdlib_c/zlib-1.2.11/gzguts.h +218 -0
  24. data/ext/zstdlib_c/zlib-1.2.11/gzlib.c +637 -0
  25. data/ext/zstdlib_c/zlib-1.2.11/gzread.c +654 -0
  26. data/ext/zstdlib_c/zlib-1.2.11/gzwrite.c +665 -0
  27. data/ext/zstdlib_c/zlib-1.2.11/infback.c +640 -0
  28. data/ext/zstdlib_c/zlib-1.2.11/inffast.c +323 -0
  29. data/ext/zstdlib_c/zlib-1.2.11/inffast.h +11 -0
  30. data/ext/zstdlib_c/zlib-1.2.11/inffixed.h +94 -0
  31. data/ext/zstdlib_c/zlib-1.2.11/inflate.c +1561 -0
  32. data/ext/zstdlib_c/zlib-1.2.11/inflate.h +125 -0
  33. data/ext/zstdlib_c/zlib-1.2.11/inftrees.c +304 -0
  34. data/ext/zstdlib_c/zlib-1.2.11/inftrees.h +62 -0
  35. data/ext/zstdlib_c/zlib-1.2.11/trees.c +1203 -0
  36. data/ext/zstdlib_c/zlib-1.2.11/trees.h +128 -0
  37. data/ext/zstdlib_c/zlib-1.2.11/uncompr.c +93 -0
  38. data/ext/zstdlib_c/zlib-1.2.11/zconf.h +534 -0
  39. data/ext/zstdlib_c/zlib-1.2.11/zlib.h +1912 -0
  40. data/ext/zstdlib_c/zlib-1.2.11/zutil.c +325 -0
  41. data/ext/zstdlib_c/zlib-1.2.11/zutil.h +271 -0
  42. data/ext/zstdlib_c/zlib.mk +14 -0
  43. data/ext/zstdlib_c/zlibwrapper/zlibwrapper.c +10 -0
  44. data/ext/zstdlib_c/zlibwrapper.mk +14 -0
  45. data/ext/zstdlib_c/zstd-1.5.2/lib/common/bitstream.h +478 -0
  46. data/ext/zstdlib_c/zstd-1.5.2/lib/common/compiler.h +335 -0
  47. data/ext/zstdlib_c/zstd-1.5.2/lib/common/cpu.h +213 -0
  48. data/ext/zstdlib_c/zstd-1.5.2/lib/common/debug.c +24 -0
  49. data/ext/zstdlib_c/zstd-1.5.2/lib/common/debug.h +107 -0
  50. data/ext/zstdlib_c/zstd-1.5.2/lib/common/entropy_common.c +368 -0
  51. data/ext/zstdlib_c/zstd-1.5.2/lib/common/error_private.c +56 -0
  52. data/ext/zstdlib_c/zstd-1.5.2/lib/common/error_private.h +159 -0
  53. data/ext/zstdlib_c/zstd-1.5.2/lib/common/fse.h +717 -0
  54. data/ext/zstdlib_c/zstd-1.5.2/lib/common/fse_decompress.c +403 -0
  55. data/ext/zstdlib_c/zstd-1.5.2/lib/common/huf.h +364 -0
  56. data/ext/zstdlib_c/zstd-1.5.2/lib/common/mem.h +442 -0
  57. data/ext/zstdlib_c/zstd-1.5.2/lib/common/pool.c +355 -0
  58. data/ext/zstdlib_c/zstd-1.5.2/lib/common/pool.h +84 -0
  59. data/ext/zstdlib_c/zstd-1.5.2/lib/common/portability_macros.h +137 -0
  60. data/ext/zstdlib_c/zstd-1.5.2/lib/common/threading.c +122 -0
  61. data/ext/zstdlib_c/zstd-1.5.2/lib/common/threading.h +155 -0
  62. data/ext/zstdlib_c/zstd-1.5.2/lib/common/xxhash.c +24 -0
  63. data/ext/zstdlib_c/zstd-1.5.2/lib/common/xxhash.h +5686 -0
  64. data/ext/zstdlib_c/zstd-1.5.2/lib/common/zstd_common.c +83 -0
  65. data/ext/zstdlib_c/zstd-1.5.2/lib/common/zstd_deps.h +111 -0
  66. data/ext/zstdlib_c/zstd-1.5.2/lib/common/zstd_internal.h +493 -0
  67. data/ext/zstdlib_c/zstd-1.5.2/lib/common/zstd_trace.h +163 -0
  68. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/clevels.h +134 -0
  69. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/fse_compress.c +741 -0
  70. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/hist.c +181 -0
  71. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/hist.h +75 -0
  72. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/huf_compress.c +1370 -0
  73. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_compress.c +6327 -0
  74. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_compress_internal.h +1458 -0
  75. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_compress_literals.c +159 -0
  76. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_compress_literals.h +31 -0
  77. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_compress_sequences.c +442 -0
  78. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_compress_sequences.h +54 -0
  79. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_compress_superblock.c +573 -0
  80. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_compress_superblock.h +32 -0
  81. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_cwksp.h +676 -0
  82. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_double_fast.c +696 -0
  83. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_double_fast.h +38 -0
  84. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_fast.c +675 -0
  85. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_fast.h +37 -0
  86. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_lazy.c +2104 -0
  87. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_lazy.h +125 -0
  88. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_ldm.c +724 -0
  89. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_ldm.h +117 -0
  90. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_ldm_geartab.h +106 -0
  91. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_opt.c +1446 -0
  92. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_opt.h +56 -0
  93. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstdmt_compress.c +1859 -0
  94. data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstdmt_compress.h +113 -0
  95. data/ext/zstdlib_c/zstd-1.5.2/lib/decompress/huf_decompress.c +1889 -0
  96. data/ext/zstdlib_c/zstd-1.5.2/lib/decompress/huf_decompress_amd64.S +585 -0
  97. data/ext/zstdlib_c/zstd-1.5.2/lib/decompress/zstd_ddict.c +244 -0
  98. data/ext/zstdlib_c/zstd-1.5.2/lib/decompress/zstd_ddict.h +44 -0
  99. data/ext/zstdlib_c/zstd-1.5.2/lib/decompress/zstd_decompress.c +2230 -0
  100. data/ext/zstdlib_c/zstd-1.5.2/lib/decompress/zstd_decompress_block.c +2072 -0
  101. data/ext/zstdlib_c/zstd-1.5.2/lib/decompress/zstd_decompress_block.h +68 -0
  102. data/ext/zstdlib_c/zstd-1.5.2/lib/decompress/zstd_decompress_internal.h +236 -0
  103. data/ext/zstdlib_c/zstd-1.5.2/lib/zdict.h +452 -0
  104. data/ext/zstdlib_c/zstd-1.5.2/lib/zstd.h +2575 -0
  105. data/ext/zstdlib_c/zstd-1.5.2/lib/zstd_errors.h +95 -0
  106. data/ext/zstdlib_c/zstd-1.5.2/zlibWrapper/gzclose.c +28 -0
  107. data/ext/zstdlib_c/zstd-1.5.2/zlibWrapper/gzcompatibility.h +68 -0
  108. data/ext/zstdlib_c/zstd-1.5.2/zlibWrapper/gzguts.h +229 -0
  109. data/ext/zstdlib_c/zstd-1.5.2/zlibWrapper/gzlib.c +640 -0
  110. data/ext/zstdlib_c/zstd-1.5.2/zlibWrapper/gzread.c +678 -0
  111. data/ext/zstdlib_c/zstd-1.5.2/zlibWrapper/gzwrite.c +671 -0
  112. data/ext/zstdlib_c/zstd-1.5.2/zlibWrapper/zstd_zlibwrapper.c +1198 -0
  113. data/ext/zstdlib_c/zstd-1.5.2/zlibWrapper/zstd_zlibwrapper.h +88 -0
  114. data/ext/zstdlib_c/zstd.mk +15 -0
  115. data/lib/2.4/zstdlib_c.bundle +0 -0
  116. data/lib/2.5/zstdlib_c.bundle +0 -0
  117. data/lib/2.6/zstdlib_c.bundle +0 -0
  118. data/lib/2.7/zstdlib_c.bundle +0 -0
  119. data/lib/3.0/zstdlib_c.bundle +0 -0
  120. data/lib/3.1/zstdlib_c.bundle +0 -0
  121. data/lib/zstdlib.rb +6 -0
  122. data/test/zstdlib_test.rb +21 -0
  123. metadata +237 -0
@@ -0,0 +1,95 @@
1
+ /*
2
+ * Copyright (c) Yann Collet, Facebook, Inc.
3
+ * All rights reserved.
4
+ *
5
+ * This source code is licensed under both the BSD-style license (found in the
6
+ * LICENSE file in the root directory of this source tree) and the GPLv2 (found
7
+ * in the COPYING file in the root directory of this source tree).
8
+ * You may select, at your option, one of the above-listed licenses.
9
+ */
10
+
11
+ #ifndef ZSTD_ERRORS_H_398273423
12
+ #define ZSTD_ERRORS_H_398273423
13
+
14
+ #if defined (__cplusplus)
15
+ extern "C" {
16
+ #endif
17
+
18
+ /*===== dependency =====*/
19
+ #include <stddef.h> /* size_t */
20
+
21
+
22
+ /* ===== ZSTDERRORLIB_API : control library symbols visibility ===== */
23
+ #ifndef ZSTDERRORLIB_VISIBILITY
24
+ # if defined(__GNUC__) && (__GNUC__ >= 4)
25
+ # define ZSTDERRORLIB_VISIBILITY __attribute__ ((visibility ("default")))
26
+ # else
27
+ # define ZSTDERRORLIB_VISIBILITY
28
+ # endif
29
+ #endif
30
+ #if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1)
31
+ # define ZSTDERRORLIB_API __declspec(dllexport) ZSTDERRORLIB_VISIBILITY
32
+ #elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1)
33
+ # define ZSTDERRORLIB_API __declspec(dllimport) ZSTDERRORLIB_VISIBILITY /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/
34
+ #else
35
+ # define ZSTDERRORLIB_API ZSTDERRORLIB_VISIBILITY
36
+ #endif
37
+
38
+ /*-*********************************************
39
+ * Error codes list
40
+ *-*********************************************
41
+ * Error codes _values_ are pinned down since v1.3.1 only.
42
+ * Therefore, don't rely on values if you may link to any version < v1.3.1.
43
+ *
44
+ * Only values < 100 are considered stable.
45
+ *
46
+ * note 1 : this API shall be used with static linking only.
47
+ * dynamic linking is not yet officially supported.
48
+ * note 2 : Prefer relying on the enum than on its value whenever possible
49
+ * This is the only supported way to use the error list < v1.3.1
50
+ * note 3 : ZSTD_isError() is always correct, whatever the library version.
51
+ **********************************************/
52
+ typedef enum {
53
+ ZSTD_error_no_error = 0,
54
+ ZSTD_error_GENERIC = 1,
55
+ ZSTD_error_prefix_unknown = 10,
56
+ ZSTD_error_version_unsupported = 12,
57
+ ZSTD_error_frameParameter_unsupported = 14,
58
+ ZSTD_error_frameParameter_windowTooLarge = 16,
59
+ ZSTD_error_corruption_detected = 20,
60
+ ZSTD_error_checksum_wrong = 22,
61
+ ZSTD_error_dictionary_corrupted = 30,
62
+ ZSTD_error_dictionary_wrong = 32,
63
+ ZSTD_error_dictionaryCreation_failed = 34,
64
+ ZSTD_error_parameter_unsupported = 40,
65
+ ZSTD_error_parameter_outOfBound = 42,
66
+ ZSTD_error_tableLog_tooLarge = 44,
67
+ ZSTD_error_maxSymbolValue_tooLarge = 46,
68
+ ZSTD_error_maxSymbolValue_tooSmall = 48,
69
+ ZSTD_error_stage_wrong = 60,
70
+ ZSTD_error_init_missing = 62,
71
+ ZSTD_error_memory_allocation = 64,
72
+ ZSTD_error_workSpace_tooSmall= 66,
73
+ ZSTD_error_dstSize_tooSmall = 70,
74
+ ZSTD_error_srcSize_wrong = 72,
75
+ ZSTD_error_dstBuffer_null = 74,
76
+ /* following error codes are __NOT STABLE__, they can be removed or changed in future versions */
77
+ ZSTD_error_frameIndex_tooLarge = 100,
78
+ ZSTD_error_seekableIO = 102,
79
+ ZSTD_error_dstBuffer_wrong = 104,
80
+ ZSTD_error_srcBuffer_wrong = 105,
81
+ ZSTD_error_maxCode = 120 /* never EVER use this value directly, it can change in future versions! Use ZSTD_isError() instead */
82
+ } ZSTD_ErrorCode;
83
+
84
+ /*! ZSTD_getErrorCode() :
85
+ convert a `size_t` function result into a `ZSTD_ErrorCode` enum type,
86
+ which can be used to compare with enum list published above */
87
+ ZSTDERRORLIB_API ZSTD_ErrorCode ZSTD_getErrorCode(size_t functionResult);
88
+ ZSTDERRORLIB_API const char* ZSTD_getErrorString(ZSTD_ErrorCode code); /**< Same as ZSTD_getErrorName, but using a `ZSTD_ErrorCode` enum argument */
89
+
90
+
91
+ #if defined (__cplusplus)
92
+ }
93
+ #endif
94
+
95
+ #endif /* ZSTD_ERRORS_H_398273423 */
@@ -0,0 +1,28 @@
1
+ /* gzclose.c contains minimal changes required to be compiled with zlibWrapper:
2
+ * - gz_statep was converted to union to work with -Wstrict-aliasing=1 */
3
+
4
+ /* gzclose.c -- zlib gzclose() function
5
+ * Copyright (C) 2004, 2010 Mark Adler
6
+ * For conditions of distribution and use, see http://www.zlib.net/zlib_license.html
7
+ */
8
+
9
+ #include "gzguts.h"
10
+
11
+ /* gzclose() is in a separate file so that it is linked in only if it is used.
12
+ That way the other gzclose functions can be used instead to avoid linking in
13
+ unneeded compression or decompression routines. */
14
+ int ZEXPORT gzclose(file)
15
+ gzFile file;
16
+ {
17
+ #ifndef NO_GZCOMPRESS
18
+ gz_statep state;
19
+
20
+ if (file == NULL)
21
+ return Z_STREAM_ERROR;
22
+ state.file = file;
23
+
24
+ return state.state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file);
25
+ #else
26
+ return gzclose_r(file);
27
+ #endif
28
+ }
@@ -0,0 +1,68 @@
1
+ /*
2
+ * Copyright (c) 2016-2021, Przemyslaw Skibinski, Yann Collet, Facebook, Inc.
3
+ * All rights reserved.
4
+ *
5
+ * This source code is licensed under both the BSD-style license (found in the
6
+ * LICENSE file in the root directory of this source tree) and the GPLv2 (found
7
+ * in the COPYING file in the root directory of this source tree).
8
+ * You may select, at your option, one of the above-listed licenses.
9
+ */
10
+
11
+
12
+
13
+ #if ZLIB_VERNUM <= 0x1240
14
+ ZEXTERN int ZEXPORT gzclose_r OF((gzFile file));
15
+ ZEXTERN int ZEXPORT gzclose_w OF((gzFile file));
16
+ ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
17
+ ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file));
18
+
19
+ #if !defined(_WIN32) && defined(Z_LARGE64)
20
+ # define z_off64_t off64_t
21
+ #else
22
+ # if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
23
+ # define z_off64_t __int64
24
+ # else
25
+ # define z_off64_t z_off_t
26
+ # endif
27
+ #endif
28
+ #endif
29
+
30
+
31
+ #if ZLIB_VERNUM <= 0x1250
32
+ struct gzFile_s {
33
+ unsigned have;
34
+ unsigned char *next;
35
+ z_off64_t pos;
36
+ };
37
+ #endif
38
+
39
+
40
+ #if ZLIB_VERNUM <= 0x1270
41
+ #if defined(_WIN32) && !defined(Z_SOLO)
42
+ # include <stddef.h> /* for wchar_t */
43
+ ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path,
44
+ const char *mode));
45
+ #endif
46
+ #endif
47
+
48
+
49
+ #if ZLIB_VERNUM < 0x12B0
50
+ #ifdef Z_SOLO
51
+ typedef unsigned long z_size_t;
52
+ #else
53
+ # define z_longlong long long
54
+ # if defined(NO_SIZE_T)
55
+ typedef unsigned NO_SIZE_T z_size_t;
56
+ # elif defined(STDC)
57
+ # include <stddef.h>
58
+ typedef size_t z_size_t;
59
+ # else
60
+ typedef unsigned long z_size_t;
61
+ # endif
62
+ # undef z_longlong
63
+ #endif
64
+ ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems,
65
+ gzFile file));
66
+ ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size,
67
+ z_size_t nitems, gzFile file));
68
+ #endif
@@ -0,0 +1,229 @@
1
+ /* gzguts.h contains minimal changes required to be compiled with zlibWrapper:
2
+ * - #include "zlib.h" was changed to #include "zstd_zlibwrapper.h"
3
+ * - gz_statep was converted to union to work with -Wstrict-aliasing=1 */
4
+
5
+ /* gzguts.h -- zlib internal header definitions for gz* operations
6
+ * Copyright (C) 2004, 2005, 2010, 2011, 2012, 2013, 2016 Mark Adler
7
+ * For conditions of distribution and use, see http://www.zlib.net/zlib_license.html
8
+ */
9
+
10
+ #ifdef _LARGEFILE64_SOURCE
11
+ # ifndef _LARGEFILE_SOURCE
12
+ # define _LARGEFILE_SOURCE 1
13
+ # endif
14
+ # ifdef _FILE_OFFSET_BITS
15
+ # undef _FILE_OFFSET_BITS
16
+ # endif
17
+ #endif
18
+
19
+ #ifdef HAVE_HIDDEN
20
+ # define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
21
+ #else
22
+ # define ZLIB_INTERNAL
23
+ #endif
24
+
25
+ #include <stdio.h>
26
+ #include "zstd_zlibwrapper.h"
27
+ #include "gzcompatibility.h"
28
+ #ifdef STDC
29
+ # include <string.h>
30
+ # include <stdlib.h>
31
+ # include <limits.h>
32
+ #endif
33
+
34
+ #ifndef _POSIX_SOURCE
35
+ # define _POSIX_SOURCE
36
+ #endif
37
+ #include <fcntl.h>
38
+
39
+ #ifdef _WIN32
40
+ # include <stddef.h>
41
+ #else
42
+ # include <unistd.h>
43
+ #endif
44
+
45
+ #if defined(__TURBOC__) || defined(_MSC_VER) || defined(_WIN32)
46
+ # include <io.h>
47
+ #endif
48
+
49
+ #if defined(_WIN32)
50
+ # define WIDECHAR
51
+ #endif
52
+
53
+ #ifdef WINAPI_FAMILY
54
+ # define open _open
55
+ # define read _read
56
+ # define write _write
57
+ # define close _close
58
+ #endif
59
+
60
+ #ifdef NO_DEFLATE /* for compatibility with old definition */
61
+ # define NO_GZCOMPRESS
62
+ #endif
63
+
64
+ #if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550)
65
+ # ifndef HAVE_VSNPRINTF
66
+ # define HAVE_VSNPRINTF
67
+ # endif
68
+ #endif
69
+
70
+ #if defined(__CYGWIN__)
71
+ # ifndef HAVE_VSNPRINTF
72
+ # define HAVE_VSNPRINTF
73
+ # endif
74
+ #endif
75
+
76
+ #if defined(MSDOS) && defined(__BORLANDC__) && (BORLANDC > 0x410)
77
+ # ifndef HAVE_VSNPRINTF
78
+ # define HAVE_VSNPRINTF
79
+ # endif
80
+ #endif
81
+
82
+ #ifndef HAVE_VSNPRINTF
83
+ # ifdef MSDOS
84
+ /* vsnprintf may exist on some MS-DOS compilers (DJGPP?),
85
+ but for now we just assume it doesn't. */
86
+ # define NO_vsnprintf
87
+ # endif
88
+ # ifdef __TURBOC__
89
+ # define NO_vsnprintf
90
+ # endif
91
+ # ifdef WIN32
92
+ /* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */
93
+ # if !defined(vsnprintf) && !defined(NO_vsnprintf)
94
+ # if !defined(_MSC_VER) || ( defined(_MSC_VER) && _MSC_VER < 1500 )
95
+ # define vsnprintf _vsnprintf
96
+ # endif
97
+ # endif
98
+ # endif
99
+ # ifdef __SASC
100
+ # define NO_vsnprintf
101
+ # endif
102
+ # ifdef VMS
103
+ # define NO_vsnprintf
104
+ # endif
105
+ # ifdef __OS400__
106
+ # define NO_vsnprintf
107
+ # endif
108
+ # ifdef __MVS__
109
+ # define NO_vsnprintf
110
+ # endif
111
+ #endif
112
+
113
+ /* unlike snprintf (which is required in C99), _snprintf does not guarantee
114
+ null termination of the result -- however this is only used in gzlib.c where
115
+ the result is assured to fit in the space provided */
116
+ #if defined(_MSC_VER) && _MSC_VER < 1900
117
+ # define snprintf _snprintf
118
+ #endif
119
+
120
+ #ifndef local
121
+ # define local static
122
+ #endif
123
+ /* since "static" is used to mean two completely different things in C, we
124
+ define "local" for the non-static meaning of "static", for readability
125
+ (compile with -Dlocal if your debugger can't find static symbols) */
126
+
127
+ /* gz* functions always use library allocation functions */
128
+ #ifndef STDC
129
+ extern voidp malloc OF((uInt size));
130
+ extern void free OF((voidpf ptr));
131
+ #endif
132
+
133
+ /* get errno and strerror definition */
134
+ #if defined UNDER_CE
135
+ # include <windows.h>
136
+ # define zstrerror() gz_strwinerror((DWORD)GetLastError())
137
+ #else
138
+ # ifndef NO_STRERROR
139
+ # include <errno.h>
140
+ # define zstrerror() strerror(errno)
141
+ # else
142
+ # define zstrerror() "stdio error (consult errno)"
143
+ # endif
144
+ #endif
145
+
146
+ /* provide prototypes for these when building zlib without LFS */
147
+ #if !defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0
148
+ ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
149
+ ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
150
+ ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
151
+ ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
152
+ #endif
153
+
154
+ /* default memLevel */
155
+ #if MAX_MEM_LEVEL >= 8
156
+ # define DEF_MEM_LEVEL 8
157
+ #else
158
+ # define DEF_MEM_LEVEL MAX_MEM_LEVEL
159
+ #endif
160
+
161
+ /* default i/o buffer size -- double this for output when reading (this and
162
+ twice this must be able to fit in an unsigned type) */
163
+ #define GZBUFSIZE 8192
164
+
165
+ /* gzip modes, also provide a little integrity check on the passed structure */
166
+ #define GZ_NONE 0
167
+ #define GZ_READ 7247
168
+ #define GZ_WRITE 31153
169
+ #define GZ_APPEND 1 /* mode set to GZ_WRITE after the file is opened */
170
+
171
+ /* values for gz_state how */
172
+ #define LOOK 0 /* look for a gzip header */
173
+ #define COPY 1 /* copy input directly */
174
+ #define GZIP 2 /* decompress a gzip stream */
175
+
176
+ /* internal gzip file state data structure */
177
+ typedef struct {
178
+ /* exposed contents for gzgetc() macro */
179
+ struct gzFile_s x; /* "x" for exposed */
180
+ /* x.have: number of bytes available at x.next */
181
+ /* x.next: next output data to deliver or write */
182
+ /* x.pos: current position in uncompressed data */
183
+ /* used for both reading and writing */
184
+ int mode; /* see gzip modes above */
185
+ int fd; /* file descriptor */
186
+ char *path; /* path or fd for error messages */
187
+ unsigned size; /* buffer size, zero if not allocated yet */
188
+ unsigned want; /* requested buffer size, default is GZBUFSIZE */
189
+ unsigned char *in; /* input buffer (double-sized when writing) */
190
+ unsigned char *out; /* output buffer (double-sized when reading) */
191
+ int direct; /* 0 if processing gzip, 1 if transparent */
192
+ /* just for reading */
193
+ int how; /* 0: get header, 1: copy, 2: decompress */
194
+ z_off64_t start; /* where the gzip data started, for rewinding */
195
+ int eof; /* true if end of input file reached */
196
+ int past; /* true if read requested past end */
197
+ /* just for writing */
198
+ int level; /* compression level */
199
+ int strategy; /* compression strategy */
200
+ /* seek request */
201
+ z_off64_t skip; /* amount to skip (already rewound if backwards) */
202
+ int seek; /* true if seek request pending */
203
+ /* error information */
204
+ int err; /* error code */
205
+ char *msg; /* error message */
206
+ /* zlib inflate or deflate stream */
207
+ z_stream strm; /* stream structure in-place (not a pointer) */
208
+ } gz_state;
209
+
210
+ typedef union {
211
+ gz_state FAR *state;
212
+ gzFile file;
213
+ } gz_statep;
214
+
215
+ /* shared functions */
216
+ void ZLIB_INTERNAL gz_error OF((gz_statep, int, const char *));
217
+ #if defined UNDER_CE
218
+ char ZLIB_INTERNAL *gz_strwinerror OF((DWORD error));
219
+ #endif
220
+
221
+ /* GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t
222
+ value -- needed when comparing unsigned to z_off64_t, which is signed
223
+ (possible z_off64_t types off_t, off64_t, and long are all signed) */
224
+ #ifdef INT_MAX
225
+ # define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > INT_MAX)
226
+ #else
227
+ unsigned ZLIB_INTERNAL gz_intmax OF((void));
228
+ # define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax())
229
+ #endif