diff options
author | Diego Nehab <diego@tecgraf.puc-rio.br> | 2005-10-07 04:40:59 +0000 |
---|---|---|
committer | Diego Nehab <diego@tecgraf.puc-rio.br> | 2005-10-07 04:40:59 +0000 |
commit | f4dadea763c1959a27dead24df3ee6c54c209842 (patch) | |
tree | c13b294a8ca5438d59b60e3f5a25a4f7c1fc9a1b /src/usocket.c | |
parent | 562d8cceb704a96a7b2f9acc4bc229ab9f5c6541 (diff) | |
download | luasocket-f4dadea763c1959a27dead24df3ee6c54c209842.tar.gz luasocket-f4dadea763c1959a27dead24df3ee6c54c209842.tar.bz2 luasocket-f4dadea763c1959a27dead24df3ee6c54c209842.zip |
Before compiling on Windows.
Diffstat (limited to 'src/usocket.c')
-rw-r--r-- | src/usocket.c | 113 |
1 files changed, 57 insertions, 56 deletions
diff --git a/src/usocket.c b/src/usocket.c index f067fa1..e9db6dd 100644 --- a/src/usocket.c +++ b/src/usocket.c | |||
@@ -16,21 +16,21 @@ | |||
16 | /*-------------------------------------------------------------------------*\ | 16 | /*-------------------------------------------------------------------------*\ |
17 | * Wait for readable/writable/connected socket with timeout | 17 | * Wait for readable/writable/connected socket with timeout |
18 | \*-------------------------------------------------------------------------*/ | 18 | \*-------------------------------------------------------------------------*/ |
19 | #ifdef SOCK_POLL | 19 | #ifdef SOCKET_POLL |
20 | #include <sys/poll.h> | 20 | #include <sys/poll.h> |
21 | 21 | ||
22 | #define WAITFD_R POLLIN | 22 | #define WAITFD_R POLLIN |
23 | #define WAITFD_W POLLOUT | 23 | #define WAITFD_W POLLOUT |
24 | #define WAITFD_C (POLLIN|POLLOUT) | 24 | #define WAITFD_C (POLLIN|POLLOUT) |
25 | int sock_waitfd(p_sock ps, int sw, p_tm tm) { | 25 | int socket_waitfd(p_socket ps, int sw, p_timeout tm) { |
26 | int ret; | 26 | int ret; |
27 | struct pollfd pfd; | 27 | struct pollfd pfd; |
28 | pfd.fd = *ps; | 28 | pfd.fd = *ps; |
29 | pfd.events = sw; | 29 | pfd.events = sw; |
30 | pfd.revents = 0; | 30 | pfd.revents = 0; |
31 | if (tm_iszero(tm)) return IO_TIMEOUT; /* optimize timeout == 0 case */ | 31 | if (timeout_iszero(tm)) return IO_TIMEOUT; /* optimize timeout == 0 case */ |
32 | do { | 32 | do { |
33 | int t = (int)(tm_getretry(tm)*1e3); | 33 | int t = (int)(timeout_getretry(tm)*1e3); |
34 | ret = poll(&pfd, 1, t >= 0? t: -1); | 34 | ret = poll(&pfd, 1, t >= 0? t: -1); |
35 | } while (ret == -1 && errno == EINTR); | 35 | } while (ret == -1 && errno == EINTR); |
36 | if (ret == -1) return errno; | 36 | if (ret == -1) return errno; |
@@ -44,18 +44,18 @@ int sock_waitfd(p_sock ps, int sw, p_tm tm) { | |||
44 | #define WAITFD_W 2 | 44 | #define WAITFD_W 2 |
45 | #define WAITFD_C (WAITFD_R|WAITFD_W) | 45 | #define WAITFD_C (WAITFD_R|WAITFD_W) |
46 | 46 | ||
47 | int sock_waitfd(p_sock ps, int sw, p_tm tm) { | 47 | int socket_waitfd(p_socket ps, int sw, p_timeout tm) { |
48 | int ret; | 48 | int ret; |
49 | fd_set rfds, wfds, *rp, *wp; | 49 | fd_set rfds, wfds, *rp, *wp; |
50 | struct timeval tv, *tp; | 50 | struct timeval tv, *tp; |
51 | double t; | 51 | double t; |
52 | if (tm_iszero(tm)) return IO_TIMEOUT; /* optimize timeout == 0 case */ | 52 | if (timeout_iszero(tm)) return IO_TIMEOUT; /* optimize timeout == 0 case */ |
53 | do { | 53 | do { |
54 | /* must set bits within loop, because select may have modifed them */ | 54 | /* must set bits within loop, because select may have modifed them */ |
55 | rp = wp = NULL; | 55 | rp = wp = NULL; |
56 | if (sw & WAITFD_R) { FD_ZERO(&rfds); FD_SET(*ps, &rfds); rp = &rfds; } | 56 | if (sw & WAITFD_R) { FD_ZERO(&rfds); FD_SET(*ps, &rfds); rp = &rfds; } |
57 | if (sw & WAITFD_W) { FD_ZERO(&wfds); FD_SET(*ps, &wfds); wp = &wfds; } | 57 | if (sw & WAITFD_W) { FD_ZERO(&wfds); FD_SET(*ps, &wfds); wp = &wfds; } |
58 | t = tm_getretry(tm); | 58 | t = timeout_getretry(tm); |
59 | tp = NULL; | 59 | tp = NULL; |
60 | if (t >= 0.0) { | 60 | if (t >= 0.0) { |
61 | tv.tv_sec = (int)t; | 61 | tv.tv_sec = (int)t; |
@@ -75,7 +75,7 @@ int sock_waitfd(p_sock ps, int sw, p_tm tm) { | |||
75 | /*-------------------------------------------------------------------------*\ | 75 | /*-------------------------------------------------------------------------*\ |
76 | * Initializes module | 76 | * Initializes module |
77 | \*-------------------------------------------------------------------------*/ | 77 | \*-------------------------------------------------------------------------*/ |
78 | int sock_open(void) { | 78 | int socket_open(void) { |
79 | /* instals a handler to ignore sigpipe or it will crash us */ | 79 | /* instals a handler to ignore sigpipe or it will crash us */ |
80 | signal(SIGPIPE, SIG_IGN); | 80 | signal(SIGPIPE, SIG_IGN); |
81 | return 1; | 81 | return 1; |
@@ -84,29 +84,29 @@ int sock_open(void) { | |||
84 | /*-------------------------------------------------------------------------*\ | 84 | /*-------------------------------------------------------------------------*\ |
85 | * Close module | 85 | * Close module |
86 | \*-------------------------------------------------------------------------*/ | 86 | \*-------------------------------------------------------------------------*/ |
87 | int sock_close(void) { | 87 | int socket_close(void) { |
88 | return 1; | 88 | return 1; |
89 | } | 89 | } |
90 | 90 | ||
91 | /*-------------------------------------------------------------------------*\ | 91 | /*-------------------------------------------------------------------------*\ |
92 | * Close and inutilize socket | 92 | * Close and inutilize socket |
93 | \*-------------------------------------------------------------------------*/ | 93 | \*-------------------------------------------------------------------------*/ |
94 | void sock_destroy(p_sock ps) { | 94 | void socket_destroy(p_socket ps) { |
95 | if (*ps != SOCK_INVALID) { | 95 | if (*ps != SOCKET_INVALID) { |
96 | sock_setblocking(ps); | 96 | socket_setblocking(ps); |
97 | close(*ps); | 97 | close(*ps); |
98 | *ps = SOCK_INVALID; | 98 | *ps = SOCKET_INVALID; |
99 | } | 99 | } |
100 | } | 100 | } |
101 | 101 | ||
102 | /*-------------------------------------------------------------------------*\ | 102 | /*-------------------------------------------------------------------------*\ |
103 | * Select with timeout control | 103 | * Select with timeout control |
104 | \*-------------------------------------------------------------------------*/ | 104 | \*-------------------------------------------------------------------------*/ |
105 | int sock_select(int n, fd_set *rfds, fd_set *wfds, fd_set *efds, p_tm tm) { | 105 | int socket_select(int n, fd_set *rfds, fd_set *wfds, fd_set *efds, p_timeout tm) { |
106 | int ret; | 106 | int ret; |
107 | do { | 107 | do { |
108 | struct timeval tv; | 108 | struct timeval tv; |
109 | double t = tm_getretry(tm); | 109 | double t = timeout_getretry(tm); |
110 | tv.tv_sec = (int) t; | 110 | tv.tv_sec = (int) t; |
111 | tv.tv_usec = (int) ((t - tv.tv_sec) * 1.0e6); | 111 | tv.tv_usec = (int) ((t - tv.tv_sec) * 1.0e6); |
112 | ret = select(n, rfds, wfds, efds, t >= 0.0? &tv: NULL); | 112 | ret = select(n, rfds, wfds, efds, t >= 0.0? &tv: NULL); |
@@ -117,59 +117,59 @@ int sock_select(int n, fd_set *rfds, fd_set *wfds, fd_set *efds, p_tm tm) { | |||
117 | /*-------------------------------------------------------------------------*\ | 117 | /*-------------------------------------------------------------------------*\ |
118 | * Creates and sets up a socket | 118 | * Creates and sets up a socket |
119 | \*-------------------------------------------------------------------------*/ | 119 | \*-------------------------------------------------------------------------*/ |
120 | int sock_create(p_sock ps, int domain, int type, int protocol) { | 120 | int socket_create(p_socket ps, int domain, int type, int protocol) { |
121 | *ps = socket(domain, type, protocol); | 121 | *ps = socket(domain, type, protocol); |
122 | if (*ps != SOCK_INVALID) return IO_DONE; | 122 | if (*ps != SOCKET_INVALID) return IO_DONE; |
123 | else return errno; | 123 | else return errno; |
124 | } | 124 | } |
125 | 125 | ||
126 | /*-------------------------------------------------------------------------*\ | 126 | /*-------------------------------------------------------------------------*\ |
127 | * Binds or returns error message | 127 | * Binds or returns error message |
128 | \*-------------------------------------------------------------------------*/ | 128 | \*-------------------------------------------------------------------------*/ |
129 | int sock_bind(p_sock ps, SA *addr, socklen_t len) { | 129 | int socket_bind(p_socket ps, SA *addr, socklen_t len) { |
130 | int err = IO_DONE; | 130 | int err = IO_DONE; |
131 | sock_setblocking(ps); | 131 | socket_setblocking(ps); |
132 | if (bind(*ps, addr, len) < 0) err = errno; | 132 | if (bind(*ps, addr, len) < 0) err = errno; |
133 | sock_setnonblocking(ps); | 133 | socket_setnonblocking(ps); |
134 | return err; | 134 | return err; |
135 | } | 135 | } |
136 | 136 | ||
137 | /*-------------------------------------------------------------------------*\ | 137 | /*-------------------------------------------------------------------------*\ |
138 | * | 138 | * |
139 | \*-------------------------------------------------------------------------*/ | 139 | \*-------------------------------------------------------------------------*/ |
140 | int sock_listen(p_sock ps, int backlog) { | 140 | int socket_listen(p_socket ps, int backlog) { |
141 | int err = IO_DONE; | 141 | int err = IO_DONE; |
142 | sock_setblocking(ps); | 142 | socket_setblocking(ps); |
143 | if (listen(*ps, backlog)) err = errno; | 143 | if (listen(*ps, backlog)) err = errno; |
144 | sock_setnonblocking(ps); | 144 | socket_setnonblocking(ps); |
145 | return err; | 145 | return err; |
146 | } | 146 | } |
147 | 147 | ||
148 | /*-------------------------------------------------------------------------*\ | 148 | /*-------------------------------------------------------------------------*\ |
149 | * | 149 | * |
150 | \*-------------------------------------------------------------------------*/ | 150 | \*-------------------------------------------------------------------------*/ |
151 | void sock_shutdown(p_sock ps, int how) { | 151 | void socket_shutdown(p_socket ps, int how) { |
152 | sock_setblocking(ps); | 152 | socket_setblocking(ps); |
153 | shutdown(*ps, how); | 153 | shutdown(*ps, how); |
154 | sock_setnonblocking(ps); | 154 | socket_setnonblocking(ps); |
155 | } | 155 | } |
156 | 156 | ||
157 | /*-------------------------------------------------------------------------*\ | 157 | /*-------------------------------------------------------------------------*\ |
158 | * Connects or returns error message | 158 | * Connects or returns error message |
159 | \*-------------------------------------------------------------------------*/ | 159 | \*-------------------------------------------------------------------------*/ |
160 | int sock_connect(p_sock ps, SA *addr, socklen_t len, p_tm tm) { | 160 | int socket_connect(p_socket ps, SA *addr, socklen_t len, p_timeout tm) { |
161 | int err; | 161 | int err; |
162 | /* avoid calling on closed sockets */ | 162 | /* avoid calling on closed sockets */ |
163 | if (*ps == SOCK_INVALID) return IO_CLOSED; | 163 | if (*ps == SOCKET_INVALID) return IO_CLOSED; |
164 | /* call connect until done or failed without being interrupted */ | 164 | /* call connect until done or failed without being interrupted */ |
165 | do if (connect(*ps, addr, len) == 0) return IO_DONE; | 165 | do if (connect(*ps, addr, len) == 0) return IO_DONE; |
166 | while ((err = errno) == EINTR); | 166 | while ((err = errno) == EINTR); |
167 | /* if connection failed immediately, return error code */ | 167 | /* if connection failed immediately, return error code */ |
168 | if (err != EINPROGRESS && err != EAGAIN) return err; | 168 | if (err != EINPROGRESS && err != EAGAIN) return err; |
169 | /* zero timeout case optimization */ | 169 | /* zero timeout case optimization */ |
170 | if (tm_iszero(tm)) return IO_TIMEOUT; | 170 | if (timeout_iszero(tm)) return IO_TIMEOUT; |
171 | /* wait until we have the result of the connection attempt or timeout */ | 171 | /* wait until we have the result of the connection attempt or timeout */ |
172 | err = sock_waitfd(ps, WAITFD_C, tm); | 172 | err = socket_waitfd(ps, WAITFD_C, tm); |
173 | if (err == IO_CLOSED) { | 173 | if (err == IO_CLOSED) { |
174 | if (recv(*ps, (char *) &err, 0, 0) == 0) return IO_DONE; | 174 | if (recv(*ps, (char *) &err, 0, 0) == 0) return IO_DONE; |
175 | else return errno; | 175 | else return errno; |
@@ -179,19 +179,19 @@ int sock_connect(p_sock ps, SA *addr, socklen_t len, p_tm tm) { | |||
179 | /*-------------------------------------------------------------------------*\ | 179 | /*-------------------------------------------------------------------------*\ |
180 | * Accept with timeout | 180 | * Accept with timeout |
181 | \*-------------------------------------------------------------------------*/ | 181 | \*-------------------------------------------------------------------------*/ |
182 | int sock_accept(p_sock ps, p_sock pa, SA *addr, socklen_t *len, p_tm tm) { | 182 | int socket_accept(p_socket ps, p_socket pa, SA *addr, socklen_t *len, p_timeout tm) { |
183 | SA daddr; | 183 | SA daddr; |
184 | socklen_t dlen = sizeof(daddr); | 184 | socklen_t dlen = sizeof(daddr); |
185 | if (*ps == SOCK_INVALID) return IO_CLOSED; | 185 | if (*ps == SOCKET_INVALID) return IO_CLOSED; |
186 | if (!addr) addr = &daddr; | 186 | if (!addr) addr = &daddr; |
187 | if (!len) len = &dlen; | 187 | if (!len) len = &dlen; |
188 | for ( ;; ) { | 188 | for ( ;; ) { |
189 | int err; | 189 | int err; |
190 | if ((*pa = accept(*ps, addr, len)) != SOCK_INVALID) return IO_DONE; | 190 | if ((*pa = accept(*ps, addr, len)) != SOCKET_INVALID) return IO_DONE; |
191 | err = errno; | 191 | err = errno; |
192 | if (err == EINTR) continue; | 192 | if (err == EINTR) continue; |
193 | if (err != EAGAIN && err != ECONNABORTED) return err; | 193 | if (err != EAGAIN && err != ECONNABORTED) return err; |
194 | if ((err = sock_waitfd(ps, WAITFD_R, tm)) != IO_DONE) return err; | 194 | if ((err = socket_waitfd(ps, WAITFD_R, tm)) != IO_DONE) return err; |
195 | } | 195 | } |
196 | /* can't reach here */ | 196 | /* can't reach here */ |
197 | return IO_UNKNOWN; | 197 | return IO_UNKNOWN; |
@@ -200,11 +200,12 @@ int sock_accept(p_sock ps, p_sock pa, SA *addr, socklen_t *len, p_tm tm) { | |||
200 | /*-------------------------------------------------------------------------*\ | 200 | /*-------------------------------------------------------------------------*\ |
201 | * Send with timeout | 201 | * Send with timeout |
202 | \*-------------------------------------------------------------------------*/ | 202 | \*-------------------------------------------------------------------------*/ |
203 | int sock_send(p_sock ps, const char *data, size_t count, size_t *sent, p_tm tm) | 203 | int socket_send(p_socket ps, const char *data, size_t count, |
204 | size_t *sent, p_timeout tm) | ||
204 | { | 205 | { |
205 | int err; | 206 | int err; |
206 | /* avoid making system calls on closed sockets */ | 207 | /* avoid making system calls on closed sockets */ |
207 | if (*ps == SOCK_INVALID) return IO_CLOSED; | 208 | if (*ps == SOCKET_INVALID) return IO_CLOSED; |
208 | /* loop until we send something or we give up on error */ | 209 | /* loop until we send something or we give up on error */ |
209 | *sent = 0; | 210 | *sent = 0; |
210 | for ( ;; ) { | 211 | for ( ;; ) { |
@@ -223,7 +224,7 @@ int sock_send(p_sock ps, const char *data, size_t count, size_t *sent, p_tm tm) | |||
223 | /* if failed fatal reason, report error */ | 224 | /* if failed fatal reason, report error */ |
224 | if (err != EAGAIN) return err; | 225 | if (err != EAGAIN) return err; |
225 | /* wait until we can send something or we timeout */ | 226 | /* wait until we can send something or we timeout */ |
226 | if ((err = sock_waitfd(ps, WAITFD_W, tm)) != IO_DONE) return err; | 227 | if ((err = socket_waitfd(ps, WAITFD_W, tm)) != IO_DONE) return err; |
227 | } | 228 | } |
228 | /* can't reach here */ | 229 | /* can't reach here */ |
229 | return IO_UNKNOWN; | 230 | return IO_UNKNOWN; |
@@ -232,11 +233,11 @@ int sock_send(p_sock ps, const char *data, size_t count, size_t *sent, p_tm tm) | |||
232 | /*-------------------------------------------------------------------------*\ | 233 | /*-------------------------------------------------------------------------*\ |
233 | * Sendto with timeout | 234 | * Sendto with timeout |
234 | \*-------------------------------------------------------------------------*/ | 235 | \*-------------------------------------------------------------------------*/ |
235 | int sock_sendto(p_sock ps, const char *data, size_t count, size_t *sent, | 236 | int socket_sendto(p_socket ps, const char *data, size_t count, size_t *sent, |
236 | SA *addr, socklen_t len, p_tm tm) | 237 | SA *addr, socklen_t len, p_timeout tm) |
237 | { | 238 | { |
238 | int err; | 239 | int err; |
239 | if (*ps == SOCK_INVALID) return IO_CLOSED; | 240 | if (*ps == SOCKET_INVALID) return IO_CLOSED; |
240 | *sent = 0; | 241 | *sent = 0; |
241 | for ( ;; ) { | 242 | for ( ;; ) { |
242 | long put = (long) sendto(*ps, data, count, 0, addr, len); | 243 | long put = (long) sendto(*ps, data, count, 0, addr, len); |
@@ -248,7 +249,7 @@ int sock_sendto(p_sock ps, const char *data, size_t count, size_t *sent, | |||
248 | if (put == 0 || err == EPIPE) return IO_CLOSED; | 249 | if (put == 0 || err == EPIPE) return IO_CLOSED; |
249 | if (err == EINTR) continue; | 250 | if (err == EINTR) continue; |
250 | if (err != EAGAIN) return err; | 251 | if (err != EAGAIN) return err; |
251 | if ((err = sock_waitfd(ps, WAITFD_W, tm)) != IO_DONE) return err; | 252 | if ((err = socket_waitfd(ps, WAITFD_W, tm)) != IO_DONE) return err; |
252 | } | 253 | } |
253 | return IO_UNKNOWN; | 254 | return IO_UNKNOWN; |
254 | } | 255 | } |
@@ -256,9 +257,9 @@ int sock_sendto(p_sock ps, const char *data, size_t count, size_t *sent, | |||
256 | /*-------------------------------------------------------------------------*\ | 257 | /*-------------------------------------------------------------------------*\ |
257 | * Receive with timeout | 258 | * Receive with timeout |
258 | \*-------------------------------------------------------------------------*/ | 259 | \*-------------------------------------------------------------------------*/ |
259 | int sock_recv(p_sock ps, char *data, size_t count, size_t *got, p_tm tm) { | 260 | int socket_recv(p_socket ps, char *data, size_t count, size_t *got, p_timeout tm) { |
260 | int err; | 261 | int err; |
261 | if (*ps == SOCK_INVALID) return IO_CLOSED; | 262 | if (*ps == SOCKET_INVALID) return IO_CLOSED; |
262 | for ( ;; ) { | 263 | for ( ;; ) { |
263 | long taken = (long) recv(*ps, data, count, 0); | 264 | long taken = (long) recv(*ps, data, count, 0); |
264 | if (taken > 0) { | 265 | if (taken > 0) { |
@@ -270,7 +271,7 @@ int sock_recv(p_sock ps, char *data, size_t count, size_t *got, p_tm tm) { | |||
270 | if (taken == 0) return IO_CLOSED; | 271 | if (taken == 0) return IO_CLOSED; |
271 | if (err == EINTR) continue; | 272 | if (err == EINTR) continue; |
272 | if (err != EAGAIN) return err; | 273 | if (err != EAGAIN) return err; |
273 | if ((err = sock_waitfd(ps, WAITFD_R, tm)) != IO_DONE) return err; | 274 | if ((err = socket_waitfd(ps, WAITFD_R, tm)) != IO_DONE) return err; |
274 | } | 275 | } |
275 | return IO_UNKNOWN; | 276 | return IO_UNKNOWN; |
276 | } | 277 | } |
@@ -278,10 +279,10 @@ int sock_recv(p_sock ps, char *data, size_t count, size_t *got, p_tm tm) { | |||
278 | /*-------------------------------------------------------------------------*\ | 279 | /*-------------------------------------------------------------------------*\ |
279 | * Recvfrom with timeout | 280 | * Recvfrom with timeout |
280 | \*-------------------------------------------------------------------------*/ | 281 | \*-------------------------------------------------------------------------*/ |
281 | int sock_recvfrom(p_sock ps, char *data, size_t count, size_t *got, | 282 | int socket_recvfrom(p_socket ps, char *data, size_t count, size_t *got, |
282 | SA *addr, socklen_t *len, p_tm tm) { | 283 | SA *addr, socklen_t *len, p_timeout tm) { |
283 | int err; | 284 | int err; |
284 | if (*ps == SOCK_INVALID) return IO_CLOSED; | 285 | if (*ps == SOCKET_INVALID) return IO_CLOSED; |
285 | for ( ;; ) { | 286 | for ( ;; ) { |
286 | long taken = (long) recvfrom(*ps, data, count, 0, addr, len); | 287 | long taken = (long) recvfrom(*ps, data, count, 0, addr, len); |
287 | if (taken > 0) { | 288 | if (taken > 0) { |
@@ -293,7 +294,7 @@ int sock_recvfrom(p_sock ps, char *data, size_t count, size_t *got, | |||
293 | if (taken == 0) return IO_CLOSED; | 294 | if (taken == 0) return IO_CLOSED; |
294 | if (err == EINTR) continue; | 295 | if (err == EINTR) continue; |
295 | if (err != EAGAIN) return err; | 296 | if (err != EAGAIN) return err; |
296 | if ((err = sock_waitfd(ps, WAITFD_R, tm)) != IO_DONE) return err; | 297 | if ((err = socket_waitfd(ps, WAITFD_R, tm)) != IO_DONE) return err; |
297 | } | 298 | } |
298 | return IO_UNKNOWN; | 299 | return IO_UNKNOWN; |
299 | } | 300 | } |
@@ -301,7 +302,7 @@ int sock_recvfrom(p_sock ps, char *data, size_t count, size_t *got, | |||
301 | /*-------------------------------------------------------------------------*\ | 302 | /*-------------------------------------------------------------------------*\ |
302 | * Put socket into blocking mode | 303 | * Put socket into blocking mode |
303 | \*-------------------------------------------------------------------------*/ | 304 | \*-------------------------------------------------------------------------*/ |
304 | void sock_setblocking(p_sock ps) { | 305 | void socket_setblocking(p_socket ps) { |
305 | int flags = fcntl(*ps, F_GETFL, 0); | 306 | int flags = fcntl(*ps, F_GETFL, 0); |
306 | flags &= (~(O_NONBLOCK)); | 307 | flags &= (~(O_NONBLOCK)); |
307 | fcntl(*ps, F_SETFL, flags); | 308 | fcntl(*ps, F_SETFL, flags); |
@@ -310,7 +311,7 @@ void sock_setblocking(p_sock ps) { | |||
310 | /*-------------------------------------------------------------------------*\ | 311 | /*-------------------------------------------------------------------------*\ |
311 | * Put socket into non-blocking mode | 312 | * Put socket into non-blocking mode |
312 | \*-------------------------------------------------------------------------*/ | 313 | \*-------------------------------------------------------------------------*/ |
313 | void sock_setnonblocking(p_sock ps) { | 314 | void socket_setnonblocking(p_socket ps) { |
314 | int flags = fcntl(*ps, F_GETFL, 0); | 315 | int flags = fcntl(*ps, F_GETFL, 0); |
315 | flags |= O_NONBLOCK; | 316 | flags |= O_NONBLOCK; |
316 | fcntl(*ps, F_SETFL, flags); | 317 | fcntl(*ps, F_SETFL, flags); |
@@ -319,7 +320,7 @@ void sock_setnonblocking(p_sock ps) { | |||
319 | /*-------------------------------------------------------------------------*\ | 320 | /*-------------------------------------------------------------------------*\ |
320 | * DNS helpers | 321 | * DNS helpers |
321 | \*-------------------------------------------------------------------------*/ | 322 | \*-------------------------------------------------------------------------*/ |
322 | int sock_gethostbyaddr(const char *addr, socklen_t len, struct hostent **hp) { | 323 | int socket_gethostbyaddr(const char *addr, socklen_t len, struct hostent **hp) { |
323 | *hp = gethostbyaddr(addr, len, AF_INET); | 324 | *hp = gethostbyaddr(addr, len, AF_INET); |
324 | if (*hp) return IO_DONE; | 325 | if (*hp) return IO_DONE; |
325 | else if (h_errno) return h_errno; | 326 | else if (h_errno) return h_errno; |
@@ -327,7 +328,7 @@ int sock_gethostbyaddr(const char *addr, socklen_t len, struct hostent **hp) { | |||
327 | else return IO_UNKNOWN; | 328 | else return IO_UNKNOWN; |
328 | } | 329 | } |
329 | 330 | ||
330 | int sock_gethostbyname(const char *addr, struct hostent **hp) { | 331 | int socket_gethostbyname(const char *addr, struct hostent **hp) { |
331 | *hp = gethostbyname(addr); | 332 | *hp = gethostbyname(addr); |
332 | if (*hp) return IO_DONE; | 333 | if (*hp) return IO_DONE; |
333 | else if (h_errno) return h_errno; | 334 | else if (h_errno) return h_errno; |
@@ -339,7 +340,7 @@ int sock_gethostbyname(const char *addr, struct hostent **hp) { | |||
339 | * Error translation functions | 340 | * Error translation functions |
340 | * Make sure important error messages are standard | 341 | * Make sure important error messages are standard |
341 | \*-------------------------------------------------------------------------*/ | 342 | \*-------------------------------------------------------------------------*/ |
342 | const char *sock_hoststrerror(int err) { | 343 | const char *socket_hoststrerror(int err) { |
343 | if (err <= 0) return io_strerror(err); | 344 | if (err <= 0) return io_strerror(err); |
344 | switch (err) { | 345 | switch (err) { |
345 | case HOST_NOT_FOUND: return "host not found"; | 346 | case HOST_NOT_FOUND: return "host not found"; |
@@ -347,7 +348,7 @@ const char *sock_hoststrerror(int err) { | |||
347 | } | 348 | } |
348 | } | 349 | } |
349 | 350 | ||
350 | const char *sock_strerror(int err) { | 351 | const char *socket_strerror(int err) { |
351 | if (err <= 0) return io_strerror(err); | 352 | if (err <= 0) return io_strerror(err); |
352 | switch (err) { | 353 | switch (err) { |
353 | case EADDRINUSE: return "address already in use"; | 354 | case EADDRINUSE: return "address already in use"; |
@@ -361,7 +362,7 @@ const char *sock_strerror(int err) { | |||
361 | } | 362 | } |
362 | } | 363 | } |
363 | 364 | ||
364 | const char *sock_ioerror(p_sock ps, int err) { | 365 | const char *socket_ioerror(p_socket ps, int err) { |
365 | (void) ps; | 366 | (void) ps; |
366 | return sock_strerror(err); | 367 | return socket_strerror(err); |
367 | } | 368 | } |