Man page - readdir(2)

Packages contains this manual

Available languages:

en fr pl nl ja ru ro de

Manual

readdir

НАИМЕНОВАНИЕ
БИБЛИОТЕКА
ОБЗОР
ОПИСАНИЕ
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ОШИБКИ
ВЕРСИИ
СТАНДАРТЫ
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД

НАИМЕНОВАНИЕ

readdir - читает элемент каталога

БИБЛИОТЕКА

Стандартная библиотека языка C ( libc , -lc )

ОБЗОР

#include <sys/syscall.h> /* определения констант SYS_* */
#include <unistd.h>

int syscall(SYS_readdir, unsigned int fd ,
struct old_linux_dirent *
dirp , unsigned int count );

Note : There is no definition of struct old_linux_dirent ; see NOTES.

ОПИСАНИЕ

Эта не та функция, которая должна представлять для вас интерес. Смотрите описание функции readdir (3), которая является интерфейсом библиотеки языка C, соответствующим стандарту POSIX. В этой странице описан минимальный интерфейс системного вызова ядра, который заменён на getdents (2).

Вызов readdir () читает структуру old_linux_dirent из каталога, заданного файловым дескриптором fd , в буфер, указываемый в dirp . Аргумент count игнорируется; всегда считывается только одна структура old_linux_dirent .

Структура old_linux_dirent определена (в файле ядра Linux fs/readdir.c , недоступна извне) следующим образом:

struct old_linux_dirent {
unsigned long d_ino; /* номер иноды */
unsigned long d_offset; /* смещение на данную old_linux_dirent */
unsigned short d_namlen; /* длина данной d_name */
char d_name[1]; /* имя файла (с null в конце) */
}

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.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

On success, 1 is returned. On end of directory, 0 is returned. On error, -1 is returned, and errno is set to indicate the error.

ОШИБКИ

EBADF

Неверный файловый дескриптор fd .

EFAULT

Аргумент указывает за пределы адресного пространства вызывающего процесса.

EINVAL

Буфер результата слишком мал.

ENOENT

Заданный каталог не существует.

ENOTDIR

Файловый дескриптор указывает не на каталог.

ВЕРСИИ

Структуру old_linux_dirent нужно определить самостоятельно. Однако лучше использовать readdir (3).

Этот системный вызов отсутствует на x86-64.

СТАНДАРТЫ

Linux.

СМОТРИТЕ ТАКЖЕ

getdents (2), readdir (3)

ПЕРЕВОД

Русский перевод этой страницы руководства разработал(и) aereiae <aereiae@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Lockal <lockalsash@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>, Баринов Владимир, Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков .