Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

accept(3N-xs)

bind(3N-xs)

connect(3N-xs)

getsockname(3N-xs)

getsockopt(3N-xs)

listen(3N-xs)

recv(3N-xs)

recvfrom(3N-xs)

recvmsg(3N-xs)

send(3N-xs)

sendmsg(3N-xs)

setsockopt(3N-xs)

shutdown(3N-xs)

socketpair(3N-xs)

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

NAME
     socket - Einen Endpunkt für die Kommunikation erstellen

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

     #include <sys/socket.h>

     int socket(int domain, int type, int protocol);

BESCHREIBUNG
     Die Funktion socket erstellt einen ungebundenen Socket in einer Kommu-
     nikationsdomäne und gibt einen Dateideskriptor zurück, der in späteren
     Funktionsaufrufen für den Socket verwendet werden kann.

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

     domain          Gibt die Kommunikationsdomäne an, in der ein Socket
                     erstellt werden soll.

     type            Gibt den Typ des zu erstellenden Sockets an.

     protocol        Gibt ein bestimmtes Protokoll an, das mit dem Socket
                     verwendet werden soll. Bei Angabe von 0 verwendet
                     socket ein nicht näher spezifiziertes Standardproto-
                     koll, das für den angeforderten Socket-Typ geeignet
                     ist.

     Das Argument domain gibt die Adreßfamilie an, die in der Kommunikati-
     onsdomäne verwendet wird. Die vom System unterstützten Adreßfamilien
     sind von der jeweiligen Implementierung abhängig.

     Im Header <sys/socket.h> sind zumindest folgende Werte für das Argu-
     ment domain definiert:

     AFUNIX         Die Pfadnamen des Dateisystems.

     AFINET         Die Internet-Adresse.

     Das Argument type gibt den Socket-Typ an, der die Semantik für die
     Kommunikation über den Socket bestimmt. Die vom System unterstützten
     Socket-Typen sind von der jeweiligen Implementierung abhängig. Mögli-
     che Socket-Typen sind:

     SOCKSTREAM     Stellt regelmäßige, zuverlässige, bidirektionale, ver-
                     bindungsorientierte Byte-Streams zur Verfügung; außer-
                     dem kann ein Mechanismus für die Übertragung von Out-
                     Of-Band-Daten (Daten außerhalb des normalen Daten-
                     stroms) verfügbar sein.






Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

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

     SOCKDGRAM      Stellt Datagramme zur Verfügung; hierbei handelt es
                     sich um nicht gesicherte Meldungen ohne Verbindungen
                     mit fester Maximallänge.

     SOCKSEQPACKET  Stellt einen regelmäßigen, zuverlässigen, bidirektio-
                     nalen, verbindungsorientierten Übertragungspfad für
                     Sätze zur Verfügung. Ein Satz kann über eine oder meh-
                     rere Ausgabeoperationen gesendet und über eine oder
                     mehrere Eingabeoperationen empfangen werden. Eine ein-
                     zelne Operation kann jedoch keinen Teil von mehreren
                     Sätzen übertragen. Über das Flag MSGEOR kann sich der
                     Empfänger die Satzgrenzen anzeigen lassen.

     Ist das Argument protocol ungleich Null, muß es ein von der Adreßfami-
     lie unterstütztes Protokoll angeben. Die vom System unterstützten Pro-
     tokolle sind von der jeweiligen Implementierung abhängig.

RÜCKGABEWERT
     Bei erfolgreicher Ausführung gibt socket eine nichtnegative Ganzzahl
     (den Dateideskriptor des Sockets) zurück. Andernfalls wird der Wert -1
     zurückgegeben und errno gesetzt, um den Fehler anzuzeigen.

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

     EACCES          Der Prozeß verfügt nicht über die erforderlichen
                     Berechtigungen.

     EAFNOSUPPORT    Die angegebene Adreßfamilie wird von der Implementie-
                     rung nicht unterstützt.

     EMFILE          Für diesen Prozeß stehen keine weiteren Dateideskrip-
                     toren mehr zur Verfügung.

     ENFILE          Für das System stehen keine weiteren Dateideskriptoren
                     mehr zur Verfügung.

     EPROTONOSUPPORT Das Protokoll wird entweder von der Adreßfamilie oder
                     von der Implementierung nicht unterstützt.

     EPROTOTYPE      Der Socket-Typ wird vom Protokoll nicht unterstützt.

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

     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.



Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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

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

ANWENDUNGSZWECK
     Aus der Dokumentation zu den einzelnen Adreßfamilien geht hervor, wel-
     che Protokolle von der jeweiligen Adreßfamilie unterstützt werden. Aus
     der Dokumentation zu den einzelnen Protokollen geht hervor, welche
     Socket-Typen vom jeweiligen Protokoll unterstützt werden.

     Die Anwendung kann feststellen, ob eine Adreßfamilie unterstützt wird,
     indem sie versucht einen Socket zu erstellen, bei dem domain auf das
     entsprechende Protokoll gesetzt ist.

SIEHE AUCH
     accept(3N-xs), bind(3N-xs), connect(3N-xs), getsockname(3N-xs),
     getsockopt(3N-xs), listen(3N-xs), recv(3N-xs), recvfrom(3N-xs),
     recvmsg(3N-xs), send(3N-xs), sendmsg(3N-xs), setsockopt(3N-xs),
     shutdown(3N-xs), socketpair(3N-xs).




































Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

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