5 | module System.UV.Raw.Timer
7 | import System.UV.Raw.Callback
8 | import System.UV.Raw.Handle
9 | import System.UV.Raw.Loop
10 | import System.UV.Raw.Pointer
11 | import System.UV.Raw.Util
19 | %foreign (idris_uv "uv_timer_init")
20 | prim__uv_timer_init : Ptr Loop -> Ptr Timer -> PrimIO Int32
22 | %foreign (idris_uv "uv_timer_start")
23 | prim__uv_timer_start : Ptr Timer -> AnyPtr -> Bits64 -> Bits64 -> PrimIO Int32
25 | %foreign (idris_uv "uv_timer_stop")
26 | prim__uv_timer_stop : Ptr Timer -> PrimIO Int32
28 | %foreign (idris_uv "uv_timer_set_repeat")
29 | prim__uv_timer_set_repeat : Ptr Timer -> Bits64 -> PrimIO ()
31 | %foreign (idris_uv "uv_timer_get_repeat")
32 | prim__uv_timer_get_repeat : Ptr Timer -> PrimIO Bits64
34 | %foreign (idris_uv "uv_timer_get_due_in")
35 | prim__uv_timer_get_due_in : Ptr Timer -> PrimIO Bits64
37 | %foreign (idris_uv "uv_timer_again")
38 | prim__uv_timer_again : Ptr Timer -> PrimIO Int32
44 | parameters {auto has : HasIO io}
48 | uv_timer_init : Ptr Loop -> Ptr Timer -> io Int32
49 | uv_timer_init ptr ti = primIO $
prim__uv_timer_init ptr ti
60 | -> (Ptr Timer -> IO ())
61 | -> (timeout,repeat : Bits64)
63 | uv_timer_start p f t r = do
65 | uv_handle_set_data p cb
66 | primIO $
prim__uv_timer_start p cb t r
70 | uv_timer_stop : Ptr Timer -> io Int32
71 | uv_timer_stop ptr = primIO $
prim__uv_timer_stop ptr
77 | uv_timer_again : Ptr Timer -> io Int32
78 | uv_timer_again ptr = primIO $
prim__uv_timer_again ptr
96 | uv_timer_set_repeat : Ptr Timer -> Bits64 -> io ()
97 | uv_timer_set_repeat ptr rep = primIO $
prim__uv_timer_set_repeat ptr rep
101 | uv_timer_get_repeat : Ptr Timer -> io Bits64
102 | uv_timer_get_repeat ptr = primIO $
prim__uv_timer_get_repeat ptr
107 | uv_timer_get_due_in : Ptr Timer -> io Bits64
108 | uv_timer_get_due_in ptr = primIO $
prim__uv_timer_get_due_in ptr