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 for chdir are listed below:
EFAULT path points outside your accessible address space.
ENAMETOOLONG
path is too long.
ENOENT The file does not exist.
ENOMEM Insufficient kernel memory was available.
ENOTDIR A component of path is not a directory.
EACCES Search permission is denied on a component of path.
ELOOP Too many symbolic links were encountered in resolv-
ing path.
EIO An I/O error occurred.
The general errors for fchdir are listed below:
EBADF fd is not a valid file descriptor. EACCES Search
permission was denied on the directory open on fd.
CONFORMING TO
The chdir call is compatible with SVr4, SVID, POSIX, X/OPEN,
4.4BSD. SVr4 documents additional EINTR, ENOLINK, and EMUL-
TIHOP error conditions but has no ENOMEM. POSIX.1 does not
have ENOMEM or ELOOP error conditions. X/OPEN does not have
EFAULT, ENOMEM or EIO error conditions.
The fchdir call is compatible with SVr4, 4.4BSD and X/OPEN.
SVr4 documents additional EIO, EINTR, and ENOLINK error con-
ditions. X/OPEN documents additional EINTR and EIO error
conditions.
SEE ALSO
getcwd(3), chroot(2)