chdir(2)
NAME
chdir, fchdir − change working directory
SYNOPSIS
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fildes);
DESCRIPTION
chdir() and fchdir() cause a directory pointed to by path or fildes to become the current working directory, the starting point for path searches of path names not beginning with /. path points to the path name of a directory. fildes is an open file descriptor of a directory.
For a directory to become the current working 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() fails and the current working directory remains unchanged if one or more of the following are true:
[ENOTDIR] A component of the path name is not a directory.
[ENOENT] The named directory does not exist.
[EACCES] Search permission is denied for any component of the path name.
[EFAULT] path points outside the allocated address space of the process. The reliable detection of this error is implementation dependent.
[ENOENT] path is null.
[ENAMETOOLONG] The length of the specified path name exceeds PATH_MAX bytes, or the length of a component of the path name exceeds NAME_MAX bytes while _POSIX_NO_TRUNC is in effect.
[ELOOP] Too many symbolic links were encountered in translating the path name.
fchdir() fails and the current working directory remains unchanged if one or more of the following are true:
[EACCES] Search permission is denied for fildes.
[EBADF] fildes is not an open file descriptor.
[ENOTDIR] The open file descriptor fildes does not refer to a directory.
AUTHOR
chdir() and fchdir() were developed by AT&T Bell Laboratories and HP.
SEE ALSO
STANDARDS CONFORMANCE
chdir(): AES, SVID2, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1
Hewlett-Packard Company — HP-UX Release 9.10: April 1995