ct_data
const ct_data *static_tree; /* static tree or NULL */
{(const ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS};
static void pqdownheap (deflate_state *s, ct_data *tree, int k);
static void gen_codes (ct_data *tree, int max_code, ush *bl_count);
static void scan_tree (deflate_state *s, ct_data *tree, int max_code);
static void send_tree (deflate_state *s, ct_data *tree, int max_code);
static void compress_block (deflate_state *s, ct_data *ltree,
ct_data *dtree);
gen_codes((ct_data *)static_ltree, L_CODES+1, bl_count);
ct_data *tree, /* the tree to restore */
ct_data *tree = desc->dyn_tree;
const ct_data *stree = desc->stat_desc->static_tree;
ct_data *tree, /* the tree to decorate */
ct_data *tree = desc->dyn_tree;
const ct_data *stree = desc->stat_desc->static_tree;
gen_codes ((ct_data *)tree, max_code, s->bl_count);
ct_data *tree, /* the tree to be scanned */
ct_data *tree, /* the tree to be scanned */
scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code);
scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code);
send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */
send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */
static ct_data static_ltree[L_CODES+2];
compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree);
compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree);
static ct_data static_dtree[D_CODES];
ct_data *ltree, /* literal tree */
ct_data *dtree /* distance tree */
ct_data *dyn_tree; /* the dynamic tree */