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 la version 2.10 de la glibc :
        _POSIX_C_SOURCE >= 200809L
    Avant la version 2.10 de la glibc :
        _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 répertoire pour le répertoire demandé avec le descripteur de fichier ouvert fd. 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 depuis la version 2.4 de la glibc.

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, 4.3BSD et spécifiée dans POSIX.1-2001. fdopendir() est spécifiée dans POSIX.1-2008.

NOTES
Les entrées de nom de fichier peuvent être lues depuis un flux répertoire avec readdir(3).

Le descripteur sous-jacent du 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 ne spécifie pas 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.13 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>, David Prévot <david@tilapin.org> et Grégoire Scano <gregoire.scano@malloc.fr> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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.