Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

poll(2)

select(3C)

getsockopt(3N)

recv(3N-xs)

recvfrom(3N-xs)

recvmsg(3N-xs)

send(3N-xs)

sendmsg(3N-xs)

setsockopt(3N-xs)

shutdown(3N-xs)

socket(3N-xs)

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

NAME
     sendto - Eine Meldung über einen Socket senden

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

     #include <sys/socket.h>

     ssizet sendto(int socket, const void *message, sizet length,
        int flags, const struct sockaddr *destaddr, sizet destlen);

BESCHREIBUNG
     Die Funktion sendto sendet eine Meldung über einen verbindungs-
     orientierten Socket oder einen nicht verbundenen Socket. Bei einem
     Socket ohne Verbindung wird die Meldung an die durch destaddr angege-
     bene Adresse gesendet. Bei einem verbindungsorientierten Socket wird
     destaddr ignoriert.

     Für die Funktion sendto können folgende Argumente angegeben werden:

     socket       Gibt den Dateideskriptor für den Socket an.

     message      Zeigt auf den Puffer, der die zu sendende Meldung ent-
                  hält.

     length       Gibt die Größe der Meldung in Byte an.

     flags        Gibt die Art des Meldungsempfangs an. Die Werte dieses
                  Arguments werden durch logisches Verbinden der folgenden
                  Werte über OR gebildet (es kann auch kein Wert 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.

     destaddr    Zeigt auf eine sockaddr-Struktur, die die Zieladresse
                  enthält. Länge und Format der Adresse sind von der Adreß-
                  familie des Sockets abhängig.

     destlen     Gibt die Länge der sockaddr-Struktur an, auf die das
                  Argument destaddr zeigt.









Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

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

     Wenn das Socket-Protokoll Broadcasting unterstützt und die angegebene
     Adresse eine Broadcast-Adresse für das Socket-Protokoll ist, schlägt
     sendto fehl, wenn die Option SOBROADCAST für den Socket nicht gesetzt
     ist.

     Das Argument destaddr gibt die Adresse des Ziels an. Das Argument
     length gibt die Länge der Meldung an.

     Eine erfolgreiche Ausführung eines Aufrufs an sendto 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 sendto 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 sendto fehl.

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

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

     EAFNOSUPPORT    Adressen in der angegebenen Adreßfamilie können mit
                     diesem Socket nicht verwendet werden.

     EBADF           Das Argument socket ist kein gültiger Dateideskriptor.

     ECONNRESET      Eine Verbindung wurde von einem Peer geschlossen.

     EINTR           sendto 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 verbindungsorientiert, aber nicht ver-
                     bunden.

     ENOTSOCK        Das Argument socket verweist nicht auf einen Socket.

     EOPNOTSUPP      Das Argument socket ist einem Socket zugeordnet, der
                     mindestens einen der in flags gesetzten Werte nicht
                     unterstützt.




Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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

     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.

     Gehört der Socket zur Adreßfamilie AFUNIX, schlägt sendto fehl, wenn
     eine der folgenden Bedingungen zutrifft:

     EACCES          Für eine Komponente der Pfadangabe wird die Suchbe-
                     rechtigung verweigert, oder der Schreibzugriff auf den
                     angegebenen Socket wird verweigert.

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

     ELOOP           Bei der Übersetzung des Pfadnamens in die Socket-
                     Adresse wurden zu viele symbolische Links gefunden.

     ENAMETOOLONG    Eine Komponente eines Pfadnamens überschreitet
                     {NAMEMAX} Zeichen, oder ein ganzer Pfadname ist län-
                     ger als {PATHMAX} Zeichen.

     ENOENT          Eine Komponente des Pfadnamens verweist nicht auf eine
                     vorhandene Datei, oder der Pfadname ist leer.

     ENOTDIR         Eine Komponente in der Pfadangabe in der Socket-
                     Adresse ist kein Verzeichnis.

     Die Funktion sendmsg kann fehlschlagen, wenn eine der folgenden Bedin-
     gungen zutrifft:

     EDESTADDRREQ    Der Socket ist nicht verbindungsorientiert, die Peer-
                     Adresse ist nicht gesetzt, und es wurde keine Ziela-
                     dresse angegeben.

     EHOSTUNREACH    Der Ziel-Host kann nicht erreicht werden (möglicher-
                     weise weil er heruntergefahren ist, oder weil er von
                     einem fernen Router nicht erreicht werden kann).

     EINVAL          Das Argument destlen ist keine gültige Länge für die
                     Adreßfamilie.

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



Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

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

     EISCONN         Eine Zieladresse wurde angegeben, und es handelt sich
                     um einen verbindungsorientierten Socket, der bereits
                     verbunden ist.

     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.

     ENOMEM          Der verfügbare Speicher reicht für die Anforderung
                     nicht aus.

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

     Handelt es sich bei der Adreßfamilie des Sockets um AFUNIX, kann
     sendto fehlschlagen, wenn eine der folgenden Bedingungen zutrifft:

     ENAMETOOLONG    Durch die Auflösung des Pfadnamens eines symbolischen
                     Links wird ein Zwischenergebnis erzeugt, dessen Länge
                     {PATHMAX} überschreitet.

ANWENDUNGSZWECK
     Die Funktionen select und poll können verwendet werden, um festzustel-
     len, wann weitere Daten gesendet werden können.

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






















Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

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