4.3BSD-Reno/share/man/cat2/fchdir.0
CHDIR(2) 1989 CHDIR(2)
NNAAMMEE
chdir, fchdir - change current working directory
SSYYNNOOPPSSIISS
cchhddiirr((ppaatthh))
cchhaarr **ppaatthh;;
ffcchhddiirr((ffdd))
iinntt ffdd;;
DDEESSCCRRIIPPTTIIOONN
_P_a_t_h is the pathname of a directory. _C_h_d_i_r causes this
directory to become the current working directory, the
starting point for path names not beginning with ``/''.
_F_c_h_d_i_r causes the directory referenced by _f_d 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.
RREETTUURRNN VVAALLUUEE
Upon successful completion, a value of 0 is returned. Oth-
erwise, a value of -1 is returned and _e_r_r_n_o is set to indi-
cate the error.
EERRRROORRSS
_C_h_d_i_r 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.
[EINVAL] The pathname contains a character with the
high-order bit set.
[ENAMETOOLONG] A component of a pathname exceeded 255 char-
acters, or an entire path name exceeded 1023
characters.
[ENOENT] The named directory does not exist.
[ELOOP] Too many symbolic links were encountered in
translating the pathname.
[EACCES] Search permission is denied for any component
of the path name.
[EFAULT] _P_a_t_h points outside the process's allocated
address space.
Printed 7/27/90 June 1
CHDIR(2) 1989 CHDIR(2)
[EIO] An I/O error occurred while reading from or
writing to the file system.
_F_c_h_d_i_r will fail and the current working directory will be
unchanged if one or more of the following are true:
[ENOTDIR] The file descriptor does not reference a
directory.
EBADF _f_d is not a valid open file descriptor.
SSEEEE AALLSSOO
chroot(2)
Printed 7/27/90 June 2