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,226 +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: mschm_compressor 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">mschm_compressor Struct Reference</div> </div>
65
- </div><!--header-->
66
- <div class="contents">
67
-
68
- <p>A compressor for .CHM (Microsoft HTMLHelp) files.
69
- <a href="structmschm__compressor.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
- <table class="memberdecls">
73
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
74
- Data Fields</h2></td></tr>
75
- <tr class="memitem:adee7fe634e4745b010bd8f71ad7777b0"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmschm__compressor.html#adee7fe634e4745b010bd8f71ad7777b0">generate</a> )(struct <a class="el" href="structmschm__compressor.html">mschm_compressor</a> *self, struct <a class="el" href="structmschmc__file.html">mschmc_file</a> file_list[], const char *output_file)</td></tr>
76
- <tr class="memdesc:adee7fe634e4745b010bd8f71ad7777b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a CHM help file. <a href="#adee7fe634e4745b010bd8f71ad7777b0">More...</a><br /></td></tr>
77
- <tr class="separator:adee7fe634e4745b010bd8f71ad7777b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
78
- <tr class="memitem:a53e3b040b50b03786db790f7d7bfddd7"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmschm__compressor.html#a53e3b040b50b03786db790f7d7bfddd7">use_temporary_file</a> )(struct <a class="el" href="structmschm__compressor.html">mschm_compressor</a> *self, int use_temp_file, const char *temp_file)</td></tr>
79
- <tr class="memdesc:a53e3b040b50b03786db790f7d7bfddd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies whether a temporary file is used during CHM generation. <a href="#a53e3b040b50b03786db790f7d7bfddd7">More...</a><br /></td></tr>
80
- <tr class="separator:a53e3b040b50b03786db790f7d7bfddd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
81
- <tr class="memitem:a2b72f4c7596071a07b0668cb66fac872"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmschm__compressor.html#a2b72f4c7596071a07b0668cb66fac872">set_param</a> )(struct <a class="el" href="structmschm__compressor.html">mschm_compressor</a> *self, int param, int value)</td></tr>
82
- <tr class="memdesc:a2b72f4c7596071a07b0668cb66fac872"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a CHM compression engine parameter. <a href="#a2b72f4c7596071a07b0668cb66fac872">More...</a><br /></td></tr>
83
- <tr class="separator:a2b72f4c7596071a07b0668cb66fac872"><td class="memSeparator" colspan="2">&#160;</td></tr>
84
- <tr class="memitem:ad855497c3aeafa9a2e1631e8d8d03dd9"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmschm__compressor.html#ad855497c3aeafa9a2e1631e8d8d03dd9">last_error</a> )(struct <a class="el" href="structmschm__compressor.html">mschm_compressor</a> *self)</td></tr>
85
- <tr class="memdesc:ad855497c3aeafa9a2e1631e8d8d03dd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the error code set by the most recently called method. <a href="#ad855497c3aeafa9a2e1631e8d8d03dd9">More...</a><br /></td></tr>
86
- <tr class="separator:ad855497c3aeafa9a2e1631e8d8d03dd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
87
- </table>
88
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
89
- <div class="textblock"><p>A compressor for .CHM (Microsoft HTMLHelp) files. </p>
90
- <p>All fields are READ ONLY.</p>
91
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="mspack_8h.html#a749d6b350987be706728e020e875b13f" title="Creates a new CHM compressor. ">mspack_create_chm_compressor()</a>, <a class="el" href="mspack_8h.html#a05c47f6572f3966d9495810332356b94" title="Destroys an existing CHM compressor. ">mspack_destroy_chm_compressor()</a> </dd></dl>
92
- </div><h2 class="groupheader">Field Documentation</h2>
93
- <a id="adee7fe634e4745b010bd8f71ad7777b0"></a>
94
- <h2 class="memtitle"><span class="permalink"><a href="#adee7fe634e4745b010bd8f71ad7777b0">&#9670;&nbsp;</a></span>generate</h2>
95
-
96
- <div class="memitem">
97
- <div class="memproto">
98
- <table class="memname">
99
- <tr>
100
- <td class="memname">int(* mschm_compressor::generate) (struct <a class="el" href="structmschm__compressor.html">mschm_compressor</a> *self, struct <a class="el" href="structmschmc__file.html">mschmc_file</a> file_list[], const char *output_file)</td>
101
- </tr>
102
- </table>
103
- </div><div class="memdoc">
104
-
105
- <p>Generates a CHM help file. </p>
106
- <p>The help file will contain up to two sections, an Uncompressed section and potentially an MSCompressed (LZX compressed) section.</p>
107
- <p>While the contents listing of a CHM file is always in lexical order, the file list passed in will be taken as the correct order for files within the sections. It is in your interest to place similar files together for better compression.</p>
108
- <p>There are two modes of generation, to use a temporary file or not to use one. See <a class="el" href="structmschm__compressor.html#a53e3b040b50b03786db790f7d7bfddd7" title="Specifies whether a temporary file is used during CHM generation. ">use_temporary_file()</a> for the behaviour of <a class="el" href="structmschm__compressor.html#adee7fe634e4745b010bd8f71ad7777b0" title="Generates a CHM help file. ">generate()</a> in these two different modes.</p>
109
- <dl class="params"><dt>Parameters</dt><dd>
110
- <table class="params">
111
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmschm__compressor.html" title="A compressor for .CHM (Microsoft HTMLHelp) files. ">mschm_compressor</a> instance being called </td></tr>
112
- <tr><td class="paramname">file_list</td><td>an array of <a class="el" href="structmschmc__file.html" title="A structure which represents a file to be placed in a CHM helpfile. ">mschmc_file</a> structures, terminated with an entry whose <a class="el" href="structmschmc__file.html#a11c5bd77b0142d3c3a94c5a24126e030" title="One of MSCHMC_ENDLIST, MSCHMC_UNCOMP or MSCHMC_MSCOMP. ">mschmc_file::section</a> field is <a class="el" href="mspack_8h.html#a80f996d3fbc7800630b9542d5e4620ec" title="mschmc_file::section value: end of CHM file list ">MSCHMC_ENDLIST</a>. The order of the list is preserved within each section. The length of any <a class="el" href="structmschmc__file.html#ab2979483302579db0111fe5cff3d4eb5" title="The full path and filename of the file within the CHM helpfile, a UTF-1 encoded null-terminated strin...">mschmc_file::chm_filename</a> string cannot exceed roughly 4096 bytes. Each source file must be able to supply as many bytes as given in the <a class="el" href="structmschmc__file.html#aee5c029845e1ce6112c8d050d9b23fda" title="The length of the file, in bytes. ">mschmc_file::length</a> field. </td></tr>
113
- <tr><td class="paramname">output_file</td><td>the file to write the generated CHM helpfile to. 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>
114
- </table>
115
- </dd>
116
- </dl>
117
- <dl class="section return"><dt>Returns</dt><dd>an error code, or MSPACK_ERR_OK if successful </dd></dl>
118
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmschm__compressor.html#a53e3b040b50b03786db790f7d7bfddd7" title="Specifies whether a temporary file is used during CHM generation. ">use_temporary_file()</a> <a class="el" href="structmschm__compressor.html#a2b72f4c7596071a07b0668cb66fac872" title="Sets a CHM compression engine parameter. ">set_param()</a> </dd></dl>
119
-
120
- </div>
121
- </div>
122
- <a id="ad855497c3aeafa9a2e1631e8d8d03dd9"></a>
123
- <h2 class="memtitle"><span class="permalink"><a href="#ad855497c3aeafa9a2e1631e8d8d03dd9">&#9670;&nbsp;</a></span>last_error</h2>
124
-
125
- <div class="memitem">
126
- <div class="memproto">
127
- <table class="memname">
128
- <tr>
129
- <td class="memname">int(* mschm_compressor::last_error) (struct <a class="el" href="structmschm__compressor.html">mschm_compressor</a> *self)</td>
130
- </tr>
131
- </table>
132
- </div><div class="memdoc">
133
-
134
- <p>Returns the error code set by the most recently called method. </p>
135
- <dl class="params"><dt>Parameters</dt><dd>
136
- <table class="params">
137
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmschm__compressor.html" title="A compressor for .CHM (Microsoft HTMLHelp) files. ">mschm_compressor</a> instance being called </td></tr>
138
- </table>
139
- </dd>
140
- </dl>
141
- <dl class="section return"><dt>Returns</dt><dd>the most recent error code </dd></dl>
142
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmschm__compressor.html#a2b72f4c7596071a07b0668cb66fac872" title="Sets a CHM compression engine parameter. ">set_param()</a>, <a class="el" href="structmschm__compressor.html#adee7fe634e4745b010bd8f71ad7777b0" title="Generates a CHM help file. ">generate()</a> </dd></dl>
143
-
144
- </div>
145
- </div>
146
- <a id="a2b72f4c7596071a07b0668cb66fac872"></a>
147
- <h2 class="memtitle"><span class="permalink"><a href="#a2b72f4c7596071a07b0668cb66fac872">&#9670;&nbsp;</a></span>set_param</h2>
148
-
149
- <div class="memitem">
150
- <div class="memproto">
151
- <table class="memname">
152
- <tr>
153
- <td class="memname">int(* mschm_compressor::set_param) (struct <a class="el" href="structmschm__compressor.html">mschm_compressor</a> *self, int param, int value)</td>
154
- </tr>
155
- </table>
156
- </div><div class="memdoc">
157
-
158
- <p>Sets a CHM compression engine parameter. </p>
159
- <p>The following parameters are defined:</p>
160
- <ul>
161
- <li><a class="el" href="mspack_8h.html#aa33210e31d2272c1c015849281bc8028" title="mschm_compressor::set_param() parameter: &quot;timestamp&quot; header ">MSCHMC_PARAM_TIMESTAMP</a>: Sets the "timestamp" of the CHM file generated. This is not a timestamp, see <a class="el" href="structmschmd__header.html#ab844b2365051d8c99ce41ae0a0f4c106" title="The &quot;timestamp&quot; of the CHM helpfile. ">mschmd_header::timestamp</a> for a description. If this timestamp is 0, <a class="el" href="structmschm__compressor.html#adee7fe634e4745b010bd8f71ad7777b0" title="Generates a CHM help file. ">generate()</a> will use its own algorithm for making a unique ID, based on the lengths and names of files in the CHM itself. Defaults to 0, any value between 0 and (2^32)-1 is valid.</li>
162
- <li><a class="el" href="mspack_8h.html#a0ad26bd80adf64598352066814153335" title="mschm_compressor::set_param() parameter: &quot;language&quot; header ">MSCHMC_PARAM_LANGUAGE</a>: Sets the "language" of the CHM file generated. This is not the language used in the CHM file, but the language setting of the user who ran the HTMLHelp compiler. It defaults to 0x0409. The valid range is between 0x0000 and 0x7F7F.</li>
163
- <li><a class="el" href="mspack_8h.html#a0ee4a588079a3f6bf65b63ce388c9a45" title="mschm_compressor::set_param() parameter: LZX window size ">MSCHMC_PARAM_LZXWINDOW</a>: Sets the size of the LZX history window, which is also the interval at which the compressed data stream can be randomly accessed. The value is not a size in bytes, but a power of two. The default value is 16 (which makes the window 2^16 bytes, or 64 kilobytes), the valid range is from 15 (32 kilobytes) to 21 (2 megabytes).</li>
164
- <li><a class="el" href="mspack_8h.html#ad17047eb4450c7476d29d47fb5f1ce35" title="mschm_compressor::set_param() parameter: intra-chunk quickref density ">MSCHMC_PARAM_DENSITY</a>: Sets the "density" of quick reference entries stored at the end of directory listing chunk. Each chunk is 4096 bytes in size, and contains as many file entries as there is room for. At the other end of the chunk, a list of "quick reference" pointers is included. The offset of every 'N'th file entry is given a quick reference, where N = (2^density) + 1. The default density is<ol type="1">
165
- <li>The smallest density is 0 (N=2), the maximum is 10 (N=1025). As each file entry requires at least 5 bytes, the maximum number of entries in a single chunk is roughly 800, so the maximum value 10 can be used to indicate there are no quickrefs at all.</li>
166
- </ol>
167
- </li>
168
- <li><a class="el" href="mspack_8h.html#ac6c61f24c4d9ad2a5a9bcdbb8057723a" title="mschm_compressor::set_param() parameter: whether to create indices ">MSCHMC_PARAM_INDEX</a>: Sets whether or not to include quick lookup index chunk(s), in addition to normal directory listing chunks. A value of zero means no index chunks will be created, a non-zero value means index chunks will be created. The default is zero, "don't
169
- create an index".</li>
170
- </ul>
171
- <dl class="params"><dt>Parameters</dt><dd>
172
- <table class="params">
173
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmschm__compressor.html" title="A compressor for .CHM (Microsoft HTMLHelp) files. ">mschm_compressor</a> instance being called </td></tr>
174
- <tr><td class="paramname">param</td><td>the parameter to set </td></tr>
175
- <tr><td class="paramname">value</td><td>the value to set the parameter to </td></tr>
176
- </table>
177
- </dd>
178
- </dl>
179
- <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>
180
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmschm__compressor.html#adee7fe634e4745b010bd8f71ad7777b0" title="Generates a CHM help file. ">generate()</a> </dd></dl>
181
-
182
- </div>
183
- </div>
184
- <a id="a53e3b040b50b03786db790f7d7bfddd7"></a>
185
- <h2 class="memtitle"><span class="permalink"><a href="#a53e3b040b50b03786db790f7d7bfddd7">&#9670;&nbsp;</a></span>use_temporary_file</h2>
186
-
187
- <div class="memitem">
188
- <div class="memproto">
189
- <table class="memname">
190
- <tr>
191
- <td class="memname">int(* mschm_compressor::use_temporary_file) (struct <a class="el" href="structmschm__compressor.html">mschm_compressor</a> *self, int use_temp_file, const char *temp_file)</td>
192
- </tr>
193
- </table>
194
- </div><div class="memdoc">
195
-
196
- <p>Specifies whether a temporary file is used during CHM generation. </p>
197
- <p>The CHM file format includes data about the compressed section (such as its overall size) that is stored in the output CHM file prior to the compressed section itself. This unavoidably requires that the compressed section has to be generated, before these details can be set. There are several ways this can be handled. Firstly, the compressed section could be generated entirely in memory before writing any of the output CHM file. This approach is not used in libmspack, as the compressed section can exceed the addressable memory space on most architectures.</p>
198
- <p>libmspack has two options, either to write these unknowable sections with blank data, generate the compressed section, then re-open the output file for update once the compressed section has been completed, or to write the compressed section to a temporary file, then write the entire output file at once, performing a simple file-to-file copy for the compressed section.</p>
199
- <p>The simple solution of buffering the entire compressed section in memory can still be used, if desired. As the temporary file's filename 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>, it is possible for a custom <a class="el" href="structmspack__system.html" title="A structure which abstracts file I/O and memory management. ">mspack_system</a> implementation to hold this file in memory, without writing to a disk.</p>
200
- <p>If a temporary file is set, <a class="el" href="structmschm__compressor.html#adee7fe634e4745b010bd8f71ad7777b0" title="Generates a CHM help file. ">generate()</a> performs the following sequence of events: the temporary file is opened for writing, the compression algorithm writes to the temporary file, the temporary file is closed. Then the output file is opened for writing and the temporary file is re-opened for reading. The output file is written and the temporary file is read from. Both files are then closed. The temporary file itself is not deleted. If that is desired, the temporary file should be deleted after the completion of <a class="el" href="structmschm__compressor.html#adee7fe634e4745b010bd8f71ad7777b0" title="Generates a CHM help file. ">generate()</a>, if it exists.</p>
201
- <p>If a temporary file is set not to be used, <a class="el" href="structmschm__compressor.html#adee7fe634e4745b010bd8f71ad7777b0" title="Generates a CHM help file. ">generate()</a> performs the following sequence of events: the output file is opened for writing, then it is written and closed. The output file is then re-opened for update, the appropriate sections are seek()ed to and re-written, then the output file is closed.</p>
202
- <dl class="params"><dt>Parameters</dt><dd>
203
- <table class="params">
204
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmschm__compressor.html" title="A compressor for .CHM (Microsoft HTMLHelp) files. ">mschm_compressor</a> instance being called </td></tr>
205
- <tr><td class="paramname">use_temp_file</td><td>non-zero if the temporary file should be used, zero if the temporary file should not be used. </td></tr>
206
- <tr><td class="paramname">temp_file</td><td>a file to temporarily write compressed data to, before opening it for reading and copying the contents to the output 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>
207
- </table>
208
- </dd>
209
- </dl>
210
- <dl class="section return"><dt>Returns</dt><dd>an error code, or MSPACK_ERR_OK if successful </dd></dl>
211
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmschm__compressor.html#adee7fe634e4745b010bd8f71ad7777b0" title="Generates a CHM help file. ">generate()</a> </dd></dl>
212
-
213
- </div>
214
- </div>
215
- <hr/>The documentation for this struct was generated from the following file:<ul>
216
- <li><a class="el" href="mspack_8h_source.html">mspack.h</a></li>
217
- </ul>
218
- </div><!-- contents -->
219
- <!-- start footer part -->
220
- <hr class="footer"/><address class="footer"><small>
221
- Generated by &#160;<a href="http://www.doxygen.org/index.html">
222
- <img class="footer" src="doxygen.png" alt="doxygen"/>
223
- </a> 1.8.13
224
- </small></address>
225
- </body>
226
- </html>
@@ -1,299 +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: mschm_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">mschm_decompressor Struct Reference</div> </div>
65
- </div><!--header-->
66
- <div class="contents">
67
-
68
- <p>A decompressor for .CHM (Microsoft HTMLHelp) files.
69
- <a href="structmschm__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 mschm_decompressor:</div>
74
- <div class="dyncontent">
75
- <div class="center"><img src="structmschm__decompressor__coll__graph.png" border="0" usemap="#mschm__decompressor_coll__map" alt="Collaboration graph"/></div>
76
- <map name="mschm__decompressor_coll__map" id="mschm__decompressor_coll__map">
77
- <area shape="rect" id="node2" href="structmschmd__header.html" title="A structure which represents a CHM helpfile. " alt="" coords="279,5,398,32"/>
78
- <area shape="rect" id="node4" href="structmschmd__section.html" title="A structure which represents a section of a CHM helpfile. " alt="" coords="278,111,399,137"/>
79
- <area shape="rect" id="node3" href="structmschmd__file.html" title="A structure which represents a file stored in a CHM helpfile. " alt="" coords="136,201,232,228"/>
80
- <area shape="rect" id="node5" href="structmschmd__sec__mscompressed.html" title="A structure which represents the LZX compressed section of a CHM helpfile. " alt="" coords="235,335,431,361"/>
81
- <area shape="rect" id="node6" href="structmschmd__sec__uncompressed.html" title="A structure which represents the uncompressed section of a CHM helpfile. " alt="" coords="391,201,583,228"/>
82
- </map>
83
- <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
84
- <table class="memberdecls">
85
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
86
- Data Fields</h2></td></tr>
87
- <tr class="memitem:ac43207276b00521cde8014353ae16f34"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structmschmd__header.html">mschmd_header</a> *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmschm__decompressor.html#ac43207276b00521cde8014353ae16f34">open</a> )(struct <a class="el" href="structmschm__decompressor.html">mschm_decompressor</a> *self, const char *filename)</td></tr>
88
- <tr class="memdesc:ac43207276b00521cde8014353ae16f34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens a CHM helpfile and reads its contents. <a href="#ac43207276b00521cde8014353ae16f34">More...</a><br /></td></tr>
89
- <tr class="separator:ac43207276b00521cde8014353ae16f34"><td class="memSeparator" colspan="2">&#160;</td></tr>
90
- <tr class="memitem:aa3ead0cd30ee28cbe13ee05210162b5c"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmschm__decompressor.html#aa3ead0cd30ee28cbe13ee05210162b5c">close</a> )(struct <a class="el" href="structmschm__decompressor.html">mschm_decompressor</a> *self, struct <a class="el" href="structmschmd__header.html">mschmd_header</a> *chm)</td></tr>
91
- <tr class="memdesc:aa3ead0cd30ee28cbe13ee05210162b5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes a previously opened CHM helpfile. <a href="#aa3ead0cd30ee28cbe13ee05210162b5c">More...</a><br /></td></tr>
92
- <tr class="separator:aa3ead0cd30ee28cbe13ee05210162b5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
93
- <tr class="memitem:a9809c5a004f6377d8889af18a7448213"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmschm__decompressor.html#a9809c5a004f6377d8889af18a7448213">extract</a> )(struct <a class="el" href="structmschm__decompressor.html">mschm_decompressor</a> *self, struct <a class="el" href="structmschmd__file.html">mschmd_file</a> *file, const char *filename)</td></tr>
94
- <tr class="memdesc:a9809c5a004f6377d8889af18a7448213"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts a file from a CHM helpfile. <a href="#a9809c5a004f6377d8889af18a7448213">More...</a><br /></td></tr>
95
- <tr class="separator:a9809c5a004f6377d8889af18a7448213"><td class="memSeparator" colspan="2">&#160;</td></tr>
96
- <tr class="memitem:ae7c840a5374a0c916daf5c33a884fefa"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmschm__decompressor.html#ae7c840a5374a0c916daf5c33a884fefa">last_error</a> )(struct <a class="el" href="structmschm__decompressor.html">mschm_decompressor</a> *self)</td></tr>
97
- <tr class="memdesc:ae7c840a5374a0c916daf5c33a884fefa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the error code set by the most recently called method. <a href="#ae7c840a5374a0c916daf5c33a884fefa">More...</a><br /></td></tr>
98
- <tr class="separator:ae7c840a5374a0c916daf5c33a884fefa"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
- <tr class="memitem:ae7df232ac27eded95850fea2648985f9"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structmschmd__header.html">mschmd_header</a> *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmschm__decompressor.html#ae7df232ac27eded95850fea2648985f9">fast_open</a> )(struct <a class="el" href="structmschm__decompressor.html">mschm_decompressor</a> *self, const char *filename)</td></tr>
100
- <tr class="memdesc:ae7df232ac27eded95850fea2648985f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens a CHM helpfile quickly. <a href="#ae7df232ac27eded95850fea2648985f9">More...</a><br /></td></tr>
101
- <tr class="separator:ae7df232ac27eded95850fea2648985f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
- <tr class="memitem:a5d80bc6dc6c08ae0ae064e66e73c48f8"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmschm__decompressor.html#a5d80bc6dc6c08ae0ae064e66e73c48f8">fast_find</a> )(struct <a class="el" href="structmschm__decompressor.html">mschm_decompressor</a> *self, struct <a class="el" href="structmschmd__header.html">mschmd_header</a> *chm, const char *filename, struct <a class="el" href="structmschmd__file.html">mschmd_file</a> *f_ptr, int f_size)</td></tr>
103
- <tr class="memdesc:a5d80bc6dc6c08ae0ae064e66e73c48f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds file details quickly. <a href="#a5d80bc6dc6c08ae0ae064e66e73c48f8">More...</a><br /></td></tr>
104
- <tr class="separator:a5d80bc6dc6c08ae0ae064e66e73c48f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
105
- </table>
106
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
107
- <div class="textblock"><p>A decompressor for .CHM (Microsoft HTMLHelp) files. </p>
108
- <p>All fields are READ ONLY.</p>
109
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="mspack_8h.html#a5829a2023927ad4dc8bd452f3b294851" title="Creates a new CHM decompressor. ">mspack_create_chm_decompressor()</a>, <a class="el" href="mspack_8h.html#a50c0799f5c1a128672c024a05c79cac8" title="Destroys an existing CHM decompressor. ">mspack_destroy_chm_decompressor()</a> </dd></dl>
110
- </div><h2 class="groupheader">Field Documentation</h2>
111
- <a id="aa3ead0cd30ee28cbe13ee05210162b5c"></a>
112
- <h2 class="memtitle"><span class="permalink"><a href="#aa3ead0cd30ee28cbe13ee05210162b5c">&#9670;&nbsp;</a></span>close</h2>
113
-
114
- <div class="memitem">
115
- <div class="memproto">
116
- <table class="memname">
117
- <tr>
118
- <td class="memname">void(* mschm_decompressor::close) (struct <a class="el" href="structmschm__decompressor.html">mschm_decompressor</a> *self, struct <a class="el" href="structmschmd__header.html">mschmd_header</a> *chm)</td>
119
- </tr>
120
- </table>
121
- </div><div class="memdoc">
122
-
123
- <p>Closes a previously opened CHM helpfile. </p>
124
- <p>This closes a CHM helpfile, frees the <a class="el" href="structmschmd__header.html" title="A structure which represents a CHM helpfile. ">mschmd_header</a> and all <a class="el" href="structmschmd__file.html" title="A structure which represents a file stored in a CHM helpfile. ">mschmd_file</a> structures associated with it (if any). This works on both helpfiles opened with <a class="el" href="structmschm__decompressor.html#ac43207276b00521cde8014353ae16f34" title="Opens a CHM helpfile and reads its contents. ">open()</a> and helpfiles opened with <a class="el" href="structmschm__decompressor.html#ae7df232ac27eded95850fea2648985f9" title="Opens a CHM helpfile quickly. ">fast_open()</a>.</p>
125
- <p>The CHM header pointer is now invalid and cannot be used again. All <a class="el" href="structmschmd__file.html" title="A structure which represents a file stored in a CHM helpfile. ">mschmd_file</a> pointers referencing that CHM are also now invalid, and cannot be used again.</p>
126
- <dl class="params"><dt>Parameters</dt><dd>
127
- <table class="params">
128
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmschm__decompressor.html" title="A decompressor for .CHM (Microsoft HTMLHelp) files. ">mschm_decompressor</a> instance being called </td></tr>
129
- <tr><td class="paramname">chm</td><td>the CHM helpfile to close </td></tr>
130
- </table>
131
- </dd>
132
- </dl>
133
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmschm__decompressor.html#ac43207276b00521cde8014353ae16f34" title="Opens a CHM helpfile and reads its contents. ">open()</a>, <a class="el" href="structmschm__decompressor.html#ae7df232ac27eded95850fea2648985f9" title="Opens a CHM helpfile quickly. ">fast_open()</a> </dd></dl>
134
-
135
- </div>
136
- </div>
137
- <a id="a9809c5a004f6377d8889af18a7448213"></a>
138
- <h2 class="memtitle"><span class="permalink"><a href="#a9809c5a004f6377d8889af18a7448213">&#9670;&nbsp;</a></span>extract</h2>
139
-
140
- <div class="memitem">
141
- <div class="memproto">
142
- <table class="memname">
143
- <tr>
144
- <td class="memname">int(* mschm_decompressor::extract) (struct <a class="el" href="structmschm__decompressor.html">mschm_decompressor</a> *self, struct <a class="el" href="structmschmd__file.html">mschmd_file</a> *file, const char *filename)</td>
145
- </tr>
146
- </table>
147
- </div><div class="memdoc">
148
-
149
- <p>Extracts a file from a CHM helpfile. </p>
150
- <p>This extracts a file from a CHM helpfile and writes it to the given filename. The 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="structmschm__decompressor.html#a9809c5a004f6377d8889af18a7448213" title="Extracts a file from a CHM helpfile. ">extract()</a>, but can be used by the caller as a guide for constructing an appropriate filename.</p>
151
- <p>This method works both with files found in the <a class="el" href="structmschmd__header.html#aecdd3b5e84606785e9620a70e8f0d0ed" title="A list of all non-system files in the CHM helpfile. ">mschmd_header::files</a> and <a class="el" href="structmschmd__header.html#ac38b56f77e2a44d998e57ba9301e39d5" title="A list of all system files in the CHM helpfile. ">mschmd_header::sysfiles</a> list and <a class="el" href="structmschmd__file.html" title="A structure which represents a file stored in a CHM helpfile. ">mschmd_file</a> structures generated on the fly by <a class="el" href="structmschm__decompressor.html#a5d80bc6dc6c08ae0ae064e66e73c48f8" title="Finds file details quickly. ">fast_find()</a>.</p>
152
- <dl class="params"><dt>Parameters</dt><dd>
153
- <table class="params">
154
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmschm__decompressor.html" title="A decompressor for .CHM (Microsoft HTMLHelp) files. ">mschm_decompressor</a> instance being called </td></tr>
155
- <tr><td class="paramname">file</td><td>the file to be decompressed </td></tr>
156
- <tr><td class="paramname">filename</td><td>the filename of the file being written to </td></tr>
157
- </table>
158
- </dd>
159
- </dl>
160
- <dl class="section return"><dt>Returns</dt><dd>an error code, or MSPACK_ERR_OK if successful </dd></dl>
161
-
162
- </div>
163
- </div>
164
- <a id="a5d80bc6dc6c08ae0ae064e66e73c48f8"></a>
165
- <h2 class="memtitle"><span class="permalink"><a href="#a5d80bc6dc6c08ae0ae064e66e73c48f8">&#9670;&nbsp;</a></span>fast_find</h2>
166
-
167
- <div class="memitem">
168
- <div class="memproto">
169
- <table class="memname">
170
- <tr>
171
- <td class="memname">int(* mschm_decompressor::fast_find) (struct <a class="el" href="structmschm__decompressor.html">mschm_decompressor</a> *self, struct <a class="el" href="structmschmd__header.html">mschmd_header</a> *chm, const char *filename, struct <a class="el" href="structmschmd__file.html">mschmd_file</a> *f_ptr, int f_size)</td>
172
- </tr>
173
- </table>
174
- </div><div class="memdoc">
175
-
176
- <p>Finds file details quickly. </p>
177
- <p>Instead of reading all CHM helpfile headers and building a list of files, <a class="el" href="structmschm__decompressor.html#ae7df232ac27eded95850fea2648985f9" title="Opens a CHM helpfile quickly. ">fast_open()</a> and <a class="el" href="structmschm__decompressor.html#a5d80bc6dc6c08ae0ae064e66e73c48f8" title="Finds file details quickly. ">fast_find()</a> are intended for finding file details only when they are needed. The CHM file format includes an on-disk file index to allow this.</p>
178
- <p>Given a case-sensitive filename, <a class="el" href="structmschm__decompressor.html#a5d80bc6dc6c08ae0ae064e66e73c48f8" title="Finds file details quickly. ">fast_find()</a> will search the on-disk index for that file.</p>
179
- <p>If the file was found, the caller-provided <a class="el" href="structmschmd__file.html" title="A structure which represents a file stored in a CHM helpfile. ">mschmd_file</a> structure will be filled out like so:</p><ul>
180
- <li>section: the correct value for the found file</li>
181
- <li>offset: the correct value for the found file</li>
182
- <li>length: the correct value for the found file</li>
183
- <li>all other structure elements: NULL or 0</li>
184
- </ul>
185
- <p>If the file was not found, MSPACK_ERR_OK will still be returned as the result, but the caller-provided structure will be filled out like so:</p><ul>
186
- <li>section: NULL</li>
187
- <li>offset: 0</li>
188
- <li>length: 0</li>
189
- <li>all other structure elements: NULL or 0</li>
190
- </ul>
191
- <p>This method is intended to be used in conjunction with CHM helpfiles opened with <a class="el" href="structmschm__decompressor.html#ae7df232ac27eded95850fea2648985f9" title="Opens a CHM helpfile quickly. ">fast_open()</a>, but it also works with helpfiles opened using the regular <a class="el" href="structmschm__decompressor.html#ac43207276b00521cde8014353ae16f34" title="Opens a CHM helpfile and reads its contents. ">open()</a>.</p>
192
- <dl class="params"><dt>Parameters</dt><dd>
193
- <table class="params">
194
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmschm__decompressor.html" title="A decompressor for .CHM (Microsoft HTMLHelp) files. ">mschm_decompressor</a> instance being called </td></tr>
195
- <tr><td class="paramname">chm</td><td>the CHM helpfile to search for the file </td></tr>
196
- <tr><td class="paramname">filename</td><td>the filename of the file to search for </td></tr>
197
- <tr><td class="paramname">f_ptr</td><td>a pointer to a caller-provded <a class="el" href="structmschmd__file.html" title="A structure which represents a file stored in a CHM helpfile. ">mschmd_file</a> structure </td></tr>
198
- <tr><td class="paramname">f_size</td><td><code>sizeof(struct mschmd_file)</code> </td></tr>
199
- </table>
200
- </dd>
201
- </dl>
202
- <dl class="section return"><dt>Returns</dt><dd>an error code, or MSPACK_ERR_OK if successful </dd></dl>
203
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmschm__decompressor.html#ac43207276b00521cde8014353ae16f34" title="Opens a CHM helpfile and reads its contents. ">open()</a>, <a class="el" href="structmschm__decompressor.html#aa3ead0cd30ee28cbe13ee05210162b5c" title="Closes a previously opened CHM helpfile. ">close()</a>, <a class="el" href="structmschm__decompressor.html#a5d80bc6dc6c08ae0ae064e66e73c48f8" title="Finds file details quickly. ">fast_find()</a>, <a class="el" href="structmschm__decompressor.html#a9809c5a004f6377d8889af18a7448213" title="Extracts a file from a CHM helpfile. ">extract()</a> </dd></dl>
204
-
205
- </div>
206
- </div>
207
- <a id="ae7df232ac27eded95850fea2648985f9"></a>
208
- <h2 class="memtitle"><span class="permalink"><a href="#ae7df232ac27eded95850fea2648985f9">&#9670;&nbsp;</a></span>fast_open</h2>
209
-
210
- <div class="memitem">
211
- <div class="memproto">
212
- <table class="memname">
213
- <tr>
214
- <td class="memname">struct <a class="el" href="structmschmd__header.html">mschmd_header</a>*(* mschm_decompressor::fast_open) (struct <a class="el" href="structmschm__decompressor.html">mschm_decompressor</a> *self, const char *filename)</td>
215
- </tr>
216
- </table>
217
- </div><div class="memdoc">
218
-
219
- <p>Opens a CHM helpfile quickly. </p>
220
- <p>If the file opened is a valid CHM helpfile, only essential headers will be read. A <a class="el" href="structmschmd__header.html" title="A structure which represents a CHM helpfile. ">mschmd_header</a> structure will be still be returned, as with <a class="el" href="structmschm__decompressor.html#ac43207276b00521cde8014353ae16f34" title="Opens a CHM helpfile and reads its contents. ">open()</a>, but the <a class="el" href="structmschmd__header.html#aecdd3b5e84606785e9620a70e8f0d0ed" title="A list of all non-system files in the CHM helpfile. ">mschmd_header::files</a> field will be NULL. No files details will be automatically read. The <a class="el" href="structmschm__decompressor.html#a5d80bc6dc6c08ae0ae064e66e73c48f8" title="Finds file details quickly. ">fast_find()</a> method must be used to obtain file details.</p>
221
- <p>In the case of an error occuring, NULL is returned and the error code is available from <a class="el" href="structmschm__decompressor.html#ae7c840a5374a0c916daf5c33a884fefa" title="Returns the error code set by the most recently called method. ">last_error()</a>.</p>
222
- <p>The filename pointer should be considered "in use" until <a class="el" href="structmschm__decompressor.html#aa3ead0cd30ee28cbe13ee05210162b5c" title="Closes a previously opened CHM helpfile. ">close()</a> is called on the CHM helpfile.</p>
223
- <dl class="params"><dt>Parameters</dt><dd>
224
- <table class="params">
225
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmschm__decompressor.html" title="A decompressor for .CHM (Microsoft HTMLHelp) files. ">mschm_decompressor</a> instance being called </td></tr>
226
- <tr><td class="paramname">filename</td><td>the filename of the CHM helpfile. 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>
227
- </table>
228
- </dd>
229
- </dl>
230
- <dl class="section return"><dt>Returns</dt><dd>a pointer to a <a class="el" href="structmschmd__header.html" title="A structure which represents a CHM helpfile. ">mschmd_header</a> structure, or NULL on failure </dd></dl>
231
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmschm__decompressor.html#ac43207276b00521cde8014353ae16f34" title="Opens a CHM helpfile and reads its contents. ">open()</a>, <a class="el" href="structmschm__decompressor.html#aa3ead0cd30ee28cbe13ee05210162b5c" title="Closes a previously opened CHM helpfile. ">close()</a>, <a class="el" href="structmschm__decompressor.html#a5d80bc6dc6c08ae0ae064e66e73c48f8" title="Finds file details quickly. ">fast_find()</a>, <a class="el" href="structmschm__decompressor.html#a9809c5a004f6377d8889af18a7448213" title="Extracts a file from a CHM helpfile. ">extract()</a> </dd></dl>
232
-
233
- </div>
234
- </div>
235
- <a id="ae7c840a5374a0c916daf5c33a884fefa"></a>
236
- <h2 class="memtitle"><span class="permalink"><a href="#ae7c840a5374a0c916daf5c33a884fefa">&#9670;&nbsp;</a></span>last_error</h2>
237
-
238
- <div class="memitem">
239
- <div class="memproto">
240
- <table class="memname">
241
- <tr>
242
- <td class="memname">int(* mschm_decompressor::last_error) (struct <a class="el" href="structmschm__decompressor.html">mschm_decompressor</a> *self)</td>
243
- </tr>
244
- </table>
245
- </div><div class="memdoc">
246
-
247
- <p>Returns the error code set by the most recently called method. </p>
248
- <p>This is useful for <a class="el" href="structmschm__decompressor.html#ac43207276b00521cde8014353ae16f34" title="Opens a CHM helpfile and reads its contents. ">open()</a> and <a class="el" href="structmschm__decompressor.html#ae7df232ac27eded95850fea2648985f9" title="Opens a CHM helpfile quickly. ">fast_open()</a>, which do not return an error code directly.</p>
249
- <dl class="params"><dt>Parameters</dt><dd>
250
- <table class="params">
251
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmschm__decompressor.html" title="A decompressor for .CHM (Microsoft HTMLHelp) files. ">mschm_decompressor</a> instance being called </td></tr>
252
- </table>
253
- </dd>
254
- </dl>
255
- <dl class="section return"><dt>Returns</dt><dd>the most recent error code </dd></dl>
256
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmschm__decompressor.html#ac43207276b00521cde8014353ae16f34" title="Opens a CHM helpfile and reads its contents. ">open()</a>, <a class="el" href="structmschm__decompressor.html#a9809c5a004f6377d8889af18a7448213" title="Extracts a file from a CHM helpfile. ">extract()</a> </dd></dl>
257
-
258
- </div>
259
- </div>
260
- <a id="ac43207276b00521cde8014353ae16f34"></a>
261
- <h2 class="memtitle"><span class="permalink"><a href="#ac43207276b00521cde8014353ae16f34">&#9670;&nbsp;</a></span>open</h2>
262
-
263
- <div class="memitem">
264
- <div class="memproto">
265
- <table class="memname">
266
- <tr>
267
- <td class="memname">struct <a class="el" href="structmschmd__header.html">mschmd_header</a>*(* mschm_decompressor::open) (struct <a class="el" href="structmschm__decompressor.html">mschm_decompressor</a> *self, const char *filename)</td>
268
- </tr>
269
- </table>
270
- </div><div class="memdoc">
271
-
272
- <p>Opens a CHM helpfile and reads its contents. </p>
273
- <p>If the file opened is a valid CHM helpfile, all headers will be read and a <a class="el" href="structmschmd__header.html" title="A structure which represents a CHM helpfile. ">mschmd_header</a> structure will be returned, with a full list of files.</p>
274
- <p>In the case of an error occuring, NULL is returned and the error code is available from <a class="el" href="structmschm__decompressor.html#ae7c840a5374a0c916daf5c33a884fefa" title="Returns the error code set by the most recently called method. ">last_error()</a>.</p>
275
- <p>The filename pointer should be considered "in use" until <a class="el" href="structmschm__decompressor.html#aa3ead0cd30ee28cbe13ee05210162b5c" title="Closes a previously opened CHM helpfile. ">close()</a> is called on the CHM helpfile.</p>
276
- <dl class="params"><dt>Parameters</dt><dd>
277
- <table class="params">
278
- <tr><td class="paramname">self</td><td>a self-referential pointer to the <a class="el" href="structmschm__decompressor.html" title="A decompressor for .CHM (Microsoft HTMLHelp) files. ">mschm_decompressor</a> instance being called </td></tr>
279
- <tr><td class="paramname">filename</td><td>the filename of the CHM helpfile. 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>
280
- </table>
281
- </dd>
282
- </dl>
283
- <dl class="section return"><dt>Returns</dt><dd>a pointer to a <a class="el" href="structmschmd__header.html" title="A structure which represents a CHM helpfile. ">mschmd_header</a> structure, or NULL on failure </dd></dl>
284
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="structmschm__decompressor.html#aa3ead0cd30ee28cbe13ee05210162b5c" title="Closes a previously opened CHM helpfile. ">close()</a> </dd></dl>
285
-
286
- </div>
287
- </div>
288
- <hr/>The documentation for this struct was generated from the following file:<ul>
289
- <li><a class="el" href="mspack_8h_source.html">mspack.h</a></li>
290
- </ul>
291
- </div><!-- contents -->
292
- <!-- start footer part -->
293
- <hr class="footer"/><address class="footer"><small>
294
- Generated by &#160;<a href="http://www.doxygen.org/index.html">
295
- <img class="footer" src="doxygen.png" alt="doxygen"/>
296
- </a> 1.8.13
297
- </small></address>
298
- </body>
299
- </html>
@@ -1,7 +0,0 @@
1
- <map id="mschm_decompressor" name="mschm_decompressor">
2
- <area shape="rect" id="node2" href="$structmschmd__header.html" title="A structure which represents a CHM helpfile. " alt="" coords="279,5,398,32"/>
3
- <area shape="rect" id="node4" href="$structmschmd__section.html" title="A structure which represents a section of a CHM helpfile. " alt="" coords="278,111,399,137"/>
4
- <area shape="rect" id="node3" href="$structmschmd__file.html" title="A structure which represents a file stored in a CHM helpfile. " alt="" coords="136,201,232,228"/>
5
- <area shape="rect" id="node5" href="$structmschmd__sec__mscompressed.html" title="A structure which represents the LZX compressed section of a CHM helpfile. " alt="" coords="235,335,431,361"/>
6
- <area shape="rect" id="node6" href="$structmschmd__sec__uncompressed.html" title="A structure which represents the uncompressed section of a CHM helpfile. " alt="" coords="391,201,583,228"/>
7
- </map>
@@ -1 +0,0 @@
1
- 3b9184fce03f52b858c1b3d7698b4614