EN JA
EUI64(3)
EUI64(3) FreeBSD Library Functions Manual EUI64(3)

名称

eui64, eui64_aton, eui64_ntoa, eui64_ntohost, eui64_hosttonIEEE EUI-64 変換と検索のルーチン

ライブラリ

Standard C Library (libc, -lc)

書式

#include < sys/types.h>
#include < sys/eui64.h>

int
eui64_aton( const char *a, struct eui64 *e);

int
eui64_ntoa( const struct eui64 *id, char *a, size_t len);

int
eui64_ntohost( char *hostname, size_t len, const struct eui64 *id);

int
eui64_hostton( const char *hostname, struct eui64 *id);

解説

これらの関数は、ヘッダファイル < sys/eui64.h> に定義される eui64 構造(体)を使用して、IEEE EUI-64 を操作します:

/* 
 * EUI-64 中のバイトの数。 
 */ 
#define EUI64_LEN  8 
 
/* 
 * IEEE EUI-64 の構造(体)。 
 */ 
struct  eui64 { 
        u_char octet[EUI64_LEN]; 
};

eui64_aton() 関数は、EUI-64 の ASCII 表現を eui64 構造(体)に変換します。同様に、 eui64_ntoa() は、 eui64 構造(体)として指定された EUI-64 を ASCII 文字列に変換します。

eui64_ntohost() と eui64_hostton() 関数は、 /etc/eui64 データベースで指定されるようなそれらに対応するホスト名に EUI64 をマップします。 eui64_ntohost() 関数は EUI-64 からホスト名に変換し、 eui64_hostton() はホスト名から EUI-64 に変換します。

戻り値

成功すれば、 eui64_ntoa() は、EUI-64 の ASCII 表現を含んでいる文字列へのポインタを返します。供給された eui64 構造(体)を変換することができない場合、それは NULL ポインタを返します。同様に、 eui64_aton() は、成功すれば eui64 構造(体)へのポインタを返し、失敗すれば NULL ポインタを返します。

eui64_ntohost() と eui64_hostton() 関数は両方とも、成功すれば 0 を返し、それらが /etc/eui64 データベースに一致するものを見つけられなかった場合、0 以外を返します。

ユーザは、 eui64_ntohost() と eui64_hostton() 関数に渡されたホスト名の文字列が、返されたホスト名を含むのに十分に大きいことを保証しなければなりません。

NIS 相互作用

/etc/eui64 中に 1 つの‘ +’の行が含まれる場合、 eui64_ntohost() と eui64_hostton() 関数は、 /etc/eui64 ファイル中のデータに加えての NIS eui64.bynameeui64.byid マップを調べることを試みます。

関連項目

firewire(4), eui64(5), yp(8)

歴史

これらの関数は、 FreeBSD 5.3 ではじめて登場しました。それらは ethers(3) ファミリ関数に由来します。
March 4, 2004 FreeBSD