Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all ![bug](/img/bug.png)
![bug](/img/bug.png)
名前
getprotoent, getprotobyname, getprotobynumber, setprotoent, endprotoent - プロトコルのエントリーを取得す る
書式
#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() 関数は、プロトコルのデータベース (protocols(5) 参照) から次のエントリーを読み込み、 その エントリーを protoent 構造体の要素別のフィールドに格納し、 その構造体を返す。 必要であれば、データベース への接続がオープンされる。 getprotobyname() 関数は、プロトコル名 name にマッチするエントリーを データベースから探し、そのエントリー を収めた protoent 構造体を返す。 必要であれば、データベースへの接続がオープンされる。 getprotobynumber() 関数は、プロトコル番号 number にマッチするエントリーを データベースから探し、そのエン トリーを収めた protoent 構造体を返す。 必要であれば、データベースへの接続がオープンされる。 setprotoent() 関数はデータベースへの接続をオープンし、 次の読み込みエントリーを先頭のエントリーに設定す る。 stayopen が 0 でない場合、 一つ一つの getproto*() 関数の呼び出し間でデータベースへの接続をクローズ しない。 endprotoent() 関数はデータベースへの接続をクローズする。 protoent 構造体は <netdb.h> で以下のように定義されている。 struct protoent { char *p_name; /* official protocol name */ char **p_aliases; /* alias list */ int p_proto; /* protocol number */ } protoent 構造体のメンバーは以下の通り。 p_name プロトコルの正式名 (official name)。 p_aliases プロトコルの別名のリスト。 リストはヌルで終端される。 p_proto プロトコルの番号
返り値
getprotoent(), getprotobyname(), getprotobynumber() 関数は、静的に割り当てられた protoent 構造体へのポイ ンターを返す。 エラーが起こったり、ファイルの最後に達した場合は NULL を返す。
ファイル
/etc/protocols プロトコルのデータベースファイル
属性
この節で使用されている用語の説明は attributes(7) を参照のこと。 ┌───────────────────┬───────────────┬──────────────────────────────┐ │Interface │ Attribute │ Value │ ├───────────────────┼───────────────┼──────────────────────────────┤ │getprotoent() │ Thread safety │ MT-Unsafe race:protoent │ │ │ │ race:protoentbuf locale │ ├───────────────────┼───────────────┼──────────────────────────────┤ │getprotobyname() │ Thread safety │ MT-Unsafe race:protobyname │ │ │ │ locale │ ├───────────────────┼───────────────┼──────────────────────────────┤ │getprotobynumber() │ Thread safety │ MT-Unsafe race:protobynumber │ │ │ │ locale │ ├───────────────────┼───────────────┼──────────────────────────────┤ │setprotoent(), │ Thread safety │ MT-Unsafe race:protoent │ │endprotoent() │ │ locale │ └───────────────────┴───────────────┴──────────────────────────────┘ In the above table, protoent in race:protoent signifies that if any of the functions setprotoent(), getprotoent(), or endprotoent() are used in parallel in different threads of a program, then data races could occur.
準拠
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
関連項目
getnetent(3), getprotoent_r(3), getservent(3), protocols(5)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告 に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。