The chdir() and fchdir() functions cause a directory pointed to by path or fildes to become the current working directory. The starting point for path searches for path names not beginning with / (slash). The path argument points to the path name of a directory. The fildes argument is an open file
descriptor of a directory.
For a directory to become the current directory, a process must have execute (search) access to the directory.
RETURN VALUES
Upon successful completion, 0 is returned. Otherwise, -1 is returned, the current working directory is unchanged, and errno is set to indicate the error.
ERRORS
The chdir() function will fail if:
EACCES
Search permission is denied for any component of the path name.
EFAULT
The path argument points to an illegal address.
EINTR
A signal was caught during the execution of the chdir() function.
EIO
An I/O error occurred while reading from or writing to the file system.
ELOOP
Too many symbolic links were encountered in translating path.
ENAMETOOLONG
The length of the path argument exceeds PATH_MAX, or the length of a path component exceeds NAME_MAX while _POSIX_NO_TRUNC is in effect.
ENOENT
Either a component of the path prefix or the directory named by path does not exist or is a null pathname.
ENOLINK
The path argument points to a remote machine and the link to that machine is no longer active.
ENOTDIR
A component of the path name is not a directory.
The fchdir() function will fail if:
EACCES
Search permission is denied for fildes.
EBADF
The fildes argument is not an open file descriptor.
EINTR
A signal was caught during the execution of the fchdir() function.
EIO
An I/O error occurred while reading from or writing to the file system.
ENOLINK
The fildes argument points to a remote machine and the link to that machine is no longer active.
ENOTDIR
The open file descriptor fildes does not refer to a directory.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes: