.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH GETLOGIN 3 2008\-06\-29 GNU "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 1998 NAKANO Takeo all rights reserved.
+.\" Translated 1998-03-01, NAKANO Takeo <nakano@apm.seikei.ac.jp>
+.\" Updated & Modified 1999-08-21, NAKANO Takeo <nakano@apm.seikei.ac.jp>
+.\" Updated & Modified 2005-03-18, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2013-03-25, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-07-24, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH GETLOGIN 3 2013\-04\-19 GNU "Linux Programmer's Manual"
.SH 名前
getlogin, getlogin_r, cuserid \- ユーザー名を取得する
.SH 書式
.br
\fBcuserid\fP(): _XOPEN_SOURCE
.SH 説明
-\fBgetlogin\fP() は、現在のプロセスの制御端末にログインしているユーザー名の文字列への ポインタを返す。ユーザー名が決定できない場合は
-NULL ポインタを返す。 文字列は静的領域に割り当てられており、この後でこの関数や \fBcuserid\fP()
-が呼び出された際に上書きされることがある。
+\fBgetlogin\fP() は、現在のプロセスの制御端末にログインしているユーザー名の文字列への
+ポインターを返す。ユーザー名が決定できない場合はヌルポインターを返す。 文字列は静的領域に割り当てられており、この後でこの関数や
+\fBcuserid\fP() が呼び出された際に上書きされることがある。
.PP
-\fBgetlogin_r\fP() は、上記の同じユーザ名を、大きさ \fIbufsize\fP の配列 \fIbuf\fP に入れて返す。
+\fBgetlogin_r\fP() は、上記の同じユーザー名を、大きさ \fIbufsize\fP の配列 \fIbuf\fP に入れて返す。
.PP
-\fBcuserid\fP() ã\81¯ã\80\81ç\8f¾å\9c¨ã\81®ã\83\97ã\83ã\82»ã\82¹ã\81®å®\9få\8a¹ã\83¦ã\83¼ã\82¶ã\83¼ID ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\83¦ã\83¼ã\82¶ã\83¼å\90\8dã\81® æ\96\87å\97å\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92è¿\94ã\81\99ã\80\82 \fIstring\fP ã\81\8c NULL
-ã\83\9dã\82¤ã\83³ã\82¿以外の場合、\fIstring\fP は少なくとも \fBL_cuserid\fP 文字を保持できる配列でなければならない。 \fIstring\fP が
-NULL ポインタの場合には、静的領域に置かれた文字列への ポインタが返される。この文字列は静的領域に割り当てられており、後で この関数や
+\fBcuserid\fP() ã\81¯ã\80\81ç\8f¾å\9c¨ã\81®ã\83\97ã\83ã\82»ã\82¹ã\81®å®\9få\8a¹ã\83¦ã\83¼ã\82¶ã\83¼ID ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\83¦ã\83¼ã\82¶ã\83¼å\90\8dã\81® æ\96\87å\97å\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 \fIstring\fP
+ã\81\8cã\83\8cã\83«ã\83\9dã\82¤ã\83³ã\82¿ã\83¼以外の場合、\fIstring\fP は少なくとも \fBL_cuserid\fP 文字を保持できる配列でなければならない。 \fIstring\fP が
+ヌルポインターの場合には、静的領域に置かれた文字列への ポインターが返される。この文字列は静的領域に割り当てられており、後で この関数や
\fBgetlogin\fP() が呼び出された際に上書きされることがある。
.PP
マクロ \fBL_cuserid\fP は integer の定数で、ユーザー名を保持するために 必要な配列の長さを示す。 \fBL_cuserid\fP は
たいていの目的では、ユーザーの特定には環境変数 \fBLOGNAME\fP を調べ るほうが便利である。LOGNAME 変数はユーザーが自由に設定できるので
より柔軟な対応が可能になる。
.SH 返り値
-\fBgetlogin\fP() は成功した場合はユーザ名へのポインタを返し、失敗した場合は NULL を返す。 \fBgetlogin_r\fP()
-は成功すると 0 を返し、失敗すると 0 以外を返す。
+\fBgetlogin\fP() は成功した場合はユーザー名へのポインターを返す。 失敗した場合は NULL を返し、 \fIerrno\fP
+ã\81«ã\82¨ã\83©ã\83¼ã\81®å\8e\9få\9b ã\82\92示ã\81\99å\80¤ã\82\92è¨å®\9aã\81\99ã\82\8bã\80\82 \fBgetlogin_r\fP() ã\81¯æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ 0 ã\82\92è¿\94ã\81\97ã\80\81失æ\95\97ã\81\99ã\82\8bã\81¨ 0 以å¤\96ã\82\92è¿\94ã\81\99ã\80\82
.SH エラー
POSIX では以下のエラーが規定されている:
.TP
呼び出し元プロセスには制御端末がない。
.TP
\fBERANGE\fP
-(getlogin_r) (終端の NULL バイトも含めた) ユーザ名の長さが \fIbufsize\fP よりも長い。
+(getlogin_r) (終端のヌルバイト (\(aq\e0\(aq) も含めた) ユーザー名の長さが \fIbufsize\fP よりも長い。
.LP
Linux/glibc には以下のエラーもある。
.TP
\fBENOENT\fP
-utmp ファイルに対応するエントリがなかった。
+utmp ã\83\95ã\82¡ã\82¤ã\83«ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\81\8cã\81ªã\81\8bã\81£ã\81\9fã\80\82
.TP
\fBENOMEM\fP
-passwd 構造体を割り当てるのに十分なメモリがない。
+passwd æ§\8bé\80 ä½\93ã\82\92å\89²ã\82\8aå½\93ã\81¦ã\82\8bã\81®ã\81«å\8d\81å\88\86ã\81ªã\83¡ã\83¢ã\83ªã\83¼ã\81\8cã\81ªã\81\84ã\80\82
.TP
\fBENOTTY\fP
標準入力が端末を参照していない (「バグ」の節を参照)。
.TP
\fI/var/run/utmp\fP
(伝統的には \fI/etc/utmp\fP が使われている; libc の中には \fI/var/adm/utmp\fP を使うものもある)
+.SH 属性
+.SS "マルチスレッディング (pthreads(7) 参照)"
+\fBgetlogin\fP() 関数はスレッドセーフではない。
+.LP
+\fBgetlogin_r\fP() 関数はスレッドセーフである。
+.LP
+\fBcuserid\fP() 関数は、例外付きのスレッドセーフである。 パラメーター NULL で呼び出した場合はスレッドセーフではない。
.SH 準拠
\fBgetlogin\fP() と \fBgetlogin_r\fP() は POSIX.1\-2001 で規定されている。
\fBcuserid\fP() 関数は 1988 年版の POSIX には含まれていたが、 1990 年版では削除された。 SUSv2
に存在したが、POSIX.1\-2001 で削除された。
.LP
-OpenBSD には \fBgetlogin\fP() と \fBsetlogin\fP() があり、 セッションに対応したユーザ名がある。制御端末がない
-セッションの場合であっても、対応するユーザ名がある。
+OpenBSD には \fBgetlogin\fP() と \fBsetlogin\fP() があり、 セッションに対応したユーザー名がある。制御端末がない
+セッションの場合であっても、対応するユーザー名がある。
.SH バグ
残念ながら、 \fBgetlogin\fP() をだますのはそれほど難しいことではない。別のプログラムが utmp ファイルを
壊してしまうと、全く動作しないこともある。またログイン名の最初の 8 文字
.SH 関連項目
\fBgeteuid\fP(2), \fBgetuid\fP(2), \fButmp\fP(5)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。