sig
  type filename = string
  type foldername = string
  type content = string
  val current_umask : int
  val touch : ?perm:Unix.file_perm -> UnixExtra.Extra.filename -> unit
  module Copylib :
    sig
      val buffer_size : int
      val buffer : string
      val file_copy :
        ?perm:Unix.file_perm ->
        ?flag:Unix.open_flag -> string -> string -> unit
    end
  val file_copy :
    ?perm:Unix.file_perm ->
    UnixExtra.Extra.filename -> UnixExtra.Extra.filename -> unit
  val file_append :
    ?perm:Unix.file_perm ->
    UnixExtra.Extra.filename -> UnixExtra.Extra.filename -> unit
  val put :
    ?perm:Unix.file_perm ->
    UnixExtra.Extra.filename -> UnixExtra.Extra.content -> unit
  val rewrite :
    ?perm:Unix.file_perm ->
    UnixExtra.Extra.filename -> UnixExtra.Extra.content -> unit
  val append :
    ?perm:Unix.file_perm ->
    UnixExtra.Extra.filename -> UnixExtra.Extra.content -> unit
  val cat : UnixExtra.Extra.filename -> string
  module Templib :
    sig
      val temp_name :
        dir:bool ->
        perm:Unix.file_perm ->
        parent:string -> prefix:string -> suffix:string -> unit -> string
    end
  val temp_dir :
    ?perm:Unix.file_perm ->
    ?parent:string -> ?prefix:string -> ?suffix:string -> unit -> string
  val temp_file :
    ?perm:Unix.file_perm ->
    ?parent:string ->
    ?prefix:string ->
    ?suffix:string -> ?content:UnixExtra.Extra.content -> unit -> string
  val file_kind_of_char : char -> Unix.file_kind option
  val iter_dir : (string -> 'a) -> string -> unit
  module Findlib :
    sig
      exception Hidden of exn
      val hide_exn : ('-> 'b) -> '-> 'b
      val reveal_exn : ('-> 'b) -> '-> 'b
      val find :
        (Unix.error * string * string -> unit) ->
        (string -> Unix.stats -> bool) -> bool -> int -> string list -> unit
    end
  val find :
    ?follow:bool ->
    ?maxdepth:int -> ?kind:char -> ?name:string -> string -> string list
  module Passwdlib : sig val read_passwd : string -> string end
  val read_passwd : string -> string
  type command = string
  val run :
    ?trace:bool ->
    ?input:UnixExtra.Extra.content ->
    UnixExtra.Extra.command -> string * Unix.process_status
  val shell :
    ?trace:bool ->
    ?input:UnixExtra.Extra.content -> UnixExtra.Extra.command -> string
end