fchdir — change working directory
#include <unistd.h>
int fchdir(int fildes);
The fchdir() function shall be equivalent to chdir() except that the directory that is to be the new current working directory is specified by the file descriptor fildes.
A conforming application can obtain a file descriptor for a file of type directory using open(), provided that the file status flags and access modes do not contain O_WRONLY or O_RDWR.
Upon successful completion, fchdir() shall return 0. Otherwise, it shall return -1 and set errno to indicate the error. On failure the current working directory shall remain unchanged.
The fchdir() function shall fail if:
- [EACCES]
- Search permission is denied for the directory referenced by fildes.
- [EBADF]
- The fildes argument is not an open file descriptor.
- [ENOTDIR]
- The open file descriptor fildes does not refer to a directory.
The fchdir() may fail if:
- [EINTR]
- A signal was caught during the execution of fchdir().
- [EIO]
- An I/O error occurred while reading from or writing to the file system.
None.
None.
None.
None.
XBD <unistd.h>
First released in Issue 4, Version 2.
Moved from X/OPEN UNIX extension to BASE.
The fchdir() function is moved from the XSI option to the Base.
return to top of page