sig
  module Scanning :
    sig
      type in_channel = Scanf.Scanning.in_channel
      type scanbuf = in_channel
      val stdin : scanbuf
      type file_name = string
      val open_in : file_name -> scanbuf
      val open_in_bin : file_name -> scanbuf
      val close_in : scanbuf -> unit
      val from_file : file_name -> scanbuf
      val from_file_bin : file_name -> scanbuf
      val from_string : file_name -> scanbuf
      val from_function : (unit -> char) -> scanbuf
      val from_channel : in_channel -> scanbuf
      val end_of_input : scanbuf -> bool
      val beginning_of_input : scanbuf -> bool
      val name_of_input : scanbuf -> file_name
      val stdib : scanbuf
    end
  type ('a, 'b, 'c, 'd) scanner =
      ('a, Scanning.in_channel, 'b, 'c, '-> 'd, 'd) format6 -> 'c
  exception Scan_failure of Scanning.file_name
  val bscanf : Scanning.in_channel -> ('a, 'b, 'c, 'd) scanner
  val fscanf : in_channel -> ('a, 'b, 'c, 'd) scanner
  val sscanf : Scanning.file_name -> ('a, 'b, 'c, 'd) scanner
  val scanf : ('a, 'b, 'c, 'd) scanner
  val kscanf :
    Scanning.in_channel ->
    (Scanning.in_channel -> exn -> 'd) -> ('a, 'b, 'c, 'd) scanner
  val bscanf_format :
    Scanning.in_channel ->
    ('a, 'b, 'c, 'd, 'e, 'f) format6 ->
    (('a, 'b, 'c, 'd, 'e, 'f) format6 -> 'g) -> 'g
  val sscanf_format :
    Scanning.file_name ->
    ('a, 'b, 'c, 'd, 'e, 'f) format6 ->
    (('a, 'b, 'c, 'd, 'e, 'f) format6 -> 'g) -> 'g
  val format_from_string :
    Scanning.file_name ->
    ('a, 'b, 'c, 'd, 'e, 'f) format6 -> ('a, 'b, 'c, 'd, 'e, 'f) format6
  val unescaped : Scanning.file_name -> Scanning.file_name
end