Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

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

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

ОБЗОР

       #include <linux/net.h>        /* Definition of SYS_* constants */
       #include <sys/syscall.h>      /* Definition of SYS_socketcall */
       #include <unistd.h>

       int syscall(SYS_socketcall, int call, unsigned long *args);

       Note: glibc provides no wrapper for socketcall(), necessitating the use of syscall(2).

ОПИСАНИЕ

       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)

ВЕРСИИ

       On some architectures—for example,  x86-64  and  ARM—there  is  no  socketcall()   system  call;  instead
       socket(2), accept(2), bind(2), and so on really are implemented as separate system calls.

СТАНДАРТЫ

       Linux.

       Для  архитектуры  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)

ПЕРЕВОД

       Русский  перевод  этой  страницы  руководства разработал(и) Alexander Golubev <fatzer2@gmail.com>, Azamat
       Hackimov  <azamat.hackimov@gmail.com>,  Hotellook,   Nikita   <zxcvbnm3230@mail.ru>,   Spiros   Georgaras
       <sng@hellug.gr>,  Vladislav  <ivladislavefimov@gmail.com>,  Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов
       <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот перевод является свободной программной документацией; он распространяется на условиях  общедоступной
       лицензии  GNU  (GNU  General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите  об  этом
       разработчику(ам)   по   его(их)  адресу(ам)  электронной  почты  или  по  адресу  списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                    socketcall(2)