readdir_r(3) Library Functions Manual readdir_r(3) NOM readdir_r - Consulter un rpertoire BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include [[obsolte]] int readdir_r(DIR *restrict dirp, struct dirent *restrict entry, struct dirent **restrict result); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : readdir_r(): _POSIX_C_SOURCE || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE DESCRIPTION Cette fonction est obsolte; utilisez readdir(3) la place. La fonction readdir_r() est la version rentrante de readdir(3). Elle lit la prochaine entre de rpertoire partir du flux rpertoire dirp et la renvoie dans le tampon de l'appelant point par entry. Pour des dtails sur la structure dirent, consultez readdir(3). Un pointeur vers le tampon renvoy est plac dans *result; si la fin du flux de rpertoire est rencontre, NULL est renvoy dans *result. Il est recommand que les applications utilisent readdir(3) la place de readdir_r(). De plus, depuis la glibc2.24, la glibc rend readdir_r() obsolte pour les raisons suivantes: - Pour les systmes sur lesquels NAME_MAX n'est pas dfinit, appeler readdir_r() peut tre non sr parce que l'interface ne permet pas l'appelant de fournir la longueur du tampon utilis pour l'entre de rpertoire renvoye. - Sur certains systmes, readdir_r() ne peut pas lire les entres de rpertoire dont le nom est trs long. Lorsque l'implmentation de la glibc rencontre un tel nom, readdir_r() choue avec l'erreur ENAMETOOLONG aprs que la dernire entre du rpertoire ait t lue. Sur d'autres systmes, readdir_r() peut renvoyer un tat de russite mais le champ d_name renvoy peut ne pas tre termin par l'octet NULL ou peut tre tronqu. - Dans la spcification POSIX.1 courante (POSIX.1-2008), il n'est pas requis que readdir(3) soit sr vis--vis des threads. Cependant, dans les implmentations modernes, incluant la glibc, des appels concurrents readdir(3) pour des flux rpertoire diffrents sont srs vis--vis des threads. Par consquent, l'utilisation de readdir_r() n'est gnralement pas ncessaire dans les programmes multi-threads. Dans le cas o de multiples threads doivent lire depuis un flux rpertoire identique, l'utilisation de readdir(3) avec une synchronisation externe est toujours prfrable l'utilisation de readdir_r() pour les raisons cites dans le point ci-dessus. - Il est attendu qu'une future version de POSIX.1 rende readdir_r() obsolte et require que readdir(3) soit sre du point de vue des threads lorsqu'elle est employe de faon simultane sur des flux rpertoire diffrents. VALEUR RENVOYEE La fonction readdir_r() renvoie 0 si elle russit. Si elle choue, elle renvoie un code d'erreur positif (document dans ERREURS). Si la fin du flux rpertoire est atteinte, readdir_r() renvoie 0 et renvoie NULL dans *result. ERREURS EBADF Le descripteur de flux rpertoire dirp n'est pas valable. ENAMETOOLONG Une entre de rpertoire dont le nom est trop long pour tre lu a t rencontre. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------------------------+--------------------------+---------+ |Interface | Attribut | Valeur | +---------------------------------+--------------------------+---------+ |readdir_r() | Securite des threads | MT-Safe | +---------------------------------+--------------------------+---------+ STANDARDS POSIX.1-2008. HISTORIQUE POSIX.1-2001. VOIR AUSSI readdir(3) TRADUCTION La traduction francaise de cette page de manuel a ete creee par #-#-#-#-# min-002-occurences.po (perkamon) #-#-#-#-#, Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Jean-Philippe MENGUAL , Jean-Pierre Giraud , #-#-#-#-# min-003-occurences.po (perkamon) #-#-#-#-#, Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Jean-Philippe MENGUAL , Jean-Pierre Giraud , #-#-#-#-# min-004-occurences.po (perkamon) #-#-#-#-#, Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Jean-Philippe MENGUAL , Jean-Pierre Giraud , #-#-#-#-# min-010-occurences.po (perkamon) #-#-#-#-#, Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Thomas Vincent , #-#-#-#-# min-020-occurences.po (perkamon) #-#-#-#-#, Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Jean-Philippe MENGUAL , Jean-Pierre Giraud , #-#-#-#-# min-100-occurences.po (perkamon) #-#-#-#-#, Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Jean-Philippe MENGUAL , Jean-Pierre Giraud et # Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 readdir_r(3)