Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ send.xs(3N-xs) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

poll(2)

select(3C)

connect(3N-xs)

getsockopt(3N-xs)

recv(3N-xs)

recvfrom(3N-xs)

recvmsg(3N-xs)

sendmsg(3N-xs)

sendto(3N-xs)

setsockopt(3N-xs)

shutdown(3N-xs)

socket(3N-xs)

send(3N-xs)                   (X/OPEN SOCKETS)                  send(3N-xs)

NAME
     send - Eine Meldung über einen Socket senden

SYNTAX
     cc [flag ...] file ... -lxnet [library ...]

     #include <sys/socket.h>

     ssizet send(int socket, const void *buffer, sizet length,
                  int flags);

BESCHREIBUNG
     socket       Gibt den Dateideskriptor für den Socket an.

     buffer       Zeigt auf den Puffer, in dem die zu sendende Meldung
                  gespeichert ist.

     length       Gibt die Länge der Meldung in Byte an.

     flags        Gibt die Art der Meldungsübertragung an. Die Werte dieses
                  Arguments werden durch logisches Verbinden der folgenden
                  Flags über OR gebildet (es kann auch kein Flag angegeben
                  werden):

                  MSGEOR    Beendet einen Satz (falls vom Protokoll unter-
                             stützt).

                  MSGOOB    Sendet Out-of-Band-Daten über Sockets, die
                             eine solche Übertragung unterstützen. Bedeu-
                             tung und Semantik von Out-of-Band-Daten sind
                             protokollspezifisch.

     Die Funktion send leitet die Übertragung einer Meldung vom angegebenen
     Socket zum Peer ein. Die Funktion send sendet eine Meldung nur dann,
     wenn der Socket verbunden ist.

     Die Länge der zu sendenden Meldung wird durch das Argument length
     angegeben. Ist die Meldung für das zugrundeliegende Protokoll zu lang,
     schlägt send fehl, und es werden keine Daten übertragen.

     Eine erfolgreiche Ausführung eines Aufrufs send bedeutet noch nicht,
     daß auch die Meldung übertragen wurde. Ein Return-Wert von -1 weist
     nur auf lokal gefundene Fehler hin.

     Ist auf dem Socket, von dem aus gesendet wird, kein Platz für die zu
     übertragende Meldung verfügbar, und ist im Dateideskriptor des Sockets
     ONONBLOCK nicht gesetzt, blockiert send den Prozeß so lange, bis
     Platz verfügbar ist. Ist auf dem Socket, von dem aus gesendet wird,
     kein Platz für die zu übertragende Meldung verfügbar, und ist im
     Dateideskriptor des Sockets ONONBLOCK gesetzt, schlägt send fehl. Die
     Funktionen select und poll können verwendet werden, um festzustellen,
     wann weitere Daten gesendet werden können.



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

send(3N-xs)                   (X/OPEN SOCKETS)                  send(3N-xs)

RÜCKGABEWERT
     Bei erfolgreicher Ausführung gibt send die Anzahl der gesendeten Byte
     zurück. Andernfalls wird -1 zurückgegeben und errno gesetzt, um den
     Fehler anzuzeigen.

ANWENDUNGSZWECK
     Die Funktion send entspricht der Funktion sendto mit einem Null-Zeiger
     als Argument destlen und der Funktion write, wenn keine Flags verwen-
     det werden.

FEHLER
     Die Funktion send schlägt fehl, wenn eine der folgenden Bedingungen
     zutrifft:

     EBADF           Das Argument socket ist kein gültiger Dateideskriptor.

     ECONNRESET      Eine Verbindung wurde von einem Peer geschlossen.

     EDESTADDRREQ    Der Socket ist nicht verbindungsorientiert, und es ist
                     keine Peer-Adresse gesetzt.

     EINTR           send wurde durch ein Signal unterbrochen, bevor Daten
                     übertragen werden konnten.

     EMSGSIZE        Die Meldung ist zu lang, um in einer einzigen Opera-
                     tion gesendet zu werden, wie für den Socket erforder-
                     lich.

     ENOTCONN        Der Socket ist entweder nicht verbunden oder der Peer
                     wurde nicht vorab angegeben.

     ENOTSOCK        Das Argument socket verweist nicht auf einen Socket.

     EOPNOTSUPP      Das Argument socket ist einem Socket zugeordnet, der
                     einen oder mehrere in flags gesetzte(n) Wert(e) nicht
                     unterstützt.

     EPIPE           Der Socket ist nicht für Schreiben aktiviert, oder der
                     Socket ist verbindungsorientiert und der Peer ist
                     geschlossen oder für Lesen nicht aktiviert. Trifft
                     letzteres zu, und ist der Socket vom Typ SOCKSTREAM,
                     wird das Signal SIGPIPE für den aufrufenden Prozeß
                     generiert.

     EWOULDBLOCK oder EAGAIN
                     Der Dateideskriptor des Sockets ist als ONONBLOCK
                     markiert, und die angeforderte Operation würde blok-
                     kiert.






Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

send(3N-xs)                   (X/OPEN SOCKETS)                  send(3N-xs)

     Die Funktion send kann fehlschlagen, wenn eine der folgenden Bedingun-
     gen zutrifft:

     ENETDOWN        Die lokale Schnittstelle zum Ziel ist nicht aktiviert.

     ENETUNREACH     Das Netz ist nicht erreichbar.

     ENOBUFS         Die im System verfügbaren Ressourcen reichen für die
                     Ausführung der Operation nicht aus.

     ENOSR           Die verfügbaren STREAMS-Ressourcen reichen für die
                     Ausführung der Operation nicht aus.

     EIO             Beim Lesen aus dem oder Schreiben in das Dateisystem
                     ist ein E/A-Fehler aufgetreten.

SIEHE AUCH
     poll(2), select(3C), connect(3N-xs), getsockopt(3N-xs), recv(3N-xs),
     recvfrom(3N-xs), recvmsg(3N-xs), sendmsg(3N-xs), sendto(3N-xs),
     setsockopt(3N-xs), shutdown(3N-xs), socket(3N-xs).


































Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

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