readdir

Autres langues

Langue: ja

Autres versions - même langue

Version: 2007-06-01 (openSuse - 09/10/07)

Autres sections - même nom

Section: 2 (Appels système)

̾Á°

readdir - ¥Ç¥£¥ì¥¯¥È¥ê¡¦¥¨¥ó¥È¥ê¤òÆɤ߹þ¤à

½ñ¼°


#include <linux/types.h>

#include <linux/dirent.h>



int readdir(unsigned int fd, struct dirent *dirp,

            unsigned int count);

ÀâÌÀ

¤³¤ì¤Ï¤¢¤Ê¤¿¤Î¶½Ì£¤ò¤â¤Ã¤Æ¤¤¤ë´Ø¿ô¤Ç¤Ï¤Ê¤¤¡£ POSIX ½àµò¤Î C ¥é¥¤¥Ö¥é¥ê¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë¤Ä¤¤¤Æ¤Ï readdir(3) ¤ò¸«¤ë¤³¤È¡£ ¤³¤Î¥Ú¡¼¥¸¤ÏÍç¤Î¥«¡¼¥Í¥ë¡¦¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë ¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¤¤ë¡¢¤³¤ì¤ÏÊѹ¹¤µ¤ì¡¢ getdents(2) ¤Ë¤è¤Ã¤ÆÃÖ¤­´¹¤é¤ì¤¿¡£

readdir() ¤Ï fd ¤¬»Ø¤·¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤«¤é dirent ¹½Â¤ÂΤòÆɤ߹þ¤ß¡¢ dirp ¤Ç»Ø¤µ¤ì¤¿¥á¥â¥êÎΰè¤Ë³ÊǼ¤¹¤ë¡£ count ¥Ñ¥é¥á¡¼¥¿¡¼¤Ï(¤Û¤È¤ó¤É¤Î dirent ¹½Â¤ÂΤÎÆɤ߹þ¤ß¤Ë¤ª¤¤¤Æ)̵»ë¤µ¤ì¤ë

dirent ¹½Â¤ÂΤϰʲ¼¤Î¤è¤¦¤ËÀë¸À¤µ¤ì¤ë:


struct dirent

{

    long d_ino;                 /* inode number */

    off_t d_off;                /* offset to this dirent */

    unsigned short d_reclen;    /* length of this d_name */

    char d_name [NAME_MAX+1];   /* filename (null-terminated) */

}

d_ino ¤Ï inode ÈÖ¹æ¤Ç¤¢¤ë¡£ d_off ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ÎºÇ½é¤«¤é¤³¤Î dirent ¤Þ¤Çµ÷Î¥¤Ç¤¢¤ë¡£ d_reclen ¤Ï d_name ¤ÎÂ礭¤µ¤Ç¡¢ ¥Ì¥ëʸ»ú¤Î½ªÃ¼¤ò´Þ¤ó¤Ç¤¤¤Ê¤¤¡£ d_name ¤Ï¥Ì¥ëʸ»ú¤Ç½ª¤ë¥Õ¥¡¥¤¥ë̾¤Ç¤¢¤ë¡£

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¤Ï¡¢1 ¤¬ÊÖ¤µ¤ì¤ë¡£ ¥Ç¥£¥ì¥¯¥È¥ê¤ÎºÇ¸å¤Ç¤Ï 0 ¤¬ÊÖ¤µ¤ì¤ë¡£ ¥¨¥é¡¼¤Î¾ì¹ç¤Ï -1 ¤¬ÊÖ¤µ¤ì¡¢ errno ¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£

¥¨¥é¡¼

EBADF
¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼ fd ¤¬ÉÔÀµ¤Ç¤¢¤ë¡£
EFAULT
°ú¤­¿ô¤Î¥Ý¥¤¥ó¥¿¡¼¤¬¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤¬¥¢¥¯¥»¥¹²Äǽ¤Ê¶õ´Ö¤Î ³°Éô¤ò»Ø¤·¤Æ¤¤¤ë¡£
EINVAL
·ë²ÌÍѤΥХåե¡¡¼¤¬¾®¤µ²á¤®¤ë¡£
ENOENT
¤½¤Î¤è¤¦¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤Ï¸ºß¤·¤Ê¤¤¡£
ENOTDIR
¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤¬¥Ç¥£¥ì¥¯¥È¥ê¤ò»²¾È¤·¤Æ¤¤¤Ê¤¤¡£

½àµò

¤³¤Î¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ï Linux ÆÃÍ­¤Ç¤¢¤ë¡£

Ãí°Õ

glibc ¤Ï¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ËÂФ¹¤ë¥é¥Ã¥Ñ¡¼´Ø¿ô¤òÄ󶡤·¤Æ¤¤¤Ê¤¤¡£ syscall(2) ¤ò»È¤Ã¤Æ¸Æ¤Ó½Ð¤¹¤³¤È¡£

´ØÏ¢¹àÌÜ

getdents(2), readdir(3)