Go to the first, previous, next, last section, table of contents.
openDirStream :: FilePath -> IO DirStream
`openDirStream dir' calls `opendir' to obtain a
directory stream for `dir'.
readDirStream :: DirStream -> IO String
`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.
The operation may fail with:
- `EOF'
End of file has been reached.
- `SystemError'
Various other causes.
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'.
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'.
nullFileMode :: FileMode -- ---------
ownerReadMode :: FileMode -- r--------
ownerWriteMode :: FileMode -- -w-------
ownerExecuteMode :: FileMode -- --x------
groupReadMode :: FileMode -- --r-----
groupWriteMode :: FileMode -- ----w----
groupExecuteMode :: FileMode -- -----x---
otherReadMode :: FileMode -- ------r--
otherWriteMode :: FileMode -- -------w-
otherExecuteMode :: FileMode -- --------x
setUserIDMode :: FileMode -- --S------
setGroupIDMode :: FileMode -- -----S---
stdFileMode :: FileMode -- rw-rw-rw-
ownerModes :: FileMode -- rwx------
groupModes :: FileMode -- --rwx---
otherModes :: FileMode -- ------rwx
accessModes :: FileMode -- rwxrwxrwx
unionFileModes :: FileMode -> FileMode -> FileMode
intersectFileModes :: FileMode -> FileMode -> FileMode
stdInput :: Fd
stdInput = intToFd 0
stdOutput :: Fd
stdOutput = intToFd 1
stdError :: Fd
stdError = intToFd 2
data OpenFileFlags =
OpenFileFlags {
append :: Bool,
exclusive :: Bool,
noctty :: Bool,
nonBlock :: Bool,
trunc :: Bool
}
openFd :: FilePath
-> OpenMode
-> Maybe FileMode -- Just x => O_CREAT, Nothing => must exist
-> OpenFileFlags
-> IO Fd
`openFd path acc mode (OpenFileFlags app excl noctty nonblock trunc)' calls
`open' to obtain a `Fd' for the file `path' with access
mode `acc'. If `mode' is `Just m', the `O_CREAT' flag is
set and the file's permissions will be based on `m' if it does not
already exist; otherwise, the `O_CREAT' flag is not set. The
arguments `app', `excl', `noctty', `nonblock', and
`trunc' control whether or not the flags `O_APPEND',
`O_EXCL', `O_NOCTTY', `O_NONBLOCK', and `O_TRUNC' are set,
respectively.
createFile :: FilePath -> FileMode -> IO Fd
`createFile path mode' calls `creat' to obtain a `Fd'
for file `path', which will be created with permissions based on
`mode' if it does not already exist.
setFileCreationMask :: FileMode -> IO FileMode
`setFileCreationMask mode' calls `umask' to set
the process's file creation mask to `mode'. The previous file
creation mask is returned.
createLink :: FilePath -> FilePath -> IO ()
`createLink old new' calls `link' to create a
new path, `new', linked to an existing file, `old'.
createDirectory :: FilePath -> FileMode -> IO ()
`createDirectory dir mode' calls `mkdir' to
create a new directory, `dir', with permissions based on
`mode'.
createNamedPipe :: FilePath -> FileMode -> IO ()
`createNamedPipe fifo mode' calls `mkfifo' to
create a new named pipe, `fifo', with permissions based on
`mode'.
removeLink :: FilePath -> IO ()
`removeLink path' calls `unlink' to remove the link
named `path'.
removeDirectory :: FilePath -> IO ()
`removeDirectory dir' calls `rmdir' to remove the
directory named `dir'.
rename :: FilePath -> FilePath -> IO ()
`rename old new' calls `rename' to rename a
file or directory from `old' to `new'.
fileMode :: FileStatus -> FileMode
fileID :: FileStatus -> FileID
deviceID :: FileStatus -> DeviceID
linkCount :: FileStatus -> LinkCount
fileOwner :: FileStatus -> UserID
fileGroup :: FileStatus -> GroupID
fileSize :: FileStatus -> FileOffset
accessTime :: FileStatus -> EpochTime
modificationTime :: FileStatus -> EpochTime
statusChangeTime :: FileStatus -> EpochTime
isDirectory :: FileStatus -> Bool
isCharacterDevice :: FileStatus -> Bool
isBlockDevice :: FileStatus -> Bool
isRegularFile :: FileStatus -> Bool
isNamedPipe :: FileStatus -> Bool
getFileStatus :: FilePath -> IO FileStatus
`getFileStatus path' calls `stat' to get the
`FileStatus' information for the file `path'.
getFdStatus :: Fd -> IO FileStatus
`getFdStatus fd' calls `fstat' to get the
`FileStatus' information for the file associated with
`Fd' `fd'.
queryAccess :: FilePath -> Bool -> Bool -> Bool -> IO Bool
`queryAccess path r w x' calls `access' to test the access
permissions for file `path'. The three arguments, `r', `w',
and `x' control whether or not `access' is called with
`R_OK', `W_OK', and `X_OK' respectively.
queryFile :: FilePath -> IO Bool
`queryFile path' calls `access' with `F_OK' to test for the
existence for file `path'.
setFileMode :: FilePath -> FileMode -> IO ()
`setFileMode path mode' calls `chmod' to set the
permission bits associated with file `path' to `mode'.
setOwnerAndGroup :: FilePath -> UserID -> GroupID -> IO ()
`setOwnerAndGroup path uid gid' calls `chown' to
set the `UserID' and `GroupID' associated with file
`path' to `uid' and `gid', respectively.
setFileTimes :: FilePath -> EpochTime -> EpochTime -> IO ()
`setFileTimes path atime mtime' calls `utime' to
set the access and modification times associated with file
`path' to `atime' and `mtime', respectively.
touchFile :: FilePath -> IO ()
`touchFile path' calls `utime' to
set the access and modification times associated with file
`path' to the current time.
getPathVar :: PathVar -> FilePath -> IO Limit
`getPathVar var path' calls `pathconf' to obtain the
dynamic value of the requested configurable file limit or option associated
with file or directory `path'. For
defined file limits, `getPathVar' returns the associated
value. For defined file options, the result of `getPathVar'
is undefined, but not failure.
The operation may fail with:
- `NoSuchThing'
The requested file limit or option is undefined.
- `SystemError'
Various other causes.
getFdVar :: PathVar -> Fd -> IO Limit
`getFdVar var fd' calls `fpathconf' to obtain the
dynamic value of the requested configurable file limit or option associated
with the file or directory attached to the open channel `fd'.
For defined file limits, `getFdVar' returns the associated
value. For defined file options, the result of `getFdVar'
is undefined, but not failure.
The operation may fail with:
- `NoSuchThing'
The requested file limit or option is undefined.
- `SystemError'
Various other causes.
Go to the first, previous, next, last section, table of contents.