NOM

dirfd - Obtenir un descripteur de fichier d'un répertoire

BIBLIOTHÈQUE

Bibliothèque C standard ( libc, -lc)

SYNOPSIS

#include <sys/types.h>
#include <dirent.h>
int dirfd(DIR *dirp);
Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :
dirfd() :
    /* Depuis la glibc 2.10 : */ _POSIX_C_SOURCE >= 200809L
        || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION

La fonction dirfd() renvoie le descripteur de fichier associé au flux du répertoire dirp.
Ce descripteur est celui qui est utilisé en interne par le flux du répertoire. Il est donc seulement utile pour les fonctions qui ne dépendent pas ou n'altèrent pas la position du fichier, comme fstat(2) et fchdir(2). Il est automatiquement fermé lorsque closedir(3) est appelée.

VALEUR RENVOYÉE

En cas de succès, dirfd() renvoie un descripteur de fichier (un entier non négatif). En cas d'erreur, -1 est renvoyé et errno est positionné pour indiquer l'erreur.

ERREURS

POSIX.1.2008 définit deux erreurs, aucune d'elles n'est retournée par l'implémentation actuelle.
EINVAL
dirp ne fait pas référence à un flux répertoire valable.
ENOTSUP
L'implémentation ne gère pas l'association d'un descripteur de fichier avec un répertoire.

ATTRIBUTS

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

STANDARDS

POSIX.1.2008. Cette fonction est une extension BSD ; présente dans 4.3BSD.Reno, non présente dans 4.2BSD.

VOIR AUSSI

open(2), openat(2), closedir(3), opendir(3), readdir(3), rewinddir(3), scandir(3), seekdir(3), telldir(3)

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 <[email protected]>, Thierry Vignaud <[email protected]>, François Micaux, Alain Portal <[email protected]>, Jean-Philippe Guérard <[email protected]>, Jean-Luc Coulon (f5ibh) <[email protected]>, Julien Cristau <[email protected]>, Thomas Huriaux <[email protected]>, Nicolas François <[email protected]>, Florentin Duneau <[email protected]>, Simon Paillard <[email protected]>, Denis Barbier <[email protected]> et David Prévot <[email protected]>
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 à [email protected]