CHDIR(2)

NAME
chdir, fchdir - change working directory

SYNOPSIS
#include <unistd.h>

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

DESCRIPTION
chdir changes the current directory to that specified in path.

fchdir is identical to chdir, only that the directory is given as an open file descriptor.

RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.

ERRORS
Depending on the file system, other errors can be returned. The more general errors are listed below:

EPERM
    The process does not have execute permission on the directory.

EFAULT
    path points outside your accessible address space.

ENAMETOOLONG
    path is too long.

EBADF
    The fd is not a valid file descriptor.

ENOENT
    The file does not exist.

ENOMEM
    Insufficient kernel memory was available.

ENOTDIR
    A component of the path prefix is not a directory.

EACCES
    Search permission is denied on a component of the path prefix.

ELOOP
    path contains a circular reference (i.e., via a symbolic link)

SEE ALSO
getcwd(3), chroot(2)