OSDN Git Service

長音記号の修正を release に反映
[linuxjm/LDP_man-pages.git] / release / man3 / getgrnam.3
index de47ada..7ae4f82 100644 (file)
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH GETGRNAM 3 2012\-04\-23 "" "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 1997 HIROFUMI Nishizuka
+.\"    all rights reserved.
+.\" Translated 1997-12-19, HIROFUMI Nishizuka <nishi@rpts.cl.nec.co.jp>
+.\" Updated & Modefied 1999-02-26, Shouichi Saito
+.\" Updated & Modified 2004-06-05, Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated & Modified 2005-09-06, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2008-12-24, Akihiro MOTOKI, LDP v3.14
+.\" Updated 2012-05-01, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-07-17, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-08-16, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH GETGRNAM 3 2014\-08\-19 "" "Linux Programmer's Manual"
 .SH 名前
-getgrnam, getgrnam_r, getgrgid, getgrgid_r \- グループファイルエントリの取り出し
+getgrnam, getgrnam_r, getgrgid, getgrgid_r \- ã\82°ã\83«ã\83¼ã\83\97ã\83\95ã\82¡ã\82¤ã\83«ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\81®å\8f\96ã\82\8aå\87ºã\81\97
 .SH 書式
 .nf
 \fB#include <sys/types.h>\fP
@@ -68,22 +80,23 @@ _POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE
 .RE
 .ad b
 .SH 説明
