chdir, fchdir — change working directory
#include <unistd.h>
int
chdir( |
const char * | path) ; |
int
fchdir( |
int | fd) ; |
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.
On success, zero is returned. On error, −1 is
returned, and errno
is set
appropriately.
Depending on the file system, other errors can be
returned. The more general errors for chdir
() are listed below:
Search permission is denied for one of the
directories in the path prefix of path
. (See also path_resolution(7).)
path
points
outside your accessible address space.
An I/O error occurred.
Too many symbolic links were encountered in
resolving path
.
path
is too
long.
The file does not exist.
Insufficient kernel memory was available.
A component of path
is not a
directory.
The general errors for fchdir
() are listed below:
Search permission was denied on the directory open
on fd
.
fd
is not a
valid file descriptor.
A child process created via fork(2) inherits its parent's current working directory. The current working directory is left unchanged by execve(2).
The prototype for fchdir
()
is only available if _BSD_SOURCE
is defined, or _XOPEN_SOURCE
is defined with the value
500.
chroot(2), getcwd(3), path_resolution(7)
|