Provided by:
manpages-de-dev_0.10-1_all 
BEZEICHNUNG
getdents - Abfrage von Verzeichniseintragen
Diese Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie
die englischsprachige Handbuchseite zu Rate, indem Sie
man -LC 2 getdents
eingeben.
ZUSAMMENFASSUNG
#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 GroBe dieses Speicherbereiches an.
Die Struktur dirent ist definiert durch:
struct dirent
{
long d_ino; /* Inode-Nummer */
off_t d_off; /* Offset zum nachsten dirent */
unsigned short d_reclen; /* Lange 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 nachsten dirent. d_reclen gibt die GroBe
dieses gesamten dirent an. d_name ist ein mit Null terminierter
Dateiname.
Diese Funktion ersetzt den Systemaufruf readdir(2).
R"UCKGABEWERT
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 gultiger Dateideskriptor.
ENOTDIR
Der Dateideskriptor fd verweist nicht auf ein Verzeichnis.
SIEHE AUCH
readdir(2), readdir(3).