-\fBgetgrnam\fP()  é\96¢æ\95°ã\81¯ã\80\81ã\82°ã\83«ã\83¼ã\83\97å\90\8d \fIname\fP ã\81«ã\83\9eã\83\83ã\83\81ã\81\99ã\82\8bã\82°ã\83«ã\83¼ã\83\97ã\83»ã\83\87ã\83¼ã\82¿ã\83\99ã\83¼ã\82¹ã\81®ã\82¨ã\83³ã\83\88ã\83ª
-è¦\81ç´ æ¯\8eã\81«å\88\86解ã\81\97ã\80\81å\90\84è¦\81ç´ ã\82\92æ ¼ç´\8dã\81\97ã\81\9fæ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92è¿\94ã\81\99 (ã\83\91ã\82¹ã\83¯ã\83¼ã\83\89ã\83»データベースの例: ローカルのグループファイル \fI/etc/group\fP,
+\fBgetgrnam\fP()  é\96¢æ\95°ã\81¯ã\80\81ã\82°ã\83«ã\83¼ã\83\97å\90\8d \fIname\fP ã\81«ã\83\9eã\83\83ã\83\81ã\81\99ã\82\8bã\82°ã\83«ã\83¼ã\83\97ã\83\87ã\83¼ã\82¿ã\83\99ã\83¼ã\82¹ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\83¼
+è¦\81ç´ æ¯\8eã\81«å\88\86解ã\81\97ã\80\81å\90\84è¦\81ç´ ã\82\92æ ¼ç´\8dã\81\97ã\81\9fæ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99 (ã\83\91ã\82¹ã\83¯ã\83¼ã\83\89データベースの例: ローカルのグループファイル \fI/etc/group\fP,
 NIS, LDAP)。
 .PP
-\fBgetgrgid\fP()  é\96¢æ\95°ã\81¯ã\80\81ã\82°ã\83«ã\83¼ã\83\97 ID \fIuid\fP ã\81«ã\83\9eã\83\83ã\83\81ã\81\99ã\82\8bã\82°ã\83«ã\83¼ã\83\97ã\83»ã\83\87ã\83¼ã\82¿ã\83\99ã\83¼ã\82¹ã\81®ã\82¨ã\83³ã\83\88ã\83ª
-要素毎に分解し、各要素を格納した構造体へのポインタを返す。
+\fBgetgrgid\fP()  é\96¢æ\95°ã\81¯ã\80\81ã\82°ã\83«ã\83¼ã\83\97 ID \fIuid\fP ã\81«ã\83\9eã\83\83ã\83\81ã\81\99ã\82\8bã\82°ã\83«ã\83¼ã\83\97ã\83\87ã\83¼ã\82¿ã\83\99ã\83¼ã\82¹ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\83¼
+è¦\81ç´ æ¯\8eã\81«å\88\86解ã\81\97ã\80\81å\90\84è¦\81ç´ ã\82\92æ ¼ç´\8dã\81\97ã\81\9fæ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82
 .PP
 \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
@@ -93,8 +106,8 @@ struct group {
 \fBgetgrnam_r\fP() と \fBgetgrgid_r\fP() 関数は、それぞれ \fBgetgrnam\fP() と
 \fBgetgrgid\fP() と同じ情報を取得するが、取得した \fIgroup\fP 構造体を
 \fIgrp\fP が指す領域に格納する。\fIgroup\fP 構造体のメンバーが指す文字列は、
-サイズ \fIbuflen\fP のバッファ \fIbuf\fP に格納される。成功した場合
-\fI*gbufp\fP ã\81«ã\81¯çµ\90æ\9e\9cã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81\8cæ ¼ç´\8dã\81\95ã\82\8cã\82\8bã\80\82ã\82¨ã\83³ã\83\88ã\83ªが見つからなかった
+サイズ \fIbuflen\fP のバッファ \fIbuf\fP に格納される。成功した場合
+\fI*gbufp\fP ã\81«ã\81¯çµ\90æ\9e\9cã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81\8cæ ¼ç´\8dã\81\95ã\82\8cã\82\8bã\80\82ã\82¨ã\83³ã\83\88ã\83ªã\83¼が見つからなかった
 場合やエラーが発生した場合には \fI*result\fP には NULL が入る。
 .PP
 呼び出し
@@ -103,17 +116,17 @@ struct group {
 
 は、 \fIerrno\fP を変更せずに \-1 を返すか、 \fIbuf\fP の初期サイズの推奨値を
 返す。(このサイズが小さすぎる場合、呼び出しは \fBERANGE\fP で失敗し、この
-場合には呼び出し側はバッファを大きくしてから再度呼び出すことができる。)
+å ´å\90\88ã\81«ã\81¯å\91¼ã\81³å\87ºã\81\97å\81´ã\81¯ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\82\92大ã\81\8dã\81\8fã\81\97ã\81¦ã\81\8bã\82\89å\86\8d度å\91¼ã\81³å\87ºã\81\99ã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82)
 .SH 返り値
-\fBgetgrnam\fP()  と \fBgetgrgid\fP()  関数は、 \fIgroup\fP 構造体へのポインタを返す。
\83\9eã\83\83ã\83\81ã\81\99ã\82\8bã\82¨ã\83³ã\83\88ã\83ªã\81\8cè¦\8bã\81¤ã\81\8bã\82\89ã\81ªã\81\8bã\81£ã\81\9få ´å\90\88ã\82\84ã\80\81 ã\82¨ã\83©ã\83¼ã\81\8cç\99ºç\94\9fã\81\97ã\81\9få ´å\90\88ã\81¯ NULL ã\82\92è¿\94ã\81\99ã\80\82 ã\82¨ã\83©ã\83¼ã\81\8cèµ·ã\81\93ã\81£ã\81\9få ´å\90\88ã\80\81 \fIerrno\fP ã\81\8cé\81©å\88\87ã\81«è¨­å®\9aã\81\95ã\82\8cã\82\8bã\80\82
-呼び出しの後で \fIerrno\fP をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定しておくべきである。
+\fBgetgrnam\fP()  ã\81¨ \fBgetgrgid\fP()  é\96¢æ\95°ã\81¯ã\80\81 \fIgroup\fP æ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82
\83\9eã\83\83ã\83\81ã\81\99ã\82\8bã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\81\8cè¦\8bã\81¤ã\81\8bã\82\89ã\81ªã\81\8bã\81£ã\81\9få ´å\90\88ã\82\84ã\80\81 ã\82¨ã\83©ã\83¼ã\81\8cç\99ºç\94\9fã\81\97ã\81\9få ´å\90\88ã\81¯ NULL ã\82\92è¿\94ã\81\99ã\80\82 ã\82¨ã\83©ã\83¼ã\81\8cèµ·ã\81\93ã\81£ã\81\9få ´å\90\88ã\80\81 \fIerrno\fP
+が適切に設定される。 呼び出しの後で \fIerrno\fP をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定しておくべきである。
 .LP
 返り値は静的な領域を指しており、その後の \fBgetgrent\fP(3), \fBgetgrgid\fP(), \fBgetgrnam\fP()
-の呼び出しで上書きされるかもしれない。 (返されたポインタを \fBfree\fP(3)  に渡さないこと。)
\81®å\91¼ã\81³å\87ºã\81\97ã\81§ä¸\8aæ\9b¸ã\81\8dã\81\95ã\82\8cã\82\8bã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82 (è¿\94ã\81\95ã\82\8cã\81\9fã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92 \fBfree\fP(3)  ã\81«æ¸¡ã\81\95ã\81ªã\81\84ã\81\93ã\81¨ã\80\82)
 .LP
 成功すると、 \fBgetgrnam_r\fP()  と \fBgetgrgid_r\fP()  は 0 を返し、 \fI*result\fP に \fIgrp\fP
\82\92設å®\9aã\81\99ã\82\8bã\80\82 ã\83\9eã\83\83ã\83\81ã\81\99ã\82\8bã\82°ã\83«ã\83¼ã\83\97ã\83»ã\82¨ã\83³ã\83\88ã\83ªが見つからなかった場合には、 0 を返し、 \fI*result\fP に NULL を設定する。
\82\92設å®\9aã\81\99ã\82\8bã\80\82 ã\83\9eã\83\83ã\83\81ã\81\99ã\82\8bã\82°ã\83«ã\83¼ã\83\97ã\82¨ã\83³ã\83\88ã\83ªã\83¼が見つからなかった場合には、 0 を返し、 \fI*result\fP に NULL を設定する。
 エラーの場合、エラー番号を返し、 \fI*result\fP に NULL を設定する。
 .SH エラー
 .TP 
@@ -135,14 +148,19 @@ I/O エラー。
 \fBENOMEM\fP
 .\" not in POSIX
 .\" to allocate the group structure, or to allocate buffers
-\fIgroup\fP 構造体を割り当てるためのメモリが不十分。
+\fIgroup\fP æ§\8bé\80 ä½\93ã\82\92å\89²ã\82\8aå½\93ã\81¦ã\82\8bã\81\9fã\82\81ã\81®ã\83¡ã\83¢ã\83ªã\83¼ã\81\8cä¸\8då\8d\81å\88\86ã\80\82
 .TP 
 \fBERANGE\fP
-与えられたバッファ空間が不十分である。
+与えられたバッファ空間が不十分である。
 .SH ファイル
 .TP 
 \fI/etc/group\fP
-ローカルのグループ・データベースファイル
+ローカルのグループデータベースファイル
+.SH 属性
+.SS "マルチスレッディング (pthreads(7) 参照)"
+関数 \fBgetgrnam\fP() と \fBgetgrgid\fP() はスレッドセーフではない。
+.LP
+関数 \fBgetgrnam_r\fP() と \fBgetgrgid_r\fP() はスレッドセーフである。
 .SH 準拠
 SVr4, 4.3BSD, POSIX.1\-2001.
 .SH 注意
@@ -154,15 +172,15 @@ SVr4, 4.3BSD, POSIX.1\-2001.
 .\" FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
 .\" SunOS 5.8 - gives EBADF
 .\" Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
-上記の「返り値」以下の記述は POSIX.1\-2001 に拠る。 この標準は「(エントリが) 見つからないこと」をエラーとしていないので、
+ä¸\8aè¨\98ã\81®ã\80\8cè¿\94ã\82\8aå\80¤ã\80\8d以ä¸\8bã\81®è¨\98è¿°ã\81¯ POSIX.1\-2001 ã\81«æ\8b ã\82\8bã\80\82 ã\81\93ã\81®æ¨\99æº\96ã\81¯ã\80\8c\82¨ã\83³ã\83\88ã\83ªã\83¼ã\81\8c) è¦\8bã\81¤ã\81\8bã\82\89ã\81ªã\81\84ã\81\93ã\81¨ã\80\8dã\82\92ã\82¨ã\83©ã\83¼ã\81¨ã\81\97ã\81¦ã\81\84ã\81ªã\81\84ã\81®ã\81§ã\80\81
 そのような場合に \fIerrno\fP がどのような値になるかを定めていない。 そのため、エラーを認識することは不可能である。 POSIX
-に準拠して、エントリが見つからない場合は \fIerrno\fP を変更しないようにすべきである、と主張する人もいるかもしれない。 様々な UNIX
\81«æº\96æ\8b ã\81\97ã\81¦ã\80\81ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\81\8cè¦\8bã\81¤ã\81\8bã\82\89ã\81ªã\81\84å ´å\90\88ã\81¯ \fIerrno\fP ã\82\92å¤\89æ\9b´ã\81\97ã\81ªã\81\84ã\82\88ã\81\86ã\81«ã\81\99ã\81¹ã\81\8dã\81§ã\81\82ã\82\8bã\80\81ã\81¨ä¸»å¼µã\81\99ã\82\8b人ã\82\82ã\81\84ã\82\8bã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82 æ§\98ã\80\85ã\81ª UNIX
 系のシステムで試してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM
 といった様々な値が返される。 他の値が返されるかもしれない。
 .SH 関連項目
 \fBendgrent\fP(3), \fBfgetgrent\fP(3), \fBgetgrent\fP(3), \fBgetpwnam\fP(3),
 \fBsetgrent\fP(3), \fBgroup\fP(5)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。