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

FreeBSD Manual Pages

  
 
  

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

NAME
     rmdir -- remove a directory file

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <unistd.h>

     int
     rmdir(const char *path);

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

RETURN VALUES
     The rmdir() function returns the  value  0  if  successful;  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 255 characters, or an
			entire path name exceeded 1023 characters.

     [ENOENT]		The named directory does not exist.

     [ELOOP]		Too many symbolic links were encountered in  translating
			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 link to be removed.

     [EPERM]		The directory to  be  removed  has  its  immutable,  un-
			deletable  or  append-only  flag set, see the chflags(2)
			manual page for more information.

     [EPERM]		The parent directory of the directory to be removed  has
			its immutable or append-only flag set.

     [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 effective
			user ID.

     [EINVAL]		The last component of the path is `.' or `..'.

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

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

     [EINTEGRITY]	Corrupted  data was detected while reading from the file
			system.

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

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

SEE ALSO
     mkdir(2), unlink(2)

HISTORY
     The rmdir() system call appeared in 4.2BSD.

FreeBSD ports 15.quarterly	 March 30, 2020 			RMDIR(2)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rmdir&sektion=2&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help