Linux |
CentOS 4.8 |
|
fchdir(2) |
chdir, fchdir − Changer le répertoire courant. |
#include <unistd.h> int chdir(const char *path); |
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. |
chdir et fchdir renvoient 0 s’ils réussissent, ou −1 s’ils échouent, auquel cas errno contient le code d’erreur. |
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. |
Le prototype de fchdir n’est disponible que si _BSD_SOURCE est défini (soit explicitement, soit implicitement en ne définissant pas _POSIX_SOURCE ou en compilant avec l’attribut -ansi). |
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 décrit 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. |
getcwd(3), chroot(2) |
Christophe Blaess, 1997. |
fchdir(2) |