# chdir(2)

## NAME

         chdir - change current working directory

## SYNOPSIS

         #include <unistd.h>

         int chdir(const char *path)

## DESCRIPTION

         Path is the pathname of a directory.   Chdir  causes  this  directory  to
         become  the  current working directory, the starting point for path names
         not beginning with ``/''.

         In order for a directory to become the current directory, a process  must
         have execute (search) access to the directory.

## RETURN VALUE

         Upon successful completion, a value of 0 is returned.  Otherwise, a value
         of -1 is returned and errno is set to indicate the error.

## ERRORS

         Chdir will fail and the current working directory will  be  unchanged  if
         one or more of the following are true:

         [ENOTDIR]      A component of the path prefix is not a directory.

         [ENAMETOOLONG] The path name exceeds PATH_MAX characters.

         [ENOENT]       The named directory does not exist.

         [ELOOP]        Too many symbolic links were  encountered  in  translating
                        the pathname.  (Minix-vmd)

         [EACCES]       Search permission is denied for any component of the  path
                        name.

         [EFAULT]       Path points outside the process's allocated address space.

         [EIO]          An I/O error occurred while reading from or writing to the
                        file system.

## SEE ALSO

         chroot(2).