- renameFile :: FilePath -> FilePath -> IO ()
- setExecutable :: FilePath -> Bool -> IO ()
- getCurrentDirectory :: IO FilePath
- installHandler :: Signal -> Handler -> Maybe SignalSet -> IO Handler
- raiseSignal :: Signal -> IO ()
- data Handler
- type Signal = CInt
- sigINT :: CInt
- sigHUP :: CInt
- sigABRT :: CInt
- sigALRM :: CInt
- sigTERM :: CInt
- sigPIPE :: CInt
Documentation
renameFile :: FilePath -> FilePath -> IO ()
changes the name of an existing file system
object from old to new. If the new object already
exists, it is atomically replaced by the old object. Neither
path may refer to an existing directory. A conformant implementation
need not support renaming files in all situations (e.g. renaming
across different physical devices), but the constraints must be
documented.
renameFile
old new
The operation may fail with:
-
HardwareFault
A physical I/O error has occurred.[EIO]
-
InvalidArgument
Either operand is not a valid file name.[ENAMETOOLONG, ELOOP]
-
isDoesNotExistError
/NoSuchThing
The original file does not exist, or there is no path to the target.[ENOENT, ENOTDIR]
-
isPermissionError
/PermissionDenied
The process has insufficient privileges to perform the operation.[EROFS, EACCES, EPERM]
-
ResourceExhausted
Insufficient resources are available to perform the operation.[EDQUOT, ENOSPC, ENOMEM, EMLINK]
-
UnsatisfiedConstraints
Implementation-dependent constraints are not satisfied.[EBUSY]
-
UnsupportedOperation
The implementation does not support renaming in this situation.[EXDEV]
-
InappropriateType
Either path refers to an existing directory.[ENOTDIR, EISDIR, EINVAL, EEXIST, ENOTEMPTY]
getCurrentDirectory :: IO FilePath
If the operating system has a notion of current directories,
getCurrentDirectory
returns an absolute path to the
current directory of the calling process.
The operation may fail with:
-
HardwareFault
A physical I/O error has occurred.[EIO]
-
isDoesNotExistError
/NoSuchThing
There is no path referring to the current directory.[EPERM, ENOENT, ESTALE...]
-
isPermissionError
/PermissionDenied
The process has insufficient privileges to perform the operation.[EACCES]
-
ResourceExhausted
Insufficient resources are available to perform the operation. -
UnsupportedOperation
The operating system has no notion of current directory.
installHandler int handler iset
calls sigaction
to install an
interrupt handler for signal int
. If handler
is Default
,
SIG_DFL
is installed; if handler
is Ignore
, SIG_IGN
is
installed; if handler
is Catch action
, a handler is installed
which will invoke action
in a new thread when (or shortly after) the
signal is received.
If iset
is Just s
, then the sa_mask
of the sigaction
structure
is set to s
; otherwise it is cleared. The previously installed
signal handler for int
is returned
raiseSignal :: Signal -> IO ()
raiseSignal int
calls kill
to signal the current process
with interrupt signal int
.
data Handler
The actions to perform when a signal is received.