fts

Autres langues

Langue: ja

Autres versions - même langue

Version: 54383 (openSuse - 09/10/07)

Autres sections - même nom

Section: 3 (Bibliothèques de fonctions)


BSD mandoc

̾Á°

fts fts_open fts_read fts_children fts_set fts_close - ¥Õ¥¡¥¤¥ë³¬Áؤò¤¿¤É¤ë

½ñ¼°

Fd #include <sys/types.h> Fd #include <sys/stat.h> Fd #include <fts.h> Ft FTS * Fn fts_open char * const *path_argv int options int (*compar)(const FTSENT **, const FTSENT **) Ft FTSENT * Fn fts_read FTS *ftsp Ft FTSENT * Fn fts_children FTS *ftsp int options Ft int Fn fts_set FTS *ftsp FTSENT *f int options Ft int Fn fts_close FTS *ftsp

ÀâÌÀ

fts ´Ø¿ô¤Ï¡¢ UNIX ¥Õ¥¡¥¤¥ë³¬Áؤò¤¿¤É¤ë¤¿¤á¤ËÄ󶡤µ¤ì¤Æ¤¤¤ë¡£ ´Êñ¤Ë³µÎ¬¤¹¤ë¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£ Fn fts_open ´Ø¿ô¤Ï¡¢ ¾¤Î fts ´Ø¿ô¤ËÅϤ¹¤¿¤á¤Î¡¢¥Õ¥¡¥¤¥ë³¬ÁؤΡ֥ϥó¥É¥ë¡×¤òÊÖ¤¹¡£ ´Ø¿ô Fn fts_read ¤Ï¡¢¥Õ¥¡¥¤¥ë³¬ÁØÃæ¤Ë¤¢¤ë 1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤òµ­½Ò¤¹¤ë ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤òÊÖ¤¹¡£ ´Ø¿ô Fn fts_children ¤Ï¡¢³¬ÁØÃæ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤òµ­½Ò¤¹¤ë ¹½Â¤ÂΤΥê¥ó¥¯¥ê¥¹¥È¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£ °ìÈ̤˥ǥ£¥ì¥¯¥È¥ê¤Ï¡¢ pre-order (ÀµÊý¸þ¡§²¼¤Î³¬ÁؤΥǥ£¥ì¥¯¥È¥ê¤ò¤¿¤É¤ëÁ°) ¤È post-order (µÕÊý¸þ¡§²¼¤Î³¬ÁؤΥǥ£¥ì¥¯¥È¥ê¤ò¤¹¤Ù¤Æ¤¿¤É¤Ã¤¿¸å) ¤È¤¤¤¦¡¢ °Û¤Ê¤ëÊý¸þ¤Ç 2 ²ó¤¿¤É¤é¤ì¤ë¡£¥Õ¥¡¥¤¥ë¤Ï 1 ²ó¤¿¤É¤é¤ì¤ë¡£ ¥Ç¥£¥ì¥¯¥È¥ê³¬Áؤò¡ÖÏÀÍýŪ¤Ë¡×(¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥°¤ò̵»ë¤·¤Æ) °ÜÆ°¤¹¤ë¤³¤È¤â¡¢ ʪÍýŪ¤Ë (¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¤¿¤É¤Ã¤Æ) °ÜÆ°¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¢¤ë¡£ ¤Þ¤¿¡¢³¬ÁØÃæ¤Î°ÜÆ°¤ÎÆ»¶Ú¤ò»Ø¼¨¤¹¤ë¤³¤È¡¦ ;ʬ¤Ê¤â¤Î¤ò¼è¤ê½ü¤¯¤³¤È¡¦³¬ÁؤΰìÉô¤òºÆ¤Ó¤¿¤É¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¡£

2 ¤Ä¤Î¹½Â¤ÂΤ¬¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë Aq Pa fts.h ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë (¤µ¤é¤Ë typedef ¤µ¤ì¤Æ¤¤¤ë)¡£ 1 ¤ÄÌܤϡ¢¥Õ¥¡¥¤¥ë³¬Áؤ½¤Î¤â¤Î¤òɽ¸½¤¹¤ë Fa FTS ¹½Â¤ÂΤǤ¢¤ë¡£ 2 ¤ÄÌܤϡ¢¥Õ¥¡¥¤¥ë³¬ÁØÃæ¤Î¥Õ¥¡¥¤¥ë¤òɽ¸½¤¹¤ë Fa FTSENT ¹½Â¤ÂΤǤ¢¤ë¡£ Fa FTSENT ¹½Â¤ÂΤÏÄ̾¥Õ¥¡¥¤¥ë³¬ÁØÃæ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆÊÖ¤µ¤ì¤ë¡£ ¤³¤Î man ¥Ú¡¼¥¸¤Ç¤Ï¡¢¡Ö¥Õ¥¡¥¤¥ë¡×¤È Fa ¡Ö FTSENT ¹½Â¤ÂΡפò°ìÈ̤ËÆɤßÊѤ¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ Fa FTSENT ¹½Â¤ÂΤϡ¢¾¯¤Ê¤¯¤È¤â¼¡¤Î¤è¤¦¤Ê¥Õ¥£¡¼¥ë¥É¤ò»ý¤Ã¤Æ¤ª¤ê¡¢ °Ê²¼¤Ç¤è¤ê¾Ü¤·¤¯ÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¡£


