1 .\" Hey Emacs! This file is -*- nroff -*- source.
3 .\" This manpage is Copyright (C) 2006, Michael Kerrisk
5 .\" Permission is granted to make and distribute verbatim copies of this
6 .\" manual provided the copyright notice and this permission notice are
7 .\" preserved on all copies.
9 .\" Permission is granted to copy and distribute modified versions of this
10 .\" manual under the conditions for verbatim copying, provided that the
11 .\" entire resulting derived work is distributed under the terms of a
12 .\" permission notice identical to this one.
14 .\" Since the Linux kernel and libraries are constantly changing, this
15 .\" manual page may be incorrect or out-of-date. The author(s) assume no
16 .\" responsibility for errors or omissions, or for damages resulting from
17 .\" the use of the information contained herein. The author(s) may not
18 .\" have taken the same level of care in the production of this manual,
19 .\" which is licensed free of charge, as they might when working
22 .\" Formatted or processed versions of this manual, if unaccompanied by
23 .\" the source, must acknowledge the copyright and authors of this work.
25 .\" FIXME: Linux 2.6.39 added AT_EMPTY_PATH
27 .\" Japanese Version Copyright (c) 2006 Yuichi SATO
28 .\" all rights reserved.
29 .\" Translated 2006-09-30 by Yuichi SATO <ysato444@yahoo.co.jp>, LDP v2.39
31 .TH LINKAT 2 2009-12-13 "Linux" "Linux Programmer's Manual"
34 .\"O linkat \- create a file link relative to directory file descriptors
35 linkat \- ¥Ç¥£¥ì¥¯¥È¥ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤«¤éÁêÂÐŪ¤Ê°ÌÃ֤˥ե¡¥¤¥ë¥ê¥ó¥¯¤òºîÀ®¤¹¤ë
39 .\"O .B #include <fcntl.h> /* Definition of AT_* constants */
40 .B #include <fcntl.h> /* AT_* Äê¿ô¤ÎÄêµÁ */
41 .B #include <unistd.h>
43 .BI "int linkat(int " olddirfd ", const char *" oldpath ,
44 .BI " int " newdirfd ", const char *" newpath ", int " flags );
48 .\"O Feature Test Macro Requirements for glibc (see
49 .\"O .BR feature_test_macros (7)):
50 glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
51 .RB ( feature_test_macros (7)
60 .\"O Since glibc 2.10:
62 _XOPEN_SOURCE\ >=\ 700 || _POSIX_C_SOURCE\ >=\ 200809L
64 .\"O Before glibc 2.10:
74 .\"O system call operates in exactly the same way as
76 .\"O except for the differences described in this manual page.
78 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢¤³¤Î man ¥Ú¡¼¥¸¤ÇÀâÌÀ¤¹¤ë°ã¤¤°Ê³°¤Ï¡¢
80 ¤ÈÁ´¤¯Æ±¤¸¤è¤¦¤ËÆ°ºî¤¹¤ë¡£
82 .\"O If the pathname given in
84 .\"O is relative, then it is interpreted relative to the directory
85 .\"O referred to by the file descriptor
87 .\"O (rather than relative to the current working directory of
88 .\"O the calling process, as is done by
90 .\"O for a relative pathname).
92 ¤Ç»ØÄꤵ¤ì¤ë¥Ñ¥¹Ì¾¤¬ÁêÂХѥ¹Ì¾¤Ç¤¢¤ë¾ì¹ç¡¢
93 ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿
95 ¤Ç»²¾È¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹Ì¾¤È¤·¤Æ²ò¼á¤µ¤ì¤ë
97 ¤Ç¤Ï¡¢ÁêÂХѥ¹¤Ï¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î
98 ¥«¥ì¥ó¥È¥ï¡¼¥¥ó¥°¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤È¤Ê¤ë)¡£
104 .\"O is the special value
108 .\"O is interpreted relative to the current working
109 .\"O directory of the calling process (like
112 ¤¬ÁêÂХѥ¹¤Ç¤¢¤ê¡¢¤«¤Ä
120 ¤ÈƱ¤¸¤è¤¦¤Ë) ¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î
121 ¥«¥ì¥ó¥È¥ï¡¼¥¥ó¥°¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹Ì¾¤È¤·¤Æ²ò¼á¤µ¤ì¤ë¡£
125 .\"O is absolute, then
129 ¤¬ÀäÂХѥ¹¤Ç¤¢¤ë¾ì¹ç¡¢
133 .\"O The interpretation of
137 .\"O except that a relative pathname is interpreted relative
138 .\"O to the directory referred to by the file descriptor
144 ÁêÂХѥ¹Ì¾¤Ï¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿
146 ¤Ç»²¾È¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹Ì¾¤È¤·¤Æ²ò¼á¤µ¤ì¤ë¡£
150 .\"O does not dereference
152 .\"O if it is a symbolic link (like
154 .\"O Since Linux 2.6.18, the flag
155 .\"O .B AT_SYMLINK_FOLLOW
156 .\"O can be specified in
160 .\"O to be dereferenced if it is a symbolic link.
161 .\"O Before kernel 2.6.18, the
163 .\"O argument was unused, and had to be specified as 0.
166 ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Î¾ì¹ç¡¢
172 ¤Î»²¾È¤Î²ò·è¤ò¹Ô¤ï¤Ê¤¤¡£
173 Linux 2.6.18 °Ê¹ß¤Ç¤Ï¡¢
177 ¤Ë»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤ë¡£¤³¤Î¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢
179 ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Î¾ì¹ç¡¢
182 2.6.18 °ÊÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢
185 0 ¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿¡£
186 .\"O .SH "RETURN VALUE"
194 .\"O On error, \-1 is returned and
196 .\"O is set to indicate the error.
197 ¥¨¥é¡¼¤Î¾ì¹ç¡¢\-1 ¤¬ÊÖ¤µ¤ì¤Æ¡¢
199 ¤Ë¤Ï¥¨¥é¡¼¤ò¼¨¤¹Ãͤ¬ÀßÄꤵ¤ì¤ë¡£
202 .\"O The same errors that occur for
204 .\"O can also occur for
210 .\"O The following additional errors can occur for
213 ¤Ç¤Ï¡¢¤½¤Î¾¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬µ¯¤³¤ë:
219 .\"O is not a valid file descriptor.
223 ¤¬Í¸ú¤Ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤Ê¤¤¡£
229 .\"O is a file descriptor referring to a file other than a directory;
233 ¤¬¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤¢¤ë¡£
242 ¤Ë¤Ä¤¤¤Æ¡¢Æ±ÍͤΤ³¤È¤¬µ¯¤¤Æ¤¤¤ë¡£
246 .\"O was added to Linux in kernel 2.6.16.
248 ¤Ï Linux ¥«¡¼¥Í¥ë 2.6.16 ¤ÇÄɲ䵤줿¡£
249 .\"O .SH "CONFORMING TO"
256 .\"O for an explanation of the need for
259 ¤¬É¬ÍפÊÍýͳ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
266 .BR path_resolution (7),