NAZWA¶
readdir - odczytanie wpisu w katalogu
SKŁADNIA¶
#include <unistd.h>
#include <linux/dirent.h>
#include <linux/unistd.h>
_syscall3(int, readdir, uint, fd, struct dirent *, dirp, uint, count);
int readdir(unsigned int fd, struct dirent *dirp, unsigned int count);
OPIS¶
Uwaga! To tłumaczenie może być nieaktualne!
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 może ulec zmianie i który został
zastąpiony przez
getdents(2).
readdir odczytuje do wskazywanego przez
dirp obszaru pamięci
jedną strukturę
dirent z katalogu, na który wskazuje
fd. Parametr
count jest ignorowany; odczytywana jest co
najwyżej jedna struktura.
Struktura
dirent jest zadeklarowana następująco:
struct dirent
{
long d_ino; /* numer i-węzła */
off_t d_off; /* offset do tego dirent */
unsigned short d_reclen; /* długość tego d_name */
char d_name [NAME_MAX+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
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.
ZOBACZ TAKŻE¶
getdents(2),
readdir(3)
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu
Tłumaczenia Manuali i
może nie być aktualne. W razie
zauważenia różnic między powyższym opisem a
rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o
zapoznanie się z oryginalną (angielską) wersją strony
podręcznika za pomocą polecenia:
- man --locale=C 2 readdir
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.