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

FreeBSD Manual Pages

  
 
  

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

NAME
     rmdir -- remove a directory file

SYNOPSIS
     #include <unistd.h>

     int
     rmdir(const char *path);

DESCRIPTION
     rmdir() removes a directory file whose name is given by path.  The	direc-
     tory must not have	any entries other than `.' and `..'.

     There is no rmdirat() function; to	remove a directory with	a path rela-
     tive to the directory associated with a file descriptor use the
     unlinkat(2) function with the AT_REMOVEDIR	flag.

RETURN VALUES
     Upon successful completion, the value 0 is	returned; otherwise the
     value -1 is returned and the global variable errno	is set to indicate the
     error.

ERRORS
     The named file is removed unless:

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

     [ENAMETOOLONG]	A component of a pathname exceeded NAME_MAX charac-
			ters, or an entire pathname (including the terminating
			NUL) exceeded PATH_MAX bytes.

     [ENOENT]		The named directory does not exist.

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

     [ENOTEMPTY]	The named directory contains files other than `.' and
			`..' in	it.

     [EACCES]		Search permission is denied for	a component of the
			path prefix.

     [EACCES]		Write permission is denied on the directory containing
			the directory to be removed.

     [EPERM]		The directory containing the directory to be removed
			is marked sticky, and neither the containing directory
			nor the	directory to be	removed	are owned by the ef-
			fective	user ID.

     [EPERM]		The directory to be removed or the directory contain-
			ing it has its immutable or append-only	flag set (see
			chflags(2)).

     [EBUSY]		The directory to be removed is the mount point for a
			mounted	file system.

     [EINVAL]		The last path element of the directory to be removed
			consists of `.'.

     [EIO]		An I/O error occurred while deleting the directory en-
			try or deallocating the	inode.

     [EROFS]		The directory entry to be removed resides on a read-
			only file system.

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

SEE ALSO
     rmdir(1), chflags(2), mkdir(2), unlink(2)

STANDARDS
     rmdir() function conforms to IEEE Std 1003.1-2008 ("POSIX.1").

HISTORY
     The rmdir() function call appeared	in 4.1cBSD.

FreeBSD	13.0		       January 11, 2019			  FreeBSD 13.0

NAME | 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=rmdir&sektion=2&manpath=OpenBSD+6.9>

home | help