OSDN Git Service

(split) LDP: Add translation history to drafts updated in the last commit
[linuxjm/LDP_man-pages.git] / draft / man2 / linkat.2
index a387e7e..0760e2c 100644 (file)
@@ -1,7 +1,6 @@
-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
 .\" This manpage is Copyright (C) 2006, Michael Kerrisk
 .\"
+.\" %%%LICENSE_START(VERBATIM)
 .\" Permission is granted to make and distribute verbatim copies of this
 .\" manual provided the copyright notice and this permission notice are
 .\" preserved on all copies.
 .\"
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
-.\"
-.\" FIXME: Linux 2.6.39 added AT_EMPTY_PATH
+.\" %%%LICENSE_END
 .\"
 .\"*******************************************************************
 .\"
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH LINKAT 2 2009\-12\-13 Linux "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 2006 Yuichi SATO
+.\"         all rights reserved.
+.\" Translated 2006-09-30 by Yuichi SATO <ysato444@yahoo.co.jp>, LDP v2.39
+.\" Updated 2013-08-21, Akihiro MOTOKI <amotoki@gmail.com>, LDP v3.53
+.\"
+.TH LINKAT 2 2013\-07\-21 Linux "Linux Programmer's Manual"
 .SH 名前
 linkat \- ディレクトリファイルディスクリプタから相対的な位置にファイルリンクを作成する
 .SH 書式
@@ -73,10 +77,23 @@ _ATFILE_SOURCE
 \fInewpath\fP の解釈は \fIoldpath\fP と同様であるが、 相対パス名はファイルディスクリプタ \fInewdirfd\fP
 で参照されるディレクトリからの相対パス名として解釈される。
 
+\fIflags\fP に以下の値をビット毎の論理和 (OR) で指定することができる。
+.TP 
+\fBAT_EMPTY_PATH\fP (Linux 2.6.39 以降)
+.\" commit 11a7b371b64ef39fc5fb1b6f2218eef7c4d035e3
+\fIoldpath\fP が空の文字列の場合、 \fIolddirfd\fP が参照するファイルへのリンクを作成する (\fIolddirfd\fP は
+\fBopen\fP(2) の \fBO_PATH\fP フラグを使って取得することができる)。 この場合、 \fIolddirfd\fP は、
+ディレクトリだけでなく、任意の種類のファイルを参照することができる。 このフラグを使うためには、 呼び出し側は
+\fBCAP_DAC_READ_SEARCH\fP ケーパビリティを持っていなければならない。 これは、 UNIX
+ドメインソケット経由で受信したファイルディスクリプタを使って、 任意のユーザがハードリンクを作成するのを防止するためである (\fBunix\fP(7) の
+\fBSCM_RIGHTS\fP に関する議論を参照)。
+.TP 
+ \fBAT_SYMLINK_FOLLOW\fP (since Linux 2.6.18)
 デフォルトでは、 \fIoldpath\fP がシンボリック・リンクの場合、 (\fBlink\fP(2)  同様)  \fBlinkat\fP()  は
-\fIoldpath\fP の参照の解決を行わない。 Linux 2.6.18 以降では、 \fBAT_SYMLINK_FOLLOW\fP フラグを
-\fIflags\fP に指定することができる。このフラグを指定すると、 \fIoldpath\fP がシンボリック・リンクの場合、 \fIoldpath\fP
-の参照の解決を行う。 2.6.18 以前のカーネルでは、 \fIflags\fP 引き数は使用されず、 0 を指定しなければならなかった。
+\fIoldpath\fP の参照の解決を行わない。 \fBAT_SYMLINK_FOLLOW\fP フラグを \fIflags\fP
+に指定することができる。このフラグを指定すると、 \fIoldpath\fP がシンボリック・リンクの場合、 \fIoldpath\fP の参照の解決を行う。
+.PP
+バージョン 2.6.18 以前のカーネルでは、 \fIflags\fP 引き数は使用されず、 0 を指定しなければならなかった。
 .SH 返り値
 成功した場合、 \fBlinkat\fP()  は 0 を返す。 エラーの場合、\-1 が返されて、 \fIerrno\fP にはエラーを示す値が設定される。
 .SH エラー
@@ -85,14 +102,25 @@ _ATFILE_SOURCE
 \fBEBADF\fP
 \fIolddirfd\fP または \fInewdirfd\fP が有効なファイルディスクリプタでない。
 .TP 
+\fBENOENT\fP
+\fIflags\fP に \fBAT_EMPTY_PATH\fP が指定されたが、呼び出し側が \fBCAP_DAC_READ_SEARCH\fP
+ケーパビリティを持っていなかった。
+.TP 
+\fBENOTDIR\fP
+.TP 
 \fBENOTDIR\fP
 \fIoldpath\fP が相対パスで、かつ \fIolddirfd\fP がディレクトリ以外のファイルを参照するファイルディスクリプタである。 または
 \fInewpath\fP と \fInewdirfd\fP について、同様のことが起きている。
 .SH バージョン
 \fBlinkat\fP()  は Linux カーネル 2.6.16 で追加された。
+ライブラリによるサポートは glibc バージョン 2.4 で追加された。
 .SH 準拠
 POSIX.1\-2008.
 .SH 注意
 \fBlinkat\fP()  が必要な理由については、 \fBopenat\fP(2)  を参照すること。
 .SH 関連項目
 \fBlink\fP(2), \fBopenat\fP(2), \fBpath_resolution\fP(7), \fBsymlink\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。