gdk_pixbuf2 2.0.2-x86-mingw32 → 2.0.3-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (203) hide show
  1. checksums.yaml +7 -0
  2. data/README +1 -1
  3. data/Rakefile +9 -2
  4. data/lib/1.9/gdk_pixbuf2.so +0 -0
  5. data/lib/2.0/gdk_pixbuf2.so +0 -0
  6. data/lib/gdk_pixbuf2.rb +5 -0
  7. data/vendor/local/bin/gdk-pixbuf-csource.exe +0 -0
  8. data/vendor/local/bin/gdk-pixbuf-pixdata.exe +0 -0
  9. data/vendor/local/bin/gdk-pixbuf-query-loaders.exe +0 -0
  10. data/vendor/local/bin/libgdk_pixbuf-2.0-0.dll +0 -0
  11. data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +3 -3
  12. data/vendor/local/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +3 -0
  13. data/vendor/local/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache +146 -7
  14. data/vendor/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.a +0 -0
  15. data/vendor/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.dll +0 -0
  16. data/vendor/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.dll.a +0 -0
  17. data/vendor/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.la +41 -0
  18. data/vendor/local/lib/gdk_pixbuf-2.0.def +1 -0
  19. data/vendor/local/lib/girepository-1.0/GdkPixbuf-2.0.typelib +0 -0
  20. data/vendor/local/lib/libgdk_pixbuf-2.0.dll.a +0 -0
  21. data/vendor/local/lib/libgdk_pixbuf-2.0.la +4 -4
  22. data/vendor/local/lib/pkgconfig/gdk-pixbuf-2.0.pc +1 -1
  23. data/vendor/local/share/gir-1.0/GdkPixbuf-2.0.gir +513 -485
  24. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/GdkPixbufLoader.html +119 -69
  25. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/annotation-glossary.html +34 -46
  26. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-12.html +10 -13
  27. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-14.html +13 -16
  28. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-2.html +17 -20
  29. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-26.html +13 -16
  30. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-28.html +11 -14
  31. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-30.html +35 -0
  32. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-4.html +17 -20
  33. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-6.html +15 -18
  34. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-2-8.html +10 -13
  35. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-deprecated.html +15 -18
  36. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/api-index-full.html +41 -40
  37. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Animations.html +97 -100
  38. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-File-Loading.html +118 -121
  39. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-File-saving.html +119 -122
  40. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Image-Data-in-Memory.html +38 -41
  41. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Inline-data.html +50 -53
  42. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Module-Interface.html +74 -77
  43. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Reference-Counting-and-Memory-Mangement.html +26 -29
  44. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Scaling.html +29 -32
  45. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-The-GdkPixbuf-Structure.html +53 -53
  46. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Utilities.html +29 -32
  47. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Versioning.html +15 -18
  48. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-X-Drawables-to-Pixbufs.html +15 -18
  49. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Xlib-Rendering.html +12 -15
  50. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-XlibRGB.html +20 -23
  51. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-csource.html +13 -13
  52. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf-Xlib-initialization.html +12 -15
  53. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf-from-drawables.html +10 -10
  54. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf-rendering.html +10 -10
  55. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-query-loaders.html +12 -12
  56. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf.devhelp2 +3 -1
  57. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/home.png +0 -0
  58. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/index.html +6 -5
  59. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/index.sgml +6 -5
  60. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/left-insensitive.png +0 -0
  61. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/left.png +0 -0
  62. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/license.html +10 -10
  63. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/right-insensitive.png +0 -0
  64. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/right.png +0 -0
  65. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/rn01.html +10 -10
  66. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/rn02.html +10 -10
  67. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/style.css +71 -16
  68. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/up-insensitive.png +0 -0
  69. data/vendor/local/share/gtk-doc/html/gdk-pixbuf/up.png +0 -0
  70. data/vendor/local/share/locale/af/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  71. data/vendor/local/share/locale/ang/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  72. data/vendor/local/share/locale/ar/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  73. data/vendor/local/share/locale/as/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  74. data/vendor/local/share/locale/ast/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  75. data/vendor/local/share/locale/az/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  76. data/vendor/local/share/locale/be/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  77. data/vendor/local/share/locale/be@latin/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  78. data/vendor/local/share/locale/bg/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  79. data/vendor/local/share/locale/bn/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  80. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  81. data/vendor/local/share/locale/br/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  82. data/vendor/local/share/locale/bs/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  83. data/vendor/local/share/locale/ca/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  84. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  85. data/vendor/local/share/locale/crh/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  86. data/vendor/local/share/locale/cs/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  87. data/vendor/local/share/locale/csb/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  88. data/vendor/local/share/locale/cy/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  89. data/vendor/local/share/locale/da/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  90. data/vendor/local/share/locale/de/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  91. data/vendor/local/share/locale/dz/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  92. data/vendor/local/share/locale/el/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  93. data/vendor/local/share/locale/en@shaw/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  94. data/vendor/local/share/locale/en_CA/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  95. data/vendor/local/share/locale/en_GB/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  96. data/vendor/local/share/locale/eo/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  97. data/vendor/local/share/locale/es/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  98. data/vendor/local/share/locale/et/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  99. data/vendor/local/share/locale/eu/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  100. data/vendor/local/share/locale/fa/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  101. data/vendor/local/share/locale/fi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  102. data/vendor/local/share/locale/fr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  103. data/vendor/local/share/locale/ga/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  104. data/vendor/local/share/locale/gl/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  105. data/vendor/local/share/locale/gu/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  106. data/vendor/local/share/locale/he/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  107. data/vendor/local/share/locale/hi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  108. data/vendor/local/share/locale/hr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  109. data/vendor/local/share/locale/hu/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  110. data/vendor/local/share/locale/hy/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  111. data/vendor/local/share/locale/ia/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  112. data/vendor/local/share/locale/id/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  113. data/vendor/local/share/locale/io/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  114. data/vendor/local/share/locale/is/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  115. data/vendor/local/share/locale/it/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  116. data/vendor/local/share/locale/ja/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  117. data/vendor/local/share/locale/ka/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  118. data/vendor/local/share/locale/km/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  119. data/vendor/local/share/locale/kn/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  120. data/vendor/local/share/locale/ko/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  121. data/vendor/local/share/locale/ku/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  122. data/vendor/local/share/locale/li/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  123. data/vendor/local/share/locale/lt/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  124. data/vendor/local/share/locale/lv/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  125. data/vendor/local/share/locale/mai/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  126. data/vendor/local/share/locale/mi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  127. data/vendor/local/share/locale/mk/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  128. data/vendor/local/share/locale/ml/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  129. data/vendor/local/share/locale/mn/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  130. data/vendor/local/share/locale/mr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  131. data/vendor/local/share/locale/ms/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  132. data/vendor/local/share/locale/my/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  133. data/vendor/local/share/locale/nb/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  134. data/vendor/local/share/locale/nds/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  135. data/vendor/local/share/locale/ne/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  136. data/vendor/local/share/locale/nl/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  137. data/vendor/local/share/locale/nn/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  138. data/vendor/local/share/locale/nso/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  139. data/vendor/local/share/locale/oc/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  140. data/vendor/local/share/locale/or/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  141. data/vendor/local/share/locale/pa/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  142. data/vendor/local/share/locale/pl/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  143. data/vendor/local/share/locale/ps/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  144. data/vendor/local/share/locale/pt/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  145. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  146. data/vendor/local/share/locale/ro/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  147. data/vendor/local/share/locale/ru/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  148. data/vendor/local/share/locale/si/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  149. data/vendor/local/share/locale/sk/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  150. data/vendor/local/share/locale/sl/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  151. data/vendor/local/share/locale/sq/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  152. data/vendor/local/share/locale/sr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  153. data/vendor/local/share/locale/sr@ije/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  154. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  155. data/vendor/local/share/locale/sv/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  156. data/vendor/local/share/locale/ta/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  157. data/vendor/local/share/locale/te/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  158. data/vendor/local/share/locale/tg/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  159. data/vendor/local/share/locale/th/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  160. data/vendor/local/share/locale/tk/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  161. data/vendor/local/share/locale/tr/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  162. data/vendor/local/share/locale/tt/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  163. data/vendor/local/share/locale/ug/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  164. data/vendor/local/share/locale/uk/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  165. data/vendor/local/share/locale/uz/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  166. data/vendor/local/share/locale/uz@cyrillic/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  167. data/vendor/local/share/locale/vi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  168. data/vendor/local/share/locale/wa/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  169. data/vendor/local/share/locale/xh/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  170. data/vendor/local/share/locale/yi/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  171. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  172. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  173. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gdk-pixbuf.mo +0 -0
  174. data/vendor/local/share/man/man1/gdk-pixbuf-csource.1 +1 -1
  175. data/vendor/local/share/man/man1/gdk-pixbuf-query-loaders.1 +1 -1
  176. metadata +32 -41
  177. data/vendor/local/bin/libpng14-14.dll +0 -0
  178. data/vendor/local/bin/zlib1.dll +0 -0
  179. data/vendor/local/include/libpng14/png.h +0 -2737
  180. data/vendor/local/include/libpng14/pngconf.h +0 -1552
  181. data/vendor/local/include/png.h +0 -2737
  182. data/vendor/local/include/pngconf.h +0 -1552
  183. data/vendor/local/include/zconf.h +0 -461
  184. data/vendor/local/include/zlib.h +0 -1589
  185. data/vendor/local/lib/libpng.def +0 -192
  186. data/vendor/local/lib/libpng.lib +0 -0
  187. data/vendor/local/lib/libpng14.dll.a +0 -0
  188. data/vendor/local/lib/libz.dll.a +0 -0
  189. data/vendor/local/lib/pkgconfig/libpng.pc +0 -11
  190. data/vendor/local/lib/pkgconfig/libpng14.pc +0 -11
  191. data/vendor/local/lib/zdll.lib +0 -0
  192. data/vendor/local/lib/zlib.def +0 -67
  193. data/vendor/local/manifest/libpng-dev_1.4.12-1_win32.mft +0 -15
  194. data/vendor/local/manifest/libpng_1.4.12-1_win32.mft +0 -2
  195. data/vendor/local/manifest/zlib-dev_1.2.5-2_win32.mft +0 -8
  196. data/vendor/local/manifest/zlib_1.2.5-2_win32.mft +0 -2
  197. data/vendor/local/share/man/man3/libpng.3 +0 -4605
  198. data/vendor/local/share/man/man3/libpngpf.3 +0 -802
  199. data/vendor/local/share/man/man5/png.5 +0 -74
  200. data/vendor/local/src/dieterv/packaging/libpng_1.4.12-1_win32.log +0 -283
  201. data/vendor/local/src/dieterv/packaging/libpng_1.4.12-1_win32.sh +0 -71
  202. data/vendor/local/src/tml/packaging/zlib_1.2.5-2_win32.log +0 -42
  203. data/vendor/local/src/tml/packaging/zlib_1.2.5-2_win32.sh +0 -189
