Module Zip

type compression_method =
| Stored
| Deflated
type entry = {
filename : string;
extra : string;
comment : string;
methd : compression_method;
mtime : float;
crc : int32;
uncompressed_size : int;
compressed_size : int;
is_directory : bool;
file_offset : int64;
}
type in_file
val open_in : string -> in_file
val entries : in_file -> entry list
val comment : in_file -> string
val find_entry : in_file -> string -> entry
val read_entry : in_file -> entry -> string
val copy_entry_to_channel : in_file -> entry -> Stdlib.out_channel -> unit
val copy_entry_to_file : in_file -> entry -> string -> unit
val close_in : in_file -> unit
type out_file
val open_out : ?⁠comment:string -> string -> out_file
val add_entry : string -> out_file -> ?⁠extra:string -> ?⁠comment:string -> ?⁠level:int -> ?⁠mtime:float -> string -> unit
val copy_channel_to_entry : Stdlib.in_channel -> out_file -> ?⁠extra:string -> ?⁠comment:string -> ?⁠level:int -> ?⁠mtime:float -> string -> unit
val copy_file_to_entry : string -> out_file -> ?⁠extra:string -> ?⁠comment:string -> ?⁠level:int -> ?⁠mtime:float -> string -> unit
val add_entry_generator : out_file -> ?⁠extra:string -> ?⁠comment:string -> ?⁠level:int -> ?⁠mtime:float -> string -> (bytes -> int -> int -> unit) * (unit -> unit)
val close_out : out_file -> unit
exception Error of string * string * string