OPENDIR(3)

NOM
opendir, fdopendir - Ouvrir un répertoire

SYNOPSIS
#include <sys/types.h>

#include <dirent.h>

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

DESCRIPTION
La fonction opendir() ouvre un flux répertoire correspondant au répertoire name, 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 référencé par le descripteur de fichier ouvert fd. Après un appel réussi à fdopendir(), fd est utilisé par l'implémentation de manière interne et ne doit donc plus être utilisé par l'application.

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

ERREURS

EACCES
    Accès interdit.

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

EMFILE
    Trop de descripteurs de fichier pour le processus appelant.

ENFILE
    Trop de fichiers ouverts simultanément sur le système.

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

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

ENOTDIR
    name n'est pas un répertoire

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

CONFORMITÉ
opendir() est présente sur SVr4 et BSD 4.3, et est spécifiée par POSIX.1-2001. fdopendir() est en attente d'inclusion dans la prochaine version de POSIX.1.

NOTES
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 » pout le descripteur de fichier fd.

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

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 5 novembre 1996 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 opendir ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.