libmspack 0.10.1 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (391) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +37 -0
  3. data/.gitignore +2 -0
  4. data/Rakefile +1 -1
  5. data/ext/Rakefile +1 -1
  6. data/ext/libmspack/ChangeLog +145 -0
  7. data/ext/libmspack/INSTALL +3 -3
  8. data/ext/libmspack/Makefile.am +7 -4
  9. data/ext/libmspack/Makefile.in +265 -147
  10. data/ext/libmspack/README +3 -2
  11. data/ext/libmspack/aclocal.m4 +111 -113
  12. data/ext/libmspack/ar-lib +10 -9
  13. data/ext/libmspack/compile +9 -8
  14. data/ext/libmspack/config.guess +887 -613
  15. data/ext/libmspack/config.h.in +6 -9
  16. data/ext/libmspack/config.sub +1349 -1260
  17. data/ext/libmspack/configure +3035 -2490
  18. data/ext/libmspack/configure.ac +3 -3
  19. data/ext/libmspack/depcomp +4 -4
  20. data/ext/libmspack/install-sh +107 -74
  21. data/ext/libmspack/libmscabd.la +1 -1
  22. data/ext/libmspack/libmschmd.la +1 -1
  23. data/ext/libmspack/libmspack.la +1 -1
  24. data/ext/libmspack/ltmain.sh +156 -61
  25. data/ext/libmspack/m4/libtool.m4 +19 -12
  26. data/ext/libmspack/missing +8 -8
  27. data/ext/libmspack/mspack/cabd.c +21 -19
  28. data/ext/libmspack/mspack/chm.h +3 -2
  29. data/ext/libmspack/mspack/chmd.c +137 -57
  30. data/ext/libmspack/mspack/kwajd.c +29 -29
  31. data/ext/libmspack/mspack/lzx.h +0 -1
  32. data/ext/libmspack/mspack/lzxd.c +30 -154
  33. data/ext/libmspack/mspack/macros.h +64 -0
  34. data/ext/libmspack/mspack/mszipd.c +7 -18
  35. data/ext/libmspack/mspack/qtmd.c +3 -5
  36. data/ext/libmspack/mspack/readbits.h +14 -5
  37. data/ext/libmspack/mspack/readhuff.h +26 -21
  38. data/ext/libmspack/mspack/system.c +0 -5
  39. data/ext/libmspack/mspack/system.h +20 -67
  40. data/ext/libmspack/test-driver +16 -11
  41. data/ext/x86_64-linux/libmspack.so +0 -0
  42. data/ext/x86_64-windows/mspack.dll +0 -0
  43. data/lib/libmspack/version.rb +1 -1
  44. data/lib/libmspack.rb +1 -1
  45. data/libmspack.gemspec +1 -1
  46. metadata +7 -348
  47. data/.travis.yml +0 -5
  48. data/ext/i386-windows/libmspack.dll +0 -0
  49. data/ext/libmspack/doc/Doxyfile +0 -9
  50. data/ext/libmspack/doc/Makefile +0 -8
  51. data/ext/libmspack/doc/html/annotated.html +0 -104
  52. data/ext/libmspack/doc/html/bc_s.png +0 -0
  53. data/ext/libmspack/doc/html/bdwn.png +0 -0
  54. data/ext/libmspack/doc/html/classes.html +0 -85
  55. data/ext/libmspack/doc/html/closed.png +0 -0
  56. data/ext/libmspack/doc/html/dir_f4d90282fe865f947a460986b93b960a.html +0 -83
  57. data/ext/libmspack/doc/html/doc.png +0 -0
  58. data/ext/libmspack/doc/html/doxygen.css +0 -1596
  59. data/ext/libmspack/doc/html/doxygen.png +0 -0
  60. data/ext/libmspack/doc/html/dynsections.js +0 -97
  61. data/ext/libmspack/doc/html/files.html +0 -78
  62. data/ext/libmspack/doc/html/folderclosed.png +0 -0
  63. data/ext/libmspack/doc/html/folderopen.png +0 -0
  64. data/ext/libmspack/doc/html/functions.html +0 -454
  65. data/ext/libmspack/doc/html/functions_vars.html +0 -454
  66. data/ext/libmspack/doc/html/globals.html +0 -406
  67. data/ext/libmspack/doc/html/globals_defs.html +0 -316
  68. data/ext/libmspack/doc/html/globals_func.html +0 -161
  69. data/ext/libmspack/doc/html/graph_legend.html +0 -102
  70. data/ext/libmspack/doc/html/graph_legend.md5 +0 -1
  71. data/ext/libmspack/doc/html/graph_legend.png +0 -0
  72. data/ext/libmspack/doc/html/index.html +0 -167
  73. data/ext/libmspack/doc/html/jquery.js +0 -87
  74. data/ext/libmspack/doc/html/menu.js +0 -26
  75. data/ext/libmspack/doc/html/menudata.js +0 -56
  76. data/ext/libmspack/doc/html/mspack_8h.html +0 -2664
  77. data/ext/libmspack/doc/html/mspack_8h__incl.map +0 -2
  78. data/ext/libmspack/doc/html/mspack_8h__incl.md5 +0 -1
  79. data/ext/libmspack/doc/html/mspack_8h__incl.png +0 -0
  80. data/ext/libmspack/doc/html/mspack_8h_source.html +0 -238
  81. data/ext/libmspack/doc/html/nav_f.png +0 -0
  82. data/ext/libmspack/doc/html/nav_g.png +0 -0
  83. data/ext/libmspack/doc/html/nav_h.png +0 -0
  84. data/ext/libmspack/doc/html/open.png +0 -0
  85. data/ext/libmspack/doc/html/search/all_0.html +0 -26
  86. data/ext/libmspack/doc/html/search/all_0.js +0 -6
  87. data/ext/libmspack/doc/html/search/all_1.html +0 -26
  88. data/ext/libmspack/doc/html/search/all_1.js +0 -5
  89. data/ext/libmspack/doc/html/search/all_10.html +0 -26
  90. data/ext/libmspack/doc/html/search/all_10.js +0 -8
  91. data/ext/libmspack/doc/html/search/all_11.html +0 -26
  92. data/ext/libmspack/doc/html/search/all_11.js +0 -4
  93. data/ext/libmspack/doc/html/search/all_12.html +0 -26
  94. data/ext/libmspack/doc/html/search/all_12.js +0 -4
  95. data/ext/libmspack/doc/html/search/all_13.html +0 -26
  96. data/ext/libmspack/doc/html/search/all_13.js +0 -4
  97. data/ext/libmspack/doc/html/search/all_2.html +0 -26
  98. data/ext/libmspack/doc/html/search/all_2.js +0 -14
  99. data/ext/libmspack/doc/html/search/all_3.html +0 -26
  100. data/ext/libmspack/doc/html/search/all_3.js +0 -13
  101. data/ext/libmspack/doc/html/search/all_4.html +0 -26
  102. data/ext/libmspack/doc/html/search/all_4.js +0 -6
  103. data/ext/libmspack/doc/html/search/all_5.html +0 -26
  104. data/ext/libmspack/doc/html/search/all_5.js +0 -13
  105. data/ext/libmspack/doc/html/search/all_6.html +0 -26
  106. data/ext/libmspack/doc/html/search/all_6.js +0 -4
  107. data/ext/libmspack/doc/html/search/all_7.html +0 -26
  108. data/ext/libmspack/doc/html/search/all_7.js +0 -5
  109. data/ext/libmspack/doc/html/search/all_8.html +0 -26
  110. data/ext/libmspack/doc/html/search/all_8.js +0 -5
  111. data/ext/libmspack/doc/html/search/all_9.html +0 -26
  112. data/ext/libmspack/doc/html/search/all_9.js +0 -7
  113. data/ext/libmspack/doc/html/search/all_a.html +0 -26
  114. data/ext/libmspack/doc/html/search/all_a.js +0 -144
  115. data/ext/libmspack/doc/html/search/all_b.html +0 -26
  116. data/ext/libmspack/doc/html/search/all_b.js +0 -10
  117. data/ext/libmspack/doc/html/search/all_c.html +0 -26
  118. data/ext/libmspack/doc/html/search/all_c.js +0 -5
  119. data/ext/libmspack/doc/html/search/all_d.html +0 -26
  120. data/ext/libmspack/doc/html/search/all_d.js +0 -7
  121. data/ext/libmspack/doc/html/search/all_e.html +0 -26
  122. data/ext/libmspack/doc/html/search/all_e.js +0 -5
  123. data/ext/libmspack/doc/html/search/all_f.html +0 -26
  124. data/ext/libmspack/doc/html/search/all_f.js +0 -15
  125. data/ext/libmspack/doc/html/search/classes_0.html +0 -26
  126. data/ext/libmspack/doc/html/search/classes_0.js +0 -30
  127. data/ext/libmspack/doc/html/search/close.png +0 -0
  128. data/ext/libmspack/doc/html/search/defines_0.html +0 -26
  129. data/ext/libmspack/doc/html/search/defines_0.js +0 -84
  130. data/ext/libmspack/doc/html/search/files_0.html +0 -26
  131. data/ext/libmspack/doc/html/search/files_0.js +0 -4
  132. data/ext/libmspack/doc/html/search/functions_0.html +0 -26
  133. data/ext/libmspack/doc/html/search/functions_0.js +0 -33
  134. data/ext/libmspack/doc/html/search/mag_sel.png +0 -0
  135. data/ext/libmspack/doc/html/search/nomatches.html +0 -12
  136. data/ext/libmspack/doc/html/search/search.css +0 -271
  137. data/ext/libmspack/doc/html/search/search.js +0 -791
  138. data/ext/libmspack/doc/html/search/search_l.png +0 -0
  139. data/ext/libmspack/doc/html/search/search_m.png +0 -0
  140. data/ext/libmspack/doc/html/search/search_r.png +0 -0
  141. data/ext/libmspack/doc/html/search/searchdata.js +0 -30
  142. data/ext/libmspack/doc/html/search/variables_0.html +0 -26
  143. data/ext/libmspack/doc/html/search/variables_0.js +0 -6
  144. data/ext/libmspack/doc/html/search/variables_1.html +0 -26
  145. data/ext/libmspack/doc/html/search/variables_1.js +0 -5
  146. data/ext/libmspack/doc/html/search/variables_10.html +0 -26
  147. data/ext/libmspack/doc/html/search/variables_10.js +0 -8
  148. data/ext/libmspack/doc/html/search/variables_11.html +0 -26
  149. data/ext/libmspack/doc/html/search/variables_11.js +0 -4
  150. data/ext/libmspack/doc/html/search/variables_12.html +0 -26
  151. data/ext/libmspack/doc/html/search/variables_12.js +0 -4
  152. data/ext/libmspack/doc/html/search/variables_13.html +0 -26
  153. data/ext/libmspack/doc/html/search/variables_13.js +0 -4
  154. data/ext/libmspack/doc/html/search/variables_2.html +0 -26
  155. data/ext/libmspack/doc/html/search/variables_2.js +0 -14
  156. data/ext/libmspack/doc/html/search/variables_3.html +0 -26
  157. data/ext/libmspack/doc/html/search/variables_3.js +0 -13
  158. data/ext/libmspack/doc/html/search/variables_4.html +0 -26
  159. data/ext/libmspack/doc/html/search/variables_4.js +0 -6
  160. data/ext/libmspack/doc/html/search/variables_5.html +0 -26
  161. data/ext/libmspack/doc/html/search/variables_5.js +0 -13
  162. data/ext/libmspack/doc/html/search/variables_6.html +0 -26
  163. data/ext/libmspack/doc/html/search/variables_6.js +0 -4
  164. data/ext/libmspack/doc/html/search/variables_7.html +0 -26
  165. data/ext/libmspack/doc/html/search/variables_7.js +0 -5
  166. data/ext/libmspack/doc/html/search/variables_8.html +0 -26
  167. data/ext/libmspack/doc/html/search/variables_8.js +0 -5
  168. data/ext/libmspack/doc/html/search/variables_9.html +0 -26
  169. data/ext/libmspack/doc/html/search/variables_9.js +0 -7
  170. data/ext/libmspack/doc/html/search/variables_a.html +0 -26
  171. data/ext/libmspack/doc/html/search/variables_a.js +0 -5
  172. data/ext/libmspack/doc/html/search/variables_b.html +0 -26
  173. data/ext/libmspack/doc/html/search/variables_b.js +0 -10
  174. data/ext/libmspack/doc/html/search/variables_c.html +0 -26
  175. data/ext/libmspack/doc/html/search/variables_c.js +0 -5
  176. data/ext/libmspack/doc/html/search/variables_d.html +0 -26
  177. data/ext/libmspack/doc/html/search/variables_d.js +0 -7
  178. data/ext/libmspack/doc/html/search/variables_e.html +0 -26
  179. data/ext/libmspack/doc/html/search/variables_e.js +0 -5
  180. data/ext/libmspack/doc/html/search/variables_f.html +0 -26
  181. data/ext/libmspack/doc/html/search/variables_f.js +0 -15
  182. data/ext/libmspack/doc/html/splitbar.png +0 -0
  183. data/ext/libmspack/doc/html/structmscab__compressor.html +0 -106
  184. data/ext/libmspack/doc/html/structmscab__decompressor.html +0 -361
  185. data/ext/libmspack/doc/html/structmscab__decompressor__coll__graph.map +0 -5
  186. data/ext/libmspack/doc/html/structmscab__decompressor__coll__graph.md5 +0 -1
  187. data/ext/libmspack/doc/html/structmscab__decompressor__coll__graph.png +0 -0
  188. data/ext/libmspack/doc/html/structmscabd__cabinet.html +0 -418
  189. data/ext/libmspack/doc/html/structmscabd__cabinet__coll__graph.map +0 -4
  190. data/ext/libmspack/doc/html/structmscabd__cabinet__coll__graph.md5 +0 -1
  191. data/ext/libmspack/doc/html/structmscabd__cabinet__coll__graph.png +0 -0
  192. data/ext/libmspack/doc/html/structmscabd__file.html +0 -337
  193. data/ext/libmspack/doc/html/structmscabd__file__coll__graph.map +0 -3
  194. data/ext/libmspack/doc/html/structmscabd__file__coll__graph.md5 +0 -1
  195. data/ext/libmspack/doc/html/structmscabd__file__coll__graph.png +0 -0
  196. data/ext/libmspack/doc/html/structmscabd__folder.html +0 -159
  197. data/ext/libmspack/doc/html/structmscabd__folder__coll__graph.map +0 -2
  198. data/ext/libmspack/doc/html/structmscabd__folder__coll__graph.md5 +0 -1
  199. data/ext/libmspack/doc/html/structmscabd__folder__coll__graph.png +0 -0
  200. data/ext/libmspack/doc/html/structmschm__compressor.html +0 -226
  201. data/ext/libmspack/doc/html/structmschm__decompressor.html +0 -299
  202. data/ext/libmspack/doc/html/structmschm__decompressor__coll__graph.map +0 -7
  203. data/ext/libmspack/doc/html/structmschm__decompressor__coll__graph.md5 +0 -1
  204. data/ext/libmspack/doc/html/structmschm__decompressor__coll__graph.png +0 -0
  205. data/ext/libmspack/doc/html/structmschmc__file.html +0 -169
  206. data/ext/libmspack/doc/html/structmschmd__file.html +0 -198
  207. data/ext/libmspack/doc/html/structmschmd__file__coll__graph.map +0 -6
  208. data/ext/libmspack/doc/html/structmschmd__file__coll__graph.md5 +0 -1
  209. data/ext/libmspack/doc/html/structmschmd__file__coll__graph.png +0 -0
  210. data/ext/libmspack/doc/html/structmschmd__header.html +0 -458
  211. data/ext/libmspack/doc/html/structmschmd__header__coll__graph.map +0 -6
  212. data/ext/libmspack/doc/html/structmschmd__header__coll__graph.md5 +0 -1
  213. data/ext/libmspack/doc/html/structmschmd__header__coll__graph.png +0 -0
  214. data/ext/libmspack/doc/html/structmschmd__sec__mscompressed.html +0 -198
  215. data/ext/libmspack/doc/html/structmschmd__sec__mscompressed__coll__graph.map +0 -6
  216. data/ext/libmspack/doc/html/structmschmd__sec__mscompressed__coll__graph.md5 +0 -1
  217. data/ext/libmspack/doc/html/structmschmd__sec__mscompressed__coll__graph.png +0 -0
  218. data/ext/libmspack/doc/html/structmschmd__sec__uncompressed.html +0 -140
  219. data/ext/libmspack/doc/html/structmschmd__sec__uncompressed__coll__graph.map +0 -6
  220. data/ext/libmspack/doc/html/structmschmd__sec__uncompressed__coll__graph.md5 +0 -1
  221. data/ext/libmspack/doc/html/structmschmd__sec__uncompressed__coll__graph.png +0 -0
  222. data/ext/libmspack/doc/html/structmschmd__section.html +0 -142
  223. data/ext/libmspack/doc/html/structmschmd__section__coll__graph.map +0 -6
  224. data/ext/libmspack/doc/html/structmschmd__section__coll__graph.md5 +0 -1
  225. data/ext/libmspack/doc/html/structmschmd__section__coll__graph.png +0 -0
  226. data/ext/libmspack/doc/html/structmshlp__compressor.html +0 -106
  227. data/ext/libmspack/doc/html/structmshlp__decompressor.html +0 -106
  228. data/ext/libmspack/doc/html/structmskwaj__compressor.html +0 -243
  229. data/ext/libmspack/doc/html/structmskwaj__decompressor.html +0 -245
  230. data/ext/libmspack/doc/html/structmskwaj__decompressor__coll__graph.map +0 -3
  231. data/ext/libmspack/doc/html/structmskwaj__decompressor__coll__graph.md5 +0 -1
  232. data/ext/libmspack/doc/html/structmskwaj__decompressor__coll__graph.png +0 -0
  233. data/ext/libmspack/doc/html/structmskwajd__header.html +0 -225
  234. data/ext/libmspack/doc/html/structmslit__compressor.html +0 -106
  235. data/ext/libmspack/doc/html/structmslit__decompressor.html +0 -106
  236. data/ext/libmspack/doc/html/structmsoab__compressor.html +0 -151
  237. data/ext/libmspack/doc/html/structmsoab__decompressor.html +0 -184
  238. data/ext/libmspack/doc/html/structmspack__file.html +0 -107
  239. data/ext/libmspack/doc/html/structmspack__system.html +0 -404
  240. data/ext/libmspack/doc/html/structmspack__system__coll__graph.map +0 -3
  241. data/ext/libmspack/doc/html/structmspack__system__coll__graph.md5 +0 -1
  242. data/ext/libmspack/doc/html/structmspack__system__coll__graph.png +0 -0
  243. data/ext/libmspack/doc/html/structmsszdd__compressor.html +0 -186
  244. data/ext/libmspack/doc/html/structmsszdd__decompressor.html +0 -246
  245. data/ext/libmspack/doc/html/structmsszdd__decompressor__coll__graph.map +0 -3
  246. data/ext/libmspack/doc/html/structmsszdd__decompressor__coll__graph.md5 +0 -1
  247. data/ext/libmspack/doc/html/structmsszdd__decompressor__coll__graph.png +0 -0
  248. data/ext/libmspack/doc/html/structmsszddd__header.html +0 -149
  249. data/ext/libmspack/doc/html/sync_off.png +0 -0
  250. data/ext/libmspack/doc/html/sync_on.png +0 -0
  251. data/ext/libmspack/doc/html/szdd_kwaj_format.html +0 -331
  252. data/ext/libmspack/doc/html/tab_a.png +0 -0
  253. data/ext/libmspack/doc/html/tab_b.png +0 -0
  254. data/ext/libmspack/doc/html/tab_h.png +0 -0
  255. data/ext/libmspack/doc/html/tab_s.png +0 -0
  256. data/ext/libmspack/doc/html/tabs.css +0 -1
  257. data/ext/libmspack/doc/szdd_kwaj_format.html +0 -331
  258. data/ext/libmspack/examples/cabd_memory.c +0 -179
  259. data/ext/libmspack/examples/cabrip.c +0 -85
  260. data/ext/libmspack/examples/chmextract.c +0 -121
  261. data/ext/libmspack/examples/msexpand.c +0 -48
  262. data/ext/libmspack/examples/multifh.c +0 -435
  263. data/ext/libmspack/examples/oabextract.c +0 -41
  264. data/ext/libmspack/test/cabd_md5.c +0 -161
  265. data/ext/libmspack/test/cabd_test.c +0 -468
  266. data/ext/libmspack/test/chmd_find.c +0 -95
  267. data/ext/libmspack/test/chmd_md5.c +0 -67
  268. data/ext/libmspack/test/chmd_order.c +0 -144
  269. data/ext/libmspack/test/chmd_test.c +0 -134
  270. data/ext/libmspack/test/chminfo.c +0 -285
  271. data/ext/libmspack/test/error.h +0 -22
  272. data/ext/libmspack/test/kwajd_test.c +0 -119
  273. data/ext/libmspack/test/md5.c +0 -450
  274. data/ext/libmspack/test/md5.h +0 -166
  275. data/ext/libmspack/test/md5_fh.h +0 -123
  276. data/ext/libmspack/test/test_files/cabd/1.pl +0 -84
  277. data/ext/libmspack/test/test_files/cabd/2.pl +0 -75
  278. data/ext/libmspack/test/test_files/cabd/bad_folderindex.cab +0 -0
  279. data/ext/libmspack/test/test_files/cabd/bad_nofiles.cab +0 -0
  280. data/ext/libmspack/test/test_files/cabd/bad_nofolders.cab +0 -0
  281. data/ext/libmspack/test/test_files/cabd/bad_signature.cab +0 -0
  282. data/ext/libmspack/test/test_files/cabd/cve-2010-2800-mszip-infinite-loop.cab +0 -0
  283. data/ext/libmspack/test/test_files/cabd/cve-2014-9556-qtm-infinite-loop.cab +0 -0
  284. data/ext/libmspack/test/test_files/cabd/cve-2014-9732-folders-segfault.cab +0 -0
  285. data/ext/libmspack/test/test_files/cabd/cve-2015-4470-mszip-over-read.cab +0 -0
  286. data/ext/libmspack/test/test_files/cabd/cve-2015-4471-lzx-under-read.cab +0 -0
  287. data/ext/libmspack/test/test_files/cabd/filename-read-violation-1.cab +0 -0
  288. data/ext/libmspack/test/test_files/cabd/filename-read-violation-2.cab +0 -0
  289. data/ext/libmspack/test/test_files/cabd/filename-read-violation-3.cab +0 -0
  290. data/ext/libmspack/test/test_files/cabd/filename-read-violation-4.cab +0 -0
  291. data/ext/libmspack/test/test_files/cabd/lzx-main-tree-no-lengths.cab +0 -0
  292. data/ext/libmspack/test/test_files/cabd/lzx-premature-matches.cab +0 -0
  293. data/ext/libmspack/test/test_files/cabd/mszip_lzx_qtm.cab +0 -0
  294. data/ext/libmspack/test/test_files/cabd/multi_basic_pt1.cab +0 -0
  295. data/ext/libmspack/test/test_files/cabd/multi_basic_pt2.cab +0 -0
  296. data/ext/libmspack/test/test_files/cabd/multi_basic_pt3.cab +0 -0
  297. data/ext/libmspack/test/test_files/cabd/multi_basic_pt4.cab +0 -0
  298. data/ext/libmspack/test/test_files/cabd/multi_basic_pt5.cab +0 -0
  299. data/ext/libmspack/test/test_files/cabd/normal_255c_filename.cab +0 -0
  300. data/ext/libmspack/test/test_files/cabd/normal_2files_1folder.cab +0 -0
  301. data/ext/libmspack/test/test_files/cabd/normal_2files_2folders.cab +0 -0
  302. data/ext/libmspack/test/test_files/cabd/partial_nodata.cab +0 -0
  303. data/ext/libmspack/test/test_files/cabd/partial_nofiles.cab +0 -0
  304. data/ext/libmspack/test/test_files/cabd/partial_nofolder.cab +0 -0
  305. data/ext/libmspack/test/test_files/cabd/partial_shortextheader.cab +0 -0
  306. data/ext/libmspack/test/test_files/cabd/partial_shortfile1.cab +0 -0
  307. data/ext/libmspack/test/test_files/cabd/partial_shortfile2.cab +0 -0
  308. data/ext/libmspack/test/test_files/cabd/partial_shortfolder.cab +0 -0
  309. data/ext/libmspack/test/test_files/cabd/partial_shortheader.cab +0 -0
  310. data/ext/libmspack/test/test_files/cabd/partial_str_nofname.cab +0 -0
  311. data/ext/libmspack/test/test_files/cabd/partial_str_noninfo.cab +0 -0
  312. data/ext/libmspack/test/test_files/cabd/partial_str_nonname.cab +0 -0
  313. data/ext/libmspack/test/test_files/cabd/partial_str_nopinfo.cab +0 -0
  314. data/ext/libmspack/test/test_files/cabd/partial_str_nopname.cab +0 -0
  315. data/ext/libmspack/test/test_files/cabd/partial_str_shortfname.cab +0 -0
  316. data/ext/libmspack/test/test_files/cabd/partial_str_shortninfo.cab +0 -0
  317. data/ext/libmspack/test/test_files/cabd/partial_str_shortnname.cab +0 -0
  318. data/ext/libmspack/test/test_files/cabd/partial_str_shortpinfo.cab +0 -0
  319. data/ext/libmspack/test/test_files/cabd/partial_str_shortpname.cab +0 -0
  320. data/ext/libmspack/test/test_files/cabd/qtm-max-size-block.cab +0 -0
  321. data/ext/libmspack/test/test_files/cabd/reserve_---.cab +0 -0
  322. data/ext/libmspack/test/test_files/cabd/reserve_--D.cab +0 -0
  323. data/ext/libmspack/test/test_files/cabd/reserve_-F-.cab +0 -0
  324. data/ext/libmspack/test/test_files/cabd/reserve_-FD.cab +0 -0
  325. data/ext/libmspack/test/test_files/cabd/reserve_H--.cab +0 -0
  326. data/ext/libmspack/test/test_files/cabd/reserve_H-D.cab +0 -0
  327. data/ext/libmspack/test/test_files/cabd/reserve_HF-.cab +0 -0
  328. data/ext/libmspack/test/test_files/cabd/reserve_HFD.cab +0 -0
  329. data/ext/libmspack/test/test_files/cabd/search_basic.cab +0 -0
  330. data/ext/libmspack/test/test_files/cabd/search_tricky1.cab +0 -0
  331. data/ext/libmspack/test/test_files/chmd/blank-filenames.chm +0 -0
  332. data/ext/libmspack/test/test_files/chmd/cve-2015-4467-reset-interval-zero.chm.xor +0 -0
  333. data/ext/libmspack/test/test_files/chmd/cve-2015-4468-namelen-bounds.chm +0 -0
  334. data/ext/libmspack/test/test_files/chmd/cve-2015-4469-namelen-bounds.chm +0 -0
  335. data/ext/libmspack/test/test_files/chmd/cve-2015-4472-namelen-bounds.chm +0 -0
  336. data/ext/libmspack/test/test_files/chmd/cve-2017-6419-lzx-negative-spaninfo.chm +0 -0
  337. data/ext/libmspack/test/test_files/chmd/short-system-filenames.chm +0 -0
  338. data/ext/libmspack/test/test_files/kwajd/f00.kwj +0 -0
  339. data/ext/libmspack/test/test_files/kwajd/f01.kwj +0 -0
  340. data/ext/libmspack/test/test_files/kwajd/f02.kwj +0 -0
  341. data/ext/libmspack/test/test_files/kwajd/f03.kwj +0 -0
  342. data/ext/libmspack/test/test_files/kwajd/f04.kwj +0 -0
  343. data/ext/libmspack/test/test_files/kwajd/f10.kwj +0 -0
  344. data/ext/libmspack/test/test_files/kwajd/f11.kwj +0 -0
  345. data/ext/libmspack/test/test_files/kwajd/f12.kwj +0 -0
  346. data/ext/libmspack/test/test_files/kwajd/f13.kwj +0 -0
  347. data/ext/libmspack/test/test_files/kwajd/f14.kwj +0 -0
  348. data/ext/libmspack/test/test_files/kwajd/f20.kwj +0 -0
  349. data/ext/libmspack/test/test_files/kwajd/f21.kwj +0 -0
  350. data/ext/libmspack/test/test_files/kwajd/f22.kwj +0 -0
  351. data/ext/libmspack/test/test_files/kwajd/f23.kwj +0 -0
  352. data/ext/libmspack/test/test_files/kwajd/f24.kwj +0 -0
  353. data/ext/libmspack/test/test_files/kwajd/f30.kwj +0 -0
  354. data/ext/libmspack/test/test_files/kwajd/f31.kwj +0 -0
  355. data/ext/libmspack/test/test_files/kwajd/f32.kwj +0 -0
  356. data/ext/libmspack/test/test_files/kwajd/f33.kwj +0 -0
  357. data/ext/libmspack/test/test_files/kwajd/f34.kwj +0 -0
  358. data/ext/libmspack/test/test_files/kwajd/f40.kwj +0 -0
  359. data/ext/libmspack/test/test_files/kwajd/f41.kwj +0 -0
  360. data/ext/libmspack/test/test_files/kwajd/f42.kwj +0 -0
  361. data/ext/libmspack/test/test_files/kwajd/f43.kwj +0 -0
  362. data/ext/libmspack/test/test_files/kwajd/f44.kwj +0 -0
  363. data/ext/libmspack/test/test_files/kwajd/f50.kwj +0 -0
  364. data/ext/libmspack/test/test_files/kwajd/f51.kwj +0 -0
  365. data/ext/libmspack/test/test_files/kwajd/f52.kwj +0 -0
  366. data/ext/libmspack/test/test_files/kwajd/f53.kwj +0 -0
  367. data/ext/libmspack/test/test_files/kwajd/f54.kwj +0 -0
  368. data/ext/libmspack/test/test_files/kwajd/f60.kwj +0 -0
  369. data/ext/libmspack/test/test_files/kwajd/f61.kwj +0 -0
  370. data/ext/libmspack/test/test_files/kwajd/f62.kwj +0 -0
  371. data/ext/libmspack/test/test_files/kwajd/f63.kwj +0 -0
  372. data/ext/libmspack/test/test_files/kwajd/f64.kwj +0 -0
  373. data/ext/libmspack/test/test_files/kwajd/f70.kwj +0 -0
  374. data/ext/libmspack/test/test_files/kwajd/f71.kwj +0 -0
  375. data/ext/libmspack/test/test_files/kwajd/f72.kwj +0 -0
  376. data/ext/libmspack/test/test_files/kwajd/f73.kwj +0 -0
  377. data/ext/libmspack/test/test_files/kwajd/f74.kwj +0 -0
  378. data/ext/libmspack/test/test_files/kwajd/f80.kwj +0 -0
  379. data/ext/libmspack/test/test_files/kwajd/f81.kwj +0 -0
  380. data/ext/libmspack/test/test_files/kwajd/f82.kwj +0 -0
  381. data/ext/libmspack/test/test_files/kwajd/f83.kwj +0 -0
  382. data/ext/libmspack/test/test_files/kwajd/f84.kwj +0 -0
  383. data/ext/libmspack/test/test_files/kwajd/f90.kwj +0 -0
  384. data/ext/libmspack/test/test_files/kwajd/f91.kwj +0 -0
  385. data/ext/libmspack/test/test_files/kwajd/f92.kwj +0 -0
  386. data/ext/libmspack/test/test_files/kwajd/f93.kwj +0 -0
  387. data/ext/libmspack/test/test_files/kwajd/f94.kwj +0 -0
  388. data/ext/libmspack/test/test_files/kwajd/make.pl +0 -17
  389. data/ext/x86_64-linux/liblibmspack.so +0 -0
  390. data/ext/x86_64-windows/libmspack.dll +0 -0
  391. data/ext/x86_64-windows-msys/libmspack.dll +0 -0
