unix-2.8.5.0: POSIX functionality
Copyright(c) The University of Glasgow 2002
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainerlibraries@haskell.org
Stabilityprovisional
Portabilitynon-portable (requires POSIX)
Safe HaskellSafe
LanguageHaskell2010

System.Posix.Directory

Description

String-based POSIX directory support

Synopsis

Creating and removing directories

createDirectory :: FilePath -> FileMode -> IO () Source #

createDirectory dir mode calls mkdir to create a new directory, dir, with permissions based on mode.

Reading directories

openDirStream :: FilePath -> IO DirStream Source #

openDirStream dir calls opendir to obtain a directory stream for dir.

readDirStream :: DirStream -> IO FilePath Source #

readDirStream dp calls readdir to obtain the next directory entry (struct dirent) for the open directory stream dp, and returns the d_name member of that structure.

Note that this function returns an empty filepath if the end of the directory stream is reached. For a safer alternative use readDirStreamMaybe.

readDirStreamMaybe :: DirStream -> IO (Maybe FilePath) Source #

readDirStreamMaybe dp calls readdir to obtain the next directory entry (struct dirent) for the open directory stream dp. It returns the d_name member of that structure wrapped in a Just d_name if an entry was read and Nothing if the end of the directory stream was reached.

rewindDirStream :: DirStream -> IO () Source #

rewindDirStream dp calls rewinddir to reposition the directory stream dp at the beginning of the directory.

closeDirStream :: DirStream -> IO () Source #

closeDirStream dp calls closedir to close the directory stream dp.

The working dirctory

getWorkingDirectory :: IO FilePath Source #

getWorkingDirectory calls getcwd to obtain the name of the current working directory.

changeWorkingDirectory :: FilePath -> IO () Source #

changeWorkingDirectory dir calls chdir to change the current working directory to dir.