Go to the documentation of this file.
   30 #define LENGTH_CODES 29 
   36 #define L_CODES (LITERALS+1+LENGTH_CODES) 
   45 #define HEAP_SIZE (2*L_CODES+1) 
   52 #define BUSY_STATE   113 
   53 #define FINISH_STATE 666 
  170 #   define max_insert_length  max_lazy_match 
  262 #define put_byte(s, c) {s->pending_buf[s->pending++] = (c);} 
  265 #define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1) 
  270 #define MAX_DIST(s)  ((s)->w_size-MIN_LOOKAHEAD) 
  284 #define d_code(dist) \ 
  285    ((dist) < 256 ? _dist_code[dist] : _dist_code[256+((dist)>>7)]) 
  294 #if defined(GEN_TREES_H) || !defined(STDC) 
  298   extern const uch _length_code[];
 
  299   extern const uch _dist_code[];
 
  302 # define _tr_tally_lit(s, c, flush) \ 
  304     s->d_buf[s->last_lit] = 0; \ 
  305     s->l_buf[s->last_lit++] = cc; \ 
  306     s->dyn_ltree[cc].Freq++; \ 
  307     flush = (s->last_lit == s->lit_bufsize-1); \ 
  309 # define _tr_tally_dist(s, distance, length, flush) \ 
  310   { uch len = (length); \ 
  311     ush dist = (distance); \ 
  312     s->d_buf[s->last_lit] = dist; \ 
  313     s->l_buf[s->last_lit++] = len; \ 
  315     s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \ 
  316     s->dyn_dtree[d_code(dist)].Freq++; \ 
  317     flush = (s->last_lit == s->lit_bufsize-1); \ 
  320 # define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c) 
  321 # define _tr_tally_dist(s, distance, length, flush) \ 
  322               flush = _tr_tally(s, distance, length)