RMDIR(2)

BEZEICHNUNG
rmdir - entferne ein Verzeichnis

ÜBERSICHT
#include <unistd.h>

int rmdir(const char *pathname);

BESCHREIBUNG
rmdir entfernt ein Verzeichnis, das leer sein muss.

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

FEHLER

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

EFAULT
    pathname zeigt außerhalb des erreichbaren Adressraumes

EACCES
    Schreibzugriff auf das Verzeichnis, welches pathname enthält, 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ält, 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ält.

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ält 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).