package Zip is
type Zip_info is private;
subtype File_size_type is Interfaces.Unsigned_32;
type PKZip_method is ( store, -- C,D shrink, -- C,D reduce_1, -- C,D reduce_2, -- C,D reduce_3, -- C,D reduce_4, -- C,D implode, -- D tokenize, deflate, -- D deflate_e, -- D - Enhanced deflate bzip2, -- D lzma, ppmd, unknown );
subtype Time is Zip_Streams.Time;
type Feedback_proc is access procedure ( percents_done: in Natural; -- %'s completed entry_skipped: in Boolean; -- indicates one can show "skipped", no %'s user_abort : out Boolean -- e.g. transmit a "click on Cancel" here );
type Byte_Buffer is array(Integer range <>) of aliased Byte;
type Dir_node;
type p_Dir_node is access Dir_node;
type p_String is access String;
reference : constant String:= "7-Jan-2010";
web : constant String:= "http://unzip-ada.sf.net/";
Form_For_IO_Open_N_Create : Ada.Strings.Unbounded.Unbounded_String
:= Ada.Strings.Unbounded.Null_Unbounded_String;Forgot_to_load_zip_info: exception;
File_name_not_found: exception;
procedure Load
| ( | info | : out Zip_info; |
| from | : in String; | |
| case_sensitive | : in Boolean:= False ); |
procedure Load
| ( | info | : out Zip_info; |
| from | : in Zip_Streams.Zipstream_Class; | |
| case_sensitive | : in Boolean:= False ); |
procedure Delete
| ( | info | : in out Zip_info ); |
procedure Traverse
| ( | z | : Zip_info ); |
procedure Traverse_verbose
| ( | z | : Zip_info ); |
procedure Tree_stat
| ( | z | : in Zip_info; |
| total | : out Natural; | |
| max_depth | : out Natural; | |
| avg_depth | : out Float ); |
procedure Find_offset
| ( | file | : in Zip_Streams.Zipstream_Class; |
| name | : in String; | |
| case_sensitive | : in Boolean; | |
| file_index | : out Positive; | |
| comp_size | : out File_size_type; | |
| uncomp_size | : out File_size_type ); |
procedure Find_offset
| ( | info | : in Zip_info; |
| name | : in String; | |
| case_sensitive | : in Boolean; | |
| file_index | : out Ada.Streams.Stream_IO.Positive_Count; | |
| comp_size | : out File_size_type; | |
| uncomp_size | : out File_size_type ); |
procedure Get_sizes
| ( | info | : in Zip_info; |
| name | : in String; | |
| case_sensitive | : in Boolean; | |
| comp_size | : out File_size_type; | |
| uncomp_size | : out File_size_type ); |
procedure BlockRead
| ( | file | : in Ada.Streams.Stream_IO.File_Type; |
| buffer | : out Byte_Buffer; | |
| actually_read | : out Natural -- = buffer'Length if no end of file before last buffer element ); |
procedure BlockRead
| ( | stream | : in Zip_Streams.Zipstream_Class; |
| buffer | : out Byte_Buffer; | |
| actually_read | : out Natural -- = buffer'Length if no end of stream before last buffer element ); |
procedure BlockRead
| ( | stream | : in Zip_Streams.Zipstream_Class; |
| buffer | : out Byte_Buffer ); |
procedure BlockWrite
| ( | stream | : in out Ada.Streams.Root_Stream_Type'Class; |
| buffer | : in Byte_Buffer ); |
procedure Write_as_text
| ( | out_file | : Ada.Text_IO.File_Type; |
| buffer | : Byte_Buffer; | |
| last_char | : in out Character -- track line-ending characters between writes ); |