- bullseye-backports 4.18.1-1~bpo11+1
- testing 4.18.1-1
- unstable 4.18.1-1
SOCKETCALL(2) | Руководство программиста Linux | 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)
ЗАМЕЧАНИЯ¶
Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан 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 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
15 сентября 2017 г. | Linux |