[project @ 2002-09-25 15:24:07 by simonmar]
authorsimonmar <unknown>
Wed, 25 Sep 2002 15:24:07 +0000 (15:24 +0000)
committersimonmar <unknown>
Wed, 25 Sep 2002 15:24:07 +0000 (15:24 +0000)
Re-instate the checking for the values of errno constants at configure
time.  The problem with doing it using foreign calls is simply that
this tickles a bad case in the code gen machinery, which in this case
results in an extra 10-20k of goop ending up in pretty much every
binary, and it impacts GC performance too.

This has some portability implications, but the situation is no worse
than before.  To reliably cross-compile for a new platform you need to
build a set of .hc files for the libraries using a config.h generated on
the *target* machine.  (at some point we'll formalise the
cross-compilation story, but that's another thing on the todo list...)

Foreign/C/Error.hs
cbits/errno.c
include/HsBase.h
include/errUtils.h [deleted file]

index 84fd82c..72cb512 100644 (file)
@@ -153,104 +153,104 @@ eOK, e2BIG, eACCES, eADDRINUSE, eADDRNOTAVAIL, eADV, eAFNOSUPPORT, eAGAIN,
 -- configure 
 --
 eOK             = Errno 0
-e2BIG           = Errno (cCONST_E2BIG)
-eACCES         = Errno (cCONST_EACCES)
-eADDRINUSE     = Errno (cCONST_EADDRINUSE)
-eADDRNOTAVAIL  = Errno (cCONST_EADDRNOTAVAIL)
-eADV           = Errno (cCONST_EADV)
-eAFNOSUPPORT   = Errno (cCONST_EAFNOSUPPORT)
-eAGAIN         = Errno (cCONST_EAGAIN)
-eALREADY       = Errno (cCONST_EALREADY)
-eBADF          = Errno (cCONST_EBADF)
-eBADMSG                = Errno (cCONST_EBADMSG)
-eBADRPC                = Errno (cCONST_EBADRPC)
-eBUSY          = Errno (cCONST_EBUSY)
-eCHILD         = Errno (cCONST_ECHILD)
-eCOMM          = Errno (cCONST_ECOMM)
-eCONNABORTED   = Errno (cCONST_ECONNABORTED)
-eCONNREFUSED   = Errno (cCONST_ECONNREFUSED)
-eCONNRESET     = Errno (cCONST_ECONNRESET)
-eDEADLK                = Errno (cCONST_EDEADLK)
-eDESTADDRREQ   = Errno (cCONST_EDESTADDRREQ)
-eDIRTY         = Errno (cCONST_EDIRTY)
-eDOM           = Errno (cCONST_EDOM)
-eDQUOT         = Errno (cCONST_EDQUOT)
-eEXIST         = Errno (cCONST_EEXIST)
-eFAULT         = Errno (cCONST_EFAULT)
-eFBIG          = Errno (cCONST_EFBIG)
-eFTYPE         = Errno (cCONST_EFTYPE)
-eHOSTDOWN      = Errno (cCONST_EHOSTDOWN)
-eHOSTUNREACH   = Errno (cCONST_EHOSTUNREACH)
-eIDRM          = Errno (cCONST_EIDRM)
-eILSEQ         = Errno (cCONST_EILSEQ)
-eINPROGRESS    = Errno (cCONST_EINPROGRESS)
-eINTR          = Errno (cCONST_EINTR)
-eINVAL         = Errno (cCONST_EINVAL)
-eIO            = Errno (cCONST_EIO)
-eISCONN                = Errno (cCONST_EISCONN)
-eISDIR         = Errno (cCONST_EISDIR)
-eLOOP          = Errno (cCONST_ELOOP)
-eMFILE         = Errno (cCONST_EMFILE)
-eMLINK         = Errno (cCONST_EMLINK)
-eMSGSIZE       = Errno (cCONST_EMSGSIZE)
-eMULTIHOP      = Errno (cCONST_EMULTIHOP)
-eNAMETOOLONG   = Errno (cCONST_ENAMETOOLONG)
-eNETDOWN       = Errno (cCONST_ENETDOWN)
-eNETRESET      = Errno (cCONST_ENETRESET)
-eNETUNREACH    = Errno (cCONST_ENETUNREACH)
-eNFILE         = Errno (cCONST_ENFILE)
-eNOBUFS                = Errno (cCONST_ENOBUFS)
-eNODATA                = Errno (cCONST_ENODATA)
-eNODEV         = Errno (cCONST_ENODEV)
-eNOENT         = Errno (cCONST_ENOENT)
-eNOEXEC                = Errno (cCONST_ENOEXEC)
-eNOLCK         = Errno (cCONST_ENOLCK)
-eNOLINK                = Errno (cCONST_ENOLINK)
-eNOMEM         = Errno (cCONST_ENOMEM)
-eNOMSG         = Errno (cCONST_ENOMSG)
-eNONET         = Errno (cCONST_ENONET)
-eNOPROTOOPT    = Errno (cCONST_ENOPROTOOPT)
-eNOSPC         = Errno (cCONST_ENOSPC)
-eNOSR          = Errno (cCONST_ENOSR)
-eNOSTR         = Errno (cCONST_ENOSTR)
-eNOSYS         = Errno (cCONST_ENOSYS)
-eNOTBLK                = Errno (cCONST_ENOTBLK)
-eNOTCONN       = Errno (cCONST_ENOTCONN)
-eNOTDIR                = Errno (cCONST_ENOTDIR)
-eNOTEMPTY      = Errno (cCONST_ENOTEMPTY)
-eNOTSOCK       = Errno (cCONST_ENOTSOCK)
-eNOTTY         = Errno (cCONST_ENOTTY)
-eNXIO          = Errno (cCONST_ENXIO)
-eOPNOTSUPP     = Errno (cCONST_EOPNOTSUPP)
-ePERM          = Errno (cCONST_EPERM)
-ePFNOSUPPORT   = Errno (cCONST_EPFNOSUPPORT)
-ePIPE          = Errno (cCONST_EPIPE)
-ePROCLIM       = Errno (cCONST_EPROCLIM)
-ePROCUNAVAIL   = Errno (cCONST_EPROCUNAVAIL)
-ePROGMISMATCH  = Errno (cCONST_EPROGMISMATCH)
-ePROGUNAVAIL   = Errno (cCONST_EPROGUNAVAIL)
-ePROTO         = Errno (cCONST_EPROTO)
-ePROTONOSUPPORT = Errno (cCONST_EPROTONOSUPPORT)
-ePROTOTYPE     = Errno (cCONST_EPROTOTYPE)
-eRANGE         = Errno (cCONST_ERANGE)
-eREMCHG                = Errno (cCONST_EREMCHG)
-eREMOTE                = Errno (cCONST_EREMOTE)
-eROFS          = Errno (cCONST_EROFS)
-eRPCMISMATCH   = Errno (cCONST_ERPCMISMATCH)
-eRREMOTE       = Errno (cCONST_ERREMOTE)
-eSHUTDOWN      = Errno (cCONST_ESHUTDOWN)
-eSOCKTNOSUPPORT = Errno (cCONST_ESOCKTNOSUPPORT)
-eSPIPE         = Errno (cCONST_ESPIPE)
-eSRCH          = Errno (cCONST_ESRCH)
-eSRMNT         = Errno (cCONST_ESRMNT)
-eSTALE         = Errno (cCONST_ESTALE)
-eTIME          = Errno (cCONST_ETIME)
-eTIMEDOUT      = Errno (cCONST_ETIMEDOUT)
-eTOOMANYREFS   = Errno (cCONST_ETOOMANYREFS)
-eTXTBSY                = Errno (cCONST_ETXTBSY)
-eUSERS         = Errno (cCONST_EUSERS)
-eWOULDBLOCK    = Errno (cCONST_EWOULDBLOCK)
-eXDEV          = Errno (cCONST_EXDEV)
+e2BIG           = Errno (CCONST_E2BIG)
+eACCES         = Errno (CCONST_EACCES)
+eADDRINUSE     = Errno (CCONST_EADDRINUSE)
+eADDRNOTAVAIL  = Errno (CCONST_EADDRNOTAVAIL)
+eADV           = Errno (CCONST_EADV)
+eAFNOSUPPORT   = Errno (CCONST_EAFNOSUPPORT)
+eAGAIN         = Errno (CCONST_EAGAIN)
+eALREADY       = Errno (CCONST_EALREADY)
+eBADF          = Errno (CCONST_EBADF)
+eBADMSG                = Errno (CCONST_EBADMSG)
+eBADRPC                = Errno (CCONST_EBADRPC)
+eBUSY          = Errno (CCONST_EBUSY)
+eCHILD         = Errno (CCONST_ECHILD)
+eCOMM          = Errno (CCONST_ECOMM)
+eCONNABORTED   = Errno (CCONST_ECONNABORTED)
+eCONNREFUSED   = Errno (CCONST_ECONNREFUSED)
+eCONNRESET     = Errno (CCONST_ECONNRESET)
+eDEADLK                = Errno (CCONST_EDEADLK)
+eDESTADDRREQ   = Errno (CCONST_EDESTADDRREQ)
+eDIRTY         = Errno (CCONST_EDIRTY)
+eDOM           = Errno (CCONST_EDOM)
+eDQUOT         = Errno (CCONST_EDQUOT)
+eEXIST         = Errno (CCONST_EEXIST)
+eFAULT         = Errno (CCONST_EFAULT)
+eFBIG          = Errno (CCONST_EFBIG)
+eFTYPE         = Errno (CCONST_EFTYPE)
+eHOSTDOWN      = Errno (CCONST_EHOSTDOWN)
+eHOSTUNREACH   = Errno (CCONST_EHOSTUNREACH)
+eIDRM          = Errno (CCONST_EIDRM)
+eILSEQ         = Errno (CCONST_EILSEQ)
+eINPROGRESS    = Errno (CCONST_EINPROGRESS)
+eINTR          = Errno (CCONST_EINTR)
+eINVAL         = Errno (CCONST_EINVAL)
+eIO            = Errno (CCONST_EIO)
+eISCONN                = Errno (CCONST_EISCONN)
+eISDIR         = Errno (CCONST_EISDIR)
+eLOOP          = Errno (CCONST_ELOOP)
+eMFILE         = Errno (CCONST_EMFILE)
+eMLINK         = Errno (CCONST_EMLINK)
+eMSGSIZE       = Errno (CCONST_EMSGSIZE)
+eMULTIHOP      = Errno (CCONST_EMULTIHOP)
+eNAMETOOLONG   = Errno (CCONST_ENAMETOOLONG)
+eNETDOWN       = Errno (CCONST_ENETDOWN)
+eNETRESET      = Errno (CCONST_ENETRESET)
+eNETUNREACH    = Errno (CCONST_ENETUNREACH)
+eNFILE         = Errno (CCONST_ENFILE)
+eNOBUFS                = Errno (CCONST_ENOBUFS)
+eNODATA                = Errno (CCONST_ENODATA)
+eNODEV         = Errno (CCONST_ENODEV)
+eNOENT         = Errno (CCONST_ENOENT)
+eNOEXEC                = Errno (CCONST_ENOEXEC)
+eNOLCK         = Errno (CCONST_ENOLCK)
+eNOLINK                = Errno (CCONST_ENOLINK)
+eNOMEM         = Errno (CCONST_ENOMEM)
+eNOMSG         = Errno (CCONST_ENOMSG)
+eNONET         = Errno (CCONST_ENONET)
+eNOPROTOOPT    = Errno (CCONST_ENOPROTOOPT)
+eNOSPC         = Errno (CCONST_ENOSPC)
+eNOSR          = Errno (CCONST_ENOSR)
+eNOSTR         = Errno (CCONST_ENOSTR)
+eNOSYS         = Errno (CCONST_ENOSYS)
+eNOTBLK                = Errno (CCONST_ENOTBLK)
+eNOTCONN       = Errno (CCONST_ENOTCONN)
+eNOTDIR                = Errno (CCONST_ENOTDIR)
+eNOTEMPTY      = Errno (CCONST_ENOTEMPTY)
+eNOTSOCK       = Errno (CCONST_ENOTSOCK)
+eNOTTY         = Errno (CCONST_ENOTTY)
+eNXIO          = Errno (CCONST_ENXIO)
+eOPNOTSUPP     = Errno (CCONST_EOPNOTSUPP)
+ePERM          = Errno (CCONST_EPERM)
+ePFNOSUPPORT   = Errno (CCONST_EPFNOSUPPORT)
+ePIPE          = Errno (CCONST_EPIPE)
+ePROCLIM       = Errno (CCONST_EPROCLIM)
+ePROCUNAVAIL   = Errno (CCONST_EPROCUNAVAIL)
+ePROGMISMATCH  = Errno (CCONST_EPROGMISMATCH)
+ePROGUNAVAIL   = Errno (CCONST_EPROGUNAVAIL)
+ePROTO         = Errno (CCONST_EPROTO)
+ePROTONOSUPPORT = Errno (CCONST_EPROTONOSUPPORT)
+ePROTOTYPE     = Errno (CCONST_EPROTOTYPE)
+eRANGE         = Errno (CCONST_ERANGE)
+eREMCHG                = Errno (CCONST_EREMCHG)
+eREMOTE                = Errno (CCONST_EREMOTE)
+eROFS          = Errno (CCONST_EROFS)
+eRPCMISMATCH   = Errno (CCONST_ERPCMISMATCH)
+eRREMOTE       = Errno (CCONST_ERREMOTE)
+eSHUTDOWN      = Errno (CCONST_ESHUTDOWN)
+eSOCKTNOSUPPORT = Errno (CCONST_ESOCKTNOSUPPORT)
+eSPIPE         = Errno (CCONST_ESPIPE)
+eSRCH          = Errno (CCONST_ESRCH)
+eSRMNT         = Errno (CCONST_ESRMNT)
+eSTALE         = Errno (CCONST_ESTALE)
+eTIME          = Errno (CCONST_ETIME)
+eTIMEDOUT      = Errno (CCONST_ETIMEDOUT)
+eTOOMANYREFS   = Errno (CCONST_ETOOMANYREFS)
+eTXTBSY                = Errno (CCONST_ETXTBSY)
+eUSERS         = Errno (CCONST_EUSERS)
+eWOULDBLOCK    = Errno (CCONST_EWOULDBLOCK)
+eXDEV          = Errno (CCONST_EXDEV)
 
 -- checks whether the given errno value is supported on the current
 -- architecture
@@ -514,106 +514,3 @@ errnoToIOError loc errno maybeHdl maybeName = unsafePerformIO $ do
 #endif
 
 foreign import ccall unsafe "string.h" strerror :: Errno -> IO (Ptr CChar)
-
-
--- Dreadfully tedious callouts to wrappers which define  the
--- actual values for the error codes.
-foreign import ccall unsafe "prel_error_E2BIG" cCONST_E2BIG :: CInt
-foreign import ccall unsafe "prel_error_EACCES" cCONST_EACCES :: CInt
-foreign import ccall unsafe "prel_error_EADDRINUSE" cCONST_EADDRINUSE :: CInt
-foreign import ccall unsafe "prel_error_EADDRNOTAVAIL" cCONST_EADDRNOTAVAIL :: CInt
-foreign import ccall unsafe "prel_error_EADV" cCONST_EADV :: CInt
-foreign import ccall unsafe "prel_error_EAFNOSUPPORT" cCONST_EAFNOSUPPORT :: CInt
-foreign import ccall unsafe "prel_error_EAGAIN" cCONST_EAGAIN :: CInt
-foreign import ccall unsafe "prel_error_EALREADY" cCONST_EALREADY :: CInt
-foreign import ccall unsafe "prel_error_EBADF" cCONST_EBADF :: CInt
-foreign import ccall unsafe "prel_error_EBADMSG" cCONST_EBADMSG :: CInt
-foreign import ccall unsafe "prel_error_EBADRPC" cCONST_EBADRPC :: CInt
-foreign import ccall unsafe "prel_error_EBUSY" cCONST_EBUSY :: CInt
-foreign import ccall unsafe "prel_error_ECHILD" cCONST_ECHILD :: CInt
-foreign import ccall unsafe "prel_error_ECOMM" cCONST_ECOMM :: CInt
-foreign import ccall unsafe "prel_error_ECONNABORTED" cCONST_ECONNABORTED :: CInt
-foreign import ccall unsafe "prel_error_ECONNREFUSED" cCONST_ECONNREFUSED :: CInt
-foreign import ccall unsafe "prel_error_ECONNRESET" cCONST_ECONNRESET :: CInt
-foreign import ccall unsafe "prel_error_EDEADLK" cCONST_EDEADLK :: CInt
-foreign import ccall unsafe "prel_error_EDESTADDRREQ" cCONST_EDESTADDRREQ :: CInt
-foreign import ccall unsafe "prel_error_EDIRTY" cCONST_EDIRTY :: CInt
-foreign import ccall unsafe "prel_error_EDOM" cCONST_EDOM :: CInt
-foreign import ccall unsafe "prel_error_EDQUOT" cCONST_EDQUOT :: CInt
-foreign import ccall unsafe "prel_error_EEXIST" cCONST_EEXIST :: CInt
-foreign import ccall unsafe "prel_error_EFAULT" cCONST_EFAULT :: CInt
-foreign import ccall unsafe "prel_error_EFBIG" cCONST_EFBIG :: CInt
-foreign import ccall unsafe "prel_error_EFTYPE" cCONST_EFTYPE :: CInt
-foreign import ccall unsafe "prel_error_EHOSTDOWN" cCONST_EHOSTDOWN :: CInt
-foreign import ccall unsafe "prel_error_EHOSTUNREACH" cCONST_EHOSTUNREACH :: CInt
-foreign import ccall unsafe "prel_error_EIDRM" cCONST_EIDRM :: CInt
-foreign import ccall unsafe "prel_error_EILSEQ" cCONST_EILSEQ :: CInt
-foreign import ccall unsafe "prel_error_EINPROGRESS" cCONST_EINPROGRESS :: CInt
-foreign import ccall unsafe "prel_error_EINTR" cCONST_EINTR :: CInt
-foreign import ccall unsafe "prel_error_EINVAL" cCONST_EINVAL :: CInt
-foreign import ccall unsafe "prel_error_EIO" cCONST_EIO :: CInt
-foreign import ccall unsafe "prel_error_EISCONN" cCONST_EISCONN :: CInt
-foreign import ccall unsafe "prel_error_EISDIR" cCONST_EISDIR :: CInt
-foreign import ccall unsafe "prel_error_ELOOP" cCONST_ELOOP :: CInt
-foreign import ccall unsafe "prel_error_EMFILE" cCONST_EMFILE :: CInt
-foreign import ccall unsafe "prel_error_EMLINK" cCONST_EMLINK :: CInt
-foreign import ccall unsafe "prel_error_EMSGSIZE" cCONST_EMSGSIZE :: CInt
-foreign import ccall unsafe "prel_error_EMULTIHOP" cCONST_EMULTIHOP :: CInt
-foreign import ccall unsafe "prel_error_ENAMETOOLONG" cCONST_ENAMETOOLONG :: CInt
-foreign import ccall unsafe "prel_error_ENETDOWN" cCONST_ENETDOWN :: CInt
-foreign import ccall unsafe "prel_error_ENETRESET" cCONST_ENETRESET :: CInt
-foreign import ccall unsafe "prel_error_ENETUNREACH" cCONST_ENETUNREACH :: CInt
-foreign import ccall unsafe "prel_error_ENFILE" cCONST_ENFILE :: CInt
-foreign import ccall unsafe "prel_error_ENOBUFS" cCONST_ENOBUFS :: CInt
-foreign import ccall unsafe "prel_error_ENODATA" cCONST_ENODATA :: CInt
-foreign import ccall unsafe "prel_error_ENODEV" cCONST_ENODEV :: CInt
-foreign import ccall unsafe "prel_error_ENOENT" cCONST_ENOENT :: CInt
-foreign import ccall unsafe "prel_error_ENOEXEC" cCONST_ENOEXEC :: CInt
-foreign import ccall unsafe "prel_error_ENOLCK" cCONST_ENOLCK :: CInt
-foreign import ccall unsafe "prel_error_ENOLINK" cCONST_ENOLINK :: CInt
-foreign import ccall unsafe "prel_error_ENOMEM" cCONST_ENOMEM :: CInt
-foreign import ccall unsafe "prel_error_ENOMSG" cCONST_ENOMSG :: CInt
-foreign import ccall unsafe "prel_error_ENONET" cCONST_ENONET :: CInt
-foreign import ccall unsafe "prel_error_ENOPROTOOPT" cCONST_ENOPROTOOPT :: CInt
-foreign import ccall unsafe "prel_error_ENOSPC" cCONST_ENOSPC :: CInt
-foreign import ccall unsafe "prel_error_ENOSR" cCONST_ENOSR :: CInt
-foreign import ccall unsafe "prel_error_ENOSTR" cCONST_ENOSTR :: CInt
-foreign import ccall unsafe "prel_error_ENOSYS" cCONST_ENOSYS :: CInt
-foreign import ccall unsafe "prel_error_ENOTBLK" cCONST_ENOTBLK :: CInt
-foreign import ccall unsafe "prel_error_ENOTCONN" cCONST_ENOTCONN :: CInt
-foreign import ccall unsafe "prel_error_ENOTDIR" cCONST_ENOTDIR :: CInt
-foreign import ccall unsafe "prel_error_ENOTEMPTY" cCONST_ENOTEMPTY :: CInt
-foreign import ccall unsafe "prel_error_ENOTSOCK" cCONST_ENOTSOCK :: CInt
-foreign import ccall unsafe "prel_error_ENOTTY" cCONST_ENOTTY :: CInt
-foreign import ccall unsafe "prel_error_ENXIO" cCONST_ENXIO :: CInt
-foreign import ccall unsafe "prel_error_EOPNOTSUPP" cCONST_EOPNOTSUPP :: CInt
-foreign import ccall unsafe "prel_error_EPERM" cCONST_EPERM :: CInt
-foreign import ccall unsafe "prel_error_EPFNOSUPPORT" cCONST_EPFNOSUPPORT :: CInt
-foreign import ccall unsafe "prel_error_EPIPE" cCONST_EPIPE :: CInt
-foreign import ccall unsafe "prel_error_EPROCLIM" cCONST_EPROCLIM :: CInt
-foreign import ccall unsafe "prel_error_EPROCUNAVAIL" cCONST_EPROCUNAVAIL :: CInt
-foreign import ccall unsafe "prel_error_EPROGMISMATCH" cCONST_EPROGMISMATCH :: CInt
-foreign import ccall unsafe "prel_error_EPROGUNAVAIL" cCONST_EPROGUNAVAIL :: CInt
-foreign import ccall unsafe "prel_error_EPROTO" cCONST_EPROTO :: CInt
-foreign import ccall unsafe "prel_error_EPROTONOSUPPORT" cCONST_EPROTONOSUPPORT :: CInt
-foreign import ccall unsafe "prel_error_EPROTOTYPE" cCONST_EPROTOTYPE :: CInt
-foreign import ccall unsafe "prel_error_ERANGE" cCONST_ERANGE :: CInt
-foreign import ccall unsafe "prel_error_EREMCHG" cCONST_EREMCHG :: CInt
-foreign import ccall unsafe "prel_error_EREMOTE" cCONST_EREMOTE :: CInt
-foreign import ccall unsafe "prel_error_EROFS" cCONST_EROFS :: CInt
-foreign import ccall unsafe "prel_error_ERPCMISMATCH" cCONST_ERPCMISMATCH :: CInt
-foreign import ccall unsafe "prel_error_ERREMOTE" cCONST_ERREMOTE :: CInt
-foreign import ccall unsafe "prel_error_ESHUTDOWN" cCONST_ESHUTDOWN :: CInt
-foreign import ccall unsafe "prel_error_ESOCKTNOSUPPORT" cCONST_ESOCKTNOSUPPORT :: CInt
-foreign import ccall unsafe "prel_error_ESPIPE" cCONST_ESPIPE :: CInt
-foreign import ccall unsafe "prel_error_ESRCH" cCONST_ESRCH :: CInt
-foreign import ccall unsafe "prel_error_ESRMNT" cCONST_ESRMNT :: CInt
-foreign import ccall unsafe "prel_error_ESTALE" cCONST_ESTALE :: CInt
-foreign import ccall unsafe "prel_error_ETIME" cCONST_ETIME :: CInt
-foreign import ccall unsafe "prel_error_ETIMEDOUT" cCONST_ETIMEDOUT :: CInt
-foreign import ccall unsafe "prel_error_ETOOMANYREFS" cCONST_ETOOMANYREFS :: CInt
-foreign import ccall unsafe "prel_error_ETXTBSY" cCONST_ETXTBSY :: CInt
-foreign import ccall unsafe "prel_error_EUSERS" cCONST_EUSERS :: CInt
-foreign import ccall unsafe "prel_error_EWOULDBLOCK" cCONST_EWOULDBLOCK :: CInt
-foreign import ccall unsafe "prel_error_EXDEV" cCONST_EXDEV :: CInt
-
index f7c513c..04eae07 100644 (file)
@@ -1,7 +1,7 @@
 /* 
  * (c) The University of Glasgow, 2000-2001
  *
- * $Id: errno.c,v 1.4 2002/02/07 11:13:30 simonmar Exp $
+ * $Id: errno.c,v 1.5 2002/09/25 15:24:07 simonmar Exp $
  *
  * GHC Error Number Conversion
  */
 int *ghcErrno(void) {
   return &errno;
 }
-
-
-/* Wrappers for the individual error codes - boring */
-#define ErrCode(x) HsInt prel_error_##x() { return x; }
-#define ErrCode2(x,y) HsInt prel_error_##x() { return y; }
-
-#ifdef E2BIG
-ErrCode(E2BIG)
-#else
-ErrCode2(E2BIG,-1)
-#endif
-
-#ifdef EACCES
-ErrCode(EACCES)
-#else
-ErrCode2(EACCES,-1)
-#endif
-
-#ifdef EADDRINUSE
-ErrCode(EADDRINUSE)
-#else
-ErrCode2(EADDRINUSE,-1)
-#endif
-
-#ifdef EADDRNOTAVAIL
-ErrCode(EADDRNOTAVAIL)
-#else
-ErrCode2(EADDRNOTAVAIL,-1)
-#endif
-
-#ifdef EADV
-ErrCode(EADV)
-#else
-ErrCode2(EADV,-1)
-#endif
-
-#ifdef EAFNOSUPPORT
-ErrCode(EAFNOSUPPORT)
-#else
-ErrCode2(EAFNOSUPPORT,-1)
-#endif
-
-#ifdef EAGAIN
-ErrCode(EAGAIN)
-#else
-ErrCode2(EAGAIN,-1)
-#endif
-
-#ifdef EALREADY
-ErrCode(EALREADY)
-#else
-ErrCode2(EALREADY,-1)
-#endif
-
-#ifdef EBADF
-ErrCode(EBADF)
-#else
-ErrCode2(EBADF,-1)
-#endif
-
-#ifdef EBADMSG
-ErrCode(EBADMSG)
-#else
-ErrCode2(EBADMSG,-1)
-#endif
-
-#ifdef EBADRPC
-ErrCode(EBADRPC)
-#else
-ErrCode2(EBADRPC,-1)
-#endif
-
-#ifdef EBUSY
-ErrCode(EBUSY)
-#else
-ErrCode2(EBUSY,-1)
-#endif
-
-#ifdef ECHILD
-ErrCode(ECHILD)
-#else
-ErrCode2(ECHILD,-1)
-#endif
-
-#ifdef ECOMM
-ErrCode(ECOMM)
-#else
-ErrCode2(ECOMM,-1)
-#endif
-
-#ifdef ECONNABORTED
-ErrCode(ECONNABORTED)
-#else
-ErrCode2(ECONNABORTED,-1)
-#endif
-
-#ifdef ECONNREFUSED
-ErrCode(ECONNREFUSED)
-#else
-ErrCode2(ECONNREFUSED,-1)
-#endif
-
-#ifdef ECONNRESET
-ErrCode(ECONNRESET)
-#else
-ErrCode2(ECONNRESET,-1)
-#endif
-
-#ifdef EDEADLK
-ErrCode(EDEADLK)
-#else
-ErrCode2(EDEADLK,-1)
-#endif
-
-#ifdef EDESTADDRREQ
-ErrCode(EDESTADDRREQ)
-#else
-ErrCode2(EDESTADDRREQ,-1)
-#endif
-
-#ifdef EDIRTY
-ErrCode(EDIRTY)
-#else
-ErrCode2(EDIRTY,-1)
-#endif
-
-#ifdef EDOM
-ErrCode(EDOM)
-#else
-ErrCode2(EDOM,-1)
-#endif
-
-#ifdef EDQUOT
-ErrCode(EDQUOT)
-#else
-ErrCode2(EDQUOT,-1)
-#endif
-
-#ifdef EEXIST
-ErrCode(EEXIST)
-#else
-ErrCode2(EEXIST,-1)
-#endif
-
-#ifdef EFAULT
-ErrCode(EFAULT)
-#else
-ErrCode2(EFAULT,-1)
-#endif
-
-#ifdef EFBIG
-ErrCode(EFBIG)
-#else
-ErrCode2(EFBIG,-1)
-#endif
-
-#ifdef EFTYPE
-ErrCode(EFTYPE)
-#else
-ErrCode2(EFTYPE,-1)
-#endif
-
-#ifdef EHOSTDOWN
-ErrCode(EHOSTDOWN)
-#else
-ErrCode2(EHOSTDOWN,-1)
-#endif
-
-#ifdef EHOSTUNREACH
-ErrCode(EHOSTUNREACH)
-#else
-ErrCode2(EHOSTUNREACH,-1)
-#endif
-
-#ifdef EIDRM
-ErrCode(EIDRM)
-#else
-ErrCode2(EIDRM,-1)
-#endif
-
-#ifdef EILSEQ
-ErrCode(EILSEQ)
-#else
-ErrCode2(EILSEQ,-1)
-#endif
-
-#ifdef EINPROGRESS
-ErrCode(EINPROGRESS)
-#else
-ErrCode2(EINPROGRESS,-1)
-#endif
-
-#ifdef EINTR
-ErrCode(EINTR)
-#else
-ErrCode2(EINTR,-1)
-#endif
-
-#ifdef EINVAL
-ErrCode(EINVAL)
-#else
-ErrCode2(EINVAL,-1)
-#endif
-
-#ifdef EIO
-ErrCode(EIO)
-#else
-ErrCode2(EIO,-1)
-#endif
-
-#ifdef EISCONN
-ErrCode(EISCONN)
-#else
-ErrCode2(EISCONN,-1)
-#endif
-
-#ifdef EISDIR
-ErrCode(EISDIR)
-#else
-ErrCode2(EISDIR,-1)
-#endif
-
-#ifdef ELOOP
-ErrCode(ELOOP)
-#else
-ErrCode2(ELOOP,-1)
-#endif
-
-#ifdef EMFILE
-ErrCode(EMFILE)
-#else
-ErrCode2(EMFILE,-1)
-#endif
-
-#ifdef EMLINK
-ErrCode(EMLINK)
-#else
-ErrCode2(EMLINK,-1)
-#endif
-
-#ifdef EMSGSIZE
-ErrCode(EMSGSIZE)
-#else
-ErrCode2(EMSGSIZE,-1)
-#endif
-
-#ifdef EMULTIHOP
-ErrCode(EMULTIHOP)
-#else
-ErrCode2(EMULTIHOP,-1)
-#endif
-
-#ifdef ENAMETOOLONG
-ErrCode(ENAMETOOLONG)
-#else
-ErrCode2(ENAMETOOLONG,-1)
-#endif
-
-#ifdef ENETDOWN
-ErrCode(ENETDOWN)
-#else
-ErrCode2(ENETDOWN,-1)
-#endif
-
-#ifdef ENETRESET
-ErrCode(ENETRESET)
-#else
-ErrCode2(ENETRESET,-1)
-#endif
-
-#ifdef ENETUNREACH
-ErrCode(ENETUNREACH)
-#else
-ErrCode2(ENETUNREACH,-1)
-#endif
-
-#ifdef ENFILE
-ErrCode(ENFILE)
-#else
-ErrCode2(ENFILE,-1)
-#endif
-
-#ifdef ENOBUFS
-ErrCode(ENOBUFS)
-#else
-ErrCode2(ENOBUFS,-1)
-#endif
-
-#ifdef ENODATA
-ErrCode(ENODATA)
-#else
-ErrCode2(ENODATA,-1)
-#endif
-
-#ifdef ENODEV
-ErrCode(ENODEV)
-#else
-ErrCode2(ENODEV,-1)
-#endif
-
-#ifdef ENOENT
-ErrCode(ENOENT)
-#else
-ErrCode2(ENOENT,-1)
-#endif
-
-#ifdef ENOEXEC
-ErrCode(ENOEXEC)
-#else
-ErrCode2(ENOEXEC,-1)
-#endif
-
-#ifdef ENOLCK
-ErrCode(ENOLCK)
-#else
-ErrCode2(ENOLCK,-1)
-#endif
-
-#ifdef ENOLINK
-ErrCode(ENOLINK)
-#else
-ErrCode2(ENOLINK,-1)
-#endif
-
-#ifdef ENOMEM
-ErrCode(ENOMEM)
-#else
-ErrCode2(ENOMEM,-1)
-#endif
-
-#ifdef ENOMSG
-ErrCode(ENOMSG)
-#else
-ErrCode2(ENOMSG,-1)
-#endif
-
-#ifdef ENONET
-ErrCode(ENONET)
-#else
-ErrCode2(ENONET,-1)
-#endif
-
-#ifdef ENOPROTOOPT
-ErrCode(ENOPROTOOPT)
-#else
-ErrCode2(ENOPROTOOPT,-1)
-#endif
-
-#ifdef ENOSPC
-ErrCode(ENOSPC)
-#else
-ErrCode2(ENOSPC,-1)
-#endif
-
-#ifdef ENOSR
-ErrCode(ENOSR)
-#else
-ErrCode2(ENOSR,-1)
-#endif
-
-#ifdef ENOSTR
-ErrCode(ENOSTR)
-#else
-ErrCode2(ENOSTR,-1)
-#endif
-
-#ifdef ENOSYS
-ErrCode(ENOSYS)
-#else
-ErrCode2(ENOSYS,-1)
-#endif
-
-#ifdef ENOTBLK
-ErrCode(ENOTBLK)
-#else
-ErrCode2(ENOTBLK,-1)
-#endif
-
-#ifdef ENOTCONN
-ErrCode(ENOTCONN)
-#else
-ErrCode2(ENOTCONN,-1)
-#endif
-
-#ifdef ENOTDIR
-ErrCode(ENOTDIR)
-#else
-ErrCode2(ENOTDIR,-1)
-#endif
-
-#ifdef ENOTEMPTY
-ErrCode(ENOTEMPTY)
-#else
-ErrCode2(ENOTEMPTY,-1)
-#endif
-
-#ifdef ENOTSOCK
-ErrCode(ENOTSOCK)
-#else
-ErrCode2(ENOTSOCK,-1)
-#endif
-
-#ifdef ENOTTY
-ErrCode(ENOTTY)
-#else
-ErrCode2(ENOTTY,-1)
-#endif
-
-#ifdef ENXIO
-ErrCode(ENXIO)
-#else
-ErrCode2(ENXIO,-1)
-#endif
-
-#ifdef EOPNOTSUPP
-ErrCode(EOPNOTSUPP)
-#else
-ErrCode2(EOPNOTSUPP,-1)
-#endif
-
-#ifdef EPERM
-ErrCode(EPERM)
-#else
-ErrCode2(EPERM,-1)
-#endif
-
-#ifdef EPFNOSUPPORT
-ErrCode(EPFNOSUPPORT)
-#else
-ErrCode2(EPFNOSUPPORT,-1)
-#endif
-
-#ifdef EPIPE
-ErrCode(EPIPE)
-#else
-ErrCode2(EPIPE,-1)
-#endif
-
-#ifdef EPROCLIM
-ErrCode(EPROCLIM)
-#else
-ErrCode2(EPROCLIM,-1)
-#endif
-
-#ifdef EPROCUNAVAIL
-ErrCode(EPROCUNAVAIL)
-#else
-ErrCode2(EPROCUNAVAIL,-1)
-#endif
-
-#ifdef EPROGMISMATCH
-ErrCode(EPROGMISMATCH)
-#else
-ErrCode2(EPROGMISMATCH,-1)
-#endif
-
-#ifdef EPROGUNAVAIL
-ErrCode(EPROGUNAVAIL)
-#else
-ErrCode2(EPROGUNAVAIL,-1)
-#endif
-
-#ifdef EPROTO
-ErrCode(EPROTO)
-#else
-ErrCode2(EPROTO,-1)
-#endif
-
-#ifdef EPROTONOSUPPORT
-ErrCode(EPROTONOSUPPORT)
-#else
-ErrCode2(EPROTONOSUPPORT,-1)
-#endif
-
-#ifdef EPROTOTYPE
-ErrCode(EPROTOTYPE)
-#else
-ErrCode2(EPROTOTYPE,-1)
-#endif
-
-#ifdef ERANGE
-ErrCode(ERANGE)
-#else
-ErrCode2(ERANGE,-1)
-#endif
-
-#ifdef EREMCHG
-ErrCode(EREMCHG)
-#else
-ErrCode2(EREMCHG,-1)
-#endif
-
-#ifdef EREMOTE
-ErrCode(EREMOTE)
-#else
-ErrCode2(EREMOTE,-1)
-#endif
-
-#ifdef EROFS
-ErrCode(EROFS)
-#else
-ErrCode2(EROFS,-1)
-#endif
-
-#ifdef ERPCMISMATCH
-ErrCode(ERPCMISMATCH)
-#else
-ErrCode2(ERPCMISMATCH,-1)
-#endif
-
-#ifdef ERREMOTE
-ErrCode(ERREMOTE)
-#else
-ErrCode2(ERREMOTE,-1)
-#endif
-
-#ifdef ESHUTDOWN
-ErrCode(ESHUTDOWN)
-#else
-ErrCode2(ESHUTDOWN,-1)
-#endif
-
-#ifdef ESOCKTNOSUPPORT
-ErrCode(ESOCKTNOSUPPORT)
-#else
-ErrCode2(ESOCKTNOSUPPORT,-1)
-#endif
-
-#ifdef ESPIPE
-ErrCode(ESPIPE)
-#else
-ErrCode2(ESPIPE,-1)
-#endif
-
-#ifdef ESRCH
-ErrCode(ESRCH)
-#else
-ErrCode2(ESRCH,-1)
-#endif
-
-#ifdef ESRMNT
-ErrCode(ESRMNT)
-#else
-ErrCode2(ESRMNT,-1)
-#endif
-
-#ifdef ESTALE
-ErrCode(ESTALE)
-#else
-ErrCode2(ESTALE,-1)
-#endif
-
-#ifdef ETIME
-ErrCode(ETIME)
-#else
-ErrCode2(ETIME,-1)
-#endif
-
-#ifdef ETIMEDOUT
-ErrCode(ETIMEDOUT)
-#else
-ErrCode2(ETIMEDOUT,-1)
-#endif
-
-#ifdef ETOOMANYREFS
-ErrCode(ETOOMANYREFS)
-#else
-ErrCode2(ETOOMANYREFS,-1)
-#endif
-
-#ifdef ETXTBSY
-ErrCode(ETXTBSY)
-#else
-ErrCode2(ETXTBSY,-1)
-#endif
-
-#ifdef EUSERS
-ErrCode(EUSERS)
-#else
-ErrCode2(EUSERS,-1)
-#endif
-
-#ifdef EWOULDBLOCK
-ErrCode(EWOULDBLOCK)
-#else
-ErrCode2(EWOULDBLOCK,-1)
-#endif
-
-#ifdef EXDEV
-ErrCode(EXDEV)
-#else
-ErrCode2(EXDEV,-1)
-#endif
-
index a127e86..cc64b4a 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: HsBase.h,v 1.13 2002/09/06 14:34:15 simonmar Exp $
+ * $Id: HsBase.h,v 1.14 2002/09/25 15:24:07 simonmar Exp $
  *
  * (c) The University of Glasgow 2001-2002
  *
@@ -97,7 +97,6 @@
 #endif
 #include "lockFile.h"
 #include "dirUtils.h"
-#include "errUtils.h"
 
 #if defined(__MINGW32__)
 #include <io.h>
diff --git a/include/errUtils.h b/include/errUtils.h
deleted file mode 100644 (file)
index 0578e98..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/* 
- * (c) The University of Glasgow, 2000-2002
- *
- * GHC Error Number Conversion - prototypes.
- */
-#ifndef __ERRUTILS_H__
-#define __ERRUTILS_H__
-
-#define ErrCodeProto(x) extern HsInt prel_error_##x()
-
-ErrCodeProto(E2BIG);
-ErrCodeProto(EACCES);
-ErrCodeProto(EADDRINUSE);
-ErrCodeProto(EADDRNOTAVAIL);
-ErrCodeProto(EADV);
-ErrCodeProto(EAFNOSUPPORT);
-ErrCodeProto(EAGAIN);
-ErrCodeProto(EALREADY);
-ErrCodeProto(EBADF);
-ErrCodeProto(EBADMSG);
-ErrCodeProto(EBADRPC);
-ErrCodeProto(EBUSY);
-ErrCodeProto(ECHILD);
-ErrCodeProto(ECOMM);
-ErrCodeProto(ECONNABORTED);
-ErrCodeProto(ECONNREFUSED);
-ErrCodeProto(ECONNRESET);
-ErrCodeProto(EDEADLK);
-ErrCodeProto(EDESTADDRREQ);
-ErrCodeProto(EDIRTY);
-ErrCodeProto(EDOM);
-ErrCodeProto(EDQUOT);
-ErrCodeProto(EEXIST);
-ErrCodeProto(EFAULT);
-ErrCodeProto(EFBIG);
-ErrCodeProto(EFTYPE);
-ErrCodeProto(EHOSTDOWN);
-ErrCodeProto(EHOSTUNREACH);
-ErrCodeProto(EIDRM);
-ErrCodeProto(EILSEQ);
-ErrCodeProto(EINPROGRESS);
-ErrCodeProto(EINTR);
-ErrCodeProto(EINVAL);
-ErrCodeProto(EIO);
-ErrCodeProto(EISCONN);
-ErrCodeProto(EISDIR);
-ErrCodeProto(ELOOP);
-ErrCodeProto(EMFILE);
-ErrCodeProto(EMLINK);
-ErrCodeProto(EMSGSIZE);
-ErrCodeProto(EMULTIHOP);
-ErrCodeProto(ENAMETOOLONG);
-ErrCodeProto(ENETDOWN);
-ErrCodeProto(ENETRESET);
-ErrCodeProto(ENETUNREACH);
-ErrCodeProto(ENFILE);
-ErrCodeProto(ENOBUFS);
-ErrCodeProto(ENODATA);
-ErrCodeProto(ENODEV);
-ErrCodeProto(ENOENT);
-ErrCodeProto(ENOEXEC);
-ErrCodeProto(ENOLCK);
-ErrCodeProto(ENOLINK);
-ErrCodeProto(ENOMEM);
-ErrCodeProto(ENOMSG);
-ErrCodeProto(ENONET);
-ErrCodeProto(ENOPROTOOPT);
-ErrCodeProto(ENOSPC);
-ErrCodeProto(ENOSR);
-ErrCodeProto(ENOSTR);
-ErrCodeProto(ENOSYS);
-ErrCodeProto(ENOTBLK);
-ErrCodeProto(ENOTCONN);
-ErrCodeProto(ENOTDIR);
-ErrCodeProto(ENOTEMPTY);
-ErrCodeProto(ENOTSOCK);
-ErrCodeProto(ENOTTY);
-ErrCodeProto(ENXIO);
-ErrCodeProto(EOPNOTSUPP);
-ErrCodeProto(EPERM);
-ErrCodeProto(EPFNOSUPPORT);
-ErrCodeProto(EPIPE);
-ErrCodeProto(EPROCLIM);
-ErrCodeProto(EPROCUNAVAIL);
-ErrCodeProto(EPROGMISMATCH);
-ErrCodeProto(EPROGUNAVAIL);
-ErrCodeProto(EPROTO);
-ErrCodeProto(EPROTONOSUPPORT);
-ErrCodeProto(EPROTOTYPE);
-ErrCodeProto(ERANGE);
-ErrCodeProto(EREMCHG);
-ErrCodeProto(EREMOTE);
-ErrCodeProto(EROFS);
-ErrCodeProto(ERPCMISMATCH);
-ErrCodeProto(ERREMOTE);
-ErrCodeProto(ESHUTDOWN);
-ErrCodeProto(ESOCKTNOSUPPORT);
-ErrCodeProto(ESPIPE);
-ErrCodeProto(ESRCH);
-ErrCodeProto(ESRMNT);
-ErrCodeProto(ESTALE);
-ErrCodeProto(ETIME);
-ErrCodeProto(ETIMEDOUT);
-ErrCodeProto(ETOOMANYREFS);
-ErrCodeProto(ETXTBSY);
-ErrCodeProto(EUSERS);
-ErrCodeProto(EWOULDBLOCK);
-ErrCodeProto(EXDEV);
-
-#endif /* __ERRUTILS_H__ */