getpeername(2)

NUME
getpeername - obține numele soclului mașinii-pereche conectate

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <sys/socket.h>

int getpeername(int sockfd, struct sockaddr *restrict adresa,
                socklen_t *restrict lungime-adresă);

DESCRIERE
getpeername() returnează adresa mașinii-pereche conectate la soclul sockfd, în memoria tampon indicată de adresa. Argumentul lungime-adresă ar trebui inițializat pentru a indica cantitatea de spațiu indicată de adresa. La returnare, acesta conține dimensiunea reală a numelui returnat (în octeți). Numele este trunchiat în cazul în care memoria tampon furnizată este prea mică.

Adresa returnată este trunchiată în cazul în care memoria tampon furnizată este prea mică; în acest caz, addrlen va returna o valoare mai mare decât cea furnizată la apel.

VALOAREA RETURNATĂ
În caz de succes, se returnează zero. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

EBADF
    Argumentul sockfd nu este un descriptor de fișier valid.

EFAULT
    Argumentul adresa indică o memorie care nu se află într-o parte validă a spațiului de adrese al procesului.

EINVAL
    lungimea-adresei nu este validă (de exemplu, este negativă).

ENOBUFS
    Resursele disponibile în sistem au fost insuficiente pentru a efectua operația.

ENOTCONN
    Soclul nu este conectat.

ENOTSOCK
    Descriptorul de fișier sockfd nu se referă la un soclu.

STANDARDE
POSIX.1-2024.

ISTORIC
POSIX.1-2001, SVr4, 4.4BSD (a apărut pentru prima dată în 4.2BSD).

NOTE
Pentru soclurile de flux, odată ce a fost efectuat un connect(2), fiecare soclu poate apela getpeername() pentru a obține adresa soclului mașinii-pereche. Pe de altă parte, soclurile de diagramă sunt fără conexiune. Apelarea connect(2) pe un soclu de diagramă nu face decât să stabilească adresa mașinii-pereche pentru diagramele de ieșire trimise cu write(2) sau recv(2). Cea care a apelat connect(2) poate utiliza getpeername() pentru a obține adresa mașinii-pereche pe care a stabilit-o anterior pentru soclu. Cu toate acestea, soclul mașinii-pereche nu are cunoștință de această informație, iar apelarea getpeername() pe soclul mașinii-pereche nu va returna nicio informație utilă (cu excepția cazului în care un apel connect(2) a fost, de asemenea, executat pe mașina-pereche). Rețineți, de asemenea, că destinatarul unei diagrame de date poate obține adresa expeditorului atunci când utilizează recvfrom(2).

CONSULTAȚI ȘI
accept(2), bind(2), getsockname(2), ip(7), socket(7), unix(7)

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.