linkat

Autres langues

Langue: ja

Autres versions - même langue

Version: 2006-04-10 (openSuse - 09/10/07)

Section: 2 (Appels système)

̾Á°

linkat - ¥Ç¥£¥ì¥¯¥È¥ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤«¤éÁêÂÐŪ¤Ê°ÌÃ֤˥ե¡¥¤¥ë¥ê¥ó¥¯¤òºîÀ®¤¹¤ë

½ñ¼°


#define _ATFILE_SOURCE

#include <unistd.h>



int linkat(int olddirfd, const char *oldpath,

           int newdirfd, const char *newpath, int flags);

ÀâÌÀ

linkat() ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢¤³¤Î man ¥Ú¡¼¥¸¤ÇÀâÌÀ¤·¤Æ¤¤¤ë°ã¤¤¤¬¤¢¤ë°Ê³°¤Ï¡¢ link(2) ¤ÈÁ´¤¯Æ±¤¸¤è¤¦¤ËÆ°ºî¤¹¤ë¡£

oldpath ¤Ç»ØÄꤵ¤ì¤ë¥Ñ¥¹Ì¾¤¬ÁêÂХѥ¹Ì¾¤Ç¤¢¤ë¾ì¹ç¡¢ ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿ olddirfd ¤Ç»²¾È¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹Ì¾¤È¤·¤Æ²ò¼á¤µ¤ì¤ë (link(2) ¤Ç¤Ï¡¢ÁêÂХѥ¹¤Ï¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î ¥«¥ì¥ó¥È¥ï¡¼¥­¥ó¥°¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹¤È¤Ê¤ë)¡£

oldpath ¤¬ÁêÂХѥ¹¤Ç¤¢¤ê¡¢¤«¤Ä olddirfd ¤¬ÆÃÊ̤ÊÃÍ AT_FDCWD ¤Ç¤¢¤ë¾ì¹ç¡¢ oldpath ¤Ï (link(2) ¤ÈƱ¤¸¤è¤¦¤Ë) ¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î ¥«¥ì¥ó¥È¥ï¡¼¥­¥ó¥°¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹Ì¾¤È¤·¤Æ²ò¼á¤µ¤ì¤ë¡£

oldpath ¤¬ÀäÂХѥ¹¤Ç¤¢¤ë¾ì¹ç¡¢ olddirfd ¤Ï̵»ë¤µ¤ì¤ë¡£

newpath ¤Î²ò¼á¤Ï oldpath ¤ÈƱÍͤǤ¢¤ë¤¬¡¢ ÁêÂХѥ¹Ì¾¤Ï¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿ newdirfd ¤Ç»²¾È¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤ÎÁêÂХѥ¹Ì¾¤È¤·¤Æ²ò¼á¤µ¤ì¤ë¡£

¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ oldpath ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Î¾ì¹ç¡¢ (link(2) ƱÍÍ) linkat(2) ¤Ï oldpath ¤Î»²¾È¤Î²ò·è¤ò¹Ô¤ï¤Ê¤¤¡£ Linux 2.6.18 °Ê¹ß¤Ç¤Ï¡¢ AT_SYMLINK_FOLLOW ¥Õ¥é¥°¤ò flags ¤Ë»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤Î¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢ oldpath ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Î¾ì¹ç¡¢ oldpath ¤Î»²¾È¤Î²ò·è¤ò¹Ô¤¦¡£ 2.6.18 °ÊÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢ flags °ú¤­¿ô¤Ï»ÈÍѤµ¤ì¤º¡¢ 0 ¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤«¤Ã¤¿¡£

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¡¢ linkat() ¤Ï 0 ¤òÊÖ¤¹¡£ ¥¨¥é¡¼¤Î¾ì¹ç¡¢-1 ¤¬ÊÖ¤µ¤ì¤Æ¡¢ errno ¤Ë¤Ï¥¨¥é¡¼¤ò¼¨¤¹Ãͤ¬ÀßÄꤵ¤ì¤ë¡£

¥¨¥é¡¼

link(2) ¤ÈƱ¤¸¥¨¥é¡¼¤¬ linkat() ¤Ç¤âµ¯¤³¤ë¡£ linkat() ¤Ç¤Ï¡¢¤½¤Î¾¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬µ¯¤³¤ë:
EBADF
olddirfd ¤Þ¤¿¤Ï newdirfd ¤¬Í­¸ú¤Ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤Ê¤¤¡£
ENOTDIR
oldpath ¤¬ÁêÂХѥ¹¤Ç¡¢¤«¤Ä olddirfd ¤¬¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤¢¤ë¡£ ¤Þ¤¿¤Ï newpath ¤È newdirfd ¤Ë¤Ä¤¤¤Æ¡¢Æ±ÍͤΤ³¤È¤¬µ¯¤­¤Æ¤¤¤ë¡£

¥Ð¡¼¥¸¥ç¥ó

linkat() ¤Ï Linux ¥«¡¼¥Í¥ë 2.6.16 ¤ÇÄɲ䵤줿¡£

½àµò

¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ïɸ½àŪ¤Ç¤Ï¤Ê¤¤¤¬¡¢ POSIX.1 ¤Î¾­Íè¤Î¥ê¥Ó¥¸¥ç¥ó¤Ë´Þ¤á¤ë¤³¤È¤¬Äó°Æ¤µ¤ì¤Æ¤¤¤ë¡£

Ãí°Õ

linkat() ¤¬É¬ÍפÊÍýͳ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ openat(2) ¤ò»²¾È¤¹¤ë¤³¤È¡£

´ØÏ¢¹àÌÜ

link(2), openat(2), path_resolution(7)