t_getinfo(3N) t_getinfo(3N)
NAME
tgetinfo - Protokollspezifische Information zurückgeben
SYNTAX
#include <sys/tiuser.h>
int tgetinfo(int fd, struct tinfo *info);
BESCHREIBUNG
Diese Funktion liefert die aktuelle Charakteristik des darunterliegen-
den Transportprotokolls zurück, das mit dem Dateideskriptor fd verbun-
den ist. Die Struktur info wird dazu verwendet, die gleiche Informa-
tion zurückzuliefern, wie die, die von topen zurückgegeben wird. Die
Funktion ermöglicht einem Transportbenutzer, auf diese Information zu
jeder beliebigen Zeit während der Kommunikation zuzugreifen.
Das Argument zeigt auf eine Struktur tinfo, die folgende Felder ent-
hält:
long addr; /* max. Länge der Transportprotokolladresse */
long options; /* max. Anzahl Bytes der protokollspez. Optionen */
long tsdu; /* max. Größe eines Datenpakets (TSDU) */
long etsdu; /* max. Größe eines Pakets für Vorrangdaten
(ETSDU) */
long connect; /* max. erlaubte Datenmenge bei
Verbindungsaufbau-Funktionen */
long discon; /* max. erlaubte Datenmenge bei den Funktionen
tsnddis und trcvdis */
long servtype; /* von dem Transportanbieter angebotene Diensttyp */
Die Werte der Felder haben die folgenden Bedeutungen:
addr Ein Wert größer oder gleich Null, der die maximale Länge
einer Transportprotokolladresse anzeigt. Ein Wert von -1
gibt an, daß es keine Grenze für die Adreßlänge gibt. Ein
Wert von -2 zeigt an, daß die Transportanbieter keinen
Benutzerzugriff auf die Transportprotokolladresse anbietet.
options Ein Wert größer oder gleich Null, der die maximale Anzahl
Bytes für protokollspezifische Optionen angibt, die vom
Transportanbieter her erlaubt sind. Ein Wert von -1 gibt an,
daß es keine Grenze für die Optionsgröße gibt. Ein Wert von
-2 gibt an, daß der Transportanbieter keine Optionen, die
vom Benutzer geändert werden dürfen, anbietet.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
t_getinfo(3N) t_getinfo(3N)
tsdu Ein Wert größer als Null, der die maximale Größe einer
Transportdienst-Dateneinheit (TSDU) angibt. Der Wert Null
gibt an, daß der Transportanbieter das Konzept der TSDU
nicht anbietet, obgleich sie das Senden eines Datenstroms
ohne die Einhaltung logischer Grenzen über die Verbindung
anbietet. Der Wert -1 gibt an, daß es keine Grenze für die
Größe einer TSDU gibt. Eine -2 gibt an, das die Übertragung
von normalen Daten von dem Transportanbieter nicht angeboten
wird.
etsdu Ein Wert größer als Null, der die maximale Größe einer vor-
rangigen Transportdienst-Dateneinheit (ETSDU) angibt. Der
Wert Null gibt an, daß der Transportanbieter das Konzept der
ETSDU nicht unterstützt, obgleich es das Senden eines vor-
rangigen Datenstroms ohne die Einhaltung logischer Grenzen
über die Verbindung anbietet. Der Wert -1 gibt an, daß es
keine Grenze für eine ETSDU gibt. Ein Wert von -2 bedeutet,
daß die Übertragung vorrangiger Daten von dem Transportan-
bieter nicht angeboten wird.
connect Ein Wert größer oder gleich Null, der die maximale Anzahl
der Daten angibt, die mit Funktionen zur Verbindungseinrich-
tung versendet werden können. Ein Wert von -1 gibt an, daß
es keine Grenze für die während der Verbindungseinrichtung
zu sendenden Daten gibt. Der Wert -2 gibt an, daß die Trans-
portvorrichtung nicht erlaubt, daß Daten mit den Funktionen
zur Verbindungseinrichtung gesendet werden dürfen.
discon Ein Wert größer oder gleich Null, der die maximale Menge an
Daten angibt, die mit den Funktionen tsnddis und trcvdis
versendet werden können. Ein Wert von -1 gibt an, daß es
keine Grenze für die Daten gibt, die mit den Funktionen für
den Verbindungsabbau versendet werden können. Der Wert -2
gibt an, daß der Transportanbieter das Senden von Daten mit
den Funktionen zum Verbindungsabbau nicht erlaubt.
servtype Dieses Feld spezifiziert den Diensttyp, der von dem Trans-
portanbieter angeboten wird (siehe unten).
Wenn ein Benutzer des Transportdiensts an einer Protokollunabhängig-
keit interessiert ist, kann auf die obigen Größen zugegriffen werden,
um festzustellen, wie groß die Puffer sein müssen, um die Informatio-
nen jeweils aufnehmen zu können. Alternativ dazu kann die Funktion
talloc verwendet werden, um Speicher für diese Puffer anzulegen. Es
tritt ein Fehler auf, wenn ein Transportbenutzer die erlaubten Daten-
größen für eine Funktion überschreitet. Der Wert jedes Feldes kann
sich durch eine Optionsaushandlung verändern. Dafür ermöglicht
tgetinfo dem Benutzer, die aktuellen Charakteristiken zu ermitteln.
Das Feld servtype von info besitzt bei der Rückkehr einen der folgen-
den Werte:
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
t_getinfo(3N) t_getinfo(3N)
TCOTS Der Transportanbieter bietet einen verbindungsorien-
tierten Dienst an, jedoch nicht die Möglichkeit einer
optionalen geordneten Verbindungsabbau.
TCOTSORD Der Transportanbieter bietet einen verbindungsorien-
tierten Dienst mit der Möglichkeit einer optionalen
geordneten Verbindungsabbau an.
TCLTS Der Transportanbieter bietet einen verbindungslosen
Dienst an. Für diesen Diensttyp liefert topen -2 bei
etsdu, connect und discon zurück.
Im Fehlerfall kann terrno auf einen der folgenden Werte gesetzt wer-
den:
TBADF Der angegebene Dateideskriptor verweist nicht auf
einen Transportendpunkt.
TSYSERR Während der Ausführung dieser Funktion ist ein System-
fehler aufgetreten.
DIAGNOSE
tgetinfo liefert im Erfolgsfall 0 zurück. Im Fehlerfall wird -1
zurückgegeben und terrno gesetzt, um den Fehler anzuzeigen.
SIEHE AUCH
topen(3N).
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98