GETDENTS(2)        Manuel du programmeur Linux        GETDENTS(2)


NOM
       getdents - Obtenir les points d'entrée d'un répertoire.

SYNOPSIS
       #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);

DESCRIPTION
       getdents  lit plusieurs structures dirent depuis un réper­
       toire pointé par le descripteur de fichier fd et les place
       dans  la  zone  de mémoire pointée par dirp.  Le paramètre
       count est la taille de la zone mémoire.

       La structure dirent est déclarée ainsi :

              struct dirent
              {
                  long d_ino;                 /* numéro d'i-noeud            */
                  off_t d_off;                /* distance au prochain dirent */
                  unsigned short d_reclen;    /* longueur de ce dirent       */
                  char d_name [NAME_MAX+1];   /* nom de fichier (fini par 0) */
              }

       d_off est la distance entre le début du répertoire  et  le
       début  de  la  structure dirent suivante.  d_reclen est la
       taille complète de dirent.

       Cette fonction remplace readdir(2).

VALEUR RENVOYÉE
       getdents renvoie le nombre d'octets lus s'il reussit (0 en
       fin  de  répertoire),  ou -1 s'il échoue, auquel cas errno
       contient le code d'erreur.

ERREURS
       EBADF  fd n'est pas un descripteur de fichier valide.

       EFAULT L'argument pointe en dehors de l'espace d'adressage
              disponible.

       EINVAL Le buffer de résultat est trop petit.

       ENOENT Répertoire inexistant.

       ENOTDIR
              Le  descripteur  de  fichier  ne  pointe pas sur un
              répertoire.





Linux                      8 Avril 1997                         1





GETDENTS(2)        Manuel du programmeur Linux        GETDENTS(2)


CONFORMITÉ
       SVr4, SVID.  SVr4 documente  les  erreurs  supplémentaires
       ENOLINK, et EIO.

VOIR AUSSI
       readdir(2), readdir(3)


TRADUCTION
       Christophe Blaess, 1997.















































Linux                      8 Avril 1997                         2