CHDIR(2)                   Linux Programmer's Manual                  CHDIR(2)
NAME
       chdir, fchdir - change working directory

SYNOPSIS
       #include <unistd.h>

       int chdir(const char *path);
       int fchdir(int fd);

DESCRIPTION
       chdir()  changes  the  current  working  directory to that specified in
       path.

       fchdir() is identical to chdir();  the  only  difference  is  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:

       EACCES Search  permission  is  denied for one of the directories in the
              path prefix of path.  (See also path_resolution(2).)

       EFAULT path points outside your accessible address space.

       EIO    An I/O error occurred.

       ELOOP  Too many symbolic links were encountered in resolving path.

       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.

       The general errors for fchdir() are listed below:

       EACCES Search permission was denied on the directory open on fd.

       EBADF  fd is not a valid file descriptor.

NOTES
       A child process created via fork(2) inherits its parent's current work-
       ing  directory.   The  current  working  directory is left unchanged by
       execve(2).

       The prototype for fchdir() is only available if _BSD_SOURCE is defined,
       or _XOPEN_SOURCE is defined with the value 500.

CONFORMING TO
       SVr4, 4.4BSD, POSIX.1-2001.

SEE ALSO
       chroot(2), path_resolution(2), getcwd(3)

Linux 2.6.7                       2004-06-23                          CHDIR(2)