NAME¶
inet_pton - Create a network address structure
SYNOPSIS¶
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
int inet_pton(int af, const char *src, void *dst);
DESCRIPTION¶
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(3) 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(3). 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.
RETURN VALUES¶
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 succesfully converted.
SEE ALSO¶
inet_ntop(3)
BUGS¶
AF_INET6 does not recognize IPv4 addresses. An explicit IPv6-mapped IPv4
address must be supplied in
src instead.