typedef struct _ftsent {

        u_short fts_info;               /* FTSENT ¹½Â¤ÂΤΤ¿¤á¤Î¥Õ¥é¥° */

        char *fts_accpath;              /* ¥¢¥¯¥»¥¹¥Ñ¥¹ */

        char *fts_path;                 /* ¥ë¡¼¥È¥Ñ¥¹ */

        short fts_pathlen;              /* fts_path ¤ÎŤµ */

        char *fts_name;                 /* ¥Õ¥¡¥¤¥ë̾ */

        short fts_namelen;              /* fts_name ¤ÎŤµ */

        short fts_level;                /* ¿¼¤µ (-1 ¡Á N) */

        int fts_errno;                  /* ¥Õ¥¡¥¤¥ë¤Î¥¨¥é¡¼ÈÖ¹æ */

        long fts_number;                /* ¥í¡¼¥«¥ë¤ÊÈÖ¹æ */

        void *fts_pointer;              /* ¥í¡¼¥«¥ë¤Ê¥¢¥É¥ì¥¹ÈÖ¹æ */

        struct ftsent *fts_parent;      /* ¿Æ¥Ç¥£¥ì¥¯¥È¥ê */

        struct ftsent *fts_link;        /* ¼¡¤Î¥Õ¥¡¥¤¥ë¹½Â¤ÂÎ */

        struct ftsent *fts_cycle;       /* ½Û´Ä¤·¤Æ¤¤¤ë¹½Â¤ÂÎ */

        struct stat *fts_statp;         /* stat(2) ¤Î¾ðÊó */

} FTSENT;

¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤Ï¡¢¼¡¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£

