Home :: International :: Manuals :: Howto :: FAQ :: Man Pages :: Email Login

 
 

 

FTW

Section: Linux Programmer's Manual (3)
Updated: 25 June 1999
Index Return to Main Contents
 

̾Á°

ftw, nftw - ¥Õ¥¡¥¤¥ë¥Ä¥ê¡¼¤òÊ⤭¤Þ¤ï¤ë  

½ñ¼°

#include <ftw.h>

int ftw (const char *dir, int (*fn)(const char *file, const struct stat *sb, int flag), int depth);

int nftw (const char *dir, int (*fn)(const char *file, const struct stat *sb, int flag, struct FTW *s), int depth, int flags);  

ÀâÌÀ

ftw() ¤Ï dir ¤Ç»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¥Ä¥ê¡¼Á´ÂΤòÊ⤭½ä¤ë¡£ ¥Ä¥ê¡¼Ãæ¤Ç¥¨¥ó¥È¥ê¤¬¸«ÉÕ¤«¤ë¤´¤È¤Ë¡¢ ¥¨¥ó¥È¥ê¤Î¥Õ¥ë¥Ñ¥¹¡¢ stat(2) ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡¢ ¤ª¤è¤Ó°Ê²¼¤Î¤¤¤º¤ì¤«¤¬Æþ¤Ã¤¿ int flag ¤ò°ú¿ô¤È¤·¤Æ¡¢ fn() ¤ò¸Æ¤Ó½Ð¤¹¡£
FTW_F
Âоݤ¬Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë
FTW_D
Âоݤ¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë
FTW_DNR
Âоݤ¬ÆÉ¤ß¹þ¤ß¤Ç¤­¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë
FTW_SL
Âоݤ¬¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¤¢¤ë
FTW_NS
Âоݤϥ·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¤Ï¤Ê¤¯¡¢¤Þ¤¿ÂоݤËÂФ¹¤ë stat ¤¬¼ºÇÔ¤·¤¿

Âоݤ¬¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¡¢¤«¤Ä stat ¤¬¼ºÇÔ¤·¤¿¤È¤­¡¢ÊÖ¤êÃͤȤ·¤Æ FTW_NS ¤È FTW_SL ¤Î¤¤¤º¤ì¤òÍѤ¤¤ë¤«¤Ï¡¢ XPG4v2 ¤Ë¤è¤ì¤Ð̤ÄêµÁ¤Ç¤¢¤ë¡£

ftw() ¤Ï¡¢¼«Ê¬¼«¿È¤òºÆµ¢Åª¤Ë¸Æ¤Ó½Ð¤·¤Æ¥Ç¥£¥ì¥¯¥È¥ê²¼¤òõº÷¤¹¤ë¡£ ¥Ç¥£¥ì¥¯¥È¥ê¤½¤Î¤â¤Î¤¬¡¢³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ä¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤è¤ê¤â Àè¤Ë½èÍý¤µ¤ì¤ë¡£°ì¤Ä¤Î¥×¥í¥°¥é¥à¤ÇÍøÍѲÄǽ¤Ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼ (file descriptor) ¤ò»È¤¤¿Ô¤µ¤Ê¤¤¤è¤¦¡¢Æ±»þ¤Ë¥ª¡¼¥×¥ó¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¿ô¤ò depth ¤Ë¤è¤Ã¤ÆÀ©¸Â¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ õº÷¤Î¿¼¤µ¤¬¤³¤ÎÃͤò±Û¤¨¤ë¤È¡¢ ftw() ¤Ï°ì¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÊĤ¸¤Æ¤«¤é¾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¥ª¡¼¥×¥ó¤¹¤ë¤è¤¦¤Ë¤Ê ¤ë¤Î¤Ç¡¢Æ°ºî¤¬ÃÙ¤¯¤Ê¤ë¡£ ftw() ¤Ï¥Õ¥¡¥¤¥ë³¬ÁØ 1 ¥ì¥Ù¥ë¤Ë¤Ä¤­¡¢ºÇÂç¤Ç¤â°ì¤Ä¤Î ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤·¤«ÍѤ¤¤Ê¤¤¡£

