Bz2The module Bz provides a basic interface to the bzip2 compression library.
Exception IO_error is raised when there is an error reading or writing on a compressed channel ; the string argument is the message reported by the OS.
Exception Data_error is raised when a data integrity error is detected during decompression.
Exception Unexpected_EOF is raised when an in_channel finishes before the logical end of stream is detected.
When any of these exception is raised, the channel is automatically closed (but you still have to close the Stdlib channel).
val open_in : ?small:bool -> ?unused:bytes -> Stdlib.in_channel -> in_channelopen_in ic opens a compressed stream reading from the Stdlib input channel ic.
val read : in_channel -> bytes -> int -> int -> intread buf pos len reads up to len characters and store them in the string buffer buf, starting at position pos.
val read_get_unused : in_channel -> bytesIf there's some data after the compressed stream that you want to read from the same Stdlib in_channel, use read_get_unused.
val close_in : in_channel -> unitval open_out : ?block:int -> Stdlib.out_channel -> out_channelopen_out oc creates an out_channel writing to the Stdlib output channel oc. Once the write operations are finished and the compressed channel is closed, it is possible to continue writing on the Stdlib channel. However, reading back requires special care (cf. above).
val write : out_channel -> bytes -> int -> int -> unitwrite oc buf pos len writes len characters, coming from buf and starting at position pos, to oc
val close_out : out_channel -> unitThese functions compress to/decompress from string buffers.
compress buf pos len compress a data chunk coming from buf, len character long, and starting at pos.