diff options
| author | sanine <sanine.not@pm.me> | 2022-03-04 10:47:15 -0600 | 
|---|---|---|
| committer | sanine <sanine.not@pm.me> | 2022-03-04 10:47:15 -0600 | 
| commit | 058f98a63658dc1a2579826ba167fd61bed1e21f (patch) | |
| tree | bcba07a1615a14d943f3af3f815a42f3be86b2f3 /src/mesh/assimp-master/contrib/zlib/inftrees.h | |
| parent | 2f8028ac9e0812cb6f3cbb08f0f419e4e717bd22 (diff) | |
add assimp submodule
Diffstat (limited to 'src/mesh/assimp-master/contrib/zlib/inftrees.h')
| -rw-r--r-- | src/mesh/assimp-master/contrib/zlib/inftrees.h | 62 | 
1 files changed, 62 insertions, 0 deletions
| diff --git a/src/mesh/assimp-master/contrib/zlib/inftrees.h b/src/mesh/assimp-master/contrib/zlib/inftrees.h new file mode 100644 index 0000000..baa53a0 --- /dev/null +++ b/src/mesh/assimp-master/contrib/zlib/inftrees.h @@ -0,0 +1,62 @@ +/* inftrees.h -- header to use inftrees.c + * Copyright (C) 1995-2005, 2010 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +/* WARNING: this file should *not* be used by applications. It is +   part of the implementation of the compression library and is +   subject to change. Applications should only use zlib.h. + */ + +/* Structure for decoding tables.  Each entry provides either the +   information needed to do the operation requested by the code that +   indexed that table entry, or it provides a pointer to another +   table that indexes more bits of the code.  op indicates whether +   the entry is a pointer to another table, a literal, a length or +   distance, an end-of-block, or an invalid code.  For a table +   pointer, the low four bits of op is the number of index bits of +   that table.  For a length or distance, the low four bits of op +   is the number of extra bits to get after the code.  bits is +   the number of bits in this code or part of the code to drop off +   of the bit buffer.  val is the actual byte to output in the case +   of a literal, the base length or distance, or the offset from +   the current table to the next table.  Each entry is four bytes. */ +typedef struct { +    unsigned char op;           /* operation, extra bits, table bits */ +    unsigned char bits;         /* bits in this part of the code */ +    unsigned short val;         /* offset in table or code value */ +} code; + +/* op values as set by inflate_table(): +    00000000 - literal +    0000tttt - table link, tttt != 0 is the number of table index bits +    0001eeee - length or distance, eeee is the number of extra bits +    01100000 - end of block +    01000000 - invalid code + */ + +/* Maximum size of the dynamic table.  The maximum number of code structures is +   1444, which is the sum of 852 for literal/length codes and 592 for distance +   codes.  These values were found by exhaustive searches using the program +   examples/enough.c found in the zlib distribtution.  The arguments to that +   program are the number of symbols, the initial root table size, and the +   maximum bit length of a code.  "enough 286 9 15" for literal/length codes +   returns returns 852, and "enough 30 6 15" for distance codes returns 592. +   The initial root table size (9 or 6) is found in the fifth argument of the +   inflate_table() calls in inflate.c and infback.c.  If the root table size is +   changed, then these maximum sizes would be need to be recalculated and +   updated. */ +#define ENOUGH_LENS 852 +#define ENOUGH_DISTS 592 +#define ENOUGH (ENOUGH_LENS+ENOUGH_DISTS) + +/* Type of code to build for inflate_table() */ +typedef enum { +    CODES, +    LENS, +    DISTS +} codetype; + +int ZLIB_INTERNAL inflate_table OF((codetype type, unsigned short FAR *lens, +                             unsigned codes, code FAR * FAR *table, +                             unsigned FAR *bits, unsigned short FAR *work)); | 
