faccessat

Autres langues

Langue: ja

Version: 2007-02-28 (openSuse - 09/10/07)

Section: 2 (Appels système)

̾Á°

faccessat - ¥Ç¥£¥ì¥¯¥È¥ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤«¤éÁêÂÐŪ¤Ê°ÌÃ֤ˤ¢¤ë ¥Õ¥¡¥¤¥ë¤Î¥¢¥¯¥»¥¹¸¢¤ò¥Á¥§¥Ã¥¯¤¹¤ë

½ñ¼°


#define _ATFILE_SOURCE

#include <fcntl.h>

#include <unistd.h>



int faccessat(int dirfd, const char *pathname, int mode, int flags);

ÀâÌÀ

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

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

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

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

flags ¤Ï°Ê²¼¤ÎÃͤò 0 ¸Ä°Ê¾å OR ¤·¤Æºî¤é¤ì¤ë¡£

AT_EACCESS
¼Â¸ú (effective) ¥æ¡¼¥¶ ID ¤È¼Â¸ú¥°¥ë¡¼¥× ID ¤ò»È¤Ã¤Æ¡¢ ¥¢¥¯¥»¥¹¸¢¤Î¥Á¥§¥Ã¥¯¤ò¹Ô¤¦¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ faccessat() ¤Ï (access(2) ¤ÈƱÍͤË) ¼Â ID ¤ò»È¤¦¡£
AT_SYMLINK_NOFOLLOW
pathname ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¾ì¹ç¤Ï¡¢¤½¤ì¤òé¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢ ¥ê¥ó¥¯¼«¿È¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÊÖ¤¹¡£

ÊÖ¤êÃÍ

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

¥¨¥é¡¼

access(2) ¤ÈƱ¤¸¥¨¥é¡¼¤¬ faccessat() ¤Ç¤âµ¯¤³¤ë¡£ faccessat() ¤Ç¤Ï¡¢¤½¤Î¾¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬µ¯¤³¤ë:
EBADF
dirfd ¤¬Í­¸ú¤Ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤Ê¤¤¡£
EINVAL
flags ¤ËÉÔÀµ¤Ê¥Õ¥é¥°Ãͤ¬»ØÄꤵ¤ì¤¿¡£
ENOTDIR
pathname ¤¬ÁêÂХѥ¹¤Ç¡¢¤«¤Ä dirfd ¤¬¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤¢¤ë¡£

¥Ð¡¼¥¸¥ç¥ó

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

½àµò

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

Ãí°Õ

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

glibc ¤Ë¤Ä¤¤¤Æ¤ÎÃí°Õ

AT_EACCESS ¤È AT_SYMLINK_NOFOLLOW ¥Õ¥é¥°¤Ï¡¢ faccessat() ¤Î glibc ¥é¥Ã¥Ñ¡¼´Ø¿ô¤Ç¼ÂºÝ¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¡£ ¤³¤ì¤é¤Î¥Õ¥é¥°¤Î¤¤¤º¤ì¤«¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢ ¥é¥Ã¥Ñ¡¼´Ø¿ô¤Ï¥¢¥¯¥»¥¹¸¢¤ò·èÄꤹ¤ë¤¿¤á¤Ë fstatat(2) ¤ò»È¤¦¡£

´ØÏ¢¹àÌÜ

access(2), openat(2), eauidaccess(3), path_resolution(7)