GETSERVENT
Section: C Library Functions (3)
索引
jman
BSD mandoc
索引
名称
getservent
getservbyport
getservbyname
setservent
endservent
- サービスエントリの取得
索引
ライブラリ
Lb libc
索引
書式
In netdb.h
Ft struct servent *
Fn getservent
Ft struct servent *
Fn getservbyname const char *name const char *proto
Ft struct servent *
Fn getservbyport int port const char *proto
Ft void
Fn setservent int stayopen
Ft void
Fn endservent void
索引
解説
Fn getservent ,
Fn getservbyname
および
Fn getservbyport
関数はそれぞれ、次に示す構造を持つオブジェクトへのポインタを返します。
構造体にはネットワークサービスデータベース
/etc/services
にある、行の内訳フィールドが含まれます。
struct servent {
char *s_name; /* サービスのオフィシャル名 */
char **s_aliases; /* エイリアスリスト */
int s_port; /* サービスが常駐するポート */
char *s_proto; /* 使用するプロトコル */
};
この構造体のメンバは次のとおりです。
- Fa s_name
-
サービスのオフィシャル名。
- Fa s_aliases
-
サービスの別名 (エイリアス) の 0 で終るリスト。
- Fa s_port
-
サービスが存在するポート番号。
ポート番号はネットワークバイトオーダで返されます。
- Fa s_proto
-
サービスとのコンタクト中に使用するプロトコル名。
Fn getservent
関数は、ファイルの次の行を読み込みます。
その際、必要ならばファイルをオープンします。
Fn setservent
関数はファイルをオープンしリワインドします。
Fa stayopen
フラグが 0 でなければ、
Fn getservbyname
または
Fn getservbyport
の各呼び出しの後でも、ネットデータベースはクローズされません。
Fn endservent
関数はファイルをクローズします。
Fn getservbyname
および
Fn getservbyport
関数は、適合するプロトコル名またはポート番号
(これはネットワークバイトオーダで指定されなければなりません)
が見つかるか、さもなければ
EOF
に達するまで、ファイルを最初から順次検索します。
プロトコル名が与えられていても (
NULL
でなくても)、検索は適合するプロトコルが見つかるまで続けられます。
索引
関連ファイル
- /etc/services
-
索引
診断
EOF
またはエラーの場合、
Null
ポインタ
(0)
が返ります。
索引
関連項目
getprotoent(3),
services(5)
索引
歴史
Fn getservent ,
Fn getservbyport ,
Fn getservbyname ,
Fn setservent
および
Fn endservent
関数は、
BSD 4.2
で登場しました。
索引
バグ
これらの関数は静的データ記憶域を使用します。
後でこのデータを使用する必要があれば、以後のこれらの関数呼び出しで
データが上書きされる前に、コピーして保存する必要があります。
ポート番号がすべて 32 ビットに適合すると期待するのは、たぶん素朴過ぎます。
索引
Index
- 名称
-
- ライブラリ
-
- 書式
-
- 解説
-
- 関連ファイル
-
- 診断
-
- 関連項目
-
- 歴史
-
- バグ
-
Time: 07:06:53 GMT, January 12, 2009