val really_read : IO.in_channel -> Cstruct.t -> unitreally_read fd buf fills buf with data from fd or raises End_of_file
val really_write : IO.out_channel -> Cstruct.t -> unitreally_write fd buf writes the full contents of buf to fd or raises End_of_file
module Header : sig ... endval write_block : ?level:Header.compatibility -> Header.t -> (IO.out_channel -> unit) -> IO.out_channel -> unitWrite hdr, then call write_body fd to write the body, then zero-pads so the stream is positioned for the next block.
val write_end : IO.out_channel -> unitWrites a stream terminator to fd
module Archive : sig ... end