CHDIR(2)

NOMBRE
chdir, fchdir - cambia el directorio de trabajo

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)