NAME
rmdir
- remove a directory file
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
int
rmdir(const char *path)
DESCRIPTION
rmdir()
removes a directory file
whose name is given by
path.
The directory must not have any entries other
than
`.'
and
`..'.
RETURN VALUES
A 0 is returned if the remove succeeds; otherwise a -1 is
returned and an error code is stored in the global location
errno.
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}
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.
- [
ENOTEMPTY] -
The named directory contains files other than
`.'
and
`..'
in it.
- [
EACCES] -
Search permission is denied for a component of the path prefix, or
write permission is denied on the directory containing the link
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 effective user ID.
- [
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.
- [
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
mkdir(2),
unlink(2)
STANDARDS
The
rmdir()
function conforms to
ISO/IEC 9945-1:1990 (``POSIX.1'') .
HISTORY
The
rmdir()
function call appeared in
4.2BSD.