socketcall(2)

NUME
socketcall - apeluri de sistem pentru socluri

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <linux/net.h>        /* Definirea constantelor SYS_* */
#include <sys/syscall.h>      /* Definirea apelului SYS_socketcall */
#include <unistd.h>

int syscall(SYS_socketcall, int call, unsigned long *args);

Notă: glibc nu oferă nicio funcție învăluitoare pentru socketcall(), fiind necesară utilizarea syscall(2).

DESCRIERE
socketcall() este un punct de intrare comun al nucleului pentru apelurile de sistem la socluri. Apelul call determină ce funcție de soclu trebuie invocată. Argumentele args indică un bloc care conține argumentele reale, care sunt transmise apelului corespunzător.

Programele de utilizator trebuie să apeleze funcțiile corespunzătoare prin denumirile lor obișnuite. Numai implementatorii bibliotecii standard și hackerii de nucleu trebuie să știe despre socketcall().

call | Pagina de manual
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)

VERSIUNI
Pe unele arhitectur -- de exemplu, x86-64 și ARM -- nu există un apel de sistem socketcall(); în schimb, socket(2), accept(2), bind(2) și așa mai departe sunt implementate ca apeluri de sistem separate.

STANDARDE
Linux.

Pe x86-32, socketcall() a fost, din punct de vedere istoric, singurul punct de intrare pentru API-ul de socluri. Cu toate acestea, începând cu Linux 4.3, pe x86-32 sunt furnizate apeluri de sistem directe pentru API-ul de socluri. Acest lucru facilitează crearea filtrelor seccomp(2) care filtrează apelurile de sistem la socluri (pentru noile binare din spațiul utilizatorului care sunt compilate pentru a utiliza noile puncte de intrare) și oferă, de asemenea, o (foarte) mică îmbunătățire a performanței.

CONSULTAȚI ȘI
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)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.