inet_pton — Create a network address structure
#include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h>
int
inet_pton( |
int | af, |
const char * | src, | |
void * | dst) ; |
This function converts the character string src
into a network address
structure in the af
address family, then copies the network address structure to
dst
.
inet_pton
() extends the
inet_addr(3) function to
support multiple address families, inet_addr(3) is now
considered to be deprecated in favor of inet_pton
(). The following address families
are currently supported:
AF_INET
src
points
to a character string containing an IPv4 network
address in the dotted-quad format, "ddd.ddd.ddd.ddd
". The
address is converted to a struct in_addr and copied to
dst
, which must
be sizeof(struct
in_addr) bytes long.
AF_INET6
src
points
to a character string containing an IPv6 network
address in any allowed IPv6 address format. The address
is converted to a struct
in6_addr and copied to dst
, which must be
sizeof(struct
in6_addr) bytes long.
Certain legacy hex and octal formats of AF_INET
addresses are not supported by
inet_pton
(), which rejects
them.
inet_pton
() returns a
negative value and sets errno
to
EAFNOSUPPORT if af
does not contain a valid
address family. 0 is returned if 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.
AF_INET6
does not recognize
IPv4 addresses. An explicit IPv6-mapped IPv4 address must be
supplied in src
instead.