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 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 condi-
       getcwd(3), chroot(2)

Linux 2.0.30                      1997-08-21                          chdir(2)