diff options
author | Caleb Maclennan <caleb@alerque.com> | 2023-11-10 09:12:04 +0300 |
---|---|---|
committer | Caleb Maclennan <caleb@alerque.com> | 2023-11-10 09:12:04 +0300 |
commit | 5c4fc93d5f4137bf4c22ddf1a048c907a4a26727 (patch) | |
tree | a9a68e1f6a9c3bfe2b64fa1c3a4098865b7d3b5d /src/socket.h | |
parent | ccef3bc4e2aa6ee5b997a80aabb58f4ff0b0e98f (diff) | |
parent | 43a97b7f0053313b43906371dbdc226271e6c8ab (diff) | |
download | luasocket-hjelmeland-patch-1.tar.gz luasocket-hjelmeland-patch-1.tar.bz2 luasocket-hjelmeland-patch-1.zip |
Merge branch 'master' into hjelmeland-patch-1hjelmeland-patch-1
Diffstat (limited to 'src/socket.h')
-rwxr-xr-x[-rw-r--r--] | src/socket.h | 57 |
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 */ |
32 | typedef struct sockaddr SA; | 34 | typedef 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 | \*=========================================================================*/ |
38 | int socket_open(void); | ||
39 | int socket_close(void); | ||
40 | void socket_destroy(p_socket ps); | ||
41 | void socket_shutdown(p_socket ps, int how); | ||
42 | int socket_sendto(p_socket ps, const char *data, size_t count, | ||
43 | size_t *sent, SA *addr, socklen_t addr_len, p_timeout tm); | ||
44 | int 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 | ||
47 | void socket_setnonblocking(p_socket ps); | 41 | #ifndef _WIN32 |
48 | void socket_setblocking(p_socket ps); | 42 | #pragma GCC visibility push(hidden) |
43 | #endif | ||
49 | 44 | ||
50 | int socket_waitfd(p_socket ps, int sw, p_timeout tm); | 45 | int socket_waitfd(p_socket ps, int sw, p_timeout tm); |
51 | int socket_select(t_socket n, fd_set *rfds, fd_set *wfds, fd_set *efds, | 46 | int socket_open(void); |
52 | p_timeout tm); | 47 | int socket_close(void); |
53 | 48 | void socket_destroy(p_socket ps); | |
54 | int socket_connect(p_socket ps, SA *addr, socklen_t addr_len, p_timeout tm); | 49 | int socket_select(t_socket n, fd_set *rfds, fd_set *wfds, fd_set *efds, p_timeout tm); |
55 | int socket_create(p_socket ps, int domain, int type, int protocol); | 50 | int socket_create(p_socket ps, int domain, int type, int protocol); |
56 | int socket_bind(p_socket ps, SA *addr, socklen_t addr_len); | 51 | int socket_bind(p_socket ps, SA *addr, socklen_t addr_len); |
57 | int socket_listen(p_socket ps, int backlog); | 52 | int socket_listen(p_socket ps, int backlog); |
58 | int socket_accept(p_socket ps, p_socket pa, SA *addr, | 53 | void socket_shutdown(p_socket ps, int how); |
59 | socklen_t *addr_len, p_timeout tm); | 54 | int socket_connect(p_socket ps, SA *addr, socklen_t addr_len, p_timeout tm); |
60 | 55 | int socket_accept(p_socket ps, p_socket pa, SA *addr, socklen_t *addr_len, p_timeout tm); | |
61 | const char *socket_hoststrerror(int err); | 56 | int socket_send(p_socket ps, const char *data, size_t count, size_t *sent, p_timeout tm); |
62 | const char *socket_gaistrerror(int err); | 57 | int socket_sendto(p_socket ps, const char *data, size_t count, size_t *sent, SA *addr, socklen_t addr_len, p_timeout tm); |
63 | const char *socket_strerror(int err); | ||
64 | |||
65 | /* these are perfect to use with the io abstraction module | ||
66 | and the buffered input module */ | ||
67 | int socket_send(p_socket ps, const char *data, size_t count, | ||
68 | size_t *sent, p_timeout tm); | ||
69 | int socket_recv(p_socket ps, char *data, size_t count, size_t *got, p_timeout tm); | 58 | int socket_recv(p_socket ps, char *data, size_t count, size_t *got, p_timeout tm); |
70 | int socket_write(p_socket ps, const char *data, size_t count, | 59 | int 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); | 60 | int socket_write(p_socket ps, const char *data, size_t count, size_t *sent, p_timeout tm); |
72 | int socket_read(p_socket ps, char *data, size_t count, size_t *got, p_timeout tm); | 61 | int socket_read(p_socket ps, char *data, size_t count, size_t *got, p_timeout tm); |
73 | const char *socket_ioerror(p_socket ps, int err); | 62 | void socket_setblocking(p_socket ps); |
74 | 63 | void socket_setnonblocking(p_socket ps); | |
75 | int socket_gethostbyaddr(const char *addr, socklen_t len, struct hostent **hp); | 64 | int socket_gethostbyaddr(const char *addr, socklen_t len, struct hostent **hp); |
76 | int socket_gethostbyname(const char *addr, struct hostent **hp); | 65 | int socket_gethostbyname(const char *addr, struct hostent **hp); |
66 | const char *socket_hoststrerror(int err); | ||
67 | const char *socket_strerror(int err); | ||
68 | const char *socket_ioerror(p_socket ps, int err); | ||
69 | const 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 */ |