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 comme 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

EACCESS
    Accès interdit.

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

EMFILE
    Trop de descripteurs de fichiers pour le processus en cours.

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.

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).

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 10 décembre 2007.

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.