日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
GETGRENT(3) FreeBSD ライブラリ関数マニュアル GETGRENT(3) 名称 getgrent, getgrent_r, getgrnam, getgrnam_r, getgrgid, getgrgid_r, setgroupent, setgrent, endgrent -- グループデータベースの操作 ライブラリ 標準 C ライブラリ (libc, -lc) 書式 #include <grp.h> struct group * getgrent(void); int getgrent_r(struct group *grp, char *buffer, size_t bufsize, struct group **result); struct group * getgrnam(const char *name); int getgrnam_r(const char *name, struct group *grp, char *buffer, size_t bufsize, struct group **result); struct group * getgrgid(gid_t gid); int getgrgid_r(gid_t gid, struct group *grp, char *buffer, size_t bufsize, struct group **result); int setgroupent(int stayopen); int setgrent(void); void endgrent(void); 解説 これらの関数は、group(5) に記述されたグループデータベースファイル /etc/group を操作します。データベースの各行は、次のインクルードファイル <grp.h> にある構造体 group によって定義されます: struct group { char *gr_name; /* グループ名 */ char *gr_passwd; /* グループパスワード */ gid_t gr_gid; /* グループ id */ char **gr_mem; /* グループメンバ */ }; 関数 getgrnam() および getgrgid() は、name で指される与えられたグループ名 または gid で指されるグループ id を、グループデータベースでそれぞれ検索し て、最初に遭遇するエントリを返します。同一グループ名または、同一グループ id は、未定義な動作結果となるかもしれません。 getgrent() 関数は、グループデータベースを順次読み込みます。完全なグループ リストを通して処置するプログラム向きです。 関数 getgrent_r(), getgrnam_r() および getgrgid_r() はそれぞれ getgrent(), getgrnam() および getgrgid(), のスレッドセーフバージョンで す。呼び出し側は、grp, buffer, bufsize および result 引数で検索の結果のた めの領域を提供しなければなりません。これらの関数が成功するとき、grp 引数 は満たされ、そしてその引数へのポインタが result に収納されます。エントリ が見つけられないか、またはエラーが発生すると、result は NULL に設定されま す。 必要ならば、これらの関数はグループファイルを読み込みのためにオープンしま す。 setgroupent() 関数はファイルをオープンします、または既にオープンしている 場合はリワインドします。stayopen が 0 でなければ、ファイル記述子はオープ ンしたままにされ、以後の関数呼び出しがきわめて高速化されます。getgrent() は、デフォルトでファイル記述子をクローズしないので、この機能は不要です。 また、グループファイルが更新される可能性があるので、長期間実行するプログ ラムでこの機能を使用するのは危険であることに注意すべきです。 setgrent() 関数は、0 の引数を持つ setgroupent() と同じです。 endgrent() 関数は、オープンされているファイルをクローズします。 戻り値 関数 getgrent(), getgrnam() および getgrgid() は成功すれば group 構造体へ のポインタを返し、エントリが見つけられないか、またはエラーが発生すれば、 NULL を返します。エラーが発生すると、errno は設定されます。存在しないエン トリとエラーを区別する必要があるなら、プログラムはこれらの関数のいずれか を呼び出す前に明白に errno に 0 を設定しなければならないことに注意してく ださい。関数 getgrent_r(), getgrnam_r() および getgrgid_r() はエラーが発 生しなかったならは 0 を、または、失敗すを示すエラー番号を返します。一致エ ントリが見つけられないなら、それはエラーではありません。(上に述べたよう に、result は NULL に設定されて、リターン値が 0 となり、一致エントリは存 在しません。) 関数 setgroupent() および setgrent() は、成功した場合は値 1 を返します。 その他の場合は値 0 が返ります。関数 endgrent() および setgrfile() の戻り 値はありません。 関連ファイル /etc/group グループデータベースファイル 互換性 代替パスワードデータベースの規格を許した歴史的な関数 setgrfile() は、これ まで非難されてきましたが、もはや使用できません。 関連項目 getpwent(3), group(5), nsswitch.conf(5), yp(8) 規格 getgrent(), getgrnam(), getgrnam_r(), getgrgid(), getgrgid_r() および endgrent() 関数は ISO/IEC 9945-1:1996 (``POSIX.1'') に適合しています。 setgrent() 関数はリターンタイプが void よりむしろ int であるという点にお いて規格と異なっています。 歴史 関数 endgrent(), getgrent(), getgrnam(), getgrgid(), setgrent() は、 Version 7 AT&T UNIX で登場しました。関数 setgrfile() と setgroupent() は、4.3BSD-Reno で登場しました。関数 getgrent_r(), getgrnam_r() と getgrgid_r() は、FreeBSD 5.1 で登場しました。 バグ 関数 getgrent(), getgrnam(), getgrgid(), setgroupent(), setgrent() は、そ れらの結果を内部の静的オブジェクトに残し、そのオブジェクトのポインタを返 します。後に続く同じ関数の呼び出しは、その同じオブジェクトを修正します。 関数 getgrent(), getgrent_r(), endgrent(), setgroupent() と setgrent() は ネットワークでつながれた環境でほとんど役に立たなくなり、可能であれば、避 けられるべきです。複数のソースが nsswitch.conf(5) で指定されるなら、 getgrent() と getgrent_r() 関数は二重化された情報を削除する試みを行ないま せん。 FreeBSD 11.2 April 16, 2003 FreeBSD 11.2