Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fdetach(1M)

fdetach(3C)

isastream(3C)

stropts(5)

streamio(7)

fattach(3C)                                                     fattach(3C)

NAME
     fattach - Einem Objekt im Namensraum des Dateisystems eine Dateikenn-
     zahl unter STREAMS zuordnen

SYNTAX
     #include <stropts.h>

     int fattach(int fildes, const char *path);

BESCHREIBUNG
     Die Funktion fattach ordnet einem Objekt im Namensraum des Dateisy-
     stems eine Dateikennzahl unter STREAMS zu, wobei fildes ein Name
     zugeordnet wird. fildes muß eine gültige, offene Dateikennzahl sein,
     die für eine STREAMS-Datei steht. path ist ein Pfadname eines existie-
     renden Objekts, dessen Eigentümer mit Schreibberechtigung der Benutzer
     sein muß. Alternativ dazu kann der Benutzer auch besondere Rechte
     besitzen. Alle nachfolgenden Operationen auf path arbeiten mit der
     STREAMS-Datei, solange, bis die Zuordnung der STREAMS-Datei zum Knoten
     aufgehoben wird. fildes kann mehr als einem Pfad zugeordnet sein,
     d. h. der Dateikennzahl können mehrere Namen zugeordnet sein.

     Die Attribute des benannten Streams werden folgendermaßen initiali-
     siert [siehe auch stat(2)]: Zugriffsrechte, Benutzer- und Gruppen-ID
     sowie die Dateizeiten werden gleich denen von path, die Anzahl der
     Verweise wird gleich 1 und Größe und Geräte-Identifikation werden
     gleich den Werten gesetzt, die das STREAMS-Gerät zu fildes besitzt.
     Werden irgendwelche Attribute des benannten Streams anschließend geän-
     dert [z. B. mit chmod(2)], dann werden die Attribute des zugrundelie-
     genden Objekts davon nicht beeinflußt.

ERGEBNIS
     Ist die Funktion fattach() erfolgreich, liefert sie den Wert 0 als
     Ergebnis zurück; andernfalls liefert sie -1 zurück und setzt errno, um
     den Fehler anzuzeigen.

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

     Unter den folgenden Bedingungen schlägt die Funktion fattach() fehl
     und setzt errno auf den entsprechenden Wert:

     EACCES        Für eine Komponente der Pfadangabe wurde keine Suchbe-
                   rechtigung erteilt, oder der Prozeß ist zwar der Eigen-
                   tümer von path, verfügt jedoch nicht über die Schreibbe-
                   rechtigung für die durch path angegebene Datei.

     EBADF         fildes ist keine gültige, offene Dateikennzahl.

     ENOENT        Eine Komponente von path gibt eine nicht vorhandene
                   Datei an, oder path ist eine leere Zeichenkette.



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

fattach(3C)                                                     fattach(3C)

     ENOTDIR       Eine Komponente der Pfadnamenangabe ist kein Verzeich-
                   nis.

     EINVAL        fildes stellt keine STREAMS-Datei dar.

     EPERM         Die effektive Benutzer-ID ist nicht die des Eigentümers
                   von path oder eines Benutzers mit besonderen Rechten.

     EBUSY         path ist derzeit ein Einhängepunkt oder diesem Pfad ist
                   eine STREAMS-Datei zugeordnet.

     ENAMETOOLONG  Die Länge von path überschreitet PATHMAX, oder die Kom-
                   ponente eines Pfadnamens ist länger als NAMEMAX, wäh-
                   rend POSIXNOTRUNC aktiv ist.

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

     EREMOTE       path ist eine Datei in einem von fern eingehängten Ver-
                   zeichnis.

     Die Funktion fattach() kann bei folgenden Bedingungen fehlschlagen:

     EINVAL        Das Argument fildes verweist nicht auf eine STREAMS-
                   Datei.

     ENAMETOOLONG  Die Auflösung des Pfadnamens eines symbolischen Links
                   hat ein Zwischenergebnis erzeugt, dessen Länge PATHMAX
                   überschreitet.

ANWENDUNGSZWECK
     Die Funktion fattach() verhält sich ähnlich wie die herkömmliche Funk-
     tion mount(2), da auch hier eine Datei vorübergehend durch das Root-
     Verzeichnis des eingehängten Dateisystems ersetzt wird. Bei fattach()
     muß die ersetzte Datei kein Verzeichnis sein und die diese Datei
     ersetzende Datei ist eine STREAMS-Datei.

SIEHE AUCH
     fdetach(1M), fdetach(3C), isastream(3C), stropts(5), streamio(7).















Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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