aboutsummaryrefslogtreecommitdiffstats
path: root/lib/zlib_inflate/inftrees.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
commit1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch)
tree0bba044c4ce775e45a88a51686b5d9f90697ea9d /lib/zlib_inflate/inftrees.h
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
Diffstat (limited to 'lib/zlib_inflate/inftrees.h')
-rw-r--r--lib/zlib_inflate/inftrees.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/lib/zlib_inflate/inftrees.h b/lib/zlib_inflate/inftrees.h
new file mode 100644
index 000000000000..e37705adc008
--- /dev/null
+++ b/lib/zlib_inflate/inftrees.h
@@ -0,0 +1,64 @@
1/* inftrees.h -- header to use inftrees.c
2 * Copyright (C) 1995-1998 Mark Adler
3 * For conditions of distribution and use, see copyright notice in zlib.h
4 */
5
6/* WARNING: this file should *not* be used by applications. It is
7 part of the implementation of the compression library and is
8 subject to change. Applications should only use zlib.h.
9 */
10
11/* Huffman code lookup table entry--this entry is four bytes for machines
12 that have 16-bit pointers (e.g. PC's in the small or medium model). */
13
14#ifndef _INFTREES_H
15#define _INFTREES_H
16
17typedef struct inflate_huft_s inflate_huft;
18
19struct inflate_huft_s {
20 union {
21 struct {
22 Byte Exop; /* number of extra bits or operation */
23 Byte Bits; /* number of bits in this code or subcode */
24 } what;
25 uInt pad; /* pad structure to a power of 2 (4 bytes for */
26 } word; /* 16-bit, 8 bytes for 32-bit int's) */
27 uInt base; /* literal, length base, distance base,
28 or table offset */
29};
30
31/* Maximum size of dynamic tree. The maximum found in a long but non-
32 exhaustive search was 1004 huft structures (850 for length/literals
33 and 154 for distances, the latter actually the result of an
34 exhaustive search). The actual maximum is not known, but the
35 value below is more than safe. */
36#define MANY 1440
37
38extern int zlib_inflate_trees_bits (
39 uInt *, /* 19 code lengths */
40 uInt *, /* bits tree desired/actual depth */
41 inflate_huft **, /* bits tree result */
42 inflate_huft *, /* space for trees */
43 z_streamp); /* for messages */
44
45extern int zlib_inflate_trees_dynamic (
46 uInt, /* number of literal/length codes */
47 uInt, /* number of distance codes */
48 uInt *, /* that many (total) code lengths */
49 uInt *, /* literal desired/actual bit depth */
50 uInt *, /* distance desired/actual bit depth */
51 inflate_huft **, /* literal/length tree result */
52 inflate_huft **, /* distance tree result */
53 inflate_huft *, /* space for trees */
54 z_streamp); /* for messages */
55
56extern int zlib_inflate_trees_fixed (
57 uInt *, /* literal desired/actual bit depth */
58 uInt *, /* distance desired/actual bit depth */
59 inflate_huft **, /* literal/length tree result */
60 inflate_huft **, /* distance tree result */
61 inflate_huft *, /* space for trees */
62 z_streamp); /* for memory allocation */
63
64#endif /* _INFTREES_H */