|
Beschreibung
Die Funktion socketpair() erzeugt ein Paar von miteinander verbundenen Sockets ohne Namen.
socketpair() erzeugt das Socket-Paar in der mit dem Parameter domain spezifizierten Adressfamilie (AF_INET oder AF_UNIX), vom Typ type (SOCK_STREAM oder SOCK_DGRAM) und unter Verwendung des optional angegebenen Protokolls protocol. Der Parameter protocol legt ein bestimmtes Protokoll fest, das für den Socket verwendet werden soll.
Da diese Implementierung nur die TCP/IP-Protokollfamilie unterstützt, sind hier nur die Werte 0 (Standardprotokoll), IPPROTO_IP, IPPROTO_TCP und IPPROTO_UDP gültig.
In den Parametern sv[0] und sv[1] werden die Deskriptoren der neuen Sockets zurückgeliefert. Die beiden Sockets sind nicht zu unterscheiden.
Returnwert
0:
Bei Erfolg.
-1:
Bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen.
Fehler
EAFNOSUPPORT
Die angegebene Adressfamilie wird an diesem System nicht unterstützt.
EFAULT
Die Adresse sv spezifiziert keinen gültigen Teil des Prozess-Adressbereichs.
EMFILE
Die Tabelle der Deskriptoren pro Prozess ist voll.
ENFILE
Die Dateitabelle des Systems ist voll.
EOPNOTSUPP
Das angegebene Protokoll unterstützt nicht das Erzeugen von Socket-Paaren.
EPROTONOSUPPORT
Der Protokolltyp oder das angegebene Protokoll wird in dieser Domäne nicht unterstützt.
ENOMEM
Ein interner Ressourcen-Engpass ist aufgetreten.
Siehe auch
pipe() in "C-Bibliotheksfunktionen für POSIX-Anwendungen", read(), write()