Arch manual pages

SOCKETCALL(2) Linux-Programmierhandbuch SOCKETCALL(2)

socketcall - Systemaufrufe für Sockets

#include <linux/net.h>

int socketcall(int call, unsigned long *args);

socketcall() ist ein gemeinsamer Kernel-Eintrittspunkt für die Socket-Systemaufrufe. call gibt an, welche Socket-Funktion aufgerufen werden soll, args zeigt auf einen Speicherbereich, dessen Inhalt als Argumente an den entsprechenden Aufruf weitergeleitet wird.

Benutzerprogramme sollten die entsprechenden Funktionen mit ihren normalen Namen aufrufen. Nur Programmierer von Standardbibliotheken oder Kernel-Hacker müssen socketcall() kennen.

Aufruf Handbuchseite
SYS_SOCKET socket(2)
SYS_BIND bind(2)
SYS_CONNECT connect(2)
SYS_LISTEN listen(2)
SYS_ACCEPT accept(2)
SYS_GETSOCKNAME getsockname(2)
SYS_GETPEERNAME getpeername(2)
SYS_SOCKETPAIR socketpair(2)
SYS_SEND send(2)
SYS_RECV recv(2)
SYS_SENDTO sendto(2)
SYS_RECVFROM recvfrom(2)
SYS_SHUTDOWN shutdown(2)
SYS_SETSOCKOPT setsockopt(2)
SYS_GETSOCKOPT getsockopt(2)
SYS_SENDMSG sendmsg(2)
SYS_RECVMSG recvmsg(2)
SYS_ACCEPT4 accept4(2)
SYS_RECVMMSG recvmmsg(2)
SYS_SENDMMSG sendmmsg(2)

Dieser Aufruf ist Linux-spezifisch und sollte nicht für portierbare Programme verwendet werden.

Für einige Architekturen – beispielsweise x86-64 und ARM – ist der Systemaufruf socketcall() nicht implementiert. Stattdessen sind socket(2), accept(2), bind(2) usw. wirklich als getrennte Systemaufrufe realisiert.

Unter x86-32 war socketcall() historisch der einzige Eintrittspunkt für das Sockets-API. Beginnend mit Linux 4.3 werden allerdings direkte Systemaufrufe unter x86-32 für das Sockets-API bereitgestellt. Dies ermöglicht die Erstellung von seccomp(2)-Filtern, die Socket-Systemaufrufe filtern (für neue Anwendungsprogramme, die für die Verwendung der neuen Eintrittspunkte übersetzt wurden), und bietet auch ein (sehr) kleine Leistungsverbesserung.

accept(2), bind(2), connect(2), getpeername(2), getsockname(2), getsockopt(2), listen(2), recv(2), recvfrom(2), recvmsg(2), send(2), sendmsg(2), sendto(2), setsockopt(2), shutdown(2), socket(2), socketpair(2)

Diese Seite ist Teil der Veröffentlichung 5.02 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze <joey@infodrom.org> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 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 <debian-l10n-german@lists.debian.org>.

15. September 2017 Linux