¥Ä¥ê¡¼¤Îõº÷¤ò»ß¤á¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢fn() ¤¬ 0 °Ê³°¤ÎÃͤòÊÖ¤»¤ÐÎɤ¤ (¤³¤ÎÃÍ¤Ï ftw() ¼«¿È¤ÎÌá¤êÃͤȤʤë)¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï ftw() ¤Ï¥Ä¥ê¡¼Á´ÂΤÎõº÷¤ò³¤±¡¢¤¹¤Ù¤Æ¤Î¥Ä¥ê¡¼¤òõº÷¤·½ª¤¨¤¿¤È¤³ ¤í¤Ç 0 ¤òÊÖ¤¹¡£Æ°ºîÃæ¤Ë EACCESS °Ê³°¤Î¥¨¥é¡¼ (malloc(3) ¤Î¼ºÇԤʤÉ) ¤Ç¥¨¥é¡¼¤Ë¤Ê¤Ã¤¿¤é -1 ¤òÊÖ¤¹¡£

ftw() ¤ÏưŪ¤Ê¥Ç¡¼¥¿¹½Â¤¤òÍѤ¤¤ë¤Î¤Ç¡¢¥Ä¥ê¡¼Ãµº÷¤ò°ÂÁ´¤ËÃæÃǤ¹¤ëÍ£°ì¤ÎÊýË¡¤Ï 0 °Ê³°¤ÎÃͤò fn() ¤ÎÌá¤êÃͤȤ¹¤ë¤³¤È¤Ç¤¢¤ë¡£³ä¤ê¹þ¤ß¤ò°·¤¦¤Ë ¤Ï¡¢Î㤨¤Ðµ¯¤³¤Ã¤¿³ä¤ê¹þ¤ß¤ò¥Þ¡¼¥¯¤·¤Æ¤ª¤¤¤Æ¡¢ 0 °Ê³°¤ÎÃͤòÊÖ¤¹¤è¤¦¤Ë ¤¹¤ë¡£---¥×¥í¥°¥é¥à¤ò½ªÎ»¤µ¤»¤ë¤Î¤Ç¤Ê¤±¤ì¤Ð longjmp(3) ¤ò»È¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£

´Ø¿ô nftw() ¤Ï¤Û¤È¤ó¤É ftw() ¤ÈƱ¤¸Æ°ºî¤ò¤¹¤ë¤¬¡¢°ì¤Ä;ʬ¤Ë°ú¿ô flags ¤ò¼è¤ë (¤½¤·¤Æ¸Æ¤Ó½Ð¤¹´Ø¿ô¤Ë¤â°ì¤Ä;·×¤Ë°ú¿ô¤òÍ¿¤¨¤ë)¡£ ¤³¤Î flags °ú¿ô¤Ï°Ê²¼¤Î¥Õ¥é¥°¤Î 0 ¸Ä°Ê¾å¤ÎÏÀÍýϤò ¼è¤Ã¤¿¤â¤Î¤Ç¤¢¤ë¡£

FTW_CHDIR
¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤È¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍÆ¤ò½èÍý¤¹¤ëÁ°¤Ë chdir() ¤¹¤ë¡£
FTW_DEPTH
¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤È¡¢¿¼¤µÍ¥Àè¤Î¸¡º÷¤ò¹Ô¤¦¡£¤Ä¤Þ¤ê ¥Ç¥£¥ì¥¯¥È¥ê¤½¤Î¤â¤Î¤ò°ú¿ô¤È¤·¤¿´Ø¿ô¸Æ½Ð¤·¤Ï¡¢ ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¥Õ¥¡¥¤¥ë¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò½èÍý¤·¤¿¤¢¤È¤Ë ¹Ô¤ï¤ì¤ë¡£
FTW_MOUNT
¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤È¡¢Ã±°ì¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÃæ¤Ëα¤Þ¤ë¡£
FTW_PHYS
¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤È¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤òé¤é¤Ê¤¤ (¤ª¤½¤é¤¯¤³¤Á¤é¤¬ Ä̾ï˾¤Þ¤·¤¤Æ°ºî¤À¤í¤¦)¡£¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò é¤ë¤¬¡¢Æ±¤¸¥Õ¥¡¥¤¥ë¤¬Æó²óÊó¹ð¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£

FTW_PHYS ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ FTW_DEPTH ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤È¡¢ ¼«Ê¬¼«¿È¤ËÂФ¹¤ë¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤òÇÛ²¼¤Ë»ý¤Ä¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢ ·è¤·¤Æ´Ø¿ô fn() ¤Î°ú¿ô¤È¤Ê¤ë¤³¤È¤¬¤Ê¤¤¡£

