0 | module System.UV.Work
 1 |
 2 | import System.UV.Loop
 3 | import System.UV.Pointer
 4 | import System.UV.Raw.Util
 5 |
 6 | %default total
 7 |
 8 | %foreign (idris_uv "uv_async_init")
 9 | prim__uv_async_init :
10 |      Ptr Loop
11 |   -> Ptr Async
12 |   -> (Ptr Async -> PrimIO ())
13 |   -> PrimIO Int32
14 |
15 | %foreign (idris_uv "uv_async_send")
16 | prim__uv_async_send : Ptr Async -> PrimIO Int32
17 |
18 | export %inline
19 | uv_async_init : Ptr Loop -> Ptr Async -> (Ptr Async -> IO ()) -> IO Int32
20 | uv_async_init pl pa cb =
21 |   primIO $ prim__uv_async_init pl pa (\p => toPrim $ cb p)
22 |
23 | export %inline
24 | uv_async_send : Ptr Async -> IO Int32
25 | uv_async_send pa = primIO $ prim__uv_async_send pa
26 |
27 |