summaryrefslogtreecommitdiffstats
path: root/man3/inet_pton.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/inet_pton.3')
-rw-r--r--man3/inet_pton.3106
1 files changed, 106 insertions, 0 deletions
diff --git a/man3/inet_pton.3 b/man3/inet_pton.3
new file mode 100644
index 000000000..edc07d9db
--- /dev/null
+++ b/man3/inet_pton.3
@@ -0,0 +1,106 @@
+.\" Copyright 2000 Sam Varshavchik <mrsam@courier-mta.com>
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.\" References: RFC 2553
+.TH inet_pton 3 2000-12-18 "Linux Man Page" "Linux Programmer's Manual"
+.SH NAME
+inet_pton \- Create a network address structure
+.SH SYNOPSIS
+.nf
+.B #include <sys/types.h>
+.B #include <sys/socket.h>
+.B #include <arpa/inet.h>
+.sp
+.BI "int inet_pton(int " "af" ", const char *" "src" ", void *" "dst" );
+.SH DESCRIPTION
+This function converts the character string
+.I src
+into a network address structure in the
+.I af
+address family, then
+copies
+the network address structure to
+.IR dst .
+.PP
+.BR inet_pton (3)
+extends the
+.BR inet_addr (3)
+function to support multiple address families,
+.BR inet_addr (3)
+is now considered to be deprecated in favor of
+.BR inet_pton (3).
+The following address families are currently supported:
+.TP
+.B AF_INET
+.I src
+points to a character string containing an IPv4 network address in
+the dotted-quad format, "\fIddd.ddd.ddd.ddd\fP".
+The address is converted
+to a
+.I struct in_addr
+and copied to
+.IR dst,
+which must be
+.I sizeof(struct in_addr)
+bytes long.
+.TP
+.B AF_INET6
+.I src
+points to a character string containing an IPv6 network address in
+any allowed IPv6 address format.
+The address is converted
+to a
+.I struct in6_addr
+and copied to
+.IR dst,
+which must be
+.I sizeof(struct in6_addr)
+bytes long.
+.PP
+Certain legacy hex and octal formats of
+.B AF_INET
+addresses are not supported by
+.IR inet_pton ,
+which rejects them.
+.SH "RETURN VALUE"
+.B inet_pton
+returns a negative value and sets
+.I errno
+to
+.B EAFNOSUPPORT
+if
+.I af
+does not contain a valid address family.
+0 is returned if
+.I src
+does not contain a character string representing a valid network
+address in the specified address family.
+A positive value is returned if the network address was successfully
+converted.
+.SH "SEE ALSO"
+.BR inet_ntop (3)
+.SH BUGS
+.B AF_INET6
+does not recognize IPv4 addresses.
+An explicit IPv6-mapped IPv4 address must be supplied in
+.I src
+instead.