socketcall(2) | System Calls Manual | socketcall(2) |
socketcall - socketové systémové volání
Standardní knihovna 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() 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) |
Toto volání je specifické pro Linux, a nemělo by být používáno v přenositelných programech určených i pro jiné platformy.
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.
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.
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 této příručky do španělš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 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.
5. února 2023 | Linux man-pages 6.03 |