{-# OPTIONS_HADDOCK hide #-} -- | -- Stability: unstable -- Portability: portable -- -- Internal modules are always subject to change from version to version. module System.Directory.Internal.Prelude ( module Prelude , module Control.Arrow , module Control.Concurrent , module Control.Exception , module Control.Monad , module Data.Bits , module Data.Char , module Data.Foldable , module Data.Function , module Data.Maybe , module Data.Monoid , module Data.IORef , module Data.Traversable , module Foreign , module Foreign.C , module GHC.IO.Encoding , module GHC.IO.Exception , module System.Environment , module System.Exit , module System.IO , module System.IO.Error , module System.Posix.Types , module System.Timeout , Void ) where import Data.Void (Void) import Control.Arrow (second) import Control.Concurrent ( forkIO , killThread , newEmptyMVar , putMVar , readMVar , takeMVar , forkFinally ) import Control.Exception ( Exception(displayException) , SomeException , bracket , bracket_ , bracketOnError , catch , finally , mask , onException , throwIO , try ) import Control.Monad ((>=>), (<=<), unless, when, replicateM, replicateM_) import Data.Bits ((.&.), (.|.), complement) import Data.Char (isAlpha, isAscii, toLower, toUpper) import Data.Foldable (for_) import Data.Function (on) import Data.Maybe (catMaybes, fromMaybe, maybeToList) import Data.Monoid ((<>), mconcat, mempty) import Data.IORef (IORef, newIORef, readIORef, writeIORef) import Data.Traversable (for) import Foreign ( Ptr , Storable ( alignment , peek , peekByteOff , peekElemOff , poke , pokeByteOff , pokeElemOff , sizeOf ) , alloca , allocaArray , allocaBytes , allocaBytesAligned , maybeWith , nullPtr , plusPtr , with , withArray ) import Foreign.C ( CInt(..) , CLong(..) , CString , CTime(..) , CUChar(..) , CULong(..) , CUShort(..) , CWString , CWchar(..) , throwErrnoIfMinus1Retry_ , throwErrnoIfMinus1_ , throwErrnoIfNull ) import GHC.IO.Exception ( IOErrorType ( InappropriateType , InvalidArgument , OtherError , UnsupportedOperation ) ) import GHC.IO.Encoding (getFileSystemEncoding) import System.Environment (getArgs) import System.Exit (exitFailure) import System.IO ( Handle , IOMode(ReadMode, WriteMode) , hClose , hFlush , hGetBuf , hPutBuf , hPutStr , hPutStrLn , openBinaryTempFile , stderr , stdout ) import System.IO.Error ( IOError , catchIOError , doesNotExistErrorType , illegalOperationErrorType , ioeGetErrorString , ioeGetErrorType , ioeGetLocation , ioeSetErrorString , ioeSetFileName , ioeSetLocation , isAlreadyExistsError , isDoesNotExistError , isIllegalOperation , isPermissionError , mkIOError , modifyIOError , permissionErrorType , tryIOError , userError ) import System.Posix.Types (EpochTime) import System.Timeout (timeout)