fdetach(3C) fdetach(3C)
NAME
fdetach - Zuordnung eines Namens zu einer Dateikennzahl unter STREAMS
aufheben
SYNTAX
#include <stropts.h>
int fdetach(const char *path);
BESCHREIBUNG
Die Funktion fdetach() hebt die Zuordnung einer Dateikennzahl unter
STREAMS zu einem Namen im Dateisystem auf. path ist der Pfadname des
Objekts im Namensraum des Dateisystems, dem vorher die Dateikennzahl
zugeordnet wurde [siehe fattach(3C)]. Der Benutzer muß der Eigentümer
der Datei oder ein Benutzer mit besonderen Rechten sein. Alle nachfol-
genden Operationen auf path arbeiten mit dem Knoten im Dateisystem und
nicht mit der STREAMS-Datei. Die Zugriffsrechte und der Zustand des
Knotens werden so wiederhergestellt, wie sie vor der Zuordnung bestan-
den.
Alle offenen Dateideskriptoren, die während der Zuordnung der
STREAMS-Datei zu der Datei, auf die path verweist, eingerichtet wur-
den, verweisen auch noch nach dem Aufheben der Zuordnung durch
fdetach() auf die STREAMS-Datei.
Wenn keine offenen Dateideskriptoren oder andere Verweise auf die
STREAMS-Datei vorhanden sind, hat ein erfolgreicher Aufruf von
fdetach() denselben Effekt wie die Ausführung des letzten close()-
Aufrufs für die zugeordnete Datei.
ERGEBNIS
Bei Erfolg liefert die Funktion fdetach() den Wert 0 zurück; andern-
falls liefert sie den Wert -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 fdetach() fehl
und setzt errno auf den Wert:
EACCES Für eine Komponente in der Pfadangabe wurde keine Such-
berechtigung erteilt.
EPERM Die effektive Benutzer-ID ist nicht die des Eigentümers
von path oder eines Benutzers mit besonderen Rechten.
ENOTDIR Eine Komponente in der Pfadangabe ist kein Verzeichnis.
ENOENT path existiert nicht.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
fdetach(3C) fdetach(3C)
EINVAL path ist keiner STREAMS-Datei zugeordnet.
ENAMETOOLONG Die Länge von path überschreitet PATHMAX, oder eine
Komponente des Pfadnamens ist länger als NAMEMAX, wäh-
rend POSIXNOTRUNC aktiv ist.
ELOOP Bei der Auflösung von path wurden zuviele symbolische
Links gefunden.
Die Funktion fdetach() kann bei folgender Bedingung fehlschlagen:
ENAMETOOLONG Die Auflösung des Pfadnamens eines symbolischen Links
hat ein Zwischenergebnis erzeugt, dessen Länge PATHMAX
überschreitet.
SIEHE AUCH
fdetach(1M), fattach(3C), stropts(5), streamio(7).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98