socketpair(2)

BEZEICHNUNG
socketpair - zwei verbundene Sockets erstellen

BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT
#include <sys/socket.h>

int socketpair(int domain, int typ, int protokoll, int sv[2]);

BESCHREIBUNG
Der Aufruf socketpair() erstellt zwei unbenannte, verbundene Sockets in der angegebenen domain vom angegebenen typ und benutzt dabei das optional angegebene protokoll. Weitere Einzelheiten über diese Argumente finden Sie unter socket(2).

Die Dateideskriptoren, die auf die neuen Sockets verweisen, werden in sv[0] und sv[1] zurückgegeben. Die beiden Sockets sind nicht zu unterscheiden.

RÜCKGABEWERT
Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird -1 zurückgegeben, errno gesetzt, um den Fehler anzuzeigen, und sv verbleibt unverändert.

Unter Linux (und anderen Systemen) verändert socketpair() sv beim Fehlschlag nicht. Eine Anforderung, dieses Verhalten zu standardisieren, wurde in POSIX.1-2008 TC2 hinzugefügt.

FEHLER

EAFNOSUPPORT
    Die angegebene Adressfamilie wird auf dieser Maschine nicht unterstützt.

EFAULT
    Die Adresse sv gibt keinen gültigen Teil des Prozess-Adressraums an.

EMFILE
    Die Beschränkung pro Prozess der Anzahl offener Datei-Deskriptoren wurde erreicht.

ENFILE
    Die systemweite Beschränkung für die Gesamtzahl offener Dateien wurde erreicht.

EOPNOTSUPP
    Das angegebene Protokoll unterstützt nicht das Anlegen von Socket-Paaren.

EPROTONOSUPPORT
    Das angegebene Protokoll wird auf dieser Maschine nicht unterstützt.

VERSIONEN
Auf Linux sind die einzigen unterstützten Domains für diesen Aufruf AF_UNIX (oder gleichbedeutend AF_LOCAL) und (seit Linux 4.12) AF_TIPC.

STANDARDS
POSIX.1-2024.

GESCHICHTE
POSIX.1-2001, 4.2BSD.

Er ist allgemein zu/von Nicht-BSD-Systemen portierbar, die Klons der BSD-Socket-Schicht unterstützen (einschließlich System-V-Varianten).

SOCK_CLOEXEC
SOCK_NONBLOCK
    POSIX.1-2024; Linux 2.6.27. (Siehe socket(2).)

SIEHE AUCH
pipe(2), read(2), socket(2), write(2), socket(7), unix(7)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Chris Leick <c.leick@vollbio.de> und Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.