0 | module System.Posix.Socket
2 | import System.Posix.Socket.Prim as P
4 | import public System.Posix.Socket.Struct
5 | import public System.Posix.Socket.Types
6 | import public System.Posix.File.ReadRes
8 | parameters {auto has : Has Errno es}
14 | socket : (d : Domain) -> SockType -> f es (Socket d)
15 | socket d t = elift1 $
P.socket d t
22 | listen : Socket d -> (backlog : Bits32) -> f es ()
23 | listen s b = elift1 $
P.listen s b
29 | accept : Socket d -> f es (Socket d)
30 | accept s = elift1 $
P.accept s
34 | bind_ : {d : _} -> Socket d -> Sockaddr d -> f es ()
35 | bind_ s a = elift1 $
P.bind_ s a
39 | connect_ : {d : _} -> Socket d -> Sockaddr d -> f es ()
40 | connect_ s a = elift1 $
P.connect_ s a
44 | bind : {d : _} -> Socket d -> Addr d -> f es ()
45 | bind s a = elift1 $
P.bind s a
49 | connect : {d : _} -> Socket d -> Addr d -> f es ()
50 | connect s a = elift1 $
P.connect s a
57 | -> {auto frp : FromPtr r}
61 | recvPtr s r cp fs = elift1 $
P.recvPtr s r cp fs
69 | -> {auto frp : FromPtr r}
74 | recvFromPtr s r cp sf a = elift1 $
P.recvFromPtr s r cp sf a
81 | -> {auto frb : FromBuf r}
85 | recv s r n fs = elift1 $
P.recv s r n fs
93 | -> {auto frb : FromBuf r}
98 | recvFrom s r n sf a = elift1 $
P.recvFrom s r n sf a
103 | -> {auto tob : ToBuf r}
109 | sendto s r f a = elift1 $
P.sendto s r f a
114 | getpeername_ : {d : _} -> Socket d -> Sockaddr d -> f es ()
115 | getpeername_ s a = elift1 $
P.getpeername_ s a
120 | getsockname_ : {d : _} -> Socket d -> Sockaddr d -> f es ()
121 | getsockname_ s a = elift1 $
P.getsockname_ s a
125 | getpeername : {d : _} -> Socket d -> f es (Addr d)
126 | getpeername s = elift1 $
P.getpeername s
129 | getsockname : {d : _} -> Socket d -> f es (Addr d)
130 | getsockname s = elift1 $
P.getsockname s
134 | setNoDelay : Socket d -> Bool -> f es ()
135 | setNoDelay s b = elift1 $
P.setNoDelay s b
139 | setReuseAddress : Socket d -> Bool -> f es ()
140 | setReuseAddress s b = elift1 $
P.setReuseAddress s b
148 | setLinger : Socket d -> Maybe Bits32 -> f es ()
149 | setLinger s t = elift1 $
P.setLinger s t