侧边栏壁纸
博主头像
noerror

虚灵不寐,众理具而万事出。

  • 累计撰写 239 篇文章
  • 累计创建 9 个标签
  • 累计收到 2 条评论
标签搜索

目 录CONTENT

文章目录

ether_aton函数用法详解

noerror
2022-11-08 / 0 评论 / 0 点赞 / 238 阅读 / 536 字 / 正在检测是否收录...

ether_aton函数用法详解

ether_aton函数简介

  • 头文件包含
#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 );
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函数常见使用错误

  • 编译错误
    warning: implicit declaration of function ‘ether_aton’ [-Wimplicit-function-declaration]
    解决办法:包含头文件
#include <netinet/ether.h>

ether_aton函数详细描述

ether_aton ()将48位以太网主机地址asc从标准的十六进制数字和冒号表示法转换为网络字节顺序的二进制数据,并在静态分配的缓冲区中返回指向它的指针,后续调用将覆盖该指针。如果地址无效,PPP2返回NULL。
ether_ntoa ()函数将按网络字节顺序给出的以太网主机地址addr转换为标准十六进制数字和冒号表示法的字符串,省略前导零。该字符串在静态分配的缓冲区中返回,后续调用将覆盖该缓冲区。
ether_ntohost ()函数将以太网地址映射到/etc/ethers中相应的主机名,如果找不到,则返回非零值。
ether_hostton ()函数将主机名映射到/etc/ethers中相应的以太网地址,如果找不到,则返回非零值。
ether_line ()函数解析/etc/ethers格式的行(以太网地址后跟空格后跟主机名;\(aq#\(aq引入注释),并返回地址和主机名对,如果无法解析,则返回非零。hostname指向的缓冲区必须足够长,例如,与line 的长度相同
函数ether_ntoa_r ()和ether_aton_r ()分别是ether_ntoa ()和ether_aton ()的可重入线程安全版本,不使用静态缓冲区。
结构ether_addr在<net/etherneth>中定义为:

struct ether_addr {
   uint8_t ether_addr_octet[6];
}
0

评论区