chdir(2) chdir(2)
NAME
chdir, fchdir - change working directory
SYNOPSIS
#include <unistd.h>
int chdir(path)
char *path;
int fchdir(fildes)
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.
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 com-
ponent exceeds {NAME_MAX} while
_POSIX_NO_TRUNC 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.
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.
Page 1 CX/UX Programmer's Reference Manual
chdir(2) chdir(2)
EBADF fildes is not an open file descriptor.
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.
Page 2 CX/UX Programmer's Reference Manual