readdir(2) System Calls Manual readdir(2) NUME readdir - citete intrarile de directoare BIBLIOTECA Biblioteca C standard (libc, -lc) REZUMAT #include /* Definirea constantelor SYS_* */ #include int syscall(SYS_readdir, unsigned int fd, struct old_linux_dirent *dirp, unsigned int count); Nota: Nu exista o definiie a struct old_linux_dirent; a se vedea NOTE. DESCRIERE Nu aceasta este funcia care va intereseaza. Consultai readdir(3) pentru interfaa bibliotecii C conforma cu POSIX. Aceasta pagina documenteaza interfaa simpla de apel de sistem a nucleului, care este inlocuita de getdents(2). readdir() citete o structura old_linux_dirent din directorul la care se face referire prin descriptorul de fiier fd in memoria tampon indicata de dirp. Argumentul count este ignorat; se citete cel mult o structura old_linux_dirent. Structura old_linux_dirent este declarata (in mod privat in fiierul fs/readdir.c al nucleului Linux) dupa cum urmeaza: struct old_linux_dirent { unsigned long d_ino; /* numarul nodului-i */ unsigned long d_offset; /* intervalul acestui old_linux_dirent */ unsigned short d_namlen; /* lungimea acestui d_name */ char d_name[1]; /* numele fiierului (cu terminaie nula) */ } d_ino este un numar de nod-i. d_offset este distana de la inceputul directorului pana la acest old_linux_dirent. d_reclen este dimensiunea lui d_nume, fara a lua in considerare octetul nul de terminare (,,\0"). d_name este un nume de fiier cu terminaie nula. VALOAREA RETURNATA In caz de succes, se returneaza 1. La sfaritul directorului, se returneaza 0. In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE EBADF Descriptor de fiier nevalid fd. EFAULT Argumentul indica puncte in afara spaiului de adrese al procesului apelant. EINVAL Memoria tampon de rezultate este prea mica. ENOENT Nu exista un astfel de director. ENOTDIR Descriptorul de fiier nu se refera la un director. VERSIUNI Va trebui sa definii singur structura old_linux_dirent. Cu toate acestea, probabil ca ar trebui sa folosii readdir(3) in schimb. Acest apel de sistem nu exista pentru arhitectura x86_64. STANDARDE Linux. CONSULTAI I getdents(2), readdir(3) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 readdir(2)