package rfc1951

  1. Overview
  2. Docs
type src = [
  1. | `Channel of Stdlib.in_channel
  2. | `String of string
  3. | `Manual
]
type decode = [
  1. | `Await
  2. | `Flush
  3. | `End
  4. | `Malformed of string
]
exception Invalid_huffman
val prefix : (int * int) Heap.queue -> int -> int array
type kind =
  1. | CODES
  2. | LENS
  3. | DISTS
val empty_table : int array * int
val huffman : kind -> int array -> int -> int -> int array * int
type decoder = {
  1. src : src;
  2. mutable i : bigstring;
  3. mutable i_pos : int;
  4. mutable i_len : int;
  5. mutable hold : int;
  6. mutable bits : int;
  7. mutable last : bool;
  8. o : bigstring;
  9. t : bigstring;
  10. mutable t_need : int;
  11. mutable t_len : int;
  12. mutable o_pos : int;
  13. mutable l : int;
  14. mutable d : int;
  15. mutable literal : Lookup.t;
  16. mutable distance : Lookup.t;
  17. mutable jump : jump;
  18. w : WInf.t;
  19. mutable s : state;
  20. mutable k : decoder -> ret;
}
and state =
  1. | Header
  2. | Table of {
    1. hlit : int;
    2. hdist : int;
    3. hclen : int;
    }
  3. | Inflate_table of {
    1. t : int array;
    2. l : int;
    3. r : int array;
    4. h : int * int * int;
    }
  4. | Inflate
  5. | Slow
  6. | Flat_header
  7. | Dynamic_header
  8. | Flat
  9. | End_of_inflate
and jump =
  1. | Length
  2. | Extra_length
  3. | Distance
  4. | Extra_distance
  5. | Write
and ret =
  1. | Await
  2. | Flush
  3. | End
  4. | K
  5. | Malformed of string
val malformedf : ('a, Stdlib.Format.formatter, unit, ret) Stdlib.format4 -> 'b
val eoi : decoder -> unit
val final : 'a -> ret
val err_unexpected_end_of_input : decoder -> ret
val err_invalid_kind_of_block : decoder -> ret
val err_invalid_dictionary : decoder -> ret
val err_invalid_complement_of_length : decoder -> ret
val err_invalid_distance : decoder -> ret
val err_invalid_distance_code : decoder -> ret
val i_rem : decoder -> int
val src : decoder -> (char, Stdlib.Bigarray.int8_unsigned_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t -> int -> int -> unit
val refill : (decoder -> ret) -> decoder -> ret
val c_peek_bits : int -> (decoder -> ret) -> decoder -> ret
val t_need : decoder -> int -> unit
val t_fill : (decoder -> ret) -> decoder -> ret
val reverse_bits : int -> int
val fixed_lit : Lookup.t
val fixed_dist : Lookup.t
val checksum : decoder -> optint
val flat : decoder -> ret
val flat_header : decoder -> ret
val c_put_byte : int -> (decoder -> ret) -> decoder -> ret
val slow_inflate : Lookup.t -> Lookup.t -> jump -> decoder -> ret
val inflate : Lookup.t -> Lookup.t -> jump -> decoder -> ret
val fixed : decoder -> ret
val make_table : int array -> int -> int -> decoder -> ret
val inflate_table : decoder -> ret
val table : decoder -> ret
val (//) : int -> int -> int
val dynamic : decoder -> ret
val decode_k : decoder -> ret
val decode : decoder -> [> `Await | `End | `Flush | `Malformed of string ]
val dst_rem : decoder -> int
val src_rem : decoder -> int
val flush : decoder -> unit
val decoder : src -> o:bigstring -> w:bigstring -> decoder
val reset : decoder -> unit
module Ns : sig ... end