CHDIR
Section: Linux Programmer's Manual (2)
Updated: 21 August 1997
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 resolving
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 EMULTIHOP 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 conditions.
X/OPEN documents additional EINTR and EIO error conditions.
SEE ALSO
getcwd(3),
chroot(2)