diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2008-12-19 14:44:48 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2008-12-19 14:44:48 (GMT) |
commit | 2cd073ec4bf5ea28c2f1d7db65f4ce95cc875611 (patch) | |
tree | 52b7482cbfbaacbd79b4390955254de21b6e7e65 /compat/zlib/contrib/infback9/inflate9.h | |
parent | bfa6d081abacd1d00e3a459c3d89039849818d6a (diff) | |
download | tcl-2cd073ec4bf5ea28c2f1d7db65f4ce95cc875611.zip tcl-2cd073ec4bf5ea28c2f1d7db65f4ce95cc875611.tar.gz tcl-2cd073ec4bf5ea28c2f1d7db65f4ce95cc875611.tar.bz2 |
Add previously omitted files so we have a complete zlib 1.2.3 distro...
Diffstat (limited to 'compat/zlib/contrib/infback9/inflate9.h')
-rw-r--r-- | compat/zlib/contrib/infback9/inflate9.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/compat/zlib/contrib/infback9/inflate9.h b/compat/zlib/contrib/infback9/inflate9.h new file mode 100644 index 0000000..ee9a793 --- /dev/null +++ b/compat/zlib/contrib/infback9/inflate9.h @@ -0,0 +1,47 @@ +/* inflate9.h -- internal inflate state definition + * Copyright (C) 1995-2003 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. + */ + +/* Possible inflate modes between inflate() calls */ +typedef enum { + TYPE, /* i: waiting for type bits, including last-flag bit */ + STORED, /* i: waiting for stored size (length and complement) */ + TABLE, /* i: waiting for dynamic block table lengths */ + LEN, /* i: waiting for length/lit code */ + DONE, /* finished check, done -- remain here until reset */ + BAD /* got a data error -- remain here until reset */ +} inflate_mode; + +/* + State transitions between above modes - + + (most modes can go to the BAD mode -- not shown for clarity) + + Read deflate blocks: + TYPE -> STORED or TABLE or LEN or DONE + STORED -> TYPE + TABLE -> LENLENS -> CODELENS -> LEN + Read deflate codes: + LEN -> LEN or TYPE + */ + +/* state maintained between inflate() calls. Approximately 7K bytes. */ +struct inflate_state { + /* sliding window */ + unsigned char FAR *window; /* allocated sliding window, if needed */ + /* dynamic table building */ + unsigned ncode; /* number of code length code lengths */ + unsigned nlen; /* number of length code lengths */ + unsigned ndist; /* number of distance code lengths */ + unsigned have; /* number of code lengths in lens[] */ + code FAR *next; /* next available space in codes[] */ + unsigned short lens[320]; /* temporary storage for code lengths */ + unsigned short work[288]; /* work area for code table building */ + code codes[ENOUGH]; /* space for code tables */ +}; |