ETHER_ATON(3) | Linux Programmer's Manual | ETHER_ATON(3) |
名前
ether_aton, ether_ntoa, ether_ntohost, ether_hostton, ether_line, ether_ntoa_r, ether_aton_r - Ethernet アドレスの操作用関数書式
#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 拡張 */
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() は、標準的な 16進数とコロンの形式で書かれた 48ビットの Ethernet ホストアドレス asc を、ネットワークでのバイト順 (byte order) のバイナリデータに変換し、静的に割り当てられたバッファに格納されたデータへのポインタを返す。このバッファは、これ以降の関数呼び出しで上書きされる。アドレスが不正な場合、 ether_aton() は NULL を返す。関数 ether_ntoa() は、ネットワークのバイト順で表された Ethernet ホストアドレス addr を、標準的な 16進数とコロンの形式の文字列に変換する。但し、先頭の 0 は省略される。変換後の文字列は静的に割り当てられたバッファに格納されて返される。このバッファは、これ以降の関数呼び出しで上書きされる。
関数 ether_ntohost() は、Ethernet アドレスに対応するホスト名を /etc/ethers を検索して割り当てる。対応するホスト名が見つからなかった場合は、非 0 を返す。
関数 ether_hostton() は、ホスト名に対応する Ethernet アドレスを /etc/ethers を検索して割り当てる。対応するホスト名が見つからなかった場合は、非 0 を返す。
関数 ether_line() は、 /etc/ethers 形式になった行を解析し、アドレスとホスト名の組を返す ( /etc/ethers 形式は、Ethernet アドレス、ホスト名が空白文字 (whitespace) で区切られた書式で、'#'以降はコメントとみなされる)。解析できなかった場合は、非 0 を返す。 hostname で指定されたバッファは十分な長さが必要である。つまり、 line と同じ長さでなければならない。
関数 ether_ntoa_r() と ether_aton_r() は、それぞれ ether_ntoa() と ether_aton() のリエントラントでスレッドセーフなバージョンであり、静的なバッファを使用しない。
ether_addr 構造体は <net/ethernet.h> で次のように定義されている:
struct ether_addr {
uint8_t ether_addr_octet[6];
}
準拠
4.3BSD, SunOS.バグ
glibc 2.2.5 での ether_line() の実装はおかしい。関連項目
ethers(5)この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2002-07-20 | GNU |