Bz2

`sig
type in_channel
type out_channel
exception IO_error of string
exception Data_error
exception Unexpected_EOF
val version : string
external open_in :
?small:bool -> ?unused:string -> Pervasives.in_channel -> Bz2.in_channel
= "mlbz_readopen"
external read : Bz2.in_channel -> string -> int -> int -> int = "mlbz_read"
external read_get_unused : Bz2.in_channel -> string = "mlbz_readgetunused"
external close_in : Bz2.in_channel -> unit = "mlbz_readclose"
external open_out : ?block:int -> Pervasives.out_channel -> Bz2.out_channel
= "mlbz_writeopen"
external write : Bz2.out_channel -> string -> int -> int -> unit
= "mlbz_write"
external close_out : Bz2.out_channel -> unit = "mlbz_writeclose"
external compress : ?block:int -> string -> int -> int -> string
= "mlbz_compress"
external uncompress : ?small:bool -> string -> int -> int -> string
= "mlbz_uncompress"
end`