{-# LINE 1 "Foundation/System/Bindings/Time.hsc" #-}
-- |
-- Module      :  Foundation.System.Bindings.Time
-- Maintainer  :  Haskell foundation
--
{-# LANGUAGE CApiFFI #-}

module Foundation.System.Bindings.Time where

import Basement.Compat.Base
import Basement.Compat.C.Types
import Basement.Types.OffsetSize





type CClockId = CInt
data CTimeSpec
data CTimeVal
data CTimeZone

size_CTimeSpec :: CSize
size_CTimeSpec :: CSize
size_CTimeSpec = CSize
16
{-# LINE 24 "Foundation/System/Bindings/Time.hsc" #-}

ofs_CTimeSpec_Seconds :: Offset Word8
ofs_CTimeSpec_Seconds :: Offset Word8
ofs_CTimeSpec_Seconds = Int -> Offset Word8
forall ty. Int -> Offset ty
Offset ((Int
0))
{-# LINE 27 "Foundation/System/Bindings/Time.hsc" #-}

ofs_CTimeSpec_NanoSeconds :: Offset Word8
ofs_CTimeSpec_NanoSeconds :: Offset Word8
ofs_CTimeSpec_NanoSeconds = Int -> Offset Word8
forall ty. Int -> Offset ty
Offset ((Int
8))
{-# LINE 30 "Foundation/System/Bindings/Time.hsc" #-}

size_CTimeVal :: CSize
size_CTimeVal :: CSize
size_CTimeVal = CSize
16
{-# LINE 33 "Foundation/System/Bindings/Time.hsc" #-}

size_CTimeZone :: CSize
size_CTimeZone :: CSize
size_CTimeZone = CSize
8
{-# LINE 36 "Foundation/System/Bindings/Time.hsc" #-}

size_CTimeT :: CSize
size_CTimeT :: CSize
size_CTimeT = CSize
8
{-# LINE 39 "Foundation/System/Bindings/Time.hsc" #-}

------------------------------------------------------------------------

{-# LINE 49 "Foundation/System/Bindings/Time.hsc" #-}


sysTime_CLOCK_REALTIME :: CClockId

{-# LINE 55 "Foundation/System/Bindings/Time.hsc" #-}
sysTime_CLOCK_REALTIME :: CClockId
sysTime_CLOCK_REALTIME = (CClockId
0)
{-# LINE 56 "Foundation/System/Bindings/Time.hsc" #-}

{-# LINE 57 "Foundation/System/Bindings/Time.hsc" #-}

sysTime_CLOCK_MONOTONIC :: CClockId

{-# LINE 62 "Foundation/System/Bindings/Time.hsc" #-}
sysTime_CLOCK_MONOTONIC :: CClockId
sysTime_CLOCK_MONOTONIC = (CClockId
1)
{-# LINE 63 "Foundation/System/Bindings/Time.hsc" #-}

{-# LINE 64 "Foundation/System/Bindings/Time.hsc" #-}

sysTime_CLOCK_PROCESS_CPUTIME_ID :: CClockId

{-# LINE 69 "Foundation/System/Bindings/Time.hsc" #-}
sysTime_CLOCK_PROCESS_CPUTIME_ID :: CClockId
sysTime_CLOCK_PROCESS_CPUTIME_ID = (CClockId
2)
{-# LINE 70 "Foundation/System/Bindings/Time.hsc" #-}

{-# LINE 71 "Foundation/System/Bindings/Time.hsc" #-}

sysTime_CLOCK_THREAD_CPUTIME_ID :: CClockId

{-# LINE 76 "Foundation/System/Bindings/Time.hsc" #-}
sysTime_CLOCK_THREAD_CPUTIME_ID :: CClockId
sysTime_CLOCK_THREAD_CPUTIME_ID = (CClockId
3)
{-# LINE 77 "Foundation/System/Bindings/Time.hsc" #-}

{-# LINE 78 "Foundation/System/Bindings/Time.hsc" #-}


{-# LINE 80 "Foundation/System/Bindings/Time.hsc" #-}
sysTime_CLOCK_MONOTONIC_RAW :: CClockId
sysTime_CLOCK_MONOTONIC_RAW :: CClockId
sysTime_CLOCK_MONOTONIC_RAW = (CClockId
4)
{-# LINE 82 "Foundation/System/Bindings/Time.hsc" #-}

{-# LINE 83 "Foundation/System/Bindings/Time.hsc" #-}


{-# LINE 85 "Foundation/System/Bindings/Time.hsc" #-}
sysTime_CLOCK_REALTIME_COARSE :: CClockId
sysTime_CLOCK_REALTIME_COARSE :: CClockId
sysTime_CLOCK_REALTIME_COARSE = (CClockId
5)
{-# LINE 87 "Foundation/System/Bindings/Time.hsc" #-}

{-# LINE 88 "Foundation/System/Bindings/Time.hsc" #-}


{-# LINE 93 "Foundation/System/Bindings/Time.hsc" #-}


{-# LINE 95 "Foundation/System/Bindings/Time.hsc" #-}
sysTime_CLOCK_BOOTTIME :: CClockId
sysTime_CLOCK_BOOTTIME :: CClockId
sysTime_CLOCK_BOOTTIME = (CClockId
7)
{-# LINE 97 "Foundation/System/Bindings/Time.hsc" #-}

{-# LINE 98 "Foundation/System/Bindings/Time.hsc" #-}


{-# LINE 100 "Foundation/System/Bindings/Time.hsc" #-}
sysTime_CLOCK_REALTIME_ALARM :: CClockId
sysTime_CLOCK_REALTIME_ALARM :: CClockId
sysTime_CLOCK_REALTIME_ALARM = (CClockId
8)
{-# LINE 102 "Foundation/System/Bindings/Time.hsc" #-}

{-# LINE 103 "Foundation/System/Bindings/Time.hsc" #-}


{-# LINE 105 "Foundation/System/Bindings/Time.hsc" #-}
sysTime_CLOCK_BOOTTIME_ALARM :: CClockId
sysTime_CLOCK_BOOTTIME_ALARM :: CClockId
sysTime_CLOCK_BOOTTIME_ALARM = (CClockId
9)
{-# LINE 107 "Foundation/System/Bindings/Time.hsc" #-}

{-# LINE 108 "Foundation/System/Bindings/Time.hsc" #-}


{-# LINE 110 "Foundation/System/Bindings/Time.hsc" #-}
sysTime_CLOCK_TAI :: CClockId
sysTime_CLOCK_TAI :: CClockId
sysTime_CLOCK_TAI = (CClockId
11)
{-# LINE 112 "Foundation/System/Bindings/Time.hsc" #-}

{-# LINE 113 "Foundation/System/Bindings/Time.hsc" #-}


{-# LINE 120 "Foundation/System/Bindings/Time.hsc" #-}
foreign import capi unsafe "time.h clock_getres"
    sysTimeClockGetRes :: CClockId -> Ptr CTimeSpec -> IO CInt
foreign import capi unsafe "time.h clock_gettime"
    sysTimeClockGetTime :: CClockId -> Ptr CTimeSpec -> IO CInt

{-# LINE 125 "Foundation/System/Bindings/Time.hsc" #-}

foreign import capi unsafe "sys/time.h gettimeofday"
    sysTimeGetTimeOfDay :: Ptr CTimeVal -> Ptr CTimeZone -> IO CInt