Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CHDIR(2)		  FreeBSD System Calls Manual		      CHDIR(2)

NAME
     chdir, fchdir -- change current working directory

LIBRARY
     Standard C	Library	(libc, -lc)

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:

     [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 file system.

     [ELOOP]		Too many symbolic links	were encountered in translat-
			ing the	pathname.

     [ENAMETOOLONG]	A component of a pathname exceeded {NAME_MAX} charac-
			ters, or an entire path	name exceeded {PATH_MAX} char-
			acters.

     [ENOENT]		The named directory does not exist.

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

     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 refer-
			enced by the file descriptor.

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

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

     [EPERM]		The argument fd	references a directory which is	not at
			or below the current process's root directory.

SEE ALSO
     chroot(2),	getcwd(3)

STANDARDS
     The chdir() function conforms to ISO/IEC 9945-1:1990 ("POSIX.1").

HISTORY
     A chdir() function	call appeared in Version 1 AT&T	UNIX.  The fchdir()
     function call appeared in 4.2BSD.

FreeBSD	13.0		       September 1, 2019		  FreeBSD 13.0

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=chdir&sektion=2&manpath=NetBSD+9.2>

home | help