package decompress

  1. Overview
  2. Docs
module Buffer = Decompress_buffer
module Safe = Decompress_safe
type ('a, 'crc) t = {
  1. rpos : int;
  2. wpos : int;
  3. size : int;
  4. buffer : ([ Safe.ro | Safe.wo ], 'a) Safe.t;
  5. crc : Optint.t;
  6. crc_witness : 'crc checksum;
  7. buffer_witness : 'a Buffer.t;
}
and 'crc checksum =
  1. | Adler32 : adler32 checksum
  2. | Crc32 : crc32 checksum
  3. | None : none checksum
and adler32 =
  1. | A
and crc32 =
  1. | B
and none =
  1. | C
val adler32 : adler32 checksum
val crc32 : crc32 checksum
val none : none checksum
module Crc : sig ... end
val create : crc:'a Crc.t -> witness:'b Safe.Buffer.t -> ('c, 'd) t
val crc : ('a, 'b) t -> Optint.t
val reset : ('a, 'b) t -> ('c, 'd) t
val available_to_write : ('a, 'b) t -> int
val drop : int -> ('a, 'b) t -> ('c, 'd) t
val move : int -> ('a, 'b) t -> ('c, 'd) t
val hack : ('a, 'i) Safe.t -> (Safe.ro, 'i) Safe.t
val write : ([< `Rd | `Wr Rd ], 'a) Safe.t -> int -> ([< `Rd | `Wr Wr ], 'a) Safe.t -> int -> int -> ('b, 'c) t -> ('d, 'e) t
val write_char : char -> ('a, 'b) t -> ('c, 'd) t
val fill_char : char -> int -> ('a, 'b) t -> ('c, 'd) t
val sanitize : int -> ('a, 'b) t -> int
val (%) : int -> ('a, 'b) t -> int