Provided by: manpages-de-dev_0.5-4.1ubuntu1_all bug

BEZEICHNUNG

       getdents - Abfrage von Verzeichniseinträgen

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