chdir(2) cambia el directorio de trabajo

Other Alias

fchdir

SINOPSIS

#include <unistd.h>

int chdir(const char *path);
int fchdir(int fd);

DESCRIPCIÓN

chdir cambia el directorio presente a aquel especificado en path.

fchdir es lo mismo que chdir, solo que el directorio está dado como un descriptor de fichero abierto.

VALOR DEVUELTO

En caso de éxito, cero. Si hay algún error, -1, y se asigna a errno un valor apropiado.

ERRORES

Depediendo del sistema de ficheros, se pueden devolver otros errores. Los errores más comunes se listan a continuación:
EFAULT
path apunta fuera de su espacio de direcciones accesible.
ENAMETOOLONG
path es demasiado largo.
ENOENT
El fichero no existe.
ENOMEM
No hay suficiente memoria disponible en el núcleo.
ENOTDIR
Un componente del camino path no es un directorio.
EACCES
Ha sido denegado el permiso de búsqueda en uno de los componentes del camino path.
ELOOP
Se han encontrado demasiados enlaces simbólicos al resolver path.
EIO
Ha ocurrido un error de E/S.

Los errores más comunes para fchdir se muestran a continuación:

EBADF
fd no es un descriptor válido de fichero.
EACCES
Se ha denegado el permiso de búsqueda sobre el directorio abierto en fd.

OBSERVACIONES

El prototipo para fchdir está disponible solamente si _BSD_SOURCE está definida (bien explícitamente, o explícitamente, al no definir _POSIX_SOURCE o compilando con la opción -ansi).

CONFORME A

La llamada chdir es compatible con SVr4, SVID, POSIX, X/OPEN, 4.4BSD. SVr4 documenta las condiciones de error adicionales EINTR, ENOLINK y EMULTIHOP pero no tiene ENOMEM. POSIX.1 no tiene las condiciones de error ENOMEM o ELOOP. X/OPEN no tiene las condiciones de error EFAULT, ENOMEM ni EIO. La llamada fchdir es compatible con SVr4, 4.4BSD y X/OPEN. SVr4 documenta las condiciones de error adicionales EIO, EINTR y ENOLINK. X/OPEN documenta las condiciones de error adicionales EINTR y EIO.

VÉASE TAMIBIÉN

getcwd(3), chroot(2)