tail head cat sleep
QR code linking to this page

manページ  — GETNETGRENT

名称

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
  ネットグループデータベースファイル

関連項目

netgroup(5)

互換性

ネットグループメンバには、他のベンダによる実装との互換性を維持するために 3 つの文字列フィールドがありますが、 domain 文字列の BSD 内での使用法が明らかではありません。

バグ

関数 getnetgrent() は、動的に割り振られたデータ領域のポインタを返しますが、 関数 endnetgrent() が呼び出されるとそのデータ領域は解放されます。

GETNETGRENT (3) June 4, 1993

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Ken Thompson was once asked by a reporter what he would have changed about Unix if he had it all to do over again. His answer: “I would spell creat with an ‘e.'”