DEADSOFTWARE

Patched for Linux
[mp3cc.git] / MPC.3.5.LINUX / preverifier / jartables.h
1 /*
2 * Copyright (c) 1999 Sun Microsystems, Inc. All Rights Reserved.
3 *
4 * This software is the confidential and proprietary information of Sun
5 * Microsystems, Inc. ("Confidential Information"). You shall not
6 * disclose such Confidential Information and shall use it only in
7 * accordance with the terms of the license agreement you entered into
8 * with Sun.
9 *
10 * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
11 * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
12 * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
13 * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
14 * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
15 * THIS SOFTWARE OR ITS DERIVATIVES.
16 *
17 * Use is subject to license terms.
18 */
20 /*=========================================================================
21 * SYSTEM: KVM
22 * SUBSYSTEM: JAR file reader.
23 * FILE: jartables.h
24 * OVERVIEW: Public header file for the JAR file reader tables.
25 * AUTHOR: Ioi Lam
26 * Tasneem Sayeed
27 *=========================================================================*/
29 #ifndef _KJARTABLES_H_
30 #define _KJARTABLES_H_
32 static const unsigned char ll_extra_bits[] = {
33 /* 257 */ 0, /* 3 */
34 /* 258 */ 0, /* 4 */
35 /* 259 */ 0, /* 5 */
36 /* 260 */ 0, /* 6 */
37 /* 261 */ 0, /* 7 */
38 /* 262 */ 0, /* 8 */
39 /* 263 */ 0, /* 9 */
40 /* 264 */ 0, /* 10 */
41 /* 265 */ 1, /* 11,12 */
42 /* 266 */ 1, /* 13,14 */
44 /* 267 */ 1, /* 15,16 */
45 /* 268 */ 1, /* 17,18 */
46 /* 269 */ 2, /* 19-22 */
47 /* 270 */ 2, /* 23-26 */
48 /* 271 */ 2, /* 27-30 */
49 /* 272 */ 2, /* 31-34 */
50 /* 273 */ 3, /* 35-42 */
51 /* 274 */ 3, /* 43-50 */
52 /* 275 */ 3, /* 51-58 */
53 /* 276 */ 3, /* 59-66 */
55 /* 277 */ 4, /* 67-82 */
56 /* 278 */ 4, /* 83-98 */
57 /* 279 */ 4, /* 99-114 */
58 /* 280 */ 4, /* 115-130 */
59 /* 281 */ 5, /* 131-162 */
60 /* 282 */ 5, /* 163-194 */
61 /* 283 */ 5, /* 195-226 */
62 /* 284 */ 5, /* 227-257 */
63 /* 285 */ 0, /* 258 */
64 };
66 #define MAX_ZIP_EXTRA_LENGTH_BITS 5
68 static const unsigned short ll_length_base[] = {
69 /* 257 0 */ 3,
70 /* 258 0 */ 4,
71 /* 259 0 */ 5,
72 /* 260 0 */ 6,
73 /* 261 0 */ 7,
74 /* 262 0 */ 8,
75 /* 263 0 */ 9,
76 /* 264 0 */ 10,
77 /* 265 1 */ 11, /* - 12 */
78 /* 266 1 */ 13, /* - 14 */
80 /* 267 1 */ 15, /* - 16 */
81 /* 268 1 */ 17, /* - 18 */
82 /* 269 2 */ 19, /* - 22 */
83 /* 270 2 */ 23, /* - 26 */
84 /* 271 2 */ 27, /* - 30 */
85 /* 272 2 */ 31, /* - 34 */
86 /* 273 3 */ 35, /* - 42 */
87 /* 274 3 */ 43, /* - 50 */
88 /* 275 3 */ 51, /* - 58 */
89 /* 276 3 */ 59, /* - 66 */
91 /* 277 4 */ 67, /* - 82 */
92 /* 278 4 */ 83, /* - 98 */
93 /* 279 4 */ 99, /* - 114 */
94 /* 280 4 */ 115, /* - 130 */
95 /* 281 5 */ 131, /* - 162 */
96 /* 282 5 */ 163, /* - 194 */
97 /* 283 5 */ 195, /* - 226 */
98 /* 284 5 */ 227, /* - 257 */
99 /* 285 0 */ 258
100 };
103 static const unsigned char dist_extra_bits[] = {
104 /* 0 */ 0, /* 1 */
105 /* 1 */ 0, /* 2 */
106 /* 2 */ 0, /* 3 */
107 /* 3 */ 0, /* 4 */
108 /* 4 */ 1, /* 5,6 */
109 /* 5 */ 1, /* 7,8 */
110 /* 6 */ 2, /* 9-12 */
111 /* 7 */ 2, /* 13-16 */
112 /* 8 */ 3, /* 17-24 */
113 /* 9 */ 3, /* 25-32 */
115 /* 10 */ 4, /* 33-48 */
116 /* 11 */ 4, /* 49-64 */
117 /* 12 */ 5, /* 65-96 */
118 /* 13 */ 5, /* 97-128 */
119 /* 14 */ 6, /* 129-192 */
120 /* 15 */ 6, /* 193-256 */
121 /* 16 */ 7, /* 257-384 */
122 /* 17 */ 7, /* 385-512 */
123 /* 18 */ 8, /* 513-768 */
124 /* 19 */ 8, /* 769-1024 */
126 /* 20 */ 9, /* 1025-1536 */
127 /* 21 */ 9, /* 1537-2048 */
128 /* 22 */ 10, /* 2049-3072 */
129 /* 23 */ 10, /* 3073-4096 */
130 /* 24 */ 11, /* 4097-6144 */
131 /* 25 */ 11, /* 6145-8192 */
132 /* 26 */ 12, /* 8193-12288 */
133 /* 27 */ 12, /* 12289-16384 */
134 /* 28 */ 13, /* 16385-24576 */
135 /* 29 */ 13, /* 24577-32768 */
136 };
138 #define MAX_ZIP_EXTRA_DISTANCE_BITS 13
139 #define MAX_ZIP_DISTANCE_CODE 29
141 static const unsigned int dist_base[] = {
142 /* 0 0 */ 1,
143 /* 1 0 */ 2,
144 /* 2 0 */ 3,
145 /* 3 0 */ 4,
146 /* 4 1 */ 5, /* -6 */
147 /* 5 1 */ 7, /* -8 */
148 /* 6 2 */ 9, /* -12 */
149 /* 7 2 */ 13, /* -16 */
150 /* 8 3 */ 17, /* -24 */
151 /* 9 3 */ 25, /* -32 */
153 /* 10 4 */ 33, /* -48 */
154 /* 11 4 */ 49, /* -64 */
155 /* 12 5 */ 65, /* -96 */
156 /* 13 5 */ 97, /* -128 */
157 /* 14 6 */ 129, /* -192 */
158 /* 15 6 */ 193, /* -256 */
159 /* 16 7 */ 257, /* -384 */
160 /* 17 7 */ 385, /* -512 */
161 /* 18 8 */ 513, /* -768 */
162 /* 19 8 */ 769, /* -1024 */
163 /* 20 9 */ 1025, /* -1536 */
164 /* 21 9 */ 1537, /* -2048 */
165 /* 22 10 */ 2049, /* -3072 */
166 /* 23 10 */ 3073, /* -4096 */
167 /* 24 11 */ 4097, /* -6144 */
168 /* 25 11 */ 6145, /* -8192 */
169 /* 26 12 */ 8193, /* -12288 */
170 /* 27 12 */ 12289, /* -16384 */
171 /* 28 13 */ 16385, /* -24576 */
172 /* 29 13 */ 24577, /* -32768 */
173 };
176 /*
177 * The order in which the code lengths of the Code Length Alphabet is
178 * given. See section 3.2.7 of RFC 1951.
179 */
181 static const char ccode_idx[] = {
182 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15,
183 };
185 /* A table for reversing 5 bits in a binary number */
187 static const unsigned char reverse5[] = {
188 0x0, 0x10, 0x8, 0x18, 0x4, 0x14, 0xc, 0x1c,
189 0x2, 0x12, 0xa, 0x1a, 0x6, 0x16, 0xe, 0x1e,
190 0x1, 0x11, 0x9, 0x19, 0x5, 0x15, 0xd, 0x1d,
191 0x3, 0x13, 0xb, 0x1b, 0x7, 0x17, 0xf, 0x1f
192 };
194 #define REVERSE_5BITS(code) reverse5[code]
195 #define REVERSE_9BITS(code) \
196 ((reverse5[((code) & 0x1F)] << 4) | reverse5[(code) >> 4])
197 #define REVERSE_15BITS(code) \
198 ( (reverse5[code & 0x1F] << 10) | (reverse5[((code) >> 5) & 0x1F] << 5) \
199 | (reverse5[code >> 10]) )
202 #define HUFFMAN_ENTRY(char, bits) ((char << 4) + bits)
205 #ifdef USE_FIXED_HUFFMAN_CODE_TABLES
207 /* The following tables are currently used, but they can be in
208 * releases that care for speed rather that size.
210 * "Fixed Huffman" can use the following tables, rather than doing the
211 * complicated calculations that it does.
212 */
215 static const struct HuffmanCodeTable fixedHuffmanCodeTable = {
216 {
217 7, /* min code length */
218 9, /* max code length */
219 },
220 {
221 HUFFMAN_ENTRY(0x100, 7),
222 HUFFMAN_ENTRY('P', 8),
223 HUFFMAN_ENTRY(0x010, 8),
224 HUFFMAN_ENTRY(0x118, 8),
225 HUFFMAN_ENTRY(0x110, 7),
226 HUFFMAN_ENTRY('p', 8),
227 HUFFMAN_ENTRY('0', 8),
228 HUFFMAN_ENTRY(0x0c0, 9),
229 HUFFMAN_ENTRY(0x108, 7),
230 HUFFMAN_ENTRY('`', 8),
231 HUFFMAN_ENTRY(' ', 8),
232 HUFFMAN_ENTRY(0x0a0, 9),
233 HUFFMAN_ENTRY(0x000, 8),
234 HUFFMAN_ENTRY(0x080, 8),
235 HUFFMAN_ENTRY('@', 8),
236 HUFFMAN_ENTRY(0x0e0, 9),
237 HUFFMAN_ENTRY(0x104, 7),
238 HUFFMAN_ENTRY('X', 8),
239 HUFFMAN_ENTRY(0x018, 8),
240 HUFFMAN_ENTRY(0x090, 9),
241 HUFFMAN_ENTRY(0x114, 7),
242 HUFFMAN_ENTRY('x', 8),
243 HUFFMAN_ENTRY('8', 8),
244 HUFFMAN_ENTRY(0x0d0, 9),
245 HUFFMAN_ENTRY(0x10c, 7),
246 HUFFMAN_ENTRY('h', 8),
247 HUFFMAN_ENTRY('(', 8),
248 HUFFMAN_ENTRY(0x0b0, 9),
249 HUFFMAN_ENTRY(0x008, 8),
250 HUFFMAN_ENTRY(0x088, 8),
251 HUFFMAN_ENTRY('H', 8),
252 HUFFMAN_ENTRY(0x0f0, 9),
253 HUFFMAN_ENTRY(0x102, 7),
254 HUFFMAN_ENTRY('T', 8),
255 HUFFMAN_ENTRY(0x014, 8),
256 HUFFMAN_ENTRY(0x11c, 8),
257 HUFFMAN_ENTRY(0x112, 7),
258 HUFFMAN_ENTRY('t', 8),
259 HUFFMAN_ENTRY('4', 8),
260 HUFFMAN_ENTRY(0x0c8, 9),
261 HUFFMAN_ENTRY(0x10a, 7),
262 HUFFMAN_ENTRY('d', 8),
263 HUFFMAN_ENTRY('$', 8),
264 HUFFMAN_ENTRY(0x0a8, 9),
265 HUFFMAN_ENTRY(0x004, 8),
266 HUFFMAN_ENTRY(0x084, 8),
267 HUFFMAN_ENTRY('D', 8),
268 HUFFMAN_ENTRY(0x0e8, 9),
269 HUFFMAN_ENTRY(0x106, 7),
270 HUFFMAN_ENTRY('\\', 8),
271 HUFFMAN_ENTRY(0x01c, 8),
272 HUFFMAN_ENTRY(0x098, 9),
273 HUFFMAN_ENTRY(0x116, 7),
274 HUFFMAN_ENTRY('|', 8),
275 HUFFMAN_ENTRY('<', 8),
276 HUFFMAN_ENTRY(0x0d8, 9),
277 HUFFMAN_ENTRY(0x10e, 7),
278 HUFFMAN_ENTRY('l', 8),
279 HUFFMAN_ENTRY(',', 8),
280 HUFFMAN_ENTRY(0x0b8, 9),
281 HUFFMAN_ENTRY(0x00c, 8),
282 HUFFMAN_ENTRY(0x08c, 8),
283 HUFFMAN_ENTRY('L', 8),
284 HUFFMAN_ENTRY(0x0f8, 9),
285 HUFFMAN_ENTRY(0x101, 7),
286 HUFFMAN_ENTRY('R', 8),
287 HUFFMAN_ENTRY(0x012, 8),
288 HUFFMAN_ENTRY(0x11a, 8),
289 HUFFMAN_ENTRY(0x111, 7),
290 HUFFMAN_ENTRY('r', 8),
291 HUFFMAN_ENTRY('2', 8),
292 HUFFMAN_ENTRY(0x0c4, 9),
293 HUFFMAN_ENTRY(0x109, 7),
294 HUFFMAN_ENTRY('b', 8),
295 HUFFMAN_ENTRY('"', 8),
296 HUFFMAN_ENTRY(0x0a4, 9),
297 HUFFMAN_ENTRY(0x002, 8),
298 HUFFMAN_ENTRY(0x082, 8),
299 HUFFMAN_ENTRY('B', 8),
300 HUFFMAN_ENTRY(0x0e4, 9),
301 HUFFMAN_ENTRY(0x105, 7),
302 HUFFMAN_ENTRY('Z', 8),
303 HUFFMAN_ENTRY(0x01a, 8),
304 HUFFMAN_ENTRY(0x094, 9),
305 HUFFMAN_ENTRY(0x115, 7),
306 HUFFMAN_ENTRY('z', 8),
307 HUFFMAN_ENTRY(':', 8),
308 HUFFMAN_ENTRY(0x0d4, 9),
309 HUFFMAN_ENTRY(0x10d, 7),
310 HUFFMAN_ENTRY('j', 8),
311 HUFFMAN_ENTRY('*', 8),
312 HUFFMAN_ENTRY(0x0b4, 9),
313 HUFFMAN_ENTRY(0x00a, 8),
314 HUFFMAN_ENTRY(0x08a, 8),
315 HUFFMAN_ENTRY('J', 8),
316 HUFFMAN_ENTRY(0x0f4, 9),
317 HUFFMAN_ENTRY(0x103, 7),
318 HUFFMAN_ENTRY('V', 8),
319 HUFFMAN_ENTRY(0x016, 8),
320 HUFFMAN_ENTRY(0x11e, 8),
321 HUFFMAN_ENTRY(0x113, 7),
322 HUFFMAN_ENTRY('v', 8),
323 HUFFMAN_ENTRY('6', 8),
324 HUFFMAN_ENTRY(0x0cc, 9),
325 HUFFMAN_ENTRY(0x10b, 7),
326 HUFFMAN_ENTRY('f', 8),
327 HUFFMAN_ENTRY('&', 8),
328 HUFFMAN_ENTRY(0x0ac, 9),
329 HUFFMAN_ENTRY(0x006, 8),
330 HUFFMAN_ENTRY(0x086, 8),
331 HUFFMAN_ENTRY('F', 8),
332 HUFFMAN_ENTRY(0x0ec, 9),
333 HUFFMAN_ENTRY(0x107, 7),
334 HUFFMAN_ENTRY('^', 8),
335 HUFFMAN_ENTRY(0x01e, 8),
336 HUFFMAN_ENTRY(0x09c, 9),
337 HUFFMAN_ENTRY(0x117, 7),
338 HUFFMAN_ENTRY('~', 8),
339 HUFFMAN_ENTRY('>', 8),
340 HUFFMAN_ENTRY(0x0dc, 9),
341 HUFFMAN_ENTRY(0x10f, 7),
342 HUFFMAN_ENTRY('n', 8),
343 HUFFMAN_ENTRY('.', 8),
344 HUFFMAN_ENTRY(0x0bc, 9),
345 HUFFMAN_ENTRY(0x00e, 8),
346 HUFFMAN_ENTRY(0x08e, 8),
347 HUFFMAN_ENTRY('N', 8),
348 HUFFMAN_ENTRY(0x0fc, 9),
349 HUFFMAN_ENTRY(0x100, 7),
350 HUFFMAN_ENTRY('Q', 8),
351 HUFFMAN_ENTRY(0x011, 8),
352 HUFFMAN_ENTRY(0x119, 8),
353 HUFFMAN_ENTRY(0x110, 7),
354 HUFFMAN_ENTRY('q', 8),
355 HUFFMAN_ENTRY('1', 8),
356 HUFFMAN_ENTRY(0x0c2, 9),
357 HUFFMAN_ENTRY(0x108, 7),
358 HUFFMAN_ENTRY('a', 8),
359 HUFFMAN_ENTRY('!', 8),
360 HUFFMAN_ENTRY(0x0a2, 9),
361 HUFFMAN_ENTRY(0x001, 8),
362 HUFFMAN_ENTRY(0x081, 8),
363 HUFFMAN_ENTRY('A', 8),
364 HUFFMAN_ENTRY(0x0e2, 9),
365 HUFFMAN_ENTRY(0x104, 7),
366 HUFFMAN_ENTRY('Y', 8),
367 HUFFMAN_ENTRY(0x019, 8),
368 HUFFMAN_ENTRY(0x092, 9),
369 HUFFMAN_ENTRY(0x114, 7),
370 HUFFMAN_ENTRY('y', 8),
371 HUFFMAN_ENTRY('9', 8),
372 HUFFMAN_ENTRY(0x0d2, 9),
373 HUFFMAN_ENTRY(0x10c, 7),
374 HUFFMAN_ENTRY('i', 8),
375 HUFFMAN_ENTRY(')', 8),
376 HUFFMAN_ENTRY(0x0b2, 9),
377 HUFFMAN_ENTRY(0x009, 8),
378 HUFFMAN_ENTRY(0x089, 8),
379 HUFFMAN_ENTRY('I', 8),
380 HUFFMAN_ENTRY(0x0f2, 9),
381 HUFFMAN_ENTRY(0x102, 7),
382 HUFFMAN_ENTRY('U', 8),
383 HUFFMAN_ENTRY(0x015, 8),
384 HUFFMAN_ENTRY(0x11d, 8),
385 HUFFMAN_ENTRY(0x112, 7),
386 HUFFMAN_ENTRY('u', 8),
387 HUFFMAN_ENTRY('5', 8),
388 HUFFMAN_ENTRY(0x0ca, 9),
389 HUFFMAN_ENTRY(0x10a, 7),
390 HUFFMAN_ENTRY('e', 8),
391 HUFFMAN_ENTRY('%', 8),
392 HUFFMAN_ENTRY(0x0aa, 9),
393 HUFFMAN_ENTRY(0x005, 8),
394 HUFFMAN_ENTRY(0x085, 8),
395 HUFFMAN_ENTRY('E', 8),
396 HUFFMAN_ENTRY(0x0ea, 9),
397 HUFFMAN_ENTRY(0x106, 7),
398 HUFFMAN_ENTRY(']', 8),
399 HUFFMAN_ENTRY(0x01d, 8),
400 HUFFMAN_ENTRY(0x09a, 9),
401 HUFFMAN_ENTRY(0x116, 7),
402 HUFFMAN_ENTRY('}', 8),
403 HUFFMAN_ENTRY('=', 8),
404 HUFFMAN_ENTRY(0x0da, 9),
405 HUFFMAN_ENTRY(0x10e, 7),
406 HUFFMAN_ENTRY('m', 8),
407 HUFFMAN_ENTRY('-', 8),
408 HUFFMAN_ENTRY(0x0ba, 9),
409 HUFFMAN_ENTRY(0x00d, 8),
410 HUFFMAN_ENTRY(0x08d, 8),
411 HUFFMAN_ENTRY('M', 8),
412 HUFFMAN_ENTRY(0x0fa, 9),
413 HUFFMAN_ENTRY(0x101, 7),
414 HUFFMAN_ENTRY('S', 8),
415 HUFFMAN_ENTRY(0x013, 8),
416 HUFFMAN_ENTRY(0x11b, 8),
417 HUFFMAN_ENTRY(0x111, 7),
418 HUFFMAN_ENTRY('s', 8),
419 HUFFMAN_ENTRY('3', 8),
420 HUFFMAN_ENTRY(0x0c6, 9),
421 HUFFMAN_ENTRY(0x109, 7),
422 HUFFMAN_ENTRY('c', 8),
423 HUFFMAN_ENTRY('#', 8),
424 HUFFMAN_ENTRY(0x0a6, 9),
425 HUFFMAN_ENTRY(0x003, 8),
426 HUFFMAN_ENTRY(0x083, 8),
427 HUFFMAN_ENTRY('C', 8),
428 HUFFMAN_ENTRY(0x0e6, 9),
429 HUFFMAN_ENTRY(0x105, 7),
430 HUFFMAN_ENTRY('[', 8),
431 HUFFMAN_ENTRY(0x01b, 8),
432 HUFFMAN_ENTRY(0x096, 9),
433 HUFFMAN_ENTRY(0x115, 7),
434 HUFFMAN_ENTRY('{', 8),
435 HUFFMAN_ENTRY(';', 8),
436 HUFFMAN_ENTRY(0x0d6, 9),
437 HUFFMAN_ENTRY(0x10d, 7),
438 HUFFMAN_ENTRY('k', 8),
439 HUFFMAN_ENTRY('+', 8),
440 HUFFMAN_ENTRY(0x0b6, 9),
441 HUFFMAN_ENTRY(0x00b, 8),
442 HUFFMAN_ENTRY(0x08b, 8),
443 HUFFMAN_ENTRY('K', 8),
444 HUFFMAN_ENTRY(0x0f6, 9),
445 HUFFMAN_ENTRY(0x103, 7),
446 HUFFMAN_ENTRY('W', 8),
447 HUFFMAN_ENTRY(0x017, 8),
448 HUFFMAN_ENTRY(0x11f, 8),
449 HUFFMAN_ENTRY(0x113, 7),
450 HUFFMAN_ENTRY('w', 8),
451 HUFFMAN_ENTRY('7', 8),
452 HUFFMAN_ENTRY(0x0ce, 9),
453 HUFFMAN_ENTRY(0x10b, 7),
454 HUFFMAN_ENTRY('g', 8),
455 HUFFMAN_ENTRY('\'', 8),
456 HUFFMAN_ENTRY(0x0ae, 9),
457 HUFFMAN_ENTRY(0x007, 8),
458 HUFFMAN_ENTRY(0x087, 8),
459 HUFFMAN_ENTRY('G', 8),
460 HUFFMAN_ENTRY(0x0ee, 9),
461 HUFFMAN_ENTRY(0x107, 7),
462 HUFFMAN_ENTRY('_', 8),
463 HUFFMAN_ENTRY(0x01f, 8),
464 HUFFMAN_ENTRY(0x09e, 9),
465 HUFFMAN_ENTRY(0x117, 7),
466 HUFFMAN_ENTRY(0x07f, 8),
467 HUFFMAN_ENTRY('?', 8),
468 HUFFMAN_ENTRY(0x0de, 9),
469 HUFFMAN_ENTRY(0x10f, 7),
470 HUFFMAN_ENTRY('o', 8),
471 HUFFMAN_ENTRY('/', 8),
472 HUFFMAN_ENTRY(0x0be, 9),
473 HUFFMAN_ENTRY(0x00f, 8),
474 HUFFMAN_ENTRY(0x08f, 8),
475 HUFFMAN_ENTRY('O', 8),
476 HUFFMAN_ENTRY(0x0fe, 9),
477 HUFFMAN_ENTRY(0x100, 7),
478 HUFFMAN_ENTRY('P', 8),
479 HUFFMAN_ENTRY(0x010, 8),
480 HUFFMAN_ENTRY(0x118, 8),
481 HUFFMAN_ENTRY(0x110, 7),
482 HUFFMAN_ENTRY('p', 8),
483 HUFFMAN_ENTRY('0', 8),
484 HUFFMAN_ENTRY(0x0c1, 9),
485 HUFFMAN_ENTRY(0x108, 7),
486 HUFFMAN_ENTRY('`', 8),
487 HUFFMAN_ENTRY(' ', 8),
488 HUFFMAN_ENTRY(0x0a1, 9),
489 HUFFMAN_ENTRY(0x000, 8),
490 HUFFMAN_ENTRY(0x080, 8),
491 HUFFMAN_ENTRY('@', 8),
492 HUFFMAN_ENTRY(0x0e1, 9),
493 HUFFMAN_ENTRY(0x104, 7),
494 HUFFMAN_ENTRY('X', 8),
495 HUFFMAN_ENTRY(0x018, 8),
496 HUFFMAN_ENTRY(0x091, 9),
497 HUFFMAN_ENTRY(0x114, 7),
498 HUFFMAN_ENTRY('x', 8),
499 HUFFMAN_ENTRY('8', 8),
500 HUFFMAN_ENTRY(0x0d1, 9),
501 HUFFMAN_ENTRY(0x10c, 7),
502 HUFFMAN_ENTRY('h', 8),
503 HUFFMAN_ENTRY('(', 8),
504 HUFFMAN_ENTRY(0x0b1, 9),
505 HUFFMAN_ENTRY(0x008, 8),
506 HUFFMAN_ENTRY(0x088, 8),
507 HUFFMAN_ENTRY('H', 8),
508 HUFFMAN_ENTRY(0x0f1, 9),
509 HUFFMAN_ENTRY(0x102, 7),
510 HUFFMAN_ENTRY('T', 8),
511 HUFFMAN_ENTRY(0x014, 8),
512 HUFFMAN_ENTRY(0x11c, 8),
513 HUFFMAN_ENTRY(0x112, 7),
514 HUFFMAN_ENTRY('t', 8),
515 HUFFMAN_ENTRY('4', 8),
516 HUFFMAN_ENTRY(0x0c9, 9),
517 HUFFMAN_ENTRY(0x10a, 7),
518 HUFFMAN_ENTRY('d', 8),
519 HUFFMAN_ENTRY('$', 8),
520 HUFFMAN_ENTRY(0x0a9, 9),
521 HUFFMAN_ENTRY(0x004, 8),
522 HUFFMAN_ENTRY(0x084, 8),
523 HUFFMAN_ENTRY('D', 8),
524 HUFFMAN_ENTRY(0x0e9, 9),
525 HUFFMAN_ENTRY(0x106, 7),
526 HUFFMAN_ENTRY('\\', 8),
527 HUFFMAN_ENTRY(0x01c, 8),
528 HUFFMAN_ENTRY(0x099, 9),
529 HUFFMAN_ENTRY(0x116, 7),
530 HUFFMAN_ENTRY('|', 8),
531 HUFFMAN_ENTRY('<', 8),
532 HUFFMAN_ENTRY(0x0d9, 9),
533 HUFFMAN_ENTRY(0x10e, 7),
534 HUFFMAN_ENTRY('l', 8),
535 HUFFMAN_ENTRY(',', 8),
536 HUFFMAN_ENTRY(0x0b9, 9),
537 HUFFMAN_ENTRY(0x00c, 8),
538 HUFFMAN_ENTRY(0x08c, 8),
539 HUFFMAN_ENTRY('L', 8),
540 HUFFMAN_ENTRY(0x0f9, 9),
541 HUFFMAN_ENTRY(0x101, 7),
542 HUFFMAN_ENTRY('R', 8),
543 HUFFMAN_ENTRY(0x012, 8),
544 HUFFMAN_ENTRY(0x11a, 8),
545 HUFFMAN_ENTRY(0x111, 7),
546 HUFFMAN_ENTRY('r', 8),
547 HUFFMAN_ENTRY('2', 8),
548 HUFFMAN_ENTRY(0x0c5, 9),
549 HUFFMAN_ENTRY(0x109, 7),
550 HUFFMAN_ENTRY('b', 8),
551 HUFFMAN_ENTRY('"', 8),
552 HUFFMAN_ENTRY(0x0a5, 9),
553 HUFFMAN_ENTRY(0x002, 8),
554 HUFFMAN_ENTRY(0x082, 8),
555 HUFFMAN_ENTRY('B', 8),
556 HUFFMAN_ENTRY(0x0e5, 9),
557 HUFFMAN_ENTRY(0x105, 7),
558 HUFFMAN_ENTRY('Z', 8),
559 HUFFMAN_ENTRY(0x01a, 8),
560 HUFFMAN_ENTRY(0x095, 9),
561 HUFFMAN_ENTRY(0x115, 7),
562 HUFFMAN_ENTRY('z', 8),
563 HUFFMAN_ENTRY(':', 8),
564 HUFFMAN_ENTRY(0x0d5, 9),
565 HUFFMAN_ENTRY(0x10d, 7),
566 HUFFMAN_ENTRY('j', 8),
567 HUFFMAN_ENTRY('*', 8),
568 HUFFMAN_ENTRY(0x0b5, 9),
569 HUFFMAN_ENTRY(0x00a, 8),
570 HUFFMAN_ENTRY(0x08a, 8),
571 HUFFMAN_ENTRY('J', 8),
572 HUFFMAN_ENTRY(0x0f5, 9),
573 HUFFMAN_ENTRY(0x103, 7),
574 HUFFMAN_ENTRY('V', 8),
575 HUFFMAN_ENTRY(0x016, 8),
576 HUFFMAN_ENTRY(0x11e, 8),
577 HUFFMAN_ENTRY(0x113, 7),
578 HUFFMAN_ENTRY('v', 8),
579 HUFFMAN_ENTRY('6', 8),
580 HUFFMAN_ENTRY(0x0cd, 9),
581 HUFFMAN_ENTRY(0x10b, 7),
582 HUFFMAN_ENTRY('f', 8),
583 HUFFMAN_ENTRY('&', 8),
584 HUFFMAN_ENTRY(0x0ad, 9),
585 HUFFMAN_ENTRY(0x006, 8),
586 HUFFMAN_ENTRY(0x086, 8),
587 HUFFMAN_ENTRY('F', 8),
588 HUFFMAN_ENTRY(0x0ed, 9),
589 HUFFMAN_ENTRY(0x107, 7),
590 HUFFMAN_ENTRY('^', 8),
591 HUFFMAN_ENTRY(0x01e, 8),
592 HUFFMAN_ENTRY(0x09d, 9),
593 HUFFMAN_ENTRY(0x117, 7),
594 HUFFMAN_ENTRY('~', 8),
595 HUFFMAN_ENTRY('>', 8),
596 HUFFMAN_ENTRY(0x0dd, 9),
597 HUFFMAN_ENTRY(0x10f, 7),
598 HUFFMAN_ENTRY('n', 8),
599 HUFFMAN_ENTRY('.', 8),
600 HUFFMAN_ENTRY(0x0bd, 9),
601 HUFFMAN_ENTRY(0x00e, 8),
602 HUFFMAN_ENTRY(0x08e, 8),
603 HUFFMAN_ENTRY('N', 8),
604 HUFFMAN_ENTRY(0x0fd, 9),
605 HUFFMAN_ENTRY(0x100, 7),
606 HUFFMAN_ENTRY('Q', 8),
607 HUFFMAN_ENTRY(0x011, 8),
608 HUFFMAN_ENTRY(0x119, 8),
609 HUFFMAN_ENTRY(0x110, 7),
610 HUFFMAN_ENTRY('q', 8),
611 HUFFMAN_ENTRY('1', 8),
612 HUFFMAN_ENTRY(0x0c3, 9),
613 HUFFMAN_ENTRY(0x108, 7),
614 HUFFMAN_ENTRY('a', 8),
615 HUFFMAN_ENTRY('!', 8),
616 HUFFMAN_ENTRY(0x0a3, 9),
617 HUFFMAN_ENTRY(0x001, 8),
618 HUFFMAN_ENTRY(0x081, 8),
619 HUFFMAN_ENTRY('A', 8),
620 HUFFMAN_ENTRY(0x0e3, 9),
621 HUFFMAN_ENTRY(0x104, 7),
622 HUFFMAN_ENTRY('Y', 8),
623 HUFFMAN_ENTRY(0x019, 8),
624 HUFFMAN_ENTRY(0x093, 9),
625 HUFFMAN_ENTRY(0x114, 7),
626 HUFFMAN_ENTRY('y', 8),
627 HUFFMAN_ENTRY('9', 8),
628 HUFFMAN_ENTRY(0x0d3, 9),
629 HUFFMAN_ENTRY(0x10c, 7),
630 HUFFMAN_ENTRY('i', 8),
631 HUFFMAN_ENTRY(')', 8),
632 HUFFMAN_ENTRY(0x0b3, 9),
633 HUFFMAN_ENTRY(0x009, 8),
634 HUFFMAN_ENTRY(0x089, 8),
635 HUFFMAN_ENTRY('I', 8),
636 HUFFMAN_ENTRY(0x0f3, 9),
637 HUFFMAN_ENTRY(0x102, 7),
638 HUFFMAN_ENTRY('U', 8),
639 HUFFMAN_ENTRY(0x015, 8),
640 HUFFMAN_ENTRY(0x11d, 8),
641 HUFFMAN_ENTRY(0x112, 7),
642 HUFFMAN_ENTRY('u', 8),
643 HUFFMAN_ENTRY('5', 8),
644 HUFFMAN_ENTRY(0x0cb, 9),
645 HUFFMAN_ENTRY(0x10a, 7),
646 HUFFMAN_ENTRY('e', 8),
647 HUFFMAN_ENTRY('%', 8),
648 HUFFMAN_ENTRY(0x0ab, 9),
649 HUFFMAN_ENTRY(0x005, 8),
650 HUFFMAN_ENTRY(0x085, 8),
651 HUFFMAN_ENTRY('E', 8),
652 HUFFMAN_ENTRY(0x0eb, 9),
653 HUFFMAN_ENTRY(0x106, 7),
654 HUFFMAN_ENTRY(']', 8),
655 HUFFMAN_ENTRY(0x01d, 8),
656 HUFFMAN_ENTRY(0x09b, 9),
657 HUFFMAN_ENTRY(0x116, 7),
658 HUFFMAN_ENTRY('}', 8),
659 HUFFMAN_ENTRY('=', 8),
660 HUFFMAN_ENTRY(0x0db, 9),
661 HUFFMAN_ENTRY(0x10e, 7),
662 HUFFMAN_ENTRY('m', 8),
663 HUFFMAN_ENTRY('-', 8),
664 HUFFMAN_ENTRY(0x0bb, 9),
665 HUFFMAN_ENTRY(0x00d, 8),
666 HUFFMAN_ENTRY(0x08d, 8),
667 HUFFMAN_ENTRY('M', 8),
668 HUFFMAN_ENTRY(0x0fb, 9),
669 HUFFMAN_ENTRY(0x101, 7),
670 HUFFMAN_ENTRY('S', 8),
671 HUFFMAN_ENTRY(0x013, 8),
672 HUFFMAN_ENTRY(0x11b, 8),
673 HUFFMAN_ENTRY(0x111, 7),
674 HUFFMAN_ENTRY('s', 8),
675 HUFFMAN_ENTRY('3', 8),
676 HUFFMAN_ENTRY(0x0c7, 9),
677 HUFFMAN_ENTRY(0x109, 7),
678 HUFFMAN_ENTRY('c', 8),
679 HUFFMAN_ENTRY('#', 8),
680 HUFFMAN_ENTRY(0x0a7, 9),
681 HUFFMAN_ENTRY(0x003, 8),
682 HUFFMAN_ENTRY(0x083, 8),
683 HUFFMAN_ENTRY('C', 8),
684 HUFFMAN_ENTRY(0x0e7, 9),
685 HUFFMAN_ENTRY(0x105, 7),
686 HUFFMAN_ENTRY('[', 8),
687 HUFFMAN_ENTRY(0x01b, 8),
688 HUFFMAN_ENTRY(0x097, 9),
689 HUFFMAN_ENTRY(0x115, 7),
690 HUFFMAN_ENTRY('{', 8),
691 HUFFMAN_ENTRY(';', 8),
692 HUFFMAN_ENTRY(0x0d7, 9),
693 HUFFMAN_ENTRY(0x10d, 7),
694 HUFFMAN_ENTRY('k', 8),
695 HUFFMAN_ENTRY('+', 8),
696 HUFFMAN_ENTRY(0x0b7, 9),
697 HUFFMAN_ENTRY(0x00b, 8),
698 HUFFMAN_ENTRY(0x08b, 8),
699 HUFFMAN_ENTRY('K', 8),
700 HUFFMAN_ENTRY(0x0f7, 9),
701 HUFFMAN_ENTRY(0x103, 7),
702 HUFFMAN_ENTRY('W', 8),
703 HUFFMAN_ENTRY(0x017, 8),
704 HUFFMAN_ENTRY(0x11f, 8),
705 HUFFMAN_ENTRY(0x113, 7),
706 HUFFMAN_ENTRY('w', 8),
707 HUFFMAN_ENTRY('7', 8),
708 HUFFMAN_ENTRY(0x0cf, 9),
709 HUFFMAN_ENTRY(0x10b, 7),
710 HUFFMAN_ENTRY('g', 8),
711 HUFFMAN_ENTRY('\'', 8),
712 HUFFMAN_ENTRY(0x0af, 9),
713 HUFFMAN_ENTRY(0x007, 8),
714 HUFFMAN_ENTRY(0x087, 8),
715 HUFFMAN_ENTRY('G', 8),
716 HUFFMAN_ENTRY(0x0ef, 9),
717 HUFFMAN_ENTRY(0x107, 7),
718 HUFFMAN_ENTRY('_', 8),
719 HUFFMAN_ENTRY(0x01f, 8),
720 HUFFMAN_ENTRY(0x09f, 9),
721 HUFFMAN_ENTRY(0x117, 7),
722 HUFFMAN_ENTRY(0x07f, 8),
723 HUFFMAN_ENTRY('?', 8),
724 HUFFMAN_ENTRY(0x0df, 9),
725 HUFFMAN_ENTRY(0x10f, 7),
726 HUFFMAN_ENTRY('o', 8),
727 HUFFMAN_ENTRY('/', 8),
728 HUFFMAN_ENTRY(0x0bf, 9),
729 HUFFMAN_ENTRY(0x00f, 8),
730 HUFFMAN_ENTRY(0x08f, 8),
731 HUFFMAN_ENTRY('O', 8),
732 HUFFMAN_ENTRY(0x0ff, 9),
734 };
736 static const struct shortHuffmanCodeTable fixedHuffmanDistanceTable = {
737 {
738 5, /* quick bits */
739 5, /* max code length */
740 },
742 HUFFMAN_ENTRY(0x00, 5),
743 HUFFMAN_ENTRY(0x10, 5),
744 HUFFMAN_ENTRY(0x08, 5),
745 HUFFMAN_ENTRY(0x18, 5),
746 HUFFMAN_ENTRY(0x04, 5),
747 HUFFMAN_ENTRY(0x14, 5),
748 HUFFMAN_ENTRY(0x0c, 5),
749 HUFFMAN_ENTRY(0x1c, 5),
750 HUFFMAN_ENTRY(0x02, 5),
751 HUFFMAN_ENTRY(0x12, 5),
752 HUFFMAN_ENTRY(0x0a, 5),
753 HUFFMAN_ENTRY(0x1a, 5),
754 HUFFMAN_ENTRY(0x06, 5),
755 HUFFMAN_ENTRY(0x16, 5),
756 HUFFMAN_ENTRY(0x0e, 5),
757 HUFFMAN_ENTRY(0x1e, 5),
758 HUFFMAN_ENTRY(0x01, 5),
759 HUFFMAN_ENTRY(0x11, 5),
760 HUFFMAN_ENTRY(0x09, 5),
761 HUFFMAN_ENTRY(0x19, 5),
762 HUFFMAN_ENTRY(0x05, 5),
763 HUFFMAN_ENTRY(0x15, 5),
764 HUFFMAN_ENTRY(0x0d, 5),
765 HUFFMAN_ENTRY(0x1d, 5),
766 HUFFMAN_ENTRY(0x03, 5),
767 HUFFMAN_ENTRY(0x13, 5),
768 HUFFMAN_ENTRY(0x0b, 5),
769 HUFFMAN_ENTRY(0x1b, 5),
770 HUFFMAN_ENTRY(0x07, 5),
771 HUFFMAN_ENTRY(0x17, 5),
772 HUFFMAN_ENTRY(0x0f, 5),
773 HUFFMAN_ENTRY(0x1f, 5),
775 };
777 #endif
779 #endif