mkdir(2) mkdir(2)
NAME
mkdir - Verzeichnis erstellen
SYNTAX
#include <sys/types.h>
#include <sys/stat.h>
int mkdir(const char *path, modet mode);
BESCHREIBUNG
mkdir() erstellt ein neues Verzeichnis mit dem Namen path. Der Modus
des neuen Verzeichnisses wird mit mode [siehe chmod(2) für mögliche
Werte für Modus] initialisiert. Der Schutzbitteil des Arguments mode
wird durch die Dateimaske des Prozesses verändert [siehe umask(2)].
Die Eigentümer-ID des Verzeichnisses wird auf die effektive Benutzer-
ID des Prozesses gesetzt. Die Gruppen-ID des Verzeichnisses wird auf
die effektive Gruppen-ID des Prozesses gesetzt, oder die Gruppen-ID
dieses Verzeichnisses wird geerbt, wenn das Bit SISGID im übergeord-
neten Verzeichnis gesetzt ist. Das Bit SISGID des neuen Verzeichnis-
ses wird vom übergeordneten Verzeichnis übernommen.
Wenn path ein symbolischer Link ist, wird er nicht verwendet.
Das neu erzeugte Verzeichnis ist mit Ausnahme der Einträge für sich
selbst und für sein übergeordnetes Verzeichnis leer.
Nach erfolgreicher Ausführung kennzeichnet mkdir() die Felder
statime, stctime und stmtime des Verzeichnisses zur Aktualisierung.
Auch die Felder stctime und stmtime des Verzeichnisses, das den
neuen Eintrag enthält, werden zur Aktualisierung gekennzeichnet.
FEHLER
Die folgenden Beschreibungen der Fehlercodes sind funktionsspezifisch.
Eine allgemeingültige Beschreibung finden Sie in introprm2(2) bzw. in
errno(5).
mkdir() schlägt fehl und erzeugt kein Verzeichnis, wenn eine oder meh-
rere der folgenden Bedingungen erfüllt sind:
EACCES Entweder darf eine Komponente des Pfades nicht durch-
sucht werden, oder die Schreiberlaubnis für das über-
geordnete Verzeichnis des neu zu erstellenden Verzeich-
nisses wird verweigert.
EEXIST Die angegebene Datei ist bereits vorhanden.
EFAULT path weist über den zugewiesenen Adreßraum des Prozesses
hinaus.
EIO Während des Zugriffs auf das Dateisystem ist ein E/A-
Fehler aufgetreten.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
mkdir(2) mkdir(2)
ELOOP Bei der Auflösung von path wurden zuviele symbolische
Links angetroffen.
EMLINK Die Höchstzahl LINKMAX von Links auf das übergeordnete
Verzeichnis wurde überschritten.
EMULTIHOP Die Komponenten von path erfordern den Sprung auf meh-
rere ferne Rechner, und der Dateisystemtyp läßt dies
nicht zu.
ENAMETOOLONG Die Länge des Arguments path überschreitet PATHMAX,
oder die Länge einer path-Komponente überschreitet
NAMEMAX.
ENOENT Eine Komponente des Pfades ist nicht vorhanden oder ist
ein leerer Pfadname.
ENOLINK path weist auf einen fernen Rechner, und die Verbindung
zu diesem Rechner ist nicht mehr aktiv.
ENOSPC Auf dem Gerät, das das Verzeichnis enthält, ist kein
freier Platz verfügbar.
ENOTDIR Eine Pfadkomponente ist kein Verzeichnis.
EROFS Die angegebene Datei steht in einem schreibgeschützten
Dateisystem.
Die Funktion mkdir() kann bei folgender Bedingung fehlschlagen:
ENAMETOOLONG Die Auflösung des Pfadnamens eines symbolischen Links
hat ein Zwischenergebnis erzeugt, dessen Länge PATHMAX
überschreitet.
ERGEBNIS
Nach erfolgreicher Ausführung wird 0 zurückgegeben. Andernfalls wird
-1 zurückgegeben, und errno wird zur Anzeige des Fehlers gesetzt.
SIEHE AUCH
chmod(2), mknod(2), umask(2), stat(5), types(5).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98