rmdir(2)



NAME

     rmdir - remove a directory file


SYNOPSIS

     #include <unistd.h>

     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 VALUE

     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 one or more of the following are true:

     [ENOTDIR]      A component of the path is not a directory.

     [ENAMETOOLONG] The path name exceeds PATH_MAX characters.

     [ENOENT]       The named directory does not exist.

     [ELOOP]        Too many symbolic links were  encountered  in  translating
                    the pathname.  (Minix-vmd)

     [ENOTEMPTY]    The named directory contains files other  than  ``.''  and
                    ``..'' in it.

     [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.

     [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).