OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / draft / man2 / readlink.2
index f7f18c8..afac12d 100644 (file)
@@ -111,10 +111,9 @@ _ATFILE_SOURCE
 \fIpathname\fP で指定されたパス名が絶対パスの場合、 \fIdirfd\fP は無視される。
 
 .\" commit 65cfc6722361570bfe255698d9cd4dccaf47570d
-Since Linux 2.6.39, \fIpathname\fP can be an empty string, in which case the
-call operates on the symbolic link referred to by \fIdirfd\fP (which should
-have have been obtained using \fBopen\fP(2)  with the \fBO_PATH\fP and
-\fBO_NOFOLLOW\fP flags).
+Linux 2.6.39 以降では、 \fIpathname\fP に空文字列を指定できる。 その場合、呼び出しは \fIdirfd\fP
+が参照するシンボリックリンクに対して行われる (\fIdirfd\fP はフラグ \fBO_PATH\fP と \fBO_NOFOLLOW\fP を指定した
+\fBopen\fP(2) を使って取得すべきである)。
 .PP
 \fBreadlinkat\fP() の必要性についての説明については \fBopenat\fP(2) を参照。
 .SH 返り値
@@ -160,10 +159,10 @@ have have been obtained using \fBopen\fP(2)  with the \fBO_PATH\fP and
 \fBreadlinkat\fP() では以下のエラーも発生する。
 .TP 
 \fBEBADF\fP
-\fIdirfd\fP が有効なファイルディスクリプタではない。
+\fIdirfd\fP ã\81\8cæ\9c\89å\8a¹ã\81ªã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81¯ã\81ªã\81\84ã\80\82
 .TP 
 \fBENOTDIR\fP
-\fIpathname\fP が相対パスで、 \fIdirfd\fP がディレクトリ以外のファイルを参照しているファイルディスクリプタである。
+\fIpathname\fP ã\81\8cç\9b¸å¯¾ã\83\91ã\82¹ã\81§ã\80\81 \fIdirfd\fP ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªä»¥å¤\96ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92å\8f\82ç\85§ã\81\97ã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81\82ã\82\8bã\80\82
 .SH バージョン
 \fBreadlinkat\fP()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサポートはバージョン 2.4 で glibc
 に追加された。
@@ -176,20 +175,19 @@ have have been obtained using \fBopen\fP(2)  with the \fBO_PATH\fP and
 で宣言されていた。現在では、返り値の型は \fIssize_t\fP である (返り値 \fIssize_t\fP は POSIX.1\-2001 で (新たに)
 必須となった)。
 
\9d\99ç\9a\84ã\81ªå¤§ã\81\8dã\81\95ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\82\92使ã\81\86ã\81¨ã\80\81 ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®å\86\85容ã\82\92æ ¼ç´\8dã\81\99ã\82\8bã\81®ã\81«å\8d\81å\88\86ã\81ªé \98å\9f\9fã\81\8cã\81ªã\81\84å ´å\90\88ã\81\8cã\81\82ã\82\8bã\80\82 ã\83\90ã\83\83ã\83\95ã\82¡に必要なサイズは、
\9d\99ç\9a\84ã\81ªå¤§ã\81\8dã\81\95ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\82\92使ã\81\86ã\81¨ã\80\81 ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83ªã\83³ã\82¯ã\81®å\86\85容ã\82\92æ ¼ç´\8dã\81\99ã\82\8bã\81®ã\81«å\8d\81å\88\86ã\81ªé \98å\9f\9fã\81\8cã\81ªã\81\84å ´å\90\88ã\81\8cã\81\82ã\82\8bã\80\82 ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼に必要なサイズは、
 そのシンボリックリンクに対して \fBlstat\fP(2) の呼び出しで返される \fIstat.st_size\fP の値から取得できる。 ただし、
 \fBreadlink\fP() や \fBreadlinkat\fP() が書き込んだバイト数をチェックして、
 シンボリックリンクのサイズが二つの呼び出しの間で増えていないことを確認すべきである。 \fBreadlink\fP() や \fBreadlinkat\fP()
\94¨ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\82\92å\8b\95ç\9a\84ã\81«å\89²ã\82\8aå½\93ã\81¦ã\82\8bæ\96¹æ³\95ã\81§ã\82\82ã\80\81 ã\83\90ã\83\83ã\83\95ã\82¡サイズとして \fIPATH_MAX\fP を使用する場合に共通する移植性の問題を解決することができる。
\94¨ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\82\92å\8b\95ç\9a\84ã\81«å\89²ã\82\8aå½\93ã\81¦ã\82\8bæ\96¹æ³\95ã\81§ã\82\82ã\80\81 ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼サイズとして \fIPATH_MAX\fP を使用する場合に共通する移植性の問題を解決することができる。
 なぜなら、POSIX では、 システムがそのような上限値を定義していない場合には、 \fIPATH_MAX\fP
 が定義されることが保証されていないからである。
 .SS "glibc での注意"
-On older kernels where \fBreadlinkat\fP()  is unavailable, the glibc wrapper
-function falls back to the use of \fBreadlink\fP().  When \fIpathname\fP is a
-relative pathname, glibc constructs a pathname based on the symbolic link in
-\fI/proc/self/fd\fP that corresponds to the \fIdirfd\fP argument.
+\fBreadlinkat\fP() が利用できない古いカーネルでは、 glibc ラッパー関数は \fBreadlink\fP()
+を使用するモードにフォールバックする。 \fIpathname\fP が相対パスの場合、 glibc は \fIdirfd\fP 引き数に対応する
+\fI/proc/self/fd\fP のシンボリックリンクに基づいてパス名を構成する。
 .SH 例
-以下のプログラムは、 \fBreadlink\fP() が必要とするバッファを、
+以ä¸\8bã\81®ã\83\97ã\83­ã\82°ã\83©ã\83 ã\81¯ã\80\81 \fBreadlink\fP() ã\81\8cå¿\85è¦\81ã\81¨ã\81\99ã\82\8bã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\82\92ã\80\81
 \fBlstat\fP() が提供する情報に基づいて動的に割り当てる。
 また、両方の呼び出し間で競合条件がないことを保証している。
 .nf
@@ -249,6 +247,6 @@ main(int argc, char *argv[])
 \fBreadlink\fP(1), \fBlstat\fP(2), \fBstat\fP(2), \fBsymlink\fP(2), \fBrealpath\fP(3),
 \fBpath_resolution\fP(7), \fBsymlink\fP(7)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.76 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。