OSDN Git Service

(split) LDP: Update release pages based on LDP 3.54 release
[linuxjm/LDP_man-pages.git] / release / man3 / getgrent_r.3
index 8e1beb0..714fe0e 100644 (file)
@@ -1,5 +1,6 @@
 .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
 .\"
+.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
 .\" This is free documentation; you can redistribute it and/or
 .\" modify it under the terms of the GNU General Public License as
 .\" published by the Free Software Foundation; either version 2 of
 .\" GNU General Public License for more details.
 .\"
 .\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, write to the Free
-.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
-.\" USA.
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
 .\"
 .\" Japanese Version Copyright (c) 2004 Yuichi SATO
 .\"         all rights reserved.
 .\" Translated Thu Jul 29 02:26:07 JST 2004
 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>
 .\"
-.TH GETGRENT_R 3 2010-10-21 "GNU" "Linux Programmer's Manual"
-.SH Ì¾Á°
-getgrent_r, fgetgrent_r \- ¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¤ò¥ê¥¨¥ó¥È¥é¥ó¥È (reentrant) ¤Ë¼è¤ê½Ð¤¹
-.SH ½ñ¼°
+.TH GETGRENT_R 3 2010\-10\-21 GNU "Linux Programmer's Manual"
+.SH 名前
+getgrent_r, fgetgrent_r \- グループファイルエントリをリエントラント (reentrant) に取り出す
+.SH 書式
 .nf
-.B #include <grp.h>
+\fB#include <grp.h>\fP
 .sp
-.BI "int getgrent_r(struct group *" gbuf ", char *" buf ,
+\fBint getgrent_r(struct group *\fP\fIgbuf\fP\fB, char *\fP\fIbuf\fP\fB,\fP
 .br
-.BI "               size_t " buflen ", struct group **" gbufp );
+\fB               size_t \fP\fIbuflen\fP\fB, struct group **\fP\fIgbufp\fP\fB);\fP
 .sp
-.BI "int fgetgrent_r(FILE *" fp ", struct group *" gbuf ", char *" buf ,
+\fBint fgetgrent_r(FILE *\fP\fIfp\fP\fB, struct group *\fP\fIgbuf\fP\fB, char *\fP\fIbuf\fP\fB,\fP
 .br
-.BI "                size_t " buflen ", struct group **" gbufp );
+\fB                size_t \fP\fIbuflen\fP\fB, struct group **\fP\fIgbufp\fP\fB);\fP
 .fi
 .sp
 .in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
-.RB ( feature_test_macros (7)
-»²¾È):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
 .in
 .sp
-.BR getgrent_r ():
-_GNU_SOURCE
 .\" FIXME . The FTM requirements seem inconsistent here.  File a glibc bug?
+\fBgetgrent_r\fP(): _GNU_SOURCE
 .br
-.BR fgetgrent_r ():
-_SVID_SOURCE
-.SH ÀâÌÀ
-´Ø¿ô
-.BR getgrent_r ()
-¤È
-.BR fgetgrent_r ()
-¤Ï
-.BR getgrent (3)
-¤È
-.BR fgetgrent (3)
-¤Î¥ê¥¨¥ó¥È¥é¥ó¥ÈÈǤǤ¢¤ë¡£
-Á°¼Ô¤Ï¡¢
-.BR setgrent (3)
-¤Ë¤è¤Ã¤Æ½é´ü²½¤µ¤ì¤¿¥¹¥È¥ê¡¼¥à¤«¤é¡¢¼¡¤Î¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥È¥ê¤òÆɤ߹þ¤à¡£
-¸å¼Ô¤Ï¡¢¥¹¥È¥ê¡¼¥à
-.I fp
-¤«¤é¼¡¤Î¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥È¥ê¤òÆɤ߹þ¤à¡£
+\fBfgetgrent_r\fP(): _SVID_SOURCE
+.SH 説明
+関数 \fBgetgrent_r\fP()  と \fBfgetgrent_r\fP()  は \fBgetgrent\fP(3)  と \fBfgetgrent\fP(3)
+のリエントラント版である。 前者は、 \fBsetgrent\fP(3)  によって初期化されたストリームから、次のグループファイルのエントリを読み込む。
+後者は、ストリーム \fIfp\fP から次のグループファイルのエントリを読み込む。
 .PP
