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() 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.

RETURN VALUE

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.

CONFORMING TO

POSIX.1-2001.

BUGS

AF_INET6 does not recognize IPv4 addresses. An explicit IPv6-mapped IPv4 address must be supplied in src instead.

SEE ALSO

inet_ntop(3)

COLOPHON

This page is part of release 2.79 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.