diff options
Diffstat (limited to 'lib/libc/net/gai_strerror.3')
-rw-r--r-- | lib/libc/net/gai_strerror.3 | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/lib/libc/net/gai_strerror.3 b/lib/libc/net/gai_strerror.3 new file mode 100644 index 000000000000..b9d35e1f37e6 --- /dev/null +++ b/lib/libc/net/gai_strerror.3 @@ -0,0 +1,98 @@ +.\" $KAME: gai_strerror.3,v 1.1 2005/01/05 03:04:47 itojun Exp $ +.\" $OpenBSD: gai_strerror.3,v 1.4 2004/12/20 23:04:53 millert Exp $ +.\" +.\" Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC") +.\" Copyright (C) 2000, 2001 Internet Software Consortium. +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +.\" AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +.\" PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd November 2, 2022 +.Dt GAI_STRERROR 3 +.Os +.Sh NAME +.Nm gai_strerror +.Nd get error message string from EAI_xxx error code +.Sh SYNOPSIS +.In sys/types.h +.In sys/socket.h +.In netdb.h +.Ft "const char *" +.Fn gai_strerror "int ecode" +.Sh DESCRIPTION +The +.Fn gai_strerror +function returns an error message string corresponding to the error code +returned by +.Xr getaddrinfo 3 +or +.Xr getnameinfo 3 . +.Pp +The following error codes and their meaning are defined in +.In netdb.h : +.Pp +.Bl -tag -width ".Dv EAI_ADDRFAMILY" -offset indent -compact +.It Dv EAI_ADDRFAMILY +Address family for hostname not supported +.It Dv EAI_AGAIN +Name could not be resolved at this time +.It Dv EAI_BADFLAGS +flags parameter had an invalid value +.It Dv EAI_BADHINTS +invalid value for +.Fa hints +.It Dv EAI_FAIL +Non-recoverable failure in name resolution +.It Dv EAI_FAMILY +Address family was not recognized +.It Dv EAI_MEMORY +Memory allocation failure +.It Dv EAI_NODATA +No address associated with hostname +.It Dv EAI_NONAME +Name does not resolve +.It Dv EAI_OVERFLOW +argument buffer overflow +.It Dv EAI_PROTOCOL +Resolved protocol is unknown +.It Dv EAI_SERVICE +Service was not recognized for socket type +.It Dv EAI_SOCKTYPE +Intended socket type was not recognized +.It Dv EAI_SYSTEM +System error returned in +.Va errno +.El +.Sh RETURN VALUES +The +.Fn gai_strerror +function +returns a pointer to the error message string corresponding to +.Fa ecode . +If +.Fa ecode +is out of range, an implementation-specific error message string is returned. +.Sh SEE ALSO +.Xr getaddrinfo 3 , +.Xr getnameinfo 3 +.Sh STANDARDS +.Bl -tag -width ".It RFC 3493" +.It RFC 3493 +Basic Socket Interface Extensions for IPv6 +.El +.Pp +EAI_ADDRFAMILY and EAI_NODATA were in previous RFCs, but not in RFC 3493. +They are not in POSIX (IEEE Std 1003.1-2017). +They were in +.Fx +before 5.2, and were re-added for 14.0. +EAI_BADHINTS, EAI_OVERFLOW, and EAI_PROTOCOL are not in RFC 3493 or POSIX. |