lzoruby 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. data/LICENSE.txt +339 -0
  2. data/README.txt +57 -0
  3. data/ext/compr1b.h +81 -0
  4. data/ext/compr1c.h +81 -0
  5. data/ext/config1.h +61 -0
  6. data/ext/config1a.h +196 -0
  7. data/ext/config1b.h +140 -0
  8. data/ext/config1c.h +145 -0
  9. data/ext/config1f.h +97 -0
  10. data/ext/config1x.h +118 -0
  11. data/ext/config1y.h +66 -0
  12. data/ext/config1z.h +65 -0
  13. data/ext/config2a.h +155 -0
  14. data/ext/extconf.rb +2 -0
  15. data/ext/lzo/lzo1.h +96 -0
  16. data/ext/lzo/lzo1a.h +96 -0
  17. data/ext/lzo/lzo1b.h +160 -0
  18. data/ext/lzo/lzo1c.h +160 -0
  19. data/ext/lzo/lzo1f.h +108 -0
  20. data/ext/lzo/lzo1x.h +177 -0
  21. data/ext/lzo/lzo1y.h +145 -0
  22. data/ext/lzo/lzo1z.h +150 -0
  23. data/ext/lzo/lzo2a.h +92 -0
  24. data/ext/lzo/lzo_asm.h +139 -0
  25. data/ext/lzo/lzoconf.h +417 -0
  26. data/ext/lzo/lzodefs.h +1807 -0
  27. data/ext/lzo/lzoutil.h +73 -0
  28. data/ext/lzo1.c +635 -0
  29. data/ext/lzo1_99.c +130 -0
  30. data/ext/lzo1_cm.ch +52 -0
  31. data/ext/lzo1_d.ch +155 -0
  32. data/ext/lzo1a.c +657 -0
  33. data/ext/lzo1a_99.c +130 -0
  34. data/ext/lzo1a_cm.ch +242 -0
  35. data/ext/lzo1a_cr.ch +128 -0
  36. data/ext/lzo1a_de.h +158 -0
  37. data/ext/lzo1b_1.c +46 -0
  38. data/ext/lzo1b_2.c +46 -0
  39. data/ext/lzo1b_3.c +46 -0
  40. data/ext/lzo1b_4.c +46 -0
  41. data/ext/lzo1b_5.c +46 -0
  42. data/ext/lzo1b_6.c +46 -0
  43. data/ext/lzo1b_7.c +46 -0
  44. data/ext/lzo1b_8.c +46 -0
  45. data/ext/lzo1b_9.c +46 -0
  46. data/ext/lzo1b_99.c +49 -0
  47. data/ext/lzo1b_9x.c +365 -0
  48. data/ext/lzo1b_c.ch +270 -0
  49. data/ext/lzo1b_cc.c +167 -0
  50. data/ext/lzo1b_cc.h +93 -0
  51. data/ext/lzo1b_cm.ch +294 -0
  52. data/ext/lzo1b_cr.ch +126 -0
  53. data/ext/lzo1b_d.ch +282 -0
  54. data/ext/lzo1b_d1.c +46 -0
  55. data/ext/lzo1b_d2.c +46 -0
  56. data/ext/lzo1b_de.h +344 -0
  57. data/ext/lzo1b_r.ch +117 -0
  58. data/ext/lzo1b_rr.c +43 -0
  59. data/ext/lzo1b_sm.ch +210 -0
  60. data/ext/lzo1b_tm.ch +99 -0
  61. data/ext/lzo1b_xx.c +98 -0
  62. data/ext/lzo1c_1.c +46 -0
  63. data/ext/lzo1c_2.c +46 -0
  64. data/ext/lzo1c_3.c +46 -0
  65. data/ext/lzo1c_4.c +46 -0
  66. data/ext/lzo1c_5.c +46 -0
  67. data/ext/lzo1c_6.c +46 -0
  68. data/ext/lzo1c_7.c +46 -0
  69. data/ext/lzo1c_8.c +46 -0
  70. data/ext/lzo1c_9.c +46 -0
  71. data/ext/lzo1c_99.c +49 -0
  72. data/ext/lzo1c_9x.c +379 -0
  73. data/ext/lzo1c_cc.c +167 -0
  74. data/ext/lzo1c_cc.h +93 -0
  75. data/ext/lzo1c_d1.c +46 -0
  76. data/ext/lzo1c_d2.c +46 -0
  77. data/ext/lzo1c_rr.c +43 -0
  78. data/ext/lzo1c_xx.c +98 -0
  79. data/ext/lzo1f_1.c +312 -0
  80. data/ext/lzo1f_9x.c +345 -0
  81. data/ext/lzo1f_d.ch +223 -0
  82. data/ext/lzo1f_d1.c +46 -0
  83. data/ext/lzo1f_d2.c +46 -0
  84. data/ext/lzo1x_1.c +50 -0
  85. data/ext/lzo1x_1k.c +50 -0
  86. data/ext/lzo1x_1l.c +50 -0
  87. data/ext/lzo1x_1o.c +50 -0
  88. data/ext/lzo1x_9x.c +881 -0
  89. data/ext/lzo1x_c.ch +351 -0
  90. data/ext/lzo1x_d.ch +466 -0
  91. data/ext/lzo1x_d1.c +46 -0
  92. data/ext/lzo1x_d2.c +46 -0
  93. data/ext/lzo1x_d3.c +108 -0
  94. data/ext/lzo1x_o.c +45 -0
  95. data/ext/lzo1x_oo.ch +366 -0
  96. data/ext/lzo1y_1.c +50 -0
  97. data/ext/lzo1y_9x.c +42 -0
  98. data/ext/lzo1y_d1.c +46 -0
  99. data/ext/lzo1y_d2.c +46 -0
  100. data/ext/lzo1y_d3.c +45 -0
  101. data/ext/lzo1y_o.c +45 -0
  102. data/ext/lzo1z_9x.c +42 -0
  103. data/ext/lzo1z_d1.c +46 -0
  104. data/ext/lzo1z_d2.c +46 -0
  105. data/ext/lzo1z_d3.c +45 -0
  106. data/ext/lzo2a_9x.c +357 -0
  107. data/ext/lzo2a_d.ch +188 -0
  108. data/ext/lzo2a_d1.c +46 -0
  109. data/ext/lzo2a_d2.c +46 -0
  110. data/ext/lzo_conf.h +323 -0
  111. data/ext/lzo_crc.c +167 -0
  112. data/ext/lzo_dict.h +316 -0
  113. data/ext/lzo_dll.ch +64 -0
  114. data/ext/lzo_init.c +176 -0
  115. data/ext/lzo_mchw.ch +242 -0
  116. data/ext/lzo_ptr.c +92 -0
  117. data/ext/lzo_ptr.h +154 -0
  118. data/ext/lzo_str.c +71 -0
  119. data/ext/lzo_swd.ch +707 -0
  120. data/ext/lzo_util.c +165 -0
  121. data/ext/lzoruby.c +149 -0
  122. data/ext/miniacc.h +6553 -0
  123. data/ext/stats1a.h +137 -0
  124. data/ext/stats1b.h +142 -0
  125. data/ext/stats1c.h +61 -0
  126. metadata +180 -0
