Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       getdents - Abfrage von Verzeichniseinträgen

       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 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).