Nom
chdir, fchdir - Changer le répertoire courant.
Synopsis
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fd);
Description
chdir remplace le répertoire courant par celui indiqué dans le chemin path.
fchdir est identique à chdir, sauf que le répertoire cible est fourni sous forme de descripteur de fichier.
Valeur Renvoyée
chdir et fchdir renvoient 0 s'ils réussissent, ou -1 s'ils échouent, auquel cas errno contient le code d'erreur.
Erreurs
Suivant le type de système de fichiers, plusieurs erreurs peuvent être renvoyées, les plus courantes pour chdir sont les suivantes :
EFAULT
path pointe en dehors de l'espace d'adressage accessible.
ENAMETOOLONG
path est trop long.
ENOENT
Le fichier n'existe pas.
ENOMEM
Pas assez de mémoire pour le noyau.
ENOTDIR
Un élément du chemin d'accès n'est pas un répertoire.
EACCES
L'accès n'est pas autorisé sur un élément du chemin.
ELOOP
path contient des références circulaires (à travers un lien symbolique) EIO Erreur générique d'entrée/sortie.
Les erreurs courantes pour fchdir sont :
EBADF
fd n'est pas un descripteur de fichier valide.
EACCES
Le répertoire ouvert sur fd n'autorise pas le parcours.
Conformité
L'appel système chdir est compatible avec SVr4, SVID, POSIX, X/OPEN, et 4.4BSD. SVr4 décrit les conditions d'erreur supplémentaires EINTR, ENOLINK, et EMULTIHOP mais n'a pas d'erreur ENOMEM. POSIX.1 ne contient pas d'erreur ENOMEM ni ELOOP. X/OPEN ne decrit pas les erreurs EFAULT, ENOMEM ni EIO.
L'appel système fchdir est compatible avec SVr4, 4.4BSD et X/OPEN. SVr4 ajoute les conditions d'erreur EIO, EINTR, et ENOLINK. X/OPEN ajoute EINTR et EIO.
Voir Aussi
getcwd(3) , chroot(2)
Traduction
Christophe Blaess, 1997.
Partager