-\fIgroup\fP ¹½Â¤ÂΤÏ
-.I <grp.h>
-¤Ë¤ª¤¤¤Æ°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë:
+\fIgroup\fP 構造体は \fI<grp.h>\fP で以下のように定義されている:
 .sp
 .in +4n
 .nf
 struct group {
-    char    *gr_name;     /* ¥°¥ë¡¼¥×̾ */
-    char    *gr_passwd;   /* ¥°¥ë¡¼¥×¥Ñ¥¹¥ï¡¼¥É */
-    gid_t    gr_gid;      /* ¥°¥ë¡¼¥× ID */
-    char   **gr_mem;      /* ¥°¥ë¡¼¥×¥á¥ó¥Ð */
+    char    *gr_name;     /* グループ名 */
+    char    *gr_passwd;   /* グループパスワード */
+    gid_t    gr_gid;      /* グループ ID */
+    char   **gr_mem;      /* グループメンバ */
 };
 .fi
 .in
 .PP
-¤³¤Î¹½Â¤ÂΤΥե£¡¼¥ë¥É¤Î¾ÜºÙ¤Ï
-.BR group (5)
-¤ò»²¾È¤Î¤³¤È¡£
+この構造体のフィールドの詳細は \fBgroup\fP(5)  を参照のこと。
 .PP
-¥ê¥¨¥ó¥È¥é¥ó¥È¤Ç¤Ê¤¤´Ø¿ô¤ÏÀÅŪ¤Ê³ÊǼÎΰè¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£
-¤³¤ÎÀÅŪ¤Ê³ÊǼÎΰè¤Ë¤Ï¡¢¹¹¤Ë¥°¥ë¡¼¥×̾¡¦¥Ñ¥¹¥ï¡¼¥É¡¦
-¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬´Þ¤Þ¤ì¤ë¡£
-¤³¤³¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥ê¥¨¥ó¥È¥é¥ó¥È¤Ê´Ø¿ô¤Ï¡¢
-¸Æ¤Ó½Ð¤·Â¦¤«¤éÄ󶡤µ¤ì¤ë¥Ð¥Ã¥Õ¥¡¤Ë¥°¥ë¡¼¥×̾¤Ê¤ÉÁ´¤Æ¤òÊÖ¤¹¡£
-ºÇ½é¤Î°ú¤­¿ô¤È¤·¤Æ \fIstruct group\fP ¤òÊÝ»ý¤Ç¤­¤ë¥Ð¥Ã¥Õ¥¡
-.I gbuf
-¤¬¤¢¤ë¡£
-¼¡¤Ë¤½¤Î¾¤Îʸ»úÎó¤òÊÝ»ý¤Ç¤­¤ë¥µ¥¤¥º
-.I buflen
-¤Î¥Ð¥Ã¥Õ¥¡
-.I buf
-¤¬¤¢¤ë¡£
-¤³¤ì¤é¤Î´Ø¿ô¤Î·ë²Ì (¥¹¥È¥ê¡¼¥à¤«¤éÆɤ߹þ¤Þ¤ì¤¿ \fIstruct group\fP) ¤Ï¡¢
-Ä󶡤µ¤ì¤¿¥Ð¥Ã¥Õ¥¡
-.IR *gbuf
-¤Ë³ÊǼ¤µ¤ì¡¢¤³¤Î \fIstruct group\fP ¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ï
-.IR *gbufp
-¤ËÊÖ¤µ¤ì¤ë¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¡¢¤³¤ì¤é¤Î´Ø¿ô¤Ï 0 ¤òÊÖ¤·¡¢
-.RI * gbufp
-¤Ï \fIstruct group\fP ¤Ø¤Î¥Ý¥¤¥ó¥¿¤È¤Ê¤ë¡£
-¥¨¥é¡¼¤Î¾ì¹ç¡¢¤³¤ì¤é¤Î´Ø¿ô¤Ï¥¨¥é¡¼ÃͤòÊÖ¤·¡¢
-.RI * gbufp
-¤Ï NULL ¤Ë¤Ê¤ë¡£
-.SH ¥¨¥é¡¼
-.TP
-.B ENOENT
-¼¡¤Î¥¨¥ó¥È¥ê¤¬¤Ê¤¤¡£
-.TP
-.B ERANGE
-½½Ê¬¤Ê¥Ð¥Ã¥Õ¥¡¶õ´Ö¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤¡£
-¤â¤Ã¤ÈÂ礭¤Ê¥Ð¥Ã¥Õ¥¡¤ÇºÆÅټ¹Ԥ¹¤ë¤³¤È¡£
-.SH ½àµò
-¤³¤ì¤é¤Î´Ø¿ô¤Ï GNU ³ÈÄ¥¤Ç¤¢¤ê¡¢POSIX ÈǤδؿô
-.BR getpwnam_r (3)
-¤Î·Á¼°¤Ë»÷¤»¤Æ¤¢¤ë¡£
-¾¤Î¥·¥¹¥Æ¥à¤Ç¤Ï°Ê²¼¤Î¥×¥í¥È¥¿¥¤¥×¤¬»È¤ï¤ì¤Æ¤¤¤ë¡£
+リエントラントでない関数は静的な格納領域へのポインタを返す。 この静的な格納領域には、更にグループ名・パスワード・ メンバへのポインタが含まれる。
+ここで説明されているリエントラントな関数は、 呼び出し側から提供されるバッファにグループ名など全てを返す。 最初の引き数として \fIstruct
+group\fP を保持できるバッファ \fIgbuf\fP がある。 次にその他の文字列を保持できるサイズ \fIbuflen\fP のバッファ \fIbuf\fP
+がある。 これらの関数の結果 (ストリームから読み込まれた \fIstruct group\fP) は、 提供されたバッファ \fI*gbuf\fP
+に格納され、この \fIstruct group\fP へのポインタは \fI*gbufp\fP に返される。
+.SH 返り値
+成功した場合、これらの関数は 0 を返し、 *\fIgbufp\fP は \fIstruct group\fP へのポインタとなる。
+エラーの場合、これらの関数はエラー値を返し、 *\fIgbufp\fP は NULL になる。
+.SH エラー
+.TP 
+\fBENOENT\fP
+次のエントリがない。
+.TP 
+\fBERANGE\fP
+十分なバッファ空間が与えられていない。 もっと大きなバッファで再度実行すること。
+.SH 準拠
+これらの関数は GNU 拡張であり、POSIX 版の関数 \fBgetpwnam_r\fP(3)  の形式に似せてある。
+他のシステムでは以下のプロトタイプが使われている。
 .sp
 .nf
 .in +4n
