Copyright | (c) The University of Glasgow 1992-2002 |
---|---|
License | see libraries/base/LICENSE |
Maintainer | cvs-ghc@haskell.org |
Stability | internal |
Portability | non-portable (requires POSIX) |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
POSIX support layer for the standard libraries. This library is built on *every* platform, including Win32.
Non-posix compliant in order to support the following features: * S_ISSOCK (no sockets in POSIX)
Synopsis
- puts :: String -> IO ()
- data CFLock
- data CGroup
- data CLconv
- data CPasswd
- data CSigaction
- data CSigset
- data CStat
- data CTermios
- data CTm
- data CTms
- data CUtimbuf
- data CUtsname
- type FD = CInt
- fdFileSize :: FD -> IO Integer
- fileType :: FilePath -> IO IODeviceType
- fdStat :: FD -> IO (IODeviceType, CDev, CIno)
- fdType :: FD -> IO IODeviceType
- statGetType :: Ptr CStat -> IO IODeviceType
- ioe_unknownfiletype :: IOException
- fdGetMode :: FD -> IO IOMode
- withFilePath :: FilePath -> (CString -> IO a) -> IO a
- newFilePath :: FilePath -> IO CString
- peekFilePath :: CString -> IO FilePath
- peekFilePathLen :: CStringLen -> IO FilePath
- checkForInteriorNuls :: FilePath -> CStringLen -> IO ()
- throwInternalNulError :: FilePath -> IO a
- setEcho :: FD -> Bool -> IO ()
- getEcho :: FD -> IO Bool
- setCooked :: FD -> Bool -> IO ()
- tcSetAttr :: FD -> (Ptr CTermios -> IO a) -> IO a
- get_saved_termios :: CInt -> IO (Ptr CTermios)
- set_saved_termios :: CInt -> Ptr CTermios -> IO ()
- setNonBlockingFD :: FD -> Bool -> IO ()
- setCloseOnExec :: FD -> IO ()
- type CFilePath = CString
- c_interruptible_open :: CFilePath -> CInt -> CMode -> IO CInt
- c_safe_open :: CFilePath -> CInt -> CMode -> IO CInt
- hostIsThreaded :: Bool
- c_open :: CFilePath -> CInt -> CMode -> IO CInt
- c_interruptible_open_ :: CFilePath -> CInt -> CMode -> IO CInt
- rtsIsThreaded_ :: Int
- c_safe_open_ :: CFilePath -> CInt -> CMode -> IO CInt
- c_fstat :: CInt -> Ptr CStat -> IO CInt
- lstat :: CFilePath -> Ptr CStat -> IO CInt
- c_read :: CInt -> Ptr Word8 -> CSize -> IO CSsize
- c_safe_read :: CInt -> Ptr Word8 -> CSize -> IO CSsize
- c_umask :: CMode -> IO CMode
- c_write :: CInt -> Ptr Word8 -> CSize -> IO CSsize
- c_safe_write :: CInt -> Ptr Word8 -> CSize -> IO CSsize
- c_pipe :: Ptr CInt -> IO CInt
- c_lseek :: CInt -> COff -> CInt -> IO COff
- c_access :: CString -> CInt -> IO CInt
- c_chmod :: CString -> CMode -> IO CInt
- c_close :: CInt -> IO CInt
- c_creat :: CString -> CMode -> IO CInt
- c_dup :: CInt -> IO CInt
- c_dup2 :: CInt -> CInt -> IO CInt
- c_isatty :: CInt -> IO CInt
- c_unlink :: CString -> IO CInt
- c_utime :: CString -> Ptr CUtimbuf -> IO CInt
- c_getpid :: IO CPid
- c_stat :: CFilePath -> Ptr CStat -> IO CInt
- c_ftruncate :: CInt -> COff -> IO CInt
- c_fcntl_read :: CInt -> CInt -> IO CInt
- c_fcntl_write :: CInt -> CInt -> CLong -> IO CInt
- c_fcntl_lock :: CInt -> CInt -> Ptr CFLock -> IO CInt
- c_fork :: IO CPid
- c_link :: CString -> CString -> IO CInt
- c_mkfifo :: CString -> CMode -> IO CInt
- c_sigemptyset :: Ptr CSigset -> IO CInt
- c_sigaddset :: Ptr CSigset -> CInt -> IO CInt
- c_sigprocmask :: CInt -> Ptr CSigset -> Ptr CSigset -> IO CInt
- c_tcgetattr :: CInt -> Ptr CTermios -> IO CInt
- c_tcsetattr :: CInt -> CInt -> Ptr CTermios -> IO CInt
- c_waitpid :: CPid -> Ptr CInt -> CInt -> IO CPid
- o_RDONLY :: CInt
- o_WRONLY :: CInt
- o_RDWR :: CInt
- o_APPEND :: CInt
- o_CREAT :: CInt
- o_EXCL :: CInt
- o_TRUNC :: CInt
- o_NOCTTY :: CInt
- o_NONBLOCK :: CInt
- o_BINARY :: CInt
- c_s_isreg :: CMode -> CInt
- c_s_ischr :: CMode -> CInt
- c_s_isblk :: CMode -> CInt
- c_s_isdir :: CMode -> CInt
- c_s_isfifo :: CMode -> CInt
- s_isreg :: CMode -> Bool
- s_ischr :: CMode -> Bool
- s_isblk :: CMode -> Bool
- s_isdir :: CMode -> Bool
- s_isfifo :: CMode -> Bool
- sizeof_stat :: Int
- st_mtime :: Ptr CStat -> IO CTime
- st_size :: Ptr CStat -> IO COff
- st_mode :: Ptr CStat -> IO CMode
- st_dev :: Ptr CStat -> IO CDev
- st_ino :: Ptr CStat -> IO CIno
- const_echo :: CInt
- const_tcsanow :: CInt
- const_icanon :: CInt
- const_vmin :: CInt
- const_vtime :: CInt
- const_sigttou :: CInt
- const_sig_block :: CInt
- const_sig_setmask :: CInt
- const_f_getfl :: CInt
- const_f_setfl :: CInt
- const_f_setfd :: CInt
- const_fd_cloexec :: CLong
- sizeof_termios :: Int
- sizeof_sigset_t :: Int
- c_lflag :: Ptr CTermios -> IO CTcflag
- poke_c_lflag :: Ptr CTermios -> CTcflag -> IO ()
- ptr_c_cc :: Ptr CTermios -> IO (Ptr Word8)
- s_issock :: CMode -> Bool
- c_s_issock :: CMode -> CInt
- dEFAULT_BUFFER_SIZE :: Int
- sEEK_CUR :: CInt
- sEEK_SET :: CInt
- sEEK_END :: CInt
Documentation
data CSigaction Source #
statGetType :: Ptr CStat -> IO IODeviceType Source #
peekFilePathLen :: CStringLen -> IO FilePath Source #
checkForInteriorNuls :: FilePath -> CStringLen -> IO () Source #
Check an encoded FilePath
for internal NUL octets as these are
disallowed in POSIX filepaths. See #13660.
throwInternalNulError :: FilePath -> IO a Source #
setCloseOnExec :: FD -> IO () Source #
c_interruptible_open :: CFilePath -> CInt -> CMode -> IO CInt Source #
The same as c_safe_open
, but an interruptible operation
as described in Control.Exception—it respects uninterruptibleMask
but not mask
.
We want to be able to interrupt an openFile call if it's expensive (NFS, FUSE, etc.), and we especially need to be able to interrupt a blocking open call. See #17912.
Since: base-4.16.0.0
hostIsThreaded :: Bool Source #
Consult the RTS to find whether it is threaded.
Since: base-4.16.0.0
rtsIsThreaded_ :: Int Source #
Since: base-4.16.0.0
o_NONBLOCK :: CInt Source #
c_s_isfifo :: CMode -> CInt Source #
sizeof_stat :: Int Source #
const_echo :: CInt Source #
const_tcsanow :: CInt Source #
const_icanon :: CInt Source #
const_vmin :: CInt Source #
const_vtime :: CInt Source #
const_sigttou :: CInt Source #
const_f_getfl :: CInt Source #
const_f_setfl :: CInt Source #
const_f_setfd :: CInt Source #
sizeof_termios :: Int Source #
c_s_issock :: CMode -> CInt Source #