lzoruby 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. data/{README.txt → README} +3 -7
  2. data/ext/extconf.rb +4 -1
  3. metadata +24 -131
  4. data/ext/compr1b.h +0 -81
  5. data/ext/compr1c.h +0 -81
  6. data/ext/config1.h +0 -61
  7. data/ext/config1a.h +0 -196
  8. data/ext/config1b.h +0 -140
  9. data/ext/config1c.h +0 -145
  10. data/ext/config1f.h +0 -97
  11. data/ext/config1x.h +0 -118
  12. data/ext/config1y.h +0 -66
  13. data/ext/config1z.h +0 -65
  14. data/ext/config2a.h +0 -155
  15. data/ext/lzo/lzo1.h +0 -96
  16. data/ext/lzo/lzo1a.h +0 -96
  17. data/ext/lzo/lzo1b.h +0 -160
  18. data/ext/lzo/lzo1c.h +0 -160
  19. data/ext/lzo/lzo1f.h +0 -108
  20. data/ext/lzo/lzo1x.h +0 -177
  21. data/ext/lzo/lzo1y.h +0 -145
  22. data/ext/lzo/lzo1z.h +0 -150
  23. data/ext/lzo/lzo2a.h +0 -92
  24. data/ext/lzo/lzo_asm.h +0 -139
  25. data/ext/lzo/lzoconf.h +0 -417
  26. data/ext/lzo/lzodefs.h +0 -1807
  27. data/ext/lzo/lzoutil.h +0 -73
  28. data/ext/lzo1.c +0 -635
  29. data/ext/lzo1_99.c +0 -130
  30. data/ext/lzo1_cm.ch +0 -52
  31. data/ext/lzo1_d.ch +0 -155
  32. data/ext/lzo1a.c +0 -657
  33. data/ext/lzo1a_99.c +0 -130
  34. data/ext/lzo1a_cm.ch +0 -242
  35. data/ext/lzo1a_cr.ch +0 -128
  36. data/ext/lzo1a_de.h +0 -158
  37. data/ext/lzo1b_1.c +0 -46
  38. data/ext/lzo1b_2.c +0 -46
  39. data/ext/lzo1b_3.c +0 -46
  40. data/ext/lzo1b_4.c +0 -46
  41. data/ext/lzo1b_5.c +0 -46
  42. data/ext/lzo1b_6.c +0 -46
  43. data/ext/lzo1b_7.c +0 -46
  44. data/ext/lzo1b_8.c +0 -46
  45. data/ext/lzo1b_9.c +0 -46
  46. data/ext/lzo1b_99.c +0 -49
  47. data/ext/lzo1b_9x.c +0 -365
  48. data/ext/lzo1b_c.ch +0 -270
  49. data/ext/lzo1b_cc.c +0 -167
  50. data/ext/lzo1b_cc.h +0 -93
  51. data/ext/lzo1b_cm.ch +0 -294
  52. data/ext/lzo1b_cr.ch +0 -126
  53. data/ext/lzo1b_d.ch +0 -282
  54. data/ext/lzo1b_d1.c +0 -46
  55. data/ext/lzo1b_d2.c +0 -46
  56. data/ext/lzo1b_de.h +0 -344
  57. data/ext/lzo1b_r.ch +0 -117
  58. data/ext/lzo1b_rr.c +0 -43
  59. data/ext/lzo1b_sm.ch +0 -210
  60. data/ext/lzo1b_tm.ch +0 -99
  61. data/ext/lzo1b_xx.c +0 -98
  62. data/ext/lzo1c_1.c +0 -46
  63. data/ext/lzo1c_2.c +0 -46
  64. data/ext/lzo1c_3.c +0 -46
  65. data/ext/lzo1c_4.c +0 -46
  66. data/ext/lzo1c_5.c +0 -46
  67. data/ext/lzo1c_6.c +0 -46
  68. data/ext/lzo1c_7.c +0 -46
  69. data/ext/lzo1c_8.c +0 -46
  70. data/ext/lzo1c_9.c +0 -46
  71. data/ext/lzo1c_99.c +0 -49
  72. data/ext/lzo1c_9x.c +0 -379
  73. data/ext/lzo1c_cc.c +0 -167
  74. data/ext/lzo1c_cc.h +0 -93
  75. data/ext/lzo1c_d1.c +0 -46
  76. data/ext/lzo1c_d2.c +0 -46
  77. data/ext/lzo1c_rr.c +0 -43
  78. data/ext/lzo1c_xx.c +0 -98
  79. data/ext/lzo1f_1.c +0 -312
  80. data/ext/lzo1f_9x.c +0 -345
  81. data/ext/lzo1f_d.ch +0 -223
  82. data/ext/lzo1f_d1.c +0 -46
  83. data/ext/lzo1f_d2.c +0 -46
  84. data/ext/lzo1x_1.c +0 -50
  85. data/ext/lzo1x_1k.c +0 -50
  86. data/ext/lzo1x_1l.c +0 -50
  87. data/ext/lzo1x_1o.c +0 -50
  88. data/ext/lzo1x_9x.c +0 -881
  89. data/ext/lzo1x_c.ch +0 -351
  90. data/ext/lzo1x_d.ch +0 -466
  91. data/ext/lzo1x_d1.c +0 -46
  92. data/ext/lzo1x_d2.c +0 -46
  93. data/ext/lzo1x_d3.c +0 -108
  94. data/ext/lzo1x_o.c +0 -45
  95. data/ext/lzo1x_oo.ch +0 -366
  96. data/ext/lzo1y_1.c +0 -50
  97. data/ext/lzo1y_9x.c +0 -42
  98. data/ext/lzo1y_d1.c +0 -46
  99. data/ext/lzo1y_d2.c +0 -46
  100. data/ext/lzo1y_d3.c +0 -45
  101. data/ext/lzo1y_o.c +0 -45
  102. data/ext/lzo1z_9x.c +0 -42
  103. data/ext/lzo1z_d1.c +0 -46
  104. data/ext/lzo1z_d2.c +0 -46
  105. data/ext/lzo1z_d3.c +0 -45
  106. data/ext/lzo2a_9x.c +0 -357
  107. data/ext/lzo2a_d.ch +0 -188
  108. data/ext/lzo2a_d1.c +0 -46
  109. data/ext/lzo2a_d2.c +0 -46
  110. data/ext/lzo_conf.h +0 -323
  111. data/ext/lzo_crc.c +0 -167
  112. data/ext/lzo_dict.h +0 -316
  113. data/ext/lzo_dll.ch +0 -64
  114. data/ext/lzo_init.c +0 -176
  115. data/ext/lzo_mchw.ch +0 -242
  116. data/ext/lzo_ptr.c +0 -92
  117. data/ext/lzo_ptr.h +0 -154
  118. data/ext/lzo_str.c +0 -71
  119. data/ext/lzo_swd.ch +0 -707
  120. data/ext/lzo_util.c +0 -165
  121. data/ext/miniacc.h +0 -6553
  122. data/ext/stats1a.h +0 -137
  123. data/ext/stats1b.h +0 -142
  124. data/ext/stats1c.h +0 -61
