READDIR(2) Manuel du programmeur Linux READDIR(2)
NOM
readdir - Lire une entrée de répertoire.
SYNOPSIS
#include <unistd.h>
#include <linux/dirent.h>
#include <linux/unistd.h>
_syscall3(int, readdir, uint, fd, struct dirent *, dirp, uint, count);
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 fonction
nalitées conformes POSIX. Cette page documente l'inter
face 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 le caractère
nul final.
d_name est le nom de fichier terminé par un caractère 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.
Linux 8 Avril 1997 1
READDIR(2) Manuel du programmeur Linux READDIR(2)
EFAULT L'argument pointe en dehors de l'espace d'adres
sage.
EINVAL Le buffer de résultat est trop petit.
ENONENT
Répertoire inexistant.
ENOTDIR
Le descripteur est associé à un fichier, pas à un
répertoire.
CONFORMITÉ
Cet appel-système est spécifique à Linux.
VOIR AUSSI
getdents(2), readdir(3)
TRADUCTION
Christophe Blaess, 1997.
Linux 8 Avril 1997 2