NAME

     rmdir - delete a directory


SYNOPSIS

     #include <unistd.h>

     int rmdir(const char *pathname));


DESCRIPTION

     rmdir deletes a directory, which must be empty.


RETURN VALUE

     On success, zero is returned.  On error, -1 is returned, and
     errno is set appropriately.


ERRORS

     EPERM   The filesystem containing pathname does not  support
             the removal of directories.

     EFAULT  pathname  points  outside  your  accessible  address
             space.

     EACCES  Write access to the  directory  containing  pathname
             was  not allowed for the process's effective uid, or
             one of the directories in  pathname  did  not  allow
             search (execute) permission.

     EPERM   The directory containing pathname has the sticky-bit
             (S_ISVTX)  set  and  the  process's effective uid is
             neither the uid of the file to be deleted  nor  that
             of the directory containing it.

     ENAMETOOLONG
             pathname was too long.

     ENOENT  A directory component in pathname does not exist  or
             is a dangling symbolic link.

     ENOTDIR pathname, or a component  used  as  a  directory  in
             pathname, is not, in fact, a directory.

     ENOTEMPTY
             pathname contains entries other than . and .. .

     EBUSY   pathname is the current working  directory  or  root
             directory of some process.

     ENOMEM  Insufficient kernel memory was available.

     EROFS   pathname refers to a file on a read-only filesystem.

     ELOOP   Too  many  symbolic  links   were   encountered   in
             resolving pathname.


CONFORMING TO

     SVr4, SVID, POSIX, BSD 4.3


BUGS

     Infelicities in the protocol underlying NFS  can  cause  the
     unexpected  disappearance  of  directories  which  are still
     being used.


SEE ALSO

     rename(2), mkdir(2), chdir(2), rmdir(1), rm(1)