readdir (2) - Linux Manuals
readdir: read directory entry
NAME
readdir - read directory entry
SYNOPSIS
int readdir(unsigned int fd, struct old_linux_dirent *dirp, unsigned int count);
Note: There is no glibc wrapper for this system call; see NOTES.
DESCRIPTION
This is not the function you are interested in. Look at readdir(3) for the POSIX conforming C library interface. This page documents the bare kernel system call interface, which is superseded by getdents(2).readdir() reads one old_linux_dirent structure from the directory referred to by the file descriptor fd into the buffer pointed to by dirp. The argument count is ignored; at most one old_linux_dirent structure is read.
The old_linux_dirent structure is declared (privately in Linux kernel file fs/readdir.c) as follows:
struct old_linux_dirent {
d_ino
is an inode number.
d_offset
is the distance from the start of the directory to this
old_linux_dirent.
d_reclen
is the size of
d_name,
not counting the terminating null byte ('\0').
d_name
is a null-terminated filename.
This system call does not exist on x86-64.
RETURN VALUE
On success, 1 is returned.
On end of directory, 0 is returned.
On error, -1 is returned, and
errno
is set appropriately.
ERRORS
CONFORMING TO
This system call is Linux-specific.
NOTES
Glibc does not provide a wrapper for this system call; call it using
syscall(2).
You will need to define the
old_linux_dirent
structure yourself.
However, probably you should use
readdir(3)
instead.
COLOPHON
This page is part of release 5.10 of the Linux
man-pages
project.
A description of the project,
information about reporting bugs,
and the latest version of this page,
can be found at
https://www.kernel.org/doc/man-pages/.