Это не та функция, которая может вызвать у Вас интерес.
См.
readdir(3),
в которой описан совместимый с POSIX интерфейс C-библиотеки.
Эта страница описывает интерфейс прямого системного вызова ядра,
который может меняться. Он может быть легко заменен
getdents(2).
readdir
записывает одну структуру
dirent
из каталога, заданного
fd
, в область памяти, указанную
dirp.
Параметр
count
игнорируется; почти всегда считывается одна структура dirent.
Структура
dirent
определена следующим образом:
struct dirent
{
long d_ino; /* номер inode */
off_t d_off; /* смещение на dirent */
unsigned short d_reclen; /* длина d_name */
char d_name [NAME_MAX+1]; /* имя файла (оканчивающееся нулем) */
}
d_ino
- это номер inode.
d_off
- смещение записи
dirent
от начала каталога.
d_reclen
- длина
d_name
без учета последнего нуля.
d_name
- оканчивающееся нулем имя файла.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
При удачном завершении вызова возвращаемое значение равно.
В конец каталога возвращается 0.
При ошибке возвращается
-1, а переменной
errno
присваивается номер ошибки.
НАЙДЕННЫЕ ОШИБКИ
EBADF
Неправильный описатель файла
fd.
EFAULT
Аргумент указывает на адрес каталога, а этот каталог находится за пределами
адресного пространства вызывающего процесса.
EINVAL
Буфер результата слишком мал.
ENOENT
Каталог не найден.
ENOTDIR
Описатель файла не относится к каталогу.
СООТВЕТСТВИЕ СТАНДАРТАМ
Эта функция специфична для Linux. Не рекомендуется
использовать ее в программах, переносимых в другие системы.