man chdir (Appels systèmes) - Changer le répertoire courant.
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
- Une erreur d'entrée/sortie s'est produite.
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.
NOTES
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).
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 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.
VOIR AUSSI
TRADUCTION
Christophe Blaess, 1996-2003.