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 direc-tory directory
     tory to become the current working directory, that is, the starting point for path searches of path-names pathnames
     names not beginning with a slash, `/'.

     The fchdir() function causes the directory referenced by fildes to become the current working direc-tory, directory,
     tory, 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 translating the pathname.  This is taken
                        to be indicative of a looping symbolic link.

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

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

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.