gosu 0.7.13.3 → 0.7.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (478) hide show
  1. data/Gosu/Audio.hpp +10 -4
  2. data/Gosu/Math.hpp +23 -10
  3. data/Gosu/Platform.hpp +2 -0
  4. data/Gosu/Version.hpp +9 -0
  5. data/GosuImpl/Audio/ALChannelManagement.hpp +13 -3
  6. data/GosuImpl/Audio/AudioFile.hpp +45 -0
  7. data/GosuImpl/Audio/AudioOpenAL.mm +533 -0
  8. data/GosuImpl/Audio/AudioToolboxFile.hpp +217 -0
  9. data/GosuImpl/Audio/OggFile.hpp +114 -0
  10. data/GosuImpl/AudioFmod.cpp +4 -0
  11. data/GosuImpl/AudioSDL.cpp +4 -0
  12. data/GosuImpl/Graphics/GosuView.mm +2 -2
  13. data/GosuImpl/Graphics/Texture.cpp +9 -4
  14. data/GosuImpl/Math.cpp +1 -1
  15. data/GosuImpl/RubyGosu.swg +10 -1
  16. data/GosuImpl/RubyGosu_wrap.cxx +175 -1416
  17. data/GosuImpl/RubyGosu_wrap.cxx.rej +187 -0
  18. data/GosuImpl/WinUtility.cpp +1 -1
  19. data/GosuImpl/WindowMac.mm +1 -0
  20. data/GosuImpl/WindowTouch.mm +1 -0
  21. data/README.txt +5 -5
  22. data/Rakefile +48 -9
  23. data/examples/media/Starfighter.bmp +0 -0
  24. data/linux/configure +1166 -975
  25. data/linux/configure.ac +14 -30
  26. data/linux/extconf.rb +2 -5
  27. data/mac/Gosu.xcodeproj/jlnr.pbxuser +330 -267
  28. data/mac/Gosu.xcodeproj/jlnr.perspectivev3 +48 -47
  29. data/mac/Gosu.xcodeproj/project.pbxproj +626 -74
  30. data/mac/RubyGosu App-Info.plist +1 -1
  31. data/reference/cpp/_audio_8hpp-source.html +81 -75
  32. data/reference/cpp/_math_8hpp-source.html +57 -48
  33. data/reference/cpp/_math_8hpp.html +7 -1
  34. data/reference/cpp/_platform_8hpp-source.html +58 -56
  35. data/reference/cpp/_platform_8hpp.html +21 -2
  36. data/reference/cpp/_version_8hpp-source.html +77 -0
  37. data/reference/cpp/_version_8hpp.html +153 -0
  38. data/reference/cpp/class_gosu_1_1_audio-members.html +1 -0
  39. data/reference/cpp/class_gosu_1_1_audio.html +22 -0
  40. data/reference/cpp/class_gosu_1_1_sample.html +1 -1
  41. data/reference/cpp/class_gosu_1_1_sample_instance.html +1 -1
  42. data/reference/cpp/class_gosu_1_1_song.html +2 -2
  43. data/reference/cpp/files.html +1 -0
  44. data/reference/cpp/functions_0x67.html +1 -3
  45. data/reference/cpp/functions_0x74.html +2 -2
  46. data/reference/cpp/functions_0x75.html +3 -2
  47. data/reference/cpp/functions_func_0x67.html +1 -3
  48. data/reference/cpp/functions_func_0x74.html +2 -2
  49. data/reference/cpp/functions_func_0x75.html +3 -2
  50. data/reference/cpp/globals.html +10 -0
  51. data/reference/cpp/globals_defs.html +10 -0
  52. data/reference/rdoc/classes/Gosu.html +1547 -0
  53. data/reference/rdoc/classes/Gosu/Color.html +563 -0
  54. data/reference/rdoc/classes/Gosu/Font.html +538 -0
  55. data/reference/rdoc/classes/Gosu/GLTexInfo.html +404 -0
  56. data/reference/rdoc/classes/Gosu/Image.html +702 -0
  57. data/reference/rdoc/classes/Gosu/Sample.html +469 -0
  58. data/reference/rdoc/classes/Gosu/SampleInstance.html +516 -0
  59. data/reference/rdoc/classes/Gosu/Song.html +561 -0
  60. data/reference/rdoc/classes/Gosu/TextInput.html +398 -0
  61. data/reference/rdoc/classes/Gosu/Window.html +913 -0
  62. data/reference/rdoc/classes/Numeric.html +416 -0
  63. data/reference/rdoc/created.rid +1 -0
  64. data/reference/rdoc/files/COPYING_txt.html +386 -0
  65. data/reference/rdoc/files/README_txt.html +381 -0
  66. data/reference/rdoc/files/reference/DeploymentOnOSX_rdoc.html +390 -0
  67. data/reference/rdoc/files/reference/DeploymentOnWindows_rdoc.html +392 -0
  68. data/reference/rdoc/files/reference/DrawingWithColors_rdoc.html +357 -0
  69. data/reference/rdoc/files/reference/OrderOfCorners_rdoc.html +352 -0
  70. data/reference/rdoc/files/reference/Tileability_rdoc.html +368 -0
  71. data/reference/rdoc/files/reference/ZOrdering_rdoc.html +355 -0
  72. data/reference/rdoc/files/reference/gosu_rb.html +342 -0
  73. data/reference/rdoc/fr_class_index.html +12 -0
  74. data/reference/rdoc/fr_file_index.html +10 -0
  75. data/reference/rdoc/fr_method_index.html +63 -0
  76. data/reference/rdoc/index.html +1 -0
  77. data/reference/rdoc/rdoc-style.css +318 -0
  78. data/windows/Gosu.vcproj +33 -33
  79. data/windows/RubyGosu.vcproj +2 -2
  80. metadata +36 -400
  81. data/GosuImpl/Audio/AudioFileMac.hpp +0 -105
  82. data/GosuImpl/AudioOpenAL.mm +0 -486
  83. data/mac/libboost_thread_1_34_1_universal.a +0 -0
  84. data/mac/libboost_thread_d_1_34_1_universal.a +0 -0
  85. data/mac/libfmod_universal.a +0 -0
  86. data/mac/libpng_universal.a +0 -0
  87. data/mac/libz_universal.a +0 -0
  88. data/windows/zlib, libpng/libpng/ANNOUNCE +0 -61
  89. data/windows/zlib, libpng/libpng/CHANGES +0 -2173
  90. data/windows/zlib, libpng/libpng/INSTALL +0 -199
  91. data/windows/zlib, libpng/libpng/KNOWNBUG +0 -22
  92. data/windows/zlib, libpng/libpng/LICENSE +0 -109
  93. data/windows/zlib, libpng/libpng/README +0 -264
  94. data/windows/zlib, libpng/libpng/TODO +0 -24
  95. data/windows/zlib, libpng/libpng/Y2KINFO +0 -55
  96. data/windows/zlib, libpng/libpng/configure +0 -13
  97. data/windows/zlib, libpng/libpng/contrib/gregbook/COPYING +0 -340
  98. data/windows/zlib, libpng/libpng/contrib/gregbook/LICENSE +0 -50
  99. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.mingw32 +0 -130
  100. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.sgi +0 -104
  101. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.unx +0 -132
  102. data/windows/zlib, libpng/libpng/contrib/gregbook/Makefile.w32 +0 -113
  103. data/windows/zlib, libpng/libpng/contrib/gregbook/README +0 -186
  104. data/windows/zlib, libpng/libpng/contrib/gregbook/makevms.com +0 -132
  105. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng.c +0 -304
  106. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng.h +0 -88
  107. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng2.c +0 -645
  108. data/windows/zlib, libpng/libpng/contrib/gregbook/readpng2.h +0 -121
  109. data/windows/zlib, libpng/libpng/contrib/gregbook/readppm.c +0 -179
  110. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng-win.c +0 -684
  111. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng-x.c +0 -904
  112. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng2-win.c +0 -1225
  113. data/windows/zlib, libpng/libpng/contrib/gregbook/rpng2-x.c +0 -2127
  114. data/windows/zlib, libpng/libpng/contrib/gregbook/toucan.png +0 -0
  115. data/windows/zlib, libpng/libpng/contrib/gregbook/wpng.c +0 -853
  116. data/windows/zlib, libpng/libpng/contrib/gregbook/writepng.c +0 -392
  117. data/windows/zlib, libpng/libpng/contrib/gregbook/writepng.h +0 -133
  118. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/README +0 -6
  119. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/gather.sh +0 -8
  120. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/makefile.std +0 -44
  121. data/windows/zlib, libpng/libpng/contrib/pngminim/decoder/pngusr.h +0 -67
  122. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/README +0 -6
  123. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/dummy_inflate.c +0 -27
  124. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/gather.sh +0 -9
  125. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/makefile.std +0 -43
  126. data/windows/zlib, libpng/libpng/contrib/pngminim/encoder/pngusr.h +0 -66
  127. data/windows/zlib, libpng/libpng/contrib/pngminus/README +0 -153
  128. data/windows/zlib, libpng/libpng/contrib/pngminus/makefile.std +0 -65
  129. data/windows/zlib, libpng/libpng/contrib/pngminus/makefile.tc3 +0 -38
  130. data/windows/zlib, libpng/libpng/contrib/pngminus/makevms.com +0 -92
  131. data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.bat +0 -41
  132. data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.c +0 -430
  133. data/windows/zlib, libpng/libpng/contrib/pngminus/png2pnm.sh +0 -42
  134. data/windows/zlib, libpng/libpng/contrib/pngminus/pngminus.bat +0 -4
  135. data/windows/zlib, libpng/libpng/contrib/pngminus/pngminus.sh +0 -5
  136. data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.bat +0 -41
  137. data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.c +0 -533
  138. data/windows/zlib, libpng/libpng/contrib/pngminus/pnm2png.sh +0 -42
  139. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g01.png +0 -0
  140. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g02.png +0 -0
  141. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g04.png +0 -0
  142. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g08.png +0 -0
  143. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn0g16.png +0 -0
  144. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn2c08.png +0 -0
  145. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn2c16.png +0 -0
  146. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p01.png +0 -0
  147. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p02.png +0 -0
  148. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p04.png +0 -0
  149. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn3p08.png +0 -0
  150. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn4a08.png +0 -0
  151. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn4a16.png +0 -0
  152. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn6a08.png +0 -0
  153. data/windows/zlib, libpng/libpng/contrib/pngsuite/basn6a16.png +0 -0
  154. data/windows/zlib, libpng/libpng/contrib/visupng/PngFile.c +0 -439
  155. data/windows/zlib, libpng/libpng/contrib/visupng/PngFile.h +0 -27
  156. data/windows/zlib, libpng/libpng/contrib/visupng/README.txt +0 -58
  157. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.c +0 -961
  158. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.dsp +0 -147
  159. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.dsw +0 -29
  160. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.ico +0 -0
  161. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.png +0 -0
  162. data/windows/zlib, libpng/libpng/contrib/visupng/VisualPng.rc +0 -152
  163. data/windows/zlib, libpng/libpng/contrib/visupng/cexcept.h +0 -243
  164. data/windows/zlib, libpng/libpng/contrib/visupng/resource.h +0 -23
  165. data/windows/zlib, libpng/libpng/example.c +0 -814
  166. data/windows/zlib, libpng/libpng/libpng-1.2.29.txt +0 -2906
  167. data/windows/zlib, libpng/libpng/libpng.3 +0 -3680
  168. data/windows/zlib, libpng/libpng/libpngpf.3 +0 -274
  169. data/windows/zlib, libpng/libpng/png.5 +0 -74
  170. data/windows/zlib, libpng/libpng/png.c +0 -798
  171. data/windows/zlib, libpng/libpng/png.h +0 -3569
  172. data/windows/zlib, libpng/libpng/pngbar.jpg +0 -0
  173. data/windows/zlib, libpng/libpng/pngbar.png +0 -0
  174. data/windows/zlib, libpng/libpng/pngconf.h +0 -1481
  175. data/windows/zlib, libpng/libpng/pngerror.c +0 -343
  176. data/windows/zlib, libpng/libpng/pnggccrd.c +0 -103
  177. data/windows/zlib, libpng/libpng/pngget.c +0 -901
  178. data/windows/zlib, libpng/libpng/pngmem.c +0 -608
  179. data/windows/zlib, libpng/libpng/pngnow.png +0 -0
  180. data/windows/zlib, libpng/libpng/pngpread.c +0 -1598
  181. data/windows/zlib, libpng/libpng/pngread.c +0 -1479
  182. data/windows/zlib, libpng/libpng/pngrio.c +0 -167
  183. data/windows/zlib, libpng/libpng/pngrtran.c +0 -4292
  184. data/windows/zlib, libpng/libpng/pngrutil.c +0 -3183
  185. data/windows/zlib, libpng/libpng/pngset.c +0 -1268
  186. data/windows/zlib, libpng/libpng/pngtest.c +0 -1563
  187. data/windows/zlib, libpng/libpng/pngtest.png +0 -0
  188. data/windows/zlib, libpng/libpng/pngtrans.c +0 -662
  189. data/windows/zlib, libpng/libpng/pngvcrd.c +0 -1
  190. data/windows/zlib, libpng/libpng/pngwio.c +0 -234
  191. data/windows/zlib, libpng/libpng/pngwrite.c +0 -1532
  192. data/windows/zlib, libpng/libpng/pngwtran.c +0 -572
  193. data/windows/zlib, libpng/libpng/pngwutil.c +0 -2802
  194. data/windows/zlib, libpng/libpng/projects/beos/x86-shared.proj +0 -0
  195. data/windows/zlib, libpng/libpng/projects/beos/x86-shared.txt +0 -22
  196. data/windows/zlib, libpng/libpng/projects/beos/x86-static.proj +0 -0
  197. data/windows/zlib, libpng/libpng/projects/beos/x86-static.txt +0 -22
  198. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpf +0 -22
  199. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpg +0 -25
  200. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.bpr +0 -157
  201. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.cpp +0 -29
  202. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpng.readme.txt +0 -25
  203. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpngstat.bpf +0 -22
  204. data/windows/zlib, libpng/libpng/projects/cbuilder5/libpngstat.bpr +0 -109
  205. data/windows/zlib, libpng/libpng/projects/cbuilder5/zlib.readme.txt +0 -14
  206. data/windows/zlib, libpng/libpng/projects/netware.txt +0 -6
  207. data/windows/zlib, libpng/libpng/projects/visualc6/README.txt +0 -57
  208. data/windows/zlib, libpng/libpng/projects/visualc6/libpng.dsp +0 -472
  209. data/windows/zlib, libpng/libpng/projects/visualc6/libpng.dsw +0 -59
  210. data/windows/zlib, libpng/libpng/projects/visualc6/pngtest.dsp +0 -314
  211. data/windows/zlib, libpng/libpng/projects/visualc71/PRJ0041.mak +0 -21
  212. data/windows/zlib, libpng/libpng/projects/visualc71/README.txt +0 -57
  213. data/windows/zlib, libpng/libpng/projects/visualc71/README_zlib.txt +0 -44
  214. data/windows/zlib, libpng/libpng/projects/visualc71/libpng.sln +0 -88
  215. data/windows/zlib, libpng/libpng/projects/visualc71/libpng.vcproj +0 -702
  216. data/windows/zlib, libpng/libpng/projects/visualc71/pngtest.vcproj +0 -459
  217. data/windows/zlib, libpng/libpng/projects/visualc71/zlib.vcproj +0 -670
  218. data/windows/zlib, libpng/libpng/projects/wince.txt +0 -6
  219. data/windows/zlib, libpng/libpng/scripts/CMakeLists.txt +0 -210
  220. data/windows/zlib, libpng/libpng/scripts/SCOPTIONS.ppc +0 -7
  221. data/windows/zlib, libpng/libpng/scripts/descrip.mms +0 -52
  222. data/windows/zlib, libpng/libpng/scripts/libpng-config-body.in +0 -96
  223. data/windows/zlib, libpng/libpng/scripts/libpng-config-head.in +0 -21
  224. data/windows/zlib, libpng/libpng/scripts/libpng-config.in +0 -124
  225. data/windows/zlib, libpng/libpng/scripts/libpng.icc +0 -44
  226. data/windows/zlib, libpng/libpng/scripts/libpng.pc-configure.in +0 -10
  227. data/windows/zlib, libpng/libpng/scripts/libpng.pc.in +0 -10
  228. data/windows/zlib, libpng/libpng/scripts/makefile.32sunu +0 -254
  229. data/windows/zlib, libpng/libpng/scripts/makefile.64sunu +0 -254
  230. data/windows/zlib, libpng/libpng/scripts/makefile.acorn +0 -51
  231. data/windows/zlib, libpng/libpng/scripts/makefile.aix +0 -113
  232. data/windows/zlib, libpng/libpng/scripts/makefile.amiga +0 -48
  233. data/windows/zlib, libpng/libpng/scripts/makefile.atari +0 -51
  234. data/windows/zlib, libpng/libpng/scripts/makefile.bc32 +0 -152
  235. data/windows/zlib, libpng/libpng/scripts/makefile.beos +0 -226
  236. data/windows/zlib, libpng/libpng/scripts/makefile.bor +0 -162
  237. data/windows/zlib, libpng/libpng/scripts/makefile.cygwin +0 -299
  238. data/windows/zlib, libpng/libpng/scripts/makefile.darwin +0 -234
  239. data/windows/zlib, libpng/libpng/scripts/makefile.dec +0 -214
  240. data/windows/zlib, libpng/libpng/scripts/makefile.dj2 +0 -55
  241. data/windows/zlib, libpng/libpng/scripts/makefile.elf +0 -275
  242. data/windows/zlib, libpng/libpng/scripts/makefile.freebsd +0 -48
  243. data/windows/zlib, libpng/libpng/scripts/makefile.gcc +0 -79
  244. data/windows/zlib, libpng/libpng/scripts/makefile.gcmmx +0 -271
  245. data/windows/zlib, libpng/libpng/scripts/makefile.hp64 +0 -235
  246. data/windows/zlib, libpng/libpng/scripts/makefile.hpgcc +0 -245
  247. data/windows/zlib, libpng/libpng/scripts/makefile.hpux +0 -232
  248. data/windows/zlib, libpng/libpng/scripts/makefile.ibmc +0 -71
  249. data/windows/zlib, libpng/libpng/scripts/makefile.intel +0 -102
  250. data/windows/zlib, libpng/libpng/scripts/makefile.knr +0 -99
  251. data/windows/zlib, libpng/libpng/scripts/makefile.linux +0 -249
  252. data/windows/zlib, libpng/libpng/scripts/makefile.mingw +0 -289
  253. data/windows/zlib, libpng/libpng/scripts/makefile.mips +0 -83
  254. data/windows/zlib, libpng/libpng/scripts/makefile.msc +0 -86
  255. data/windows/zlib, libpng/libpng/scripts/makefile.ne12bsd +0 -45
  256. data/windows/zlib, libpng/libpng/scripts/makefile.netbsd +0 -45
  257. data/windows/zlib, libpng/libpng/scripts/makefile.nommx +0 -252
  258. data/windows/zlib, libpng/libpng/scripts/makefile.openbsd +0 -73
  259. data/windows/zlib, libpng/libpng/scripts/makefile.os2 +0 -69
  260. data/windows/zlib, libpng/libpng/scripts/makefile.sco +0 -229
  261. data/windows/zlib, libpng/libpng/scripts/makefile.sggcc +0 -242
  262. data/windows/zlib, libpng/libpng/scripts/makefile.sgi +0 -245
  263. data/windows/zlib, libpng/libpng/scripts/makefile.so9 +0 -251
  264. data/windows/zlib, libpng/libpng/scripts/makefile.solaris +0 -249
  265. data/windows/zlib, libpng/libpng/scripts/makefile.solaris-x86 +0 -248
  266. data/windows/zlib, libpng/libpng/scripts/makefile.std +0 -92
  267. data/windows/zlib, libpng/libpng/scripts/makefile.sunos +0 -97
  268. data/windows/zlib, libpng/libpng/scripts/makefile.tc3 +0 -89
  269. data/windows/zlib, libpng/libpng/scripts/makefile.vcawin32 +0 -99
  270. data/windows/zlib, libpng/libpng/scripts/makefile.vcwin32 +0 -99
  271. data/windows/zlib, libpng/libpng/scripts/makefile.watcom +0 -109
  272. data/windows/zlib, libpng/libpng/scripts/makevms.com +0 -144
  273. data/windows/zlib, libpng/libpng/scripts/pngos2.def +0 -257
  274. data/windows/zlib, libpng/libpng/scripts/pngw32.def +0 -238
  275. data/windows/zlib, libpng/libpng/scripts/pngw32.rc +0 -112
  276. data/windows/zlib, libpng/libpng/scripts/smakefile.ppc +0 -30
  277. data/windows/zlib, libpng/zlib/ChangeLog +0 -855
  278. data/windows/zlib, libpng/zlib/FAQ +0 -339
  279. data/windows/zlib, libpng/zlib/INDEX +0 -51
  280. data/windows/zlib, libpng/zlib/Makefile +0 -154
  281. data/windows/zlib, libpng/zlib/Makefile.in +0 -154
  282. data/windows/zlib, libpng/zlib/README +0 -125
  283. data/windows/zlib, libpng/zlib/adler32.c +0 -149
  284. data/windows/zlib, libpng/zlib/algorithm.txt +0 -209
  285. data/windows/zlib, libpng/zlib/amiga/Makefile.pup +0 -66
  286. data/windows/zlib, libpng/zlib/amiga/Makefile.sas +0 -65
  287. data/windows/zlib, libpng/zlib/as400/bndsrc +0 -132
  288. data/windows/zlib, libpng/zlib/as400/compile.clp +0 -123
  289. data/windows/zlib, libpng/zlib/as400/readme.txt +0 -111
  290. data/windows/zlib, libpng/zlib/as400/zlib.inc +0 -331
  291. data/windows/zlib, libpng/zlib/compress.c +0 -79
  292. data/windows/zlib, libpng/zlib/configure +0 -459
  293. data/windows/zlib, libpng/zlib/contrib/README.contrib +0 -71
  294. data/windows/zlib, libpng/zlib/contrib/ada/buffer_demo.adb +0 -106
  295. data/windows/zlib, libpng/zlib/contrib/ada/mtest.adb +0 -156
  296. data/windows/zlib, libpng/zlib/contrib/ada/read.adb +0 -156
  297. data/windows/zlib, libpng/zlib/contrib/ada/readme.txt +0 -65
  298. data/windows/zlib, libpng/zlib/contrib/ada/test.adb +0 -463
  299. data/windows/zlib, libpng/zlib/contrib/ada/zlib-streams.adb +0 -225
  300. data/windows/zlib, libpng/zlib/contrib/ada/zlib-streams.ads +0 -114
  301. data/windows/zlib, libpng/zlib/contrib/ada/zlib-thin.adb +0 -141
  302. data/windows/zlib, libpng/zlib/contrib/ada/zlib-thin.ads +0 -450
  303. data/windows/zlib, libpng/zlib/contrib/ada/zlib.adb +0 -701
  304. data/windows/zlib, libpng/zlib/contrib/ada/zlib.ads +0 -328
  305. data/windows/zlib, libpng/zlib/contrib/ada/zlib.gpr +0 -20
  306. data/windows/zlib, libpng/zlib/contrib/asm586/README.586 +0 -43
  307. data/windows/zlib, libpng/zlib/contrib/asm586/match.S +0 -364
  308. data/windows/zlib, libpng/zlib/contrib/asm686/README.686 +0 -34
  309. data/windows/zlib, libpng/zlib/contrib/asm686/match.S +0 -329
  310. data/windows/zlib, libpng/zlib/contrib/blast/Makefile +0 -8
  311. data/windows/zlib, libpng/zlib/contrib/blast/README +0 -4
  312. data/windows/zlib, libpng/zlib/contrib/blast/blast.c +0 -444
  313. data/windows/zlib, libpng/zlib/contrib/blast/blast.h +0 -71
  314. data/windows/zlib, libpng/zlib/contrib/blast/test.pk +0 -0
  315. data/windows/zlib, libpng/zlib/contrib/blast/test.txt +0 -1
  316. data/windows/zlib, libpng/zlib/contrib/delphi/ZLib.pas +0 -557
  317. data/windows/zlib, libpng/zlib/contrib/delphi/ZLibConst.pas +0 -11
  318. data/windows/zlib, libpng/zlib/contrib/delphi/readme.txt +0 -76
  319. data/windows/zlib, libpng/zlib/contrib/delphi/zlibd32.mak +0 -93
  320. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.build +0 -33
  321. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.chm +0 -0
  322. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib.sln +0 -21
  323. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs +0 -58
  324. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs +0 -202
  325. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs +0 -83
  326. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/CodecBase.cs +0 -198
  327. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/Deflater.cs +0 -106
  328. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/DotZLib.cs +0 -288
  329. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj +0 -141
  330. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/GZipStream.cs +0 -301
  331. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/Inflater.cs +0 -105
  332. data/windows/zlib, libpng/zlib/contrib/dotzlib/DotZLib/UnitTests.cs +0 -274
  333. data/windows/zlib, libpng/zlib/contrib/dotzlib/LICENSE_1_0.txt +0 -23
  334. data/windows/zlib, libpng/zlib/contrib/dotzlib/readme.txt +0 -58
  335. data/windows/zlib, libpng/zlib/contrib/infback9/README +0 -1
  336. data/windows/zlib, libpng/zlib/contrib/infback9/infback9.c +0 -608
  337. data/windows/zlib, libpng/zlib/contrib/infback9/infback9.h +0 -37
  338. data/windows/zlib, libpng/zlib/contrib/infback9/inffix9.h +0 -107
  339. data/windows/zlib, libpng/zlib/contrib/infback9/inflate9.h +0 -47
  340. data/windows/zlib, libpng/zlib/contrib/infback9/inftree9.c +0 -323
  341. data/windows/zlib, libpng/zlib/contrib/infback9/inftree9.h +0 -55
  342. data/windows/zlib, libpng/zlib/contrib/inflate86/inffas86.c +0 -1157
  343. data/windows/zlib, libpng/zlib/contrib/inflate86/inffast.S +0 -1368
  344. data/windows/zlib, libpng/zlib/contrib/iostream/test.cpp +0 -24
  345. data/windows/zlib, libpng/zlib/contrib/iostream/zfstream.cpp +0 -329
  346. data/windows/zlib, libpng/zlib/contrib/iostream/zfstream.h +0 -128
  347. data/windows/zlib, libpng/zlib/contrib/iostream2/zstream.h +0 -307
  348. data/windows/zlib, libpng/zlib/contrib/iostream2/zstream_test.cpp +0 -25
  349. data/windows/zlib, libpng/zlib/contrib/iostream3/README +0 -35
  350. data/windows/zlib, libpng/zlib/contrib/iostream3/TODO +0 -17
  351. data/windows/zlib, libpng/zlib/contrib/iostream3/test.cc +0 -50
  352. data/windows/zlib, libpng/zlib/contrib/iostream3/zfstream.cc +0 -479
  353. data/windows/zlib, libpng/zlib/contrib/iostream3/zfstream.h +0 -466
  354. data/windows/zlib, libpng/zlib/contrib/masm686/match.asm +0 -413
  355. data/windows/zlib, libpng/zlib/contrib/masmx64/bld_ml64.bat +0 -2
  356. data/windows/zlib, libpng/zlib/contrib/masmx64/gvmat64.asm +0 -513
  357. data/windows/zlib, libpng/zlib/contrib/masmx64/gvmat64.obj +0 -0
  358. data/windows/zlib, libpng/zlib/contrib/masmx64/inffas8664.c +0 -186
  359. data/windows/zlib, libpng/zlib/contrib/masmx64/inffasx64.asm +0 -392
  360. data/windows/zlib, libpng/zlib/contrib/masmx64/inffasx64.obj +0 -0
  361. data/windows/zlib, libpng/zlib/contrib/masmx64/readme.txt +0 -28
  362. data/windows/zlib, libpng/zlib/contrib/masmx86/bld_ml32.bat +0 -2
  363. data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32.asm +0 -972
  364. data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32.obj +0 -0
  365. data/windows/zlib, libpng/zlib/contrib/masmx86/gvmat32c.c +0 -62
  366. data/windows/zlib, libpng/zlib/contrib/masmx86/inffas32.asm +0 -1083
  367. data/windows/zlib, libpng/zlib/contrib/masmx86/inffas32.obj +0 -0
  368. data/windows/zlib, libpng/zlib/contrib/masmx86/mkasm.bat +0 -3
  369. data/windows/zlib, libpng/zlib/contrib/masmx86/readme.txt +0 -21
  370. data/windows/zlib, libpng/zlib/contrib/minizip/ChangeLogUnzip +0 -67
  371. data/windows/zlib, libpng/zlib/contrib/minizip/Makefile +0 -25
  372. data/windows/zlib, libpng/zlib/contrib/minizip/crypt.h +0 -132
  373. data/windows/zlib, libpng/zlib/contrib/minizip/ioapi.c +0 -177
  374. data/windows/zlib, libpng/zlib/contrib/minizip/ioapi.h +0 -75
  375. data/windows/zlib, libpng/zlib/contrib/minizip/iowin32.c +0 -270
  376. data/windows/zlib, libpng/zlib/contrib/minizip/iowin32.h +0 -21
  377. data/windows/zlib, libpng/zlib/contrib/minizip/miniunz.c +0 -585
  378. data/windows/zlib, libpng/zlib/contrib/minizip/minizip.c +0 -420
  379. data/windows/zlib, libpng/zlib/contrib/minizip/mztools.c +0 -281
  380. data/windows/zlib, libpng/zlib/contrib/minizip/mztools.h +0 -31
  381. data/windows/zlib, libpng/zlib/contrib/minizip/unzip.c +0 -1598
  382. data/windows/zlib, libpng/zlib/contrib/minizip/unzip.h +0 -354
  383. data/windows/zlib, libpng/zlib/contrib/minizip/zip.c +0 -1219
  384. data/windows/zlib, libpng/zlib/contrib/minizip/zip.h +0 -235
  385. data/windows/zlib, libpng/zlib/contrib/pascal/example.pas +0 -599
  386. data/windows/zlib, libpng/zlib/contrib/pascal/readme.txt +0 -76
  387. data/windows/zlib, libpng/zlib/contrib/pascal/zlibd32.mak +0 -93
  388. data/windows/zlib, libpng/zlib/contrib/pascal/zlibpas.pas +0 -236
  389. data/windows/zlib, libpng/zlib/contrib/puff/Makefile +0 -8
  390. data/windows/zlib, libpng/zlib/contrib/puff/README +0 -63
  391. data/windows/zlib, libpng/zlib/contrib/puff/puff.c +0 -837
  392. data/windows/zlib, libpng/zlib/contrib/puff/puff.h +0 -31
  393. data/windows/zlib, libpng/zlib/contrib/puff/zeros.raw +0 -0
  394. data/windows/zlib, libpng/zlib/contrib/testzlib/testzlib.c +0 -275
  395. data/windows/zlib, libpng/zlib/contrib/testzlib/testzlib.txt +0 -10
  396. data/windows/zlib, libpng/zlib/contrib/untgz/Makefile +0 -14
  397. data/windows/zlib, libpng/zlib/contrib/untgz/Makefile.msc +0 -17
  398. data/windows/zlib, libpng/zlib/contrib/untgz/untgz.c +0 -674
  399. data/windows/zlib, libpng/zlib/contrib/vstudio/readme.txt +0 -73
  400. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/miniunz.vcproj +0 -126
  401. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/minizip.vcproj +0 -126
  402. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/testzlib.vcproj +0 -126
  403. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlib.rc +0 -32
  404. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibstat.vcproj +0 -246
  405. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.def +0 -92
  406. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.sln +0 -78
  407. data/windows/zlib, libpng/zlib/contrib/vstudio/vc7/zlibvc.vcproj +0 -445
  408. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/miniunz.vcproj +0 -566
  409. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/minizip.vcproj +0 -563
  410. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/testzlib.vcproj +0 -948
  411. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/testzlibdll.vcproj +0 -567
  412. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlib.rc +0 -32
  413. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibstat.vcproj +0 -870
  414. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.def +0 -92
  415. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.sln +0 -144
  416. data/windows/zlib, libpng/zlib/contrib/vstudio/vc8/zlibvc.vcproj +0 -1219
  417. data/windows/zlib, libpng/zlib/crc32.c +0 -423
  418. data/windows/zlib, libpng/zlib/crc32.h +0 -441
  419. data/windows/zlib, libpng/zlib/deflate.c +0 -1736
  420. data/windows/zlib, libpng/zlib/deflate.h +0 -331
  421. data/windows/zlib, libpng/zlib/example.c +0 -565
  422. data/windows/zlib, libpng/zlib/examples/README.examples +0 -42
  423. data/windows/zlib, libpng/zlib/examples/fitblk.c +0 -233
  424. data/windows/zlib, libpng/zlib/examples/gun.c +0 -693
  425. data/windows/zlib, libpng/zlib/examples/gzappend.c +0 -500
  426. data/windows/zlib, libpng/zlib/examples/gzjoin.c +0 -448
  427. data/windows/zlib, libpng/zlib/examples/gzlog.c +0 -413
  428. data/windows/zlib, libpng/zlib/examples/gzlog.h +0 -58
  429. data/windows/zlib, libpng/zlib/examples/zlib_how.html +0 -523
  430. data/windows/zlib, libpng/zlib/examples/zpipe.c +0 -191
  431. data/windows/zlib, libpng/zlib/examples/zran.c +0 -404
  432. data/windows/zlib, libpng/zlib/gzio.c +0 -1026
  433. data/windows/zlib, libpng/zlib/infback.c +0 -623
  434. data/windows/zlib, libpng/zlib/inffast.c +0 -318
  435. data/windows/zlib, libpng/zlib/inffast.h +0 -11
  436. data/windows/zlib, libpng/zlib/inffixed.h +0 -94
  437. data/windows/zlib, libpng/zlib/inflate.c +0 -1368
  438. data/windows/zlib, libpng/zlib/inflate.h +0 -115
  439. data/windows/zlib, libpng/zlib/inftrees.c +0 -329
  440. data/windows/zlib, libpng/zlib/inftrees.h +0 -55
  441. data/windows/zlib, libpng/zlib/make_vms.com +0 -461
  442. data/windows/zlib, libpng/zlib/minigzip.c +0 -322
  443. data/windows/zlib, libpng/zlib/msdos/Makefile.bor +0 -109
  444. data/windows/zlib, libpng/zlib/msdos/Makefile.dj2 +0 -104
  445. data/windows/zlib, libpng/zlib/msdos/Makefile.emx +0 -69
  446. data/windows/zlib, libpng/zlib/msdos/Makefile.msc +0 -106
  447. data/windows/zlib, libpng/zlib/msdos/Makefile.tc +0 -94
  448. data/windows/zlib, libpng/zlib/old/Makefile.riscos +0 -151
  449. data/windows/zlib, libpng/zlib/old/README +0 -3
  450. data/windows/zlib, libpng/zlib/old/descrip.mms +0 -48
  451. data/windows/zlib, libpng/zlib/old/os2/Makefile.os2 +0 -136
  452. data/windows/zlib, libpng/zlib/old/os2/zlib.def +0 -51
  453. data/windows/zlib, libpng/zlib/old/visual-basic.txt +0 -160
  454. data/windows/zlib, libpng/zlib/old/zlib.html +0 -971
  455. data/windows/zlib, libpng/zlib/projects/README.projects +0 -41
  456. data/windows/zlib, libpng/zlib/projects/visualc6/README.txt +0 -73
  457. data/windows/zlib, libpng/zlib/projects/visualc6/example.dsp +0 -278
  458. data/windows/zlib, libpng/zlib/projects/visualc6/minigzip.dsp +0 -278
  459. data/windows/zlib, libpng/zlib/projects/visualc6/zlib.dsp +0 -609
  460. data/windows/zlib, libpng/zlib/projects/visualc6/zlib.dsw +0 -59
  461. data/windows/zlib, libpng/zlib/qnx/package.qpg +0 -141
  462. data/windows/zlib, libpng/zlib/trees.c +0 -1219
  463. data/windows/zlib, libpng/zlib/trees.h +0 -128
  464. data/windows/zlib, libpng/zlib/uncompr.c +0 -61
  465. data/windows/zlib, libpng/zlib/win32/DLL_FAQ.txt +0 -397
  466. data/windows/zlib, libpng/zlib/win32/Makefile.bor +0 -107
  467. data/windows/zlib, libpng/zlib/win32/Makefile.emx +0 -69
  468. data/windows/zlib, libpng/zlib/win32/Makefile.gcc +0 -141
  469. data/windows/zlib, libpng/zlib/win32/Makefile.msc +0 -126
  470. data/windows/zlib, libpng/zlib/win32/VisualC.txt +0 -3
  471. data/windows/zlib, libpng/zlib/win32/zlib.def +0 -60
  472. data/windows/zlib, libpng/zlib/win32/zlib1.rc +0 -39
  473. data/windows/zlib, libpng/zlib/zconf.h +0 -332
  474. data/windows/zlib, libpng/zlib/zconf.in.h +0 -332
  475. data/windows/zlib, libpng/zlib/zlib.3 +0 -159
  476. data/windows/zlib, libpng/zlib/zlib.h +0 -1357
  477. data/windows/zlib, libpng/zlib/zutil.c +0 -318
  478. data/windows/zlib, libpng/zlib/zutil.h +0 -269
