chdir, fchdir - change working directory
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fd);
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.
On success, zero is returned. On error, -1 is returned, and errno is
set appropriately.
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 [Toc] [Back]
path is too long.
ENOENT The file does not exist.
ENOMEM Insufficient kernel memory was available.
ENOTDIR [Toc] [Back]
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.
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).
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.
getcwd(3), chroot(2)
Linux 2.0.30 1997-08-21 CHDIR(2)
[ Back ] |