CHDIR(2)

NAME
chdir, fchdir - change current working directory

SYNOPSIS
#include <unistd.h>
int chdir(const char *path)
int fchdir(int fd)

DESCRIPTION
Path is the pathname of a directory. Fd is the file descriptor of a directory. Chdir causes this directory to become the current working directory, the starting point for path names not beginning with ``/''.

In order for a directory to become the current directory, a process must have execute (search) access to the directory.

RETURN VALUE
Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error.

ERRORS
Chdir will fail and the current working directory will be unchanged if one or more of the following are true:

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

[ENAMETOOLONG]
    The path name exceeds PATH_MAX characters.

[ENOENT]
    The named directory does not exist.

[ELOOP]
    Too many symbolic links were encountered in translating the pathname. (Minix-vmd)

[EACCES]
    Search permission is denied for any component of the path name.

[EFAULT]
    Path points outside the process's allocated address space.

[EIO]
    An I/O error occurred while reading from or writing to the file system.

SEE ALSO
chroot(2).