socketcall(2)

BEZEICHNUNG
socketcall - Systemaufrufe für Sockets

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

ÜBERSICHT
#include <linux/net.h>        /* Definition der SYS_*-Konstanten */
#include <sys/syscall.h>      /* Definition von SYS_socketcall */
#include <unistd.h>

int syscall(SYS_socketcall, int Aufruf, unsigned long *Arg);

Hinweis: Glibc stellt keinen Wrapper für socketcall() bereit; hierdurch wird die Verwendung von syscall(2) notwendig.

BESCHREIBUNG
socketcall() ist ein gemeinsamer Kernel-Eintrittspunkt für die Socket-Systemaufrufe. Aufruf gibt an, welche Socket-Funktion aufgerufen werden soll, Arg 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)

VERSIONEN
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.

STANDARDS
Linux.

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.

SIEHE AUCH
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)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze <joey@infodrom.org>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Helge Kreutzmann <debian@helgefjell.de> 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.