X-Git-Url: http://git.osdn.net/view?p=linuxjm%2FLDP_man-pages.git;a=blobdiff_plain;f=release%2Fman3%2Fgetgrnam.3;h=763e8e27b7d02d3e98ccd27e036dc7cfc7c50771;hp=47e75a83efa79f21bf206b0b22735d47b6c11822;hb=4fa3e54b837e5814a4598ec901d77446bf5cb9b3;hpb=f8a251df75590049b7aa6f3cd698b6ce733b1ea5 diff --git a/release/man3/getgrnam.3 b/release/man3/getgrnam.3 index 47e75a83..763e8e27 100644 --- a/release/man3/getgrnam.3 +++ b/release/man3/getgrnam.3 @@ -1,4 +1,3 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" .\" Permission is granted to make and distribute verbatim copies of this @@ -29,214 +28,130 @@ .\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu) .\" Modified 2003-11-15 by aeb .\" -.\" Japanese Version Copyright (c) 1997 HIROFUMI Nishizuka -.\" all rights reserved. -.\" Translated 1997-12-19, HIROFUMI Nishizuka -.\" Updated & Modefied 1999-02-26, Shouichi Saito -.\" Updated & Modified 2004-06-05, Yuichi SATO -.\" Updated & Modified 2005-09-06, Akihiro MOTOKI -.\" Updated 2008-12-24, Akihiro MOTOKI, LDP v3.14 +.\"******************************************************************* .\" -.TH GETGRNAM 3 2009-03-30 "" "Linux Programmer's Manual" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH GETGRNAM 3 2010\-10\-21 "" "Linux Programmer's Manual" .SH 名前 getgrnam, getgrnam_r, getgrgid, getgrgid_r \- グループファイルエントリの取り出し .SH 書式 .nf -.B #include -.B #include +\fB#include \fP +\fB#include \fP .sp -.BI "struct group *getgrnam(const char *" name ); +\fBstruct group *getgrnam(const char *\fP\fIname\fP\fB);\fP .sp -.BI "struct group *getgrgid(gid_t " gid ); +\fBstruct group *getgrgid(gid_t \fP\fIgid\fP\fB);\fP .sp -.BI "int getgrnam_r(const char *" name ", struct group *" grp , +\fBint getgrnam_r(const char *\fP\fIname\fP\fB, struct group *\fP\fIgrp\fP\fB,\fP .br -.BI " char *" buf ", size_t " buflen ", struct group **" result ); +\fB char *\fP\fIbuf\fP\fB, size_t \fP\fIbuflen\fP\fB, struct group **\fP\fIresult\fP\fB);\fP .sp -.BI "int getgrgid_r(gid_t " gid ", struct group *" grp , +\fBint getgrgid_r(gid_t \fP\fIgid\fP\fB, struct group *\fP\fIgrp\fP\fB,\fP .br -.BI " char *" buf ", size_t " buflen ", struct group **" result ); +\fB char *\fP\fIbuf\fP\fB, size_t \fP\fIbuflen\fP\fB, struct group **\fP\fIresult\fP\fB);\fP .fi .sp .in -4n -glibc 向けの機能検査マクロの要件 -.RB ( feature_test_macros (7) -参照): +glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): .ad l .in .sp -.BR getgrnam_r (), -.BR getgrgid_r (): +\fBgetgrnam_r\fP(), \fBgetgrgid_r\fP(): .RS 4 -_POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || -_SVID_SOURCE || _POSIX_SOURCE +_POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE +|| _POSIX_SOURCE .RE .ad b .SH 説明 -.BR getgrnam () -関数は、グループ名 -.I name -にマッチするグループ・データベースのエントリを -要素毎に分解し、各要素を格納した構造体へのポインタを返す -(パスワード・データベースの例: -ローカルのグループファイル -.IR /etc/group , +\fBgetgrnam\fP() 関数は、グループ名 \fIname\fP にマッチするグループ・データベースのエントリを +要素毎に分解し、各要素を格納した構造体へのポインタを返す (パスワード・データベースの例: ローカルのグループファイル \fI/etc/group\fP, NIS, LDAP)。 .PP -.BR getgrgid () -関数は、グループ ID -.I uid -にマッチするグループ・データベースのエントリを +\fBgetgrgid\fP() 関数は、グループ ID \fIuid\fP にマッチするグループ・データベースのエントリを 要素毎に分解し、各要素を格納した構造体へのポインタを返す。 .PP -.BR getgrnam_r () -と -.BR getgrgid_r () -関数は (上記の関数と) 同じ情報を取得するが、 -取得した -.I group -構造体を -.I grp -が指す領域に格納する。 -この -.I group -構造体には文字列へのポインタが含まれ、 -これらの文字列はサイズ -.I buflen -のバッファ -.I buf -に格納される。 -成功した場合 -.I *gbufp -には結果へのポインタが格納される。 -エントリが見つからなかった場合やエラーが発生した場合には -.I *result -には NULL が入る。 -.PP -\fIgroup\fP 構造体は、\fI\fP で以下のように定義されている: +\fIgroup\fP 構造体は \fI\fP で以下のように定義されている: .sp .in +4n .nf struct group { char *gr_name; /* グループ名 */ - char *gr_passwd; /* グループのバスワード */ + char *gr_passwd; /* グループのパスワード */ gid_t gr_gid; /* グループ ID */ char **gr_mem; /* グループのメンバ */ }; .fi .in .PP -.I buf -に最大必要なサイズは、 -.BR sysconf (3) -に引き数 -.B _SC_GETGR_R_SIZE_MAX +この構造体のフィールドの詳細は \fBgroup\fP(5) を参照のこと。 +.PP +\fBgetgrnam_r\fP() と \fBgetgrgid_r\fP() 関数は、それぞれ \fBgetgrnam\fP() と +\fBgetgrgid\fP() と同じ情報を取得するが、取得した \fIgroup\fP 構造体を +\fIgrp\fP が指す領域に格納する。\fIgroup\fP 構造体のメンバーが指す文字列は、 +サイズ \fIbuflen\fP のバッファ \fIbuf\fP に格納される。成功した場合 +\fI*gbufp\fP には結果へのポインタが格納される。エントリが見つからなかった +場合やエラーが発生した場合には \fI*result\fP には NULL が入る。 +.PP +\fIbuf\fP に最大必要なサイズは、 \fBsysconf\fP(3) に引き数 \fB_SC_GETGR_R_SIZE_MAX\fP を指定して実行することで分かる。 .SH 返り値 -.BR getgrnam () -と -.BR getgrgid () -関数は、 -.I group -構造体へのポインタを返す。 -マッチするエントリが見つからなかった場合や、 -エラーが発生した場合は NULL を返す。 -エラーが起こった場合、 -.I errno -が適切に設定される。 -呼び出しの後で -.I errno -をチェックしたい場合は、 -呼び出しの前に (この値を) 0 に設定しておくべきである。 +\fBgetgrnam\fP() と \fBgetgrgid\fP() 関数は、 \fIgroup\fP 構造体へのポインタを返す。 +マッチするエントリが見つからなかった場合や、 エラーが発生した場合は NULL を返す。 エラーが起こった場合、 \fIerrno\fP が適切に設定される。 +呼び出しの後で \fIerrno\fP をチェックしたい場合は、 呼び出しの前に (この値を) 0 に設定しておくべきである。 .LP -返り値は静的な領域を指しており、その後の -.BR getgrent (3), -.BR getgrgid (), -.BR getgrnam () -の呼び出しで上書きされるかもしれない。 -(返されたポインタを -.BR free (3) -に渡さないこと。) +返り値は静的な領域を指しており、その後の \fBgetgrent\fP(3), \fBgetgrgid\fP(), \fBgetgrnam\fP() +の呼び出しで上書きされるかもしれない。 (返されたポインタを \fBfree\fP(3) に渡さないこと。) .LP -成功すると、 -.BR getgrnam_r () -と -.BR getgrgid_r () -は 0 を返し、 -.I *result -に -.I grp -を設定する。 -マッチするグループ・エントリが見つからなかった場合には、 -0 を返し、 -.I *result -に NULL を設定する。 -エラーの場合、エラー番号を返し、 -.I *result -に NULL を設定する。 +成功すると、 \fBgetgrnam_r\fP() と \fBgetgrgid_r\fP() は 0 を返し、 \fI*result\fP に \fIgrp\fP +を設定する。 マッチするグループ・エントリが見つからなかった場合には、 0 を返し、 \fI*result\fP に NULL を設定する。 +エラーの場合、エラー番号を返し、 \fI*result\fP に NULL を設定する。 .SH エラー -.TP -.BR 0 " または " ENOENT " または " ESRCH " または " EBADF " または " EPERM " または ... " -指定された -.I name -または -.I gid -が見つからなかった。 -.TP -.B EINTR -シグナルがキャッチされた。 -.TP -.B EIO +.TP +\fB0\fP または \fBENOENT\fP または \fBESRCH\fP または \fBEBADF\fP または \fBEPERM\fP または ... +指定された \fIname\fP または \fIgid\fP が見つからなかった。 +.TP +\fBEINTR\fP +シグナルが捕捉された。 +.TP +\fBEIO\fP I/O エラー。 -.TP -.B EMFILE -呼び出したプロセスにおいて、 -既に最大数 -.RB ( OPEN_MAX ) -のファイルがオープンされている。 -.TP -.B ENFILE -システム上で既に最大数のファイルがオープンされている。 -.TP -.B ENOMEM -.\" POSIX にはない -.I group -構造体を割り当てるためのメモリが不十分。 -.\" グループ情報構造体を割り当てるため、またはバッファを割り当てるための -.TP -.B ERANGE +.TP +\fBEMFILE\fP +呼び出し元プロセスがオープンしているファイル数が すでに上限 (\fBOPEN_MAX\fP) であった。 +.TP +\fBENFILE\fP +システムでオープンされているファイル数がすでに上限であった。 +.TP +\fBENOMEM\fP +.\" not in POSIX +.\" to allocate the group structure, or to allocate buffers +\fIgroup\fP 構造体を割り当てるためのメモリが不十分。 +.TP +\fBERANGE\fP 与えられたバッファ空間が不十分である。 .SH ファイル -.TP -.I /etc/group +.TP +\fI/etc/group\fP ローカルのグループ・データベースファイル .SH 準拠 -SVr4, 4.3BSD, POSIX.1-2001. +SVr4, 4.3BSD, POSIX.1\-2001. .SH 注意 -上記の「返り値」以下の記述は POSIX.1-2001 に拠る。 -この標準は「(エントリが) 見つからないこと」をエラーとしていないので、 -そのような場合に -.I errno -がどのような値になるかを定めていない。 -そのため、エラーを認識することは不可能である。 -POSIX に準拠して、エントリが見つからない場合は -.I errno -を変更しないようにすべきである、と主張する人もいるかもしれない。 -様々な UNIX 系のシステムで試してみると、そのような場合には -0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM といった様々な値が返される。 -他の値が返されるかもしれない。 -.\" より正確には: -.\" AIX 5.1 は ESRCH を返す。 -.\" OSF1 4.0g は EWOULDBLOCK を返す。 -.\" libc, glibc (バージョン 2.6 まで), Irix 6.5 は ENOENT を返す。 -.\" glibc (バージョン 2.7 以降) は 0 を返す。 -.\" FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 は EPERM を返す。 -.\" SunOS 5.8 は EBADF を返す。 -.\" Tru64 5.1b, HP-UX-11i, SunOS 5.7 は 0 を返す。 +.\" more precisely: +.\" AIX 5.1 - gives ESRCH +.\" OSF1 4.0g - gives EWOULDBLOCK +.\" libc, glibc up to version 2.6, Irix 6.5 - give ENOENT +.\" glibc since version 2.7 - give 0 +.\" 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 に拠る。 この標準は「(エントリが) 見つからないこと」をエラーとしていないので、 +そのような場合に \fIerrno\fP がどのような値になるかを定めていない。 そのため、エラーを認識することは不可能である。 POSIX +に準拠して、エントリが見つからない場合は \fIerrno\fP を変更しないようにすべきである、と主張する人もいるかもしれない。 様々な UNIX +系のシステムで試してみると、そのような場合には 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM +といった様々な値が返される。 他の値が返されるかもしれない。 .SH 関連項目 -.BR endgrent (3), -.BR fgetgrent (3), -.BR getgrent (3), -.BR getpwnam (3), -.BR setgrent (3), -.BR group (5) +\fBendgrent\fP(3), \fBfgetgrent\fP(3), \fBgetgrent\fP(3), \fBgetpwnam\fP(3), +\fBsetgrent\fP(3), \fBgroup\fP(5)