Splice-Subroutine

Zweck

Lässt den Protokollstack zwei Sockets verwalten, die TCP verwenden.

Syntax

#include < sys/types.h >
#include < sys/socket.h >

int Spleiß (socket1, socket2, Flags)
Int socket1, Socket2;
Int Flags;

Beschreibung

Die Subroutine splice ermöglicht TCP die Verwaltung von zwei Sockets, die sich im Status 'Verbunden' befinden, sodass der Aufrufende keine Daten von einem Socket zu einem anderen verschieben kann. Nachdem die Subroutine splice erfolgreich zurückgegeben wurde, muss der Aufrufende die zwei Sockets schließen.

Die beiden Sockets müssen den Typ SOCK_STREAM und das Protokoll IPPROTO_TCPhaben. Die Angabe des Protokolls null funktioniert ebenfalls.

Parameter

Element Beschreibung
socket1, socket2 Gibt einen Socket an, der erfolgreich connect () oder accept () durchlaufen hat.
Flags Auf null gesetzt. Derzeit ignoriert.

Rückgabewerte

Element Beschreibung
0 Erfolgreiche Ausführung.
-1 Zeigt einen Fehler an. Der spezifische Fehler wird durch die Fehlernummer angegeben.

Fehlercodes

Element Beschreibung
EBADF socket1 oder socket2 ist ungültig.
ENOTSOCK (ENOTSOCK) socket1 oder socket2 bezieht sich auf eine Datei, nicht auf ein Socket.
EOPNOTSUPP socket1 oder socket2 weist nicht den Typ SOCK_DATENSTROMauf.
EINVAL Die Parameter sind ungültig.
EEXIST socket1 oder socket2 ist bereits verbunden.
ENOTCONN socket1 oder socket2 befindet sich nicht im Status 'Verbunden'.
EAFNOSUPPORT Die Adressfamilie socket1 oder socket2 wird für diese Subroutine nicht unterstützt.