Scroll to navigation

socketcall(2) System Calls Manual 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 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.

2 mai 2024 Pagini de manual de Linux 6.8