Mercurial > mm7
comparison lib/zlib/inftrees.h @ 0:9c0607679772
init
author | Ritor1 |
---|---|
date | Sat, 12 Jan 2013 09:45:18 +0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:9c0607679772 |
---|---|
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 typedef struct inflate_huft_s FAR inflate_huft; | |
15 | |
16 struct inflate_huft_s { | |
17 union { | |
18 struct { | |
19 Byte Exop; /* number of extra bits or operation */ | |
20 Byte Bits; /* number of bits in this code or subcode */ | |
21 } what; | |
22 uInt pad; /* pad structure to a power of 2 (4 bytes for */ | |
23 } word; /* 16-bit, 8 bytes for 32-bit int's) */ | |
24 uInt base; /* literal, length base, distance base, | |
25 or table offset */ | |
26 }; | |
27 | |
28 /* Maximum size of dynamic tree. The maximum found in a long but non- | |
29 exhaustive search was 1004 huft structures (850 for length/literals | |
30 and 154 for distances, the latter actually the result of an | |
31 exhaustive search). The actual maximum is not known, but the | |
32 value below is more than safe. */ | |
33 #define MANY 1440 | |
34 | |
35 extern int inflate_trees_bits OF(( | |
36 uIntf *, /* 19 code lengths */ | |
37 uIntf *, /* bits tree desired/actual depth */ | |
38 inflate_huft * FAR *, /* bits tree result */ | |
39 inflate_huft *, /* space for trees */ | |
40 z_streamp)); /* for messages */ | |
41 | |
42 extern int inflate_trees_dynamic OF(( | |
43 uInt, /* number of literal/length codes */ | |
44 uInt, /* number of distance codes */ | |
45 uIntf *, /* that many (total) code lengths */ | |
46 uIntf *, /* literal desired/actual bit depth */ | |
47 uIntf *, /* distance desired/actual bit depth */ | |
48 inflate_huft * FAR *, /* literal/length tree result */ | |
49 inflate_huft * FAR *, /* distance tree result */ | |
50 inflate_huft *, /* space for trees */ | |
51 z_streamp)); /* for messages */ | |
52 | |
53 extern int inflate_trees_fixed OF(( | |
54 uIntf *, /* literal desired/actual bit depth */ | |
55 uIntf *, /* distance desired/actual bit depth */ | |
56 inflate_huft * FAR *, /* literal/length tree result */ | |
57 inflate_huft * FAR *, /* distance tree result */ | |
58 z_streamp)); /* for memory allocation */ |