0 | module System.UV.Raw.Idle
 1 |
 2 | import System.UV.Raw.Callback
 3 | import System.UV.Raw.Handle
 4 | import System.UV.Raw.Loop
 5 | import System.UV.Raw.Pointer
 6 | import System.UV.Raw.Util
 7 |
 8 | %default total
 9 |
10 | --------------------------------------------------------------------------------
11 | -- FFI
12 | --------------------------------------------------------------------------------
13 |
14 | %foreign (idris_uv "uv_idle_init")
15 | prim__uv_idle_init : Ptr Loop -> Ptr Idle -> PrimIO Int32
16 |
17 | %foreign (idris_uv "uv_idle_start")
18 | prim__uv_idle_start : Ptr Idle -> AnyPtr -> PrimIO Int32
19 |
20 | %foreign (idris_uv "uv_idle_stop")
21 | prim__uv_idle_stop : Ptr Idle -> PrimIO Int32
22 |
23 | %foreign (idris_uv "uv_prepare_init")
24 | prim__uv_prepare_init : Ptr Loop -> Ptr Prepare -> PrimIO Int32
25 |
26 | %foreign (idris_uv "uv_prepare_start")
27 | prim__uv_prepare_start : Ptr Prepare -> AnyPtr -> PrimIO Int32
28 |
29 | %foreign (idris_uv "uv_prepare_stop")
30 | prim__uv_prepare_stop : Ptr Prepare -> PrimIO Int32
31 |
32 | %foreign (idris_uv "uv_check_init")
33 | prim__uv_check_init : Ptr Loop -> Ptr Check -> PrimIO Int32
34 |
35 | %foreign (idris_uv "uv_check_start")
36 | prim__uv_check_start : Ptr Check -> AnyPtr -> PrimIO Int32
37 |
38 | %foreign (idris_uv "uv_check_stop")
39 | prim__uv_check_stop : Ptr Check -> PrimIO Int32
40 |
41 | --------------------------------------------------------------------------------
42 | -- API
43 | --------------------------------------------------------------------------------
44 |
45 | parameters {auto has : HasIO io}
46 |
47 |   export %inline
48 |   uv_idle_stop : Ptr Idle -> io Int32
49 |   uv_idle_stop h = primIO $ prim__uv_idle_stop h
50 |
51 |   export %inline
52 |   uv_idle_init : Ptr Loop -> Ptr Idle -> io Int32
53 |   uv_idle_init l h = primIO $ prim__uv_idle_init l h
54 |
55 |   export
56 |   uv_idle_start : Ptr Idle -> (Ptr Idle -> IO ()) -> io Int32
57 |   uv_idle_start p f = do
58 |     cb <- ptrCB f
59 |     uv_handle_set_data p cb
60 |     primIO $ prim__uv_idle_start p cb
61 |
62 |   export %inline
63 |   uv_check_stop : Ptr Check -> io Int32
64 |   uv_check_stop h = primIO $ prim__uv_check_stop h
65 |
66 |   export %inline
67 |   uv_check_init : Ptr Loop -> Ptr Check -> io Int32
68 |   uv_check_init l h = primIO $ prim__uv_check_init l h
69 |
70 |   export
71 |   uv_check_start : Ptr Check -> (Ptr Check -> IO ()) -> io Int32
72 |   uv_check_start p f = do
73 |     cb <- ptrCB f
74 |     uv_handle_set_data p cb
75 |     primIO $ prim__uv_check_start p cb
76 |
77 |   export %inline
78 |   uv_prepare_stop : Ptr Prepare -> io Int32
79 |   uv_prepare_stop h = primIO $ prim__uv_prepare_stop h
80 |
81 |   export %inline
82 |   uv_prepare_init : Ptr Loop -> Ptr Prepare -> io Int32
83 |   uv_prepare_init l h = primIO $ prim__uv_prepare_init l h
84 |
85 |   export
86 |   uv_prepare_start : Ptr Prepare -> (Ptr Prepare -> IO ()) -> io Int32
87 |   uv_prepare_start p f = do
88 |     cb <- ptrCB f
89 |     uv_handle_set_data p cb
90 |     primIO $ prim__uv_prepare_start p cb
91 |