private package UnZip.Decompress.Huffman is
type HufT_table;
type p_HufT_table is access HufT_table;
type HufT is record
extra_bits : Natural;
bits : Natural;
n : Natural;
next_table : p_HufT_table;
end record;
invalid : constant := 99;
type HufT_table is array (Integer range <>) of aliased HufT;
type p_HufT is access all HufT;
type Table_list;
type p_Table_list is access Table_list;
type Table_list is record
table : p_HufT_table;
next : p_Table_list;
end record;
type Length_array is array (Integer range <>) of Natural;
empty : constant Length_array (1 .. 0) := (others => 0);
procedure HufT_free (tl : in out p_Table_list);
procedure HufT_build (b : Length_array;
s : Integer;
d, e : Length_array;
tl : out p_Table_list;
m : in out Integer;
huft_incomplete : out Boolean);
huft_error,
huft_out_of_memory : exception;
end UnZip.Decompress.Huffman;