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

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