Provided by: manpages-ro-dev_4.21.0-2_all
NUME
socketpair - creează o pereche de socluri conectate
BIBLIOTECA
Biblioteca C standard (libc, -lc)
REZUMAT
#include <sys/socket.h> int socketpair(int domain, int type, int protocol, int sv[2]);
DESCRIERE
Apelul socketpair() creează o pereche nenumită de socluri conectate în domeniul specificat, de tipul specificat și utilizând protocolul specificat opțional. Pentru mai multe detalii privind aceste argumente, a se vedea socket(2). Descriptorii de fișiere utilizați pentru a face referire la noile socluri sunt returnate în sv[0] și sv[1]. Cele două socluri sunt de nedistins.
VALOAREA RETURNATĂ
În caz de succes, se returnează zero. În caz de eroare, se returnează -1, errno este configurată pentru a indica eroarea, iar sv rămâne neschimbată. În Linux (și în alte sisteme), socketpair() nu modifică sv în caz de eșec. O cerință care standardizează acest comportament a fost adăugată în POSIX.1-2008 TC2.
ERORI
EAFNOSUPPORT Familia de adrese specificată nu este admisă pe această mașină. EFAULT Adresa sv nu specifică o parte validă a spațiului de adrese al procesului. EMFILE Limita per proces a numărului de descriptori de fișiere deschise a fost atinsă. ENFILE Limita la nivel de sistem a numărului total de fișiere deschise a fost atinsă. EOPNOTSUPP Protocolul specificat nu acceptă crearea de perechi de socluri. EPROTONOSUPPORT Protocolul specificat nu este acceptat pe această mașină.
STANDARDE
POSIX.1-2001, POSIX.1-2008, 4.4BSD. socketpair() a apărut pentru prima dată în 4.2BSD. În general, este portabil către/de la sisteme non-BSD care acceptă clone ale stratului de soclu BSD (inclusiv variantele System V).
NOTE
În Linux, singurele domenii acceptate pentru acest apel sunt AF_UNIX (sau, ca sinonim, AF_LOCAL) și AF_TIPC (începând cu Linux 4.12). Începând cu Linux 2.6.27, socketpair() acceptă fanioanele SOCK_NONBLOCK și SOCK_CLOEXEC în argumentul type, așa cum este descris în socket(2).
CONSULTAȚI ȘI
pipe(2), read(2), socket(2), write(2), socket(7), unix(7)
TRADUCERE
Traducerea în limba română a acestui manual a fost creată 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⟩.