Moduleghc-internal-10.0.0Haskell2010
GHC.Internal.System.Posix.Internals
POSIX support layer for the standard libraries.
The API of this module is unstable and not meant to be consumed by the general public.
If you absolutely must depend on it, make sure to use a tight upper
bound, e.g., base < 4.X rather than base < 5, because the interface can
change rapidly without much warning.
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
- value puts
- 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
- value fdFileSize
- value fileType
- value fdStat
- value fdType
- value statGetType
- value statGetType_maybe
- value ioe_unknownfiletype
- value fdGetMode
- value withFilePath
- value newFilePath
- value peekFilePath
- value peekFilePathLen
- value checkForInteriorNuls
- value throwInternalNulError
- value setEcho
- value getEcho
- value setCooked
- value tcSetAttr
- value get_saved_termios
- value set_saved_termios
- value setNonBlockingFD
- value setCloseOnExec
- type CFilePath
- value c_interruptible_open
- value c_safe_open
- value hostIsThreaded
- value rtsIsThreaded_
- value c_access
- value c_chmod
- value c_close
- value c_creat
- value c_dup
- value c_dup2
- value c_fstat
- value c_isatty
- value c_lseek
- value lstat
- value c_open
- value c_interruptible_open_
- value c_safe_open_
- value c_openat
- value c_read
- value c_safe_read
- value c_stat
- value c_umask
- value c_write
- value c_safe_write
- value c_ftruncate
- value c_unlink
- value c_getpid
- value c_link
- value c_mkfifo
- value c_pipe
- value c_sigemptyset
- value c_sigaddset
- value c_sigprocmask
- value c_tcgetattr
- value c_tcsetattr
- value c_utime
- value c_waitpid
- value o_RDONLY
- value o_WRONLY
- value o_RDWR
- value o_APPEND
- value o_CREAT
- value o_EXCL
- value o_TRUNC
- value o_NOCTTY
- value o_NONBLOCK
- value o_BINARY
- value c_s_isreg
- value c_s_ischr
- value c_s_isblk
- value c_s_isdir
- value c_s_isfifo
- value s_isreg
- value s_ischr
- value s_isblk
- value s_isdir
- value s_isfifo
- value sizeof_stat
- value st_mtime
- value st_size
- value st_mode
- value st_dev
- value st_ino
- value const_echo
- value const_tcsanow
- value const_icanon
- value const_vmin
- value const_vtime
- value const_sigttou
- value const_sig_block
- value const_sig_setmask
- value const_f_getfl
- value const_f_setfl
- value const_f_setfd
- value const_fd_cloexec
- value sizeof_termios
- value sizeof_sigset_t
- value c_lflag
- value poke_c_lflag
- value ptr_c_cc
- value s_issock
- value c_s_issock
- value dEFAULT_BUFFER_SIZE
- value sEEK_CUR
- value sEEK_SET
- value sEEK_END
- value c_fcntl_read
- value c_fcntl_write
- value c_fcntl_lock
- Packageghc-internal-10.0.0
- Exports126
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceInternals.hs
Return a known device type or throw an exception if the device type is unknown.
Unlike statGetType, statGetType_maybe will not throw an exception
if the CStat refers to a unknown device type.
Check an encoded FilePath for internal NUL octets as these are disallowed in POSIX filepaths. See #13660.
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.
Consult the RTS to find whether it is threaded.