readdir(2)

NUME
readdir - citește intrările de directoare

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <sys/syscall.h>      /* Definirea constantelor SYS_* */
#include <unistd.h>

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

Notă: Nu există o definiție a struct old_linux_dirent; a se vedea secțiunea VERSIUNI.

DESCRIERE
Nu aceasta este funcția care vă interesează. Consultați readdir(3) pentru interfața bibliotecii C conformă cu POSIX. Această pagină documentează interfața simplă de apel de sistem a nucleului, care este înlocuită de getdents(2).

readdir() citește o structură old_linux_dirent din directorul la care se face referire prin descriptorul de fișier fd în memoria tampon indicată de dirp. Argumentul count este ignorat; se citește cel mult o structură old_linux_dirent.

Structura old_linux_dirent este declarată (în mod privat în fișierul fs/readdir.c al nucleului Linux) după cum urmează:

    struct old_linux_dirent {
        unsigned long d_ino;     /* numărul nodului-i */
        unsigned long d_offset;  /* intervalul acestui old_linux_dirent */
        unsigned short d_namlen; /* lungimea acestui d_name */
        char  d_name[1];         /* numele fișierului (cu terminație nulă) */
    }

d_ino este un număr de nod-i. d_offset este distanța de la începutul directorului până la acest old_linux_dirent. d_reclen este dimensiunea lui d_nume, fără a lua în considerare octetul nul de terminare („[rs]0”). d_name este un nume de fișier cu terminație nulă.

VALOAREA RETURNATĂ
În caz de succes, se returnează 1. La sfârșitul directorului, se returnează 0. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

EBADF
    Descriptor de fișier nevalid fd.

EFAULT
    Argumentul indică puncte în afara spațiului de adrese al procesului apelant.

EINVAL
    Memoria tampon de rezultate este prea mică.

ENOENT
    Nu există un astfel de director.

ENOTDIR
    Descriptorul de fișier nu se referă la un director.

VERSIUNI
Va trebui să definiți singur structura old_linux_dirent. Cu toate acestea, probabil că ar trebui să folosiți readdir(3) în schimb.

Acest apel de sistem nu există pentru arhitectura x86_64.

STANDARDE
Linux.

CONSULTAȚI ȘI
getdents(2), readdir(3)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.