tail head cat sleep
QR code linking to this page

manページ  — GETPROTOENT

名称

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 ポインタ (0) が返ります。

関連ファイル

/etc/protocols
 

関連項目

protocols(5)

歴史

getprotoent(), getprotobynumber(), getprotobyname(), setprotoent() および endprotoent() 関数は BSD 4.2 で登場しました。

バグ

これらの関数は静的データ空間を使用します。 後でこのデータを使用する必要があれば、以後のこれらの関数の呼び出しで データが上書きされる前に、コピーして保存する必要があります。 なお、プロトコルデータとして受け入れるのは現在、 インターネットプロトコルだけです。

GETPROTOENT (3) June 4, 1993

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

What will happen when the 32-bit Unix date goes negative in mid-January 2038 does not bear thinking about.
— Henry Spencer