READDIR(2)

NOM
readdir - Lire une entrée de répertoire

SYNOPSIS
#include <unistd.h>
#include <linux/types.h>
#include <linux/dirent.h>

int readdir(unsigned int fd, struct dirent *dirp,
            unsigned int count);

DESCRIPTION
Cette fonction n'est normalement pas intéressante pour les programmeurs. Utiliser readdir(3) pour les fonctionnalités conformes POSIX. Cette page documente l'interface de l'appel système bas niveau, qui peut changer, et qui est remplacée par getdents(2).

readdir() lit une structure dirent depuis le répertoire pointé par fd et la place en mémoire dans la zone pointée par dirp. Le paramètre count est ignoré, au plus une structure dirent est lue.

La structure dirent est déclarée comme suit :

    struct dirent {
        long d_ino;                 /* inode number */
        off_t d_off;                /* offset to this dirent */
        unsigned short d_reclen;    /* length of this d_name */
        char d_name [NAME_MAX+1];   /* file name (null-terminated) */
    }

d_ino est un numéro d'i-node. d_off est la distance entre le début du répertoire et cette structure dirent. d_reclen est la longueur d_name, sans compter l'octet nul final. d_name est le nom de fichier terminé par un octet nul.

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

ERREURS

EBADF
    fd est invalide.

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

EINVAL
    Le tampon de résultat est trop petit.

ENOENT
    Répertoire inexistant.

ENOTDIR
    Le descripteur est associé à un fichier, pas à un répertoire.

CONFORMITÉ
Cet appel système est spécifique à Linux.

NOTES
La glibc ne fournit pas d'enveloppe pour cet appel système ; appelez-le avec syscall(2).

VOIR AUSSI
getdents(2), readdir(3)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 12 octobre 1996 et révisée le 23 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 readdir ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.