libmspack 0.0.5 → 0.10.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/rake.yml +37 -0
  3. data/.gitignore +2 -0
  4. data/.yardopts +1 -1
  5. data/README.md +1 -1
  6. data/Rakefile +11 -5
  7. data/ext/Rakefile +1 -1
  8. data/ext/libmspack/AUTHORS +1 -0
  9. data/ext/libmspack/ChangeLog +321 -4
  10. data/ext/libmspack/INSTALL +368 -0
  11. data/ext/libmspack/Makefile.am +86 -95
  12. data/ext/libmspack/Makefile.in +1729 -0
  13. data/ext/libmspack/README +30 -30
  14. data/ext/libmspack/acinclude.m4 +99 -0
  15. data/ext/libmspack/aclocal.m4 +1218 -0
  16. data/ext/libmspack/ar-lib +270 -0
  17. data/ext/libmspack/compile +347 -0
  18. data/ext/libmspack/config.guess +1480 -0
  19. data/ext/libmspack/config.h.in +129 -0
  20. data/ext/libmspack/config.sub +1801 -0
  21. data/ext/libmspack/configure +15487 -0
  22. data/ext/libmspack/configure.ac +11 -13
  23. data/ext/libmspack/depcomp +791 -0
  24. data/ext/libmspack/install-sh +508 -0
  25. data/ext/libmspack/libmscabd.la +41 -0
  26. data/ext/libmspack/libmschmd.la +41 -0
  27. data/ext/libmspack/libmspack.la +41 -0
  28. data/ext/libmspack/ltmain.sh +11156 -0
  29. data/ext/libmspack/m4/libtool.m4 +8387 -0
  30. data/ext/libmspack/m4/ltoptions.m4 +437 -0
  31. data/ext/libmspack/m4/ltsugar.m4 +124 -0
  32. data/ext/libmspack/m4/ltversion.m4 +23 -0
  33. data/ext/libmspack/m4/lt~obsolete.m4 +99 -0
  34. data/ext/libmspack/missing +215 -0
  35. data/ext/libmspack/mspack/cab.h +20 -7
  36. data/ext/libmspack/mspack/cabd.c +301 -236
  37. data/ext/libmspack/mspack/chmd.c +304 -319
  38. data/ext/libmspack/mspack/crc32.c +52 -52
  39. data/ext/libmspack/mspack/crc32.h +1 -1
  40. data/ext/libmspack/mspack/kwajd.c +178 -172
  41. data/ext/libmspack/mspack/lzss.h +4 -4
  42. data/ext/libmspack/mspack/lzssd.c +42 -42
  43. data/ext/libmspack/mspack/lzx.h +11 -11
  44. data/ext/libmspack/mspack/lzxd.c +370 -361
  45. data/ext/libmspack/mspack/mspack.h +109 -77
  46. data/ext/libmspack/mspack/mszip.h +6 -6
  47. data/ext/libmspack/mspack/mszipd.c +140 -139
  48. data/ext/libmspack/mspack/oab.h +1 -0
  49. data/ext/libmspack/mspack/oabd.c +71 -73
  50. data/ext/libmspack/mspack/qtm.h +4 -4
  51. data/ext/libmspack/mspack/qtmd.c +118 -117
  52. data/ext/libmspack/mspack/readbits.h +52 -52
  53. data/ext/libmspack/mspack/readhuff.h +61 -61
  54. data/ext/libmspack/mspack/system.c +15 -9
  55. data/ext/libmspack/mspack/system.h +38 -50
  56. data/ext/libmspack/mspack/szddd.c +35 -35
  57. data/ext/libmspack/test-driver +148 -0
  58. data/ext/x86_64-linux/libmspack.so +0 -0
  59. data/ext/x86_64-windows/mspack.dll +0 -0
  60. data/lib/libmspack/version.rb +2 -1
  61. data/lib/libmspack.rb +1 -1
  62. data/libmspack.gemspec +4 -4
  63. data/spec/libmspack_spec.rb +5 -4
  64. metadata +38 -105
  65. data/.travis.yml +0 -5
  66. data/ext/i386-windows/libmspack.dll +0 -0
  67. data/ext/libmspack/cleanup.sh +0 -9
  68. data/ext/libmspack/debian/changelog +0 -6
  69. data/ext/libmspack/debian/control +0 -14
  70. data/ext/libmspack/debian/rules +0 -101
  71. data/ext/libmspack/doc/Doxyfile.in +0 -22
  72. data/ext/libmspack/doc/Makefile.in +0 -14
  73. data/ext/libmspack/doc/szdd_kwaj_format.html +0 -331
  74. data/ext/libmspack/mspack/mspack.def +0 -28
  75. data/ext/libmspack/mspack/qtmc.c +0 -18
  76. data/ext/libmspack/rebuild.sh +0 -8
  77. data/ext/libmspack/test/cabd_c10 +0 -19
  78. data/ext/libmspack/test/cabd_compare +0 -34
  79. data/ext/libmspack/test/cabd_md5.c +0 -161
  80. data/ext/libmspack/test/cabd_memory.c +0 -179
  81. data/ext/libmspack/test/cabd_test.c +0 -386
  82. data/ext/libmspack/test/cabrip.c +0 -81
  83. data/ext/libmspack/test/chmd_compare +0 -38
  84. data/ext/libmspack/test/chmd_find.c +0 -95
  85. data/ext/libmspack/test/chmd_md5.c +0 -67
  86. data/ext/libmspack/test/chmd_order.c +0 -144
  87. data/ext/libmspack/test/chminfo.c +0 -284
  88. data/ext/libmspack/test/chmx.c +0 -216
  89. data/ext/libmspack/test/error.h +0 -22
  90. data/ext/libmspack/test/expand.c +0 -79
  91. data/ext/libmspack/test/md5.c +0 -457
  92. data/ext/libmspack/test/md5.h +0 -165
  93. data/ext/libmspack/test/md5_fh.h +0 -123
  94. data/ext/libmspack/test/msdecompile_md5 +0 -24
  95. data/ext/libmspack/test/msexpand_md5 +0 -39
  96. data/ext/libmspack/test/multifh.c +0 -435
  97. data/ext/libmspack/test/oabx.c +0 -41
  98. data/ext/libmspack/test/test_files/cabd/1.pl +0 -84
  99. data/ext/libmspack/test/test_files/cabd/2.pl +0 -75
  100. data/ext/libmspack/test/test_files/cabd/bad_folderindex.cab +0 -0
  101. data/ext/libmspack/test/test_files/cabd/bad_nofiles.cab +0 -0
  102. data/ext/libmspack/test/test_files/cabd/bad_nofolders.cab +0 -0
  103. data/ext/libmspack/test/test_files/cabd/bad_signature.cab +0 -0
  104. data/ext/libmspack/test/test_files/cabd/multi_basic_pt1.cab +0 -0
  105. data/ext/libmspack/test/test_files/cabd/multi_basic_pt2.cab +0 -0
  106. data/ext/libmspack/test/test_files/cabd/multi_basic_pt3.cab +0 -0
  107. data/ext/libmspack/test/test_files/cabd/multi_basic_pt4.cab +0 -0
  108. data/ext/libmspack/test/test_files/cabd/multi_basic_pt5.cab +0 -0
  109. data/ext/libmspack/test/test_files/cabd/normal_255c_filename.cab +0 -0
  110. data/ext/libmspack/test/test_files/cabd/normal_2files_1folder.cab +0 -0
  111. data/ext/libmspack/test/test_files/cabd/partial_nodata.cab +0 -0
  112. data/ext/libmspack/test/test_files/cabd/partial_nofiles.cab +0 -0
  113. data/ext/libmspack/test/test_files/cabd/partial_nofolder.cab +0 -0
  114. data/ext/libmspack/test/test_files/cabd/partial_shortextheader.cab +0 -0
  115. data/ext/libmspack/test/test_files/cabd/partial_shortfile1.cab +0 -0
  116. data/ext/libmspack/test/test_files/cabd/partial_shortfile2.cab +0 -0
  117. data/ext/libmspack/test/test_files/cabd/partial_shortfolder.cab +0 -0
  118. data/ext/libmspack/test/test_files/cabd/partial_shortheader.cab +0 -0
  119. data/ext/libmspack/test/test_files/cabd/partial_str_nofname.cab +0 -0
  120. data/ext/libmspack/test/test_files/cabd/partial_str_noninfo.cab +0 -0
  121. data/ext/libmspack/test/test_files/cabd/partial_str_nonname.cab +0 -0
  122. data/ext/libmspack/test/test_files/cabd/partial_str_nopinfo.cab +0 -0
  123. data/ext/libmspack/test/test_files/cabd/partial_str_nopname.cab +0 -0
  124. data/ext/libmspack/test/test_files/cabd/partial_str_shortfname.cab +0 -0
  125. data/ext/libmspack/test/test_files/cabd/partial_str_shortninfo.cab +0 -0
  126. data/ext/libmspack/test/test_files/cabd/partial_str_shortnname.cab +0 -0
  127. data/ext/libmspack/test/test_files/cabd/partial_str_shortpinfo.cab +0 -0
  128. data/ext/libmspack/test/test_files/cabd/partial_str_shortpname.cab +0 -0
  129. data/ext/libmspack/test/test_files/cabd/reserve_---.cab +0 -0
  130. data/ext/libmspack/test/test_files/cabd/reserve_--D.cab +0 -0
  131. data/ext/libmspack/test/test_files/cabd/reserve_-F-.cab +0 -0
  132. data/ext/libmspack/test/test_files/cabd/reserve_-FD.cab +0 -0
  133. data/ext/libmspack/test/test_files/cabd/reserve_H--.cab +0 -0
  134. data/ext/libmspack/test/test_files/cabd/reserve_H-D.cab +0 -0
  135. data/ext/libmspack/test/test_files/cabd/reserve_HF-.cab +0 -0
  136. data/ext/libmspack/test/test_files/cabd/reserve_HFD.cab +0 -0
  137. data/ext/libmspack/test/test_files/cabd/search_basic.cab +0 -0
  138. data/ext/libmspack/test/test_files/cabd/search_tricky1.cab +0 -0
  139. data/ext/libmspack/winbuild.sh +0 -26
  140. data/ext/libmspack.h +0 -259
  141. data/ext/x86_64-windows/libmspack.dll +0 -0
