Provided by: manpages-fr-dev_2.80.1-1_all bug

NOM

       readdir - Consulter un répertoire

SYNOPSIS

       #include <sys/types.h>

       #include <dirent.h>

       struct dirent *readdir(DIR *dir);

DESCRIPTION

       La  fonction  readdir()  renvoie  un  pointeur sur une structure dirent
       représentant l’entrée suivante du flux répertoire pointé par dir.  Elle
       renvoie NULL a la fin du répertoire, ou en cas d’erreur.

       Avec Linux, la structure dirent est définie comme suit :

           struct dirent {
               ino_t          d_ino;       /* numéro de l’inode */
               off_t          d_off;       /* décalage vers le prochain dirent */
               unsigned short d_reclen;    /* longueur de cet enregistrement */
               unsigned char  d_type;      /* type du fichier */
               char           d_name[256]; /* nom du fichier */
           };

       D’après  POSIX,  la structure dirent contient un champ char d_name[] de
       taille non  spécifiée,  avec  au  plus  NAME_MAX  caractères  avant  le
       caractère  nul final. POSIX.1-2001 documente aussi le champ ino_t d_ino
       comme une extension XSI. Les autres champs ne sont pas standard, et  ne
       sont  pas  présents  sur tous les systèmes ; voyez les NOTES ci-dessous
       pour plus de détails.

       Les données renvoyées par  readdir()  sont  écrasées  lors  de  l’appel
       suivant à readdir() sur le même flux répertoire.

VALEUR RENVOYÉE

       La  fonction readdir() renvoie un pointeur sur une structure dirent, ou
       NULL lorsqu’une erreur se produit, ou lorsque la fin du répertoire  est
       atteinte. En cas d’erreur, errno contient le code d’erreur.

ERREURS

       EBADF  Le descripteur de flux du répertoire, dir, n’est pas valable.

CONFORMITÉ

       SVr4, BSD 4.3, POSIX.1-2001

NOTES

       Seuls  les champs d_name et d_ino sont spécifiés dans POSIX.1-2001. les
       autres champs sont disponibles sur beaucoup de systèmes, mais  pas  sur
       tous.  Sur  la glibc, les programmes peuvent vérifier la disponibilités
       des  champs  non  définis  dans  POSIX.1  en  testant  sir  les  macros
       _DIRENT_HAVE_D_NAMLEN,   _DIRENT_HAVE_D_RECLEN,  _DIRENT_HAVE_D_OFF  ou
       _DIRENT_HAVE_D_TYPE sont définie.

       En dehors de Linux, le champ d_type est disponible  presque  uniquement
       sur  les  systèmes BSD. Ce champ évite d’avoir à appeler stat(2) si les
       actions qui suivent dépendent du type de fichier. Si la macro  de  test
       de  fonctionnalités _BSD_SOURCE est définie, alors la glibc définie les
       macros suivantes pour les valeurs renvoyées dans d_type :

       DT_UNKNOWN  Le type de fichier est inconnu.

       DT_REG      Il s’agit d’un fichier régulier

       DT_DIR      Il s’agit d’un répertoire

       DT_FIFO     Il s’agit d’un tube nommé, ou une FIFO.

       DT_SOCK     Il s’agit d’une socket de domaine Unix.

       DT_CHR      Il s’agit d’un périphérique en mode caractères.

       DT_BLK      Il s’agit d’un périphérique en mode blocs.

       Si le type de fichier ne peut pas être déterminé, la valeur  DT_UNKNOWN
       est renvoyée dans d_type.

VOIR AUSSI

       read(2),   closedir(3),  dirfd(3),  ftw(3),  opendir(3),  rewinddir(3),
       scandir(3), seekdir(3), telldir(3), feature_test_macros(7)

COLOPHON

       Cette page fait partie de  la  publication  2.80  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>   et   l’équipe    francophone    de
       traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».

                                30 juillet 2007                     READDIR(3)