X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=release%2Fman2%2Flinkat.2;h=9ee2de473a0bf980665880e74bf79254ceccf6d0;hb=a2b0f650fa5e3f097a33752f9ee5626f8d678fd8;hp=4583c302a35c275868fdb39fbe36c899fb48df02;hpb=7e089fcc022461849bbc09437103cc337a88dd9c;p=linuxjm%2FLDP_man-pages.git diff --git a/release/man2/linkat.2 b/release/man2/linkat.2 index 4583c302..9ee2de47 100644 --- a/release/man2/linkat.2 +++ b/release/man2/linkat.2 @@ -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. @@ -21,147 +20,107 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* .\" .\" Japanese Version Copyright (c) 2006 Yuichi SATO .\" all rights reserved. .\" Translated 2006-09-30 by Yuichi SATO , LDP v2.39 +.\" Updated 2013-08-21, Akihiro MOTOKI , LDP v3.53 .\" -.TH LINKAT 2 2009-12-13 "Linux" "Linux Programmer's Manual" -.SH ̾Á° -linkat \- ¥Ç¥£¥ì¥¯¥È¥ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤«¤éÁêÂÐŪ¤Ê°ÌÃ֤˥ե¡¥¤¥ë¥ê¥ó¥¯¤òºîÀ®¤¹¤ë -.SH ½ñ¼° +.TH LINKAT 2 2013\-07\-21 Linux "Linux Programmer's Manual" +.SH 名前 +linkat \- ディレクトリファイルディスクリプタから相対的な位置にファイルリンクを作成する +.SH 書式 .nf -.B #include /* AT_* Äê¿ô¤ÎÄêµÁ */ -.B #include +\fB#include /* AT_* 定数の定義 */\fP +\fB#include \fP .sp -.BI "int linkat(int " olddirfd ", const char *" oldpath , -.BI " int " newdirfd ", const char *" newpath ", int " flags ); +\fBint linkat(int \fP\fIolddirfd\fP\fB, const char *\fP\fIoldpath\fP\fB,\fP +\fB int \fP\fInewdirfd\fP\fB, const char *\fP\fInewpath\fP\fB, int \fP\fIflags\fP\fB);\fP .fi .sp .in -4n -glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï -.RB ( feature_test_macros (7) -»²¾È): +glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): .in .sp -.BR linkat (): +\fBlinkat\fP(): .PD 0 .ad l .RS 4 -.TP 4 -glibc 2.10 °Ê¹ß: +.TP 4 +glibc 2.10 以降: _XOPEN_SOURCE\ >=\ 700 || _POSIX_C_SOURCE\ >=\ 200809L -.TP -glibc 2.10 ¤è¤êÁ°: +.TP +glibc 2.10 より前: _ATFILE_SOURCE .RE .ad .PD -.SH ÀâÌÀ -.BR linkat () -¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢¤³¤Î man ¥Ú¡¼¥¸¤ÇÀâÌÀ¤·¤Æ¤¤¤ë°ã¤¤¤¬¤¢¤ë°Ê³°¤Ï¡¢ -.BR link (2) -¤ÈÁ´¤¯Æ±¤¸¤è¤¦¤ËÆ°ºî¤¹¤ë¡£ +.SH 説明 +\fBlinkat\fP() システムコールは、この man ページで説明する違い以外は、 \fBlink\fP(2) と全く同じように動作する。 -.I oldpath -¤Ç»ØÄꤵ¤ì¤ë¥Ñ¥¹Ì¾¤¬ÁêÂХѥ¹Ì¾¤Ç¤¢¤ë¾ì¹ç¡¢ -¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿ -.I olddirfd -¤Ç»²¾È¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹Ì¾¤È¤·¤Æ²ò¼á¤µ¤ì¤ë -.RB ( link (2) -¤Ç¤Ï¡¢ÁêÂХѥ¹¤Ï¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î -¥«¥ì¥ó¥È¥ï¡¼¥­¥ó¥°¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤È¤Ê¤ë)¡£ +\fIoldpath\fP で指定されるパス名が相対パス名である場合、 ファイルディスクリプタ \fIolddirfd\fP +で参照されるディレクトリからの相対パス名として解釈される (\fBlink\fP(2) では、相対パスは呼び出し元プロセスの +カレントワーキングディレクトリからの相対パスとなる)。 -.I oldpath -¤¬ÁêÂХѥ¹¤Ç¤¢¤ê¡¢¤«¤Ä -.I olddirfd -¤¬ÆÃÊ̤ÊÃÍ -.B AT_FDCWD -¤Ç¤¢¤ë¾ì¹ç¡¢ -.I oldpath -¤Ï -.RB ( link (2) -¤ÈƱ¤¸¤è¤¦¤Ë) ¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î -¥«¥ì¥ó¥È¥ï¡¼¥­¥ó¥°¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹Ì¾¤È¤·¤Æ²ò¼á¤µ¤ì¤ë¡£ +\fIoldpath\fP が相対パスであり、かつ \fIolddirfd\fP が特別な値 \fBAT_FDCWD\fP である場合、 \fIoldpath\fP は +(\fBlink\fP(2) と同じように) 呼び出し元プロセスの カレントワーキングディレクトリからの相対パス名として解釈される。 -.I oldpath -¤¬ÀäÂХѥ¹¤Ç¤¢¤ë¾ì¹ç¡¢ -.I olddirfd -¤Ï̵»ë¤µ¤ì¤ë¡£ +\fIoldpath\fP が絶対パスである場合、 \fIolddirfd\fP は無視される。 -.I newpath -¤Î²ò¼á¤Ï -.I oldpath -¤ÈƱÍͤǤ¢¤ë¤¬¡¢ -ÁêÂХѥ¹Ì¾¤Ï¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿ -.I newdirfd -¤Ç»²¾È¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹Ì¾¤È¤·¤Æ²ò¼á¤µ¤ì¤ë¡£ +\fInewpath\fP の解釈は \fIoldpath\fP と同様であるが、 相対パス名はファイルディスクリプタ \fInewdirfd\fP +で参照されるディレクトリからの相対パス名として解釈される。 -¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ -.I oldpath -¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Î¾ì¹ç¡¢ -.RB ( link (2) -ƱÍÍ) -.BR linkat () -¤Ï -.I oldpath -¤Î»²¾È¤Î²ò·è¤ò¹Ô¤ï¤Ê¤¤¡£ -Linux 2.6.18 °Ê¹ß¤Ç¤Ï¡¢ -.B AT_SYMLINK_FOLLOW -¥Õ¥é¥°¤ò -.I flags -¤Ë»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤Î¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢ -.I oldpath -¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Î¾ì¹ç¡¢ -.I oldpath -¤Î»²¾È¤Î²ò·è¤ò¹Ô¤¦¡£ -2.6.18 °ÊÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢ -.I flags -°ú¤­¿ô¤Ï»ÈÍѤµ¤ì¤º¡¢ -0 ¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿¡£ -.SH ÊÖ¤êÃÍ -À®¸ù¤·¤¿¾ì¹ç¡¢ -.BR linkat () -¤Ï 0 ¤òÊÖ¤¹¡£ -¥¨¥é¡¼¤Î¾ì¹ç¡¢\-1 ¤¬ÊÖ¤µ¤ì¤Æ¡¢ -.I errno -¤Ë¤Ï¥¨¥é¡¼¤ò¼¨¤¹Ãͤ¬ÀßÄꤵ¤ì¤ë¡£ -.SH ¥¨¥é¡¼ -.BR link (2) -¤ÈƱ¤¸¥¨¥é¡¼¤¬ -.BR linkat () -¤Ç¤âµ¯¤³¤ë¡£ -.BR linkat () -¤Ç¤Ï¡¢¤½¤Î¾¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬µ¯¤³¤ë: -.TP -.B EBADF -.I olddirfd -¤Þ¤¿¤Ï -.I newdirfd -¤¬Í­¸ú¤Ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤Ê¤¤¡£ -.TP -.B ENOTDIR -.I oldpath -¤¬ÁêÂХѥ¹¤Ç¡¢¤«¤Ä -.I olddirfd -¤¬¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤¢¤ë¡£ -¤Þ¤¿¤Ï -.I newpath -¤È -.I newdirfd -¤Ë¤Ä¤¤¤Æ¡¢Æ±ÍͤΤ³¤È¤¬µ¯¤­¤Æ¤¤¤ë¡£ -.SH ¥Ð¡¼¥¸¥ç¥ó -.BR linkat () -¤Ï Linux ¥«¡¼¥Í¥ë 2.6.16 ¤ÇÄɲ䵤줿¡£ -.SH ½àµò -POSIX.1-2008. -.SH Ãí°Õ -.BR linkat () -¤¬É¬ÍפÊÍýͳ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ -.BR openat (2) -¤ò»²¾È¤¹¤ë¤³¤È¡£ -.SH ´ØÏ¢¹àÌÜ -.BR link (2), -.BR openat (2), -.BR path_resolution (7), -.BR symlink (7) +The following values can be bitwise ORed in \fIflags\fP: +.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 の参照の解決を行わない。 \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 エラー +\fBlink\fP(2) と同じエラーが \fBlinkat\fP() でも起こる。 \fBlinkat\fP() では、その他に以下のエラーが起こる: +.TP +\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.54 の一部 +である。プロジェクトの説明とバグ報告に関する情報は +http://www.kernel.org/doc/man\-pages/ に書かれている。