dirfd - Obtenir un descripteur de fichier d'un répertoire
Bibliothèque C standard (
libc,
-lc)
#include <sys/types.h>
#include <dirent.h>
int dirfd(DIR *dirp);
dirfd() :
/* Depuis la glibc 2.10 : */ _POSIX_C_SOURCE >= 200809L
|| /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE
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.
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.
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.
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
dirfd() |
Sécurité des threads |
MT-Safe |
POSIX.1.2008. Cette fonction est une extension BSD ; présente dans
4.3BSD.Reno, non présente dans 4.2BSD.
open(2),
openat(2),
closedir(3),
opendir(3),
readdir(3),
rewinddir(3),
scandir(3),
seekdir(3),
telldir(3)
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]