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

名称
ライブラリ
書式
解説
関連ファイル
診断
関連項目
歴史
バグ

jman



Time: 07:06:53 GMT, January 12, 2009