chdir

OS/161 Reference Manual

Name

chdir - change current directory

Library

Standard C Library (libc, -lc)

Synopsis

#include <unistd.h>

int
chdir(const char *pathname);

Description

The current directory of the current process is set to the directory named by pathname.

chdir (like all system calls) should be atomic. Note that the kernel is not obliged to (and generally cannot) make the chdir call atomic with respect to other threads in the same process accessing the pathname string during the operation.

Return Values

On success, chdir returns 0. On error, -1 is returned, and errno is set according to the error encountered.

Errors

The following error codes should be returned under the conditions given. Other error codes may be returned for other errors not mentioned here.
  ENODEV The device prefix of pathname did not exist.
ENOTDIR A non-final component of pathname was not a directory.
ENOTDIR pathname did not refer to a directory.
ENOENT pathname did not exist.
EIO A hard I/O error occurred.
EFAULT pathname was an invalid pointer.