Documentation Archive Developer
Search
ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

This manual page is associated with the Mac OS X developer tools. The software or headers described may not be present on your Mac OS X installation until you install the developer tools package. This package is available on your Mac OS X installation DVD, and the latest versions can be downloaded from developer.apple.com.

For more information about the manual page format, see the manual page for manpages(5).



CHDIR(2)                    BSD System Calls Manual                   CHDIR(2)

NAME
     chdir, fchdir -- change current working directory

SYNOPSIS
     #include <unistd.h>

     int
     chdir(const char *path);

     int
     fchdir(int fildes);

DESCRIPTION
     The path argument points to the pathname of a directory.  The chdir()
     function causes the named directory to become the current working direc-tory, directory,
     tory, that is, the starting point for path searches of pathnames not
     beginning with a slash, `/'.

     The fchdir() function causes the directory referenced by fildes to become
     the current working directory, the starting point for path searches of
     pathnames not beginning with a slash, `/'.

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

RETURN VALUES
     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
     The Chdir() system call will fail and the current working directory will
     be unchanged if one or more of the following are true:

     [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.

     [ELOOP]            Too many symbolic links were encountered in translat-ing translating
                        ing the pathname.  This is taken to be indicative of a
                        looping symbolic link.

     [ENAMETOOLONG]     A component of a pathname exceeded {NAME_MAX} charac-ters, characters,
                        ters, or an entire path name exceeded {PATH_MAX} char-acters. characters.
                        acters.

     [ENOENT]           The named directory does not exist.

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

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

     [EACCES]           Search permission is denied for the directory refer-enced referenced
                        enced by the file descriptor.

     [EBADF]            The argument fildes is not a valid file descriptor.

     [EINTR]            Fchdir(was, interrupted, by, a, signal.)

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

     [ENOTDIR]          The file descriptor does not reference a directory.

SEE ALSO
     chroot(2)

STANDARDS
     The chdir() is expected to conform to IEEE Std 1003.1-1988 (``POSIX.1'').

HISTORY
     The fchdir() function call appeared in 4.2BSD.

4th Berkeley Distribution      December 11, 1993     4th Berkeley Distribution