(** Operations on directories. *) val streamall : string -> string Stream.t (** [streamall dir] - Return a stream of the contents of a directory, including [.] and [..]. *) val stream : string -> string Stream.t (** Like [streamall] but [.] and [..] are omitted. *) val path_stream : string -> string Stream.t (** Like [stream] but full pathnames are returned instead of names. *) val iterall : (string -> unit) -> string -> unit (** [iterall f dir] - Pass all the directory entries to [f]. *) val iter : (string -> unit) -> string -> unit (** [iter f dir] - Like [iterall] but omits [.] and [..]. *) val rstream : ?follow:bool -> string -> (string * Unix.LargeFile.stats) Stream.t (** [rstream ?follow dir] - Returns a stream of the preorder traversal of a directory tree. Stream elements are (path, statinfo) pairs. If the follow flag is true then link targets are statted instead of the links them selves, follow is false by default *) val name_list : string -> string list (** Return a list of the names returned by [stream]. *) val path_list : string -> string list (** Return a list of the paths returned by [path_stream]. *) val find : ?prune:(string -> bool) -> (string -> Unix.LargeFile.stats -> 'a) -> string -> unit (** [find f dir] - Recursively traverse a directory and call [f] for every path. *) val find2 : ?prune:(string list -> bool) -> ?stack:string list -> (string list -> Unix.LargeFile.stats -> 'a) -> string -> unit (** Like [find], but instead of paths it passes a list of directory names to f and prune, deepest first. *) val make : string -> Unix.file_perm -> unit (** Create a directory and all its parent directories as necessary. *)