FACCESSAT |
Accès fichier à |
---|---|
unistd.h |
Syntaxe
int faccessat(int dirfd, const char *pathname, int mode, int flags); |
Paramètres
Nom | Description | ||
---|---|---|---|
dirfd | Ce paramètre permet d'indiquer le descripteur de fichier référençant le répertoire. | ||
pathname | Ce paramètre permet d'indiquer le chemin de répertoire et/de fichiers à vérifier | ||
mode | Ce paramètre permet d'indiquer le numéro du mode d'accès : | ||
Constante | Valeur | Description | |
F_OK | 0 | Cette constante permet d'indiquer une vérification de l'existence seulement | |
X_OK | 2 | Cette constante permet d'indiquer une vérification de la possibilité d'exécution | |
W_OK | 4 | Cette constante permet d'indiquer une vérification de la possibilité d'écriture | |
R_OK | 6 | Cette constante permet d'indiquer une vérification de la possibilité de lecture | |
N.B.: Il est possible d'effectuer des combinaisons de vérification comme par exemple «W_OK | R_OK» permet de vérifier la possibilité de lecture et d'écriture | |||
flags | Ce paramètre permet d'indiquer le numéro du mode d'accès : | ||
Constante | Description | ||
AT_EACCESS | Cette constante permet d'indiquer qu'il faut vérifier l'accès en utilisant l'identificateur utilisateur ou l'identificateur de groupe effectifs. | ||
AT_SYMLINK_NOFOLLOW | Cette constante permet d'indiquer qu'il faut renvoyer des informations sur le lien si le paramètre pathname est un lien symbolique. |
Retour
Valeur | Description |
---|---|
0 | Cette valeur permet d'indiquer que le fichier existe et que l'accès spécifié correspond. |
-1 | Cette valeur permet d'indiquer que le fichier n'existe pas ou que le mode d'accès spécifié ne correspond pas. Dans ce cas, il sera possible d'obtenir des informations supplémentaires en consultant la variable errno. |
Description
Cette fonction permet de vérifier le mode d'accès d'un fichier avec des options spécifique.
Remarques
- Les codes d'erreurs retournés par la variable «errno» correspondent généralement à ceci :
- faccessat() versus access() : La fonction faccessat() agit de façon identique à la fonction access(), sauf que si le nom est relatif, il utilisera dirfd comme référence.
- Les drapeaux AT_EACCESS et AT_SYMLINK_NOFOLLOW sont réellement mises en oeuvres dans la fonction wrapper de glibc pour faccessat(). Si l'un de ces drapeaux est spécifié, la fonction wrapper utilise fstatat pour déterminer les autorisations d'accès.
Constante | Description |
---|---|
EACCES | Cette constante permet d'indiquer un accès refusé ou recherche de permission à un dossier dans le préfixe du chemin étant inaccessible. |
ELOOP | Cette constante permet d'indiquer qu'il y a trop de liens symboliques rencontré afin de résoudre le chemin de nom de fichier. |
ENAMETOOLONG | Cette constante permet d'indiquer que le fichier est trop long |
ENOENT | Cette constante permet d'indiquer qu'une composante du chemin n'existe pas ou que le chemin est une chaine de caractères vide. |
ENOTDIR | Cette constante permet d'indiquer que le chemin spécifié n'est pas un répertoire. |
EROFS | Cette constante permet d'indiquer que le système de fichiers est en mode lecture seulement. |
EFAULT | Cette constante permet d'indiquer que l'adresse est invalide. |
EINVAL | Cette constante permet d'indiquer que le paramètre est invalide. |
EIO | Cette constante permet d'indiquer qu'une erreur d'entrée/sortie s'est produite. |
ENOMEM | Cette constante permet d'indiquer qu'il n'y a pas d'espace de disponible. |
ETXTBSY | Cette constante permet d'indiquer que le fichier texte est occupé. |
Dernière mise à jour : Jeudi, le 23 juillet 2015