package decompress

  1. Overview
  2. Docs
module Heap : sig ... end
module Huffman : sig ... end
val reverse_bits : int -> int
module Lookup : sig ... end
type ('i, 'o) t = {
  1. last : bool;
  2. hold : int;
  3. bits : int;
  4. o_off : int;
  5. o_pos : int;
  6. o_len : int;
  7. i_off : int;
  8. i_pos : int;
  9. i_len : int;
  10. write : int;
  11. state : ('i, 'o) state;
  12. window : 'o Window.t;
}
and ('i, 'o) k = (Safe.read, 'i) Safe.t -> (Safe.write, 'o) Safe.t -> ('i, 'o) t -> ('i, 'o) res
and ('i, 'o) state =
  1. | Last
  2. | Block
  3. | Flat of ('i, 'o) k
  4. | Fixed
  5. | Dictionary of ('i, 'o) k
  6. | Inffast of Lookup.t * Lookup.t * code
  7. | Inflate of ('i, 'o) k
  8. | Switch
  9. | Finish of int
  10. | Exception of error
and ('i, 'o) res =
  1. | Cont of ('i, 'o) t
  2. | Wait of ('i, 'o) t
  3. | Flush of ('i, 'o) t
  4. | Ok of ('i, 'o) t
  5. | Error of ('i, 'o) t * error
and code =
  1. | Length
  2. | ExtLength of int
  3. | Dist of int
  4. | ExtDist of int * int
  5. | Write of int * int
