Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ t_rcvudata(3N) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

t_rcvudata(3N)                                               t_rcvudata(3N)

NAME
     trcvudata - Dateneinheit empfangen

SYNTAX
     #include <sys/tiuser.h>

     int trcvudata(int fd, struct tunitdata *unitdata, int *flags);

BESCHREIBUNG
     Diese Funktion wird im verbindungslosen Dienst verwendet, um eine
     Dateneinheit von einem anderen Benutzer zu empfangen. fd kennzeichnet
     den lokalen Transportendpunkt, über den die Daten empfangen werden,
     unitdata enthält Information, die mit der empfangenen Dateneinheit zu
     tun hat. flags wird bei der Rückkehr gesetzt, um anzuzeigen, ob die
     ganze Dateneinheit empfangen wurde. unitdata zeigt auf eine Struktur
     tunitdata, die die folgenden Elemente enthält:

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

     Das Feld maxlen von addr, opt und udata muß gesetzt sein, bevor die
     Funktion aufgerufen wird, um die maximale Puffergröße festzulegen.

     Bei der Rückkehr des Aufrufs gibt addr die Protokolladresse des Sen-
     ders an, opt kennzeichnet protokollspezifische Optionen, die mit die-
     ser Dateneinheit verbunden sind, und udata enthält die empfangenen
     Benutzerdaten.

     Als Standard arbeitet trcvudata im synchronen Modus und wartet auf
     die Ankunft einer Dateneinheit, falls augenblicklich keine vorhanden
     ist. Wenn jedoch ONDELAY oder ONONBLOCK gesetzt ist (mittels topen
     oder fcntl), arbeitet trcvudata im asynchronen Modus und schlägt
     fehl, wenn keine Dateneinheiten vorhanden sind.

     Wenn der im Feld udata von unitdata definierte Puffer nicht genügend
     groß ist, um die aktuelle Dateneinheit aufnehmen zu können, wird der
     Puffer gefüllt und bei der Rückkehr in flags das Flag TMORE gesetzt,
     um anzuzeigen, daß ein weiterer trcvudata-Aufruf nötig ist, um den
     Rest der Dateneinheit zu empfangen. Nachfolgende Aufrufe von
     trcvudata liefern für die Länge der Adresse und der Optionen zurück,
     bis die vollständige Dateneinheit empfangen wurde.

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

     TBADF           Der angegebene Dateideskriptor verweist nicht auf
                     einen Transportendpunkt.

     TNODATA         ONDELAY oder ONONBLOCK wurde gesetzt, aber es sind
                     augenblicklich keine Dateneinheiten von der Transport-
                     vorrichtung verfügbar.



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

t_rcvudata(3N)                                               t_rcvudata(3N)

     TBUFOVFLW       Die Anzahl Bytes, die für die ankommende Protokoll-
                     adresse oder die Optionen angelegt wurde ist nicht
                     ausreichend, um die Information zu speichern. Die
                     Information, die in unitdata zurückzuliefern ist, wird
                     nicht berücksichtigt.

     TLOOK           Auf diesem Transportendpunkt ist ein asynchrones
                     Ereignis aufgetreten, das sofortige Bearbeitung erfor-
                     dert.

     TNOTSUPPORT     Diese Funktion wird von der darunterliegenden Trans-
                     portvorrichtung nicht unterstützt.

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

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

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
































Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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