`sig
type t = {
mutable i_s : bytes;
mutable i_pos : int;
mutable i_len : int;
mutable i_offs : int;
mutable i_max_len : int;
i_refill : Bi_inbuf.t -> int -> unit;
i_shared : Bi_share.Rd.tbl;
}
exception End_of_input
val try_preread : Bi_inbuf.t -> int -> int
val read : Bi_inbuf.t -> int -> int
val read_char : Bi_inbuf.t -> char
val peek : Bi_inbuf.t -> char
val from_string : ?pos:int -> ?shrlen:int -> string -> Bi_inbuf.t
val from_bytes : ?pos:int -> ?shrlen:int -> bytes -> Bi_inbuf.t
val from_channel :
?len:int -> ?shrlen:int -> Stdlib.in_channel -> Bi_inbuf.t
end`