OPENDIR(3)

NOM
opendir, fdopendir - Ouvrir un répertoire

SYNOPSIS
#include <sys/types.h>
#include <dirent.h>

DIR *opendir(const char *nom);
DIR *fdopendir(int fd);

Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

fdopendir():
    Depuis glibc 2.10 :
        _POSIX_C_SOURCE >= 200809L
    Avant la glibc 2.10 :
        _GNU_SOURCE

DESCRIPTION
La fonction opendir() ouvre un flux répertoire correspondant au répertoire nom, et renvoie un pointeur sur ce flux. Le flux est positionné sur la première entrée du répertoire.

La fonction fdopendir() est similaire à opendir(), mais renvoie un flux de répertoire pour le répertoire demandé avec le descripteur de fichier fd ouvert. Après un appel réussi à fdopendir(), fd est utilisé en interne par l'implémentation, et ne doit plus être utilisé par l'application.

VALEUR RENVOYÉE
Les fonctions opendir() et fdopendir() renvoient un pointeur sur le flux répertoire. Si une erreur se produit, NULL est renvoyé, et errno contient le code d'erreur.

ERREURS

EACCES
    Accès interdit.

EBADF
    fd n'est pas un descripteur de fichier valable ouvert en lecture.

EMFILE
    La limite du nombre de descripteurs de fichiers par processus a été atteinte.

ENFILE
    La limite du nombre total de fichiers ouverts pour le système entier a été atteinte.

ENOENT
    Le répertoire n'existe pas, ou nom est une chaîne vide.

ENOMEM
    Pas assez de mémoire pour terminer l'opération.

ENOTDIR
    nom n'est pas un répertoire

VERSIONS
fdopendir() est disponible dans la glibc depuis la version 2.4.

ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur
opendir(), fdopendir() | Sécurité des threads | MT-Safe

CONFORMITÉ
opendir() est présente dans SVr4, BSD 4.3 et spécifiée dans POSIX.1-2001. fdopendir() est spécifiée dans POSIX.1-2008.

NOTES
Filename entries can be read from a directory stream using readdir(3).

Le descripteur sous-jacent à un flux répertoire peut être obtenu avec dirfd(3).

La fonction opendir() définit l'attribut « close-on-exec » pour le descripteur de fichier sous-jacent à DIR *. La fonction fdopendir() laisse inchangée la configuration de l'attribut « close-on-exec » pour le descripteur de fichier fd. POSIX.1-200x laisse ouvert la le fait que l'attribut close-on-exec du descripteur de fichier fd soit positionné ou non par un appel réussi à fdopendir().

VOIR AUSSI
open(2), closedir(3), dirfd(3), readdir(3), rewinddir(3), scandir(3), seekdir(3), telldir(3)

COLOPHON
Cette page fait partie de la publication 5.08 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page, peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org> et David Prévot <david@tilapin.org> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à <debian-l10n-french@lists.debian.org>.