HPlogo HP-UX Reference Volume 3 of 5 > c

chdir(2)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

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

cd(1), chroot(2).

STANDARDS CONFORMANCE

chdir(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1

© Hewlett-Packard Development Company, L.P.