| Haskell Hierarchical Libraries (unix package) | Contents | Index

System.Posix.Directory

Portability | non-portable (requires POSIX)
Stability | provisional
Maintainer | libraries@haskell.org

Contents

Creating and removing directories
Reading directories
The working dirctory

Description
POSIX directory support
Synopsis

createDirectory :: FilePath -> FileMode -> IO ()
removeDirectory
data DirStream
openDirStream :: FilePath -> IO DirStream
readDirStream :: DirStream -> IO FilePath
rewindDirStream :: DirStream -> IO ()
closeDirStream :: DirStream -> IO ()
data DirStreamOffset
tellDirStream :: DirStream -> IO DirStreamOffset
seekDirStream :: DirStream -> DirStreamOffset -> IO ()
getWorkingDirectory :: IO FilePath
changeWorkingDirectory :: FilePath -> IO ()
changeWorkingDirectoryFd :: Fd -> IO ()

Creating and removing directories
createDirectory :: FilePath -> FileMode -> IO ()
`createDirectory dir mode` calls `mkdir` to create a new directory, `dir`, with permissions based on `mode`.
removeDirectory
Reading directories
data DirStream

openDirStream :: FilePath -> IO DirStream
`openDirStream dir` calls `opendir` to obtain a directory stream for `dir`.
readDirStream :: DirStream -> IO FilePath
`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.
rewindDirStream :: DirStream -> IO ()
`rewindDirStream dp` calls `rewinddir` to reposition the directory stream `dp` at the beginning of the directory.
closeDirStream :: DirStream -> IO ()
`closeDirStream dp` calls `closedir` to close the directory stream `dp`.
data DirStreamOffset

tellDirStream :: DirStream -> IO DirStreamOffset
seekDirStream :: DirStream -> DirStreamOffset -> IO ()
The working dirctory
getWorkingDirectory :: IO FilePath
`getWorkingDirectory` calls `getcwd` to obtain the name of the current working directory.
changeWorkingDirectory :: FilePath -> IO ()
`changeWorkingDirectory dir` calls `chdir` to change the current working directory to `dir`.
changeWorkingDirectoryFd :: Fd -> IO ()
Produced by Haddock version 0.7