ETHER_ATON - Linux手册页

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

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

名称

ether_aton,ether_ntoa,ether_ntohost,ether_hostton,ether_line,ether_ntoa_r,ether_aton_r-以太网地址操作例程

语法

#include <netinet/ether.h>

char *ether_ntoa(const struct ether_addr *addr);

struct ether_addr *ether_aton(const char *asc);

int ether_ntohost(char *hostname, const struct ether_addr *addr);

int ether_hostton(const char *hostname, struct ether_addr *addr);

int ether_line(const char *line, struct ether_addr *addr,
               char *hostname);

/* GNU extensions */

char *ether_ntoa_r(const struct ether_addr *addr, char *buf);

struct ether_addr *ether_aton_r(const char *asc,
                                struct ether_addr *addr);

说明

ether_aton()将标准的十六进制数字和冒号表示的48位以太网主机地址asc转换为网络字节顺序的二进制数据,并在静态分配的缓冲区中返回指向该指针的指针,随后的调用将覆盖该指针。如果地址无效,ether_aton()将返回NULL。

ether_ntoa()函数将以网络字节顺序指定的以太网主机地址addr转换为标准十六进制数字和冒号表示法的字符串,并省略前导零。该字符串在静态分配的缓冲区中返回,后续调用将覆盖该缓冲区。

ether_ntohost()函数将以太网地址映射到/ etc / ethers中的相应主机名,如果找不到,则返回非零值。

ether_hostton()函数将主机名映射到/ etc / ethers中的相应以太网地址,如果找不到,则返回非零值。

ether_line()函数解析/ etc / ethers格式的行(以太网地址,后跟空白,然后是主机名; aq#aq引入注释),并返回一个地址和主机名对,如果不能解析则返回非零。主机名指向的缓冲区必须足够长,例如,具有与行相同的长度。

函数ether_ntoa_r()和ether_aton_r()分别是ether_ntoa()和ether_aton()的可重入线程安全版本,并且不使用静态缓冲区。

结构ether_addr定义为:

struct ether_addr {
    uint8_t ether_addr_octet[6];
}

属性

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

InterfaceAttributeValue
ether_aton(),ether_ntoa()Thread safetyMT-Unsafe
ether_ntohost(),ether_hostton(),ether_line(),ether_ntoa_r(),ether_aton_r()Thread safetyMT-Safe

遵循规范

4.3BSD,SunOS。

BUGS

在glibc 2.2.5和更早版本中,ether_line()的实现被破坏。

另外参见

醚(5)

出版信息

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