@@ -1,450 +0,0 @@
1
- ----------------------------------------------------------------
2
- -- ZLib for Ada thick binding. --
3
- -- --
4
- -- Copyright (C) 2002-2003 Dmitriy Anisimkov --
5
- -- --
6
- -- Open source license information is in the zlib.ads file. --
7
- ----------------------------------------------------------------
8
-
9
- -- $Id: zlib-thin.ads,v 1.11 2004/07/23 06:33:11 vagul Exp $
10
-
11
- with Interfaces.C.Strings;
12
-
13
- with System;
14
-
15
- private package ZLib.Thin is
16
-
17
- -- From zconf.h
18
-
19
- MAX_MEM_LEVEL : constant := 9; -- zconf.h:105
20
- -- zconf.h:105
21
- MAX_WBITS : constant := 15; -- zconf.h:115
22
- -- 32K LZ77 window
23
- -- zconf.h:115
24
- SEEK_SET : constant := 8#0000#; -- zconf.h:244
25
- -- Seek from beginning of file.
26
- -- zconf.h:244
27
- SEEK_CUR : constant := 1; -- zconf.h:245
28
- -- Seek from current position.
29
- -- zconf.h:245
30
- SEEK_END : constant := 2; -- zconf.h:246
31
- -- Set file pointer to EOF plus "offset"
32
- -- zconf.h:246
33
-
34
- type Byte is new Interfaces.C.unsigned_char; -- 8 bits
35
- -- zconf.h:214
36
- type UInt is new Interfaces.C.unsigned; -- 16 bits or more
37
- -- zconf.h:216
38
- type Int is new Interfaces.C.int;
39
-
40
- type ULong is new Interfaces.C.unsigned_long; -- 32 bits or more
41
- -- zconf.h:217
42
- subtype Chars_Ptr is Interfaces.C.Strings.chars_ptr;
43
-
44
- type ULong_Access is access ULong;
45
- type Int_Access is access Int;
46
-
47
- subtype Voidp is System.Address; -- zconf.h:232
48
-
49
- subtype Byte_Access is Voidp;
50
-
51
- Nul : constant Voidp := System.Null_Address;
52
- -- end from zconf
53
-
54
- Z_NO_FLUSH : constant := 8#0000#; -- zlib.h:125
55
- -- zlib.h:125
56
- Z_PARTIAL_FLUSH : constant := 1; -- zlib.h:126
57
- -- will be removed, use
58
- -- Z_SYNC_FLUSH instead
59
- -- zlib.h:126
60
- Z_SYNC_FLUSH : constant := 2; -- zlib.h:127
61
- -- zlib.h:127
62
- Z_FULL_FLUSH : constant := 3; -- zlib.h:128
63
- -- zlib.h:128
64
- Z_FINISH : constant := 4; -- zlib.h:129
65
- -- zlib.h:129
66
- Z_OK : constant := 8#0000#; -- zlib.h:132
67
- -- zlib.h:132
68
- Z_STREAM_END : constant := 1; -- zlib.h:133
69
- -- zlib.h:133
70
- Z_NEED_DICT : constant := 2; -- zlib.h:134
71
- -- zlib.h:134
72
- Z_ERRNO : constant := -1; -- zlib.h:135
73
- -- zlib.h:135
74
- Z_STREAM_ERROR : constant := -2; -- zlib.h:136
75
- -- zlib.h:136
76
- Z_DATA_ERROR : constant := -3; -- zlib.h:137
77
- -- zlib.h:137
78
- Z_MEM_ERROR : constant := -4; -- zlib.h:138
79
- -- zlib.h:138
80
- Z_BUF_ERROR : constant := -5; -- zlib.h:139
81
- -- zlib.h:139
82
- Z_VERSION_ERROR : constant := -6; -- zlib.h:140
83
- -- zlib.h:140
84
- Z_NO_COMPRESSION : constant := 8#0000#; -- zlib.h:145
85
- -- zlib.h:145
86
- Z_BEST_SPEED : constant := 1; -- zlib.h:146
87
- -- zlib.h:146
88
- Z_BEST_COMPRESSION : constant := 9; -- zlib.h:147
89
- -- zlib.h:147
90
- Z_DEFAULT_COMPRESSION : constant := -1; -- zlib.h:148
91
- -- zlib.h:148
92
- Z_FILTERED : constant := 1; -- zlib.h:151
93
- -- zlib.h:151
94
- Z_HUFFMAN_ONLY : constant := 2; -- zlib.h:152
95
- -- zlib.h:152
96
- Z_DEFAULT_STRATEGY : constant := 8#0000#; -- zlib.h:153
97
- -- zlib.h:153
98
- Z_BINARY : constant := 8#0000#; -- zlib.h:156
99
- -- zlib.h:156
100
- Z_ASCII : constant := 1; -- zlib.h:157
101
- -- zlib.h:157
102
- Z_UNKNOWN : constant := 2; -- zlib.h:158
103
- -- zlib.h:158
104
- Z_DEFLATED : constant := 8; -- zlib.h:161
105
- -- zlib.h:161
106
- Z_NULL : constant := 8#0000#; -- zlib.h:164
107
- -- for initializing zalloc, zfree, opaque
108
- -- zlib.h:164
109
- type gzFile is new Voidp; -- zlib.h:646
110
-
111
- type Z_Stream is private;
112
-
113
- type Z_Streamp is access all Z_Stream; -- zlib.h:89
114
-
115
- type alloc_func is access function
116
- (Opaque : Voidp;
117
- Items : UInt;
118
- Size : UInt)
119
- return Voidp; -- zlib.h:63
120
-
121
- type free_func is access procedure (opaque : Voidp; address : Voidp);
122
-
123
- function zlibVersion return Chars_Ptr;
124
-
125
- function Deflate (strm : Z_Streamp; flush : Int) return Int;
126
-
127
- function DeflateEnd (strm : Z_Streamp) return Int;
128
-
129
- function Inflate (strm : Z_Streamp; flush : Int) return Int;
130
-
131
- function InflateEnd (strm : Z_Streamp) return Int;
132
-
133
- function deflateSetDictionary
134
- (strm : Z_Streamp;
135
- dictionary : Byte_Access;
136
- dictLength : UInt)
137
- return Int;
138
-
139
- function deflateCopy (dest : Z_Streamp; source : Z_Streamp) return Int;
140
- -- zlib.h:478
141
-
142
- function deflateReset (strm : Z_Streamp) return Int; -- zlib.h:495
143
-
144
- function deflateParams
145
- (strm : Z_Streamp;
146
- level : Int;
147
- strategy : Int)
148
- return Int; -- zlib.h:506
149
-
150
- function inflateSetDictionary
151
- (strm : Z_Streamp;
152
- dictionary : Byte_Access;
153
- dictLength : UInt)
154
- return Int; -- zlib.h:548
155
-
156
- function inflateSync (strm : Z_Streamp) return Int; -- zlib.h:565
157
-
158
- function inflateReset (strm : Z_Streamp) return Int; -- zlib.h:580
159
-
160
- function compress
161
- (dest : Byte_Access;
162
- destLen : ULong_Access;
163
- source : Byte_Access;
164
- sourceLen : ULong)
165
- return Int; -- zlib.h:601
166
-
167
- function compress2
168
- (dest : Byte_Access;
169
- destLen : ULong_Access;
170
- source : Byte_Access;
171
- sourceLen : ULong;
172
- level : Int)
173
- return Int; -- zlib.h:615
174
-
175
- function uncompress
176
- (dest : Byte_Access;
177
- destLen : ULong_Access;
178
- source : Byte_Access;
179
- sourceLen : ULong)
180
- return Int;
181
-
182
- function gzopen (path : Chars_Ptr; mode : Chars_Ptr) return gzFile;
183
-
184
- function gzdopen (fd : Int; mode : Chars_Ptr) return gzFile;
185
-
186
- function gzsetparams
187
- (file : gzFile;
188
- level : Int;
189
- strategy : Int)
190
- return Int;
191
-
192
- function gzread
193
- (file : gzFile;
194
- buf : Voidp;
195
- len : UInt)
196
- return Int;
197
-
198
- function gzwrite
199
- (file : in gzFile;
200
- buf : in Voidp;
201
- len : in UInt)
202
- return Int;
203
-
204
- function gzprintf (file : in gzFile; format : in Chars_Ptr) return Int;
205
-
206
- function gzputs (file : in gzFile; s : in Chars_Ptr) return Int;
207
-
208
- function gzgets
209
- (file : gzFile;
210
- buf : Chars_Ptr;
211
- len : Int)
212
- return Chars_Ptr;
213
-
214
- function gzputc (file : gzFile; char : Int) return Int;
215
-
216
- function gzgetc (file : gzFile) return Int;
217
-
218
- function gzflush (file : gzFile; flush : Int) return Int;
219
-
220
- function gzseek
221
- (file : gzFile;
222
- offset : Int;
223
- whence : Int)
224
- return Int;
225
-
226
- function gzrewind (file : gzFile) return Int;
227
-
228
- function gztell (file : gzFile) return Int;
229
-
230
- function gzeof (file : gzFile) return Int;
231
-
232
- function gzclose (file : gzFile) return Int;
233
-
234
- function gzerror (file : gzFile; errnum : Int_Access) return Chars_Ptr;
235
-
236
- function adler32
237
- (adler : ULong;
238
- buf : Byte_Access;
239
- len : UInt)
240
- return ULong;
241
-
242
- function crc32
243
- (crc : ULong;
244
- buf : Byte_Access;
245
- len : UInt)
246
- return ULong;
247
-
248
- function deflateInit
249
- (strm : Z_Streamp;
250
- level : Int;
251
- version : Chars_Ptr;
252
- stream_size : Int)
253
- return Int;
254
-
255
- function deflateInit2
256
- (strm : Z_Streamp;
257
- level : Int;
258
- method : Int;
259
- windowBits : Int;
260
- memLevel : Int;
261
- strategy : Int;
262
- version : Chars_Ptr;
263
- stream_size : Int)
264
- return Int;
265
-
266
- function Deflate_Init
267
- (strm : Z_Streamp;
268
- level : Int;
269
- method : Int;
270
- windowBits : Int;
271
- memLevel : Int;
272
- strategy : Int)
273
- return Int;
274
- pragma Inline (Deflate_Init);
275
-
276
- function inflateInit
277
- (strm : Z_Streamp;
278
- version : Chars_Ptr;
279
- stream_size : Int)
280
- return Int;
281
-
282
- function inflateInit2
283
- (strm : in Z_Streamp;
284
- windowBits : in Int;
285
- version : in Chars_Ptr;
286
- stream_size : in Int)
287
- return Int;
288
-
289
- function inflateBackInit
290
- (strm : in Z_Streamp;
291
- windowBits : in Int;
292
- window : in Byte_Access;
293
- version : in Chars_Ptr;
294
- stream_size : in Int)
295
- return Int;
296
- -- Size of window have to be 2**windowBits.
297
-
298
- function Inflate_Init (strm : Z_Streamp; windowBits : Int) return Int;
299
- pragma Inline (Inflate_Init);
300
-
301
- function zError (err : Int) return Chars_Ptr;
302
-
303
- function inflateSyncPoint (z : Z_Streamp) return Int;
304
-
305
- function get_crc_table return ULong_Access;
306
-
307
- -- Interface to the available fields of the z_stream structure.
308
- -- The application must update next_in and avail_in when avail_in has
309
- -- dropped to zero. It must update next_out and avail_out when avail_out
310
- -- has dropped to zero. The application must initialize zalloc, zfree and
311
- -- opaque before calling the init function.
312
-
313
- procedure Set_In
314
- (Strm : in out Z_Stream;
315
- Buffer : in Voidp;
316
- Size : in UInt);
317
- pragma Inline (Set_In);
318
-
319
- procedure Set_Out
320
- (Strm : in out Z_Stream;
321
- Buffer : in Voidp;
322
- Size : in UInt);
323
- pragma Inline (Set_Out);
324
-
325
- procedure Set_Mem_Func
326
- (Strm : in out Z_Stream;
327
- Opaque : in Voidp;
328
- Alloc : in alloc_func;
329
- Free : in free_func);
330
- pragma Inline (Set_Mem_Func);
331
-
332
- function Last_Error_Message (Strm : in Z_Stream) return String;
333
- pragma Inline (Last_Error_Message);
334
-
335
- function Avail_Out (Strm : in Z_Stream) return UInt;
336
- pragma Inline (Avail_Out);
337
-
338
- function Avail_In (Strm : in Z_Stream) return UInt;
339
- pragma Inline (Avail_In);
340
-
341
- function Total_In (Strm : in Z_Stream) return ULong;
342
- pragma Inline (Total_In);
343
-
344
- function Total_Out (Strm : in Z_Stream) return ULong;
345
- pragma Inline (Total_Out);
346
-
347
- function inflateCopy
348
- (dest : in Z_Streamp;
349
- Source : in Z_Streamp)
350
- return Int;
351
-
352
- function compressBound (Source_Len : in ULong) return ULong;
353
-
354
- function deflateBound
355
- (Strm : in Z_Streamp;
356
- Source_Len : in ULong)
357
- return ULong;
358
-
359
- function gzungetc (C : in Int; File : in gzFile) return Int;
360
-
361
- function zlibCompileFlags return ULong;
362
-
363
- private
364
-
365
- type Z_Stream is record -- zlib.h:68
366
- Next_In : Voidp := Nul; -- next input byte
367
- Avail_In : UInt := 0; -- number of bytes available at next_in
368
- Total_In : ULong := 0; -- total nb of input bytes read so far
369
- Next_Out : Voidp := Nul; -- next output byte should be put there
370
- Avail_Out : UInt := 0; -- remaining free space at next_out
371
- Total_Out : ULong := 0; -- total nb of bytes output so far
372
- msg : Chars_Ptr; -- last error message, NULL if no error
373
- state : Voidp; -- not visible by applications
374
- zalloc : alloc_func := null; -- used to allocate the internal state
375
- zfree : free_func := null; -- used to free the internal state
376
- opaque : Voidp; -- private data object passed to
377
- -- zalloc and zfree
378
- data_type : Int; -- best guess about the data type:
379
- -- ascii or binary
380
- adler : ULong; -- adler32 value of the uncompressed
381
- -- data
382
- reserved : ULong; -- reserved for future use
383
- end record;
384
-
385
- pragma Convention (C, Z_Stream);
386
-
387
- pragma Import (C, zlibVersion, "zlibVersion");
388
- pragma Import (C, Deflate, "deflate");
389
- pragma Import (C, DeflateEnd, "deflateEnd");
390
- pragma Import (C, Inflate, "inflate");
391
- pragma Import (C, InflateEnd, "inflateEnd");
392
- pragma Import (C, deflateSetDictionary, "deflateSetDictionary");
393
- pragma Import (C, deflateCopy, "deflateCopy");
394
- pragma Import (C, deflateReset, "deflateReset");
395
- pragma Import (C, deflateParams, "deflateParams");
396
- pragma Import (C, inflateSetDictionary, "inflateSetDictionary");
397
- pragma Import (C, inflateSync, "inflateSync");
398
- pragma Import (C, inflateReset, "inflateReset");
399
- pragma Import (C, compress, "compress");
400
- pragma Import (C, compress2, "compress2");
401
- pragma Import (C, uncompress, "uncompress");
402
- pragma Import (C, gzopen, "gzopen");
403
- pragma Import (C, gzdopen, "gzdopen");
404
- pragma Import (C, gzsetparams, "gzsetparams");
405
- pragma Import (C, gzread, "gzread");
406
- pragma Import (C, gzwrite, "gzwrite");
407
- pragma Import (C, gzprintf, "gzprintf");
408
- pragma Import (C, gzputs, "gzputs");
409
- pragma Import (C, gzgets, "gzgets");
410
- pragma Import (C, gzputc, "gzputc");
411
- pragma Import (C, gzgetc, "gzgetc");
412
- pragma Import (C, gzflush, "gzflush");
413
- pragma Import (C, gzseek, "gzseek");
414
- pragma Import (C, gzrewind, "gzrewind");
415
- pragma Import (C, gztell, "gztell");
416
- pragma Import (C, gzeof, "gzeof");
417
- pragma Import (C, gzclose, "gzclose");
418
- pragma Import (C, gzerror, "gzerror");
419
- pragma Import (C, adler32, "adler32");
420
- pragma Import (C, crc32, "crc32");
421
- pragma Import (C, deflateInit, "deflateInit_");
422
- pragma Import (C, inflateInit, "inflateInit_");
423
- pragma Import (C, deflateInit2, "deflateInit2_");
424
- pragma Import (C, inflateInit2, "inflateInit2_");
425
- pragma Import (C, zError, "zError");
426
- pragma Import (C, inflateSyncPoint, "inflateSyncPoint");
427
- pragma Import (C, get_crc_table, "get_crc_table");
428
-
429
- -- since zlib 1.2.0:
430
-
431
- pragma Import (C, inflateCopy, "inflateCopy");
432
- pragma Import (C, compressBound, "compressBound");
433
- pragma Import (C, deflateBound, "deflateBound");
434
- pragma Import (C, gzungetc, "gzungetc");
435
- pragma Import (C, zlibCompileFlags, "zlibCompileFlags");
436
-
437
- pragma Import (C, inflateBackInit, "inflateBackInit_");
438
-
439
- -- I stopped binding the inflateBack routines, becouse realize that
440
- -- it does not support zlib and gzip headers for now, and have no
441
- -- symmetric deflateBack routines.
442
- -- ZLib-Ada is symmetric regarding deflate/inflate data transformation
443
- -- and has a similar generic callback interface for the
444
- -- deflate/inflate transformation based on the regular Deflate/Inflate
445
- -- routines.
446
-
447
- -- pragma Import (C, inflateBack, "inflateBack");
448
- -- pragma Import (C, inflateBackEnd, "inflateBackEnd");
449
-
450
- end ZLib.Thin;
@@ -1,701 +0,0 @@
1
- ----------------------------------------------------------------
2
- -- ZLib for Ada thick binding. --
3
- -- --
4
- -- Copyright (C) 2002-2004 Dmitriy Anisimkov --
5
- -- --
6
- -- Open source license information is in the zlib.ads file. --
7
- ----------------------------------------------------------------
8
-
9
- -- $Id: zlib.adb,v 1.31 2004/09/06 06:53:19 vagul Exp $
10
-
11
- with Ada.Exceptions;
12
- with Ada.Unchecked_Conversion;
13
- with Ada.Unchecked_Deallocation;
14
-
15
- with Interfaces.C.Strings;
16
-
17
- with ZLib.Thin;
18
-
19
- package body ZLib is
20
-
21
- use type Thin.Int;
22
-
23
- type Z_Stream is new Thin.Z_Stream;
24
-
25
- type Return_Code_Enum is
26
- (OK,
27
- STREAM_END,
28
- NEED_DICT,
29
- ERRNO,
30
- STREAM_ERROR,
31
- DATA_ERROR,
32
- MEM_ERROR,
33
- BUF_ERROR,
34
- VERSION_ERROR);
35
-
36
- type Flate_Step_Function is access
37
- function (Strm : in Thin.Z_Streamp; Flush : in Thin.Int) return Thin.Int;
38
- pragma Convention (C, Flate_Step_Function);
39
-
40
- type Flate_End_Function is access
41
- function (Ctrm : in Thin.Z_Streamp) return Thin.Int;
42
- pragma Convention (C, Flate_End_Function);
43
-
44
- type Flate_Type is record
45
- Step : Flate_Step_Function;
46
- Done : Flate_End_Function;
47
- end record;
48
-
49
- subtype Footer_Array is Stream_Element_Array (1 .. 8);
50
-
51
- Simple_GZip_Header : constant Stream_Element_Array (1 .. 10)
52
- := (16#1f#, 16#8b#, -- Magic header
53
- 16#08#, -- Z_DEFLATED
54
- 16#00#, -- Flags
55
- 16#00#, 16#00#, 16#00#, 16#00#, -- Time
56
- 16#00#, -- XFlags
57
- 16#03# -- OS code
58
- );
59
- -- The simplest gzip header is not for informational, but just for
60
- -- gzip format compatibility.
61
- -- Note that some code below is using assumption
62
- -- Simple_GZip_Header'Last > Footer_Array'Last, so do not make
63
- -- Simple_GZip_Header'Last <= Footer_Array'Last.
64
-
65
- Return_Code : constant array (Thin.Int range <>) of Return_Code_Enum
66
- := (0 => OK,
67
- 1 => STREAM_END,
68
- 2 => NEED_DICT,
69
- -1 => ERRNO,
70
- -2 => STREAM_ERROR,
71
- -3 => DATA_ERROR,
72
- -4 => MEM_ERROR,
73
- -5 => BUF_ERROR,
74
- -6 => VERSION_ERROR);
75
-
76
- Flate : constant array (Boolean) of Flate_Type
77
- := (True => (Step => Thin.Deflate'Access,
78
- Done => Thin.DeflateEnd'Access),
79
- False => (Step => Thin.Inflate'Access,
80
- Done => Thin.InflateEnd'Access));
81
-
82
- Flush_Finish : constant array (Boolean) of Flush_Mode
83
- := (True => Finish, False => No_Flush);
84
-
85
- procedure Raise_Error (Stream : in Z_Stream);
86
- pragma Inline (Raise_Error);
87
-
88
- procedure Raise_Error (Message : in String);
89
- pragma Inline (Raise_Error);
90
-
91
- procedure Check_Error (Stream : in Z_Stream; Code : in Thin.Int);
92
-
93
- procedure Free is new Ada.Unchecked_Deallocation
94
- (Z_Stream, Z_Stream_Access);
95
-
96
- function To_Thin_Access is new Ada.Unchecked_Conversion
97
- (Z_Stream_Access, Thin.Z_Streamp);
98
-
99
- procedure Translate_GZip
100
- (Filter : in out Filter_Type;
101
- In_Data : in Ada.Streams.Stream_Element_Array;
102
- In_Last : out Ada.Streams.Stream_Element_Offset;
103
- Out_Data : out Ada.Streams.Stream_Element_Array;
104
- Out_Last : out Ada.Streams.Stream_Element_Offset;
105
- Flush : in Flush_Mode);
106
- -- Separate translate routine for make gzip header.
107
-
108
- procedure Translate_Auto
109
- (Filter : in out Filter_Type;
110
- In_Data : in Ada.Streams.Stream_Element_Array;
111
- In_Last : out Ada.Streams.Stream_Element_Offset;
112
- Out_Data : out Ada.Streams.Stream_Element_Array;
113
- Out_Last : out Ada.Streams.Stream_Element_Offset;
114
- Flush : in Flush_Mode);
115
- -- translate routine without additional headers.
116
-
117
- -----------------
118
- -- Check_Error --
119
- -----------------
120
-
121
- procedure Check_Error (Stream : in Z_Stream; Code : in Thin.Int) is
122
- use type Thin.Int;
123
- begin
124
- if Code /= Thin.Z_OK then
125
- Raise_Error
126
- (Return_Code_Enum'Image (Return_Code (Code))
127
- & ": " & Last_Error_Message (Stream));
128
- end if;
129
- end Check_Error;
130
-
131
- -----------
132
- -- Close --
133
- -----------
134
-
135
- procedure Close
136
- (Filter : in out Filter_Type;
137
- Ignore_Error : in Boolean := False)
138
- is
139
- Code : Thin.Int;
140
- begin
141
- if not Ignore_Error and then not Is_Open (Filter) then
142
- raise Status_Error;
143
- end if;
144
-
145
- Code := Flate (Filter.Compression).Done (To_Thin_Access (Filter.Strm));
146
-
147
- if Ignore_Error or else Code = Thin.Z_OK then
148
- Free (Filter.Strm);
149
- else
150
- declare
151
- Error_Message : constant String
152
- := Last_Error_Message (Filter.Strm.all);
153
- begin
154
- Free (Filter.Strm);
155
- Ada.Exceptions.Raise_Exception
156
- (ZLib_Error'Identity,
157
- Return_Code_Enum'Image (Return_Code (Code))
158
- & ": " & Error_Message);
159
- end;
160
- end if;
161
- end Close;
162
-
163
- -----------
164
- -- CRC32 --
165
- -----------
166
-
167
- function CRC32
168
- (CRC : in Unsigned_32;
169
- Data : in Ada.Streams.Stream_Element_Array)
170
- return Unsigned_32
171
- is
172
- use Thin;
173
- begin
174
- return Unsigned_32 (crc32 (ULong (CRC),
175
- Data'Address,
176
- Data'Length));
177
- end CRC32;
178
-
179
- procedure CRC32
180
- (CRC : in out Unsigned_32;
181
- Data : in Ada.Streams.Stream_Element_Array) is
182
- begin
183
- CRC := CRC32 (CRC, Data);
184
- end CRC32;
185
-
186
- ------------------
187
- -- Deflate_Init --
188
- ------------------
189
-
190
- procedure Deflate_Init
191
- (Filter : in out Filter_Type;
192
- Level : in Compression_Level := Default_Compression;
193
- Strategy : in Strategy_Type := Default_Strategy;
194
- Method : in Compression_Method := Deflated;
195
- Window_Bits : in Window_Bits_Type := Default_Window_Bits;
196
- Memory_Level : in Memory_Level_Type := Default_Memory_Level;
197
- Header : in Header_Type := Default)
198
- is
199
- use type Thin.Int;
200
- Win_Bits : Thin.Int := Thin.Int (Window_Bits);
201
- begin
202
- if Is_Open (Filter) then
203
- raise Status_Error;
204
- end if;
205
-
206
- -- We allow ZLib to make header only in case of default header type.
207
- -- Otherwise we would either do header by ourselfs, or do not do
208
- -- header at all.
209
-
210
- if Header = None or else Header = GZip then
211
- Win_Bits := -Win_Bits;
212
- end if;
213
-
214
- -- For the GZip CRC calculation and make headers.
215
-
216
- if Header = GZip then
217
- Filter.CRC := 0;
218
- Filter.Offset := Simple_GZip_Header'First;
219
- else
220
- Filter.Offset := Simple_GZip_Header'Last + 1;
221
- end if;
222
-
223
- Filter.Strm := new Z_Stream;
224
- Filter.Compression := True;
225
- Filter.Stream_End := False;
226
- Filter.Header := Header;
227
-
228
- if Thin.Deflate_Init
229
- (To_Thin_Access (Filter.Strm),
230
- Level => Thin.Int (Level),
231
- method => Thin.Int (Method),
232
- windowBits => Win_Bits,
233
- memLevel => Thin.Int (Memory_Level),
234
- strategy => Thin.Int (Strategy)) /= Thin.Z_OK
235
- then
236
- Raise_Error (Filter.Strm.all);
237
- end if;
238
- end Deflate_Init;
239
-
240
- -----------
241
- -- Flush --
242
- -----------
243
-
244
- procedure Flush
245
- (Filter : in out Filter_Type;
246
- Out_Data : out Ada.Streams.Stream_Element_Array;
247
- Out_Last : out Ada.Streams.Stream_Element_Offset;
248
- Flush : in Flush_Mode)
249
- is
250
- No_Data : Stream_Element_Array := (1 .. 0 => 0);
251
- Last : Stream_Element_Offset;
252
- begin
253
- Translate (Filter, No_Data, Last, Out_Data, Out_Last, Flush);
254
- end Flush;
255
-
256
- -----------------------
257
- -- Generic_Translate --
258
- -----------------------
259
-
260
- procedure Generic_Translate
261
- (Filter : in out ZLib.Filter_Type;
262
- In_Buffer_Size : in Integer := Default_Buffer_Size;
263
- Out_Buffer_Size : in Integer := Default_Buffer_Size)
264
- is
265
- In_Buffer : Stream_Element_Array
266
- (1 .. Stream_Element_Offset (In_Buffer_Size));
267
- Out_Buffer : Stream_Element_Array
268
- (1 .. Stream_Element_Offset (Out_Buffer_Size));
269
- Last : Stream_Element_Offset;
270
- In_Last : Stream_Element_Offset;
271
- In_First : Stream_Element_Offset;
272
- Out_Last : Stream_Element_Offset;
273
- begin
274
- Main : loop
275
- Data_In (In_Buffer, Last);
276
-
277
- In_First := In_Buffer'First;
278
-
279
- loop
280
- Translate
281
- (Filter => Filter,
282
- In_Data => In_Buffer (In_First .. Last),
283
- In_Last => In_Last,
284
- Out_Data => Out_Buffer,
285
- Out_Last => Out_Last,
286
- Flush => Flush_Finish (Last < In_Buffer'First));
287
-
288
- if Out_Buffer'First <= Out_Last then
289
- Data_Out (Out_Buffer (Out_Buffer'First .. Out_Last));
290
- end if;
291
-
292
- exit Main when Stream_End (Filter);
293
-
294
- -- The end of in buffer.
295
-
296
- exit when In_Last = Last;
297
-
298
- In_First := In_Last + 1;
299
- end loop;
300
- end loop Main;
301
-
302
- end Generic_Translate;
303
-
304
- ------------------
305
- -- Inflate_Init --
306
- ------------------
307
-
308
- procedure Inflate_Init
309
- (Filter : in out Filter_Type;
310
- Window_Bits : in Window_Bits_Type := Default_Window_Bits;
311
- Header : in Header_Type := Default)
312
- is
313
- use type Thin.Int;
314
- Win_Bits : Thin.Int := Thin.Int (Window_Bits);
315
-
316
- procedure Check_Version;
317
- -- Check the latest header types compatibility.
318
-
319
- procedure Check_Version is
320
- begin
321
- if Version <= "1.1.4" then
322
- Raise_Error
323
- ("Inflate header type " & Header_Type'Image (Header)
324
- & " incompatible with ZLib version " & Version);
325
- end if;
326
- end Check_Version;
327
-
328
- begin
329
- if Is_Open (Filter) then
330
- raise Status_Error;
331
- end if;
332
-
333
- case Header is
334
- when None =>
335
- Check_Version;
336
-
337
- -- Inflate data without headers determined
338
- -- by negative Win_Bits.
339
-
340
- Win_Bits := -Win_Bits;
341
- when GZip =>
342
- Check_Version;
343
-
344
- -- Inflate gzip data defined by flag 16.
345
-
346
- Win_Bits := Win_Bits + 16;
347
- when Auto =>
348
- Check_Version;
349
-
350
- -- Inflate with automatic detection
351
- -- of gzip or native header defined by flag 32.
352
-
353
- Win_Bits := Win_Bits + 32;
354
- when Default => null;
355
- end case;
356
-
357
- Filter.Strm := new Z_Stream;
358
- Filter.Compression := False;
359
- Filter.Stream_End := False;
360
- Filter.Header := Header;
361
-
362
- if Thin.Inflate_Init
363
- (To_Thin_Access (Filter.Strm), Win_Bits) /= Thin.Z_OK
364
- then
365
- Raise_Error (Filter.Strm.all);
366
- end if;
367
- end Inflate_Init;
368
-
369
- -------------
370
- -- Is_Open --
371
- -------------
372
-
373
- function Is_Open (Filter : in Filter_Type) return Boolean is
374
- begin
375
- return Filter.Strm /= null;
376
- end Is_Open;
377
-
378
- -----------------
379
- -- Raise_Error --
380
- -----------------
381
-
382
- procedure Raise_Error (Message : in String) is
383
- begin
384
- Ada.Exceptions.Raise_Exception (ZLib_Error'Identity, Message);
385
- end Raise_Error;
386
-
387
- procedure Raise_Error (Stream : in Z_Stream) is
388
- begin
389
- Raise_Error (Last_Error_Message (Stream));
390
- end Raise_Error;
391
-
392
- ----------
393
- -- Read --
394
- ----------
395
-
396
- procedure Read
397
- (Filter : in out Filter_Type;
398
- Item : out Ada.Streams.Stream_Element_Array;
399
- Last : out Ada.Streams.Stream_Element_Offset;
400
- Flush : in Flush_Mode := No_Flush)
401
- is
402
- In_Last : Stream_Element_Offset;
403
- Item_First : Ada.Streams.Stream_Element_Offset := Item'First;
404
- V_Flush : Flush_Mode := Flush;
405
-
406
- begin
407
- pragma Assert (Rest_First in Buffer'First .. Buffer'Last + 1);
408
- pragma Assert (Rest_Last in Buffer'First - 1 .. Buffer'Last);
409
-
410
- loop
411
- if Rest_Last = Buffer'First - 1 then
412
- V_Flush := Finish;
413
-
414
- elsif Rest_First > Rest_Last then
415
- Read (Buffer, Rest_Last);
416
- Rest_First := Buffer'First;
417
-
418
- if Rest_Last < Buffer'First then
419
- V_Flush := Finish;
420
- end if;
421
- end if;
422
-
423
- Translate
424
- (Filter => Filter,
425
- In_Data => Buffer (Rest_First .. Rest_Last),
426
- In_Last => In_Last,
427
- Out_Data => Item (Item_First .. Item'Last),
428
- Out_Last => Last,
429
- Flush => V_Flush);
430
-
431
- Rest_First := In_Last + 1;
432
-
433
- exit when Stream_End (Filter)
434
- or else Last = Item'Last
435
- or else (Last >= Item'First and then Allow_Read_Some);
436
-
437
- Item_First := Last + 1;
438
- end loop;
439
- end Read;
440
-
441
- ----------------
442
- -- Stream_End --
443
- ----------------
444
-
445
- function Stream_End (Filter : in Filter_Type) return Boolean is
446
- begin
447
- if Filter.Header = GZip and Filter.Compression then
448
- return Filter.Stream_End
449
- and then Filter.Offset = Footer_Array'Last + 1;
450
- else
451
- return Filter.Stream_End;
452
- end if;
453
- end Stream_End;
454
-
455
- --------------
456
- -- Total_In --
457
- --------------
458
-
459
- function Total_In (Filter : in Filter_Type) return Count is
460
- begin
461
- return Count (Thin.Total_In (To_Thin_Access (Filter.Strm).all));
462
- end Total_In;
463
-
464
- ---------------
465
- -- Total_Out --
466
- ---------------
467
-
468
- function Total_Out (Filter : in Filter_Type) return Count is
469
- begin
470
- return Count (Thin.Total_Out (To_Thin_Access (Filter.Strm).all));
471
- end Total_Out;
472
-
473
- ---------------
474
- -- Translate --
475
- ---------------
476
-
477
- procedure Translate
478
- (Filter : in out Filter_Type;
479
- In_Data : in Ada.Streams.Stream_Element_Array;
480
- In_Last : out Ada.Streams.Stream_Element_Offset;
481
- Out_Data : out Ada.Streams.Stream_Element_Array;
482
- Out_Last : out Ada.Streams.Stream_Element_Offset;
483
- Flush : in Flush_Mode) is
484
- begin
485
- if Filter.Header = GZip and then Filter.Compression then
486
- Translate_GZip
487
- (Filter => Filter,
488
- In_Data => In_Data,
489
- In_Last => In_Last,
490
- Out_Data => Out_Data,
491
- Out_Last => Out_Last,
492
- Flush => Flush);
493
- else
494
- Translate_Auto
495
- (Filter => Filter,
496
- In_Data => In_Data,
497
- In_Last => In_Last,
498
- Out_Data => Out_Data,
499
- Out_Last => Out_Last,
500
- Flush => Flush);
501
- end if;
502
- end Translate;
503
-
504
- --------------------
505
- -- Translate_Auto --
506
- --------------------
507
-
508
- procedure Translate_Auto
509
- (Filter : in out Filter_Type;
510
- In_Data : in Ada.Streams.Stream_Element_Array;
511
- In_Last : out Ada.Streams.Stream_Element_Offset;
512
- Out_Data : out Ada.Streams.Stream_Element_Array;
513
- Out_Last : out Ada.Streams.Stream_Element_Offset;
514
- Flush : in Flush_Mode)
515
- is
516
- use type Thin.Int;
517
- Code : Thin.Int;
518
-
519
- begin
520
- if not Is_Open (Filter) then
521
- raise Status_Error;
522
- end if;
523
-
524
- if Out_Data'Length = 0 and then In_Data'Length = 0 then
525
- raise Constraint_Error;
526
- end if;
527
-
528
- Set_Out (Filter.Strm.all, Out_Data'Address, Out_Data'Length);
529
- Set_In (Filter.Strm.all, In_Data'Address, In_Data'Length);
530
-
531
- Code := Flate (Filter.Compression).Step
532
- (To_Thin_Access (Filter.Strm),
533
- Thin.Int (Flush));
534
-
535
- if Code = Thin.Z_STREAM_END then
536
- Filter.Stream_End := True;
537
- else
538
- Check_Error (Filter.Strm.all, Code);
539
- end if;
540
-
541
- In_Last := In_Data'Last
542
- - Stream_Element_Offset (Avail_In (Filter.Strm.all));
543
- Out_Last := Out_Data'Last
544
- - Stream_Element_Offset (Avail_Out (Filter.Strm.all));
545
- end Translate_Auto;
546
-
547
- --------------------
548
- -- Translate_GZip --
549
- --------------------
550
-
551
- procedure Translate_GZip
552
- (Filter : in out Filter_Type;
553
- In_Data : in Ada.Streams.Stream_Element_Array;
554
- In_Last : out Ada.Streams.Stream_Element_Offset;
555
- Out_Data : out Ada.Streams.Stream_Element_Array;
556
- Out_Last : out Ada.Streams.Stream_Element_Offset;
557
- Flush : in Flush_Mode)
558
- is
559
- Out_First : Stream_Element_Offset;
560
-
561
- procedure Add_Data (Data : in Stream_Element_Array);
562
- -- Add data to stream from the Filter.Offset till necessary,
563
- -- used for add gzip headr/footer.
564
-
565
- procedure Put_32
566
- (Item : in out Stream_Element_Array;
567
- Data : in Unsigned_32);
568
- pragma Inline (Put_32);
569
-
570
- --------------
571
- -- Add_Data --
572
- --------------
573
-
574
- procedure Add_Data (Data : in Stream_Element_Array) is
575
- Data_First : Stream_Element_Offset renames Filter.Offset;
576
- Data_Last : Stream_Element_Offset;
577
- Data_Len : Stream_Element_Offset; -- -1
578
- Out_Len : Stream_Element_Offset; -- -1
579
- begin
580
- Out_First := Out_Last + 1;
581
-
582
- if Data_First > Data'Last then
583
- return;
584
- end if;
585
-
586
- Data_Len := Data'Last - Data_First;
587
- Out_Len := Out_Data'Last - Out_First;
588
-
589
- if Data_Len <= Out_Len then
590
- Out_Last := Out_First + Data_Len;
591
- Data_Last := Data'Last;
592
- else
593
- Out_Last := Out_Data'Last;
594
- Data_Last := Data_First + Out_Len;
595
- end if;
596
-
597
- Out_Data (Out_First .. Out_Last) := Data (Data_First .. Data_Last);
598
-
599
- Data_First := Data_Last + 1;
600
- Out_First := Out_Last + 1;
601
- end Add_Data;
602
-
603
- ------------
604
- -- Put_32 --
605
- ------------
606
-
607
- procedure Put_32
608
- (Item : in out Stream_Element_Array;
609
- Data : in Unsigned_32)
610
- is
611
- D : Unsigned_32 := Data;
612
- begin
613
- for J in Item'First .. Item'First + 3 loop
614
- Item (J) := Stream_Element (D and 16#FF#);
615
- D := Shift_Right (D, 8);
616
- end loop;
617
- end Put_32;
618
-
619
- begin
620
- Out_Last := Out_Data'First - 1;
621
-
622
- if not Filter.Stream_End then
623
- Add_Data (Simple_GZip_Header);
624
-
625
- Translate_Auto
626
- (Filter => Filter,
627
- In_Data => In_Data,
628
- In_Last => In_Last,
629
- Out_Data => Out_Data (Out_First .. Out_Data'Last),
630
- Out_Last => Out_Last,
631
- Flush => Flush);
632
-
633
- CRC32 (Filter.CRC, In_Data (In_Data'First .. In_Last));
634
- end if;
635
-
636
- if Filter.Stream_End and then Out_Last <= Out_Data'Last then
637
- -- This detection method would work only when
638
- -- Simple_GZip_Header'Last > Footer_Array'Last
639
-
640
- if Filter.Offset = Simple_GZip_Header'Last + 1 then
641
- Filter.Offset := Footer_Array'First;
642
- end if;
643
-
644
- declare
645
- Footer : Footer_Array;
646
- begin
647
- Put_32 (Footer, Filter.CRC);
648
- Put_32 (Footer (Footer'First + 4 .. Footer'Last),
649
- Unsigned_32 (Total_In (Filter)));
650
- Add_Data (Footer);
651
- end;
652
- end if;
653
- end Translate_GZip;
654
-
655
- -------------
656
- -- Version --
657
- -------------
658
-
659
- function Version return String is
660
- begin
661
- return Interfaces.C.Strings.Value (Thin.zlibVersion);
662
- end Version;
663
-
664
- -----------
665
- -- Write --
666
- -----------
667
-
668
- procedure Write
669
- (Filter : in out Filter_Type;
670
- Item : in Ada.Streams.Stream_Element_Array;
671
- Flush : in Flush_Mode := No_Flush)
672
- is
673
- Buffer : Stream_Element_Array (1 .. Buffer_Size);
674
- In_Last : Stream_Element_Offset;
675
- Out_Last : Stream_Element_Offset;
676
- In_First : Stream_Element_Offset := Item'First;
677
- begin
678
- if Item'Length = 0 and Flush = No_Flush then
679
- return;
680
- end if;
681
-
682
- loop
683
- Translate
684
- (Filter => Filter,
685
- In_Data => Item (In_First .. Item'Last),
686
- In_Last => In_Last,
687
- Out_Data => Buffer,
688
- Out_Last => Out_Last,
689
- Flush => Flush);
690
-
691
- if Out_Last >= Buffer'First then
692
- Write (Buffer (1 .. Out_Last));
693
- end if;
694
-
695
- exit when In_Last = Item'Last or Stream_End (Filter);
696
-
697
- In_First := In_Last + 1;
698
- end loop;
699
- end Write;
700
-
701
- end ZLib;