Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mkfifo(3C) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mkdir(1)

chmod(2)

exec(2)

mknod(2)

umask(2)

fs(4)

stat(5)

types(5)

mkfifo(3C)                                                       mkfifo(3C)

NAME
     mkfifo - Neue FIFO-Gerätedatei erzeugen

SYNTAX
     #include <sys/types.h>
     #include <sys/stat.h>

     int mkfifo(const char *path, modet mode);

BESCHREIBUNG
     Die Routine mkfifo() erzeugt eine neue FIFO-Gerätedatei unter dem
     Pfadnamen path. Der Modus der neuen FIFO-Gerätedatei wird aus mode
     übernommen. Die Zugriffsrechte aus dem Argument mode werden von der
     Dateierzeugungsmaske des Prozesses modifiziert [siehe umask(2)].

     Werden in mode andere Bits als die für die Dateizugriffsrechte
     gesetzt, sind die Auswirkungen von der jeweiligen Implementierung
     abhängig.

     Die Eigentümer-ID der FIFO-Gerätedatei wird auf die effektive
     Benutzer-ID des Prozesses gesetzt. Die Gruppen-ID der FIFO-Gerätedatei
     wird auf die effektive Gruppen-ID des Prozesses gesetzt; ist das
     SISGID-Bit im übergeordneten Verzeichnis gesetzt, dann wird die
     Gruppen-ID des FIFOs vom übergeordneten Verzeichnis übernommen.

     Nach erfolgreicher Ausführung kennzeichnet mkfifo() die Felder
     statime, stctime und stmtime der Datei zur Aktualisierung. Auch die
     Felder stctime und stmtime des Verzeichnisses, das den neuen Eintrag
     enthält, werden zur Aktualisierung gekennzeichnet.

     mkfifo() ruft den Systemaufruf mknod() auf, um die Datei zu erzeugen.

FEHLER
     Die folgenden Beschreibungen der Fehlercodes sind funktionsspezifisch.
     Eine allgemeingültige Beschreibung finden Sie in introprm2(2) bzw. in
     errno(5).

     mkfifo() [bzw. mknod()] schlägt fehl und erstellt keine neue Datei,
     wenn einer der folgenden Punkte wahr ist:

     EACCES        Entweder darf eine Komponente des Pfads nicht durchsucht
                   werden, oder die Schreibberechtigung für das übergeord-
                   nete Verzeichnis der neu zu erstellenden FIFO-Geräteda-
                   tei wird verweigert.

     EEXIST        Die angegebene Datei ist bereits vorhanden.

     ELOOP         Bei der Auflösung von path wurden zuviele symbolische
                   Links angetroffen.






Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

mkfifo(3C)                                                       mkfifo(3C)

     ENAMETOOLONG  Die Länge des Arguments path überschreitet PATHMAX,
                   oder die Länge einer Komponente von path überschreitet
                   NAMEMAX.

     ENOSPC        Das Verzeichnis, das die neue Datei enthalten soll, kann
                   nicht erweitert werden, oder das Dateisystem verfügt
                   nicht mehr über genügend Ressourcen für die Dateizuord-
                   nung.

     ENOTDIR       Eine Komponente des Pfadpräfixes ist kein Verzeichnis.

     ENOENT        Eine Komponente des Pfadpräfixes existiert nicht oder
                   ist ein leerer Pfadname.

     EROFS         Das Verzeichnis, in dem die Datei erstellt werden soll,
                   befindet sich in einem Dateisystem, das nur gelesen wer-
                   den kann.

     Die Funktion mkfifo() 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 der Wert 0 zurückgeliefert. Anson-
     sten wird -1 zurückgeliefert und errno gesetzt, um den Fehler anzuzei-
     gen.

HINWEISE
     Enthält mode andere gesetzte Bits, welche nicht die Dateizugriffs-
     rechte regeln, so werden diese ignoriert.

SIEHE AUCH
     mkdir(1), chmod(2), exec(2), mknod(2), umask(2), fs(4), stat(5),
     types(5).


















Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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