Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ connld(7) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

streamio(7)

connld(7)                                                         connld(7)

NAME
     connld - Leitungsprozedur für eindeutige Stream-Verbindungen

BESCHREIBUNG
     connld ist ein Modul unter STREAMS, das eindeutige Verbindungen zwi-
     schen Server- und Client-Prozessen bietet. Es kann nur in ein Ende
     einer Pipe unter STREAMS eingeklinkt werden [siehe streamio(7)], dem
     hinterher ein Name aus dem Namensraum des Dateisystems zugeordnet wer-
     den kann. Nachdem das Pipe-Ende einen Namen erhalten hat, wird intern
     eine neue Pipe erzeugt, wenn ein Prozeß versucht, ein open(2) oder
     creat(2) für den Dateisystem-Knoten auszuführen. Eine Dateikennzahl
     für ein Ende der neuen Pipe wird in eine Nachricht gepackt, die zu der
     Nachricht identisch ist, die für den ioctl-Aufruf ISENDFD erzeugt
     wird [siehe streamio(7)]. Diese Nachricht wird dann an den Server-
     Prozeß am anderen Ende übertragen. Der aufrufende Prozeß blockiert,
     bis der Server antwortet.

     Der Server antwortet auf die ISENDFD-Anforderung, indem er die Datei-
     kennzahl durch eine IRECVFD-ioctl-Nachricht akzeptiert. Wenn dies
     geschieht, dann wird die Dateikennzahl, die dem anderen Ende der neuen
     Pipe zugeordnet ist, als die von open(2) oder creat(2) zurückgelie-
     ferte Dateikennzahl an den aufrufenden Prozeß übertragen.

     Antwortet der Server nicht auf die ISENDFD-Anforderung, dann arbeitet
     der Stream, in den das Modul connld eingeklinkt worden ist, nur noch
     in eine Richtung, da der Server solange nicht in der Lage ist, irgend-
     welche Daten aus dem Stream zu lesen, solange nicht die IRECVFD-An-
     forderung erfolgt ist. Wenn sich der Server-Prozeß vor dem Aufruf von
     IRECVFD beendet, dann schlägt der open(2)- oder creat(2)-Systemaufruf
     fehl und liefert das Ergebnis -1 an den aufrufenden Prozeß.

     Wenn das Modul connld in eine Pipe eingeklinkt wird, dann werden Nach-
     richten, die auf der Pipe hin- und herfließen, von connld ignoriert.

     Bei Erfolgt liefert ein Öffnen von connld den Wert 0. Im Fehlerfall
     wird errno auf einen der folgenden Werte gesetzt:

     EINVAL    Der Stream, in den connld eingeklinkt wird, ist keine Pipe
               oder die Pipe besitzt keinen Schreib-Warteschlangen-Zeiger,
               der auf eine Lese-Warteschlange eines Stream-Kopfs zeigt.

     EINVAL    Das andere Ende der Pipe, in die connld eingeklinkt wird,
               ist unter einem Multiplexer angebunden.

     EPIPE     connld wird in eine Pipe eingeklinkt, deren anderes Ende
               nicht länger existiert.

     ENOMEM    Es konnte keine interne Pipe erzeugt werden.

     ENXIO     Eine MHANGUP-Nachricht befindet sich beim Stream-Kopf der
               Pipe, in die connld eingeklinkt wird.




Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

connld(7)                                                         connld(7)

     EAGAIN    Interne Datenstrukturen konnten nicht reserviert werden.

     ENFILE    Es konnte kein Eintrag in der Dateitabelle reserviert wer-
               den.

SIEHE AUCH
     streamio(7).

     Leitfaden für Programmierer: STREAMS













































Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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