Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section2 - Appels système]
READDIR
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VALEUR RENVOYÉE
- ERREURS
- CONFORMITÉ
- VOIR AUSSI
- TRADUCTION
NOM
readdir - Lire une entrée de répertoire
SYNOPSIS
#include <linux/types.h>
#include <linux/dirent.h>
#include <linux/unistd.h>
#include <errno.h>
_syscall3(int, readdir, unsigned int, fd, struct dirent *, dirp,
unsigned int, count)
/* Il peut être préférable d'utiliser syscall(2) ; voir intro(2) */
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; /* numéro d'inoeud */
off_t d_off; /* position de ce dirent */
unsigned short d_reclen; /* longueur de d_name */
char d_name [NAME_MAX+1]; /* nom du fichier (terminé par rs0) */
}
d_ino est un numéro d'inoeud. 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 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.
- 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.
VOIR AUSSI
getdents(2), readdir(3)
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.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction 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> ».
|