@@ -136,7 +102,7 @@ struct group *getgrent_r(struct group *grp, char *buf,
 .in
 .fi
 .sp
-¤è¤êÎɤ¤¤â¤Î¤Ç¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
+より良いものでは、以下のようになっている。
 .sp
 .nf
 .in +4n
@@ -144,13 +110,10 @@ int getgrent_r(struct group *grp, char *buf, int buflen,
                FILE **gr_fp);
 .in
 .fi
-.SH Ãí°Õ
-´Ø¿ô
-.BR getgrent_r ()
-¤ÏËÜÅö¤Î¥ê¥¨¥ó¥È¥é¥ó¥È¤Ç¤Ï¤Ê¤¤¡£
-¤Ê¤¼¤Ê¤é¡¢¥¹¥È¥ê¡¼¥à¤ÎÆɤ߹þ¤ß°ÌÃÖ¤ò
-¾¤ÎÁ´¤Æ¤Î¥¹¥ì¥Ã¥É¤È¶¦Í­¤·¤Æ¤¤¤ë¤¿¤á¤Ç¤¢¤ë¡£
-.SH Îã
+.SH 注意
+関数 \fBgetgrent_r\fP()  は本当のリエントラントではない。 なぜなら、ストリームの読み込み位置を
+他の全てのスレッドと共有しているためである。
+.SH 例
 .nf
 #define _GNU_SOURCE
 #include <grp.h>
@@ -182,7 +145,7 @@ main(void)
     exit(EXIT_SUCCESS);
 }
 .fi
-.\" ¤¿¤Ö¤ó¥¨¥é¡¼¥Á¥§¥Ã¥¯¤òÄɲ䷤ơ¢strerror_r ¤ò»È¤¦¤Ù¤­¤À¤í¤¦¡£
+.\" perhaps add error checking - should use strerror_r
 .\" #include <errno.h>
 .\" #include <stdlib.h>
 .\"         if (i) {
@@ -191,10 +154,10 @@ main(void)
 .\"               printf("getgrent_r: %s", strerror(i));
 .\"               exit(EXIT_FAILURE);
 .\"         }
-.SH ´ØÏ¢¹àÌÜ
-.BR fgetgrent (3),
-.BR getgrent (3),
-.BR getgrgid (3),
-.BR getgrnam (3),
-.BR putgrent (3),
-.BR group (5)
+.SH 関連項目
+\fBfgetgrent\fP(3), \fBgetgrent\fP(3), \fBgetgrgid\fP(3), \fBgetgrnam\fP(3),
+\fBputgrent\fP(3), \fBgroup\fP(5)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.54 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。