.\" Translated 2006-08-24 by Yuichi SATO <ysato444@yahoo.co.jp>, LDP v2.39
.\"
.TH UNLINKAT 2 2009-12-13 "Linux" "Linux Programmer's Manual"
-.SH ̾Á°
-unlinkat \- ¥Ç¥£¥ì¥¯¥È¥ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤«¤éÁêÂÐŪ¤Ê°ÌÃ֤ˤ¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¥¨¥ó¥È¥ê¤òºï½ü¤¹¤ë
-.SH ½ñ¼°
+.SH 名前
+unlinkat \- ディレクトリファイルディスクリプタから相対的な位置にあるディレクトリエントリを削除する
+.SH 書式
.nf
.B #include <fcntl.h>
.sp
.fi
.sp
.in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
+glibc 向けの機能検査マクロの要件
.RB ( feature_test_macros (7)
-»²¾È):
+参照):
.in
.sp
.BR unlinkat ():
.ad l
.RS 4
.TP 4
-glibc 2.10 °Ê¹ß:
+glibc 2.10 以降:
_XOPEN_SOURCE\ >=\ 700 || _POSIX_C_SOURCE\ >=\ 200809L
.TP
-glibc 2.10 ¤è¤êÁ°:
+glibc 2.10 より前:
_ATFILE_SOURCE
.RE
.ad
.PD
-.SH ÀâÌÀ
+.SH 説明
.BR unlinkat ()
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢¤³¤Î man ¥Ú¡¼¥¸¤ÇÀâÌÀ¤·¤Æ¤¤¤ë°ã¤¤¤¬¤¢¤ë°Ê³°¤Ï¡¢
+システムコールは、この man ページで説明している違いがある以外は、
.RI ( flags
-¤Ë
+に
.B AT_REMOVEDIR
-¥Õ¥é¥°¤¬´Þ¤Þ¤ì¤ë¤«Èݤ«¤Ë¤è¤ê)
+フラグが含まれるか否かにより)
.BR unlink (2)
-¤Þ¤¿¤Ï
+または
.BR rmdir (2)
-¤ÈÁ´¤¯Æ±¤¸¤è¤¦¤ËÆ°ºî¤¹¤ë¡£
+と全く同じように動作する。
.I pathname
-¤Ç»ØÄꤵ¤ì¤ë¥Ñ¥¹Ì¾¤¬ÁêÂХѥ¹Ì¾¤Ç¤¢¤ë¾ì¹ç¡¢
-¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿
+で指定されるパス名が相対パス名である場合、
+ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿
.I dirfd
-¤Ç»²¾È¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹Ì¾¤È¤·¤Æ²ò¼á¤µ¤ì¤ë
+で参照されるディレクトリからの相対パス名として解釈される
.RB ( unlink (2)
-¤Þ¤¿¤Ï
+または
.BR rmdir (2)
-¤Ç¤Ï¡¢ÁêÂХѥ¹¤Ï¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î
-¥«¥ì¥ó¥È¥ï¡¼¥¥ó¥°¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤È¤Ê¤ë)¡£
+では、相対パスは呼び出し元プロセスの
+カレントワーキングディレクトリからの相対パスとなる)。
.I pathname
-¤Ç»ØÄꤵ¤ì¤ë¥Ñ¥¹Ì¾¤¬ÁêÂХѥ¹Ì¾¤Ç¤¢¤ê¡¢¤«¤Ä
+で指定されるパス名が相対パス名であり、かつ
.I dirfd
-¤¬ÆÃÊ̤ÊÃÍ
+が特別な値
.B AT_FDCWD
-¤Ç¤¢¤ë¾ì¹ç¡¢
+である場合、
.I pathname
-¤Ï
+は
.RB ( unlink (2)
-¤Þ¤¿¤Ï
+または
.BR rmdir (2)
-¤ÈƱ¤¸¤è¤¦¤Ë) ¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î
-¥«¥ì¥ó¥È¥ï¡¼¥¥ó¥°¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹Ì¾¤È¤·¤Æ²ò¼á¤µ¤ì¤ë¡£
+と同じように) 呼び出し元プロセスの
+カレントワーキングディレクトリからの相対パス名として解釈される。
.I pathname
-¤Ç»ØÄꤵ¤ì¤ë¥Ñ¥¹Ì¾¤¬ÀäÂХѥ¹Ì¾¤Ç¤¢¤ë¾ì¹ç¡¢
+で指定されるパス名が絶対パス名である場合、
.I dirfd
-¤Ï̵»ë¤µ¤ì¤ë¡£
+は無視される。
.I flags
-¤Ï¥Ó¥Ã¥È¥Þ¥¹¥¯¤Ç¤¢¤ê¡¢0 ¤Þ¤¿¤Ï
+はビットマスクであり、0 または
.BR unlinkat ()
-¤ÎÁàºî¤òÀ©¸æ¤¹¤ë¥Õ¥é¥°ÃͤΠOR ¤ò»ØÄê¤Ç¤¤ë¡£
-¸½ºß¤Î¤È¤³¤í 1 ¤Ä¤Î¥Õ¥é¥°¤À¤±¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë:
+の操作を制御するフラグ値の OR を指定できる。
+現在のところ 1 つのフラグだけが定義されている:
.TP
.B AT_REMOVEDIR
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
+デフォルトでは、
.BR unlinkat ()
-¤Ï
+は
.I pathname
-¤ËÂФ·¤Æ
+に対して
.BR unlink (2)
-¤ÈƱ¤¸Áàºî¤ò¹Ô¤¦¡£
+と同じ操作を行う。
.B AT_REMOVEDIR
-¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤ë¤È¡¢
+フラグが指定されると、
.I pathname
-¤ËÂФ·¤Æ
+に対して
.BR rmdir (2)
-¤ÈƱ¤¸Áàºî¤ò¹Ô¤¦¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¡¢
+と同じ操作を行う。
+.SH 返り値
+成功した場合、
.BR unlinkat ()
-¤Ï 0 ¤òÊÖ¤¹¡£
-¥¨¥é¡¼¤Î¾ì¹ç¡¢\-1 ¤¬ÊÖ¤µ¤ì¤Æ¡¢
+は 0 を返す。
+エラーの場合、\-1 が返されて、
.I errno
-¤Ë¤Ï¥¨¥é¡¼¤ò¼¨¤¹Ãͤ¬ÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
+にはエラーを示す値が設定される。
+.SH ã\82¨ã\83©ã\83¼
.BR unlink (2)
-¤Þ¤¿¤Ï
+または
.BR rmdir (2)
-¤ÈƱ¤¸¥¨¥é¡¼¤¬
+と同じエラーが
.BR unlinkat ()
-¤Ç¤âµ¯¤³¤ë¡£
+でも起こる。
.BR unlinkat ()
-¤Ç¤Ï¡¢¤½¤Î¾¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬µ¯¤³¤ë:
+では、その他に以下のエラーが起こる:
.TP
.B EBADF
.I dirfd
-¤¬Í¸ú¤Ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤Ê¤¤¡£
+が有効なファイルディスクリプタでない。
.TP
.B EINVAL
.I flags
-¤ËÉÔÀµ¤Ê¥Õ¥é¥°Ãͤ¬»ØÄꤵ¤ì¤¿¡£
+に不正なフラグ値が指定された。
.TP
.B ENOTDIR
.I pathname
-¤¬ÁêÂХѥ¹¤Ç¡¢¤«¤Ä
+が相対パスで、かつ
.I dirfd
-¤¬¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤¢¤ë¡£
-.SH ¥Ð¡¼¥¸¥ç¥ó
+がディレクトリ以外のファイルを参照するファイルディスクリプタである。
+.SH バージョン
.BR unlinkat ()
-¤Ï Linux ¥«¡¼¥Í¥ë 2.6.16 ¤ÇÄɲ䵤줿¡£
-.SH ½àµò
+は Linux カーネル 2.6.16 で追加された。
+.SH 準拠
POSIX.1-2008.
-Solaris ¤Ë¤Ï¡¢¤³¤ì¤ÈƱ¤¸¤è¤¦¤Ê¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬Â¸ºß¤¹¤ë¡£
-.SH Ãí°Õ
+Solaris には、これと同じようなシステムコールが存在する。
+.SH 注意
.BR unlinkat ()
-¤¬É¬ÍפÊÍýͳ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+が必要な理由については、
.BR openat (2)
-¤ò»²¾È¤¹¤ë¤³¤È¡£
-.SH ´ØÏ¢¹àÌÜ
+を参照すること。
+.SH 関連項目
.BR openat (2),
.BR rmdir (2),
.BR unlink (2),