Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ tirdwr(7) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getmsg(2)

putmsg(2)

read(2)

write(2)

streamio(7)

timod(7)

tirdwr(7)                                                         tirdwr(7)

NAME
     tirdwr - STREAMS-Modul für die TI-Schreib-/Lese-Schnittstelle

BESCHREIBUNG
     tirdwr ist ein STREAMS-Modul, das eine weitere Schnittstelle zu einem
     Transport-Anbieter, der die Funktionen der Transport-Schnittstelle
     (Transport Interface, TI) aus der Netzdienste-Bibliothek (Network Ser-
     vices Library) unterstützt, zur Verfügung stellt. Diese alternative
     Schnittstelle erlaubt es einem Benutzer, mit dem Transport-Protokoll-
     Anbieter über die Systemaufrufe read(2) und write(2) zu kommunizieren.
     Auch die Systemaufrufe putmsg(2) und getmsg(2) können benutzt werden.
     Allerdings können putmsg und getmsg nur Datennachrichten zwischen
     einem Benutzer und einem Stream übertragen.

     Das tirdwr-Modul darf nur in einen Stream eingeklinkt werden [siehe
     IPUSH in streamio(7)], der bei einem Transport-Protokoll-Anbieter
     endet, der seinerseits das TI unterstützt. Nach dem Einklinken des
     tirdwr-Moduls in einen Stream kann keine der Funktionen der Trans-
     port-Schnittstelle verwendet werden. Nachfolgende Aufrufe von TI-
     Funktionen verursachen einen Fehler im Stream. Nachdem dieser Fehler
     entdeckt worden ist, liefern anschließende Systemaufrufe für den
     Stream einen Fehler, wobei errno gleich EPROTO gesetzt ist.

     Es folgen die Aktionen, die das Modul tirdwr ausführt, wenn es in den
     Stream eingeklinkt oder aus diesem ausgeklinkt wird [siehe IPOP in
     streamio(7)], oder wenn Daten durch dieses Modul fließen.

     Einklinken (push)
          Wenn das Modul in einen Stream eingeklinkt wird, dann prüft es
          alle für den Benutzer bestimmten existierenden Daten, um sicher-
          zustellen, daß nur reguläre Datennachrichten vorhanden sind. Es
          ignoriert alle Nachrichten im Stream, die sich auf die Prozeß-
          Verwaltung beziehen, wie z. B. Nachrichten, die Signale für die
          dem Stream zugeordneten Benutzer-Prozesse erzeugen. Sind andere
          Nachrichten vorhanden, dann kehrt IPUSH mit einem Fehler zurück
          und errno ist gleich EPROTO.

     Schreiben (write)
          Das Modul führt die folgenden Aktionen auf Daten aus, die von
          einem write-Systemaufruf stammen:

          -  Alle Nachrichten, außer solchen, die Steuerteile enthalten
             (siehe Systemaufrufe putmsg und getmsg), werden auf transpa-
             rente Weise an den strom-abwärtigen Nachbarn des Moduls wei-
             tergeleitet.

          -  Alle Datennachrichten der Länge 0 werden freigegeben und nicht
             an den strom-abwärtigen Nachbarn des Moduls weitergeleitet.







Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

tirdwr(7)                                                         tirdwr(7)

          -  Alle Nachrichten mit einem Steuerteil erzeugen einen Fehler.
             Alle weiteren Systemaufrufe für diesen Stream schlagen fehl,
             wobei errno gleich EPROTO gesetzt ist.

     Lesen (read)
          Das Modul führt die folgenden Aktionen auf Daten aus, die vom
          Transport-Protokoll-Anbieter stammen:

          -  Alle Nachrichten mit Ausnahme solcher, die Steuerteile enthal-
             ten (siehe Systemaufrufe putmsg und getmsg), werden auf trans-
             parente Weise an den strom-abwärtigen Nachbarn des Moduls wei-
             tergeleitet

          -  Folgende Aktionen werden bei Nachrichten mit einem Steuerteil
             vorgenommen:

             ⊕  Nachrichten, die beschleunigte Daten darstellen, erzeugen
                einen Fehler. Alle weiteren Systemaufrufe für diesen Stream
                schlagen fehl, wobei errno gleich EPROTO gesetzt ist.

             ⊕  Für alle Nachrichten mit einem Steuerteil werden der Steu-
                erteil aus der Nachricht entfernt, bevor die Nachrichten an
                den strom-aufwärtigen Nachbarn weitergeleitet werden.

             ⊕  Nachrichten, die eine ordentliche Freigabe-Anzeige vom
                Transport-Anbieter darstellen, erzeugen eine Nachricht der
                Länge 0, die das Dateiende angibt, das an den Leser des
                Streams gesendet wird. Die ordentliche Freigabenachricht
                wird vom Modul freigegeben.

             ⊕  Nachrichten, die eine Verbindungsabbruch-Anzeige vom
                Transport-Anbieter darstellen, sorgen dafür, daß alle fol-
                genden write- und putmsg-Systemaufrufe fehlschlagen, wobei
                errno gleich ENXIO gesetzt ist. Alle weiteren read- und
                getmsg-Systemaufrufe liefern Nachrichten der Länge 0 (die
                das Dateiende anzeigen), nachdem alle Daten gelesen worden
                sind.

             ⊕  Mit Ausnahme der oben angeführten Regeln erzeugen alle
                Nachrichten mit Steuerteilen einen Fehler und alle folgen-
                den Systemaufrufe für den Stream schlagen fehl, wobei errno
                gleich EPROTO gesetzt ist.

          -  Alle Nachrichten der Länge 0 werden vom Modul freigegeben und
             nicht an den strom-aufwärtigen Nachbarn des Moduls weiterge-
             leitet.








Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

tirdwr(7)                                                         tirdwr(7)

     Ausklinken (pop)
          Wird das Modul aus dem Stream ausgeklinkt oder wird der Stream
          geschlossen, dann nimmt das Modul die folgende Aktion vor:

          -  Wurde vorher eine ordentliche Freigabe-Anzeige empfangen, dann
             wird eine ordentliche Freigabe-Anforderung an die ferne Seite
             der Transport-Verbindung gesendet.

SIEHE AUCH
     getmsg(2), introprm2(2), putmsg(2), read(2), write(2), streamio(7),
     timod(7).

     Leitfaden für Programmierer: STREAMS

     Leitfaden für Programmierer: Netzwerkschnittstellen







































Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

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