aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/socket.h51
1 files changed, 21 insertions, 30 deletions
diff --git a/src/socket.h b/src/socket.h
index 63573de..4adc562 100644
--- a/src/socket.h
+++ b/src/socket.h
@@ -28,51 +28,42 @@
28\*=========================================================================*/ 28\*=========================================================================*/
29#include "timeout.h" 29#include "timeout.h"
30 30
31/* we are lazy... */ 31/* convenient shorthand */
32typedef struct sockaddr SA; 32typedef struct sockaddr SA;
33 33
34/*=========================================================================*\ 34/*=========================================================================*\
35* Functions bellow implement a comfortable platform independent 35* Functions bellow implement a comfortable platform independent
36* interface to sockets 36* interface to sockets
37\*=========================================================================*/ 37\*=========================================================================*/
38int socket_open(void);
39int socket_close(void);
40void socket_destroy(p_socket ps);
41void socket_shutdown(p_socket ps, int how);
42int socket_sendto(p_socket ps, const char *data, size_t count,
43 size_t *sent, SA *addr, socklen_t addr_len, p_timeout tm);
44int socket_recvfrom(p_socket ps, char *data, size_t count,
45 size_t *got, SA *addr, socklen_t *addr_len, p_timeout tm);
46 38
47void socket_setnonblocking(p_socket ps); 39#pragma GCC visibility push(hidden)
48void socket_setblocking(p_socket ps);
49 40
50int socket_waitfd(p_socket ps, int sw, p_timeout tm); 41int socket_waitfd(p_socket ps, int sw, p_timeout tm);
51int socket_select(t_socket n, fd_set *rfds, fd_set *wfds, fd_set *efds, 42int socket_open(void);
52 p_timeout tm); 43int socket_close(void);
53 44void socket_destroy(p_socket ps);
54int socket_connect(p_socket ps, SA *addr, socklen_t addr_len, p_timeout tm); 45int socket_select(t_socket n, fd_set *rfds, fd_set *wfds, fd_set *efds, p_timeout tm);
55int socket_create(p_socket ps, int domain, int type, int protocol); 46int socket_create(p_socket ps, int domain, int type, int protocol);
56int socket_bind(p_socket ps, SA *addr, socklen_t addr_len); 47int socket_bind(p_socket ps, SA *addr, socklen_t addr_len);
57int socket_listen(p_socket ps, int backlog); 48int socket_listen(p_socket ps, int backlog);
58int socket_accept(p_socket ps, p_socket pa, SA *addr, 49void socket_shutdown(p_socket ps, int how);
59 socklen_t *addr_len, p_timeout tm); 50int socket_connect(p_socket ps, SA *addr, socklen_t addr_len, p_timeout tm);
60 51int socket_accept(p_socket ps, p_socket pa, SA *addr, socklen_t *addr_len, p_timeout tm);
61const char *socket_hoststrerror(int err); 52int socket_send(p_socket ps, const char *data, size_t count, size_t *sent, p_timeout tm);
62const char *socket_gaistrerror(int err); 53int socket_sendto(p_socket ps, const char *data, size_t count, size_t *sent, SA *addr, socklen_t addr_len, p_timeout tm);
63const char *socket_strerror(int err);
64
65/* these are perfect to use with the io abstraction module
66 and the buffered input module */
67int socket_send(p_socket ps, const char *data, size_t count,
68 size_t *sent, p_timeout tm);
69int socket_recv(p_socket ps, char *data, size_t count, size_t *got, p_timeout tm); 54int socket_recv(p_socket ps, char *data, size_t count, size_t *got, p_timeout tm);
70int socket_write(p_socket ps, const char *data, size_t count, 55int socket_recvfrom(p_socket ps, char *data, size_t count, size_t *got, SA *addr, socklen_t *addr_len, p_timeout tm);
71 size_t *sent, p_timeout tm); 56int socket_write(p_socket ps, const char *data, size_t count, size_t *sent, p_timeout tm);
72int socket_read(p_socket ps, char *data, size_t count, size_t *got, p_timeout tm); 57int socket_read(p_socket ps, char *data, size_t count, size_t *got, p_timeout tm);
73const char *socket_ioerror(p_socket ps, int err); 58void socket_setblocking(p_socket ps);
74 59void socket_setnonblocking(p_socket ps);
75int socket_gethostbyaddr(const char *addr, socklen_t len, struct hostent **hp); 60int socket_gethostbyaddr(const char *addr, socklen_t len, struct hostent **hp);
76int socket_gethostbyname(const char *addr, struct hostent **hp); 61int socket_gethostbyname(const char *addr, struct hostent **hp);
62const char *socket_hoststrerror(int err);
63const char *socket_strerror(int err);
64const char *socket_ioerror(p_socket ps, int err);
65const char *socket_gaistrerror(int err);
66
67#pragma GCC visibility pop
77 68
78#endif /* SOCKET_H */ 69#endif /* SOCKET_H */