Scroll to navigation

readdir(2) System Calls Manual readdir(2)

NUME

readdir - citește intrările de directoare

BIBLIOTECA

Biblioteca C standard (libc, -lc)

REZUMAT

#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 NOTE.

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 („\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

Descriptor de fișier nevalid fd.
Argumentul indică puncte în afara spațiului de adrese al procesului apelant.
Memoria tampon de rezultate este prea mică.
Nu există un astfel de director.
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 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.

30 martie 2023 Pagini de manual de Linux 6.05.01