Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ t_connect(3N) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

t_connect(3N)                                                 t_connect(3N)

NAME
     tconnect - Verbindung mit anderem Transportbenutzer einrichten

SYNTAX
     #include <sys/tiuser.h>

     int tconnect(int fd, struct tcall *sndcall,
                         struct tcall *rcvcall);

BESCHREIBUNG
     Diese Funktion ermöglicht einem Transportbenutzer, einen Verbindungs-
     wunsch zum angegebenen Transportbenutzer zu schicken. fd kennzeichnet
     den lokalen Transportendpunkt, wo die Kommunikation stattfindet.
     sndcall und rcvcall verweisen auf eine tcall-Struktur, die folgende
     Felder besitzt:

          struct netbuf addr;
          struct netbuf opt;
          struct netbuf udata;
          int sequence;

     sndcall enthält Informationen, die von dem Transportanbieter benötigt
     werden, um eine Verbindung einzurichten. rcvcall enthält Informatio-
     nen, die zu der eben eingerichteten Verbindung gehören.

     Das Feld addr in sndcall gibt die Protokollzieladresse des Transport-
     benutzers an. opt enthält alle protokollspezifischen Informationen,
     die von dem Transportanbieter benötigt werden. udata verweist auf
     optionale Benutzerdaten, die während des Verbindungsaufbau an den
     Ziel-Transportbenutzer übergeben werden können. sequence hat für diese
     Funktion keine Bedeutung.

     Bei der Rückkehr enthält addr in rcvcall die Protokolladresse, die an
     den antwortenden Transportendpunkt gebunden ist. opt enthält alle pro-
     tokollspezifischen Informationen, die mit der Verbindung zu tun haben.
     udata zeigt auf optionale Benutzerdaten, die durch den Ziel-Transport-
     benutzer während des Verbindungsaufbaus zurückgeliefert werden können.
     sequence hat für diese Funktion keine Bedeutung.

     Aus dem Argument opt folgt nicht die Struktur der Optionen, die an den
     Transportanbieter übergeben werden können. Die Transportvorrichtung
     spezifiziert selbständig die Struktur aller Optionen, die an sie über-
     geben werden. Diese Optionen sind spezifisch für das darunterliegende
     Protokoll des Transportanbieters. Der Benutzer hat die Möglichkeit,
     die Protokolloptionen nicht aushandeln zu müssen, indem er das len-
     Feld in opt auf Null setzt. In diesem Fall kann der Transportanbieter
     Standardoptionen wählen.

     Das Argument udata ermöglicht dem Benutzer, Benutzerdaten an den
     Ziel-Transportbenutzer zu senden, bzw. Benutzerdaten vom Ziel-Trans-
     portbenutzer zu empfangen, während die Verbindung eingerichtet wird.
     Die Menge an Benutzerdaten darf jedoch die von dem Transportanbieter



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

t_connect(3N)                                                 t_connect(3N)

     gesetzte Grenze nicht überschreiten, die im connect-Feld des Arguments
     info der Aufrufe topen(3N) oder tgetinfo(3N) zurückgeliefert wird.
     Falls das len-Feld von udata in sndcall Null ist, werden keine Benut-
     zerdaten an den Ziel-Transportbenutzer gesendet.

     Bei der Rückkehr sind die Felder addr, opt und udata von rcvcall
     aktualisiert, um die korrekten Werte widerzuspiegeln, die zu der Ver-
     bindung gehören. Deshalb muß das Feld maxlen von jedem Argument
     gesetzt werden, bevor die Funktion durchgeführt wird, um jeweils die
     maximale Puffergröße anzugeben. rcvcall kann jedoch NULL sein, wobei
     in diesem Fall keine Information bei der Rückkehr von tconnect an den
     Benutzer gegeben wird.

     Als Standard arbeitet tconnect im synchronen Modus und wartet auf
     eine Antwort des Ziel-Transportbenutzers, bevor die Kontrolle wieder
     an den lokalen Benutzer übergeben wird. Eine erfolgreiche Durchführung
     (d. h. ein Rückgabewert Null) zeigt an, daß die angeforderte Verbin-
     dung eingerichtet wurde. Wenn jedoch ONDELAY oder ONONBLOCK gesetzt
     ist (mittels topen oder fcntl), wird tconnect im asynchronen Modus
     durchgeführt. In diesem Fall wartet der Aufruf nicht auf die Antwort
     des anderen Benutzers, sondern gibt die Kontrolle sofort wieder an den
     lokalen Benutzer zurück. Dabei wird eine -1 zurückgegeben und terrno
     auf TNODATA gesetzt, um anzuzeigen, daß die Verbindung noch nicht ein-
     gerichtet worden ist. Hierbei leitet die Funktion den Vorgang zum Ver-
     bindungsaufbau einfach damit ein, daß sie einen Verbindungswunsch an
     den Ziel-Transportbenutzer sendet.

     Im Fehlerfall wird terrno entsprechend auf einen der folgenden Werte
     gesetzt:

     TBADF           Der angegebene Dateideskriptor verweist nicht auf
                     einen Transportendpunkt.

     TOUTSTATE       Die Funktion wurde innerhalb einer falschen Reihen-
                     folge ausgeführt.

     TNODATA         ONDELAY oder ONONBLOCK wurden gesetzt, so daß die
                     Funktion den Vorgang des Verbindungsaufbaus erfol-
                     greich einleiten konnte, jedoch nicht auf eine Antwort
                     vom fernen Benutzer wartet.

     TBADADDR        Die angegebene Protokolladresse war vom falschen For-
                     mat oder enthielt falsche Informationen.

     TBADOPT         Die angegebenen Protokolloptionen waren vom falschen
                     Format oder enthielten falsche Informationen.

     TBADDATA        Die Menge an Benutzerdaten war nicht unterhalb der von
                     dem Transportanbieter erlaubten Grenze.

     TACCES          Der Benutzer hat keine Erlaubnis, die angegebene
                     Adresse oder die angegebenen Optionen zu verwenden.


Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

t_connect(3N)                                                 t_connect(3N)

     TBUFOVFLW       Die Anzahl der Bytes, die für ein hereinkommendes
                     Argument reserviert wurden, reichen nicht aus, um den
                     Wert des Arguments zu speichern. Falls im synchronen
                     Modus gearbeitet wird, wird der Zustand des Transport-
                     anbieters aus Benutzersicht auf den Zustand TDATAXFER
                     gesetzt, und die Information für die Verbindungsan-
                     frage, die in rcvcall zurückgeliefert werden soll,
                     wird entfernt.

     TLOOK           Auf diesem Transportendpunkt ist ein asynchrones
                     Ereignis aufgetreten und verlangt sofortige Bearbei-
                     tung.

     TNOTSUPPORT     Diese Funktion wird von dem darunterliegenden Trans-
                     portanbieter nicht angeboten.

     TSYSERR         Während der Ausführung dieser Funktion ist ein System-
                     fehler aufgetreten.

DIAGNOSE
     tconnect liefert im Erfolgsfall 0 zurück. Im Fehlerfall wird -1
     zurückgegeben und terrno gesetzt, um den entsprechenden Fehler anzu-
     zeigen.

SIEHE AUCH
     taccept(3N), tgetinfo(3N), tlisten(3N), topen(3N), toptmgmt(3N),
     trcvconnect(3N).



























Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

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