READDIR

Section : Manuel du programmeur Linux (2)
Mise à jour de la version anglaise : 1er juin 2007
Index Menu principal  

NOM

readdir - Lire une entrée de répertoire  

SYNOPSIS

#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. Utilisez 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 référencé par le descripteur de fichier fd et la place dans le tampon pointé 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;                /* numéro d'inœud */
    off_t    d_off;                /* position de ce dirent */
    unsigned short d_reclen;       /* longueur de ce d_name */
    char     d_name [NAME_MAX+1];  /* nom du fichier (terminé par \0) */
}

d_ino est un numéro d'inœud. d_off est la distance entre le début du répertoire et cette structure dirent. d_reclen est la longueur de 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 n'est pas un descripteur de fichier valide.
EFAULT
L'argument pointe en dehors de l'espace d'adressage du processus appelant.
EINVAL
Le tampon de résultat est trop petit.
ENOENT
Répertoire inexistant.
ENOTDIR
Le descripteur de fichier ne pointe pas sur un répertoire.
 

CONFORMITÉ

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

NOTES

La glibc ne fournit pas de fonction autour de cet appel système ; utilisez syscall(2) pour l'appeler.  

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 2 juillet 2008.

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.

 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
NOTES
VOIR AUSSI
TRADUCTION

Dernière mise à jour : 2 juillet 2008