0 | module System.Posix.Timer
4 | import System.Posix.Timer.Prim as P
6 | import public Data.C.Integer
7 | import public System.Posix.Errno
8 | import public System.Posix.Timer.Types
9 | import public System.Posix.Time
18 | clock : HasIO io => io ClockT
19 | clock = primIO P.clock
34 | setTimer : Has Errno es => EIO1 f => Which -> Timerval -> f es ()
35 | setTimer w t = elift1 (P.setTimer w t)
39 | getTimer : Has Errno es => EIO1 f => Which -> f es Timerval
40 | getTimer w = elift1 (P.getTimer w)
49 | alarm : HasIO io => UInt -> io UInt
50 | alarm u = primIO (P.alarm u)
54 | getTime : Has Errno es => EIO1 f => (c : ClockId) -> f es (IClock c)
55 | getTime c = elift1 (P.getTime c)
59 | getResolution : Has Errno es => EIO1 f => (c : ClockId) -> f es (IClock c)
60 | getResolution c = elift1 (P.getResolution c)
65 | nanosleep : Has Errno es => EIO1 f => (dur : Clock Monotonic) -> f es ()
66 | nanosleep cl = elift1 (P.nanosleep cl)