Lines Matching +full:block +full:- +full:copy
4 /* inflate.h -- internal inflate state definition
5 * Copyright (C) 1995-2004 Mark Adler
29 TYPE, /* i: waiting for type bits, including last-flag bit */
30 TYPEDO, /* i: same, but skip check to exit inflate on new block */
32 COPY, /* i/o: waiting for input or output to copy stored block */ enumerator
33 TABLE, /* i: waiting for dynamic block table lengths */
40 MATCH, /* o: waiting for output space to copy string */
42 CHECK, /* i: waiting for 32-bit check value */
43 LENGTH, /* i: waiting for 32-bit length (gzip) */
44 DONE, /* finished check, done -- remain here until reset */
45 BAD, /* got a data error -- remain here until reset */
46 MEM, /* got an inflate() memory error -- remain here until reset */
51 State transitions between above modes -
53 (most modes can go to the BAD or MEM mode -- not shown for clarity)
56 HEAD -> (gzip) or (zlib)
57 (gzip) -> FLAGS -> TIME -> OS -> EXLEN -> EXTRA -> NAME
58 NAME -> COMMENT -> HCRC -> TYPE
59 (zlib) -> DICTID or TYPE
60 DICTID -> DICT -> TYPE
62 TYPE -> STORED or TABLE or LEN or CHECK
63 STORED -> COPY -> TYPE
64 TABLE -> LENLENS -> CODELENS -> LEN
66 LEN -> LENEXT or LIT or TYPE
67 LENEXT -> DIST -> DISTEXT -> MATCH -> LEN
68 LIT -> LEN
70 CHECK -> LENGTH -> DONE
76 int last; /* true if processing last block */
81 unsigned long check; /* protected copy of check value */
82 unsigned long total; /* protected copy of output count */
93 /* for string and stored block copying */
94 unsigned length; /* literal or length of data to copy */
95 unsigned offset; /* distance back to copy string from */
114 /* Reverse the bytes in a 32-bit value */