sig
  type t
  type error_type = Null_retry | Too_many_nulls | Exception of string * exn
  type lnum = Known of int | Unknown
  type result =
      Success of Linebuf.lnum * string
    | Nothing_available
    | Error of Linebuf.error_type
    | Fatal_error of string * exn
  exception File_truncated_or_deleted
  val create :
    ?pos:Int64.t ->
    ?close_on_eof:bool ->
    ?null_hack:[ `Off | `Retry | `Retry_then_fail ] ->
    ?eprint_nulls:bool ->
    ?follow_deletes:bool ->
    ?signal_on_truncate_or_delete:bool -> string -> Linebuf.t
  val close : Linebuf.t -> unit
  val is_closed : Linebuf.t -> bool
  val try_read : Linebuf.t -> string option
  val try_read_lnum : Linebuf.t -> (Linebuf.lnum * string) option
  val try_read_lnum_verbose : Linebuf.t -> Linebuf.result
  val read : Linebuf.t -> string
  val tail : Linebuf.t -> unit
  val unsafe_tail : Linebuf.t -> unit
  val name : Linebuf.t -> string
  val reset : Linebuf.t -> unit
  val ounit_tests : unit -> OUnit.test
end