data/ext/config1y.h ADDED
@@ -0,0 +1,66 @@
1
+ /* config1y.h -- configuration for the LZO1Y algorithm
2
+
3
+ This file is part of the LZO real-time data compression library.
4
+
5
+ Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
6
+ Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
7
+ Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
8
+ Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
9
+ Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
10
+ Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
11
+ Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
12
+ Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
13
+ Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
14
+ Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
15
+ Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
16
+ Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
17
+ Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
18
+ All Rights Reserved.
19
+
20
+ The LZO library is free software; you can redistribute it and/or
21
+ modify it under the terms of the GNU General Public License as
22
+ published by the Free Software Foundation; either version 2 of
23
+ the License, or (at your option) any later version.
24
+
25
+ The LZO library is distributed in the hope that it will be useful,
26
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
27
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28
+ GNU General Public License for more details.
29
+
30
+ You should have received a copy of the GNU General Public License
31
+ along with the LZO library; see the file COPYING.
32
+ If not, write to the Free Software Foundation, Inc.,
33
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
34
+
35
+ Markus F.X.J. Oberhumer
36
+ <markus@oberhumer.com>
37
+ http://www.oberhumer.com/opensource/lzo/
38
+ */
39
+
40
+
41
+ /* WARNING: this file should *not* be used by applications. It is
42
+ part of the implementation of the library and is subject
43
+ to change.
44
+ */
45
+
46
+
47
+ #ifndef __LZO_CONFIG1Y_H
48
+ #define __LZO_CONFIG1Y_H
49
+
50
+ #if !defined(LZO1Y)
51
+ # define LZO1Y
52
+ #endif
53
+
54
+ #include "lzo_conf.h"
55
+ #include "lzo/lzo1y.h"
56
+
57
+ #define M2_MAX_LEN 14
58
+ #define M2_MAX_OFFSET 0x0400
59
+ #include "config1x.h"
60
+
61
+ #endif /* already included */
62
+
63
+ /*
64
+ vi:ts=4:et
65
+ */
66
+
data/ext/config1z.h ADDED
@@ -0,0 +1,65 @@
1
+ /* config1z.h -- configuration for the LZO1Z algorithm
2
+
3
+ This file is part of the LZO real-time data compression library.
4
+
5
+ Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
6
+ Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
7
+ Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
8
+ Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
9
+ Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
10
+ Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
11
+ Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
12
+ Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
13
+ Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
14
+ Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
15
+ Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
16
+ Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
17
+ Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
18
+ All Rights Reserved.
19
+
20
+ The LZO library is free software; you can redistribute it and/or
21
+ modify it under the terms of the GNU General Public License as
22
+ published by the Free Software Foundation; either version 2 of
23
+ the License, or (at your option) any later version.
24
+
25
+ The LZO library is distributed in the hope that it will be useful,
26
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
27
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28
+ GNU General Public License for more details.
29
+
30
+ You should have received a copy of the GNU General Public License
31
+ along with the LZO library; see the file COPYING.
32
+ If not, write to the Free Software Foundation, Inc.,
33
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
34
+
35
+ Markus F.X.J. Oberhumer
36
+ <markus@oberhumer.com>
37
+ http://www.oberhumer.com/opensource/lzo/
38
+ */
39
+
40
+
41
+ /* WARNING: this file should *not* be used by applications. It is
42
+ part of the implementation of the library and is subject
43
+ to change.
44
+ */
45
+
46
+
47
+ #ifndef __LZO_CONFIG1Z_H
48
+ #define __LZO_CONFIG1Z_H
49
+
50
+ #if !defined(LZO1Z)
51
+ # define LZO1Z
52
+ #endif
53
+
54
+ #include "lzo_conf.h"
55
+ #include "lzo/lzo1z.h"
56
+
57
+ #define M2_MAX_OFFSET 0x0700
58
+ #include "config1x.h"
59
+
60
+ #endif /* already included */
61
+
62
+ /*
63
+ vi:ts=4:et
64
+ */
65
+
data/ext/config2a.h ADDED
@@ -0,0 +1,155 @@
1
+ /* config2a.h -- configuration for the LZO2A algorithm
2
+
3
+ This file is part of the LZO real-time data compression library.
4
+
5
+ Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
6
+ Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
7
+ Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
8
+ Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
9
+ Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
10
+ Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
11
+ Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
12
+ Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
13
+ Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
14
+ Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
15
+ Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
16
+ Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
17
+ Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
18
+ All Rights Reserved.
19
+
20
+ The LZO library is free software; you can redistribute it and/or
21
+ modify it under the terms of the GNU General Public License as
22
+ published by the Free Software Foundation; either version 2 of
23
+ the License, or (at your option) any later version.
24
+
25
+ The LZO library is distributed in the hope that it will be useful,
26
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
27
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28
+ GNU General Public License for more details.
29
+
30
+ You should have received a copy of the GNU General Public License
31
+ along with the LZO library; see the file COPYING.
32
+ If not, write to the Free Software Foundation, Inc.,
33
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
34
+
35
+ Markus F.X.J. Oberhumer
36
+ <markus@oberhumer.com>
37
+ http://www.oberhumer.com/opensource/lzo/
38
+ */
39
+
40
+
41
+ /* WARNING: this file should *not* be used by applications. It is
42
+ part of the implementation of the library and is subject
43
+ to change.
44
+ */
45
+
46
+
47
+ #ifndef __LZO_CONFIG2A_H
48
+ #define __LZO_CONFIG2A_H
49
+
50
+ #include "lzo_conf.h"
51
+ #include "lzo/lzo2a.h"
52
+
53
+
54
+ /***********************************************************************
55
+ // algorithm configuration
56
+ ************************************************************************/
57
+
58
+ /* dictionary depth (0 - 6) - this only affects the compressor.
59
+ * 0 is fastest, 6 is best compression ratio */
60
+ #if !defined(DDBITS)
61
+ # define DDBITS 0
62
+ #endif
63
+
64
+ /* compression level (1 - 9) - this only affects the compressor.
65
+ * 1 is fastest, 9 is best compression ratio */
66
+ #if !defined(CLEVEL)
67
+ # define CLEVEL 1 /* fastest by default */
68
+ #endif
69
+
70
+
71
+ /* check configuration */
72
+ #if (DDBITS < 0 || DDBITS > 6)
73
+ # error "invalid DDBITS"
74
+ #endif
75
+ #if (CLEVEL < 1 || CLEVEL > 9)
76
+ # error "invalid CLEVEL"
77
+ #endif
78
+
79
+
80
+ /***********************************************************************
81
+ // internal configuration
82
+ ************************************************************************/
83
+
84
+ #if 1
85
+ #define N 8191 /* size of ring buffer */
86
+ #else
87
+ #define N 16383 /* size of ring buffer */
88
+ #endif
89
+
90
+ #define M1_MIN_LEN 2
91
+ #define M1_MAX_LEN 5
92
+ #define M2_MIN_LEN 3
93
+ #define M3_MIN_LEN 3
94
+
95
+
96
+ /* add a special code so that the decompressor can detect the
97
+ * end of the compressed data block (overhead is 3 bytes per block) */
98
+ #define LZO_EOF_CODE
99
+
100
+ #undef LZO_DETERMINISTIC
101
+
102
+
103
+ /***********************************************************************
104
+ // algorithm internal configuration
105
+ ************************************************************************/
106
+
107
+ /* choose the hashing strategy */
108
+ #ifndef LZO_HASH
109
+ #define LZO_HASH LZO_HASH_LZO_INCREMENTAL_A
110
+ #endif
111
+
112
+ /* config */
113
+ #define DD_BITS DDBITS
114
+ #ifndef D_BITS
115
+ #define D_BITS 14
116
+ #endif
117
+
118
+
119
+
120
+ /***********************************************************************
121
+ // optimization and debugging
122
+ ************************************************************************/
123
+
124
+ /* Collect statistics */
125
+ #if 0 && !defined(LZO_COLLECT_STATS)
126
+ # define LZO_COLLECT_STATS
127
+ #endif
128
+
129
+
130
+ /***********************************************************************
131
+ //
132
+ ************************************************************************/
133
+
134
+ /* get bits */
135
+ #define _NEEDBITS \
136
+ { _NEEDBYTE; b |= ((lzo_uint32) _NEXTBYTE) << k; k += 8; assert(k <= 32); }
137
+ #define NEEDBITS(j) { assert((j) < 8); if (k < (j)) _NEEDBITS }
138
+
139
+ /* set bits */
140
+ #define SETBITS(j,x) { b |= (x) << k; k += (j); assert(k <= 32); }
141
+
142
+ /* access bits */
143
+ #define MASKBITS(j) (b & ((((lzo_uint32)1 << (j)) - 1)))
144
+
145
+ /* drop bits */
146
+ #define DUMPBITS(j) { assert(k >= j); b >>= (j); k -= (j); }
147
+
148
+
149
+
150
+ #endif /* already included */
151
+
152
+ /*
153
+ vi:ts=4:et
154
+ */
155
+
data/ext/extconf.rb ADDED
@@ -0,0 +1,2 @@
1
+ require 'mkmf'
2
+ create_makefile('lzoruby')
data/ext/lzo/lzo1.h ADDED
@@ -0,0 +1,96 @@
1
+ /* lzo1.h -- public interface of the LZO1 compression algorithm
2
+
3
+ This file is part of the LZO real-time data compression library.
4
+
5
+ Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
6
+ Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
7
+ Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
8
+ Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
9
+ Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
10
+ Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
11
+ Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
12
+ Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
13
+ Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
14
+ Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
15
+ Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
16
+ Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
17
+ Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
18
+ All Rights Reserved.
19
+
20
+ The LZO library is free software; you can redistribute it and/or
21
+ modify it under the terms of the GNU General Public License as
22
+ published by the Free Software Foundation; either version 2 of
23
+ the License, or (at your option) any later version.
24
+
25
+ The LZO library is distributed in the hope that it will be useful,
26
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
27
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28
+ GNU General Public License for more details.
29
+
30
+ You should have received a copy of the GNU General Public License
31
+ along with the LZO library; see the file COPYING.
32
+ If not, write to the Free Software Foundation, Inc.,
33
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
34
+
35
+ Markus F.X.J. Oberhumer
36
+ <markus@oberhumer.com>
37
+ http://www.oberhumer.com/opensource/lzo/
38
+ */
39
+
40
+
41
+ #ifndef __LZO1_H_INCLUDED
42
+ #define __LZO1_H_INCLUDED
43
+
44
+ #ifndef __LZOCONF_H_INCLUDED
45
+ #include "lzoconf.h"
46
+ #endif
47
+
48
+ #ifdef __cplusplus
49
+ extern "C" {
50
+ #endif
51
+
52
+
53
+ /***********************************************************************
54
+ //
55
+ ************************************************************************/
56
+
57
+ /* Memory required for the wrkmem parameter.
58
+ * When the required size is 0, you can also pass a NULL pointer.
59
+ */
60
+
61
+ #define LZO1_MEM_COMPRESS ((lzo_uint32) (8192L * lzo_sizeof_dict_t))
62
+ #define LZO1_MEM_DECOMPRESS (0)
63
+
64
+
65
+ LZO_EXTERN(int)
66
+ lzo1_compress ( const lzo_bytep src, lzo_uint src_len,
67
+ lzo_bytep dst, lzo_uintp dst_len,
68
+ lzo_voidp wrkmem );
69
+
70
+ LZO_EXTERN(int)
71
+ lzo1_decompress ( const lzo_bytep src, lzo_uint src_len,
72
+ lzo_bytep dst, lzo_uintp dst_len,
73
+ lzo_voidp wrkmem /* NOT USED */ );
74
+
75
+
76
+ /***********************************************************************
77
+ // better compression ratio at the cost of more memory and time
78
+ ************************************************************************/
79
+
80
+ #define LZO1_99_MEM_COMPRESS ((lzo_uint32) (65536L * lzo_sizeof_dict_t))
81
+
82
+ LZO_EXTERN(int)
83
+ lzo1_99_compress ( const lzo_bytep src, lzo_uint src_len,
84
+ lzo_bytep dst, lzo_uintp dst_len,
85
+ lzo_voidp wrkmem );
86
+
87
+
88
+
89
+ #ifdef __cplusplus
90
+ } /* extern "C" */
91
+ #endif
92
+
93
+ #endif /* already included */
94
+
95
+
96
+ /* vim:set ts=4 et: */
data/ext/lzo/lzo1a.h ADDED
@@ -0,0 +1,96 @@
1
+ /* lzo1a.h -- public interface of the LZO1A compression algorithm
2
+
3
+ This file is part of the LZO real-time data compression library.
4
+
5
+ Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
6
+ Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
7
+ Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
8
+ Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
9
+ Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
10
+ Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
11
+ Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
12
+ Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
13
+ Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
14
+ Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
15
+ Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
16
+ Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
17
+ Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
18
+ All Rights Reserved.
19
+
20
+ The LZO library is free software; you can redistribute it and/or
21
+ modify it under the terms of the GNU General Public License as
22
+ published by the Free Software Foundation; either version 2 of
23
+ the License, or (at your option) any later version.
24
+
25
+ The LZO library is distributed in the hope that it will be useful,
26
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
27
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28
+ GNU General Public License for more details.
29
+
30
+ You should have received a copy of the GNU General Public License
31
+ along with the LZO library; see the file COPYING.
32
+ If not, write to the Free Software Foundation, Inc.,
33
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
34
+
35
+ Markus F.X.J. Oberhumer
36
+ <markus@oberhumer.com>
37
+ http://www.oberhumer.com/opensource/lzo/
38
+ */
39
+
40
+
41
+ #ifndef __LZO1A_H_INCLUDED
42
+ #define __LZO1A_H_INCLUDED
43
+
44
+ #ifndef __LZOCONF_H_INCLUDED
45
+ #include "lzoconf.h"
46
+ #endif
47
+
48
+ #ifdef __cplusplus
49
+ extern "C" {
50
+ #endif
51
+
52
+
53
+ /***********************************************************************
54
+ //
55
+ ************************************************************************/
56
+
57
+ /* Memory required for the wrkmem parameter.
58
+ * When the required size is 0, you can also pass a NULL pointer.
59
+ */
60
+
61
+ #define LZO1A_MEM_COMPRESS ((lzo_uint32) (8192L * lzo_sizeof_dict_t))
62
+ #define LZO1A_MEM_DECOMPRESS (0)
63
+
64
+
65
+ LZO_EXTERN(int)
66
+ lzo1a_compress ( const lzo_bytep src, lzo_uint src_len,
67
+ lzo_bytep dst, lzo_uintp dst_len,
68
+ lzo_voidp wrkmem );
69
+
70
+ LZO_EXTERN(int)
71
+ lzo1a_decompress ( const lzo_bytep src, lzo_uint src_len,
72
+ lzo_bytep dst, lzo_uintp dst_len,
73
+ lzo_voidp wrkmem /* NOT USED */ );
74
+
75
+
76
+ /***********************************************************************
77
+ // better compression ratio at the cost of more memory and time
78
+ ************************************************************************/
79
+
80
+ #define LZO1A_99_MEM_COMPRESS ((lzo_uint32) (65536L * lzo_sizeof_dict_t))
81
+
82
+ LZO_EXTERN(int)
83
+ lzo1a_99_compress ( const lzo_bytep src, lzo_uint src_len,
84
+ lzo_bytep dst, lzo_uintp dst_len,
85
+ lzo_voidp wrkmem );
86
+
87
+
88
+
89
+ #ifdef __cplusplus
90
+ } /* extern "C" */
91
+ #endif
92
+
93
+ #endif /* already included */
94
+
95
+
96
+ /* vim:set ts=4 et: */
data/ext/lzo/lzo1b.h ADDED
@@ -0,0 +1,160 @@
1
+ /* lzo1b.h -- public interface of the LZO1B compression algorithm
2
+
3
+ This file is part of the LZO real-time data compression library.
4
+
5
+ Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
6
+ Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
7
+ Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
8
+ Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
9
+ Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
10
+ Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
11
+ Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
12
+ Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
13
+ Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
14
+ Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
15
+ Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
16
+ Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
17
+ Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
18
+ All Rights Reserved.
19
+
20
+ The LZO library is free software; you can redistribute it and/or
21
+ modify it under the terms of the GNU General Public License as
22
+ published by the Free Software Foundation; either version 2 of
23
+ the License, or (at your option) any later version.
24
+
25
+ The LZO library is distributed in the hope that it will be useful,
26
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
27
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28
+ GNU General Public License for more details.
29
+
30
+ You should have received a copy of the GNU General Public License
31
+ along with the LZO library; see the file COPYING.
32
+ If not, write to the Free Software Foundation, Inc.,
33
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
34
+
35
+ Markus F.X.J. Oberhumer
36
+ <markus@oberhumer.com>
37
+ http://www.oberhumer.com/opensource/lzo/
38
+ */
39
+
40
+
41
+ #ifndef __LZO1B_H_INCLUDED
42
+ #define __LZO1B_H_INCLUDED
43
+
44
+ #ifndef __LZOCONF_H_INCLUDED
45
+ #include "lzoconf.h"
46
+ #endif
47
+
48
+ #ifdef __cplusplus
49
+ extern "C" {
50
+ #endif
51
+
52
+
53
+ /***********************************************************************
54
+ //
55
+ ************************************************************************/
56
+
57
+ /* Memory required for the wrkmem parameter.
58
+ * When the required size is 0, you can also pass a NULL pointer.
59
+ */
60
+
61
+ #define LZO1B_MEM_COMPRESS ((lzo_uint32) (16384L * lzo_sizeof_dict_t))
62
+ #define LZO1B_MEM_DECOMPRESS (0)
63
+
64
+
65
+ /* compression levels */
66
+ #define LZO1B_BEST_SPEED 1
67
+ #define LZO1B_BEST_COMPRESSION 9
68
+ #define LZO1B_DEFAULT_COMPRESSION (-1) /* fastest by default */
69
+
70
+
71
+ LZO_EXTERN(int)
72
+ lzo1b_compress ( const lzo_bytep src, lzo_uint src_len,
73
+ lzo_bytep dst, lzo_uintp dst_len,
74
+ lzo_voidp wrkmem,
75
+ int compression_level );
76
+
77
+ /* decompression */
78
+ LZO_EXTERN(int)
79
+ lzo1b_decompress ( const lzo_bytep src, lzo_uint src_len,
80
+ lzo_bytep dst, lzo_uintp dst_len,
81
+ lzo_voidp wrkmem /* NOT USED */ );
82
+
83
+ /* safe decompression with overrun testing */
84
+ LZO_EXTERN(int)
85
+ lzo1b_decompress_safe ( const lzo_bytep src, lzo_uint src_len,
86
+ lzo_bytep dst, lzo_uintp dst_len,
87
+ lzo_voidp wrkmem /* NOT USED */ );
88
+
89
+
90
+ /***********************************************************************
91
+ //
92
+ ************************************************************************/
93
+
94
+ LZO_EXTERN(int)
95
+ lzo1b_1_compress ( const lzo_bytep src, lzo_uint src_len,
96
+ lzo_bytep dst, lzo_uintp dst_len,
97
+ lzo_voidp wrkmem );
98
+ LZO_EXTERN(int)
99
+ lzo1b_2_compress ( const lzo_bytep src, lzo_uint src_len,
100
+ lzo_bytep dst, lzo_uintp dst_len,
101
+ lzo_voidp wrkmem );
102
+ LZO_EXTERN(int)
103
+ lzo1b_3_compress ( const lzo_bytep src, lzo_uint src_len,
104
+ lzo_bytep dst, lzo_uintp dst_len,
105
+ lzo_voidp wrkmem );
106
+ LZO_EXTERN(int)
107
+ lzo1b_4_compress ( const lzo_bytep src, lzo_uint src_len,
108
+ lzo_bytep dst, lzo_uintp dst_len,
109
+ lzo_voidp wrkmem );
110
+ LZO_EXTERN(int)
111
+ lzo1b_5_compress ( const lzo_bytep src, lzo_uint src_len,
112
+ lzo_bytep dst, lzo_uintp dst_len,
113
+ lzo_voidp wrkmem );
114
+ LZO_EXTERN(int)
115
+ lzo1b_6_compress ( const lzo_bytep src, lzo_uint src_len,
116
+ lzo_bytep dst, lzo_uintp dst_len,
117
+ lzo_voidp wrkmem );
118
+ LZO_EXTERN(int)
119
+ lzo1b_7_compress ( const lzo_bytep src, lzo_uint src_len,
120
+ lzo_bytep dst, lzo_uintp dst_len,
121
+ lzo_voidp wrkmem );
122
+ LZO_EXTERN(int)
123
+ lzo1b_8_compress ( const lzo_bytep src, lzo_uint src_len,
124
+ lzo_bytep dst, lzo_uintp dst_len,
125
+ lzo_voidp wrkmem );
126
+ LZO_EXTERN(int)
127
+ lzo1b_9_compress ( const lzo_bytep src, lzo_uint src_len,
128
+ lzo_bytep dst, lzo_uintp dst_len,
129
+ lzo_voidp wrkmem );
130
+
131
+
132
+ /***********************************************************************
133
+ // better compression ratio at the cost of more memory and time
134
+ ************************************************************************/
135
+
136
+ #define LZO1B_99_MEM_COMPRESS ((lzo_uint32) (65536L * lzo_sizeof_dict_t))
137
+
138
+ LZO_EXTERN(int)
139
+ lzo1b_99_compress ( const lzo_bytep src, lzo_uint src_len,
140
+ lzo_bytep dst, lzo_uintp dst_len,
141
+ lzo_voidp wrkmem );
142
+
143
+
144
+ #define LZO1B_999_MEM_COMPRESS ((lzo_uint32) (3 * 65536L * sizeof(lzo_xint)))
145
+
146
+ LZO_EXTERN(int)
147
+ lzo1b_999_compress ( const lzo_bytep src, lzo_uint src_len,
148
+ lzo_bytep dst, lzo_uintp dst_len,
149
+ lzo_voidp wrkmem );
150
+
151
+
152
+
153
+ #ifdef __cplusplus
154
+ } /* extern "C" */
155
+ #endif
156
+
157
+ #endif /* already included */
158
+
159
+
160
+ /* vim:set ts=4 et: */