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 |