GETPROTOENT(3) | FreeBSD Library Functions Manual | GETPROTOENT(3) |
名称
getprotoent, getprotobynumber, getprotobyname, setprotoent, endprotoent — プロトコルエントリを取得するライブラリ
Standard C Library (libc, -lc)書式
#include < netdb.h> struct protoent *
getprotoent( void);
struct protoent *
getprotobyname( const char *name);
struct protoent *
getprotobynumber( int proto);
void
setprotoent( int stayopen);
void
endprotoent( void);
解説
getprotoent(), getprotobyname() と getprotobynumber() 関数は、それぞれ、ネットワークプロトコルデータベース /etc/protocols の行の切り離されたフィールドを含んでいる、次の構造があるオブジェクトへのポインタを返します。
struct protoent { char *p_name; /* プロトコルの正式名 */ char **p_aliases; /* 別名リスト */ int p_proto; /* プロトコル番号 */ };
この構造体のメンバは、次の通りです:
- p_name
- プロトコルの正式名。
- p_aliases
- プロトコルの別名 (エイリアス) の 0 で終了するリスト。
- p_proto
- プロトコル番号。
getprotoent() 関数は、必要ならば、ファイルをオープンして、ファイルの次の行を読み込みます。
setprotoent() 関数は、ファイルをオープンして、リワインドします。 stayopen フラグが 0 でないなら、ネットデータベースは、 getprotobyname() または getprotobynumber() への各呼び出しの後に、クローズされません。
endprotoent() 関数は、ファイルをクローズします。
getprotobyname() と getprotobynumber() 関数は、一致するプロトコル名またはプロトコル番号が見つかるか、または EOF に到達するまで、ファイルを最初から順次検索します。
戻り値
EOF であるか、またはエラーであるなら、NULL ポインタが返されます。関連ファイル
- /etc/protocols
関連項目
protocols(5)歴史
getprotoent(), getprotobynumber(), getprotobyname(), setprotoent() と endprotoent() 関数は、 4.2BSD で登場しました。バグ
これらの関数は、スレッド特有のデータ空間を使用します。データが将来の使用のために必要とされるなら、あらゆる続く呼び出しで、それを上書きする前に、コピーされるべきです。現在、インターネットプロトコルだけが解釈されます。June 4, 1993 | FreeBSD |