0 | module System.UV.Raw.Pipe
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.Req
7 | import System.UV.Raw.Util
15 | %foreign (idris_uv "uv_pipe_init")
16 | prim__uv_pipe_init : Ptr Loop -> Ptr Pipe -> (ipc : Int32) -> PrimIO Int32
18 | %foreign (idris_uv "uv_pipe_open")
19 | prim__uv_pipe_open : Ptr Pipe -> (file : Int32) -> PrimIO Int32
21 | %foreign (idris_uv "uv_pipe_bind")
22 | prim__uv_pipe_bind : Ptr Pipe -> String -> PrimIO Int32
24 | %foreign (idris_uv "uv_pipe_connect")
25 | prim__uv_pipe_connect : Ptr Connect -> Ptr Pipe -> String -> AnyPtr -> PrimIO ()
27 | %foreign (idris_uv "uv_pipe_getsockname")
28 | prim__uv_pipe_getsockname : Ptr Pipe -> Ptr Char -> Ptr Bits32 -> PrimIO Int32
30 | %foreign (idris_uv "uv_pipe_getpeername")
31 | prim__uv_pipe_getpeername : Ptr Pipe -> Ptr Char -> Ptr Bits32 -> PrimIO Int32
37 | parameters {auto has : HasIO io}
45 | uv_pipe_init : Ptr Loop -> Ptr Pipe -> (ipc : Bool) -> io Int32
46 | uv_pipe_init l p ipc = primIO $
prim__uv_pipe_init l p (boolToInt32 ipc)
53 | uv_pipe_open : Ptr Pipe -> Int32 -> io Int32
54 | uv_pipe_open p f = primIO $
prim__uv_pipe_open p f
66 | uv_pipe_bind : Ptr Pipe -> String -> io Int32
67 | uv_pipe_bind p f = primIO $
prim__uv_pipe_bind p f
83 | -> (Ptr Connect -> Int32 -> IO ())
85 | uv_pipe_connect pp name act = do
86 | pc <- mallocPtr Connect
87 | cb <- ptrIntCB (\x,y => act x y >> freeReq x)
88 | uv_req_set_data pc cb
89 | primIO $
prim__uv_pipe_connect pc pp name cb