GETPROTOENT(3) FreeBSD ライブラリ関数マニュアル GETPROTOENT(3)
名称
|
getprotoent, getprotobynumber, getprotobyname, setprotoent, endprotoent − プロトコルエントリの取得 |
ライブラリ
|
標準 C ライブラリ (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 p_proto getprotoent() 関数は、ファイルの次の行を読み込みます。この際、必要ならば ファイルをオープンします。 setprotoent() 関数は、ファイルをオープンしてリワインドします。 stayopen フラグが 0 でなければ、 getprotobyname() または getprotobynumber() のそれ ぞれの呼び出しの後でも、ネットデータベースはクローズされません。 endprotoent() 関数はファイルをクローズします。 getprotobyname() および getprotobynumber() 関数は、適合するプロトコル名ま たはプロトコル番号が見つかるか、または EOF に達するまで、ファイルを最初か ら順次検索します。 戻り値 |
|
EOF またはエラーで Null ポインタ (0) が返ります。 |
関連ファイル
/etc/protocols
|
関連項目 |
歴史
|
getprotoent(), getprotobynumber(), getprotobyname(), setprotoent() および endprotoent() 関数は 4.2BSD で登場しました。 |
バグ
|
これらの関数は静的データ空間を使用します。後でこのデータを使用する必要が あれば、以後のこれらの関数の呼び出しでデータが上書きされる前に、コピーし て保存する必要があります。なお、プロトコルデータとして受け入れるのは現 在、インターネットプロトコルだけです。 FreeBSD 10.0 June 4, 1993 FreeBSD 10.0 |