Lines Matching +full:literal +full:- +full:block
1 /* inflate.h -- internal inflate state definition
2 * Copyright (C) 1995-2019 Mark Adler
32 TYPE, /* i: waiting for type bits, including last-flag bit */
33 TYPEDO, /* i: same, but skip check to exit inflate on new block */
36 COPY, /* i/o: waiting for input or output to copy stored block */
37 TABLE, /* i: waiting for dynamic block table lengths */
46 LIT, /* o: waiting for output space to write literal */
47 CHECK, /* i: waiting for 32-bit check value */
48 LENGTH, /* i: waiting for 32-bit length (gzip) */
49 DONE, /* finished check, done -- remain here until reset */
50 BAD, /* got a data error -- remain here until reset */
51 MEM, /* got an inflate() memory error -- remain here until reset */
56 State transitions between above modes -
58 (most modes can go to BAD or MEM on error -- not shown for clarity)
61 HEAD -> (gzip) or (zlib) or (raw)
62 (gzip) -> FLAGS -> TIME -> OS -> EXLEN -> EXTRA -> NAME -> COMMENT ->
63 HCRC -> TYPE
64 (zlib) -> DICTID or TYPE
65 DICTID -> DICT -> TYPE
66 (raw) -> TYPEDO
68 TYPE -> TYPEDO -> STORED or TABLE or LEN_ or CHECK
69 STORED -> COPY_ -> COPY -> TYPE
70 TABLE -> LENLENS -> CODELENS -> LEN_
71 LEN_ -> LEN
72 Read deflate codes in fixed or dynamic block:
73 LEN -> LENEXT or LIT or TYPE
74 LENEXT -> DIST -> DISTEXT -> MATCH -> LEN
75 LIT -> LEN
77 CHECK -> LENGTH -> DONE
80 /* State maintained between inflate() calls -- approximately 7K bytes, not
85 int last; /* true if processing last block */
90 -1 if raw or no header yet */
104 /* for string and stored block copying */
105 unsigned length; /* literal or length of data to copy */
110 code const FAR *lencode; /* starting table for length/literal codes */