sig
  type t =
      NeedCPP of string * string
    | NoCPP of string
    | External of string * string
  val new_file_type :
    string -> (string -> Cil_types.file * Cabs.file) -> unit
  val get_suffixes : unit -> string list
  val ty : File.t Type.t
  val name : File.t -> string
  val get_preprocessor_command : unit -> string
  val pre_register : File.t -> unit
  val get_all : unit -> File.t list
  val from_filename : ?cpp:string -> string -> File.t
  class check_file : Visitor.frama_c_visitor
  val prepare_from_c_files : unit -> unit
  val init_from_c_files : File.t list -> unit
  val init_project_from_cil_file : Project.t -> Cil_types.file -> unit
  val create_project_from_visitor :
    string -> (Project.t -> Visitor.frama_c_visitor) -> Project.t
  val init_from_cmdline : unit -> unit
  val pretty : ?prj:Project.t -> ?fmt:Format.formatter -> unit -> unit
end