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.