chdir(2) 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 pathnames not beginning with /. path points to the path-
name of a directory. The fildes argument to fchdir() is an open file
descriptor of a directory.
In order for a directory to become the current directory, a process
must have execute (search) access to the directory.
ERRORS
The following error code descriptions are function-specific. You will
find a general description in introprm2(2) or in errno(5).
chdir() will fail and the current working directory will be unchanged
if one or more of the following apply:
EACCES Search permission is denied for any component of the
pathname.
EFAULT path points outside the allocated address space of the
process.
EINTER 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 component exceeds NAMEMAX.
ENOTDIR A component of the pathname 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.
EMULTIHOP Components of path require hopping to multiple remote
machines.
Page 1 Reliant UNIX 5.44 Printed 11/98
chdir(2) chdir(2)
The chdir() function may fail if:
ENAMETOOLONG Pathname resolution of a symbolic link produced an
intermediate result whose length exceeds PATHMAX.
fchdir() will fail and the current working directory will be unchanged
if one or more of the following apply:
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.
RESULT
Upon successful completion, a value of zero is returned. Otherwise, a
value of -1 is returned and errno is set to indicate the error.
SEE ALSO
chroot(2), getcwd(3C), unistd(4).
Page 2 Reliant UNIX 5.44 Printed 11/98