.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 1995 Michael Chastain (mec@shell.portal.com), 15 April 1995. .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" Modified Tue Oct 22 22:11:53 1996 by Eric S. Raymond .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH socketcall 2 "30 марта 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ socketcall \- системные вызовы сокетов .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP /* Definition of \fBSYS_*\fP constants */ \fB#include \fP /* Definition of \fBSYS_socketcall\fP */ \fB#include \fP .PP \fBint syscall(SYS_socketcall, int \fP\fIcall\fP\fB, unsigned long *\fP\fIargs\fP\fB);\fP .fi .PP \fINote\fP: glibc provides no wrapper for \fBsocketcall\fP(), necessitating the use of \fBsyscall\fP(2). .SH ОПИСАНИЕ \fBsocketcall\fP() \(em это общая точка входа в ядро всех системных вызовов сокетов. В аргументе \fIcall\fP задаётся функция сокета, которая будет вызвана. Аргумент \fIargs\fP указывает на блок параметров функции, которые передаются соответствующему вызову. .PP Пользовательские программы должны оперировать обычными функциями, имеющими стандартные имена. О существовании \fBsocketcall\fP() необходимо знать лишь создателям стандартных библиотек и ядра. .PP .TS tab(:); l l. \fIВызов\fP:Справочная страница T{ \fBSYS_SOCKET\fP T}:T{ \fBsocket\fP(2) T} T{ \fBSYS_BIND\fP T}:T{ \fBbind\fP(2) T} T{ \fBSYS_CONNECT\fP T}:T{ \fBconnect\fP(2) T} T{ \fBSYS_LISTEN\fP T}:T{ \fBlisten\fP(2) T} T{ \fBSYS_ACCEPT\fP T}:T{ \fBaccept\fP(2) T} T{ \fBSYS_GETSOCKNAME\fP T}:T{ \fBgetsockname\fP(2) T} T{ \fBSYS_GETPEERNAME\fP T}:T{ \fBgetpeername\fP(2) T} T{ \fBSYS_SOCKETPAIR\fP T}:T{ \fBsocketpair\fP(2) T} T{ \fBSYS_SEND\fP T}:T{ \fBsend\fP(2) T} T{ \fBSYS_RECV\fP T}:T{ \fBrecv\fP(2) T} T{ \fBSYS_SENDTO\fP T}:T{ \fBsendto\fP(2) T} T{ \fBSYS_RECVFROM\fP T}:T{ \fBrecvfrom\fP(2) T} T{ \fBSYS_SHUTDOWN\fP T}:T{ \fBshutdown\fP(2) T} T{ \fBSYS_SETSOCKOPT\fP T}:T{ \fBsetsockopt\fP(2) T} T{ \fBSYS_GETSOCKOPT\fP T}:T{ \fBgetsockopt\fP(2) T} T{ \fBSYS_SENDMSG\fP T}:T{ \fBsendmsg\fP(2) T} T{ \fBSYS_RECVMSG\fP T}:T{ \fBrecvmsg\fP(2) T} T{ \fBSYS_ACCEPT4\fP T}:T{ \fBaccept4\fP(2) T} T{ \fBSYS_RECVMMSG\fP T}:T{ \fBrecvmmsg\fP(2) T} T{ \fBSYS_SENDMMSG\fP T}:T{ \fBsendmmsg\fP(2) T} .TE .SH ВЕРСИИ On some architectures\[em]for example, x86\-64 and ARM\[em]there is no \fBsocketcall\fP() system call; instead \fBsocket\fP(2), \fBaccept\fP(2), \fBbind\fP(2), and so on really are implemented as separate system calls. .SH СТАНДАРТЫ Linux. .PP .\" commit 9dea5dc921b5f4045a18c63eb92e84dc274d17eb Для архитектуры x86\-32, \fBsocketcall\fP() исторически имел только одну точку входа в программном интерфейсе сокетов. Однако начиная с Linux 4.3, для x86\-32 появились прямые системные вызовы в программном интерфейсе сокетов. for the sockets API. Это упрощает создание фильтров \fBseccomp\fP(2), которые отбирают системные вызовы сокетов (для новых пользовательских исполняемых файлов, которые компилируются с использованием новых точек входа), а также улучшают (совсем немного) производительность. .SH "СМ. ТАКЖЕ" \fBaccept\fP(2), \fBbind\fP(2), \fBconnect\fP(2), \fBgetpeername\fP(2), \fBgetsockname\fP(2), \fBgetsockopt\fP(2), \fBlisten\fP(2), \fBrecv\fP(2), \fBrecvfrom\fP(2), \fBrecvmsg\fP(2), \fBsend\fP(2), \fBsendmsg\fP(2), \fBsendto\fP(2), \fBsetsockopt\fP(2), \fBshutdown\fP(2), \fBsocket\fP(2), \fBsocketpair\fP(2) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Alexander Golubev , Azamat Hackimov , Hotellook, Nikita , Spiros Georgaras , Vladislav , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .