5 | import Network.Socket.Data
10 | %foreign "C:idrnet_socket, libidris2_support, idris_net.h"
12 | prim__idrnet_socket : (domain, type, protocol : Int) -> PrimIO Int
14 | %foreign "C:idrnet_close, libidris2_support, idris_net.h"
16 | prim__idrnet_close : (sockdes : SocketDescriptor) -> PrimIO Int
18 | %foreign "C:idrnet_bind, libidris2_support, idris_net.h"
20 | prim__idrnet_bind : (sockfd : SocketDescriptor) -> (family, socket_type : Int) ->
21 | (host : String) -> (port : Port) -> PrimIO Int
23 | %foreign "C:idrnet_connect, libidris2_support, idris_net.h"
25 | prim__idrnet_connect : (sockfd : SocketDescriptor) -> (family, socket_type : Int) ->
26 | (host : String) -> (port : Port) -> PrimIO Int
28 | %foreign "C:idrnet_listen, libidris2_support, idris_net.h"
30 | prim__idrnet_listen : (sockfd : SocketDescriptor) -> (backlog : Int) -> PrimIO Int
32 | %foreign "C:idrnet_fdopen, libidris2_support, idris_net.h"
34 | prim__idrnet_fdopen : Int -> String -> PrimIO AnyPtr
36 | %foreign "C:idrnet_sockaddr_family, libidris2_support, idris_net.h"
38 | prim__idrnet_sockaddr_family : (sockaddr : AnyPtr) -> PrimIO Int
40 | %foreign "C:idrnet_sockaddr_ipv4, libidris2_support, idris_net.h"
42 | prim__idrnet_sockaddr_ipv4 : (sockaddr : AnyPtr) -> PrimIO String
44 | %foreign "C:idrnet_sockaddr_unix, libidris2_support, idris_net.h"
46 | prim__idrnet_sockaddr_unix : (sockaddr : AnyPtr) -> PrimIO String
48 | %foreign "C:idrnet_sockaddr_ipv4_port, libidris2_support, idris_net.h"
50 | prim__idrnet_sockaddr_ipv4_port : (sockaddr : AnyPtr) -> PrimIO Int
52 | %foreign "C:idrnet_sockaddr_port, libidris2_support, idris_net.h"
54 | prim__idrnet_sockaddr_port : (sockfd : SocketDescriptor) -> PrimIO Int
57 | %foreign "C:idrnet_create_sockaddr, libidris2_support, idris_net.h"
59 | prim__idrnet_create_sockaddr : PrimIO AnyPtr
61 | %foreign "C__collect_safe:idrnet_accept, libidris2_support, idris_net.h"
62 | "C:idrnet_accept, libidris2_support, idris_net.h"
64 | prim__idrnet_accept : (sockfd : SocketDescriptor) -> (sockaddr : AnyPtr) -> PrimIO Int
66 | %foreign "C:idrnet_send, libidris2_support, idris_net.h"
68 | prim__idrnet_send : (sockfd : SocketDescriptor) -> (dataString : String) -> PrimIO Int
70 | %foreign "C:idrnet_send_bytes, libidris2_support, idris_net.h"
72 | prim__idrnet_send_bytes : (sockfd : SocketDescriptor) -> (content : Buffer) -> (nbytes : Int) -> (flags : Bits32) -> PrimIO Int
74 | %foreign "C:idrnet_send_buf, libidris2_support, idris_net.h"
76 | prim__idrnet_send_buf : (sockfd : SocketDescriptor) -> (dataBuffer : AnyPtr) -> (len : Int) -> PrimIO Int
79 | %foreign "C__collect_safe:idrnet_recv, libidris2_support, idris_net.h"
80 | "C:idrnet_recv, libidris2_support, idris_net.h"
82 | prim__idrnet_recv : (sockfd : SocketDescriptor) -> (len : Int) -> PrimIO AnyPtr
84 | %foreign "C:idrnet_recv_bytes, libidris2_support, idris_net.h"
86 | prim__idrnet_recv_bytes : (sockfd : SocketDescriptor) -> (content : Buffer) -> (nbytes : Int) -> (flags : Int) -> PrimIO Int
88 | %foreign "C__collect_safe:idrnet_recv_buf, libidris2_support, idris_net.h"
89 | "C:idrnet_recv_buf, libidris2_support, idris_net.h"
91 | prim__idrnet_recv_buf : (sockfd : SocketDescriptor) -> (buf : AnyPtr) -> (len : Int) -> PrimIO Int
93 | %foreign "C:idrnet_sendto, libidris2_support, idris_net.h"
95 | prim__idrnet_sendto : (sockfd : SocketDescriptor) -> (dataString,host : String) ->
96 | (port : Port) -> (family : Int) -> PrimIO Int
98 | %foreign "C:idrnet_sendto_buf, libidris2_support, idris_net.h"
100 | prim__idrnet_sendto_buf : (sockfd : SocketDescriptor) -> (dataBuf : AnyPtr) ->
101 | (buf_len : Int) -> (host : String) -> (port : Port) ->
102 | (family : Int) -> PrimIO Int
104 | %foreign "C__collect_safe:idrnet_recvfrom, libidris2_support, idris_net.h"
105 | "C:idrnet_recvfrom, libidris2_support, idris_net.h"
107 | prim__idrnet_recvfrom : (sockfd : SocketDescriptor) -> (len : Int) -> PrimIO AnyPtr
109 | %foreign "C__collect_safe:idrnet_recvfrom_buf, libidris2_support, idris_net.h"
110 | "C:idrnet_recvfrom_buf, libidris2_support, idris_net.h"
112 | prim__idrnet_recvfrom_buf : (sockfd : SocketDescriptor) -> (buf : AnyPtr) -> (len : Int) -> PrimIO AnyPtr
114 | %foreign "C:idrnet_get_recv_res, libidris2_support, idris_net.h"
116 | prim__idrnet_get_recv_res : (res_struct : AnyPtr) -> PrimIO Int
118 | %foreign "C:idrnet_get_recv_payload, libidris2_support, idris_net.h"
120 | prim__idrnet_get_recv_payload : (res_struct : AnyPtr) -> PrimIO String
122 | %foreign "C:idrnet_free_recv_struct, libidris2_support, idris_net.h"
124 | prim__idrnet_free_recv_struct : (res_struct : AnyPtr) -> PrimIO ()
126 | %foreign "C:idrnet_get_recvfrom_res, libidris2_support, idris_net.h"
128 | prim__idrnet_get_recvfrom_res : (res_struct : AnyPtr) -> PrimIO Int
130 | %foreign "C:idrnet_get_recvfrom_payload, libidris2_support, idris_net.h"
132 | prim__idrnet_get_recvfrom_payload : (res_struct : AnyPtr) -> PrimIO String
134 | %foreign "C:idrnet_get_recvfrom_sockaddr, libidris2_support, idris_net.h"
136 | prim__idrnet_get_recvfrom_sockaddr : (res_struct : AnyPtr) -> PrimIO AnyPtr
138 | %foreign "C:idrnet_free_recvfrom_struct, libidris2_support, idris_net.h"
140 | prim__idrnet_free_recvfrom_struct : (res_struct : AnyPtr) -> PrimIO ()
143 | %foreign "C:idrnet_geteagain, libidris2_support, idris_net.h"
145 | prim__idrnet_geteagain : PrimIO Int
147 | %foreign "C:idrnet_errno, libidris2_support, idris_net.h"
149 | prim__idrnet_errno : PrimIO Int
151 | %foreign "C:idrnet_peek, libidris2_support, idris_net.h"
153 | prim__idrnet_peek : (ptr : AnyPtr) -> (offset : Int) -> PrimIO Int
155 | %foreign "C:idrnet_poke, libidris2_support, idris_net.h"
157 | prim__idrnet_poke : (ptr : AnyPtr) -> (offset : Int) ->
158 | (val : Int ) -> PrimIO ()