Fa fts_info
¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï¡¢ÊÖ¤µ¤ì¤¿ Fa FTSENT ¹½Â¤ÂΤȥե¡¥¤¥ë¤òÀâÌÀ¤¹¤ë°Ê²¼¤Î¥Õ¥é¥°¤Î¤¤¤º¤ì¤«¤òɽ¤·¤Æ¤¤¤ë¡£ ¥¨¥é¡¼¤Î¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê (FTS_D ) ¤Î¾ì¹ç¤ÏÎã³°¤È¤·¤Æ¡¢¤½¤ì°Ê³°¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Ï½ªÃ¼¤Ç¤¢¤ë¡£ ¤Ä¤Þ¤ê¡¢¥¨¥ó¥È¥ê¤ÏºÆ¤Ó¤¿¤É¤é¤ì¤ë¤³¤È¤â¤Ê¤¯¡¢ ¤½¤ì¤è¤ê²¼¤Î³¬Áؤ¬¤¿¤É¤é¤ì¤ë¤³¤È¤â¤Ê¤¤¡£
FTS_D
pre-order ¤Ç¤¿¤É¤é¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¡£
FTS_DC
¥Ä¥ê¡¼¤ÎÃæ¤Ç½Û´Ä¤·¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¡£ Fa ( FTSENT ¹½Â¤ÂΤΠFa fts_cycle ¥Õ¥£¡¼¥ë¥É¤âƱÍͤËËä¤á¤é¤ì¤ë¡£)
FTS_DEFAULT
¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤òɽ¸½¤¹¤ë Fa FTSENT ¹½Â¤ÂΤ¬¡¢ Fa fts_info ¤Î¾¤Î¤¤¤º¤ì¤«¤ÎÃͤÇÌÀ¼¨Åª¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
FTS_DNR
Æɤ߹þ¤ß¤¬¤Ç¤­¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¡£ ¤³¤ì¤Ï¥¨¥é¡¼¤Î¾ì¹ç¤ÎÊÖ¤êÃͤǤ¢¤ê¡¢ ²¿¤¬¥¨¥é¡¼¤òµ¯¤³¤·¤¿¤«¤ò¼¨¤¹¤¿¤á¤Ë Fa fts_errno ¥Õ¥£¡¼¥ë¥É¤¬ÀßÄꤵ¤ì¤ë¡£
FTS_DOT
Fn fts_open ¤Ø¤Î¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿ `.' ¤Þ¤¿¤Ï `..' ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë ( FTS_SEEDOT ¤ò»²¾È¤¹¤ë¤³¤È)¡£
FTS_DP
post-order ¤Ç¤¿¤É¤é¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¡£ Fa FTSENT ¹½Â¤ÂΤÎÆâÍƤϡ¢pre-order ¤Î¤È¤­¤ËÊÖ¤µ¤ì¤¿¾õÂÖ (¤Ä¤Þ¤ê¡¢ Fa fts_info ¥Õ¥£¡¼¥ë¥É¤¬ FTS_D ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾õÂÖ) ¤«¤éÊѹ¹¤µ¤ì¤Ê¤¤¡£
FTS_ERR
¤³¤ì¤Ï¥¨¥é¡¼¤Î¾ì¹ç¤ÎÊÖ¤êÃͤǤ¢¤ê¡¢ Fa fts_errno ¥Õ¥£¡¼¥ë¥É¤Ï¡¢²¿¤¬¥¨¥é¡¼¤òµ¯¤³¤·¤¿¤«¤ò¼¨¤¹ÃͤËÀßÄꤵ¤ì¤ë¡£
FTS_F
Ä̾ï¤Î¥Õ¥¡¥¤¥ë¡£
FTS_NS
stat(2) ¾ðÊó¤¬ÆÀ¤é¤ì¤Ê¤«¤Ã¤¿¥Õ¥¡¥¤¥ë¡£ Fa fts_statp ¥Õ¥£¡¼¥ë¥É¤ÎÆâÍƤÏÄêµÁ¤µ¤ì¤Ê¤¤¡£ ¤³¤ì¤Ï¥¨¥é¡¼¤Î¾ì¹ç¤ÎÊÖ¤êÃͤǤ¢¤ê¡¢ Fa fts_errno ¥Õ¥£¡¼¥ë¥É¤Ï¡¢²¿¤¬¥¨¥é¡¼¤òµ¯¤³¤·¤¿¤«¤ò¼¨¤¹ÃͤËÀßÄꤵ¤ì¤ë¡£
FTS_NSOK
stat(2) ¾ðÊó¤¬Í׵ᤵ¤ì¤Ê¤«¤Ã¤¿¥Õ¥¡¥¤¥ë¡£ Fa fts_statp ¥Õ¥£¡¼¥ë¥É¤ÎÆâÍƤÏÄêµÁ¤µ¤ì¤Ê¤¤¡£
FTS_SL
¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¡£
FTS_SLNONE
¥ê¥ó¥¯Àè¤Î¸ºß¤·¤Ê¤¤¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¡£ Fa fts_statp ¥Õ¥£¡¼¥ë¥É¤ÎÆâÍƤϡ¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤½¤Î¤â¤Î¤Î¥Õ¥¡¥¤¥ëÆÃÀ­¾ðÊó¤ò»²¾È¤¹¤ë¡£
Fa fts_accpath
¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Î¥Ñ¥¹¡£
Fa fts_path
³¬Áؤò¤¿¤É¤ë¤È¤­¤Î¥ë¡¼¥È¤«¤é¤ß¤¿¥Õ¥¡¥¤¥ë¤ÎÁêÂÐŪ¤Ê¥Ñ¥¹¡£ ¤³¤Î¥Ñ¥¹¤Ë¤Ï¡¢ Fn fts_open ¤Ë»ØÄꤷ¤¿¥Ñ¥¹¤¬¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤È¤·¤Æ´Þ¤Þ¤ì¤ë¡£
Fa fts_pathlen
Fa fts_path ¤Ç»²¾È¤µ¤ì¤ëʸ»úÎó¤ÎŤµ¡£
Fa fts_name
¥Õ¥¡¥¤¥ë¤Î̾Á°¡£
Fa fts_namelen
Fa fts_name ¤Ç»²¾È¤µ¤ì¤ëʸ»úÎó¤ÎŤµ¡£
Fa fts_level
³¬Áؤò¤¿¤É¤Ã¤Æ¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤¬¤ß¤Ä¤«¤Ã¤¿¿¼¤µ¡£ -1 ¡Á N ¤Î¿ôÃͤÇɽ¤µ¤ì¤ë¡£ ³¬Áؤò¤¿¤É¤ë¤È¤­¤Î½ÐȯÅÀ (¥ë¡¼¥È) ¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¤¹ Fa FTSENT ¹½Â¤ÂÎ¤Ç¤Ï -1 ¤È¤Ê¤ë¡£ ¤Þ¤¿¡¢¥ë¡¼¥È¼«¿È¤Î Fa FTSENT ¹½Â¤ÂÎ¤Ç¤Ï 0 ¤Ë¤Ê¤ë¡£
Fa fts_errno
´Ø¿ô Fn fts_children ¤È Fn fts_read ¤«¤éÊÖ¤µ¤ì¤ë Fa FTSENT ¹½Â¤ÂΤΠFa fts_info ¥Õ¥£¡¼¥ë¥É¤¬ FTS_DNR FTS_ERR FTS_NS ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ Fa fts_errno ¥Õ¥£¡¼¥ë¥É¤Ë¤Ï¥¨¥é¡¼¤Î¸¶°ø¤ò¼¨¤¹³°ÉôÊÑ¿ô errno ¤ÎÃͤ¬Æþ¤ë¡£ ¤½¤ì°Ê³°¤Î¾ì¹ç¡¢ Fa fts_errno ¥Õ¥£¡¼¥ë¥É¤ÎÆâÍƤÏÄêµÁ¤µ¤ì¤Ê¤¤¡£
Fa fts_number
¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤«¤é»ÈÍѤ¹¤ë¤¿¤á¤ËÄ󶡤µ¤ì¡¢ fts ´Ø¿ô¤Ç¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¡£ ¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï 0 ¤Ç½é´ü²½¤µ¤ì¤ë¡£
Fa fts_pointer
¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤«¤é»ÈÍѤ¹¤ë¤¿¤á¤ËÄ󶡤µ¤ì¡¢ fts ´Ø¿ô¤Ç¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¡£ ¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï NULL ¤Ç½é´ü²½¤µ¤ì¤ë¡£
Fa fts_parent
¸½ºß¤Î¥Õ¥¡¥¤¥ë¤Î¤¹¤°¾å¤Î³¬Áؤˤ¢¤ë¥Õ¥¡¥¤¥ë (¤Ä¤Þ¤ê¡¢¸½ºß¤Î¥Õ¥¡¥¤¥ë¤¬¥á¥ó¥Ð¡¼¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê) ¤ò»²¾È¤¹¤ë Fa FTSENT ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡£ ºÇ½é¤Î½ÐȯÅÀ¤ËÂФ·¤Æ¤â¡¢¿Æ¤È¤Ê¤ë¹½Â¤ÂΤÏÍ¿¤¨¤é¤ì¤ë¡£ ¤·¤«¤·¡¢ Fa fts_level , Fa fts_number , Fa fts_pointer ¥Õ¥£¡¼¥ë¥É¤Î¤ß¤Î½é´ü²½¤·¤«Êݾڤµ¤ì¤Ê¤¤¡£
Fa fts_link
Fn fts_children ¤«¤éÊÖ¤µ¤ì¤ë¾ì¹ç¡¢ Fa fts_link ¥Õ¥£¡¼¥ë¥É¤Ï¥Ç¥£¥ì¥¯¥È¥ê¥á¥ó¥Ð¡¼¤Î NUL ½ªÃ¼¤µ¤ì¤¿¥ê¥ó¥¯¥ê¥¹¥È¤Î·Á¼°¤Ç¡¢ ¼¡¤Î¹½Â¤ÂΤò»Ø¤·¼¨¤¹¡£ ¤½¤ì°Ê³°¤Î¾ì¹ç¡¢ Fa fts_link ¥Õ¥£¡¼¥ë¥É¤ÏÄêµÁ¤µ¤ì¤Ê¤¤¡£
Fa fts_cycle
2 ¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Ï¡¼¥É¥ê¥ó¥¯¤¬Ä¥¤é¤ì¤Æ¤¤¤ë¤¿¤á¡¢ ¤Þ¤¿¤Ï¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»Ø¤·¤Æ¤¤¤ë¤¿¤á¤Ë¡¢ ¥Ç¥£¥ì¥¯¥È¥ê¤¬½Û´Ä¤¹¤ë³¬Áع½Â¤¤òºî¤Ã¤Æ¤¤¤ë¾ì¹ç ( FTS_DC ¤ò»²¾È)¡¢ ¹½Â¤ÂΤΠFa fts_cycle ¥Õ¥£¡¼¥ë¥É¤Ï¡¢³¬ÁØÃæ¤Ç¸½ºß¤Î Fa FTSENT ¹½Â¤ÂΤÈƱ¤¸¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¤¤ë Fa FTSENT ¹½Â¤ÂΤò»Ø¤·¼¨¤¹¡£ ¤½¤ì°Ê³°¤Î¾ì¹ç¡¢ Fa fts_cycle ¥Õ¥£¡¼¥ë¥É¤ÏÄêµÁ¤µ¤ì¤Ê¤¤¡£
Fa fts_statp
¤³¤Î¥Õ¥¡¥¤¥ë¤Î stat(2) ¾ðÊó¤Ø¤Î¥Ý¥¤¥ó¥¿¡£

