SOCKETCALL(2)

ИМЯ
socketcall - системные вызовы сокетов

ОБЗОР
#include <linux/net.h>

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

ОПИСАНИЕ
socketcall() — это общая точка входа в ядро всех системных вызовов сокетов. В аргументе call задаётся функция сокета, которая будет вызвана. Аргумент args указывает на блок параметров функции, которые передаются соответствующему вызову.

Пользовательские программы должны оперировать обычными функциями, имеющими стандартные имена. О существовании socketcall() необходимо знать лишь создателям стандартных библиотек и ядра.

вызов | справочная страница
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)

СООТВЕТСТВИЕ СТАНДАРТАМ
Эта функция есть только в Linux, и она не должна использоваться в переносимых программах.

ЗАМЕЧАНИЯ
На некоторых архитектурах, например x86-64 и ARM, нет системного вызова socketcall(); вместо него реализованы системные вызовы socket(2), accept(2), bind(2) и т.д.

Для архитектуры x86-32, socketcall() исторически имел только одну точку входа в программном интерфейсе сокетов. Однако начиная с Linux 4.3, для x86-32 появились прямые системные вызовы в программном интерфейсе сокетов. for the sockets API. Это упрощает создание фильтров seccomp(2), которые отбирают системные вызовы сокетов (для новых пользовательских исполняемых файлов, которые компилируются с использованием новых точек входа), а также улучшают (совсем немного) производительность.

СМОТРИТЕ ТАКЖЕ
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)