Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ t_sndudata(3N) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

t_sndudata(3N)                                               t_sndudata(3N)

NAME
     tsndudata - Dateneinheit versenden

SYNTAX
     #include <sys/tiuser.h>

     int tsndudata(int fd, struct tunitdata *unitdata);

BESCHREIBUNG
     Diese Funktion wird im verbindungslosen Dienst dazu verwendet, um eine
     Dateneinheit zu einem anderen Transportbenutzer zu senden. fd kenn-
     zeichnet den lokalen Transportendpunkt, über den die Daten gesendet
     werden, und unitdata verweist auf eine tunitdata-Struktur, die die
     folgenden Elemente enthält:

          struct netbuf addr;
          struct netbuf opt;
          struct netbuf udata;

     In unitdata gibt addr die Protokollzieladresse an, opt beschreibt pro-
     tokollspezifische Optionen, die der Benutzer mit dieser Anforderung
     verbinden will, und udata gibt die zu versendenden Benutzerdaten an.
     Der Benutzer hat die Möglichkeit, nicht anzugeben, welche Protokoll-
     optionen mit dem Datentransfer verbunden sind, indem er das len-Feld
     von opt auf Null setzt. In diesem Fall kann der Transportanbieter
     Standard-Optionen verwenden.

     Falls das len-Feld von udata Null ist und das Versenden von null Bytes
     von der darunterliegenden Schicht nicht angeboten wird, liefert
     tsndudata -1 zurück und setzt terrno auf TBADDATA.

     Als Standard arbeitet tsndudata im synchronen Modus und wartet, wenn
     Flußkontrollbeschränkungen verhindern, daß der Transportanbieter die
     Daten zum Aufrufzeitpunkt akzeptiert. Wenn jedoch ONDELAY oder
     ONONBLOCK (mittels topen oder fcntl) gesetzt ist, arbeitet
     tsndudata im asynchronen Modus und schlägt bei den obigen Bedingungen
     fehl.

     Wenn tsndudata aus einem ungültigen Zustand heraus aufgerufen wurde
     oder wenn die Datengröße in udata die TSDU-Größe (wie sie im Feld tsdu
     des Arguments info in einem Aufruf von topen oder tgetinfo zurückge-
     liefert wird) überschreitet, generiert der Transportanbieter einen
     EPROTO-Protokollfehler (siehe TSYSERR unten). Wenn der Zustand ungül-
     tig ist, tritt der Fehler solange nicht auf, bis darauffolgend der
     Transportendpunkt referenziert wird.










Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

t_sndudata(3N)                                               t_sndudata(3N)

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

     TBADF           Der angegebene Dateideskriptor verweist nicht auf
                     einen Transportendpunkt.

     TFLOW           ONDELAY oder ONONBLOCK wurde gesetzt, aber die Fluß-
                     kontrolle erlaubte dem Transportanbieter nicht, die
                     Daten zum Aufrufzeitpunkt zu akzeptieren.

     TNOTSUPPORT     Diese Funktion wird von dem darunterliegenden Trans-
                     portanbieter nicht zur Verfügung gestellt.

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

     TBADDATA        nbytes ist Null und das Versenden von null Bytes wird
                     von dem Transportanbieter nicht angeboten.

DIAGNOSE
     tsndudata liefert im Erfolgsfall 0 zurück. Im Fehlerfall wird -1
     zurückgeliefert und terrno gesetzt, um den Fehler anzuzeigen.

SIEHE AUCH
     trcvudata(3N), trcvuderr(3N).





























Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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