socketcall(2)

JMÉNO
socketcall - socketové systémové volání

KNIHOVNA
Standardní knihovna C (libc, -lc)

POUŽITÍ
#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).

POPIS
socketcall() je běžný vstupní bod jádra pro socketové systémové volání. call určuje, která socketová funkce bude vyvolána. args jsou ukazatele do bloku obsahujícího aktuální parametry, které jsou předány příslušnému volání.

Uživatelské programy by měly volat příslušné funkce jejich obvyklými jmény. Funkci socketcall() by měli používat jen implementátoři standardních knihoven a hackeři zabývající se podrobně jádrem Linuxu.

call | Man stránka
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)

VERZE
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.

STANDARDY
Linux.

On x86-32, socketcall() was historically the only entry point for the sockets API. However, starting in Linux 4.3, direct system calls are provided on x86-32 for the sockets API. This facilitates the creation of seccomp(2) filters that filter sockets system calls (for new user-space binaries that are compiled to use the new entry points) and also provides a (very) small performance improvement.

DALŠÍ INFORMACE
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)

PŘEKLAD
Překlad této příručky do češtiny vytvořili Václav Doubek <vaclav.doubek@pslib.cz> a Pavel Heimlich <tropikhajma@gmail.com>

Tento překlad je bezplatná dokumentace; Přečtěte si GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) nebo novější ohledně podmínek autorských práv. Neexistuje ŽÁDNÁ ODPOVĚDNOST.

Pokud narazíte na nějaké chyby v překladu této příručky, pošlete e-mail na adresu translation-team-cs@lists.sourceforge.net.