sig   type cpp_opt_kind = Gnu | Not_gnu | Unknown   type file =       NeedCPP of string * string * File.cpp_opt_kind     | NoCPP of string     | External of string * string   type t = file   val ty : t Type.t   val name : string   val descr : t Descr.t   val packed_descr : Structural_descr.pack   val reprs : t list   val equal : t -> t -> bool   val compare : t -> t -> int   val hash : t -> int   val pretty_code : Format.formatter -> t -> unit   val internal_pretty_code : Type.precedence -> Format.formatter -> t -> unit   val pretty : Format.formatter -> t -> unit   val varname : t -> string   val mem_project : (Project_skeleton.t -> bool) -> t -> bool   val copy : t -> t   val new_file_type :     string -> (string -> Cil_types.file * Cabs.file) -> unit   val new_machdep : string -> Cil_types.mach -> unit   val machdep_macro : string -> string   type code_transformation_category   val register_code_transformation_category :     string -> File.code_transformation_category   val add_code_transformation_before_cleanup :     ?deps:(module Parameter_sig.S) list ->     ?before:File.code_transformation_category list ->     ?after:File.code_transformation_category list ->     File.code_transformation_category -> (Cil_types.file -> unit) -> unit   val add_code_transformation_after_cleanup :     ?deps:(module Parameter_sig.S) list ->     ?before:File.code_transformation_category list ->     ?after:File.code_transformation_category list ->     File.code_transformation_category -> (Cil_types.file -> unit) -> unit   val constfold : File.code_transformation_category   val must_recompute_cfg : Cil_types.fundec -> unit   val get_suffixes : unit -> string list   val get_name : t -> string   val get_preprocessor_command : unit -> string * File.cpp_opt_kind   val pre_register : t -> unit   val get_all : unit -> t list   val from_filename : ?cpp:string -> string -> t   val prepare_from_c_files : unit -> unit   val init_from_c_files : t list -> unit   val init_project_from_cil_file : Project.t -> Cil_types.file -> unit   val init_project_from_visitor :     ?reorder:bool -> Project.t -> Visitor.frama_c_visitor -> unit   val create_project_from_visitor :     ?reorder:bool ->     ?last:bool ->     string -> (Project.t -> Visitor.frama_c_visitor) -> Project.t   val create_rebuilt_project_from_visitor :     ?reorder:bool ->     ?last:bool ->     ?preprocess:bool ->     string -> (Project.t -> Visitor.frama_c_visitor) -> Project.t   val init_from_cmdline : unit -> unit   val reorder_ast : unit -> unit   val reorder_custom_ast : Cil_types.file -> unit   val pretty_ast : ?prj:Project.t -> ?fmt:Format.formatter -> unit -> unit end