libmspack 0.0.5 → 0.10.1.2

Sign up to get free protection for your applications and to get access to all the features.
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