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 .
NOTES
The prototype for
fchdir is only available if
_BSD_SOURCE is defined (either explicitly, or implicitly, by not defining
_POSIX_SOURCE or compiling with the -ansi flag).
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.