NAZWA
readdir - odczytanie wpisu w katalogu
SKŁADNIA
int
readdir(unsigned int fd, struct
old_linux_dirent *dirp,
unsigned int count);
Note: There is no glibc wrapper for this system call; see NOTES.
OPIS
This is not the function you are interested in. Look at readdir(3) for the POSIX conforming C library interface. This page documents the bare kernel system call interface, which is superseded by 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; /* inode number */ unsigned long d_offset; /* offset to this old_linux_dirent */ unsigned short d_namlen; /* length of this d_name */ char d_name[1]; /* filename (null-terminated) */ }
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. 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 odpowiednio ustawiane errno.
BŁĘDY
EBADF |
Nieprawidłowy deskryptor fd. | ||
EFAULT |
Argument wskazuje poza przestrzeń adresową wywołującego procesu. | ||
EINVAL |
Bufor na wynik jest za mały. | ||
ENOENT |
Nie ma takiego katalogu. |
ENOTDIR
Deksryptor pliku nie odnosi się do katalogu.
ZGODNE Z
Tp wywołanie systemowe jest specyficzne dla Linuksa.
UWAGI
Glibc does not provide a wrapper for this system call; call it using syscall(2). 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.
ZOBACZ TAKŻE
O STRONIE
Angielska wersja tej strony pochodzi z wydania 5.07 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys [AT] dione.pl> i Andrzej Krzysztofowicz <ankry [AT] green.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 <manpages-pl-list [AT] lists.net>.