DOKK / manpages / debian 12 / manpages-pl-dev / readdir.2.pl
readdir(2) System Calls Manual readdir(2)

readdir - odczytanie wpisu w katalogu

Standardowa biblioteka C (libc, -lc)

#include <sys/syscall.h>           /* Definicja stałych 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.

Nie jest to funkcja, która cię interesuje. Opis implementacji interfejsu zgodnego z POSIX w bibliotece C znajduje się w readdir(3). Niniejsza strona opisuje goły interfejs wywołania systemowego, który został zastąpiony przez getdents(2).

readdir() reads one old_linux_dirent structure from the directory referred to by the file descriptor fd into the buffer pointed to by dirp. The argument count is ignored; at most one old_linux_dirent structure is read.

The old_linux_dirent structure is declared (privately in Linux kernel file fs/readdir.c) as follows:


struct old_linux_dirent {

unsigned long d_ino; /* numer i-węzła */
unsigned long d_offset; /* offset do tego old_linux_dirent */
unsigned short d_namlen; /* długość tego d_name */
char d_name[1]; /* nazwa pliku (zakończona znakiem NUL) */ }

d_ino jest numerem i-węzła. d_off jest odległością od początku katalogu do tego wpisu old_linux_dirent. d_reclen jest rozmiarem d_name, nie licząc kończącego znaku NUL ('\0'). d_name jest zakończoną znakiem NUL nazwą pliku.

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.

Nieprawidłowy deskryptor fd.
Argument wskazuje poza przestrzeń adresową wywołującego procesu.
Bufor na wynik jest za mały.
Nie ma takiego katalogu.
Deksryptor pliku nie odnosi się do katalogu.

Tp wywołanie systemowe jest specyficzne dla Linuksa.

You will need to define the old_linux_dirent structure yourself. However, probably you should use readdir(3) instead.

This system call does not exist on x86-64.

getdents(2), readdir(3)

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl> i Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

5 lutego 2023 r. Linux man-pages 6.03