Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       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) を参照のこと。

       ┌───────────────────┬───────────────┬──────────────────────────────┐
       │InterfaceAttributeValue                        │
       ├───────────────────┼───────────────┼──────────────────────────────┤
       │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/ に書かれている。