sig
  type in_channel
  type out_channel
  exception IO_error of string
  exception Data_error
  exception Unexpected_EOF
  val version : string
  val open_in :
    ?small:bool -> ?unused:bytes -> Stdlib.in_channel -> Bz2.in_channel
  val read : Bz2.in_channel -> bytes -> int -> int -> int
  val read_get_unused : Bz2.in_channel -> bytes
  val close_in : Bz2.in_channel -> unit
  val open_out : ?block:int -> Stdlib.out_channel -> Bz2.out_channel
  val write : Bz2.out_channel -> bytes -> int -> int -> unit
  val close_out : Bz2.out_channel -> unit
  val compress : ?block:int -> bytes -> int -> int -> bytes
  val uncompress : ?small:bool -> bytes -> int -> int -> bytes
end