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.
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
<
[email protected]> a Pavel Heimlich <
[email protected]>
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
[email protected]