| 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 |
System.Posix.Internals
Description
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
- 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_open :: CFilePath -> CInt -> CMode -> IO CInt
- c_interruptible_open :: CFilePath -> CInt -> CMode -> IO CInt
- c_interruptible_open_ :: CFilePath -> CInt -> CMode -> IO CInt
- hostIsThreaded :: Bool
- rtsIsThreaded_ :: Int
- c_safe_open :: CFilePath -> CInt -> CMode -> IO CInt
- c_safe_open_ :: CFilePath -> CInt -> CMode -> IO CInt
- c_fstat :: CInt -> Ptr CStat -> IO CInt
- lstat :: CFilePath -> Ptr CStat -> 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_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_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 #
fdFileSize :: FD -> IO Integer #
fileType :: FilePath -> IO IODeviceType #
fdType :: FD -> IO IODeviceType #
statGetType :: Ptr CStat -> IO IODeviceType #
newFilePath :: FilePath -> IO CString #
peekFilePath :: CString -> IO FilePath #
peekFilePathLen :: CStringLen -> IO FilePath #
setNonBlockingFD :: FD -> Bool -> IO () #
setCloseOnExec :: FD -> IO () #
c_interruptible_open :: CFilePath -> CInt -> CMode -> IO CInt #
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.
hostIsThreaded :: Bool #
Consult the RTS to find whether it is threaded.
rtsIsThreaded_ :: Int #
o_NONBLOCK :: CInt #
c_s_isfifo :: CMode -> CInt #
sizeof_stat :: Int #
const_echo :: CInt #
const_tcsanow :: CInt #
const_icanon :: CInt #
const_vmin :: CInt #
const_vtime :: CInt #
const_sigttou :: CInt #
const_sig_block :: CInt #
const_f_getfl :: CInt #
const_f_setfl :: CInt #
const_f_setfd :: CInt #
sizeof_termios :: Int #
sizeof_sigset_t :: Int #
c_s_issock :: CMode -> CInt #