val pp_error : Format.formatter -> error_rfc1951_inflate -> unit
val pp_code : Format.formatter -> code -> unit
val pp_state : Format.formatter -> ('a, 'b) state -> unit
val pp : Format.formatter -> ('a, 'b) t -> unit
val error : ('a, 'b) t -> error -> ('c, 'd) res
val ok : ('a, 'b) t -> int -> ('c, 'd) res
val get_byte : ctor: ((([< `Read | `Write Read ] as 'a, 'b) Safe.t -> 'c -> ('d, 'e) t -> ('f, 'g) res) -> ('h, 'i) state) -> (int -> ('a, 'b) Safe.t -> 'j -> ('k, 'l) t -> ('f, 'g) res) -> ('a, 'b) Safe.t -> 'm -> ('d, 'e) t -> ('f, 'g) res
val put_byte : ctor: (('a -> ([< `Read | `Write Write ] as 'b, 'c) Safe.t -> ('d, 'e) t -> ('f, 'g) res) -> ('h, 'i) state) -> int -> ('j -> ('b, 'c) Safe.t -> ('k, 'l) t -> ('f, 'g) res) -> 'm -> ('b, 'c) Safe.t -> ('d, 'e) t -> ('f, 'g) res
val fill_byte : ctor: (('a -> ([< `Read | `Write Write ] as 'b, 'c) Safe.t -> ('d, 'e) t -> ('f, 'g) res) -> ('h, 'i) state) -> int -> int -> ('j -> ('b, 'c) Safe.t -> ('k, 'l) t -> ('f, 'g) res) -> 'm -> ('b, 'c) Safe.t -> ('d, 'e) t -> ('f, 'g) res
val peek_bits : ctor: ((([< `Read | `Write Read ] as 'a, 'b) Safe.t -> 'c -> ('d, 'e) t -> ('f, 'e) res) -> ('f, 'e) state) -> int -> (('a, 'b) Safe.t -> 'g -> ('d, 'e) t -> ('f, 'e) res) -> ('a, 'b) Safe.t -> 'h -> ('d, 'e) t -> ('f, 'e) res
val drop_bits : ctor: ((([< `Read | `Write Read ] as 'a, 'b) Safe.t -> 'c -> ('d, 'e) t -> ('f, 'g) res) -> ('f, 'g) state) -> int -> (('a, 'b) Safe.t -> 'h -> ('i, 'j) t -> ('f, 'g) res) -> ('a, 'b) Safe.t -> 'k -> ('d, 'e) t -> ('f, 'g) res
val get_bits : ctor: ((([< `Read | `Write Read ] as 'a, 'b) Safe.t -> 'c -> ('d, 'e) t -> ('f, 'g) res) -> ('f, 'g) state) -> int -> (int -> ('a, 'b) Safe.t -> 'h -> ('i, 'j) t -> ('f, 'g) res) -> ('a, 'b) Safe.t -> 'k -> ('d, 'e) t -> ('f, 'g) res
val get_with_holding : ctor: ((([< `Read | `Write Read ] as 'a, 'b) Safe.t -> 'c -> ('d, 'e) t -> ('f, 'e) res) -> ('f, 'e) state) -> (int -> ('a, 'b) Safe.t -> 'c -> ('d, 'e) t -> ('f, 'e) res) -> ('a, 'b) Safe.t -> 'g -> ('d, 'e) t -> ('f, 'e) res
val get_int16 : ctor: ((([< `Read | `Write Read ] as 'a, 'b) Safe.t -> 'c -> ('d, 'e) t -> ('f, 'e) res) -> ('f, 'e) state) -> (int -> ('a, 'b) Safe.t -> 'g -> ('d, 'e) t -> ('f, 'e) res) -> ('a, 'b) Safe.t -> 'h -> ('d, 'e) t -> ('f, 'e) res
module KLast : sig ... end
module KBlock : sig ... end
module KDictionary : sig ... end
module KFlat : sig ... end
module KInflate : sig ... end
module Dictionary : sig ... end
val fixed : 'a -> 'b -> ('c, 'd) t -> ('e, 'f) res
val dictionary : (Safe.read, 'a) Safe.t -> (Safe.write, 'b) Safe.t -> ('a, 'b) t -> ('a, 'b) res
val switch : 'a -> 'b -> ('c, 'd) t -> ('e, 'f) res
val flat : (Safe.read, 'a) Safe.t -> (Safe.write, 'b) Safe.t -> ('a, 'b) t -> ('a, 'b) res
val inflate : Lookup.t -> Lookup.t -> (Safe.read, 'a) Safe.t -> (Safe.write, 'b) Safe.t -> ('a, 'b) t -> ('a, 'b) res
exception End
val inffast : ([< `Read | `Write Read ], 'a) Safe.t -> ([< `Read | `Write Write ], 'b) Safe.t -> ('c, 'd) t -> Lookup.t -> Lookup.t -> code -> ('e, 'f) res
val block : ([< `Read | `Write Read ], 'a) Safe.t -> 'b -> ('c, 'd) t -> ('e, 'd) res
val last : ([< `Read | `Write Read ], 'a) Safe.t -> 'b -> ('c, 'd) t -> ('e, 'd) res
val eval0 : (Safe.read, 'a) Safe.t -> (Safe.write, 'b) Safe.t -> ('c, 'd) t -> ('e, 'f) res
val eval : 'a Decompress_impl__.Decompress_b.t -> 'b Decompress_impl__.Decompress_b.t -> ('c, 'c) t -> [> `Await of ('d, 'e) t | `End of ('f, 'g) t | `Error of ('h, 'i) t * error | `Flush of ('j, 'k) t ]
val default : 'a Window.t -> ('b, 'c) t
val refill : int -> int -> ('a, 'b) t -> ('c, 'd) t
val flush : int -> int -> ('a, 'b) t -> ('c, 'd) t
val used_in : ('a, 'b) t -> int
val used_out : ('a, 'b) t -> int
val write : ('a, 'b) t -> int
val bits_remaining : ('a, 'b) t -> int
include sig ... end
val to_result : 'a B.t -> 'a B.t -> ('a B.t -> int) -> ('a B.t -> int -> int) -> ('b, 'c) t -> (('d, 'e) t, error) result
val bytes : B.Bytes.t -> B.Bytes.t -> (B.Bytes.t -> int) -> (B.Bytes.t -> int -> int) -> (B.st, B.st) t -> ((B.st, B.st) t, error) result
val bigstring : B.Bigstring.t -> B.Bigstring.t -> (B.Bigstring.t -> int) -> (B.Bigstring.t -> int -> int) -> (B.bs, B.bs) t -> ((B.bs, B.bs) t, error) result