Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rmdir(2) — bsd — Apollo Domain/OS SR10.4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mkdir(2)

unlink(2)

RMDIR(2)                             BSD                              RMDIR(2)



NAME
     rmdir - remove a directory file

SYNOPSIS
     int rmdir(path)
     const char *path;

DESCRIPTION
     rmdir removes a directory file whose name is given by path. The directory
     must not have any entries other than dot (.) and dot-dot (..).

     If the final component of the path argument names a symbolic link, rmdir
     fails.

     If the directory's link count becomes 0 (zero) and no process has the
     directory open, the space occupied by the directory is freed and the
     directory is no longer accessible.  If one or more processes have the
     directory open when the last link is removed, the . (dot) and .. (dot-
     dot) entries, if present, are removed before the rmdir function returns,
     and no new entries may be created in the directory.  However, the
     directory is not removed until all references to the directory have been
     closed.

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]   A component of a pathname exceeded 255 characters, or an
                      entire pathname exceeded 1023 characters.

     [ENOENT]         The named directory does not exist or path points to an
                      empty string.

     [ELOOP]          Too many symbolic links were encountered in translating
                      the pathname.

     [ENOTEMPTY]      The named directory contains files other than dot (.)
                      and dot-dot (..) 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.

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

     [ENOTDIR]        The last component of the specified pathname is a
                      symbolic link.

SEE ALSO
     mkdir(2), unlink(2)

DIAGNOSTICS
     A 0 is returned if the remove succeeds; otherwise, a -1 is returned and
     an error code is stored in the global location errno.

NOTES
     The following errors, not returned under Domain/OS BSD, may be returned
     under other implementations:

     [EINVAL]         The pathname contains a character with the high-order
                      bit set.

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026