´Ø¿ô fn() ¤Ï 4 ¤Ä¤Î°ú¿ô¤ò¼è¤ë¡£Êó¹ð¤µ¤ì¤¿¥¨¥ó¥È¥ê¤Î¥Ñ¥¹Ì¾¡¢ ¤½¤Î¥¨¥ó¥È¥ê¤Î stat ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡¢ ¥¨¥ó¥È¥ê¤Î¥¿¥¤¥×¤òµ­½Ò¤¹¤ë int¡¢ FTW ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡¢¤Ç¤¢¤ë¡£ ¥¿¥¤¥×¤Ï FTW_F, FTW_D, FTW_DNR, FTW_SL, FTW_NS ¤Î¤¤¤º¤ì¤« (°ÕÌ£¤Ï¾åµ­¤ÎÄ̤ꡣ FTW_SL ¤Ï FTW_PHYS ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë ¤Î¤ß¥»¥Ã¥È¤µ¤ì¤¦¤ë)¡¢¤Þ¤¿¤Ï°Ê²¼¤ò¼è¤ë¡£

FTW_DP
Âоݤ¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢¤½¤ÎÇÛ²¼¤Ï´û¤ËÁ´¤Æ½èÍý¤µ¤ì¤Æ¤¤¤ë (¤³¤ì¤¬¥»¥Ã¥È¤µ¤ì¤ë¤Î¤Ï FTW_DEPTH ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤À¤±)¡£
FTW_SLN
Âоݤ¬¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¡¢Â¸ºß¤·¤Ê¤¤¥Õ¥¡¥¤¥ë¤ò¥Ý¥¤¥ó¥È¤·¤Æ¤¤¤ë (¤³¤ì¤¬¥»¥Ã¥È¤µ¤ì¤ë¤Î¤Ï FTW_PHYS ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤À¤±)¡£

fn() ¤ØÅϤµ¤ì¤ëÂè 4 °ú¿ô¤¬¥Ý¥¤¥ó¥È¤¹¤ë FTW ¹½Â¤ÂΤϡ¢¾¯¤Ê¤¯¤È¤â base ¥Õ¥£¡¼¥ë¥É¤È level ¥Õ¥£¡¼¥ë¥É¤ò»ý¤Ä¡£Á°¼Ô¤Ï fn() ¤ÎÂè°ì°ú¿ô¤ËÍ¿¤¨¤é¤ì¤¿¥Ñ¥¹Ì¾¤Î¤¦¤Á¤Î¡¢ ÂоݤΥե¡¥¤¥ë̾¤Î¥ª¥Õ¥»¥Ã¥È¤Ç¤¢¤ê¡¢ ¸å¼Ô¤Ï½ÐȯÅÀ (¿¼¤µ 0) ¤«¤éÂоݤޤǤγ¬ÁØ¿¼¤µ¤ÎÁêÂÐÃͤǤ¢¤ë¡£  

Ãí°Õ

´Ø¿ô nftw() ¤È¡¢´Ø¿ô ftw() ¤Ë¤ª¤±¤ë FTW_SL ¤ÎÍøÍѤȤϡ¢ XPG4v2 ¤ÇƳÆþ¤µ¤ì¤¿¡£ Linux ¤Ç¤Ï¡¢ libc4, libc5, glibc 2.0.6 ¤Ï ¡Östat ¤Ç¤­¤ë¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¤¥ª¥Ö¥¸¥§¥¯¥È¡× (¥Õ¥¡¥¤¥ë, ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯, fifo Åù) ¤ËÂФ·¤Æ¤Ï¤¹¤Ù¤Æ FTW_F ¤ò»È¤¦¡£ glibc 2.1 ¤Ë¤Ê¤Ã¤Æ¤Ï¤¸¤á¤Æ¡¢ FTW_SL ¤È nftw() ¤Î¥µ¥Ý¡¼¥È¤¬¤Ê¤µ¤ì¤¿¡£  

½àµò

AES, SVID2, SVID3, XPG2, XPG3, XPG4, XPG4v2.  

´ØÏ¢¹àÌÜ

stat(2)


 

Index

̾Á°
½ñ¼°
ÀâÌÀ
Ãí°Õ
½àµò
´ØÏ¢¹àÌÜ

 
 
 
 
Google
  Web Linuxinfor   
 

Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account

Document on this page is part of "Linuxinfor Man Pages in HTML Format: man3". See Index Page for more info about Authorship and Copyright.

1999-2008 Linuxinfor.com. No rights reserved.