#include <linux/types.h> #include <linux/dirent.h> int readdir(unsigned int fd, struct dirent *dirp, unsigned int count); |
readdir() reads one dirent structure from the directory pointed at by fd into the memory area pointed to by dirp. The parameter count is ignored; at most one dirent structure is read.
The dirent structure is declared as follows:
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 is an inode number. d_off is the distance from the start of the directory to thisdirent. d_reclen is the size of d_name, not counting the null terminator. d_name is a null-terminated filename.
標籤 | 描述 |
---|---|
EBADF | Invalid file descriptor fd. |
EFAULT | Argument points outside the calling process’s address space. |
EINVAL | Result buffer is too small. |
ENOENT | No such directory. |
ENOTDIR | |
File descriptor does not refer to a directory. |