@@ -1,1589 +0,0 @@
1
- /* zlib.h -- interface of the 'zlib' general purpose compression library
2
- version 1.2.5, April 19th, 2010
3
-
4
- Copyright (C) 1995-2010 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
- The data format used by the zlib library is described by RFCs (Request for
27
- Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt
28
- (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
29
- */
30
-
31
- #ifndef ZLIB_H
32
- #define ZLIB_H
33
-
34
- #include "zconf.h"
35
-
36
- #ifdef __cplusplus
37
- extern "C" {
38
- #endif
39
-
40
- #define ZLIB_VERSION "1.2.5"
41
- #define ZLIB_VERNUM 0x1250
42
- #define ZLIB_VER_MAJOR 1
43
- #define ZLIB_VER_MINOR 2
44
- #define ZLIB_VER_REVISION 5
45
- #define ZLIB_VER_SUBREVISION 0
46
-
47
- /*
48
- The 'zlib' compression library provides in-memory compression and
49
- decompression functions, including integrity checks of the uncompressed data.
50
- This version of the library supports only one compression method (deflation)
51
- but other algorithms will be added later and will have the same stream
52
- interface.
53
-
54
- Compression can be done in a single step if the buffers are large enough,
55
- or can be done by repeated calls of the compression function. In the latter
56
- case, the application must provide more input and/or consume the output
57
- (providing more output space) before each call.
58
-
59
- The compressed data format used by default by the in-memory functions is
60
- the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
61
- around a deflate stream, which is itself documented in RFC 1951.
62
-
63
- The library also supports reading and writing files in gzip (.gz) format
64
- with an interface similar to that of stdio using the functions that start
65
- with "gz". The gzip format is different from the zlib format. gzip is a
66
- gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
67
-
68
- This library can optionally read and write gzip streams in memory as well.
69
-
70
- The zlib format was designed to be compact and fast for use in memory
71
- and on communications channels. The gzip format was designed for single-
72
- file compression on file systems, has a larger header than zlib to maintain
73
- directory information, and uses a different, slower check method than zlib.
74
-
75
- The library does not install any signal handler. The decoder checks
76
- the consistency of the compressed data, so the library should never crash
77
- even in case of corrupted input.
78
- */
79
-
80
- typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
81
- typedef void (*free_func) OF((voidpf opaque, voidpf address));
82
-
83
- struct internal_state;
84
-
85
- typedef struct z_stream_s {
86
- Bytef *next_in; /* next input byte */
87
- uInt avail_in; /* number of bytes available at next_in */
88
- uLong total_in; /* total nb of input bytes read so far */
89
-
90
- Bytef *next_out; /* next output byte should be put there */
91
- uInt avail_out; /* remaining free space at next_out */
92
- uLong total_out; /* total nb of bytes output so far */
93
-
94
- char *msg; /* last error message, NULL if no error */
95
- struct internal_state FAR *state; /* not visible by applications */
96
-
97
- alloc_func zalloc; /* used to allocate the internal state */
98
- free_func zfree; /* used to free the internal state */
99
- voidpf opaque; /* private data object passed to zalloc and zfree */
100
-
101
- int data_type; /* best guess about the data type: binary or text */
102
- uLong adler; /* adler32 value of the uncompressed data */
103
- uLong reserved; /* reserved for future use */
104
- } z_stream;
105
-
106
- typedef z_stream FAR *z_streamp;
107
-
108
- /*
109
- gzip header information passed to and from zlib routines. See RFC 1952
110
- for more details on the meanings of these fields.
111
- */
112
- typedef struct gz_header_s {
113
- int text; /* true if compressed data believed to be text */
114
- uLong time; /* modification time */
115
- int xflags; /* extra flags (not used when writing a gzip file) */
116
- int os; /* operating system */
117
- Bytef *extra; /* pointer to extra field or Z_NULL if none */
118
- uInt extra_len; /* extra field length (valid if extra != Z_NULL) */
119
- uInt extra_max; /* space at extra (only when reading header) */
120
- Bytef *name; /* pointer to zero-terminated file name or Z_NULL */
121
- uInt name_max; /* space at name (only when reading header) */
122
- Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */
123
- uInt comm_max; /* space at comment (only when reading header) */
124
- int hcrc; /* true if there was or will be a header crc */
125
- int done; /* true when done reading gzip header (not used
126
- when writing a gzip file) */
127
- } gz_header;
128
-
129
- typedef gz_header FAR *gz_headerp;
130
-
131
- /*
132
- The application must update next_in and avail_in when avail_in has dropped
133
- to zero. It must update next_out and avail_out when avail_out has dropped
134
- to zero. The application must initialize zalloc, zfree and opaque before
135
- calling the init function. All other fields are set by the compression
136
- library and must not be updated by the application.
137
-
138
- The opaque value provided by the application will be passed as the first
139
- parameter for calls of zalloc and zfree. This can be useful for custom
140
- memory management. The compression library attaches no meaning to the
141
- opaque value.
142
-
143
- zalloc must return Z_NULL if there is not enough memory for the object.
144
- If zlib is used in a multi-threaded application, zalloc and zfree must be
145
- thread safe.
146
-
147
- On 16-bit systems, the functions zalloc and zfree must be able to allocate
148
- exactly 65536 bytes, but will not be required to allocate more than this if
149
- the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers
150
- returned by zalloc for objects of exactly 65536 bytes *must* have their
151
- offset normalized to zero. The default allocation function provided by this
152
- library ensures this (see zutil.c). To reduce memory requirements and avoid
153
- any allocation of 64K objects, at the expense of compression ratio, compile
154
- the library with -DMAX_WBITS=14 (see zconf.h).
155
-
156
- The fields total_in and total_out can be used for statistics or progress
157
- reports. After compression, total_in holds the total size of the
158
- uncompressed data and may be saved for use in the decompressor (particularly
159
- if the decompressor wants to decompress everything in a single step).
160
- */
161
-
162
- /* constants */
163
-
164
- #define Z_NO_FLUSH 0
165
- #define Z_PARTIAL_FLUSH 1
166
- #define Z_SYNC_FLUSH 2
167
- #define Z_FULL_FLUSH 3
168
- #define Z_FINISH 4
169
- #define Z_BLOCK 5
170
- #define Z_TREES 6
171
- /* Allowed flush values; see deflate() and inflate() below for details */
172
-
173
- #define Z_OK 0
174
- #define Z_STREAM_END 1
175
- #define Z_NEED_DICT 2
176
- #define Z_ERRNO (-1)
177
- #define Z_STREAM_ERROR (-2)
178
- #define Z_DATA_ERROR (-3)
179
- #define Z_MEM_ERROR (-4)
180
- #define Z_BUF_ERROR (-5)
181
- #define Z_VERSION_ERROR (-6)
182
- /* Return codes for the compression/decompression functions. Negative values
183
- * are errors, positive values are used for special but normal events.
184
- */
185
-
186
- #define Z_NO_COMPRESSION 0
187
- #define Z_BEST_SPEED 1
188
- #define Z_BEST_COMPRESSION 9
189
- #define Z_DEFAULT_COMPRESSION (-1)
190
- /* compression levels */
191
-
192
- #define Z_FILTERED 1
193
- #define Z_HUFFMAN_ONLY 2
194
- #define Z_RLE 3
195
- #define Z_FIXED 4
196
- #define Z_DEFAULT_STRATEGY 0
197
- /* compression strategy; see deflateInit2() below for details */
198
-
199
- #define Z_BINARY 0
200
- #define Z_TEXT 1
201
- #define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */
202
- #define Z_UNKNOWN 2
203
- /* Possible values of the data_type field (though see inflate()) */
204
-
205
- #define Z_DEFLATED 8
206
- /* The deflate compression method (the only one supported in this version) */
207
-
208
- #define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
209
-
210
- #define zlib_version zlibVersion()
211
- /* for compatibility with versions < 1.0.2 */
212
-
213
-
214
- /* basic functions */
215
-
216
- ZEXTERN const char * ZEXPORT zlibVersion OF((void));
217
- /* The application can compare zlibVersion and ZLIB_VERSION for consistency.
218
- If the first character differs, the library code actually used is not
219
- compatible with the zlib.h header file used by the application. This check
220
- is automatically made by deflateInit and inflateInit.
221
- */
222
-
223
- /*
224
- ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
225
-
226
- Initializes the internal stream state for compression. The fields
227
- zalloc, zfree and opaque must be initialized before by the caller. If
228
- zalloc and zfree are set to Z_NULL, deflateInit updates them to use default
229
- allocation functions.
230
-
231
- The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
232
- 1 gives best speed, 9 gives best compression, 0 gives no compression at all
233
- (the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION
234
- requests a default compromise between speed and compression (currently
235
- equivalent to level 6).
236
-
237
- deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
238
- memory, Z_STREAM_ERROR if level is not a valid compression level, or
239
- Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
240
- with the version assumed by the caller (ZLIB_VERSION). msg is set to null
241
- if there is no error message. deflateInit does not perform any compression:
242
- this will be done by deflate().
243
- */
244
-
245
-
246
- ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
247
- /*
248
- deflate compresses as much data as possible, and stops when the input
249
- buffer becomes empty or the output buffer becomes full. It may introduce
250
- some output latency (reading input without producing any output) except when
251
- forced to flush.
252
-
253
- The detailed semantics are as follows. deflate performs one or both of the
254
- following actions:
255
-
256
- - Compress more input starting at next_in and update next_in and avail_in
257
- accordingly. If not all input can be processed (because there is not
258
- enough room in the output buffer), next_in and avail_in are updated and
259
- processing will resume at this point for the next call of deflate().
260
-
261
- - Provide more output starting at next_out and update next_out and avail_out
262
- accordingly. This action is forced if the parameter flush is non zero.
263
- Forcing flush frequently degrades the compression ratio, so this parameter
264
- should be set only when necessary (in interactive applications). Some
265
- output may be provided even if flush is not set.
266
-
267
- Before the call of deflate(), the application should ensure that at least
268
- one of the actions is possible, by providing more input and/or consuming more
269
- output, and updating avail_in or avail_out accordingly; avail_out should
270
- never be zero before the call. The application can consume the compressed
271
- output when it wants, for example when the output buffer is full (avail_out
272
- == 0), or after each call of deflate(). If deflate returns Z_OK and with
273
- zero avail_out, it must be called again after making room in the output
274
- buffer because there might be more output pending.
275
-
276
- Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
277
- decide how much data to accumulate before producing output, in order to
278
- maximize compression.
279
-
280
- If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
281
- flushed to the output buffer and the output is aligned on a byte boundary, so
282
- that the decompressor can get all input data available so far. (In
283
- particular avail_in is zero after the call if enough output space has been
284
- provided before the call.) Flushing may degrade compression for some
285
- compression algorithms and so it should be used only when necessary. This
286
- completes the current deflate block and follows it with an empty stored block
287
- that is three bits plus filler bits to the next byte, followed by four bytes
288
- (00 00 ff ff).
289
-
290
- If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the
291
- output buffer, but the output is not aligned to a byte boundary. All of the
292
- input data so far will be available to the decompressor, as for Z_SYNC_FLUSH.
293
- This completes the current deflate block and follows it with an empty fixed
294
- codes block that is 10 bits long. This assures that enough bytes are output
295
- in order for the decompressor to finish the block before the empty fixed code
296
- block.
297
-
298
- If flush is set to Z_BLOCK, a deflate block is completed and emitted, as
299
- for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to
300
- seven bits of the current block are held to be written as the next byte after
301
- the next deflate block is completed. In this case, the decompressor may not
302
- be provided enough bits at this point in order to complete decompression of
303
- the data provided so far to the compressor. It may need to wait for the next
304
- block to be emitted. This is for advanced applications that need to control
305
- the emission of deflate blocks.
306
-
307
- If flush is set to Z_FULL_FLUSH, all output is flushed as with
308
- Z_SYNC_FLUSH, and the compression state is reset so that decompression can
309
- restart from this point if previous compressed data has been damaged or if
310
- random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
311
- compression.
312
-
313
- If deflate returns with avail_out == 0, this function must be called again
314
- with the same value of the flush parameter and more output space (updated
315
- avail_out), until the flush is complete (deflate returns with non-zero
316
- avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that
317
- avail_out is greater than six to avoid repeated flush markers due to
318
- avail_out == 0 on return.
319
-
320
- If the parameter flush is set to Z_FINISH, pending input is processed,
321
- pending output is flushed and deflate returns with Z_STREAM_END if there was
322
- enough output space; if deflate returns with Z_OK, this function must be
323
- called again with Z_FINISH and more output space (updated avail_out) but no
324
- more input data, until it returns with Z_STREAM_END or an error. After
325
- deflate has returned Z_STREAM_END, the only possible operations on the stream
326
- are deflateReset or deflateEnd.
327
-
328
- Z_FINISH can be used immediately after deflateInit if all the compression
329
- is to be done in a single step. In this case, avail_out must be at least the
330
- value returned by deflateBound (see below). If deflate does not return
331
- Z_STREAM_END, then it must be called again as described above.
332
-
333
- deflate() sets strm->adler to the adler32 checksum of all input read
334
- so far (that is, total_in bytes).
335
-
336
- deflate() may update strm->data_type if it can make a good guess about
337
- the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered
338
- binary. This field is only for information purposes and does not affect the
339
- compression algorithm in any manner.
340
-
341
- deflate() returns Z_OK if some progress has been made (more input
342
- processed or more output produced), Z_STREAM_END if all input has been
343
- consumed and all output has been produced (only when flush is set to
344
- Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
345
- if next_in or next_out was Z_NULL), Z_BUF_ERROR if no progress is possible
346
- (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not
347
- fatal, and deflate() can be called again with more input and more output
348
- space to continue compressing.
349
- */
350
-
351
-
352
- ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
353
- /*
354
- All dynamically allocated data structures for this stream are freed.
355
- This function discards any unprocessed input and does not flush any pending
356
- output.
357
-
358
- deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
359
- stream state was inconsistent, Z_DATA_ERROR if the stream was freed
360
- prematurely (some input or output was discarded). In the error case, msg
361
- may be set but then points to a static string (which must not be
362
- deallocated).
363
- */
364
-
365
-
366
- /*
367
- ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
368
-
369
- Initializes the internal stream state for decompression. The fields
370
- next_in, avail_in, zalloc, zfree and opaque must be initialized before by
371
- the caller. If next_in is not Z_NULL and avail_in is large enough (the
372
- exact value depends on the compression method), inflateInit determines the
373
- compression method from the zlib header and allocates all data structures
374
- accordingly; otherwise the allocation will be deferred to the first call of
375
- inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
376
- use default allocation functions.
377
-
378
- inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
379
- memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
380
- version assumed by the caller, or Z_STREAM_ERROR if the parameters are
381
- invalid, such as a null pointer to the structure. msg is set to null if
382
- there is no error message. inflateInit does not perform any decompression
383
- apart from possibly reading the zlib header if present: actual decompression
384
- will be done by inflate(). (So next_in and avail_in may be modified, but
385
- next_out and avail_out are unused and unchanged.) The current implementation
386
- of inflateInit() does not process any header information -- that is deferred
387
- until inflate() is called.
388
- */
389
-
390
-
391
- ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
392
- /*
393
- inflate decompresses as much data as possible, and stops when the input
394
- buffer becomes empty or the output buffer becomes full. It may introduce
395
- some output latency (reading input without producing any output) except when
396
- forced to flush.
397
-
398
- The detailed semantics are as follows. inflate performs one or both of the
399
- following actions:
400
-
401
- - Decompress more input starting at next_in and update next_in and avail_in
402
- accordingly. If not all input can be processed (because there is not
403
- enough room in the output buffer), next_in is updated and processing will
404
- resume at this point for the next call of inflate().
405
-
406
- - Provide more output starting at next_out and update next_out and avail_out
407
- accordingly. inflate() provides as much output as possible, until there is
408
- no more input data or no more space in the output buffer (see below about
409
- the flush parameter).
410
-
411
- Before the call of inflate(), the application should ensure that at least
412
- one of the actions is possible, by providing more input and/or consuming more
413
- output, and updating the next_* and avail_* values accordingly. The
414
- application can consume the uncompressed output when it wants, for example
415
- when the output buffer is full (avail_out == 0), or after each call of
416
- inflate(). If inflate returns Z_OK and with zero avail_out, it must be
417
- called again after making room in the output buffer because there might be
418
- more output pending.
419
-
420
- The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH,
421
- Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much
422
- output as possible to the output buffer. Z_BLOCK requests that inflate()
423
- stop if and when it gets to the next deflate block boundary. When decoding
424
- the zlib or gzip format, this will cause inflate() to return immediately
425
- after the header and before the first block. When doing a raw inflate,
426
- inflate() will go ahead and process the first block, and will return when it
427
- gets to the end of that block, or when it runs out of data.
428
-
429
- The Z_BLOCK option assists in appending to or combining deflate streams.
430
- Also to assist in this, on return inflate() will set strm->data_type to the
431
- number of unused bits in the last byte taken from strm->next_in, plus 64 if
432
- inflate() is currently decoding the last block in the deflate stream, plus
433
- 128 if inflate() returned immediately after decoding an end-of-block code or
434
- decoding the complete header up to just before the first byte of the deflate
435
- stream. The end-of-block will not be indicated until all of the uncompressed
436
- data from that block has been written to strm->next_out. The number of
437
- unused bits may in general be greater than seven, except when bit 7 of
438
- data_type is set, in which case the number of unused bits will be less than
439
- eight. data_type is set as noted here every time inflate() returns for all
440
- flush options, and so can be used to determine the amount of currently
441
- consumed input in bits.
442
-
443
- The Z_TREES option behaves as Z_BLOCK does, but it also returns when the
444
- end of each deflate block header is reached, before any actual data in that
445
- block is decoded. This allows the caller to determine the length of the
446
- deflate block header for later use in random access within a deflate block.
447
- 256 is added to the value of strm->data_type when inflate() returns
448
- immediately after reaching the end of the deflate block header.
449
-
450
- inflate() should normally be called until it returns Z_STREAM_END or an
451
- error. However if all decompression is to be performed in a single step (a
452
- single call of inflate), the parameter flush should be set to Z_FINISH. In
453
- this case all pending input is processed and all pending output is flushed;
454
- avail_out must be large enough to hold all the uncompressed data. (The size
455
- of the uncompressed data may have been saved by the compressor for this
456
- purpose.) The next operation on this stream must be inflateEnd to deallocate
457
- the decompression state. The use of Z_FINISH is never required, but can be
458
- used to inform inflate that a faster approach may be used for the single
459
- inflate() call.
460
-
461
- In this implementation, inflate() always flushes as much output as
462
- possible to the output buffer, and always uses the faster approach on the
463
- first call. So the only effect of the flush parameter in this implementation
464
- is on the return value of inflate(), as noted below, or when it returns early
465
- because Z_BLOCK or Z_TREES is used.
466
-
467
- If a preset dictionary is needed after this call (see inflateSetDictionary
468
- below), inflate sets strm->adler to the adler32 checksum of the dictionary
469
- chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
470
- strm->adler to the adler32 checksum of all output produced so far (that is,
471
- total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
472
- below. At the end of the stream, inflate() checks that its computed adler32
473
- checksum is equal to that saved by the compressor and returns Z_STREAM_END
474
- only if the checksum is correct.
475
-
476
- inflate() can decompress and check either zlib-wrapped or gzip-wrapped
477
- deflate data. The header type is detected automatically, if requested when
478
- initializing with inflateInit2(). Any information contained in the gzip
479
- header is not retained, so applications that need that information should
480
- instead use raw inflate, see inflateInit2() below, or inflateBack() and
481
- perform their own processing of the gzip header and trailer.
482
-
483
- inflate() returns Z_OK if some progress has been made (more input processed
484
- or more output produced), Z_STREAM_END if the end of the compressed data has
485
- been reached and all uncompressed output has been produced, Z_NEED_DICT if a
486
- preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
487
- corrupted (input stream not conforming to the zlib format or incorrect check
488
- value), Z_STREAM_ERROR if the stream structure was inconsistent (for example
489
- next_in or next_out was Z_NULL), Z_MEM_ERROR if there was not enough memory,
490
- Z_BUF_ERROR if no progress is possible or if there was not enough room in the
491
- output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
492
- inflate() can be called again with more input and more output space to
493
- continue decompressing. If Z_DATA_ERROR is returned, the application may
494
- then call inflateSync() to look for a good compression block if a partial
495
- recovery of the data is desired.
496
- */
497
-
498
-
499
- ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
500
- /*
501
- All dynamically allocated data structures for this stream are freed.
502
- This function discards any unprocessed input and does not flush any pending
503
- output.
504
-
505
- inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
506
- was inconsistent. In the error case, msg may be set but then points to a
507
- static string (which must not be deallocated).
508
- */
509
-
510
-
511
- /* Advanced functions */
512
-
513
- /*
514
- The following functions are needed only in some special applications.
515
- */
516
-
517
- /*
518
- ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
519
- int level,
520
- int method,
521
- int windowBits,
522
- int memLevel,
523
- int strategy));
524
-
525
- This is another version of deflateInit with more compression options. The
526
- fields next_in, zalloc, zfree and opaque must be initialized before by the
527
- caller.
528
-
529
- The method parameter is the compression method. It must be Z_DEFLATED in
530
- this version of the library.
531
-
532
- The windowBits parameter is the base two logarithm of the window size
533
- (the size of the history buffer). It should be in the range 8..15 for this
534
- version of the library. Larger values of this parameter result in better
535
- compression at the expense of memory usage. The default value is 15 if
536
- deflateInit is used instead.
537
-
538
- windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
539
- determines the window size. deflate() will then generate raw deflate data
540
- with no zlib header or trailer, and will not compute an adler32 check value.
541
-
542
- windowBits can also be greater than 15 for optional gzip encoding. Add
543
- 16 to windowBits to write a simple gzip header and trailer around the
544
- compressed data instead of a zlib wrapper. The gzip header will have no
545
- file name, no extra data, no comment, no modification time (set to zero), no
546
- header crc, and the operating system will be set to 255 (unknown). If a
547
- gzip stream is being written, strm->adler is a crc32 instead of an adler32.
548
-
549
- The memLevel parameter specifies how much memory should be allocated
550
- for the internal compression state. memLevel=1 uses minimum memory but is
551
- slow and reduces compression ratio; memLevel=9 uses maximum memory for
552
- optimal speed. The default value is 8. See zconf.h for total memory usage
553
- as a function of windowBits and memLevel.
554
-
555
- The strategy parameter is used to tune the compression algorithm. Use the
556
- value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
557
- filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no
558
- string match), or Z_RLE to limit match distances to one (run-length
559
- encoding). Filtered data consists mostly of small values with a somewhat
560
- random distribution. In this case, the compression algorithm is tuned to
561
- compress them better. The effect of Z_FILTERED is to force more Huffman
562
- coding and less string matching; it is somewhat intermediate between
563
- Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as
564
- fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The
565
- strategy parameter only affects the compression ratio but not the
566
- correctness of the compressed output even if it is not set appropriately.
567
- Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler
568
- decoder for special applications.
569
-
570
- deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
571
- memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid
572
- method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is
573
- incompatible with the version assumed by the caller (ZLIB_VERSION). msg is
574
- set to null if there is no error message. deflateInit2 does not perform any
575
- compression: this will be done by deflate().
576
- */
577
-
578
- ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
579
- const Bytef *dictionary,
580
- uInt dictLength));
581
- /*
582
- Initializes the compression dictionary from the given byte sequence
583
- without producing any compressed output. This function must be called
584
- immediately after deflateInit, deflateInit2 or deflateReset, before any call
585
- of deflate. The compressor and decompressor must use exactly the same
586
- dictionary (see inflateSetDictionary).
587
-
588
- The dictionary should consist of strings (byte sequences) that are likely
589
- to be encountered later in the data to be compressed, with the most commonly
590
- used strings preferably put towards the end of the dictionary. Using a
591
- dictionary is most useful when the data to be compressed is short and can be
592
- predicted with good accuracy; the data can then be compressed better than
593
- with the default empty dictionary.
594
-
595
- Depending on the size of the compression data structures selected by
596
- deflateInit or deflateInit2, a part of the dictionary may in effect be
597
- discarded, for example if the dictionary is larger than the window size
598
- provided in deflateInit or deflateInit2. Thus the strings most likely to be
599
- useful should be put at the end of the dictionary, not at the front. In
600
- addition, the current implementation of deflate will use at most the window
601
- size minus 262 bytes of the provided dictionary.
602
-
603
- Upon return of this function, strm->adler is set to the adler32 value
604
- of the dictionary; the decompressor may later use this value to determine
605
- which dictionary has been used by the compressor. (The adler32 value
606
- applies to the whole dictionary even if only a subset of the dictionary is
607
- actually used by the compressor.) If a raw deflate was requested, then the
608
- adler32 value is not computed and strm->adler is not set.
609
-
610
- deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
611
- parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
612
- inconsistent (for example if deflate has already been called for this stream
613
- or if the compression method is bsort). deflateSetDictionary does not
614
- perform any compression: this will be done by deflate().
615
- */
616
-
617
- ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
618
- z_streamp source));
619
- /*
620
- Sets the destination stream as a complete copy of the source stream.
621
-
622
- This function can be useful when several compression strategies will be
623
- tried, for example when there are several ways of pre-processing the input
624
- data with a filter. The streams that will be discarded should then be freed
625
- by calling deflateEnd. Note that deflateCopy duplicates the internal
626
- compression state which can be quite large, so this strategy is slow and can
627
- consume lots of memory.
628
-
629
- deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
630
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
631
- (such as zalloc being Z_NULL). msg is left unchanged in both source and
632
- destination.
633
- */
634
-
635
- ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
636
- /*
637
- This function is equivalent to deflateEnd followed by deflateInit,
638
- but does not free and reallocate all the internal compression state. The
639
- stream will keep the same compression level and any other attributes that
640
- may have been set by deflateInit2.
641
-
642
- deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
643
- stream state was inconsistent (such as zalloc or state being Z_NULL).
644
- */
645
-
646
- ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
647
- int level,
648
- int strategy));
649
- /*
650
- Dynamically update the compression level and compression strategy. The
651
- interpretation of level and strategy is as in deflateInit2. This can be
652
- used to switch between compression and straight copy of the input data, or
653
- to switch to a different kind of input data requiring a different strategy.
654
- If the compression level is changed, the input available so far is
655
- compressed with the old level (and may be flushed); the new level will take
656
- effect only at the next call of deflate().
657
-
658
- Before the call of deflateParams, the stream state must be set as for
659
- a call of deflate(), since the currently available input may have to be
660
- compressed and flushed. In particular, strm->avail_out must be non-zero.
661
-
662
- deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
663
- stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR if
664
- strm->avail_out was zero.
665
- */
666
-
667
- ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm,
668
- int good_length,
669
- int max_lazy,
670
- int nice_length,
671
- int max_chain));
672
- /*
673
- Fine tune deflate's internal compression parameters. This should only be
674
- used by someone who understands the algorithm used by zlib's deflate for
675
- searching for the best matching string, and even then only by the most
676
- fanatic optimizer trying to squeeze out the last compressed bit for their
677
- specific input data. Read the deflate.c source code for the meaning of the
678
- max_lazy, good_length, nice_length, and max_chain parameters.
679
-
680
- deflateTune() can be called after deflateInit() or deflateInit2(), and
681
- returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream.
682
- */
683
-
684
- ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
685
- uLong sourceLen));
686
- /*
687
- deflateBound() returns an upper bound on the compressed size after
688
- deflation of sourceLen bytes. It must be called after deflateInit() or
689
- deflateInit2(), and after deflateSetHeader(), if used. This would be used
690
- to allocate an output buffer for deflation in a single pass, and so would be
691
- called before deflate().
692
- */
693
-
694
- ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
695
- int bits,
696
- int value));
697
- /*
698
- deflatePrime() inserts bits in the deflate output stream. The intent
699
- is that this function is used to start off the deflate output with the bits
700
- leftover from a previous deflate stream when appending to it. As such, this
701
- function can only be used for raw deflate, and must be used before the first
702
- deflate() call after a deflateInit2() or deflateReset(). bits must be less
703
- than or equal to 16, and that many of the least significant bits of value
704
- will be inserted in the output.
705
-
706
- deflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
707
- stream state was inconsistent.
708
- */
709
-
710
- ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm,
711
- gz_headerp head));
712
- /*
713
- deflateSetHeader() provides gzip header information for when a gzip
714
- stream is requested by deflateInit2(). deflateSetHeader() may be called
715
- after deflateInit2() or deflateReset() and before the first call of
716
- deflate(). The text, time, os, extra field, name, and comment information
717
- in the provided gz_header structure are written to the gzip header (xflag is
718
- ignored -- the extra flags are set according to the compression level). The
719
- caller must assure that, if not Z_NULL, name and comment are terminated with
720
- a zero byte, and that if extra is not Z_NULL, that extra_len bytes are
721
- available there. If hcrc is true, a gzip header crc is included. Note that
722
- the current versions of the command-line version of gzip (up through version
723
- 1.3.x) do not support header crc's, and will report that it is a "multi-part
724
- gzip file" and give up.
725
-
726
- If deflateSetHeader is not used, the default gzip header has text false,
727
- the time set to zero, and os set to 255, with no extra, name, or comment
728
- fields. The gzip header is returned to the default state by deflateReset().
729
-
730
- deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
731
- stream state was inconsistent.
732
- */
733
-
734
- /*
735
- ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
736
- int windowBits));
737
-
738
- This is another version of inflateInit with an extra parameter. The
739
- fields next_in, avail_in, zalloc, zfree and opaque must be initialized
740
- before by the caller.
741
-
742
- The windowBits parameter is the base two logarithm of the maximum window
743
- size (the size of the history buffer). It should be in the range 8..15 for
744
- this version of the library. The default value is 15 if inflateInit is used
745
- instead. windowBits must be greater than or equal to the windowBits value
746
- provided to deflateInit2() while compressing, or it must be equal to 15 if
747
- deflateInit2() was not used. If a compressed stream with a larger window
748
- size is given as input, inflate() will return with the error code
749
- Z_DATA_ERROR instead of trying to allocate a larger window.
750
-
751
- windowBits can also be zero to request that inflate use the window size in
752
- the zlib header of the compressed stream.
753
-
754
- windowBits can also be -8..-15 for raw inflate. In this case, -windowBits
755
- determines the window size. inflate() will then process raw deflate data,
756
- not looking for a zlib or gzip header, not generating a check value, and not
757
- looking for any check values for comparison at the end of the stream. This
758
- is for use with other formats that use the deflate compressed data format
759
- such as zip. Those formats provide their own check values. If a custom
760
- format is developed using the raw deflate format for compressed data, it is
761
- recommended that a check value such as an adler32 or a crc32 be applied to
762
- the uncompressed data as is done in the zlib, gzip, and zip formats. For
763
- most applications, the zlib format should be used as is. Note that comments
764
- above on the use in deflateInit2() applies to the magnitude of windowBits.
765
-
766
- windowBits can also be greater than 15 for optional gzip decoding. Add
767
- 32 to windowBits to enable zlib and gzip decoding with automatic header
768
- detection, or add 16 to decode only the gzip format (the zlib format will
769
- return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a
770
- crc32 instead of an adler32.
771
-
772
- inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
773
- memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
774
- version assumed by the caller, or Z_STREAM_ERROR if the parameters are
775
- invalid, such as a null pointer to the structure. msg is set to null if
776
- there is no error message. inflateInit2 does not perform any decompression
777
- apart from possibly reading the zlib header if present: actual decompression
778
- will be done by inflate(). (So next_in and avail_in may be modified, but
779
- next_out and avail_out are unused and unchanged.) The current implementation
780
- of inflateInit2() does not process any header information -- that is
781
- deferred until inflate() is called.
782
- */
783
-
784
- ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
785
- const Bytef *dictionary,
786
- uInt dictLength));
787
- /*
788
- Initializes the decompression dictionary from the given uncompressed byte
789
- sequence. This function must be called immediately after a call of inflate,
790
- if that call returned Z_NEED_DICT. The dictionary chosen by the compressor
791
- can be determined from the adler32 value returned by that call of inflate.
792
- The compressor and decompressor must use exactly the same dictionary (see
793
- deflateSetDictionary). For raw inflate, this function can be called
794
- immediately after inflateInit2() or inflateReset() and before any call of
795
- inflate() to set the dictionary. The application must insure that the
796
- dictionary that was used for compression is provided.
797
-
798
- inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
799
- parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
800
- inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
801
- expected one (incorrect adler32 value). inflateSetDictionary does not
802
- perform any decompression: this will be done by subsequent calls of
803
- inflate().
804
- */
805
-
806
- ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
807
- /*
808
- Skips invalid compressed data until a full flush point (see above the
809
- description of deflate with Z_FULL_FLUSH) can be found, or until all
810
- available input is skipped. No output is provided.
811
-
812
- inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR
813
- if no more input was provided, Z_DATA_ERROR if no flush point has been
814
- found, or Z_STREAM_ERROR if the stream structure was inconsistent. In the
815
- success case, the application may save the current current value of total_in
816
- which indicates where valid compressed data was found. In the error case,
817
- the application may repeatedly call inflateSync, providing more input each
818
- time, until success or end of the input data.
819
- */
820
-
821
- ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
822
- z_streamp source));
823
- /*
824
- Sets the destination stream as a complete copy of the source stream.
825
-
826
- This function can be useful when randomly accessing a large stream. The
827
- first pass through the stream can periodically record the inflate state,
828
- allowing restarting inflate at those points when randomly accessing the
829
- stream.
830
-
831
- inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
832
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
833
- (such as zalloc being Z_NULL). msg is left unchanged in both source and
834
- destination.
835
- */
836
-
837
- ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
838
- /*
839
- This function is equivalent to inflateEnd followed by inflateInit,
840
- but does not free and reallocate all the internal decompression state. The
841
- stream will keep attributes that may have been set by inflateInit2.
842
-
843
- inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
844
- stream state was inconsistent (such as zalloc or state being Z_NULL).
845
- */
846
-
847
- ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm,
848
- int windowBits));
849
- /*
850
- This function is the same as inflateReset, but it also permits changing
851
- the wrap and window size requests. The windowBits parameter is interpreted
852
- the same as it is for inflateInit2.
853
-
854
- inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source
855
- stream state was inconsistent (such as zalloc or state being Z_NULL), or if
856
- the windowBits parameter is invalid.
857
- */
858
-
859
- ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm,
860
- int bits,
861
- int value));
862
- /*
863
- This function inserts bits in the inflate input stream. The intent is
864
- that this function is used to start inflating at a bit position in the
865
- middle of a byte. The provided bits will be used before any bytes are used
866
- from next_in. This function should only be used with raw inflate, and
867
- should be used before the first inflate() call after inflateInit2() or
868
- inflateReset(). bits must be less than or equal to 16, and that many of the
869
- least significant bits of value will be inserted in the input.
870
-
871
- If bits is negative, then the input stream bit buffer is emptied. Then
872
- inflatePrime() can be called again to put bits in the buffer. This is used
873
- to clear out bits leftover after feeding inflate a block description prior
874
- to feeding inflate codes.
875
-
876
- inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
877
- stream state was inconsistent.
878
- */
879
-
880
- ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm));
881
- /*
882
- This function returns two values, one in the lower 16 bits of the return
883
- value, and the other in the remaining upper bits, obtained by shifting the
884
- return value down 16 bits. If the upper value is -1 and the lower value is
885
- zero, then inflate() is currently decoding information outside of a block.
886
- If the upper value is -1 and the lower value is non-zero, then inflate is in
887
- the middle of a stored block, with the lower value equaling the number of
888
- bytes from the input remaining to copy. If the upper value is not -1, then
889
- it is the number of bits back from the current bit position in the input of
890
- the code (literal or length/distance pair) currently being processed. In
891
- that case the lower value is the number of bytes already emitted for that
892
- code.
893
-
894
- A code is being processed if inflate is waiting for more input to complete
895
- decoding of the code, or if it has completed decoding but is waiting for
896
- more output space to write the literal or match data.
897
-
898
- inflateMark() is used to mark locations in the input data for random
899
- access, which may be at bit positions, and to note those cases where the
900
- output of a code may span boundaries of random access blocks. The current
901
- location in the input stream can be determined from avail_in and data_type
902
- as noted in the description for the Z_BLOCK flush parameter for inflate.
903
-
904
- inflateMark returns the value noted above or -1 << 16 if the provided
905
- source stream state was inconsistent.
906
- */
907
-
908
- ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
909
- gz_headerp head));
910
- /*
911
- inflateGetHeader() requests that gzip header information be stored in the
912
- provided gz_header structure. inflateGetHeader() may be called after
913
- inflateInit2() or inflateReset(), and before the first call of inflate().
914
- As inflate() processes the gzip stream, head->done is zero until the header
915
- is completed, at which time head->done is set to one. If a zlib stream is
916
- being decoded, then head->done is set to -1 to indicate that there will be
917
- no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be
918
- used to force inflate() to return immediately after header processing is
919
- complete and before any actual data is decompressed.
920
-
921
- The text, time, xflags, and os fields are filled in with the gzip header
922
- contents. hcrc is set to true if there is a header CRC. (The header CRC
923
- was valid if done is set to one.) If extra is not Z_NULL, then extra_max
924
- contains the maximum number of bytes to write to extra. Once done is true,
925
- extra_len contains the actual extra field length, and extra contains the
926
- extra field, or that field truncated if extra_max is less than extra_len.
927
- If name is not Z_NULL, then up to name_max characters are written there,
928
- terminated with a zero unless the length is greater than name_max. If
929
- comment is not Z_NULL, then up to comm_max characters are written there,
930
- terminated with a zero unless the length is greater than comm_max. When any
931
- of extra, name, or comment are not Z_NULL and the respective field is not
932
- present in the header, then that field is set to Z_NULL to signal its
933
- absence. This allows the use of deflateSetHeader() with the returned
934
- structure to duplicate the header. However if those fields are set to
935
- allocated memory, then the application will need to save those pointers
936
- elsewhere so that they can be eventually freed.
937
-
938
- If inflateGetHeader is not used, then the header information is simply
939
- discarded. The header is always checked for validity, including the header
940
- CRC if present. inflateReset() will reset the process to discard the header
941
- information. The application would need to call inflateGetHeader() again to
942
- retrieve the header from the next gzip stream.
943
-
944
- inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
945
- stream state was inconsistent.
946
- */
947
-
948
- /*
949
- ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
950
- unsigned char FAR *window));
951
-
952
- Initialize the internal stream state for decompression using inflateBack()
953
- calls. The fields zalloc, zfree and opaque in strm must be initialized
954
- before the call. If zalloc and zfree are Z_NULL, then the default library-
955
- derived memory allocation routines are used. windowBits is the base two
956
- logarithm of the window size, in the range 8..15. window is a caller
957
- supplied buffer of that size. Except for special applications where it is
958
- assured that deflate was used with small window sizes, windowBits must be 15
959
- and a 32K byte window must be supplied to be able to decompress general
960
- deflate streams.
961
-
962
- See inflateBack() for the usage of these routines.
963
-
964
- inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
965
- the paramaters are invalid, Z_MEM_ERROR if the internal state could not be
966
- allocated, or Z_VERSION_ERROR if the version of the library does not match
967
- the version of the header file.
968
- */
969
-
970
- typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
971
- typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
972
-
973
- ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
974
- in_func in, void FAR *in_desc,
975
- out_func out, void FAR *out_desc));
976
- /*
977
- inflateBack() does a raw inflate with a single call using a call-back
978
- interface for input and output. This is more efficient than inflate() for
979
- file i/o applications in that it avoids copying between the output and the
980
- sliding window by simply making the window itself the output buffer. This
981
- function trusts the application to not change the output buffer passed by
982
- the output function, at least until inflateBack() returns.
983
-
984
- inflateBackInit() must be called first to allocate the internal state
985
- and to initialize the state with the user-provided window buffer.
986
- inflateBack() may then be used multiple times to inflate a complete, raw
987
- deflate stream with each call. inflateBackEnd() is then called to free the
988
- allocated state.
989
-
990
- A raw deflate stream is one with no zlib or gzip header or trailer.
991
- This routine would normally be used in a utility that reads zip or gzip
992
- files and writes out uncompressed files. The utility would decode the
993
- header and process the trailer on its own, hence this routine expects only
994
- the raw deflate stream to decompress. This is different from the normal
995
- behavior of inflate(), which expects either a zlib or gzip header and
996
- trailer around the deflate stream.
997
-
998
- inflateBack() uses two subroutines supplied by the caller that are then
999
- called by inflateBack() for input and output. inflateBack() calls those
1000
- routines until it reads a complete deflate stream and writes out all of the
1001
- uncompressed data, or until it encounters an error. The function's
1002
- parameters and return types are defined above in the in_func and out_func
1003
- typedefs. inflateBack() will call in(in_desc, &buf) which should return the
1004
- number of bytes of provided input, and a pointer to that input in buf. If
1005
- there is no input available, in() must return zero--buf is ignored in that
1006
- case--and inflateBack() will return a buffer error. inflateBack() will call
1007
- out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out()
1008
- should return zero on success, or non-zero on failure. If out() returns
1009
- non-zero, inflateBack() will return with an error. Neither in() nor out()
1010
- are permitted to change the contents of the window provided to
1011
- inflateBackInit(), which is also the buffer that out() uses to write from.
1012
- The length written by out() will be at most the window size. Any non-zero
1013
- amount of input may be provided by in().
1014
-
1015
- For convenience, inflateBack() can be provided input on the first call by
1016
- setting strm->next_in and strm->avail_in. If that input is exhausted, then
1017
- in() will be called. Therefore strm->next_in must be initialized before
1018
- calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called
1019
- immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in
1020
- must also be initialized, and then if strm->avail_in is not zero, input will
1021
- initially be taken from strm->next_in[0 .. strm->avail_in - 1].
1022
-
1023
- The in_desc and out_desc parameters of inflateBack() is passed as the
1024
- first parameter of in() and out() respectively when they are called. These
1025
- descriptors can be optionally used to pass any information that the caller-
1026
- supplied in() and out() functions need to do their job.
1027
-
1028
- On return, inflateBack() will set strm->next_in and strm->avail_in to
1029
- pass back any unused input that was provided by the last in() call. The
1030
- return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR
1031
- if in() or out() returned an error, Z_DATA_ERROR if there was a format error
1032
- in the deflate stream (in which case strm->msg is set to indicate the nature
1033
- of the error), or Z_STREAM_ERROR if the stream was not properly initialized.
1034
- In the case of Z_BUF_ERROR, an input or output error can be distinguished
1035
- using strm->next_in which will be Z_NULL only if in() returned an error. If
1036
- strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning
1037
- non-zero. (in() will always be called before out(), so strm->next_in is
1038
- assured to be defined if out() returns non-zero.) Note that inflateBack()
1039
- cannot return Z_OK.
1040
- */
1041
-
1042
- ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm));
1043
- /*
1044
- All memory allocated by inflateBackInit() is freed.
1045
-
1046
- inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream
1047
- state was inconsistent.
1048
- */
1049
-
1050
- ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
1051
- /* Return flags indicating compile-time options.
1052
-
1053
- Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
1054
- 1.0: size of uInt
1055
- 3.2: size of uLong
1056
- 5.4: size of voidpf (pointer)
1057
- 7.6: size of z_off_t
1058
-
1059
- Compiler, assembler, and debug options:
1060
- 8: DEBUG
1061
- 9: ASMV or ASMINF -- use ASM code
1062
- 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
1063
- 11: 0 (reserved)
1064
-
1065
- One-time table building (smaller code, but not thread-safe if true):
1066
- 12: BUILDFIXED -- build static block decoding tables when needed
1067
- 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed
1068
- 14,15: 0 (reserved)
1069
-
1070
- Library content (indicates missing functionality):
1071
- 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking
1072
- deflate code when not needed)
1073
- 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect
1074
- and decode gzip streams (to avoid linking crc code)
1075
- 18-19: 0 (reserved)
1076
-
1077
- Operation variations (changes in library functionality):
1078
- 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate
1079
- 21: FASTEST -- deflate algorithm with only one, lowest compression level
1080
- 22,23: 0 (reserved)
1081
-
1082
- The sprintf variant used by gzprintf (zero is best):
1083
- 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format
1084
- 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure!
1085
- 26: 0 = returns value, 1 = void -- 1 means inferred string length returned
1086
-
1087
- Remainder:
1088
- 27-31: 0 (reserved)
1089
- */
1090
-
1091
-
1092
- /* utility functions */
1093
-
1094
- /*
1095
- The following utility functions are implemented on top of the basic
1096
- stream-oriented functions. To simplify the interface, some default options
1097
- are assumed (compression level and memory usage, standard memory allocation
1098
- functions). The source code of these utility functions can be modified if
1099
- you need special options.
1100
- */
1101
-
1102
- ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
1103
- const Bytef *source, uLong sourceLen));
1104
- /*
1105
- Compresses the source buffer into the destination buffer. sourceLen is
1106
- the byte length of the source buffer. Upon entry, destLen is the total size
1107
- of the destination buffer, which must be at least the value returned by
1108
- compressBound(sourceLen). Upon exit, destLen is the actual size of the
1109
- compressed buffer.
1110
-
1111
- compress returns Z_OK if success, Z_MEM_ERROR if there was not
1112
- enough memory, Z_BUF_ERROR if there was not enough room in the output
1113
- buffer.
1114
- */
1115
-
1116
- ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
1117
- const Bytef *source, uLong sourceLen,
1118
- int level));
1119
- /*
1120
- Compresses the source buffer into the destination buffer. The level
1121
- parameter has the same meaning as in deflateInit. sourceLen is the byte
1122
- length of the source buffer. Upon entry, destLen is the total size of the
1123
- destination buffer, which must be at least the value returned by
1124
- compressBound(sourceLen). Upon exit, destLen is the actual size of the
1125
- compressed buffer.
1126
-
1127
- compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
1128
- memory, Z_BUF_ERROR if there was not enough room in the output buffer,
1129
- Z_STREAM_ERROR if the level parameter is invalid.
1130
- */
1131
-
1132
- ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
1133
- /*
1134
- compressBound() returns an upper bound on the compressed size after
1135
- compress() or compress2() on sourceLen bytes. It would be used before a
1136
- compress() or compress2() call to allocate the destination buffer.
1137
- */
1138
-
1139
- ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
1140
- const Bytef *source, uLong sourceLen));
1141
- /*
1142
- Decompresses the source buffer into the destination buffer. sourceLen is
1143
- the byte length of the source buffer. Upon entry, destLen is the total size
1144
- of the destination buffer, which must be large enough to hold the entire
1145
- uncompressed data. (The size of the uncompressed data must have been saved
1146
- previously by the compressor and transmitted to the decompressor by some
1147
- mechanism outside the scope of this compression library.) Upon exit, destLen
1148
- is the actual size of the uncompressed buffer.
1149
-
1150
- uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
1151
- enough memory, Z_BUF_ERROR if there was not enough room in the output
1152
- buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete.
1153
- */
1154
-
1155
-
1156
- /* gzip file access functions */
1157
-
1158
- /*
1159
- This library supports reading and writing files in gzip (.gz) format with
1160
- an interface similar to that of stdio, using the functions that start with
1161
- "gz". The gzip format is different from the zlib format. gzip is a gzip
1162
- wrapper, documented in RFC 1952, wrapped around a deflate stream.
1163
- */
1164
-
1165
- typedef voidp gzFile; /* opaque gzip file descriptor */
1166
-
1167
- /*
1168
- ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
1169
-
1170
- Opens a gzip (.gz) file for reading or writing. The mode parameter is as
1171
- in fopen ("rb" or "wb") but can also include a compression level ("wb9") or
1172
- a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only
1173
- compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F'
1174
- for fixed code compression as in "wb9F". (See the description of
1175
- deflateInit2 for more information about the strategy parameter.) Also "a"
1176
- can be used instead of "w" to request that the gzip stream that will be
1177
- written be appended to the file. "+" will result in an error, since reading
1178
- and writing to the same gzip file is not supported.
1179
-
1180
- gzopen can be used to read a file which is not in gzip format; in this
1181
- case gzread will directly read from the file without decompression.
1182
-
1183
- gzopen returns NULL if the file could not be opened, if there was
1184
- insufficient memory to allocate the gzFile state, or if an invalid mode was
1185
- specified (an 'r', 'w', or 'a' was not provided, or '+' was provided).
1186
- errno can be checked to determine if the reason gzopen failed was that the
1187
- file could not be opened.
1188
- */
1189
-
1190
- ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
1191
- /*
1192
- gzdopen associates a gzFile with the file descriptor fd. File descriptors
1193
- are obtained from calls like open, dup, creat, pipe or fileno (if the file
1194
- has been previously opened with fopen). The mode parameter is as in gzopen.
1195
-
1196
- The next call of gzclose on the returned gzFile will also close the file
1197
- descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor
1198
- fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd,
1199
- mode);. The duplicated descriptor should be saved to avoid a leak, since
1200
- gzdopen does not close fd if it fails.
1201
-
1202
- gzdopen returns NULL if there was insufficient memory to allocate the
1203
- gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not
1204
- provided, or '+' was provided), or if fd is -1. The file descriptor is not
1205
- used until the next gz* read, write, seek, or close operation, so gzdopen
1206
- will not detect if fd is invalid (unless fd is -1).
1207
- */
1208
-
1209
- ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
1210
- /*
1211
- Set the internal buffer size used by this library's functions. The
1212
- default buffer size is 8192 bytes. This function must be called after
1213
- gzopen() or gzdopen(), and before any other calls that read or write the
1214
- file. The buffer memory allocation is always deferred to the first read or
1215
- write. Two buffers are allocated, either both of the specified size when
1216
- writing, or one of the specified size and the other twice that size when
1217
- reading. A larger buffer size of, for example, 64K or 128K bytes will
1218
- noticeably increase the speed of decompression (reading).
1219
-
1220
- The new buffer size also affects the maximum length for gzprintf().
1221
-
1222
- gzbuffer() returns 0 on success, or -1 on failure, such as being called
1223
- too late.
1224
- */
1225
-
1226
- ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
1227
- /*
1228
- Dynamically update the compression level or strategy. See the description
1229
- of deflateInit2 for the meaning of these parameters.
1230
-
1231
- gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
1232
- opened for writing.
1233
- */
1234
-
1235
- ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
1236
- /*
1237
- Reads the given number of uncompressed bytes from the compressed file. If
1238
- the input file was not in gzip format, gzread copies the given number of
1239
- bytes into the buffer.
1240
-
1241
- After reaching the end of a gzip stream in the input, gzread will continue
1242
- to read, looking for another gzip stream, or failing that, reading the rest
1243
- of the input file directly without decompression. The entire input file
1244
- will be read if gzread is called until it returns less than the requested
1245
- len.
1246
-
1247
- gzread returns the number of uncompressed bytes actually read, less than
1248
- len for end of file, or -1 for error.
1249
- */
1250
-
1251
- ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
1252
- voidpc buf, unsigned len));
1253
- /*
1254
- Writes the given number of uncompressed bytes into the compressed file.
1255
- gzwrite returns the number of uncompressed bytes written or 0 in case of
1256
- error.
1257
- */
1258
-
1259
- ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
1260
- /*
1261
- Converts, formats, and writes the arguments to the compressed file under
1262
- control of the format string, as in fprintf. gzprintf returns the number of
1263
- uncompressed bytes actually written, or 0 in case of error. The number of
1264
- uncompressed bytes written is limited to 8191, or one less than the buffer
1265
- size given to gzbuffer(). The caller should assure that this limit is not
1266
- exceeded. If it is exceeded, then gzprintf() will return an error (0) with
1267
- nothing written. In this case, there may also be a buffer overflow with
1268
- unpredictable consequences, which is possible only if zlib was compiled with
1269
- the insecure functions sprintf() or vsprintf() because the secure snprintf()
1270
- or vsnprintf() functions were not available. This can be determined using
1271
- zlibCompileFlags().
1272
- */
1273
-
1274
- ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
1275
- /*
1276
- Writes the given null-terminated string to the compressed file, excluding
1277
- the terminating null character.
1278
-
1279
- gzputs returns the number of characters written, or -1 in case of error.
1280
- */
1281
-
1282
- ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
1283
- /*
1284
- Reads bytes from the compressed file until len-1 characters are read, or a
1285
- newline character is read and transferred to buf, or an end-of-file
1286
- condition is encountered. If any characters are read or if len == 1, the
1287
- string is terminated with a null character. If no characters are read due
1288
- to an end-of-file or len < 1, then the buffer is left untouched.
1289
-
1290
- gzgets returns buf which is a null-terminated string, or it returns NULL
1291
- for end-of-file or in case of error. If there was an error, the contents at
1292
- buf are indeterminate.
1293
- */
1294
-
1295
- ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
1296
- /*
1297
- Writes c, converted to an unsigned char, into the compressed file. gzputc
1298
- returns the value that was written, or -1 in case of error.
1299
- */
1300
-
1301
- ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
1302
- /*
1303
- Reads one byte from the compressed file. gzgetc returns this byte or -1
1304
- in case of end of file or error.
1305
- */
1306
-
1307
- ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
1308
- /*
1309
- Push one character back onto the stream to be read as the first character
1310
- on the next read. At least one character of push-back is allowed.
1311
- gzungetc() returns the character pushed, or -1 on failure. gzungetc() will
1312
- fail if c is -1, and may fail if a character has been pushed but not read
1313
- yet. If gzungetc is used immediately after gzopen or gzdopen, at least the
1314
- output buffer size of pushed characters is allowed. (See gzbuffer above.)
1315
- The pushed character will be discarded if the stream is repositioned with
1316
- gzseek() or gzrewind().
1317
- */
1318
-
1319
- ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
1320
- /*
1321
- Flushes all pending output into the compressed file. The parameter flush
1322
- is as in the deflate() function. The return value is the zlib error number
1323
- (see function gzerror below). gzflush is only permitted when writing.
1324
-
1325
- If the flush parameter is Z_FINISH, the remaining data is written and the
1326
- gzip stream is completed in the output. If gzwrite() is called again, a new
1327
- gzip stream will be started in the output. gzread() is able to read such
1328
- concatented gzip streams.
1329
-
1330
- gzflush should be called only when strictly necessary because it will
1331
- degrade compression if called too often.
1332
- */
1333
-
1334
- /*
1335
- ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
1336
- z_off_t offset, int whence));
1337
-
1338
- Sets the starting position for the next gzread or gzwrite on the given
1339
- compressed file. The offset represents a number of bytes in the
1340
- uncompressed data stream. The whence parameter is defined as in lseek(2);
1341
- the value SEEK_END is not supported.
1342
-
1343
- If the file is opened for reading, this function is emulated but can be
1344
- extremely slow. If the file is opened for writing, only forward seeks are
1345
- supported; gzseek then compresses a sequence of zeroes up to the new
1346
- starting position.
1347
-
1348
- gzseek returns the resulting offset location as measured in bytes from
1349
- the beginning of the uncompressed stream, or -1 in case of error, in
1350
- particular if the file is opened for writing and the new starting position
1351
- would be before the current position.
1352
- */
1353
-
1354
- ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
1355
- /*
1356
- Rewinds the given file. This function is supported only for reading.
1357
-
1358
- gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
1359
- */
1360
-
1361
- /*
1362
- ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
1363
-
1364
- Returns the starting position for the next gzread or gzwrite on the given
1365
- compressed file. This position represents a number of bytes in the
1366
- uncompressed data stream, and is zero when starting, even if appending or
1367
- reading a gzip stream from the middle of a file using gzdopen().
1368
-
1369
- gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
1370
- */
1371
-
1372
- /*
1373
- ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file));
1374
-
1375
- Returns the current offset in the file being read or written. This offset
1376
- includes the count of bytes that precede the gzip stream, for example when
1377
- appending or when using gzdopen() for reading. When reading, the offset
1378
- does not include as yet unused buffered input. This information can be used
1379
- for a progress indicator. On error, gzoffset() returns -1.
1380
- */
1381
-
1382
- ZEXTERN int ZEXPORT gzeof OF((gzFile file));
1383
- /*
1384
- Returns true (1) if the end-of-file indicator has been set while reading,
1385
- false (0) otherwise. Note that the end-of-file indicator is set only if the
1386
- read tried to go past the end of the input, but came up short. Therefore,
1387
- just like feof(), gzeof() may return false even if there is no more data to
1388
- read, in the event that the last read request was for the exact number of
1389
- bytes remaining in the input file. This will happen if the input file size
1390
- is an exact multiple of the buffer size.
1391
-
1392
- If gzeof() returns true, then the read functions will return no more data,
1393
- unless the end-of-file indicator is reset by gzclearerr() and the input file
1394
- has grown since the previous end of file was detected.
1395
- */
1396
-
1397
- ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
1398
- /*
1399
- Returns true (1) if file is being copied directly while reading, or false
1400
- (0) if file is a gzip stream being decompressed. This state can change from
1401
- false to true while reading the input file if the end of a gzip stream is
1402
- reached, but is followed by data that is not another gzip stream.
1403
-
1404
- If the input file is empty, gzdirect() will return true, since the input
1405
- does not contain a gzip stream.
1406
-
1407
- If gzdirect() is used immediately after gzopen() or gzdopen() it will
1408
- cause buffers to be allocated to allow reading the file to determine if it
1409
- is a gzip file. Therefore if gzbuffer() is used, it should be called before
1410
- gzdirect().
1411
- */
1412
-
1413
- ZEXTERN int ZEXPORT gzclose OF((gzFile file));
1414
- /*
1415
- Flushes all pending output if necessary, closes the compressed file and
1416
- deallocates the (de)compression state. Note that once file is closed, you
1417
- cannot call gzerror with file, since its structures have been deallocated.
1418
- gzclose must not be called more than once on the same file, just as free
1419
- must not be called more than once on the same allocation.
1420
-
1421
- gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a
1422
- file operation error, or Z_OK on success.
1423
- */
1424
-
1425
- ZEXTERN int ZEXPORT gzclose_r OF((gzFile file));
1426
- ZEXTERN int ZEXPORT gzclose_w OF((gzFile file));
1427
- /*
1428
- Same as gzclose(), but gzclose_r() is only for use when reading, and
1429
- gzclose_w() is only for use when writing or appending. The advantage to
1430
- using these instead of gzclose() is that they avoid linking in zlib
1431
- compression or decompression code that is not used when only reading or only
1432
- writing respectively. If gzclose() is used, then both compression and
1433
- decompression code will be included the application when linking to a static
1434
- zlib library.
1435
- */
1436
-
1437
- ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
1438
- /*
1439
- Returns the error message for the last error which occurred on the given
1440
- compressed file. errnum is set to zlib error number. If an error occurred
1441
- in the file system and not in the compression library, errnum is set to
1442
- Z_ERRNO and the application may consult errno to get the exact error code.
1443
-
1444
- The application must not modify the returned string. Future calls to
1445
- this function may invalidate the previously returned string. If file is
1446
- closed, then the string previously returned by gzerror will no longer be
1447
- available.
1448
-
1449
- gzerror() should be used to distinguish errors from end-of-file for those
1450
- functions above that do not distinguish those cases in their return values.
1451
- */
1452
-
1453
- ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
1454
- /*
1455
- Clears the error and end-of-file flags for file. This is analogous to the
1456
- clearerr() function in stdio. This is useful for continuing to read a gzip
1457
- file that is being written concurrently.
1458
- */
1459
-
1460
-
1461
- /* checksum functions */
1462
-
1463
- /*
1464
- These functions are not related to compression but are exported
1465
- anyway because they might be useful in applications using the compression
1466
- library.
1467
- */
1468
-
1469
- ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
1470
- /*
1471
- Update a running Adler-32 checksum with the bytes buf[0..len-1] and
1472
- return the updated checksum. If buf is Z_NULL, this function returns the
1473
- required initial value for the checksum.
1474
-
1475
- An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
1476
- much faster.
1477
-
1478
- Usage example:
1479
-
1480
- uLong adler = adler32(0L, Z_NULL, 0);
1481
-
1482
- while (read_buffer(buffer, length) != EOF) {
1483
- adler = adler32(adler, buffer, length);
1484
- }
1485
- if (adler != original_adler) error();
1486
- */
1487
-
1488
- /*
1489
- ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
1490
- z_off_t len2));
1491
-
1492
- Combine two Adler-32 checksums into one. For two sequences of bytes, seq1
1493
- and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for
1494
- each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of
1495
- seq1 and seq2 concatenated, requiring only adler1, adler2, and len2.
1496
- */
1497
-
1498
- ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
1499
- /*
1500
- Update a running CRC-32 with the bytes buf[0..len-1] and return the
1501
- updated CRC-32. If buf is Z_NULL, this function returns the required
1502
- initial value for the for the crc. Pre- and post-conditioning (one's
1503
- complement) is performed within this function so it shouldn't be done by the
1504
- application.
1505
-
1506
- Usage example:
1507
-
1508
- uLong crc = crc32(0L, Z_NULL, 0);
1509
-
1510
- while (read_buffer(buffer, length) != EOF) {
1511
- crc = crc32(crc, buffer, length);
1512
- }
1513
- if (crc != original_crc) error();
1514
- */
1515
-
1516
- /*
1517
- ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
1518
-
1519
- Combine two CRC-32 check values into one. For two sequences of bytes,
1520
- seq1 and seq2 with lengths len1 and len2, CRC-32 check values were
1521
- calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32
1522
- check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and
1523
- len2.
1524
- */
1525
-
1526
-
1527
- /* various hacks, don't look :) */
1528
-
1529
- /* deflateInit and inflateInit are macros to allow checking the zlib version
1530
- * and the compiler's view of z_stream:
1531
- */
1532
- ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
1533
- const char *version, int stream_size));
1534
- ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
1535
- const char *version, int stream_size));
1536
- ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
1537
- int windowBits, int memLevel,
1538
- int strategy, const char *version,
1539
- int stream_size));
1540
- ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
1541
- const char *version, int stream_size));
1542
- ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
1543
- unsigned char FAR *window,
1544
- const char *version,
1545
- int stream_size));
1546
- #define deflateInit(strm, level) \
1547
- deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream))
1548
- #define inflateInit(strm) \
1549
- inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream))
1550
- #define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
1551
- deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
1552
- (strategy), ZLIB_VERSION, sizeof(z_stream))
1553
- #define inflateInit2(strm, windowBits) \
1554
- inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
1555
- #define inflateBackInit(strm, windowBits, window) \
1556
- inflateBackInit_((strm), (windowBits), (window), \
1557
- ZLIB_VERSION, sizeof(z_stream))
1558
-
1559
- /* LFS conventions have no meaning on Windows. Looking for feature
1560
- * macros like _LARGEFILE64_SOURCE or _FILE_OFFSET_BITS on Windows is
1561
- * wrong. So make sure any such macros misguidedly defined by the
1562
- * user have no effect. Windows has large file support, but the
1563
- * official zlib DLL has not been built to provide the 64-bit offset
1564
- * APIs, sigh. So we have just patched out the 64-bit offset API
1565
- * from this header file.
1566
- */
1567
- ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));
1568
- ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int));
1569
- ZEXTERN z_off_t ZEXPORT gztell OF((gzFile));
1570
- ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile));
1571
- ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
1572
- ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
1573
-
1574
- /* hack for buggy compilers */
1575
- #if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
1576
- struct internal_state {int dummy;};
1577
- #endif
1578
-
1579
- /* undocumented functions */
1580
- ZEXTERN const char * ZEXPORT zError OF((int));
1581
- ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
1582
- ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
1583
- ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
1584
-
1585
- #ifdef __cplusplus
1586
- }
1587
- #endif
1588
-
1589
- #endif /* ZLIB_H */