Rechercher une page de manuel
getdents
Langue: de
Version: 22. Juli 1995 (openSuse - 09/10/07)
Section: 2 (Appels système)
BEZEICHNUNG
getdents - Abfrage von VerzeichniseinträgenZUSAMMENFASSUNG
#include <unistd.h> #include <linux/dirent.h> #include <linux/unistd.h> _syscall3(int, getdents, uint, fd, struct dirent *, dirp, uint, count); int getdents(unsigned int fd, struct dirent *dirp, unsigned int count);
BESCHREIBUNG
getdents liest mehrere dirent-Strukturen aus dem Verzeichnis, das durch fd angegeben ist. Die Struktur wird im Speicherbereich dirp abgelegt. Der Parameter count gibt die Größe dieses Speicherbereiches an.Die Struktur dirent ist definiert durch:
-
struct dirent { long d_ino; /* Inode-Nummer */ off_t d_off; /* Offset zum nächsten dirent */ unsigned short d_reclen; /* Länge dieses dirent */ char d_name [NAME_MAX+1]; /* Dateiname (Null-terminiert) */ }
d_ino ist die Nummer einer Inode. d_off ist die Distanz vom Beginn eines Verzeichnisses zum nächsten dirent. d_reclen gibt die Größe dieses gesamten dirent an. d_name ist ein mit Null terminierter Dateiname.
Diese Funktion ersetzt den Systemaufruf readdir(2).
RÜCKGABEWERT
Bei Erfolg wird die Anzahl der gelesenen Bytes geliefert, wenn am Ende des Verzeichnisses angekommen wurde, wird 0 geliefert, bei aufgetretenem Fehler wird -1 geliefert und errno wird entsprechend gesetzt.FEHLER
- EBADF
- fd ist kein gültiger Dateideskriptor.
- ENOTDIR
- Der Dateideskriptor fd verweist nicht auf ein Verzeichnis.
SIEHE AUCH
readdir(2), readdir(3).Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre