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

ИМЯ

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

LIBRARY

       Standard C library (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)

СТАНДАРТЫ

       Эта функция есть только в Linux, и она не должна использоваться в переносимых программах.

ЗАМЕЧАНИЯ

       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.

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

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.