RMDIR(2)

BEZEICHNUNG
rmdir - entferne ein Verzeichnis

ÜBERSICHT
#include <unistd.h>

int rmdir(const char *pathname);

BESCHREIBUNG
rmdir entfernt ein Verzeichnis, das leer sein muß.

RÜCKGABEWERT
Bei Erfolg wird 0 zurückgegeben, bei einem Fehler -1 und errno wird entsprechend gesetzt.

FEHLER

EPERM
    Das Dateisystem, was pathname enthällt, unterstützt das Entfernen von Verzeichnissen nicht.

EFAULT
    pathname zeigt außerhalb des erreichbaren Adreßraumes

EACCES
    Schreibzugriff auf das Verzeichnis, welches pathname enthällt, ist für die effektive UID des Prozesses nicht erlaubt, oder eines der Verzeichnisse in pathname gibt kein Durchsuch-Rechte (execute) .

EPERM
    Das Verzeichnis, welches pathname enthällt, hat das Sticky-Bit (S_ISVTX) gesetzt und die effektive UID des Prozesses ist weder die UID der Datei, die gelöscht werden soll, noch die des Verzeichnisses, das sie enthällt.

ENAMETOOLONG
    pathname ist zu lang.

ENOENT
    Ein Teil des Verzeichnisses in pathname existiert nicht, oder ist ein kaputter symbolischer Link.

ENOTDIR
    pathname, oder ein als Verzeichnis benutzter Teil von pathname, ist kein Verzeichnis.

ENOTEMPTY
    pathname enthällt andere Einträge als . und .. (das Verzeichnis ist nicht leer).

EBUSY
    pathname ist das aktuelle Verzeichnis oder das Stammverzeichnis eines Prozesses.

ENOMEM
    Nicht genug Kernelspeicher vorhanden.

EROFS
    pathname verweist auf eine Datei auf einem nur-lesbaren Dateisystem.

ELOOP
    Zu viele symbolische Links beim Auflösen von pathname.

KONFORM ZU
SVr4, SVID, POSIX, BSD 4.3

BUGS
Bestimmte Zustände in dem Protokoll, welchem NFS unterliegt, können dazu führen, dass Verzeichnisse, die noch benutzt werden, unerwartet verschwinden.

SIEHE AUCH
rename(2), mkdir(2), chdir(2), unlink(2), rmdir(1), rm(1).