aboutsummaryrefslogtreecommitdiff
path: root/src/socket.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-x[-rw-r--r--]src/socket.h57
1 files changed, 27 insertions, 30 deletions
diff --git a/src/socket.h b/src/socket.h
index 63573de..2555bab 100644..100755
--- a/src/socket.h
+++ b/src/socket.h
@@ -16,8 +16,10 @@
16\*=========================================================================*/ 16\*=========================================================================*/
17#ifdef _WIN32 17#ifdef _WIN32
18#include "wsocket.h" 18#include "wsocket.h"
19#define LUA_GAI_STRERROR gai_strerrorA
19#else 20#else
20#include "usocket.h" 21#include "usocket.h"
22#define LUA_GAI_STRERROR gai_strerror
21#endif 23#endif
22 24
23/*=========================================================================*\ 25/*=========================================================================*\
@@ -28,51 +30,46 @@
28\*=========================================================================*/ 30\*=========================================================================*/
29#include "timeout.h" 31#include "timeout.h"
30 32
31/* we are lazy... */ 33/* convenient shorthand */
32typedef struct sockaddr SA; 34typedef struct sockaddr SA;
33 35
34/*=========================================================================*\ 36/*=========================================================================*\
35* Functions bellow implement a comfortable platform independent 37* Functions bellow implement a comfortable platform independent
36* interface to sockets 38* interface to sockets
37\*=========================================================================*/ 39\*=========================================================================*/
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 40
47void socket_setnonblocking(p_socket ps); 41#ifndef _WIN32
48void socket_setblocking(p_socket ps); 42#pragma GCC visibility push(hidden)
43#endif
49 44
50int socket_waitfd(p_socket ps, int sw, p_timeout tm); 45int 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, 46int socket_open(void);
52 p_timeout tm); 47int socket_close(void);
53 48void socket_destroy(p_socket ps);
54int socket_connect(p_socket ps, SA *addr, socklen_t addr_len, p_timeout tm); 49int 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); 50int socket_create(p_socket ps, int domain, int type, int protocol);
56int socket_bind(p_socket ps, SA *addr, socklen_t addr_len); 51int socket_bind(p_socket ps, SA *addr, socklen_t addr_len);
57int socket_listen(p_socket ps, int backlog); 52int socket_listen(p_socket ps, int backlog);
58int socket_accept(p_socket ps, p_socket pa, SA *addr, 53void socket_shutdown(p_socket ps, int how);
59 socklen_t *addr_len, p_timeout tm); 54int socket_connect(p_socket ps, SA *addr, socklen_t addr_len, p_timeout tm);
60 55int socket_accept(p_socket ps, p_socket pa, SA *addr, socklen_t *addr_len, p_timeout tm);
61const char *socket_hoststrerror(int err); 56int socket_send(p_socket ps, const char *data, size_t count, size_t *sent, p_timeout tm);
62const char *socket_gaistrerror(int err); 57int 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); 58int 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, 59int 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); 60int 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); 61int 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); 62void socket_setblocking(p_socket ps);
74 63void socket_setnonblocking(p_socket ps);
75int socket_gethostbyaddr(const char *addr, socklen_t len, struct hostent **hp); 64int socket_gethostbyaddr(const char *addr, socklen_t len, struct hostent **hp);
76int socket_gethostbyname(const char *addr, struct hostent **hp); 65int socket_gethostbyname(const char *addr, struct hostent **hp);
66const char *socket_hoststrerror(int err);
67const char *socket_strerror(int err);
68const char *socket_ioerror(p_socket ps, int err);
69const char *socket_gaistrerror(int err);
70
71#ifndef _WIN32
72#pragma GCC visibility pop
73#endif
77 74
78#endif /* SOCKET_H */ 75#endif /* SOCKET_H */