{-# LANGUAGE CPP #-} {-| This module makes the operations exported by @System.Posix.Time@ available on all platforms. On POSIX systems it re-exports operations from @System.Posix.Time@, on other platforms it emulates the operations as far as possible. -} module System.PosixCompat.Time ( epochTime ) where #ifndef mingw32_HOST_OS import System.Posix.Time #else import Control.Monad (liftM) import System.Posix.Types (EpochTime) import System.PosixCompat.Internal.Time ( getClockTime, clockTimeToEpochTime ) -- | The portable version of @epochTime@ calls 'getClockTime' to obtain the -- number of seconds that have elapsed since the epoch (Jan 01 00:00:00 GMT -- 1970). epochTime :: IO EpochTime epochTime = liftM clockTimeToEpochTime getClockTime #endif