|
|||||||
|
|
FTWSection: 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() ¤ò¸Æ¤Ó½Ð¤¹¡£
Âоݤ¬¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¡¢¤«¤Ä 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_PHYS ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ FTW_DEPTH ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤È¡¢ ¼«Ê¬¼«¿È¤ËÂФ¹¤ë¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤òÇÛ²¼¤Ë»ý¤Ä¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢ ·è¤·¤Æ´Ø¿ô fn() ¤Î°ú¿ô¤È¤Ê¤ë¤³¤È¤¬¤Ê¤¤¡£ ´Ø¿ô fn() ¤Ï 4 ¤Ä¤Î°ú¿ô¤ò¼è¤ë¡£Êó¹ð¤µ¤ì¤¿¥¨¥ó¥È¥ê¤Î¥Ñ¥¹Ì¾¡¢ ¤½¤Î¥¨¥ó¥È¥ê¤Î stat ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡¢ ¥¨¥ó¥È¥ê¤Î¥¿¥¤¥×¤òµ½Ò¤¹¤ë int¡¢ FTW ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡¢¤Ç¤¢¤ë¡£ ¥¿¥¤¥×¤Ï FTW_F, FTW_D, FTW_DNR, FTW_SL, FTW_NS ¤Î¤¤¤º¤ì¤« (°ÕÌ£¤Ï¾åµ¤ÎÄ̤ꡣ FTW_SL ¤Ï 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 | ||||||
|
|
|
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. |