Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       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];
           }

属性

       この節で使用されている用語の説明は attributes(7) を参照のこと。

       ┌──────────────────────────────────┬───────────────┬───────────┐
       │InterfaceAttributeValue     │
       ├──────────────────────────────────┼───────────────┼───────────┤
       │ether_aton(), ether_ntoa()        │ Thread safety │ MT-Unsafe │
       ├──────────────────────────────────┼───────────────┼───────────┤
       │ether_ntohost(), ether_hostton(), │ Thread safety │ MT-Safe   │
       │ether_line(), ether_ntoa_r(),     │               │           │
       │ether_aton_r()                    │               │           │
       └──────────────────────────────────┴───────────────┴───────────┘

準拠

       4.3BSD, SunOS.

バグ

       glibc 2.2.5 以前では、 ether_line()  の実装はおかしい。

関連項目

       ethers(5)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの
       説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。