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 filesys­
              tem.



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), unlink(2), rmdir(1), rm(1)