0 | module System.UV.Raw.Loop
2 | import System.UV.Raw.Pointer
3 | import System.UV.Raw.Util
5 | import public System.UV.Data.RunMode
13 | %foreign (idris_uv "uv_default_loop")
14 | prim__uv_default_loop : PrimIO (Ptr Loop)
16 | %foreign (idris_uv "uv_loop_init")
17 | prim__uv_loop_init : Ptr Loop -> PrimIO Int32
19 | %foreign (idris_uv "uv_loop_close")
20 | prim__uv_loop_close : Ptr Loop -> PrimIO Int32
22 | %foreign (idris_uv "uv_stop")
23 | prim__uv_stop : Ptr Loop -> PrimIO ()
25 | %foreign (idris_uv "uv_loop_alive")
26 | prim__uv_loop_alive : Ptr Loop -> PrimIO Int32
28 | covering %foreign (idris_uv "uv_run")
29 | prim__uv_run : Ptr Loop -> Bits32 -> PrimIO Int32
35 | parameters {auto has : HasIO io}
38 | uv_default_loop : io (Ptr Loop)
39 | uv_default_loop = primIO prim__uv_default_loop
41 | export %inline covering
42 | uv_run : Ptr Loop -> Bits32 -> io Int32
43 | uv_run p b = primIO $
prim__uv_run p b
45 | export %inline covering
46 | uv_loop_init : Ptr Loop -> io Int32
47 | uv_loop_init p = primIO $
prim__uv_loop_init p
50 | uv_loop_close : Ptr Loop -> io Int32
51 | uv_loop_close p = primIO $
prim__uv_loop_close p
54 | uv_stop : Ptr Loop -> io ()
55 | uv_stop p = primIO $
prim__uv_stop p
58 | uv_loop_alive : Ptr Loop -> io Bool
59 | uv_loop_alive p = int32ToBool <$> primIO (prim__uv_loop_alive p)