INET_NTOP - Linux手册页

时间:2019-08-20 18:00:38  来源:igfitidea点击:

Linux程序员手册 第3部分
更新日期: 2020-06-09

名称

inet_ntop-将IPv4和IPv6地址从二进制转换为文本形式

语法

#include <arpa/inet.h>

const char *inet_ntop(int af, const void *src,
                      char *dst, socklen_t size);

说明

此功能将af地址族中的网络地址结构src转换为字符串。结果字符串将复制到dst指向的缓冲区,该缓冲区必须是非null指针。调用方以参数大小指定此缓冲区中可用的字节数。

inet_ntop()扩展了inet_ntoa(3)函数以支持多个地址族,现在认为inet_ntoa(3)已过时,而支持inet_ntop()。当前支持以下地址族:

AF_INET
src指向结构in_addr(以网络字节顺序),该结构以点分十进制格式" ddd.ddd.ddd.ddd"转换为IPv4网络地址。缓冲区dst的长度必须至少为INET_ADDRSTRLEN字节。
AF_INET6
src指向结构in6_addr(以网络字节顺序),该结构以最适合该地址的IPv6网络地址格式转换为该地址的表示形式。缓冲区dst必须至少为INET6_ADDRSTRLEN字节长。

返回值

成功时,inet_ntop()返回指向dst的非空指针。如果存在错误,则返回NULL,并设置errno表示错误。

错误说明

EAFNOSUPPORT
AF不是有效的地址族。
ENOSPC
转换后的地址字符串将超过size给定的大小。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
inet_ntop()Thread safetyMT-Safe locale

遵循规范

POSIX.1-2001,POSIX.1-2008。请注意,RFC 2553定义了一个原型,其中最后一个参数的大小为size_t类型。许多系统遵循RFC 2553.Glibc 2.0和2.1具有size_t,但2.2及更高版本具有socklen_t。

BUGS

AF_INET6将映射了IPv4的IPv6地址转换为IPv6格式。

示例

参见inet_pton(3)。

另外参见

getnameinfo(3),inet(3),inet_pton(3)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/