¥Õ¥¡¥¤¥ë³¬ÁØÃæ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ËÂФ·¤Æ¡¢ ¤¿¤À 1 ¤Ä¤Î¥Ð¥Ã¥Õ¥¡¡¼¤¬»È¤ï¤ì¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢ Fa fts_path ¤È Fa fts_accpath ¥Õ¥£¡¼¥ë¥É¤Ï¡¢ Fn fts_read ¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤¿ºÇ¤â¿·¤·¤¤¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ ¤Î¤ß NUL ½ªÃ¼¤µ¤ì¤ë¤³¤È¤¬Êݾڤµ¤ì¤ë¡£ ¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤ò¡¢Â¾¤Î Fa FTSENT ¹½Â¤ÂΤÇɽ¸½¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤ò»²¾È¤¹¤ë¤¿¤á¤Ë»È¤¦¤Ë¤Ï¡¢ Fa FTSENT ¹½Â¤ÂΤΠFa fts_pathlen ¥Õ¥£¡¼¥ë¥É¤Ë¤¢¤ë¾ðÊó¤ò»È¤Ã¤Æ¥Ñ¥¹¤Î¥Ð¥Ã¥Õ¥¡¡¼¤ò½¤Àµ¤¹¤ëɬÍפ¬¤¢¤ë¡£ ¤³¤ì¤é¤Î½¤Àµ¤Ï¡¢¤µ¤é¤Ë Fn fts_read ¤ò¸Æ¤Ó½Ð¤½¤¦¤È¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¸µ¤ËÌᤷ¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ Fa fts_name ¥Õ¥£¡¼¥ë¥É¤Ï¡¢¾ï¤Ë NUL ½ªÃ¼¤µ¤ì¤ë¡£

FTS_OPEN

Fn fts_open ´Ø¿ô¤Ï¡¢Ê¸»úÎó¥Ý¥¤¥ó¥¿¤ÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò°ú¤­¿ô¤Ë¼è¤ë¡£ ¤³¤Îʸ»úÎó¥Ý¥¤¥ó¥¿¤Ï¡¢ÏÀÍý¥Õ¥¡¥¤¥ë³¬Áؤò¤Ä¤¯¤ë 1 ¤Ä°Ê¾å¤Î¥Ñ¥¹¤Î̾Á°¤Ë¤Ê¤ë¡£ ÇÛÎó¤Ï¡¢ NULL ¥Ý¥¤¥ó¥¿¤Ç½ªÃ¼¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

