GETNETGRENT(3) FreeBSD ライブラリ関数マニュアル GETNETGRENT(3)
名称
getnetgrent, innetgr, setnetgrent, endnetgrent − ネットグループデータベー スの操作 |
書式
int |
getnetgrent(char **host, char **user, char **domain); int |
innetgr(const char *netgroup, const char *host, const char *user, const char *domain); void |
setnetgrent(const char *netgroup); void |
endnetgrent(void); |
解説 |
これらの関数はいずれも、 netgroup(5) に記述されたネットグループデータベー スのファイル /etc/netgroup を操作します。データベースはネットグループの集 合を定義しますが、ネットグループはぞれぞれ、1 つまたは複数の次のような 3 つ組で構成されます。 (host, user, domain) それぞれ、ホスト、ユーザおよびドメインの組み合わせを定義します。 3 つの フィールドのどれにも、あらゆるストリングに適合する ‘’ワイルドカード’ を指 定可能です。 関数 getnetgrent() は、現在のネットグループの次のメンバの、文字列に対する 3 つのポインタ引数を設定します。文字列ポインタのどれかが (char *)0 だと、 そのフィールドはワイルドカードと見なされます。 関数 setnetgrent() は現在のネットグループを設定し、 endnetgrent() は現在 のネットグループを終了します。前の呼び出しとは違うネットグループに対して setnetgrent() が呼び出された場合、暗黙に endnetgrent() が実行されます。 setnetgrent() はまた、ネットグループの最初のメンバのオフセットを設定しま す。 関数 innetgr() は適合するものがあるかどうか、指定したグループにあるすべて のフィールドを検索します。 host user domain 引数のどれかが (char *)0 の場 合、そのフィールドは指定されたネットグループメンバのあらゆる文字列値に適 合します。 |
戻り値
関数 getnetgrent() は ‘‘それ以上ネットグループメンバがない’’ 場合には 0 を返し、その他の場合は 1 を返します。関数 innetgr() は、適合するフィール ドがあった場合は 1 を、その他の場合は 0 を返します。関数 setnetgrent() お よび endnetgrent() には戻り値がありません。 |
関連ファイル
/etc/netgroup
ネットグループデータベースファイル 関連項目 |
互換性
ネットグループメンバには、他のベンダによる実装との互換性を維持するために 3 つの文字列フィールドがありますが、 domain 文字列の BSD 内での使用法が明 らかではありません。 |
バグ
関数 getnetgrent() は、動的に割り振られたデータ領域のポインタを返します が、関数 endnetgrent() が呼び出されるとそのデータ領域は解放されます。 FreeBSD 10.0 June 4, 1993 FreeBSD 10.0 |