@@ -1,361 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
- <meta name="generator" content="Doxygen 1.8.13"/>
7
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
- <title>libmspack: mscab_decompressor Struct Reference</title>
9
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
- <script type="text/javascript" src="jquery.js"></script>
11
- <script type="text/javascript" src="dynsections.js"></script>
12
- <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
- <script type="text/javascript" src="search/searchdata.js"></script>
14
- <script type="text/javascript" src="search/search.js"></script>
15
- <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
- </head>
17
- <body>
18
- <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
- <div id="titlearea">
20
- <table cellspacing="0" cellpadding="0">
21
- <tbody>
22
- <tr style="height: 56px;">
23
- <td id="projectalign" style="padding-left: 0.5em;">
24
- <div id="projectname">libmspack
25
- </div>
26
- </td>
27
- </tr>
28
- </tbody>
29
- </table>
30
- </div>
31
- <!-- end header part -->
32
- <!-- Generated by Doxygen 1.8.13 -->
33
- <script type="text/javascript">
34
- var searchBox = new SearchBox("searchBox", "search",false,'Search');
35
- </script>
36
- <script type="text/javascript" src="menudata.js"></script>
37
- <script type="text/javascript" src="menu.js"></script>
38
- <script type="text/javascript">
39
- $(function() {
40
- initMenu('',true,false,'search.php','Search');
41
- $(document).ready(function() { init_search(); });
42
- });
43
- </script>
44
- <div id="main-nav"></div>
45
- <!-- window showing the filter options -->
46
- <div id="MSearchSelectWindow"
47
- onmouseover="return searchBox.OnSearchSelectShow()"
48
- onmouseout="return searchBox.OnSearchSelectHide()"
49
- onkeydown="return searchBox.OnSearchSelectKey(event)">
50
- </div>
51
-
52
- <!-- iframe showing the search results (closed by default) -->
53
- <div id="MSearchResultsWindow">
54
- <iframe src="javascript:void(0)" frameborder="0"
55
- name="MSearchResults" id="MSearchResults">
56
- </iframe>
57
- </div>
58
-
59
- </div><!-- top -->
60
- <div class="header">
61
- <div class="summary">
62
- <a href="#pub-attribs">Data Fields</a> </div>
63
- <div class="headertitle">
64
- <div class="title">mscab_decompressor Struct Reference</div> </div>
65
- </div><!--header-->
66
- <div class="contents">
67
-
68
- <p>A decompressor for .CAB (Microsoft Cabinet) files.
69
- <a href="structmscab__decompressor.html#details">More...</a></p>
70
-
71
- <p><code>#include &lt;<a class="el" href="mspack_8h_source.html">mspack.h</a>&gt;</code></p>
72
- <div class="dynheader">
73
- Collaboration diagram for mscab_decompressor:</div>
74
- <div class="dyncontent">
75
- <div class="center"><img src="structmscab__decompressor__coll__graph.png" border="0" usemap="#mscab__decompressor_coll__map" alt="Collaboration graph"/></div>
76
- <map name="mscab__decompressor_coll__map" id="mscab__decompressor_coll__map">
77
- <area shape="rect" id="node2" href="structmscabd__cabinet.html" title="A structure which represents a single cabinet file. " alt="" coords="22,193,139,219"/>
78
- <area shape="rect" id="node3" href="structmscabd__folder.html" title="A structure which represents a single folder in a cabinet or cabinet set. " alt="" coords="27,5,134,32"/>
79
- <area shape="rect" id="node4" href="structmscabd__file.html" title="A structure which represents a single file in a cabinet or cabinet set. " alt="" coords="128,95,220,121"/>
80
- </map>
81
- <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
82
- <table class="memberdecls">
83
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
84
- Data Fields</h2></td></tr>
85
- <tr class="memitem:a37076a6eb7f46c66c3b180825b118d49"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structmscabd__cabinet.html">mscabd_cabinet</a> *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmscab__decompressor.html#a37076a6eb7f46c66c3b180825b118d49">open</a> )(struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self, const char *filename)</td></tr>
86
- <tr class="memdesc:a37076a6eb7f46c66c3b180825b118d49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens a cabinet file and reads its contents. <a href="#a37076a6eb7f46c66c3b180825b118d49">More...</a><br /></td></tr>
87
- <tr class="separator:a37076a6eb7f46c66c3b180825b118d49"><td class="memSeparator" colspan="2">&#160;</td></tr>
88
- <tr class="memitem:a50a79860e92ef580afe654fbe16f6758"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmscab__decompressor.html#a50a79860e92ef580afe654fbe16f6758">close</a> )(struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self, struct <a class="el" href="structmscabd__cabinet.html">mscabd_cabinet</a> *cab)</td></tr>
89
- <tr class="memdesc:a50a79860e92ef580afe654fbe16f6758"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes a previously opened cabinet or cabinet set. <a href="#a50a79860e92ef580afe654fbe16f6758">More...</a><br /></td></tr>
90
- <tr class="separator:a50a79860e92ef580afe654fbe16f6758"><td class="memSeparator" colspan="2">&#160;</td></tr>
91
- <tr class="memitem:a6eb77aa755605284b72c6ee89045ad74"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structmscabd__cabinet.html">mscabd_cabinet</a> *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmscab__decompressor.html#a6eb77aa755605284b72c6ee89045ad74">search</a> )(struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self, const char *filename)</td></tr>
92
- <tr class="memdesc:a6eb77aa755605284b72c6ee89045ad74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Searches a regular file for embedded cabinets. <a href="#a6eb77aa755605284b72c6ee89045ad74">More...</a><br /></td></tr>
93
- <tr class="separator:a6eb77aa755605284b72c6ee89045ad74"><td class="memSeparator" colspan="2">&#160;</td></tr>
94
- <tr class="memitem:a3efd89b8cc66689ba56b87dbce36eb63"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmscab__decompressor.html#a3efd89b8cc66689ba56b87dbce36eb63">append</a> )(struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self, struct <a class="el" href="structmscabd__cabinet.html">mscabd_cabinet</a> *cab, struct <a class="el" href="structmscabd__cabinet.html">mscabd_cabinet</a> *nextcab)</td></tr>
95
- <tr class="memdesc:a3efd89b8cc66689ba56b87dbce36eb63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends one <a class="el" href="structmscabd__cabinet.html" title="A structure which represents a single cabinet file. ">mscabd_cabinet</a> to another, forming or extending a cabinet set. <a href="#a3efd89b8cc66689ba56b87dbce36eb63">More...</a><br /></td></tr>
96
- <tr class="separator:a3efd89b8cc66689ba56b87dbce36eb63"><td class="memSeparator" colspan="2">&#160;</td></tr>
97
- <tr class="memitem:a3e93022538b4c27ebafb7ad969786a67"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmscab__decompressor.html#a3e93022538b4c27ebafb7ad969786a67">prepend</a> )(struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self, struct <a class="el" href="structmscabd__cabinet.html">mscabd_cabinet</a> *cab, struct <a class="el" href="structmscabd__cabinet.html">mscabd_cabinet</a> *prevcab)</td></tr>
98
- <tr class="memdesc:a3e93022538b4c27ebafb7ad969786a67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepends one <a class="el" href="structmscabd__cabinet.html" title="A structure which represents a single cabinet file. ">mscabd_cabinet</a> to another, forming or extending a cabinet set. <a href="#a3e93022538b4c27ebafb7ad969786a67">More...</a><br /></td></tr>
99
- <tr class="separator:a3e93022538b4c27ebafb7ad969786a67"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
- <tr class="memitem:a0bb7f921f3972c7e679c693fafd4ac11"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmscab__decompressor.html#a0bb7f921f3972c7e679c693fafd4ac11">extract</a> )(struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self, struct <a class="el" href="structmscabd__file.html">mscabd_file</a> *file, const char *filename)</td></tr>
101
- <tr class="memdesc:a0bb7f921f3972c7e679c693fafd4ac11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts a file from a cabinet or cabinet set. <a href="#a0bb7f921f3972c7e679c693fafd4ac11">More...</a><br /></td></tr>
102
- <tr class="separator:a0bb7f921f3972c7e679c693fafd4ac11"><td class="memSeparator" colspan="2">&#160;</td></tr>
103
- <tr class="memitem:a4a3d1afa0318084a7d1b90b9a61674fd"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmscab__decompressor.html#a4a3d1afa0318084a7d1b90b9a61674fd">set_param</a> )(struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self, int param, int value)</td></tr>
104
- <tr class="memdesc:a4a3d1afa0318084a7d1b90b9a61674fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a CAB decompression engine parameter. <a href="#a4a3d1afa0318084a7d1b90b9a61674fd">More...</a><br /></td></tr>
105
- <tr class="separator:a4a3d1afa0318084a7d1b90b9a61674fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
106
- <tr class="memitem:a52ce4ec6de535a4cee0432ce897124ca"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmscab__decompressor.html#a52ce4ec6de535a4cee0432ce897124ca">last_error</a> )(struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self)</td></tr>
107
- <tr class="memdesc:a52ce4ec6de535a4cee0432ce897124ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the error code set by the most recently called method. <a href="#a52ce4ec6de535a4cee0432ce897124ca">More...</a><br /></td></tr>
108
- <tr class="separator:a52ce4ec6de535a4cee0432ce897124ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
109
- </table>
110
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
111
- <div class="textblock"><p>A decompressor for .CAB (Microsoft Cabinet) files. </p>
112
- <p>All fields are READ ONLY.</p>
113
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="mspack_8h.html#a9964981ec0e6f49814301101e1708f95" title="Creates a new CAB decompressor. ">mspack_create_cab_decompressor()</a>, <a class="el" href="mspack_8h.html#a13e9100ea34b16693cacb92b212ccadc" title="Destroys an existing CAB decompressor. ">mspack_destroy_cab_decompressor()</a> </dd></dl>
114
- </div><h2 class="groupheader">Field Documentation</h2>
115
- <a id="a3efd89b8cc66689ba56b87dbce36eb63"></a>
116
- <h2 class="memtitle"><span class="permalink"><a href="#a3efd89b8cc66689ba56b87dbce36eb63">&#9670;&nbsp;</a></span>append</h2>
117
-
118
- <div class="memitem">
119
- <div class="memproto">
120
- <table class="memname">
121
- <tr>
122
- <td class="memname">int(* mscab_decompressor::append) (struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self, struct <a class="el" href="structmscabd__cabinet.html">mscabd_cabinet</a> *cab, struct <a class="el" href="structmscabd__cabinet.html">mscabd_cabinet</a> *nextcab)</td>
123
- </tr>
124
- </table>
125
- </div><div class="memdoc">
126
-
127
- <p>Appends one <a class="el" href="structmscabd__cabinet.html" title="A structure which represents a single cabinet file. ">mscabd_cabinet</a> to another, forming or extending a cabinet set. </p>
128
- <p>This will attempt to append one cabinet to another such that <code>(cab-&gt;nextcab == nextcab) &amp;&amp; (nextcab-&gt;prevcab == cab)</code> and any folders split between the two cabinets are merged.</p>
129
- <p>The cabinets MUST be part of a cabinet set &ndash; a cabinet set is a cabinet that spans more than one physical cabinet file on disk &ndash; and must be appropriately matched.</p>
130
- <p>It can be determined if a cabinet has further parts to load by examining the <a class="el" href="structmscabd__cabinet.html#a6c5b8d1773e14b12c70d64d5b8867b01" title="Header flags. ">mscabd_cabinet::flags</a> field:</p>
131
- <ul>
132
- <li>if <code>(flags &amp; MSCAB_HDR_PREVCAB)</code> is non-zero, there is a predecessor cabinet to <a class="el" href="structmscab__decompressor.html#a37076a6eb7f46c66c3b180825b118d49" title="Opens a cabinet file and reads its contents. ">open()</a> and <a class="el" href="structmscab__decompressor.html#a3e93022538b4c27ebafb7ad969786a67" title="Prepends one mscabd_cabinet to another, forming or extending a cabinet set. ">prepend()</a>. Its MS-DOS case-insensitive filename is <a class="el" href="structmscabd__cabinet.html#a1f595a7655daa62ba709ecf40a0cb13c" title="The filename of the previous cabinet in a cabinet set, or NULL. ">mscabd_cabinet::prevname</a></li>
133
- <li>if <code>(flags &amp; MSCAB_HDR_NEXTCAB)</code> is non-zero, there is a successor cabinet to <a class="el" href="structmscab__decompressor.html#a37076a6eb7f46c66c3b180825b118d49" title="Opens a cabinet file and reads its contents. ">open()</a> and <a class="el" href="structmscab__decompressor.html#a3efd89b8cc66689ba56b87dbce36eb63" title="Appends one mscabd_cabinet to another, forming or extending a cabinet set. ">append()</a>. Its MS-DOS case-insensitive filename is <a class="el" href="structmscabd__cabinet.html#abe1b8a6ccc9eeeebf2a454bfbe2d4a1a" title="The filename of the next cabinet in a cabinet set, or NULL. ">mscabd_cabinet::nextname</a></li>
134
- </ul>
135
- <p>If the cabinets do not match, an error code will be returned. Neither cabinet has been altered, and both should be closed seperately.</p>
136
- <p>Files and folders in a cabinet set are a single entity. All cabinets in a set use the same file list, which is updated as cabinets in the set are added. All pointers to <a class="el" href="structmscabd__folder.html" title="A structure which represents a single folder in a cabinet or cabinet set. ">mscabd_folder</a> and <a class="el" href="structmscabd__file.html" title="A structure which represents a single file in a cabinet or cabinet set. ">mscabd_file</a> structures in either cabinet must be discarded and re-obtained after merging.</p>
137
- <dl class="params"><dt>Parameters</dt><dd>
138
- <table class="params">
139
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmscab__decompressor.html" title="A decompressor for .CAB (Microsoft Cabinet) files. ">mscab_decompressor</a> instance being called </td></tr>
140
- <tr><td class="paramname">cab</td><td>the cabinet which will be appended to, predecessor of nextcab </td></tr>
141
- <tr><td class="paramname">nextcab</td><td>the cabinet which will be appended, successor of cab </td></tr>
142
- </table>
143
- </dd>
144
- </dl>
145
- <dl class="section return"><dt>Returns</dt><dd>an error code, or MSPACK_ERR_OK if successful </dd></dl>
146
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmscab__decompressor.html#a3e93022538b4c27ebafb7ad969786a67" title="Prepends one mscabd_cabinet to another, forming or extending a cabinet set. ">prepend()</a>, <a class="el" href="structmscab__decompressor.html#a37076a6eb7f46c66c3b180825b118d49" title="Opens a cabinet file and reads its contents. ">open()</a>, <a class="el" href="structmscab__decompressor.html#a50a79860e92ef580afe654fbe16f6758" title="Closes a previously opened cabinet or cabinet set. ">close()</a> </dd></dl>
147
-
148
- </div>
149
- </div>
150
- <a id="a50a79860e92ef580afe654fbe16f6758"></a>
151
- <h2 class="memtitle"><span class="permalink"><a href="#a50a79860e92ef580afe654fbe16f6758">&#9670;&nbsp;</a></span>close</h2>
152
-
153
- <div class="memitem">
154
- <div class="memproto">
155
- <table class="memname">
156
- <tr>
157
- <td class="memname">void(* mscab_decompressor::close) (struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self, struct <a class="el" href="structmscabd__cabinet.html">mscabd_cabinet</a> *cab)</td>
158
- </tr>
159
- </table>
160
- </div><div class="memdoc">
161
-
162
- <p>Closes a previously opened cabinet or cabinet set. </p>
163
- <p>This closes a cabinet, all cabinets associated with it via the <a class="el" href="structmscabd__cabinet.html#a94d02cd4adb598945f544d77362d1658" title="The next cabinet in a chained list, if this cabinet was opened with mscab_decompressor::search(). ">mscabd_cabinet::next</a>, <a class="el" href="structmscabd__cabinet.html#ad915066d3781892754b6cfd87b08d378" title="The previous cabinet in a cabinet set, or NULL. ">mscabd_cabinet::prevcab</a> and <a class="el" href="structmscabd__cabinet.html#ae3ab25aa910ea50dca515659848ab5dc" title="The next cabinet in a cabinet set, or NULL. ">mscabd_cabinet::nextcab</a> pointers, and all folders and files. All memory used by these entities is freed.</p>
164
- <p>The cabinet pointer is now invalid and cannot be used again. All <a class="el" href="structmscabd__folder.html" title="A structure which represents a single folder in a cabinet or cabinet set. ">mscabd_folder</a> and <a class="el" href="structmscabd__file.html" title="A structure which represents a single file in a cabinet or cabinet set. ">mscabd_file</a> pointers from that cabinet or cabinet set are also now invalid, and cannot be used again.</p>
165
- <p>If the cabinet pointer given was created using <a class="el" href="structmscab__decompressor.html#a6eb77aa755605284b72c6ee89045ad74" title="Searches a regular file for embedded cabinets. ">search()</a>, it MUST be the cabinet pointer returned by <a class="el" href="structmscab__decompressor.html#a6eb77aa755605284b72c6ee89045ad74" title="Searches a regular file for embedded cabinets. ">search()</a> and not one of the later cabinet pointers further along the <a class="el" href="structmscabd__cabinet.html#a94d02cd4adb598945f544d77362d1658" title="The next cabinet in a chained list, if this cabinet was opened with mscab_decompressor::search(). ">mscabd_cabinet::next</a> chain.</p>
166
- <p>If extra cabinets have been added using <a class="el" href="structmscab__decompressor.html#a3efd89b8cc66689ba56b87dbce36eb63" title="Appends one mscabd_cabinet to another, forming or extending a cabinet set. ">append()</a> or <a class="el" href="structmscab__decompressor.html#a3e93022538b4c27ebafb7ad969786a67" title="Prepends one mscabd_cabinet to another, forming or extending a cabinet set. ">prepend()</a>, these will all be freed, even if the cabinet pointer given is not the first cabinet in the set. Do NOT <a class="el" href="structmscab__decompressor.html#a50a79860e92ef580afe654fbe16f6758" title="Closes a previously opened cabinet or cabinet set. ">close()</a> more than one cabinet in the set.</p>
167
- <p>The <a class="el" href="structmscabd__cabinet.html#a8e37f9e7834660a3b752e7c0f9a0da06" title="The filename of the cabinet. ">mscabd_cabinet::filename</a> is not freed by the library, as it is not allocated by the library. The caller should free this itself if necessary, before it is lost forever.</p>
168
- <dl class="params"><dt>Parameters</dt><dd>
169
- <table class="params">
170
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmscab__decompressor.html" title="A decompressor for .CAB (Microsoft Cabinet) files. ">mscab_decompressor</a> instance being called </td></tr>
171
- <tr><td class="paramname">cab</td><td>the cabinet to close </td></tr>
172
- </table>
173
- </dd>
174
- </dl>
175
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmscab__decompressor.html#a37076a6eb7f46c66c3b180825b118d49" title="Opens a cabinet file and reads its contents. ">open()</a>, <a class="el" href="structmscab__decompressor.html#a6eb77aa755605284b72c6ee89045ad74" title="Searches a regular file for embedded cabinets. ">search()</a>, <a class="el" href="structmscab__decompressor.html#a3efd89b8cc66689ba56b87dbce36eb63" title="Appends one mscabd_cabinet to another, forming or extending a cabinet set. ">append()</a>, <a class="el" href="structmscab__decompressor.html#a3e93022538b4c27ebafb7ad969786a67" title="Prepends one mscabd_cabinet to another, forming or extending a cabinet set. ">prepend()</a> </dd></dl>
176
-
177
- </div>
178
- </div>
179
- <a id="a0bb7f921f3972c7e679c693fafd4ac11"></a>
180
- <h2 class="memtitle"><span class="permalink"><a href="#a0bb7f921f3972c7e679c693fafd4ac11">&#9670;&nbsp;</a></span>extract</h2>
181
-
182
- <div class="memitem">
183
- <div class="memproto">
184
- <table class="memname">
185
- <tr>
186
- <td class="memname">int(* mscab_decompressor::extract) (struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self, struct <a class="el" href="structmscabd__file.html">mscabd_file</a> *file, const char *filename)</td>
187
- </tr>
188
- </table>
189
- </div><div class="memdoc">
190
-
191
- <p>Extracts a file from a cabinet or cabinet set. </p>
192
- <p>This extracts a compressed file in a cabinet and writes it to the given filename.</p>
193
- <p>The MS-DOS filename of the file, <a class="el" href="structmscabd__file.html#a181b45655523f55ed114b51249d305f8" title="The filename of the file. ">mscabd_file::filename</a>, is NOT USED by <a class="el" href="structmscab__decompressor.html#a0bb7f921f3972c7e679c693fafd4ac11" title="Extracts a file from a cabinet or cabinet set. ">extract()</a>. The caller must examine this MS-DOS filename, copy and change it as necessary, create directories as necessary, and provide the correct filename as a parameter, which will be passed unchanged to the decompressor's <a class="el" href="structmspack__system.html#a908dd0c7eecc8fe0d61584f69896df0c" title="Opens a file for reading, writing, appending or updating. ">mspack_system::open()</a></p>
194
- <p>If the file belongs to a split folder in a multi-part cabinet set, and not enough parts of the cabinet set have been loaded and appended or prepended, an error will be returned immediately.</p>
195
- <dl class="params"><dt>Parameters</dt><dd>
196
- <table class="params">
197
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmscab__decompressor.html" title="A decompressor for .CAB (Microsoft Cabinet) files. ">mscab_decompressor</a> instance being called </td></tr>
198
- <tr><td class="paramname">file</td><td>the file to be decompressed </td></tr>
199
- <tr><td class="paramname">filename</td><td>the filename of the file being written to </td></tr>
200
- </table>
201
- </dd>
202
- </dl>
203
- <dl class="section return"><dt>Returns</dt><dd>an error code, or MSPACK_ERR_OK if successful </dd></dl>
204
-
205
- </div>
206
- </div>
207
- <a id="a52ce4ec6de535a4cee0432ce897124ca"></a>
208
- <h2 class="memtitle"><span class="permalink"><a href="#a52ce4ec6de535a4cee0432ce897124ca">&#9670;&nbsp;</a></span>last_error</h2>
209
-
210
- <div class="memitem">
211
- <div class="memproto">
212
- <table class="memname">
213
- <tr>
214
- <td class="memname">int(* mscab_decompressor::last_error) (struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self)</td>
215
- </tr>
216
- </table>
217
- </div><div class="memdoc">
218
-
219
- <p>Returns the error code set by the most recently called method. </p>
220
- <p>This is useful for <a class="el" href="structmscab__decompressor.html#a37076a6eb7f46c66c3b180825b118d49" title="Opens a cabinet file and reads its contents. ">open()</a> and <a class="el" href="structmscab__decompressor.html#a6eb77aa755605284b72c6ee89045ad74" title="Searches a regular file for embedded cabinets. ">search()</a>, which do not return an error code directly.</p>
221
- <dl class="params"><dt>Parameters</dt><dd>
222
- <table class="params">
223
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmscab__decompressor.html" title="A decompressor for .CAB (Microsoft Cabinet) files. ">mscab_decompressor</a> instance being called </td></tr>
224
- </table>
225
- </dd>
226
- </dl>
227
- <dl class="section return"><dt>Returns</dt><dd>the most recent error code </dd></dl>
228
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmscab__decompressor.html#a37076a6eb7f46c66c3b180825b118d49" title="Opens a cabinet file and reads its contents. ">open()</a>, <a class="el" href="structmscab__decompressor.html#a6eb77aa755605284b72c6ee89045ad74" title="Searches a regular file for embedded cabinets. ">search()</a> </dd></dl>
229
-
230
- </div>
231
- </div>
232
- <a id="a37076a6eb7f46c66c3b180825b118d49"></a>
233
- <h2 class="memtitle"><span class="permalink"><a href="#a37076a6eb7f46c66c3b180825b118d49">&#9670;&nbsp;</a></span>open</h2>
234
-
235
- <div class="memitem">
236
- <div class="memproto">
237
- <table class="memname">
238
- <tr>
239
- <td class="memname">struct <a class="el" href="structmscabd__cabinet.html">mscabd_cabinet</a>*(* mscab_decompressor::open) (struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self, const char *filename)</td>
240
- </tr>
241
- </table>
242
- </div><div class="memdoc">
243
-
244
- <p>Opens a cabinet file and reads its contents. </p>
245
- <p>If the file opened is a valid cabinet file, all headers will be read and a <a class="el" href="structmscabd__cabinet.html" title="A structure which represents a single cabinet file. ">mscabd_cabinet</a> structure will be returned, with a full list of folders and files.</p>
246
- <p>In the case of an error occuring, NULL is returned and the error code is available from <a class="el" href="structmscab__decompressor.html#a52ce4ec6de535a4cee0432ce897124ca" title="Returns the error code set by the most recently called method. ">last_error()</a>.</p>
247
- <p>The filename pointer should be considered "in use" until <a class="el" href="structmscab__decompressor.html#a50a79860e92ef580afe654fbe16f6758" title="Closes a previously opened cabinet or cabinet set. ">close()</a> is called on the cabinet.</p>
248
- <dl class="params"><dt>Parameters</dt><dd>
249
- <table class="params">
250
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmscab__decompressor.html" title="A decompressor for .CAB (Microsoft Cabinet) files. ">mscab_decompressor</a> instance being called </td></tr>
251
- <tr><td class="paramname">filename</td><td>the filename of the cabinet file. This is passed directly to <a class="el" href="structmspack__system.html#a908dd0c7eecc8fe0d61584f69896df0c" title="Opens a file for reading, writing, appending or updating. ">mspack_system::open()</a>. </td></tr>
252
- </table>
253
- </dd>
254
- </dl>
255
- <dl class="section return"><dt>Returns</dt><dd>a pointer to a <a class="el" href="structmscabd__cabinet.html" title="A structure which represents a single cabinet file. ">mscabd_cabinet</a> structure, or NULL on failure </dd></dl>
256
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmscab__decompressor.html#a50a79860e92ef580afe654fbe16f6758" title="Closes a previously opened cabinet or cabinet set. ">close()</a>, <a class="el" href="structmscab__decompressor.html#a6eb77aa755605284b72c6ee89045ad74" title="Searches a regular file for embedded cabinets. ">search()</a>, <a class="el" href="structmscab__decompressor.html#a52ce4ec6de535a4cee0432ce897124ca" title="Returns the error code set by the most recently called method. ">last_error()</a> </dd></dl>
257
-
258
- </div>
259
- </div>
260
- <a id="a3e93022538b4c27ebafb7ad969786a67"></a>
261
- <h2 class="memtitle"><span class="permalink"><a href="#a3e93022538b4c27ebafb7ad969786a67">&#9670;&nbsp;</a></span>prepend</h2>
262
-
263
- <div class="memitem">
264
- <div class="memproto">
265
- <table class="memname">
266
- <tr>
267
- <td class="memname">int(* mscab_decompressor::prepend) (struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self, struct <a class="el" href="structmscabd__cabinet.html">mscabd_cabinet</a> *cab, struct <a class="el" href="structmscabd__cabinet.html">mscabd_cabinet</a> *prevcab)</td>
268
- </tr>
269
- </table>
270
- </div><div class="memdoc">
271
-
272
- <p>Prepends one <a class="el" href="structmscabd__cabinet.html" title="A structure which represents a single cabinet file. ">mscabd_cabinet</a> to another, forming or extending a cabinet set. </p>
273
- <p>This will attempt to prepend one cabinet to another, such that <code>(cab-&gt;prevcab == prevcab) &amp;&amp; (prevcab-&gt;nextcab == cab)</code>. In all other respects, it is identical to <a class="el" href="structmscab__decompressor.html#a3efd89b8cc66689ba56b87dbce36eb63" title="Appends one mscabd_cabinet to another, forming or extending a cabinet set. ">append()</a>. See <a class="el" href="structmscab__decompressor.html#a3efd89b8cc66689ba56b87dbce36eb63" title="Appends one mscabd_cabinet to another, forming or extending a cabinet set. ">append()</a> for the full documentation.</p>
274
- <dl class="params"><dt>Parameters</dt><dd>
275
- <table class="params">
276
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmscab__decompressor.html" title="A decompressor for .CAB (Microsoft Cabinet) files. ">mscab_decompressor</a> instance being called </td></tr>
277
- <tr><td class="paramname">cab</td><td>the cabinet which will be prepended to, successor of prevcab </td></tr>
278
- <tr><td class="paramname">prevcab</td><td>the cabinet which will be prepended, predecessor of cab </td></tr>
279
- </table>
280
- </dd>
281
- </dl>
282
- <dl class="section return"><dt>Returns</dt><dd>an error code, or MSPACK_ERR_OK if successful </dd></dl>
283
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmscab__decompressor.html#a3efd89b8cc66689ba56b87dbce36eb63" title="Appends one mscabd_cabinet to another, forming or extending a cabinet set. ">append()</a>, <a class="el" href="structmscab__decompressor.html#a37076a6eb7f46c66c3b180825b118d49" title="Opens a cabinet file and reads its contents. ">open()</a>, <a class="el" href="structmscab__decompressor.html#a50a79860e92ef580afe654fbe16f6758" title="Closes a previously opened cabinet or cabinet set. ">close()</a> </dd></dl>
284
-
285
- </div>
286
- </div>
287
- <a id="a6eb77aa755605284b72c6ee89045ad74"></a>
288
- <h2 class="memtitle"><span class="permalink"><a href="#a6eb77aa755605284b72c6ee89045ad74">&#9670;&nbsp;</a></span>search</h2>
289
-
290
- <div class="memitem">
291
- <div class="memproto">
292
- <table class="memname">
293
- <tr>
294
- <td class="memname">struct <a class="el" href="structmscabd__cabinet.html">mscabd_cabinet</a>*(* mscab_decompressor::search) (struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self, const char *filename)</td>
295
- </tr>
296
- </table>
297
- </div><div class="memdoc">
298
-
299
- <p>Searches a regular file for embedded cabinets. </p>
300
- <p>This opens a normal file with the given filename and will search the entire file for embedded cabinet files</p>
301
- <p>If any cabinets are found, the equivalent of <a class="el" href="structmscab__decompressor.html#a37076a6eb7f46c66c3b180825b118d49" title="Opens a cabinet file and reads its contents. ">open()</a> is called on each potential cabinet file at the offset it was found. All successfully <a class="el" href="structmscab__decompressor.html#a37076a6eb7f46c66c3b180825b118d49" title="Opens a cabinet file and reads its contents. ">open()</a>ed cabinets are kept in a list.</p>
302
- <p>The first cabinet found will be returned directly as the result of this method. Any further cabinets found will be chained in a list using the <a class="el" href="structmscabd__cabinet.html#a94d02cd4adb598945f544d77362d1658" title="The next cabinet in a chained list, if this cabinet was opened with mscab_decompressor::search(). ">mscabd_cabinet::next</a> field.</p>
303
- <p>In the case of an error occuring anywhere other than the simulated <a class="el" href="structmscab__decompressor.html#a37076a6eb7f46c66c3b180825b118d49" title="Opens a cabinet file and reads its contents. ">open()</a>, NULL is returned and the error code is available from <a class="el" href="structmscab__decompressor.html#a52ce4ec6de535a4cee0432ce897124ca" title="Returns the error code set by the most recently called method. ">last_error()</a>.</p>
304
- <p>If no error occurs, but no cabinets can be found in the file, NULL is returned and <a class="el" href="structmscab__decompressor.html#a52ce4ec6de535a4cee0432ce897124ca" title="Returns the error code set by the most recently called method. ">last_error()</a> returns MSPACK_ERR_OK.</p>
305
- <p>The filename pointer should be considered in use until <a class="el" href="structmscab__decompressor.html#a50a79860e92ef580afe654fbe16f6758" title="Closes a previously opened cabinet or cabinet set. ">close()</a> is called on the cabinet.</p>
306
- <p><a class="el" href="structmscab__decompressor.html#a50a79860e92ef580afe654fbe16f6758" title="Closes a previously opened cabinet or cabinet set. ">close()</a> should only be called on the result of <a class="el" href="structmscab__decompressor.html#a6eb77aa755605284b72c6ee89045ad74" title="Searches a regular file for embedded cabinets. ">search()</a>, not on any subsequent cabinets in the <a class="el" href="structmscabd__cabinet.html#a94d02cd4adb598945f544d77362d1658" title="The next cabinet in a chained list, if this cabinet was opened with mscab_decompressor::search(). ">mscabd_cabinet::next</a> chain.</p>
307
- <dl class="params"><dt>Parameters</dt><dd>
308
- <table class="params">
309
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmscab__decompressor.html" title="A decompressor for .CAB (Microsoft Cabinet) files. ">mscab_decompressor</a> instance being called </td></tr>
310
- <tr><td class="paramname">filename</td><td>the filename of the file to search for cabinets. This is passed directly to <a class="el" href="structmspack__system.html#a908dd0c7eecc8fe0d61584f69896df0c" title="Opens a file for reading, writing, appending or updating. ">mspack_system::open()</a>. </td></tr>
311
- </table>
312
- </dd>
313
- </dl>
314
- <dl class="section return"><dt>Returns</dt><dd>a pointer to a <a class="el" href="structmscabd__cabinet.html" title="A structure which represents a single cabinet file. ">mscabd_cabinet</a> structure, or NULL </dd></dl>
315
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmscab__decompressor.html#a50a79860e92ef580afe654fbe16f6758" title="Closes a previously opened cabinet or cabinet set. ">close()</a>, <a class="el" href="structmscab__decompressor.html#a37076a6eb7f46c66c3b180825b118d49" title="Opens a cabinet file and reads its contents. ">open()</a>, <a class="el" href="structmscab__decompressor.html#a52ce4ec6de535a4cee0432ce897124ca" title="Returns the error code set by the most recently called method. ">last_error()</a> </dd></dl>
316
-
317
- </div>
318
- </div>
319
- <a id="a4a3d1afa0318084a7d1b90b9a61674fd"></a>
320
- <h2 class="memtitle"><span class="permalink"><a href="#a4a3d1afa0318084a7d1b90b9a61674fd">&#9670;&nbsp;</a></span>set_param</h2>
321
-
322
- <div class="memitem">
323
- <div class="memproto">
324
- <table class="memname">
325
- <tr>
326
- <td class="memname">int(* mscab_decompressor::set_param) (struct <a class="el" href="structmscab__decompressor.html">mscab_decompressor</a> *self, int param, int value)</td>
327
- </tr>
328
- </table>
329
- </div><div class="memdoc">
330
-
331
- <p>Sets a CAB decompression engine parameter. </p>
332
- <p>The following parameters are defined:</p><ul>
333
- <li><a class="el" href="mspack_8h.html#a3888f5036eae320e691f5de290293a9f" title="mscab_decompressor::set_param() parameter: search buffer size. ">MSCABD_PARAM_SEARCHBUF</a>: How many bytes should be allocated as a buffer when using <a class="el" href="structmscab__decompressor.html#a6eb77aa755605284b72c6ee89045ad74" title="Searches a regular file for embedded cabinets. ">search()</a>? The minimum value is 4. The default value is 32768.</li>
334
- <li><a class="el" href="mspack_8h.html#a852a791d880d602989063128d4ce33d1" title="mscab_decompressor::set_param() parameter: repair MS-ZIP streams? ">MSCABD_PARAM_FIXMSZIP</a>: If non-zero, <a class="el" href="structmscab__decompressor.html#a0bb7f921f3972c7e679c693fafd4ac11" title="Extracts a file from a cabinet or cabinet set. ">extract()</a> will ignore bad checksums and recover from decompression errors in MS-ZIP compressed folders. The default value is 0 (don't recover).</li>
335
- <li><a class="el" href="mspack_8h.html#a197cc07b45645f807bd400ed576b2968" title="mscab_decompressor::set_param() parameter: size of decompression buffer ">MSCABD_PARAM_DECOMPBUF</a>: How many bytes should be used as an input bit buffer by decompressors? The minimum value is 4. The default value is 4096.</li>
336
- </ul>
337
- <dl class="params"><dt>Parameters</dt><dd>
338
- <table class="params">
339
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmscab__decompressor.html" title="A decompressor for .CAB (Microsoft Cabinet) files. ">mscab_decompressor</a> instance being called </td></tr>
340
- <tr><td class="paramname">param</td><td>the parameter to set </td></tr>
341
- <tr><td class="paramname">value</td><td>the value to set the parameter to </td></tr>
342
- </table>
343
- </dd>
344
- </dl>
345
- <dl class="section return"><dt>Returns</dt><dd>MSPACK_ERR_OK if all is OK, or MSPACK_ERR_ARGS if there is a problem with either parameter or value. </dd></dl>
346
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmscab__decompressor.html#a6eb77aa755605284b72c6ee89045ad74" title="Searches a regular file for embedded cabinets. ">search()</a>, <a class="el" href="structmscab__decompressor.html#a0bb7f921f3972c7e679c693fafd4ac11" title="Extracts a file from a cabinet or cabinet set. ">extract()</a> </dd></dl>
347
-
348
- </div>
349
- </div>
350
- <hr/>The documentation for this struct was generated from the following file:<ul>
351
- <li><a class="el" href="mspack_8h_source.html">mspack.h</a></li>
352
- </ul>
353
- </div><!-- contents -->
354
- <!-- start footer part -->
355
- <hr class="footer"/><address class="footer"><small>
356
- Generated by &#160;<a href="http://www.doxygen.org/index.html">
357
- <img class="footer" src="doxygen.png" alt="doxygen"/>
358
- </a> 1.8.13
359
- </small></address>
360
- </body>
361
- </html>
@@ -1,5 +0,0 @@
1
- <map id="mscab_decompressor" name="mscab_decompressor">
2
- <area shape="rect" id="node2" href="$structmscabd__cabinet.html" title="A structure which represents a single cabinet file. " alt="" coords="22,193,139,219"/>
3
- <area shape="rect" id="node3" href="$structmscabd__folder.html" title="A structure which represents a single folder in a cabinet or cabinet set. " alt="" coords="27,5,134,32"/>
4
- <area shape="rect" id="node4" href="$structmscabd__file.html" title="A structure which represents a single file in a cabinet or cabinet set. " alt="" coords="128,95,220,121"/>
5
- </map>
@@ -1 +0,0 @@
1
- 4af7c4332df0836bbc5db429154da4e7