NAZWA
readdir - odczytanie wpisu w kataloguBIBLIOTEKA
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);Note: There is no definition of struct old_linux_dirent; see NOTES.
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() 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.
WARTOŚĆ ZWRACANA
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.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.
STANDARDY
Tp wywołanie systemowe jest specyficzne dla Linuksa.UWAGI
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
getdents(2), readdir(3)TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <[email protected]> i Andrzej Krzysztofowicz <[email protected]> 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 [email protected]5 lutego 2023 r. | Linux man-pages 6.03 |