{-# OPTIONS -fno-implicit-prelude #-}
--- ---------------------------------------------------------------------------
--- $Id: Posix.hs,v 1.1 2002/02/05 17:32:26 simonmar Exp $
+-----------------------------------------------------------------------------
+-- |
+-- Module : GHC.Posix
+-- Copyright : (c) The University of Glasgow, 1992-2002
+-- License : see libraries/base/LICENSE
+--
+-- Maintainer : cvs-ghc@haskell.org
+-- Stability : internal
+-- Portability : non-portable
--
-- POSIX support layer for the standard libraries
--
-- Non-posix compliant in order to support the following features:
-- * S_ISSOCK (no sockets in POSIX)
+--
+-----------------------------------------------------------------------------
module GHC.Posix where
foreign import ccall unsafe "chdir"
c_chdir :: CString -> IO CInt
-foreign import ccall unsafe "chown"
- c_chown :: CString -> CUid -> CGid -> IO CInt
-
foreign import ccall unsafe "close"
c_close :: CInt -> IO CInt
foreign import ccall unsafe "dup2"
c_dup2 :: CInt -> CInt -> IO CInt
-foreign import ccall unsafe "fpathconf"
- c_fpathconf :: CInt -> CInt -> IO CLong
-
foreign import ccall unsafe "fstat"
c_fstat :: CInt -> Ptr CStat -> IO CInt
foreign import ccall unsafe "isatty"
c_isatty :: CInt -> IO CInt
-foreign import ccall unsafe "link"
- c_link :: CString -> CString -> IO CInt
-
foreign import ccall unsafe "lseek"
c_lseek :: CInt -> COff -> CInt -> IO COff
foreign import ccall unsafe "__hscore_mkdir"
mkdir :: CString -> CInt -> IO CInt
-foreign import ccall unsafe "mkfifo"
- c_mkfifo :: CString -> CMode -> IO CInt
-
-foreign import ccall unsafe "pathconf"
- c_pathconf :: CString -> CInt -> IO CLong
-
-foreign import ccall unsafe "pipe"
- c_pipe :: Ptr CInt -> IO CInt
-
foreign import ccall unsafe "read"
c_read :: CInt -> Ptr CChar -> CSize -> IO CSsize
foreign import ccall unsafe "umask"
c_umask :: CMode -> IO CMode
-foreign import ccall unsafe "utime"
- c_utime :: CString -> Ptr CUtimbuf -> IO CMode
-
foreign import ccall unsafe "write"
c_write :: CInt -> Ptr CChar -> CSize -> IO CSsize
+foreign import ccall unsafe "unlink"
+ c_unlink :: CString -> IO CInt
+
#ifndef mingw32_TARGET_OS
foreign import ccall unsafe "fcntl"
c_fcntl_read :: CInt -> CInt -> IO CInt
foreign import ccall unsafe "fork"
c_fork :: IO CPid
+foreign import ccall unsafe "fpathconf"
+ c_fpathconf :: CInt -> CInt -> IO CLong
+
foreign import ccall unsafe "__hscore_sigemptyset"
c_sigemptyset :: Ptr CSigset -> IO ()
-foreign import ccall unsafe "sigaddset"
- c_sigaddset :: Ptr CSigset -> CInt -> IO ()
+foreign import ccall unsafe "link"
+ c_link :: CString -> CString -> IO CInt
+
+foreign import ccall unsafe "mkfifo"
+ c_mkfifo :: CString -> CMode -> IO CInt
+
+foreign import ccall unsafe "pathconf"
+ c_pathconf :: CString -> CInt -> IO CLong
+
+foreign import ccall unsafe "pipe"
+ c_pipe :: Ptr CInt -> IO CInt
+
+foreign import ccall unsafe "__hscore_sigaddset"
+ c_sigaddset :: Ptr CSigset -> CInt -> IO CInt
foreign import ccall unsafe "sigprocmask"
c_sigprocmask :: CInt -> Ptr CSigset -> Ptr CSigset -> IO ()
foreign import ccall unsafe "uname"
c_uname :: Ptr CUtsname -> IO CInt
-foreign import ccall unsafe "unlink"
- c_unlink :: CString -> IO CInt
+foreign import ccall unsafe "utime"
+ c_utime :: CString -> Ptr CUtimbuf -> IO CMode
foreign import ccall unsafe "waitpid"
c_waitpid :: CPid -> Ptr CInt -> CInt -> IO CPid
foreign import ccall unsafe "__hscore_st_size" st_size :: Ptr CStat -> IO COff
foreign import ccall unsafe "__hscore_st_mode" st_mode :: Ptr CStat -> IO CMode
-foreign import ccall unsafe "__hscore_lflag" c_lflag :: Ptr CTermios -> IO CTcflag
-foreign import ccall unsafe "__hscore_poke_lflag" poke_c_lflag :: Ptr CTermios -> CTcflag -> IO ()
-foreign import ccall unsafe "__hscore_ptr_c_cc" ptr_c_cc :: Ptr CTermios -> IO (Ptr Word8)
-
foreign import ccall unsafe "__hscore_echo" const_echo :: CInt
foreign import ccall unsafe "__hscore_tcsanow" const_tcsanow :: CInt
foreign import ccall unsafe "__hscore_icanon" const_icanon :: CInt
#ifndef mingw32_TARGET_OS
foreign import ccall unsafe "__hscore_sizeof_termios" sizeof_termios :: Int
foreign import ccall unsafe "__hscore_sizeof_sigset_t" sizeof_sigset_t :: Int
+
+foreign import ccall unsafe "__hscore_lflag" c_lflag :: Ptr CTermios -> IO CTcflag
+foreign import ccall unsafe "__hscore_poke_lflag" poke_c_lflag :: Ptr CTermios -> CTcflag -> IO ()
+foreign import ccall unsafe "__hscore_ptr_c_cc" ptr_c_cc :: Ptr CTermios -> IO (Ptr Word8)
#endif
#ifndef mingw32_TARGET_OS