chdir(2) SYSTEM CALLS chdir(2)
NAME
chdir, fchdir - change working directory
SYNOPSIS
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fildes);
DESCRIPTION
chdir and fchdir 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 /.
path points to the path name of a directory. The fildes
argument to fchdir is an open file descriptor of a direc-
tory.
In order for a directory to become the current directory, a
process must have execute (search) access to the directory.
chdir will fail and the current working directory will be
unchanged if one or more of the following are true:
EACCES Search permission is denied for any com-
ponent of the path name.
EFAULT path points outside the allocated
address space of the process.
EINTR A signal was caught during the execution
of the chdir system call.
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
{PATHMAX}, or the length of a path com-
ponent exceeds {NAMEMAX} while
POSIXNOTRUNC is in effect.
ENOTDIR A component of the path name is not a
directory.
ENOENT Either a component of the path prefix or
the directory named by path does not
exist or is a null pathname.
ENOLINK path points to a remote machine and the
1
chdir(2) SYSTEM CALLS chdir(2)
link to that machine is no longer
active.
EMULTIHOP Components of path require hopping to
multiple remote machines and file system
type does not allow it.
fchdir will fail and the current working directory will be
unchanged if one or more of the following are true:
EACCES Search permission is denied for fildes.
EBADF fildes is not an open file descriptor.
EINTR A signal was caught during the execution
of the fchdir system call.
EIO An I/O error occurred while reading from
or writing to the file system.
ENOLINK fildes 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.
SEE ALSO
chroot(2).
DIAGNOSTICS
Upon successful completion, a value of zero is returned.
Otherwise, a value of -1 is returned and errno is set to
indicate the error.
2