MirBSD manpage: chdir(2), fchdir(2)

CHDIR(2)                   BSD Programmer's Manual                    CHDIR(2)

NAME

     chdir, fchdir - change current working directory

SYNOPSIS

     #include <unistd.h>

     int
     chdir(const char *path);

     int
     fchdir(int fd);

DESCRIPTION

     The path argument points to the pathname of a directory. The chdir()
     function causes the named directory to become the current working direc-
     tory, that is, the starting point for path searches of pathnames not be-
     ginning with a slash ('/').

     The fchdir() function causes the directory referenced by fd to become the
     current working directory, the starting point for path searches of path-
     names not beginning with a slash ('/').

     In order for a directory to become the current directory, a process must
     have execute (search) access to the directory.

RETURN VALUES

     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() will fail and the current working directory will be unchanged if
     one or more of the following are true:

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

     [ENAMETOOLONG]
                   A component of a pathname exceeded {NAME_MAX} characters,
                   or an entire path name exceeded {PATH_MAX} characters.

     [ENOENT]      The named directory does not exist.

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

     [EACCES]      Search permission is denied for any component of the path-
                   name.

     [EFAULT]      path points outside the process's allocated address space.

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

     fchdir() will fail and the current working directory will be unchanged if
     one or more of the following are true:

     [EACCES]      Search permission is denied for the directory referenced by
                   the file descriptor.

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

     [EBADF]       The argument fd is not a valid file descriptor.

SEE ALSO

     chroot(2)

STANDARDS

     The chdir() is expected to conform to IEEE Std 1003.1-1988 ("POSIX.1").

HISTORY

     The fchdir() function call appeared in 4.2BSD.

MirBSD #10-current            December 11, 1993                              1

Generated on 2020-05-24 22:24:40 by $MirOS: src/scripts/roff2htm,v 1.101 2020/05/03 18:46:23 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2020 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.