Manual page for chdir(2)
chdir, fchdir - change working directory
SYNOPSIS
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fildes);
MT-LEVEL
chdir() is Async-Signal-Safe
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 directory.
In order for a directory to become the current directory, a process
must have execute (search) access to the directory.
RETURN VALUES
Upon successful completion, a value of zero is returned.
Otherwise, a value of -1 is returned and
errno
is set to indicate the error.
ERRORS
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 component of the
path name.
- EFAULT
-
path
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
-
path 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.
- 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()
function.
- 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
Created by unroff & hp-tools.
© by Hans-Peter Bischof. All Rights Reserved (1997).
Last modified 21/April/97