readdir
odczytanie wpisu w katalogu
1. readdir.2.man
Manpage of READDIR
READDIR
Section: Podręcznik programisty Linuksa (2)Updated: 1995-07-22
Index Return to Main Contents
NAZWA
readdir - odczytanie wpisu w kataloguSKŁ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
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)
Index
This document was created by man2html using the manual pages.
Time: 17:40:48 GMT, May 11, 2012



