Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chroot(2)

cd(1)

chdir(2)  —  System Calls

OSF

NAME

chdir, fchdir −  Changes the current directory

SYNOPSIS

int chdir (
const char ∗path ); int fchdir (
int filedes );
 

PARAMETERS

pathPoints to the pathname of the directory. 

filedesSpecifies the file descriptor of the directory. 

DESCRIPTION

The chdir() function changes the current directory to the directory indicated by the path parameter. 

The fchdir() function changes the current directory to the directory indicated by the filedes parameter.  If the path parameter refers to a symbolic link, the chdir() function sets the current directory to the directory pointed to by the symbolic link. 

The current directory, also called the current working directory, is the starting point of searches for pathnames that do not begin with a / (slash).   In order for a directory to become the current directory, the calling process must have search access to the directory. 

NOTES

The current working directory is shared between all threads within the same process.  Therefore, one thread using the chdir() or fchdir() functions will affect every other thread in that process. 

AES Support Level:
Full use chdir() only

RETURN VALUES

Upon successful completion, the chdir() function returns a value of 0 (zero).  Otherwise, a value of -1 is returned and errno is set to indicate the error. 

ERRORS

If the chdir() function fails, the current directory remains unchanged and errno may be set to one of the following values:

[EACCES]Search access is denied for any component of the pathname. 

[ELOOP]Too many symbolic links were encountered in translating the pathname. 

[EFAULT]The path parameter points outside the process’s allocated address space. 

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

[ENOENT]The named directory does not exist, or is an empty string. 

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

[ENAMETOOLONG]
The length of the path argument exceeds PATH_MAX or a pathname component is longer than NAME_MAX. 

If the fchdir() function fails, the current directory remains unchanged and errno may be set to one of the following values:

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

[EBADF]The filedes parameter is not a valid open file descriptor. 

RELATED INFORMATION

Functions: chroot(2)

Commands: cd(1)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026