¿¤¯¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¡¢¾¯¤Ê¤¯¤È¤â 1 ¤Ä ( FTS_LOGICAL ¤Þ¤¿¤Ï FTS_PHYSICAL ¤¬»ØÄꤵ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¼¡¤Î¥ª¥×¥·¥ç¥ó¤¬ or ¤ò¤È¤Ã¤ÆÁªÂò¤µ¤ì¤ë¡£

FTS_COMFOLLOW
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ FTS_LOGICAL ¤Î»ØÄê¤Ë¤«¤«¤ï¤é¤º¡¢ ¥ë¡¼¥È¥Ñ¥¹¤Ë»ØÄꤵ¤ì¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¤¹¤°¤Ë¤¿¤É¤é¤»¤ë¡£
FTS_LOGICAL
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ fts ¥ë¡¼¥Á¥ó¤Ë¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤½¤Î¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢ ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬»Ø¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î Fa FTSENT ¹½Â¤ÂΤòÊÖ¤µ¤»¤ë¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤¬ÀßÄꤵ¤ì¤¿¾ì¹ç¡¢ Fa FTSENT ¹½Â¤ÂΤ¬¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÊÖ¤µ¤ì¤ë¤è¤¦¤Ê ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¤ß¤¬¡¢Â¸ºß¤·¤Ê¤¤¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¤¤ë¡£ FTS_LOGICAL ¤Þ¤¿¤Ï FTS_PHYSICAL ¤Î¤É¤Á¤é¤«¤ò¡¢ Fn fts_open ´Ø¿ô¤ËÍ¿¤¨¤Ê¤±¤ì¤Ð ¤Ê¤é¤Ê¤¤¡£
FTS_NOCHDIR
¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎºÇŬ²½¤Î¤¿¤á¡¢ fts ´Ø¿ô¤Ï¥Õ¥¡¥¤¥ë³¬Áؤò¤¿¤É¤ë¤È¤­¥Ç¥£¥ì¥¯¥È¥ê¤òÊѤ¨¤ë¡£ ¤³¤ì¤Ë¤Ï¡¢³¬Áؤò¤¿¤É¤Ã¤Æ¤¤¤ë´Ö¤Ï ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¤¢¤ëÆÃÄê¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¤¤ë¤È¤¤¤¦¤³¤È¤Ë °Í¸¤Ç¤­¤Ê¤¤¡¢¤È¤¤¤¦ÉûºîÍѤ¬¤¢¤ë¡£ FTS_NOCHDIR ¥ª¥×¥·¥ç¥ó¤ÇºÇŬ²½¤ò̵¸ú¤Ë¤¹¤ë¤È¡¢ fts ´Ø¿ô¤Ï¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤·¤Ê¤¤¡£ FTS_NOCHDIR ¤¬»ØÄꤵ¤ì¡¢¤«¤Ä Fn fts_open ¤Î°ú¤­¿ô¤È¤·¤ÆÀäÂХѥ¹Ì¾¤¬Í¿¤¨¤é¤ì¤¿¤È¤­°Ê³°¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢ ¼«¤é¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤·¤¿¤ê¡¢ ¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤·¤¿¤ê¤¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¡¢¤È¤¤¤¦ÅÀ¤ËÃí°Õ¤¹¤ë¤³¤È¡£
FTS_NOSTAT
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ÊÖ¤µ¤ì¤¿ Fa FTSENT ¹½Â¤ÂΤϡ¢¤¿¤É¤é¤ì¤¿³Æ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Î¥Õ¥¡¥¤¥ëÆÃħ¾ðÊó Fa ( statp ¥Õ¥£¡¼¥ë¥É) ¤ò»²¾È¤¹¤ë¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ fts ´Ø¿ô¤¬ Fa fts_info ¥Õ¥£¡¼¥ë¥É¤ò FTS_NSOK ¤ËÀßÄꤷ Fa statp ¤ÎÆâÍƤòÄêµÁ¤µ¤ì¤Ê¤¤¤Þ¤Þ¤Ë¤¹¤ë¤³¤È¤òµö¤¹¤³¤È¤Ë¤è¤ê¡¢ ¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎºÇŬ²½¤ËɬÍפʤâ¤Î¤ò´ËϤ¹¤ë¡£
FTS_PHYSICAL
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ fts ¥ë¡¼¥Á¥ó¤Ë¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬»Ø¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¡¢ ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¼«¿È¤Î Fa FTSENT ¹½Â¤ÂΤòÊÖ¤µ¤»¤ë¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤¬ÀßÄꤵ¤ì¤ë¤È¡¢³¬ÁØÃæ¤Î¤¹¤Ù¤Æ¤Î¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î Fa FTSENT ¹½Â¤ÂΤ¬¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÊÖ¤µ¤ì¤ë¡£ FTS_LOGICAL ¤Þ¤¿¤Ï FTS_PHYSICAL ¤Î¤É¤Á¤é¤«¤ò Fn fts_open ´Ø¿ô¤ËÍ¿¤¨¤Ê¤±¤ì¤Ð ¤Ê¤é¤Ê¤¤¡£
FTS_SEEDOT
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ Fn fts_open ¤Î¥Ñ¥¹°ú¤­¿ô¤È¤·¤Æ»ØÄꤵ¤ì¤Ê¤¤¸Â¤ê¡¢¥Õ¥¡¥¤¥ë³¬ÁØÃæ¤Ë¤¢¤ë `.' ¤Þ¤¿¤Ï `..' ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ï̵»ë¤µ¤ì¤ë¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ fts ¥ë¡¼¥Á¥ó¤Ë¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Î Fa FTSENT ¹½Â¤ÂΤòÊÖ¤µ¤»¤ë¡£
FTS_XDEV
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ fts ¤¬²¼¤ê»Ï¤á¤Î¥Õ¥¡¥¤¥ë¤È¤Ï°Û¤Ê¤ë¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤ò»ý¤Ã¤Æ¤¤¤ë ¥Ç¥£¥ì¥¯¥È¥ê¤Ë²¼¤ê¤ë¤Î¤òÁ˻ߤ¹¤ë¡£

°ú¤­¿ô Fn compar ¤Ï¡¢³¬Áؤò¤¿¤É¤ë½çÈÖ¤ò·è¤á¤ë¤Î¤Ë»È¤ï¤ì¤ë¥æ¡¼¥¶¡¼ÄêµÁ´Ø¿ô¤ò»ØÄꤹ¤ë¡£ ¤³¤Î´Ø¿ô¤Ï¡¢°ú¤­¿ô¤È¤·¤Æ Fa FTSENT ¹½Â¤ÂΤΥݥ¤¥ó¥¿¤Î¥Ý¥¤¥ó¥¿¤ò 2 ¤Ä¤È¤ê¡¢ 1 ÈÖÌܤΰú¤­¿ô¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤¬ 2 ÈÖÌܤΰú¤­¿ô¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤è¤ê Á°¤Ë¤¢¤ë¾ì¹ç¤ÏÉé¤ÎÃÍ¡¦Æ±¤¸¾ì¹ç¤Ï¥¼¥í¡¦¸å¤Ë¤¢¤ë¾ì¹ç¤ÏÀµ¤ÎÃͤò ÊÖ¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ Fa FTSENT ¹½Â¤ÂΤΠFa fts_accpath , Fa fts_path , Fa fts_pathlen ¥Õ¥£¡¼¥ë¥É¤Ï¡¢¤³¤ÎÈæ³Ó¤Ë ÀäÂÐ »È¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ Fa fts_info ¥Õ¥£¡¼¥ë¥É¤¬ FTS_NS ¤Þ¤¿¤Ï FTS_NSOK ¤ËÀßÄꤵ¤ì¤ë¾ì¹ç¡¢ Fa fts_statp ¥Õ¥£¡¼¥ë¥É¤Ï¤³¤ì¤é¤Î¤É¤Á¤é¤Ç¤â¤Ê¤¤¡£ Fn compar °ú¤­¿ô¤¬ NULL ¤Î¾ì¹ç¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ò¤¿¤É¤ë½çÈ֤ϡ¢¥ë¡¼¥È¥Ñ¥¹¤Ë¤Ä¤¤¤Æ¤Ï Fa path_argv ¤Î¤Ê¤«¤Ç¥ê¥¹¥È¤µ¤ì¤¿½çÈ֤ǡ¢ ¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Ï¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ç¥ê¥¹¥È¤µ¤ì¤¿½çÈ֤Ȥʤ롣

FTS_READ

Fn fts_read ´Ø¿ô¤Ï¡¢³¬ÁØÃæ¤Î¥Õ¥¡¥¤¥ë¤òµ­½Ò¤¹¤ë Fa FTSENT ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤òÊÖ¤¹¡£ (Æɤ߹þ¤ß²Äǽ¤Ç¡¢½Û´Ä¤·¤Æ¤¤¤Ê¤¤) ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢ 1 ²ó¤Ï pre-order ¤Ç¡¢¤â¤¦ 1 ²ó¤Ï post-order ¤Ç¡¢¾¯¤Ê¤¯¤È¤â 2 ²ó¤¿¤É¤é¤ì¤ë¡£ ¾¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¾¯¤Ê¤¯¤È¤â 1 ²ó¤¿¤É¤é¤ì¤ë¡£ (¥Ç¥£¥ì¥¯¥È¥ê´Ö¤Î¥Ï¡¼¥É¥ê¥ó¥¯¤Ë¤è¤Ã¤Æ ½Û´Ä¤ä¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ø¤Î¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬µ¯¤³¤é¤Ê¤¤¾ì¹ç¡¢ ¥Õ¥¡¥¤¥ë¤Ï 2 ²ó°Ê¾å¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Ï 3 ²ó°Ê¾å¤¿¤É¤é¤ì¤ë¡£)

³¬ÁØÃæ¤Î¤¹¤Ù¤Æ¤Î¥á¥ó¥Ð¡¼¤¬ÊÖ¤µ¤ì¤¿¾ì¹ç¡¢ Fn fts_read ¤Ï NULL ¤òÊÖ¤·¡¢³°ÉôÊÑ¿ô errno ¤ò 0 ¤Ë¤¹¤ë¡£ ³¬ÁØÃæ¤Î¥Õ¥¡¥¤¥ë¤Ë´Ø·¸¤·¤Ê¤¤¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¾ì¹ç¡¢ Fn fts_read ¤Ï NULL ¤òÊÖ¤·¡¢ errno ¤ò¥¨¥é¡¼¤ËÂбþ¤·¤¿Ãͤˤ¹¤ë¡£ ³¬ÁØÃæ¤Î¥Õ¥¡¥¤¥ë¤Ë´Ø·¸¤·¤¿¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¾ì¹ç¡¢ Fa FTSENT ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤¬ÊÖ¤µ¤ì¡¢ errno ¤ÏÀßÄꤵ¤ì¤ë¾ì¹ç¤ÈÀßÄꤵ¤ì¤Ê¤¤¾ì¹ç¤¬¤¢¤ë Fa ( fts_info ¤ò»²¾È¤¹¤ë¤³¤È)¡£

Fn fts_read ¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤ë Fa FTSENT ¹½Â¤ÂΤϡ¢Æ±¤¸¥Õ¥¡¥¤¥ë³¬ÁØ¥¹¥È¥ê¡¼¥à¤Ø¤Î Fn fts_close ¤Î¸Æ½Ð¤·¤Î¸å¤Ë¾å½ñ¤­¤µ¤ì¤ë¡£ ¤Þ¤¿¡¢Æ±¤¸¥Õ¥¡¥¤¥ë³¬ÁØ¥¹¥È¥ê¡¼¥à¤Ø¤Î Fn fts_read ¤Î¸Æ½Ð¤·¤Î¸å¤Ç¤â¡¢¹½Â¤ÂΤ¬¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¸½¤·¤Æ¤¤¤Ê¤¤¸Â¤ê¾å½ñ¤­¤µ¤ì¤ë¡£ ¤³¤Î¾ì¹ç¡¢ Fn fts_read ´Ø¿ô¤Ë¤è¤Ã¤Æ post-order ¤Ç Fa FTSENT ¹½Â¤ÂΤ¬ÊÖ¤µ¤ì¤¿¸å¡¢ Fn fts_read ¤Î¸Æ½Ð¤·¤¬¤¢¤ë¤Þ¤Ç¡¢ ¤³¤ì¤é¤Î¹½Â¤ÂΤϾå½ñ¤­¤µ¤ì¤Ê¤¤¡£

FTS_CHILDREN

Fn fts_children ´Ø¿ô¤Ï¡¢ Fa FTSENT ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤òÊÖ¤¹¡£ ¤³¤Î¹½Â¤ÂΤϡ¢( Fn fts_read ¤ÇºÇ¤â¿·¤·¤¯ÊÖ¤µ¤ì¤¿ Fa FTSENT ¹½Â¤ÂΤÇɽ¸½¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤Î) NUL ½ªÃ¼¤µ¤ì¤¿¥ê¥ó¥¯¥ê¥¹¥È¤ÎºÇ½é¤Î¥¨¥ó¥È¥ê¤òµ­½Ò¤¹¤ë¡£ ¤³¤Î¥ê¥¹¥È¤Ï¡¢ Fa FTSENT ¹½Â¤ÂΤΠFa fts_link ¥Õ¥£¡¼¥ë¥É¤ò»È¤Ã¤Æ¥ê¥ó¥¯¤µ¤ì¡¢ ¥æ¡¼¥¶¡¼»ØÄê¤ÎÈæ³Ó´Ø¿ô¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¤½¤ì¤Ç½ç½ø¤Å¤±¤é¤ì¤ë¡£ Fn fts_children ¤Î¸Æ½Ð¤·¤ò·«¤êÊÖ¤¹¤³¤È¤Ç¡¢ ¤³¤Î¥ê¥ó¥¯¥ê¥¹¥È¤ÏºÆÀ¸À®¤µ¤ì¤ë¡£

ÆÃÊ̤ʾì¹ç¤È¤·¤Æ¡¢ Fn fts_read ¤¬¥Õ¥¡¥¤¥ë³¬ÁؤˤĤ¤¤Æ¸Æ¤Ð¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ Fn fts_children ¤Ï Fn fts_open ¤Ë»ØÄꤵ¤ì¤¿ÏÀÍý¥Ç¥£¥ì¥¯¥È¥ê (¤Ä¤Þ¤ê¡¢ Fn fts_open ¤Ë»ØÄꤵ¤ì¤¿°ú¤­¿ô) ¤ÎÃæ¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£ ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ç¡¢ Fn fts_read ¤Ë¤è¤Ã¤ÆºÇ¤â¿·¤·¤¯ÊÖ¤µ¤ì¤¿ Fa FTSENT ¹½Â¤ÂΤ¬ pre-order ¤Ç¤¿¤É¤é¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¾ì¹ç¤ä ²¿¤â´Þ¤ó¤Ç¤¤¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì¹ç¤Ï¡¢ Fn fts_children ¤Ï NULL ¤òÊÖ¤·¡¢ errno ¤ò 0 ¤Ë¤¹¤ë¡£ ¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¾ì¹ç¡¢ Fn fts_children ¤Ï NULL ¤òÊÖ¤·¡¢ errno ¤ò¥¨¥é¡¼¤ËÂбþ¤·¤¿Ãͤˤ¹¤ë¡£

Fn fts_children ¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤ë Fa FTSENT ¹½Â¤ÂΤϡ¢Æ±¤¸¥Õ¥¡¥¤¥ë³¬ÁØ¥¹¥È¥ê¡¼¥à¤Ø¤Î Fn fts_children , Fn fts_close , Fn fts_read ¤Î¸Æ½Ð¤·¤Î¸å¤Ë¾å½ñ¤­¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ë¡£

option ¤Ï¡¢¼¡¤ÎÃͤËÀßÄê¤Ç¤­¤ë¡£

FTS_NAMEONLY
¥Õ¥¡¥¤¥ë̾¤Î¤ß¤¬É¬ÍפȤµ¤ì¤Æ¤¤¤ë¡£ ÊÖ¤µ¤ì¤¿¹½Â¤ÂΤΥê¥ó¥¯¥ê¥¹¥È¤Î Fa fts_name , Fa fts_namelen ¥Õ¥£¡¼¥ë¥É°Ê³°¤Î ¤¹¤Ù¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤ÎÆâÍƤÏÄêµÁ¤µ¤ì¤Ê¤¤¡£

FTS_SET

´Ø¿ô Fn fts_set ¤Ï¡¢¥æ¡¼¥¶¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ ¥¹¥È¥ê¡¼¥à Fa ftsp ¤Î¥Õ¥¡¥¤¥ë Fa f ¤Ë¤Ä¤¤¤Æ¹¹¤Ê¤ë½èÍý¤ò·èÄꤹ¤ë¤³¤Èµö¤¹¡£ Fn fts_set ´Ø¿ô¤Ï¡¢À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤ò¡¢¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¾ì¹ç¤Ï -1 ¤òÊÖ¤¹¡£ option ¤Ï¡¢¼¡¤ÎÃͤΤ¤¤º¤ì¤« 1 ¤Ä¤ËÀßÄꤵ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
FTS_AGAIN
¥Õ¥¡¥¤¥ë¤òºÆ¤Ó¤¿¤É¤ë¡£¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤¬ºÆ¤Ó¤¿¤É¤é¤ì¤ë¡£ ¼¡¤Î Fn fts_read ¤Î¸Æ½Ð¤·¤Ë¤è¤ê¡¢»²¾È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤¬ÊÖ¤µ¤ì¤ë¡£ ¹½Â¤ÂΤΠFa fts_stat , Fa fts_info ¥Õ¥£¡¼¥ë¥É¤Ï¤³¤Î»þ¤Ë½é´ü²½¤µ¤ì¤ë¤¬¡¢Â¾¤Î¥Õ¥£¡¼¥ë¥É¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ Fn fts_read ¤Ë¤è¤Ã¤ÆºÇ¤â¿·¤·¤¯ÊÖ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Î¤ß°ÕÌ£¤ò»ý¤Ä¡£ Ä̾ï¤Ï¡¢post-order ¤Ç¥Ç¥£¥ì¥¯¥È¥ê¤ò¤¿¤É¤ë¾ì¹ç¤Ë»ÈÍѤ·¡¢ ¤½¤Î²¼¤Î³¬ÁؤÈƱÍͤˡ¢ ¥Ç¥£¥ì¥¯¥È¥ê¤ò (pre-order ¤È post-order ¤ÎξÊý¤Ç) ºÆ¤Ó¤¿¤É¤é¤»¤ë¡£
FTS_FOLLOW

»²¾È¤µ¤ì¤Æ¤ë¥Õ¥¡¥¤¥ë¤Ï¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ »²¾È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤¬ Fn fts_read ¤Ë¤è¤Ã¤ÆºÇ¤â¿·¤·¤¯ÊÖ¤µ¤ì¤¿¤â¤Î¤Ç¤¢¤ë¾ì¹ç¡¢¼¡¤Î Fn fts_read ¤Î¸Æ½Ð¤·¤Ç¤Ï¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤½¤Î¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢ ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬»Ø¤·¤Æ¤¤¤ëÀè¤òÈ¿±Ç¤¹¤ë¤è¤¦¤Ë Fa fts_info , Fa fts_statp ¤òºÆ¤Ó½é´ü²½¤·¤¿¥Õ¥¡¥¤¥ë¤¬ÊÖ¤µ¤ì¤ë¡£ ¥Õ¥¡¥¤¥ë¤¬ Fn fts_children ¤Ë¤è¤Ã¤ÆºÇ¤â¿·¤·¤¯ÊÖ¤µ¤ì¤¿¤â¤Î¤Î 1 ¤Ä¤Ç¤¢¤ë¾ì¹ç¡¢ Fn fts_read ¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤¿¤È¤­¡¢¹½Â¤ÂΤΠFa fts_info , Fa fts_statp ¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤½¤Î¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢ ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬»Ø¤·¤Æ¤¤¤ëÀè¤òÈ¿±Ç¤¹¤ë¡£ ¤É¤Á¤é¤Î¾ì¹ç¤Ç¤â¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬»Ø¤·¤Æ¤¤¤ëÀ褬¤Ê¤¤¤È¤­¤Ï¡¢ ÊÖ¤µ¤ì¤¿¹½Â¤ÂΤΥե£¡¼¥ë¥É¤ÏÊѹ¹¤µ¤ì¤º¡¢ Fa fts_info ¥Õ¥£¡¼¥ë¥É¤¬ FTS_SLNONE ¤ËÀßÄꤵ¤ì¤ë¡£

¥ê¥ó¥¯À褬¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì¹ç¡¢ ¥Õ¥¡¥¤¥ë¤¬ pre-order ¤ÇÊÖ¤µ¤ì¤¿¸å¡¢²¼¤Î³¬ÁؤΤ¹¤Ù¤Æ¥Õ¥¡¥¤¥ë¤¬ÊÖ¤µ¤ì¡¢ ¤½¤Î¸å¤Ç post-order ¤ÇÊÖ¤µ¤ì¤ë¡£

FTS_SKIP
¤³¤Î¥Õ¥¡¥¤¥ë¤Î²¼¤Î³¬ÁؤϤ¿¤É¤é¤ì¤Ê¤¤¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢ Fn fts_children ¤Þ¤¿¤Ï Fn fts_read ¤Î¤É¤Á¤é¤«¤Ë¤è¤Ã¤ÆºÇ¤â¿·¤·¤¯ÊÖ¤µ¤ì¤¿¤â¤Î¤Î 1 ¤Ä¤Ç¤¢¤ë¡£

FTS_CLOSE

Fn fts_close ´Ø¿ô¤Ï¡¢¥Õ¥¡¥¤¥ë³¬ÁØ¥¹¥È¥ê¡¼¥à Fa ftsp ¤òÊĤ¸¤ë¡£¤½¤·¤Æ¡¢¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò Fa ftsp ¤ò³«¤¯¤¿¤á¤Ë Fn fts_open ¤¬¸Æ¤Ð¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ËÉü¸µ¤¹¤ë¡£ Fn fts_close ´Ø¿ô¤Ï¡¢À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤ò¡¢¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¾ì¹ç¤Ï -1 ¤òÊÖ¤¹¡£

¥¨¥é¡¼

´Ø¿ô Fn fts_open ¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢ errno ¤Ï¡¢¥é¥¤¥Ö¥é¥ê´Ø¿ô open(2) ¤È malloc(3) ¤ËÂФ·¤Æ»ØÄꤵ¤ì¤ë¥¨¥é¡¼¤ËÀßÄꤵ¤ì¤ë¡£

´Ø¿ô Fn fts_close ¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢ errno ¤Ï¡¢¥é¥¤¥Ö¥é¥ê´Ø¿ô chdir(2) ¤È close(2) ¤ËÂФ·¤Æ»ØÄꤵ¤ì¤ë¥¨¥é¡¼¤ËÀßÄꤵ¤ì¤ë¡£

´Ø¿ô Fn fts_read ¤È Fn fts_children ¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢ errno ¤Ï¡¢¥é¥¤¥Ö¥é¥ê´Ø¿ô chdir(2), malloc(3), opendir(3), readdir(3), stat(2) ¤ËÂФ·¤Æ»ØÄꤵ¤ì¤ë¥¨¥é¡¼¤ËÀßÄꤵ¤ì¤ë¡£

¹¹¤Ë¡¢ Fn fts_children , Fn fts_open , Fn fts_set ¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢ errno ¤¬¼¡¤ÎÃͤˤµ¤ì¤ë¡£

Bq Er EINVAL
¥ª¥×¥·¥ç¥ó¤¬Ìµ¸ú¤Ç¤¢¤Ã¤¿¡£

¥Ð¡¼¥¸¥ç¥ó

¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢Linux ¤Ç¤Ï glibc2 ¤«¤é»ÈÍѲÄǽ¤Ç¤¢¤ë¡£

½àµò

4.4BSD. fts ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢¾­Íè¤Î St -p1003.1-88 ¥ê¥Ó¥¸¥ç¥ó¤Ë´Þ¤Þ¤ì¤ë¤È´üÂÔ¤µ¤ì¤Æ¤¤¤ë¡£

´ØÏ¢¹àÌÜ

find(1), chdir(2), stat(2), ftw(3), qsort(3)