@@ -1,84 +0,0 @@
1
- #!perl -w
2
- use strict;
3
-
4
- sub byte($) {pack 'c',$_[0]};
5
- sub ubyte($) {pack 'C',$_[0]};
6
- sub uword($) {pack 'v',$_[0]};
7
- sub ulong($) {pack 'V',$_[0]};
8
-
9
- my $RESV_HEADER = 'reserved header test 12345';
10
- #my $RESV_HEADER = '';
11
- #my $RESV_FOLDER = 'reserved folder test 12345';
12
- my $RESV_FOLDER = '';
13
- my $RESV_DATA = 'reserved data test 12345';
14
- #my $RESV_DATA = '';
15
-
16
- my $header
17
- = 'MSCF' # 00 SIGNATURE
18
- . ulong(0) # 04
19
- . ulong(0) # 08 CABINET SIZE
20
- . ulong(0) # 0C
21
- . ulong(0) # 10 FILES OFFSET
22
- . ulong(0) # 14
23
- . ubyte(3) # 18 MINOR VERSION
24
- . ubyte(1) # 19 MAJOR VERSION
25
- . uword(1) # 1A number of folders
26
- . uword(2) # 1C number of files
27
- . uword(4) # 1E flags
28
- . uword(1) # 20 set id
29
- . uword(0) # 22 cab index
30
-
31
- . uword(length($RESV_HEADER)) # 00 header reserved
32
- . ubyte(length($RESV_FOLDER)) # 02 folder resv
33
- . ubyte(length($RESV_DATA)) # 03 data resv
34
- . $RESV_HEADER
35
- ;
36
-
37
- my $folder
38
- = ulong(0) # data offset
39
- . uword(2) # number of blocks
40
- . uword(0) # compression method
41
- . $RESV_FOLDER
42
- ;
43
-
44
- my $files
45
- = ulong(5) # uncompressed size
46
- . ulong(0) # folder offset
47
- . uword(0) # folder index
48
- . uword(0x226C) # time
49
- . uword(0x59BA) # date
50
- . uword(0x20) # attribs
51
- . "test1.txt\0"
52
-
53
- . ulong(5) # uncompressed size
54
- . ulong(5) # folder offset
55
- . uword(0) # folder index
56
- . uword(0x226C) # time
57
- . uword(0x59BA) # date
58
- . uword(0x20) # attribs
59
- . "test2.txt\0"
60
- ;
61
-
62
- my $datablocks
63
- = ulong(0) # checksum
64
- . uword(5) # compressed size
65
- . uword(5) # uncompressed size
66
- . $RESV_DATA
67
- . "TEST\n" # actual data
68
-
69
- . ulong(0) # checksum
70
- . uword(5) # compressed size
71
- . uword(5) # uncompressed size
72
- . $RESV_DATA
73
- . "test\n" # actual data
74
- ;
75
-
76
- my $pre_files = $header . $folder;
77
- my $pre_data = $pre_files . $files;
78
- my $cab = $pre_data . $datablocks;
79
-
80
- substr($header, 0x08, 4, ulong(length($cab)));
81
- substr($header, 0x10, 4, ulong(length($pre_files)));
82
- substr($folder, 0x00, 4, ulong(length($pre_data)));
83
-
84
- print $header . $folder . $files . $datablocks;
@@ -1,75 +0,0 @@
1
- #!perl -w
2
- use strict;
3
-
4
- sub byte($) {pack 'c',$_[0]};
5
- sub ubyte($) {pack 'C',$_[0]};
6
- sub uword($) {pack 'v',$_[0]};
7
- sub ulong($) {pack 'V',$_[0]};
8
-
9
- my $header
10
- = 'MSCF' # 00 SIGNATURE
11
- . ulong(0) # 04
12
- . ulong(0) # 08 CABINET SIZE
13
- . ulong(0) # 0C
14
- . ulong(0) # 10 FILES OFFSET
15
- . ulong(0) # 14
16
- . ubyte(3) # 18 MINOR VERSION
17
- . ubyte(1) # 19 MAJOR VERSION
18
- . uword(1) # 1A number of folders
19
- . uword(3) # 1C number of files
20
- . uword(1) # 1E flags
21
- . uword(12345) # 20 set id
22
- . uword(4) # 22 cab index
23
- . "cabd_multi_basic_pt4.cab\0"
24
- . "basic multipart test part 4\0"
25
-
26
- ;
27
-
28
- my $folder
29
- = ulong(0) # data offset
30
- . uword(1) # number of blocks
31
- . uword(0) # compression method
32
- ;
33
-
34
- my $files
35
- = ulong(76) # uncompressed size
36
- . ulong(0) # folder offset
37
- . uword(0xFFFD) # folder index
38
- . uword(0x226C) # time
39
- . uword(0x59BA) # date
40
- . uword(0x20) # attribs
41
- . "test1.txt\0"
42
-
43
- . ulong(38) # uncompressed size
44
- . ulong(76) # folder offset
45
- . uword(0xFFFD) # folder index
46
- . uword(0x226C) # time
47
- . uword(0x59BA) # date
48
- . uword(0x20) # attribs
49
- . "test2.txt\0"
50
-
51
- . ulong(76) # uncompressed size
52
- . ulong(76+38) # folder offset
53
- . uword(0xFFFD) # folder index
54
- . uword(0x226C) # time
55
- . uword(0x59BA) # date
56
- . uword(0x20) # attribs
57
- . "test3.txt\0"
58
- ;
59
-
60
- my $datablocks
61
- = ulong(0) # checksum
62
- . uword(38) # compressed size
63
- . uword(190) # uncompressed size
64
- . "This is the data from cabinet part 5.\n" # actual data
65
- ;
66
-
67
- my $pre_files = $header . $folder;
68
- my $pre_data = $pre_files . $files;
69
- my $cab = $pre_data . $datablocks;
70
-
71
- substr($header, 0x08, 4, ulong(length($cab)));
72
- substr($header, 0x10, 4, ulong(length($pre_files)));
73
- substr($folder, 0x00, 4, ulong(length($pre_data)));
74
-
75
- print $header . $folder . $files . $datablocks;
@@ -1,26 +0,0 @@
1
- #!/bin/sh
2
- cat <<END
3
- !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
4
- This builds the libmspack into mspack.dll on
5
- Windows with Microsoft compiler.
6
- After compilation find the library in the
7
- directory mspack
8
- !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
9
- END
10
-
11
- cat >config.h <<END
12
- #define inline __inline
13
- #define HAVE_STRING_H 1
14
- #define HAVE_LIMITS_H 1
15
- #define HAVE_MEMCMP 1
16
- END
17
-
18
- cd mspack
19
-
20
- cl /O2 -I. /c *.c
21
- link *.obj /DLL /DEF:mspack.def /IMPLIB:mspack.lib
22
-
23
- cd ..
24
-
25
- ls -l mspack/mspack.dll
26
- ls -l mspack/mspack.lib
data/ext/libmspack.h DELETED
@@ -1,259 +0,0 @@
1
- #ifndef LIBMSPACK_H
2
- #define LIBMSPACK_H 1
3
-
4
- #ifndef RBFFI_EXPORT
5
- # ifdef __cplusplus
6
- # define RBFFI_EXPORT extern "C"
7
- # else
8
- # define RBFFI_EXPORT
9
- # endif
10
- #endif
11
-
12
- struct LibMsPack_MsPack_MsPackFile {
13
- int file;
14
- const char * name;
15
- };
16
-
17
- struct LibMsPack_MsPack_MsPackSystem {
18
- struct LibMsPack_MsPack_MsPackFile * (*open)(struct LibMsPack_MsPack_MsPackSystem *, const char *, int);
19
- void (*close)(struct LibMsPack_MsPack_MsPackFile *);
20
- int (*read)(struct LibMsPack_MsPack_MsPackFile *, inout void *, int);
21
- int (*write)(struct LibMsPack_MsPack_MsPackFile *, inout void *, int);
22
- int (*seek)(struct LibMsPack_MsPack_MsPackFile *, off_t, int);
23
- off_t (*tell)(struct LibMsPack_MsPack_MsPackFile *);
24
- void (*message)(struct LibMsPack_MsPack_MsPackFile *, const char *, ...);
25
- void * (*alloc)(struct LibMsPack_MsPack_MsPackFile *, size_t);
26
- void (*free)(void *);
27
- void (*copy)(const in void *, out void *, size_t);
28
- void * null_ptr;
29
- };
30
-
31
- struct LibMsPack_MsCab_MsCabdFolder {
32
- struct LibMsPack_MsCab_MsCabdFolder * next;
33
- int comp_type;
34
- unsigned int num_blocks;
35
- };
36
-
37
- struct LibMsPack_MsCab_MsCabdFile {
38
- struct LibMsPack_MsCab_MsCabdFile * next;
39
- const char * filename;
40
- unsigned int length;
41
- int attribs;
42
- char time_h;
43
- char time_m;
44
- char time_s;
45
- char date_d;
46
- char date_m;
47
- int date_y;
48
- struct LibMsPack_MsCab_MsCabdFolder * folder;
49
- unsigned int offset;
50
- };
51
-
52
- struct LibMsPack_MsCab_MsCabdCabinet {
53
- struct LibMsPack_MsCab_MsCabdCabinet * next;
54
- const char * filename;
55
- off_t base_offset;
56
- unsigned int length;
57
- struct LibMsPack_MsCab_MsCabdCabinet * prevcab;
58
- struct LibMsPack_MsCab_MsCabdCabinet * nextcab;
59
- const char * prevname;
60
- const char * nextname;
61
- const char * previnfo;
62
- const char * nextinfo;
63
- struct LibMsPack_MsCab_MsCabdFile * files;
64
- struct LibMsPack_MsCab_MsCabdFolder * folders;
65
- unsigned short set_id;
66
- unsigned short set_index;
67
- unsigned short header_resv;
68
- int flags;
69
- };
70
-
71
- struct LibMsPack_MsCab_MsCabCompressor {
72
- int dummy;
73
- };
74
-
75
- struct LibMsPack_MsCab_MsCabDecompressor {
76
- struct LibMsPack_MsCab_MsCabdCabinet * (*open)(struct LibMsPack_MsCab_MsCabDecompressor *, const char *);
77
- void (*close)(struct LibMsPack_MsCab_MsCabDecompressor *, struct LibMsPack_MsCab_MsCabdCabinet *);
78
- struct LibMsPack_MsCab_MsCabdCabinet * (*search)(struct LibMsPack_MsCab_MsCabDecompressor *, const char *);
79
- int (*append)(struct LibMsPack_MsCab_MsCabDecompressor *, struct LibMsPack_MsCab_MsCabdCabinet *, struct LibMsPack_MsCab_MsCabdCabinet *);
80
- int (*prepend)(struct LibMsPack_MsCab_MsCabDecompressor *, struct LibMsPack_MsCab_MsCabdCabinet *, struct LibMsPack_MsCab_MsCabdCabinet *);
81
- int (*extract)(struct LibMsPack_MsCab_MsCabDecompressor *, struct LibMsPack_MsCab_MsCabdFile *, const char *);
82
- int (*set_param)(struct LibMsPack_MsCab_MsCabDecompressor *, int, int);
83
- int (*last_error)(struct LibMsPack_MsCab_MsCabDecompressor *);
84
- };
85
-
86
- struct LibMsPack_MsChm_MsChmcFile {
87
- int section;
88
- const char * filename;
89
- const char * chm_filename;
90
- off_t length;
91
- };
92
-
93
- struct LibMsPack_MsChm_MsChmdSection {
94
- struct LibMsPack_MsChm_MsChmdHeader * chm;
95
- unsigned int id;
96
- };
97
-
98
- struct LibMsPack_MsChm_MsChmdFile {
99
- struct LibMsPack_MsChm_MsChmdFile * next;
100
- struct LibMsPack_MsChm_MsChmdSection * section;
101
- off_t offset;
102
- off_t length;
103
- const char * filename;
104
- };
105
-
106
- struct LibMsPack_MsChm_MsChmdSecUncompressed {
107
- struct LibMsPack_MsChm_MsChmdSection base;
108
- off_t offset;
109
- };
110
-
111
- struct LibMsPack_MsChm_MsChmdSecMscompressed {
112
- struct LibMsPack_MsChm_MsChmdSection base;
113
- struct LibMsPack_MsChm_MsChmdFile * content;
114
- struct LibMsPack_MsChm_MsChmdFile * control;
115
- struct LibMsPack_MsChm_MsChmdFile * rtable;
116
- struct LibMsPack_MsChm_MsChmdFile * spaninfo;
117
- };
118
-
119
- struct LibMsPack_MsChm_MsChmdHeader {
120
- unsigned int version;
121
- unsigned int timestamp;
122
- unsigned int language;
123
- const char * filename;
124
- off_t length;
125
- struct LibMsPack_MsChm_MsChmdFile * files;
126
- struct LibMsPack_MsChm_MsChmdFile * sysfiles;
127
- struct LibMsPack_MsChm_MsChmdSecUncompressed sec0;
128
- struct LibMsPack_MsChm_MsChmdSecMscompressed sec1;
129
- off_t dir_offset;
130
- unsigned int num_chunks;
131
- unsigned int chunk_size;
132
- unsigned int density;
133
- unsigned int depth;
134
- unsigned int index_root;
135
- unsigned int first_pmgl;
136
- unsigned int last_pmgl;
137
- void * chunk_cache;
138
- };
139
-
140
- struct LibMsPack_MsChm_MsChmCompressor {
141
- int (*generate)(struct LibMsPack_MsChm_MsChmCompressor *, struct LibMsPack_MsChm_MsChmcFile *, const char *);
142
- int (*use_temporary_file)(struct LibMsPack_MsChm_MsChmCompressor *, int, const char *);
143
- int (*set_param)(struct LibMsPack_MsChm_MsChmCompressor *, int, unsigned int);
144
- int (*last_error)(struct LibMsPack_MsChm_MsChmCompressor *);
145
- };
146
-
147
- struct LibMsPack_MsChm_MsChmDecompressor {
148
- struct LibMsPack_MsChm_MsChmdHeader * (*open)(struct LibMsPack_MsChm_MsChmDecompressor *, const char *);
149
- void (*close)(struct LibMsPack_MsChm_MsChmDecompressor *, struct LibMsPack_MsChm_MsChmdHeader *);
150
- int (*extract)(struct LibMsPack_MsChm_MsChmDecompressor *, struct LibMsPack_MsChm_MsChmdFile *, const char *);
151
- int (*last_error)(struct LibMsPack_MsChm_MsChmDecompressor *);
152
- struct LibMsPack_MsChm_MsChmdHeader * (*fast_open)(struct LibMsPack_MsChm_MsChmDecompressor *, const char *);
153
- int (*fast_find)(struct LibMsPack_MsChm_MsChmDecompressor *, struct LibMsPack_MsChm_MsChmdHeader *, const char *, struct LibMsPack_MsChm_MsChmdFile *, int);
154
- };
155
-
156
- struct LibMsPack_MsHlp_MsHlpCompressor {
157
- int dummy;
158
- };
159
-
160
- struct LibMsPack_MsHlp_MsHlpDecompressor {
161
- int dummy;
162
- };
163
-
164
- struct LibMsPack_MsKwaj_MsKwajdHeader {
165
- unsigned short comp_type;
166
- off_t data_offset;
167
- int headers;
168
- off_t length;
169
- const char * filename;
170
- void * extra;
171
- unsigned short extra_length;
172
- };
173
-
174
- struct LibMsPack_MsKwaj_MsKwajCompressor {
175
- int (*compress)(void *, const char *, const char *, off_t);
176
- int (*set_param)(void *, int, unsigned int);
177
- int (*set_filename)(void *, const char *);
178
- int (*set_extra_data)(void *, void *, unsigned int);
179
- int (*last_error)(void *);
180
- };
181
-
182
- struct LibMsPack_MsKwaj_MsKwajDecompressor {
183
- void * (*open)(void *, const char *);
184
- void (*close)(void *, void *);
185
- int (*extract)(void *, void *, const char *);
186
- int (*decompress)(void *, const char *, const char *);
187
- int (*last_error)(void *);
188
- };
189
-
190
- struct LibMsPack_MsLit_MsLitCompressor {
191
- int dummy;
192
- };
193
-
194
- struct LibMsPack_MsLit_MsLitDecompressor {
195
- int dummy;
196
- };
197
-
198
- struct LibMsPack_MsOab_MsoabCompressor {
199
- int (*compress)(void *, const char *, const char *);
200
- int (*compress_incremental)(void *, const char *, const char *, const char *);
201
- };
202
-
203
- struct LibMsPack_MsOab_MsoabDecompressor {
204
- int (*decompress)(void *, const char *, const char *);
205
- int (*decompress_incremental)(void *, const char *, const char *, const char *);
206
- };
207
-
208
- struct LibMsPack_MsSzdd_MsSzdddHeader {
209
- int format;
210
- off_t length;
211
- char missing_char;
212
- };
213
-
214
- struct LibMsPack_MsSzdd_MsSzddCompressor {
215
- int (*compress)(void *, const char *, const char *, off_t);
216
- int (*set_param)(void *, int, unsigned int);
217
- int (*last_error)(void *);
218
- };
219
-
220
- struct LibMsPack_MsSzdd_MsSzddDecompressor {
221
- void * (*open)(void *, const char *);
222
- void (*close)(void *, void *);
223
- int (*extract)(void *, void *, const char *);
224
- int (*decompress)(void *, const char *, const char *);
225
- int (*last_error)(void *);
226
- };
227
-
228
- RBFFI_EXPORT int mspack_sys_selftest_internal(int);
229
- RBFFI_EXPORT int mspack_version(int);
230
- RBFFI_EXPORT struct LibMsPack_MsCab_MsCabCompressor * mspack_create_cab_compressor(struct LibMsPack_MsPack_MsPackSystem *);
231
- RBFFI_EXPORT void mspack_destroy_cab_compressor(struct LibMsPack_MsCab_MsCabCompressor *);
232
- RBFFI_EXPORT struct LibMsPack_MsCab_MsCabDecompressor * mspack_create_cab_decompressor(struct LibMsPack_MsPack_MsPackSystem *);
233
- RBFFI_EXPORT void mspack_destroy_cab_decompressor(struct LibMsPack_MsCab_MsCabDecompressor *);
234
- RBFFI_EXPORT void * mspack_create_chm_compressor(struct LibMsPack_MsPack_MsPackSystem *);
235
- RBFFI_EXPORT void mspack_destroy_chm_compressor(void *);
236
- RBFFI_EXPORT void * mspack_create_chm_decompressor(struct LibMsPack_MsPack_MsPackSystem *);
237
- RBFFI_EXPORT void mspack_destroy_chm_decompressor(void *);
238
- RBFFI_EXPORT struct LibMsPack_MsLit_MsLitCompressor * mspack_create_lit_compressor(struct LibMsPack_MsPack_MsPackSystem *);
239
- RBFFI_EXPORT void mspack_destroy_lit_compressor(struct LibMsPack_MsLit_MsLitCompressor *);
240
- RBFFI_EXPORT struct LibMsPack_MsLit_MsLitDecompressor * mspack_create_lit_decompressor(struct LibMsPack_MsPack_MsPackSystem *);
241
- RBFFI_EXPORT void mspack_destroy_lit_decompressor(struct LibMsPack_MsLit_MsLitDecompressor *);
242
- RBFFI_EXPORT struct LibMsPack_MsHlp_MsHlpCompressor * mspack_create_hlp_compressor(struct LibMsPack_MsPack_MsPackSystem *);
243
- RBFFI_EXPORT void mspack_destroy_hlp_compressor(struct LibMsPack_MsHlp_MsHlpCompressor *);
244
- RBFFI_EXPORT struct LibMsPack_MsHlp_MsHlpDecompressor * mspack_create_hlp_decompressor(struct LibMsPack_MsPack_MsPackSystem *);
245
- RBFFI_EXPORT void mspack_destroy_hlp_decompressor(struct LibMsPack_MsHlp_MsHlpDecompressor *);
246
- RBFFI_EXPORT void * mspack_create_szdd_compressor(struct LibMsPack_MsPack_MsPackSystem *);
247
- RBFFI_EXPORT void mspack_destroy_szdd_compressor(void *);
248
- RBFFI_EXPORT void * mspack_create_szdd_decompressor(struct LibMsPack_MsPack_MsPackSystem *);
249
- RBFFI_EXPORT void mspack_destroy_szdd_decompressor(void *);
250
- RBFFI_EXPORT void * mspack_create_kwaj_compressor(struct LibMsPack_MsPack_MsPackSystem *);
251
- RBFFI_EXPORT void mspack_destroy_kwaj_compressor(void *);
252
- RBFFI_EXPORT void * mspack_create_kwaj_decompressor(struct LibMsPack_MsPack_MsPackSystem *);
253
- RBFFI_EXPORT void mspack_destroy_kwaj_decompressor(void *);
254
- RBFFI_EXPORT void * mspack_create_oab_compressor(struct LibMsPack_MsPack_MsPackSystem *);
255
- RBFFI_EXPORT void mspack_destroy_oab_compressor(void *);
256
- RBFFI_EXPORT void * mspack_create_oab_decompressor(struct LibMsPack_MsPack_MsPackSystem *);
257
- RBFFI_EXPORT void mspack_destroy_oab_decompressor(void *);
258
-
259
- #endif /* LIBMSPACK_H */
Binary file