28#define LENGTH_CODES 29
34#define L_CODES (LITERALS+1+LENGTH_CODES)
43#define HEAP_SIZE (2*L_CODES+1)
52#define COMMENT_STATE 91
55#define FINISH_STATE 666
163 uInt max_chain_length;
174# define max_insert_length max_lazy_match
198 ush bl_count[MAX_BITS+1];
201 int heap[2*L_CODES+1];
208 uch depth[2*L_CODES+1];
273#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);}
276#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
281#define MAX_DIST(s) ((s)->w_size-MIN_LOOKAHEAD)
286#define WIN_INIT MAX_MATCH
292int ZLIB_INTERNAL _tr_tally OF((
deflate_state *s,
unsigned dist,
unsigned lc));
293void ZLIB_INTERNAL _tr_flush_block OF((
deflate_state *s, charf *buf,
294 ulg stored_len,
int last));
296void ZLIB_INTERNAL _tr_stored_block OF((
deflate_state *s, charf *buf,
297 ulg stored_len,
int last));
299#define d_code(dist) \
300 ((dist) < 256 ? _dist_code[dist] : _dist_code[256+((dist)>>7)])
309#if defined(GEN_TREES_H) || !defined(STDC)
310 extern uch ZLIB_INTERNAL _length_code[];
311 extern uch ZLIB_INTERNAL _dist_code[];
313 extern const uch ZLIB_INTERNAL _length_code[];
314 extern const uch ZLIB_INTERNAL _dist_code[];
317# define _tr_tally_lit(s, c, flush) \
319 s->d_buf[s->last_lit] = 0; \
320 s->l_buf[s->last_lit++] = cc; \
321 s->dyn_ltree[cc].Freq++; \
322 flush = (s->last_lit == s->lit_bufsize-1); \
324# define _tr_tally_dist(s, distance, length, flush) \
325 { uch len = (length); \
326 ush dist = (distance); \
327 s->d_buf[s->last_lit] = dist; \
328 s->l_buf[s->last_lit++] = len; \
330 s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
331 s->dyn_dtree[d_code(dist)].Freq++; \
332 flush = (s->last_lit == s->lit_bufsize-1); \
335# define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c)
336# define _tr_tally_dist(s, distance, length, flush) \
337 flush = _tr_tally(s, distance, length)
Definition: inftrees.h:24
Definition: clnt_tcp.c:94
Definition: deflate.c:153