table of contents
- bookworm 1:4.18.1-1
- bookworm-backports 1:4.24.0-2~bpo12+1
- testing 1:4.24.0-2
- unstable 1:4.24.0-2
readdir(2) | System Calls Manual | readdir(2) |
NAZWA¶
readdir - odczytuje wpis w katalogu
BIBLIOTEKA¶
Standardowa biblioteka C (libc, -lc)
SKŁADNIA¶
#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);
Uwaga: Brak definicji struct old_linux_dirent; zob. UWAGI.
OPIS¶
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() odczytuje jedną strukturę old_linux_dirent z katalogu, na który wskazuje deskryptor pliku fd, do bufora, na który wskazuje dirp. Argument count jest ignorowany; odczytywana jest co najwyżej jedna struktura old_linux_dirent.
Struktura old_linux_dirent jest zadeklarowana (prywatnie, w pliku jądra Linux fs/readdir.c) następująco:
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.
WARTOŚĆ ZWRACANA¶
Po pomyślnym zakończeniu zwracane jest 1. Po natrafieniu na koniec katalogu zwracane jest 0. Po błędzie zwracane jest -1 i ustawiane errno wskazując błąd.
BŁĘDY¶
WERSJE¶
Konieczne jest samodzielne zdefiniowanie struktury old_linux_dirent. Powinno się jednak raczej korzystać z readdir(3).
To wywołanie systemowe nie istnieje na x86-64.
STANDARDY¶
Linux.
ZOBACZ TAKŻE¶
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>
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.
2 maja 2024 r. | Linux man-pages 6.8 |