rmdir(2)rmdir(2)Namermdir - remove a directory file
Syntaxrmdir(path)
char *path;
Description
The system call removes a directory file whose name is given by path.
The directory must not have any entries other than dot (.) and dot-dot
(..).
If one or more processes have the directory open when the last link is
removed, the dot and dot-dot entries, if present, are removed before
returns and no new entries may be created in the directory. The direc‐
tory, however, is not removed until all references to the directory
have been closed.
Return Values
A zero (0) is returned if the remove succeeds; otherwise, a -1 is
returned, and an error code is stored in the global location errno.
Diagnostics
The named file is removed unless one or more of the following are true:
[ENOTEMPTY] The named directory contains files other than dot and
dot-dot.
[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.
[ENOTDIR] A component of the path is not a directory.
[ENOENT] The named directory does not exist or path points to an
empty string and the environment defined is POSIX or
SYSTEM_FIVE.
[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.
[EBUSY] The directory to be removed is the mount point for a
mounted file system.
[EROFS] The directory entry to be removed resides on a read-only
file system.
[EFAULT] The path points outside the process's allocated address
space.
[ELOOP] Too many symbolic links were encountered in translating
the pathname.
[ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an
entire pathname exceeded 1023 characters.
[EIO] An I/O error occurred while deleting the directory entry
or deallocating the inode.
[ETIMEDOUT] A connect request or remote file operation failed
because the connected party did not properly respond
after a period of time that is dependent on the communi‐
cations protocol.
See Alsomkdir(2), unlink(2)rmdir(2)