zion - chdir
Nom
chdir, fchdir - Changer le répertoire courant.
Résumé
#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
getcwd (3), chroot (2).
Traduction
Christophe Blaess, 1996-2003.
Poster un commentaire