aboutsummaryrefslogtreecommitdiff
path: root/src/usocket.c
diff options
context:
space:
mode:
authorDiego Nehab <diego@tecgraf.puc-rio.br>2012-04-11 13:21:25 -0700
committerSam Roberts <vieuxtech@gmail.com>2012-04-11 13:25:11 -0700
commit2778766d678b147fc079d67dee036346381b4764 (patch)
treeda44507f62fb9c8cd078cf25f6dc24107e56af34 /src/usocket.c
parent3a8ba90dfb0c2eb224f317dd692ede426691e72a (diff)
downloadluasocket-2778766d678b147fc079d67dee036346381b4764.tar.gz
luasocket-2778766d678b147fc079d67dee036346381b4764.tar.bz2
luasocket-2778766d678b147fc079d67dee036346381b4764.zip
Preliminary IPv6 support for v2.1
Diffstat (limited to 'src/usocket.c')
-rw-r--r--src/usocket.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/usocket.c b/src/usocket.c
index 1ba1043..5201b7b 100644
--- a/src/usocket.c
+++ b/src/usocket.c
@@ -6,7 +6,7 @@
6* The penalty of calling select to avoid busy-wait is only paid when 6* The penalty of calling select to avoid busy-wait is only paid when
7* the I/O call fail in the first place. 7* the I/O call fail in the first place.
8* 8*
9* RCS ID: $Id$ 9* RCS ID: $Id: usocket.c,v 1.38 2007/10/13 23:55:20 diego Exp $
10\*=========================================================================*/ 10\*=========================================================================*/
11#include <string.h> 11#include <string.h>
12#include <signal.h> 12#include <signal.h>
@@ -368,3 +368,24 @@ const char *socket_ioerror(p_socket ps, int err) {
368 (void) ps; 368 (void) ps;
369 return socket_strerror(err); 369 return socket_strerror(err);
370} 370}
371
372const char *socket_gaistrerror(int err) {
373 if (err == 0) return NULL;
374 switch (err) {
375 case EAI_AGAIN: return "temporary failure in name resolution";
376 case EAI_BADFLAGS: return "invalid value for ai_flags";
377 case EAI_BADHINTS: return "invalid value for hints";
378 case EAI_FAIL: return "non-recoverable failure in name resolution";
379 case EAI_FAMILY: return "ai_family not supported";
380 case EAI_MEMORY: return "memory allocation failure";
381 case EAI_NONAME:
382 return "hostname or servname not provided, or not known";
383 case EAI_OVERFLOW: return "argument buffer overflow";
384 case EAI_PROTOCOL: return "resolved protocol is unknown";
385 case EAI_SERVICE: return "servname not supported for socktype";
386 case EAI_SOCKTYPE: return "ai_socktype not supported";
387 case EAI_SYSTEM: return strerror(errno);
388 default: return "unknown error";
389 }
390}
391