X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=System%2FPosix%2FTypes.hs;h=54fa8b8b23415864f3e1aad1a8a08cd40698158a;hb=5dbe5ff5ebd18cfb7470eb63bb906bba60a195a1;hp=7acb3644378389f20ba8da24f30a81152c40c963;hpb=bccd35aa801c910b7db3f94ac16f2b18bdf9f108;p=haskell-directory.git diff --git a/System/Posix/Types.hs b/System/Posix/Types.hs index 7acb364..54fa8b8 100644 --- a/System/Posix/Types.hs +++ b/System/Posix/Types.hs @@ -1,4 +1,4 @@ -{-# OPTIONS -fno-implicit-prelude #-} +{-# OPTIONS_GHC -fno-implicit-prelude #-} ----------------------------------------------------------------------------- -- | -- Module : System.Posix.Types @@ -13,8 +13,26 @@ -- @\@ C header on a POSIX system. -- ----------------------------------------------------------------------------- - -#include "config.h" +#ifdef __NHC__ +#define HTYPE_DEV_T +#define HTYPE_INO_T +#define HTYPE_MODE_T +#define HTYPE_OFF_T +#define HTYPE_PID_T +#define HTYPE_SSIZE_T +#define HTYPE_GID_T +#define HTYPE_NLINK_T +#define HTYPE_UID_T +#define HTYPE_CC_T +#define HTYPE_SPEED_T +#define HTYPE_TCFLAG_T +#define HTYPE_RLIM_T +#define HTYPE_NLINK_T +#define HTYPE_UID_T +#define HTYPE_GID_T +#else +#include "HsBaseConfig.h" +#endif module System.Posix.Types ( @@ -34,7 +52,7 @@ module System.Posix.Types ( #if defined(HTYPE_PID_T) CPid, #endif -#if defined(HTYPE_SIZE_T) || defined(HTYPE_SSIZE_T) +#if defined(HTYPE_SSIZE_T) CSsize, #endif @@ -84,6 +102,11 @@ module System.Posix.Types ( Limit ) where +#ifdef __NHC__ +import NHC.PosixTypes +import Foreign.C +#else + import Foreign import Foreign.C import Data.Typeable @@ -101,7 +124,6 @@ import GHC.Show import Control.Monad #endif -#include "Typeable.h" #include "CTypes.h" #if defined(HTYPE_DEV_T) @@ -120,11 +142,7 @@ INTEGRAL_TYPE(COff,tyConCOff,"COff",HTYPE_OFF_T) INTEGRAL_TYPE(CPid,tyConCPid,"CPid",HTYPE_PID_T) #endif -#if defined(HTYPE_SIZE_T) -INTEGRAL_TYPE(CSsize,tyConCSsize,"CSsize",HTYPE_SIZE_T) -#endif - -#if defined(HTYPE_SSIZE_T) && !defined(HTYPE_SIZE_T) +#if defined(HTYPE_SSIZE_T) INTEGRAL_TYPE(CSsize,tyConCSsize,"CSsize",HTYPE_SSIZE_T) #endif @@ -168,6 +186,8 @@ type UserID = CUid type GroupID = CGid #endif +#endif /* !__NHC__ */ + type ByteCount = CSize type ClockTick = CClock type EpochTime = CTime