chdir


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,
ADVERTISEMENT