@@ -1,316 +0,0 @@
1
- /* lzo_dict.h -- dictionary definitions for the the LZO library
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_DICT_H
48
- #define __LZO_DICT_H
49
-
50
- #ifdef __cplusplus
51
- extern "C" {
52
- #endif
53
-
54
-
55
-
56
- /***********************************************************************
57
- // dictionary size
58
- ************************************************************************/
59
-
60
- /* dictionary needed for compression */
61
- #if !defined(D_BITS) && defined(DBITS)
62
- # define D_BITS DBITS
63
- #endif
64
- #if !defined(D_BITS)
65
- # error "D_BITS is not defined"
66
- #endif
67
- #if (D_BITS < 16)
68
- # define D_SIZE LZO_SIZE(D_BITS)
69
- # define D_MASK LZO_MASK(D_BITS)
70
- #else
71
- # define D_SIZE LZO_USIZE(D_BITS)
72
- # define D_MASK LZO_UMASK(D_BITS)
73
- #endif
74
- #define D_HIGH ((D_MASK >> 1) + 1)
75
-
76
-
77
- /* dictionary depth */
78
- #if !defined(DD_BITS)
79
- # define DD_BITS 0
80
- #endif
81
- #define DD_SIZE LZO_SIZE(DD_BITS)
82
- #define DD_MASK LZO_MASK(DD_BITS)
83
-
84
- /* dictionary length */
85
- #if !defined(DL_BITS)
86
- # define DL_BITS (D_BITS - DD_BITS)
87
- #endif
88
- #if (DL_BITS < 16)
89
- # define DL_SIZE LZO_SIZE(DL_BITS)
90
- # define DL_MASK LZO_MASK(DL_BITS)
91
- #else
92
- # define DL_SIZE LZO_USIZE(DL_BITS)
93
- # define DL_MASK LZO_UMASK(DL_BITS)
94
- #endif
95
-
96
-
97
- #if (D_BITS != DL_BITS + DD_BITS)
98
- # error "D_BITS does not match"
99
- #endif
100
- #if (D_BITS < 8 || D_BITS > 18)
101
- # error "invalid D_BITS"
102
- #endif
103
- #if (DL_BITS < 8 || DL_BITS > 20)
104
- # error "invalid DL_BITS"
105
- #endif
106
- #if (DD_BITS < 0 || DD_BITS > 6)
107
- # error "invalid DD_BITS"
108
- #endif
109
-
110
-
111
- #if !defined(DL_MIN_LEN)
112
- # define DL_MIN_LEN 3
113
- #endif
114
- #if !defined(DL_SHIFT)
115
- # define DL_SHIFT ((DL_BITS + (DL_MIN_LEN - 1)) / DL_MIN_LEN)
116
- #endif
117
-
118
-
119
-
120
- /***********************************************************************
121
- // dictionary access
122
- ************************************************************************/
123
-
124
- #define LZO_HASH_GZIP 1
125
- #define LZO_HASH_GZIP_INCREMENTAL 2
126
- #define LZO_HASH_LZO_INCREMENTAL_A 3
127
- #define LZO_HASH_LZO_INCREMENTAL_B 4
128
-
129
- #if !defined(LZO_HASH)
130
- # error "choose a hashing strategy"
131
- #endif
132
-
133
- #undef DM
134
- #undef DX
135
-
136
- #if (DL_MIN_LEN == 3)
137
- # define _DV2_A(p,shift1,shift2) \
138
- (((( (lzo_xint)((p)[0]) << shift1) ^ (p)[1]) << shift2) ^ (p)[2])
139
- # define _DV2_B(p,shift1,shift2) \
140
- (((( (lzo_xint)((p)[2]) << shift1) ^ (p)[1]) << shift2) ^ (p)[0])
141
- # define _DV3_B(p,shift1,shift2,shift3) \
142
- ((_DV2_B((p)+1,shift1,shift2) << (shift3)) ^ (p)[0])
143
- #elif (DL_MIN_LEN == 2)
144
- # define _DV2_A(p,shift1,shift2) \
145
- (( (lzo_xint)(p[0]) << shift1) ^ p[1])
146
- # define _DV2_B(p,shift1,shift2) \
147
- (( (lzo_xint)(p[1]) << shift1) ^ p[2])
148
- #else
149
- # error "invalid DL_MIN_LEN"
150
- #endif
151
- #define _DV_A(p,shift) _DV2_A(p,shift,shift)
152
- #define _DV_B(p,shift) _DV2_B(p,shift,shift)
153
- #define DA2(p,s1,s2) \
154
- (((((lzo_xint)((p)[2]) << (s2)) + (p)[1]) << (s1)) + (p)[0])
155
- #define DS2(p,s1,s2) \
156
- (((((lzo_xint)((p)[2]) << (s2)) - (p)[1]) << (s1)) - (p)[0])
157
- #define DX2(p,s1,s2) \
158
- (((((lzo_xint)((p)[2]) << (s2)) ^ (p)[1]) << (s1)) ^ (p)[0])
159
- #define DA3(p,s1,s2,s3) ((DA2((p)+1,s2,s3) << (s1)) + (p)[0])
160
- #define DS3(p,s1,s2,s3) ((DS2((p)+1,s2,s3) << (s1)) - (p)[0])
161
- #define DX3(p,s1,s2,s3) ((DX2((p)+1,s2,s3) << (s1)) ^ (p)[0])
162
- #define DMS(v,s) ((lzo_uint) (((v) & (D_MASK >> (s))) << (s)))
163
- #define DM(v) DMS(v,0)
164
-
165
-
166
- #if (LZO_HASH == LZO_HASH_GZIP)
167
- /* hash function like in gzip/zlib (deflate) */
168
- # define _DINDEX(dv,p) (_DV_A((p),DL_SHIFT))
169
-
170
- #elif (LZO_HASH == LZO_HASH_GZIP_INCREMENTAL)
171
- /* incremental hash like in gzip/zlib (deflate) */
172
- # define __LZO_HASH_INCREMENTAL
173
- # define DVAL_FIRST(dv,p) dv = _DV_A((p),DL_SHIFT)
174
- # define DVAL_NEXT(dv,p) dv = (((dv) << DL_SHIFT) ^ p[2])
175
- # define _DINDEX(dv,p) (dv)
176
- # define DVAL_LOOKAHEAD DL_MIN_LEN
177
-
178
- #elif (LZO_HASH == LZO_HASH_LZO_INCREMENTAL_A)
179
- /* incremental LZO hash version A */
180
- # define __LZO_HASH_INCREMENTAL
181
- # define DVAL_FIRST(dv,p) dv = _DV_A((p),5)
182
- # define DVAL_NEXT(dv,p) \
183
- dv ^= (lzo_xint)(p[-1]) << (2*5); dv = (((dv) << 5) ^ p[2])
184
- # define _DINDEX(dv,p) ((DMUL(0x9f5f,dv)) >> 5)
185
- # define DVAL_LOOKAHEAD DL_MIN_LEN
186
-
187
- #elif (LZO_HASH == LZO_HASH_LZO_INCREMENTAL_B)
188
- /* incremental LZO hash version B */
189
- # define __LZO_HASH_INCREMENTAL
190
- # define DVAL_FIRST(dv,p) dv = _DV_B((p),5)
191
- # define DVAL_NEXT(dv,p) \
192
- dv ^= p[-1]; dv = (((dv) >> 5) ^ ((lzo_xint)(p[2]) << (2*5)))
193
- # define _DINDEX(dv,p) ((DMUL(0x9f5f,dv)) >> 5)
194
- # define DVAL_LOOKAHEAD DL_MIN_LEN
195
-
196
- #else
197
- # error "choose a hashing strategy"
198
- #endif
199
-
200
-
201
- #ifndef DINDEX
202
- #define DINDEX(dv,p) ((lzo_uint)((_DINDEX(dv,p)) & DL_MASK) << DD_BITS)
203
- #endif
204
- #if !defined(DINDEX1) && defined(D_INDEX1)
205
- #define DINDEX1 D_INDEX1
206
- #endif
207
- #if !defined(DINDEX2) && defined(D_INDEX2)
208
- #define DINDEX2 D_INDEX2
209
- #endif
210
-
211
-
212
-
213
- #if !defined(__LZO_HASH_INCREMENTAL)
214
- # define DVAL_FIRST(dv,p) ((void) 0)
215
- # define DVAL_NEXT(dv,p) ((void) 0)
216
- # define DVAL_LOOKAHEAD 0
217
- #endif
218
-
219
-
220
- #if !defined(DVAL_ASSERT)
221
- #if defined(__LZO_HASH_INCREMENTAL) && !defined(NDEBUG)
222
- static void DVAL_ASSERT(lzo_xint dv, const lzo_bytep p)
223
- {
224
- lzo_xint df;
225
- DVAL_FIRST(df,(p));
226
- assert(DINDEX(dv,p) == DINDEX(df,p));
227
- }
228
- #else
229
- # define DVAL_ASSERT(dv,p) ((void) 0)
230
- #endif
231
- #endif
232
-
233
-
234
-
235
- /***********************************************************************
236
- // dictionary updating
237
- ************************************************************************/
238
-
239
- #if defined(LZO_DICT_USE_PTR)
240
- # define DENTRY(p,in) (p)
241
- # define GINDEX(m_pos,m_off,dict,dindex,in) m_pos = dict[dindex]
242
- #else
243
- # define DENTRY(p,in) ((lzo_uint) ((p)-(in)))
244
- # define GINDEX(m_pos,m_off,dict,dindex,in) m_off = dict[dindex]
245
- #endif
246
-
247
-
248
- #if (DD_BITS == 0)
249
-
250
- # define UPDATE_D(dict,drun,dv,p,in) dict[ DINDEX(dv,p) ] = DENTRY(p,in)
251
- # define UPDATE_I(dict,drun,index,p,in) dict[index] = DENTRY(p,in)
252
- # define UPDATE_P(ptr,drun,p,in) (ptr)[0] = DENTRY(p,in)
253
-
254
- #else
255
-
256
- # define UPDATE_D(dict,drun,dv,p,in) \
257
- dict[ DINDEX(dv,p) + drun++ ] = DENTRY(p,in); drun &= DD_MASK
258
- # define UPDATE_I(dict,drun,index,p,in) \
259
- dict[ (index) + drun++ ] = DENTRY(p,in); drun &= DD_MASK
260
- # define UPDATE_P(ptr,drun,p,in) \
261
- (ptr) [ drun++ ] = DENTRY(p,in); drun &= DD_MASK
262
-
263
- #endif
264
-
265
-
266
- /***********************************************************************
267
- // test for a match
268
- ************************************************************************/
269
-
270
- #if defined(LZO_DICT_USE_PTR)
271
-
272
- /* m_pos is either NULL or a valid pointer */
273
- #define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \
274
- (m_pos == NULL || (m_off = pd(ip, m_pos)) > max_offset)
275
-
276
- /* m_pos may point anywhere... */
277
- #define LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,max_offset) \
278
- (BOUNDS_CHECKING_OFF_IN_EXPR(( \
279
- m_pos = ip - (lzo_uint) PTR_DIFF(ip,m_pos), \
280
- PTR_LT(m_pos,in) || \
281
- (m_off = (lzo_uint) PTR_DIFF(ip,m_pos)) <= 0 || \
282
- m_off > max_offset )))
283
-
284
- #else
285
-
286
- #define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \
287
- (m_off == 0 || \
288
- ((m_off = pd(ip, in) - m_off) > max_offset) || \
289
- (m_pos = (ip) - (m_off), 0) )
290
-
291
- #define LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,max_offset) \
292
- (pd(ip, in) <= m_off || \
293
- ((m_off = pd(ip, in) - m_off) > max_offset) || \
294
- (m_pos = (ip) - (m_off), 0) )
295
-
296
- #endif
297
-
298
-
299
- #if defined(LZO_DETERMINISTIC)
300
- # define LZO_CHECK_MPOS LZO_CHECK_MPOS_DET
301
- #else
302
- # define LZO_CHECK_MPOS LZO_CHECK_MPOS_NON_DET
303
- #endif
304
-
305
-
306
-
307
- #ifdef __cplusplus
308
- } /* extern "C" */
309
- #endif
310
-
311
- #endif /* already included */
312
-
313
- /*
314
- vi:ts=4:et
315
- */
316
-
@@ -1,64 +0,0 @@
1
- /* lzo_dll.ch -- DLL initialization of the LZO library
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
- /***********************************************************************
42
- // Windows 16 bit + Watcom C + DLL
43
- ************************************************************************/
44
-
45
- #if (LZO_OS_WIN16 && LZO_CC_WATCOMC) && defined(__SW_BD)
46
-
47
- /* don't pull in <windows.h> - we don't need it */
48
- #if 0
49
- BOOL FAR PASCAL LibMain ( HANDLE hInstance, WORD wDataSegment,
50
- WORD wHeapSize, LPSTR lpszCmdLine )
51
- #else
52
- int __far __pascal LibMain ( int a, short b, short c, long d )
53
- #endif
54
- {
55
- LZO_UNUSED(a); LZO_UNUSED(b); LZO_UNUSED(c); LZO_UNUSED(d);
56
- return 1;
57
- }
58
-
59
- #endif
60
-
61
-
62
- /*
63
- vi:ts=4:et
64
- */
@@ -1,176 +0,0 @@
1
- /* lzo_init.c -- initialization of the LZO library
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
- #include "lzo_conf.h"
42
-
43
-
44
- /***********************************************************************
45
- // Runtime check of the assumptions about the size of builtin types,
46
- // memory model, byte order and other low-level constructs.
47
- //
48
- // We are really paranoid here - LZO should either fail
49
- // at startup or not at all.
50
- //
51
- // Because of inlining much of these functions evaluates to nothing.
52
- //
53
- // And while many of the tests seem highly obvious and redundant they are
54
- // here to catch compiler/optimizer bugs. Yes, these do exist.
55
- ************************************************************************/
56
-
57
- #if !defined(__LZO_IN_MINILZO)
58
-
59
- #define ACC_WANT_ACC_CHK_CH 1
60
- #undef ACCCHK_ASSERT
61
- #include "miniacc.h"
62
-
63
- ACCCHK_ASSERT_IS_SIGNED_T(lzo_int)
64
- ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_uint)
65
-
66
- ACCCHK_ASSERT_IS_SIGNED_T(lzo_int32)
67
- ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_uint32)
68
- ACCCHK_ASSERT((LZO_UINT32_C(1) << (int)(8*sizeof(LZO_UINT32_C(1))-1)) > 0)
69
- ACCCHK_ASSERT(sizeof(lzo_uint32) >= 4)
70
-
71
- #if !defined(__LZO_UINTPTR_T_IS_POINTER)
72
- ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_uintptr_t)
73
- #endif
74
- ACCCHK_ASSERT(sizeof(lzo_uintptr_t) >= sizeof(lzo_voidp))
75
-
76
- ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_xint)
77
- ACCCHK_ASSERT(sizeof(lzo_xint) >= sizeof(lzo_uint32))
78
- ACCCHK_ASSERT(sizeof(lzo_xint) >= sizeof(lzo_uint))
79
- ACCCHK_ASSERT(sizeof(lzo_xint) == sizeof(lzo_uint32) || sizeof(lzo_xint) == sizeof(lzo_uint))
80
-
81
- #endif
82
- #undef ACCCHK_ASSERT
83
-
84
-
85
- /***********************************************************************
86
- //
87
- ************************************************************************/
88
-
89
- LZO_PUBLIC(int)
90
- _lzo_config_check(void)
91
- {
92
- lzo_bool r = 1;
93
- union { unsigned char c[2*sizeof(lzo_xint)]; lzo_xint l[2]; } u;
94
- lzo_uintptr_t p;
95
-
96
- #if !defined(LZO_CFG_NO_CONFIG_CHECK)
97
- #if defined(LZO_ABI_BIG_ENDIAN)
98
- u.l[0] = u.l[1] = 0; u.c[sizeof(lzo_xint) - 1] = 128;
99
- r &= (u.l[0] == 128);
100
- #endif
101
- #if defined(LZO_ABI_LITTLE_ENDIAN)
102
- u.l[0] = u.l[1] = 0; u.c[0] = 128;
103
- r &= (u.l[0] == 128);
104
- #endif
105
- #if defined(LZO_UNALIGNED_OK_2)
106
- p = (lzo_uintptr_t) (const lzo_voidp) &u.c[0];
107
- u.l[0] = u.l[1] = 0;
108
- r &= ((* (const lzo_ushortp) (p+1)) == 0);
109
- #endif
110
- #if defined(LZO_UNALIGNED_OK_4)
111
- p = (lzo_uintptr_t) (const lzo_voidp) &u.c[0];
112
- u.l[0] = u.l[1] = 0;
113
- r &= ((* (const lzo_uint32p) (p+1)) == 0);
114
- #endif
115
- #endif
116
-
117
- LZO_UNUSED(u); LZO_UNUSED(p);
118
- return r == 1 ? LZO_E_OK : LZO_E_ERROR;
119
- }
120
-
121
-
122
- /***********************************************************************
123
- //
124
- ************************************************************************/
125
-
126
- int __lzo_init_done = 0;
127
-
128
- LZO_PUBLIC(int)
129
- __lzo_init_v2(unsigned v, int s1, int s2, int s3, int s4, int s5,
130
- int s6, int s7, int s8, int s9)
131
- {
132
- int r;
133
-
134
- #if defined(__LZO_IN_MINILZO)
135
- #elif (LZO_CC_MSC && ((_MSC_VER) < 700))
136
- #else
137
- #define ACC_WANT_ACC_CHK_CH 1
138
- #undef ACCCHK_ASSERT
139
- #define ACCCHK_ASSERT(expr) LZO_COMPILE_TIME_ASSERT(expr)
140
- #include "miniacc.h"
141
- #endif
142
- #undef ACCCHK_ASSERT
143
-
144
- __lzo_init_done = 1;
145
-
146
- if (v == 0)
147
- return LZO_E_ERROR;
148
-
149
- r = (s1 == -1 || s1 == (int) sizeof(short)) &&
150
- (s2 == -1 || s2 == (int) sizeof(int)) &&
151
- (s3 == -1 || s3 == (int) sizeof(long)) &&
152
- (s4 == -1 || s4 == (int) sizeof(lzo_uint32)) &&
153
- (s5 == -1 || s5 == (int) sizeof(lzo_uint)) &&
154
- (s6 == -1 || s6 == (int) lzo_sizeof_dict_t) &&
155
- (s7 == -1 || s7 == (int) sizeof(char *)) &&
156
- (s8 == -1 || s8 == (int) sizeof(lzo_voidp)) &&
157
- (s9 == -1 || s9 == (int) sizeof(lzo_callback_t));
158
- if (!r)
159
- return LZO_E_ERROR;
160
-
161
- r = _lzo_config_check();
162
- if (r != LZO_E_OK)
163
- return r;
164
-
165
- return r;
166
- }
167
-
168
-
169
- #if !defined(__LZO_IN_MINILZO)
170
- #include "lzo_dll.ch"
171
- #endif
172
-
173
-
174
- /*
175
- vi:ts=4:et
176
- */