'\" t .\" Copyright 2000 Sam Varshavchik .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" References: RFC 2553 .TH inet_ntop 3 2023-10-31 "Linux man-pages 6.06" .SH NAME inet_ntop \- convert IPv4 and IPv6 addresses from binary to text form .SH LIBRARY Standard C library .RI ( libc ", " \-lc ) .SH SYNOPSIS .nf .B #include .P .BI "const char *inet_ntop(int " af ", const void *restrict " src , .BI " char " dst "[restrict ." size "], socklen_t " size ); .fi .SH DESCRIPTION This function converts the network address structure .I src in the .I af address family into a character string. The resulting string is copied to the buffer pointed to by .IR dst , which must be a non-null pointer. The caller specifies the number of bytes available in this buffer in the argument .IR size . .P .BR inet_ntop () extends the .BR inet_ntoa (3) function to support multiple address families, .BR inet_ntoa (3) is now considered to be deprecated in favor of .BR inet_ntop (). The following address families are currently supported: .TP .B AF_INET .I src points to a .I struct in_addr (in network byte order) which is converted to an IPv4 network address in the dotted-decimal format, "\fIddd.ddd.ddd.ddd\fP". The buffer .I dst must be at least .B INET_ADDRSTRLEN bytes long. .TP .B AF_INET6 .I src points to a .I struct in6_addr (in network byte order) which is converted to a representation of this address in the most appropriate IPv6 network address format for this address. The buffer .I dst must be at least .B INET6_ADDRSTRLEN bytes long. .SH RETURN VALUE On success, .BR inet_ntop () returns a non-null pointer to .IR dst . NULL is returned if there was an error, with .I errno set to indicate the error. .SH ERRORS .TP .B EAFNOSUPPORT .I af was not a valid address family. .TP .B ENOSPC The converted address string would exceed the size given by .IR size . .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). .TS allbox; lbx lb lb l l l. Interface Attribute Value T{ .na .nh .BR inet_ntop () T} Thread safety MT-Safe locale .TE .SH STANDARDS POSIX.1-2008. .SH HISTORY POSIX.1-2001. .P Note that RFC\ 2553 defines a prototype where the last argument .I size is of type .IR size_t . Many systems follow RFC\ 2553. glibc 2.0 and 2.1 have .IR size_t , but 2.2 and later have .IR socklen_t . .\" 2.1.3: size_t, 2.1.91: socklen_t .SH BUGS .B AF_INET6 converts IPv4-mapped IPv6 addresses into an IPv6 format. .SH EXAMPLES See .BR inet_pton (3). .SH SEE ALSO .BR getnameinfo (3), .BR inet (3), .BR inet_pton (3)